1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 2: Programmable I/O and Multiprocessors.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

I/O Organization popo.
Categories of I/O Devices
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 3:Memory management, floating point dr.ir. A.C.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Speeding it up Part 3: Out-Of-Order and SuperScalar execution dr.ir. A.C. Verschueren.
Programmable Interval Timer
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
I/O Unit.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Chapter 7 Interupts DMA Channels Context Switching.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
TECH CH03 System Buses Computer Components Computer Function
Group 7 Jhonathan Briceño Reginal Etienne Christian Kruger Felix Martinez Dane Minott Immer S Rivera Ander Sahonero.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Input/Output devices Part 3: Programmable I/O and DSP's dr.ir. A.C. Verschueren.
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
CS-334: Computer Architecture
Input / Output CS 537 – Introduction to Operating Systems.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
Khaled A. Al-Utaibi  Intel Peripheral Controller Chips  Basic Description of the 8255  Pin Configuration of the 8255  Block Diagram.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
CPU BASICS, THE BUS, CLOCKS, I/O SUBSYSTEM Philip Chan.
MICROPROCESSOR INPUT/OUTPUT
1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7. Optical Discs 10/01/20151Input/Output.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
Input/Output Computer component : Input/Output I/O Modules External Devices I/O Modules Function and Structure I/O Operation Techniques I/O Channels and.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Modes of transfer in computer
Organisasi Sistem Komputer Materi VIII (Input Output)
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
MICROOCESSORS AND MICROCONTROLLER:
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Overview von Neumann Architecture Computer component Computer function
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
UNIT – Microcontroller.
Multiprocessor Introduction and Characteristics of Multiprocessor
Presentation transcript:

1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 2: Programmable I/O and Multiprocessors dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital Information Systems

1/1/ / faculty of Electrical Engineering eindhoven university of technology Programmable input/output controllers Many I/O control tasks can be done in software, using simple parallel ports and timers –Keyboard scanning and encoding –Simple motor control –Pulse counting for position encoding –Other non-standard low speed (but time-critical) tasks Don’t use main processor for this ‘simple’ stuff ! Use programmable I/O controllers here: modified single-chip microcomputers

1/1/ / faculty of Electrical Engineering eindhoven university of technology The Intel 8042 ‘slave processor’ 8042 data read write address chip select DMA req. DMA ack. output full (not) input full 8048 CPU 2KB program 128B data master CPU interface 8 bits timer 8 bit parr. I/O 8 bit parr. I/O int inputs ! interrupt requests Original 8048: external data bus interface and I/O port

1/1/ / faculty of Electrical Engineering eindhoven university of technology data output register status register input full output full flag 0 flag 1 set 'out dbb,a' load read status external data bus data input register The 8042 'master CPU interface' –Flag 0 (and 4 other status reg. bits) are ‘user defined’ read data res write data/cmmd load internal data bus input full pin output full pin internal interrupt 'clear/complement/jump f0' 'clear/complement/jump f1' set s/r 'in a,dbb' res copy of addres s input

1/1/ / faculty of Electrical Engineering eindhoven university of technology The Z8090 Universal Peripheral Controller Based upon the Zilog Z8 microcomputer –8 bits CPU, 2 KB program ROM, 256 byte data RAM –Memory mapped I/O includes timers and parr. ports Master CPU interface differs a lot from 8042 –Master reads/writes 16 byte ‘window’ in data RAM window location controlled by Z8090 program –Simple form of DMA to/from data RAM start and end locations controlled by Z8090 program –Z8090 interrupts master by setting output bit –Master interrupts Z8090 by dummy write action

1/1/ / faculty of Electrical Engineering eindhoven university of technology Co-processors: divide and conquer A ’co-processor' is hardware which takes over (software) functions from the main CPU This increases the speed of the system as a whole –The CPU has fewer functions to perform –Co-processors can use customised (fast) hardware instead of standard hardware running software Co-processors should not bother the CPU –Use DMA to transfer data, commands and results –Use interrupts to signal important things only interrupts may run in both directions !

1/1/ / faculty of Electrical Engineering eindhoven university of technology ’Closely coupled' co-processors Keep track of instructions executed by main CPU –Are actually controlled by these instructions Some instructions are treated as 'no-operation' by main CPU These trigger the co-processor to start a specific operation –Data transfer is done with DMA The address may be provided by main CPU using a 'dummy' read cycle during execution of the 'no-operation' instruction –Result codes transferred with DMA or special I/O ports –Synchronisation is absent or uses special hardware Used to extend the main CPU instruction set (f.i. floating point)

1/1/ / faculty of Electrical Engineering eindhoven university of technology ’Loosely coupled' co-processors Have no connection with main CPU instructions –May even execute their own programs ! –Commanded by explicit I/O actions from the CPU or command blocks in memory (with an ‘attention’ signal) –Returns results through memory or explicit I/O actions after interrupting the main CPU Used to off-load complete I/O related tasks from the main CPU (for instance the device drivers in an O.S.) Also used to speed complex data processing tasks if the co-processor contains better hardware than the CPU

1/1/ / faculty of Electrical Engineering eindhoven university of technology DMA co-processor = programmable I/O main processor DMA co-processor I/O hardware main memory DMA memory –Handle I/O tasks including high speed transfer of data blocks (8042 ‘DMA’ is low speed) –Run their own programs (stored in DMA memory), controlled by 'messages' in main memory

1/1/ / faculty of Electrical Engineering eindhoven university of technology I/O deviceCPU Shared memory Direct Memory Access allows both the CPU and I/O devices access to the same main memory –The fastest solution: multi-ported shared memory read write addr data read write addr data (2-ported) memory CPU and I/O memory accesses do not interfere  Real 2-port memory is very expensive, 3 ports and up is not available!

1/1/ / faculty of Electrical Engineering eindhoven university of technology Shared memory with an arbiter Multi ported memory may be simulated with an ‘arbiter’ and a higher speed (normal) memory CPU read write addr data I/O device read write addr data memory arbiter fast(er) memory wait True simultaneous access is impossible! Fast memory is expensive ! May have to wait !

1/1/ / faculty of Electrical Engineering eindhoven university of technology Combine shared and private memory  Communication confined to a small memory area CPU works mostly in private memory: using an arbiter does not degrade performance! I/O device read write addr data shared memory private memory CPU read write addr data select address decoder I/O device read write addr data shared memory selec t Simple to have more devices

1/1/ / faculty of Electrical Engineering eindhoven university of technology system bus input/ output module global memory module I/O proc. + memory + I/O ports Modular systems Access to the system bus and shared memories requires arbitration ( = ‘data traffic control’) main proc. + memory arbiter ? ! ? ? ! !

1/1/ / faculty of Electrical Engineering eindhoven university of technology I/O processo r Main processo r global memory module I/O proc. + memory + I/O ports main proc. + memory arbiter Local memory 2 3 Global memory 3 2 Shared local memory 2 Memory mapping Mapping done by address decoding hardware –Which can place memories at different addresses ! Shared local memories require complex arbiters

1/1/ / faculty of Electrical Engineering eindhoven university of technology ‘Standard’ system buses Standardisation needed for ‘plug and play’ A lot of them exist (Multibus, VME, EISA....) –Multibus designed by Intel for 80x86 series –VME bus designed by Motorola for 680x0 series They compete for the most complex protocols  Bus signals optimised for one processor (series) –Using an Intel processor on a VME bus is not simple

1/1/ / faculty of Electrical Engineering eindhoven university of technology Special purpose co-processors (1) Relatively simple co-processors with a special data path can beat complex standard processors ! Co-processors for standard algorithms exist Data encryption and decryption DES and RSA devices are available. Separate devices are preferred because of security reasons ! Data compression and expansion Image (CCITT FAX, JPEG, MPEG) and data file (LZW = ‘ZIP’) (de-)compression devices exist

1/1/ / faculty of Electrical Engineering eindhoven university of technology Special purpose co-processors (2) Parametrisation is possible with writable ‘constants’ and programmable sequencing logic Fast Fourier Transform devices have programmable address generators and multiplication ‘constants’ (In ‑ )Finite Impulse Response filters are parametrised in the same way to generate different characteristics 2-D graphics image filter devices are more of the same Used for noise reduction, smoothing Edge detection, sharpening, contrast enhancement Removing distortions and blurr (very complex!)

1/1/ / faculty of Electrical Engineering eindhoven university of technology Digital Signal Processing Lots of Digital Signal Processors (DSP's) have been designed for digital filtering operations     l i iinn Cinout 0 )( Finite Impulse Response filter –One output requires l adds and (l + 1) multiplications –The last l input values must be remembered and an array of (l + 1) constants must be available somewhere DSP = multiply-add datapath + >1 memory + loop addressing

1/1/ / faculty of Electrical Engineering eindhoven university of technology Digital Signal Processors Support standard CPU operations: more general purpose than FIR/IIR filter devices ! –They can take decisions based upon the filtered values and switch between different filter characteristics Needed for, for instance, telephone line modems –They can be programmed for 'strange' input value addressing schemes Like used in two-dimensional image filtering

1/1/ / faculty of Electrical Engineering eindhoven university of technology High performance DSP’s: parallel Multiple on-chip memories with parallel access using independent data and address buses Multiple I/O interfaces use DMA to read/write the memories in parallel to calculations Programmable address generators running in parallel to actual multiply/add datapath Actual calculations use floating point for a wider 'dynamic range' and lower digital output noise

1/1/ / faculty of Electrical Engineering eindhoven university of technology The ultimate in DSP’s: real-time video Need on the order of 1 billion operations/second for 3-D picture generation or video filtering Intel’s Multi-Media eXtension (MMX): 8 identical byte operations with one instruction Texas Instrument’s 32080: 5 processors (w. ‘MMX’) and 25 memories on one chip Philips’ TriMedia: 5 ‘MMX’-like instructions in one super- instruction