Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

Size: px
Start display at page:

Download "Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis"

Transcription

1 Interfacing Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures Vahid, Givargis Introduction Embedded system functionality aspects Processing Transformation of data Implemented using processors Storage Retention of data Implemented using memory Communication Transfer of data between processors and memories Implemented using buses Called interfacing Vahid, Givargis - 2 -

2 A simple bus Wires: Uni-directional or bi-directional One line may represent multiple wires Bus Sets of wires with a single function Address bus, data bus, control bus Single set of wires collecting all functions cpu rd'/wr enable addr[0:15] data[0:7] memory Vahid, Givargis Timing Diagrams Common method for describing a protocol Time proceeds to the right on the x axis Control signal: Active high: wr Asserted when 1 Active low: wr Asserted when 0 Data signal: Valid: Data on the bus can be read/written Not valid Data on the bus is meaningless Vahid, Givargis - 4 -

3 Timing Diagrams Protocol: Defines how communication takes place May have subprotocols Bus cycles Each bus cycle may be several clock cycles Vahid, Givargis Timing Diagrams: Read example rd'/wr 1 enable 2 3 addr data T setup T read 4 1 rd' asserted starts read bus cycle 2 address placed on addr address must be stable at least T setup before enable asserted 3 enable asserted Triggers memory to place data on data wires Not later than after the time delay T read 4 data ready on data wires Vahid, Givargis - 6 -

4 Timing Diagrams: Write example rd'/wr enable addr data T setup T write wr asserted starts write bus cycle address placed on addr address must be stable at least T setup before enable asserted data placed on data wires data must be stable at least T setup before enable asserted enable asserted triggers memory save data found on data wires must remain asserted for at least T write Vahid, Givargis Basic protocol concepts Actor Master: initiates the communication Slave: responds to master Direction Sender: Data source Receiver: Data destination Time multiplexing Share a single set of wires for multiple pieces of data Subsequent bytes of a word Data/Address Saves wires at expense of time Vahid, Givargis - 8 -

5 Time multiplexing master req slave master req slave data[0:15] data[0:15] data addr data addr mux d[0:7] demux mux d[0:15] demux req req d data[8:15] data[0:7] addr[0:15] data[0:15] d Vahid, Givargis Strobe protocol master req slave 1 Master asserts req to receive data 2 Slave puts data on bus Within T a d[0:7] Master receives data Master deasserts req req 4 Slave ready for next request data T a Vahid, Givargis

6 Handshake protocol master req slave 1 Master asserts req to receive data ack 2 Slave puts data on bus d[0:7] 3 Slave asserts ack 3 4 Master receives data 4 Master deasserts req req ack 5 Slave deasserts ack Slave ready for next request data Vahid, Givargis Strobe/handshake protocol: Fast master req slave 1 Master asserts req to receive data wait d[0:7] 2 Slave puts data on bus Within T a The wait line is unused 2 3 Master receives data 3 Master deasserts req req 4 Slave ready for next request wait data T a Vahid, Givargis

7 Strobe/handshake protocol: Slow master req slave 1 Master asserts req to receive data wait 2 Slave can't put data on bus within T a Slave asserts wait d[0:7] 3 Slave puts data on bus 4 Slave deasserts wait req Master receives data Master deasserts req wait 6 Slave ready for next request data T a Vahid, Givargis I/O Addressing communicates using some of its pins Port-based I/O or parallel I/O has one or more n-bit ports Software reads and writes a port just like a register Bus-based I/O has address, data and control ports cpu port 0 port 1 port k memory bus Vahid, Givargis

8 I/O Addressing Parallel I/O peripheral (PIO) Processor only supports bus-based I/O But parallel I/O needed Ports are managed by a dedicated peripheral cpu PIO port 0 port 1 memory port k bus Vahid, Givargis I/O Addressing Extended parallel I/O Processor supports port-based I/O But more ports needed One or more PIO extending total number of ports cpu port 0 port 1 port k PIO port k+1 port k+2 port k+m memory bus Vahid, Givargis - -

9 Memory mapped and Standard I/O Processor uses the same bus to talk to Memory Peripherals There are two main ways to communicate Memory-mapped I/O Standard I/O Vahid, Givargis Memory mapped I/O Peripheral registers occupy addresses in same address space as memory E.g. Bus has -bit address Lower 32K map to memory Upper 32k map to peripherals Requires no special instructions Assembly instructions involving memory work with peripherals as well E.g. MOV, LOAD, STORE, ADD, Standard I/O requires special instructions to move data between peripheral registers and memory E.g. IN, OUT Vahid, Givargis

10 Standard I/O No loss of memory addresses to peripherals E.g. Bus has -bit address All 64K map to memory when M/IO set to 0 all 64K map to peripherals when M/IO set to 1 Simpler address decoding logic in peripherals When the number of peripherals much smaller than address space, high-order address bits are ignored Smaller and/or faster comparators Additional pin on bus indicates whether a memory or peripheral access M/IO Vahid, Givargis Interrupts Suppose a peripheral intermittently receives data, which must be serviced by the processor Processor can poll the peripheral regularly To see if data has arrived Wastes a lot of time Peripheral can interrupt the processor when ready Requires one or more extra pin or pins Interrupt pins: 0, 1, If is 1 Processor suspends current program Jumps to an Interrupt Service Routine, or ISR Accomplishes the requested I/O operation Vahid, Givargis

11 Interrupts Different interrupt signals (0, 1, ) have different service routines (ISR0, ISR1, ) What is the address of the correct ISR? Fixed interrupt Address built into microprocessor, cannot be changed Either ISR or jump to actual ISR stored at address Vectored interrupt Peripheral must provide the address Common when microprocessor has multiple peripherals connected by a system bus Compromise: interrupt address table Vahid, Givargis Fixed ISR location [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 [2] P1 asserts to request servicing by the microprocessor [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and sets PC to the ISR fixed location of [4A] The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 [4B] After being read, P1 de-asserts [5] The ISR returns, thus restoring PC to 100+1=101, where resumes executing Vahid, Givargis

12 Fixed ISR location : MOV R0, 0x8000 R0= PC=100 LR= [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 Vahid, Givargis Fixed ISR location : MOV R0, 0x8000 R0= PC=100 LR= [2] P1 asserts to request servicing by the microprocessor Vahid, Givargis

13 Fixed ISR location : MOV R0, 0x8000 R0= PC=100 [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and sets PC to the ISR fixed location of Vahid, Givargis Fixed ISR location : MOV R0, 0x8000 R0= PC= [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and sets PC to the ISR fixed location of Vahid, Givargis

14 Fixed ISR location : MOV R0, 0x8000 R0= PC= [4A] The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x800 [4B] After being read, P1 de-asserts Vahid, Givargis Fixed ISR location : MOV R0, 0x8000 R0=13 PC=17 [4A] The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis

15 Fixed ISR location : MOV R0, 0x8000 R0=13 PC=18 13 [4A] The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis Fixed ISR location : MOV R0, 0x8000 R0=13 PC= [5] The ISR returns, thus restoring PC to 100+1=101, where resumes executing Vahid, Givargis

16 Fixed ISR location : MOV R0, 0x8000 R0=13 PC= [5] The ISR returns, thus restoring PC to 100+1=101, where resumes executing Vahid, Givargis Vectored interrupt [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 [2] P1 asserts to request servicing by the microprocessor [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and asserts A [4] P1 detects A and puts interrupt address vector on the data bus [5A] jumps to the address on the bus (). The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 [5B] After being read, P1 de-asserts [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis

17 Vectored interrupt : MOV R0, 0x8000 A R0= PC=100 LR= [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 Vahid, Givargis Vectored interrupt : MOV R0, 0x8000 A R0= PC=100 LR= [2] P1 asserts to request servicing by the microprocessor Vahid, Givargis

18 Vectored interrupt : MOV R0, 0x8000 A R0= PC=100 [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and asserts A Vahid, Givargis Vectored interrupt : MOV R0, 0x8000 A R0= PC=100 [4] P1 detects A and puts interrupt address vector on the data bus Vahid, Givargis

19 Vectored interrupt : MOV R0, 0x8000 A R0= PC= [5A] jumps to the address on the bus (). The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis Vectored interrupt : MOV R0, 0x8000 A R0= PC= [5A] jumps to the address on the bus (). The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis

20 Vectored interrupt : MOV R0, 0x8000 A R0=13 PC=17 [5A] jumps to the address on the bus (). The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis Vectored interrupt : MOV R0, 0x8000 A R0=13 PC=18 13 [5A] jumps to the address on the bus (). The ISR reads data from 0x8000, modifies the data, and writes the resulting data to 0x8001 Vahid, Givargis

21 Vectored interrupt : MOV R0, 0x8000 A R0=13 PC=18 13 [5B] After being read, P1 de-asserts Vahid, Givargis Vectored interrupt : MOV R0, 0x8000 A R0=13 PC= [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis

22 Vectored interrupt : MOV R0, 0x8000 A R0=13 PC= [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis Interrupt address table Compromise between fixed and vectored interrupts One interrupt pin Table in memory holding ISR addresses Maybe 256 words Peripheral doesn t provide ISR address But rather index into table Fewer bits are sent by the peripheral Can move ISR location without changing peripheral Vahid, Givargis

23 Additional interrupt issues Maskable (MI) vs. Non-Maskable (NMI) interrupts Maskable Programmer can set bit that causes processor to ignore interrupt Important when in the middle of time-critical code Non-maskable A separate interrupt pin that can t be masked Typically reserved for drastic situations, like power failure requiring immediate backup of data to nonvolatile memory Vahid, Givargis Additional interrupt issues Jump to ISR Some microprocessors treat jump same as call of any subroutine Complete state saved (PC, registers) May take hundreds of cycles Others only save partial state PC only ISR must not modify registers Or else must save them first Assembly-language programmer must be aware of which registers stored Vahid, Givargis

24 Direct memory access Buffering Temporarily storing data in memory before processing Data accumulated in peripherals commonly buffered Microprocessor could handle this with ISR Storing and restoring microprocessor state inefficient Regular program must wait DMA (Direct Memory Access) controller is more efficient Vahid, Givargis Direct memory access Separate single-purpose processor leaves control of system bus to DMA controller can meanwhile execute its regular program No inefficient storing and restoring state due to interrupt service routine call Regular program need not wait unless it requires the system bus For Harvard archictectures Processor can fetch and execute instructions as long as they don t access data memory If they do, processor stalls Vahid, Givargis

25 Peripheral to memory transfer with vectored interrupt [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 [2] P1 asserts to request servicing by the microprocessor [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and asserts A [4] P1 detects A and puts interrupt address vector on the data bus [5A] jumps to the address on the bus (). The ISR reads data from 0x8000 and writes it to 0x0001 [5B] After being read, P1 de-asserts [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=100 LR= 0x0000 0x0001 0x7FFF [1A] is executing its main program [1B] P1 receives input data in a register with address 0x8000 Vahid, Givargis

26 Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=100 LR= 0x0000 0x0001 0x7FFF [2] P1 asserts to request servicing by the microprocessor Vahid, Givargis Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=100 0x0000 0x0001 0x7FFF [3] After completing instruction at 100, sees asserted, saves the PC s value of 100, and asserts A Vahid, Givargis

27 Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=100 0x0000 0x0001 0x7FFF [4] P1 detects A and puts interrupt address vector on the data bus Vahid, Givargis Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC= 0x0000 0x0001 0x7FFF [5A] jumps to the address on the bus (). The ISR reads data from 0x8000 and writes it to 0x0001 Vahid, Givargis

28 Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC= 0x0000 0x0001 0x7FFF [5A] jumps to the address on the bus (). The ISR reads data from 0x8000 and writes it to 0x0001 Vahid, Givargis Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=17 0x0000 0x0001 0x7FFF [5A] jumps to the address on the bus (). The ISR reads data from 0x8000 and writes it to 0x0001 Vahid, Givargis

29 Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=18 0x0000 0x0001 0x7FFF [5B] After being read, P1 de-asserts Vahid, Givargis Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0= PC=101 0x0000 0x0000 0x7FFF [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis

30 Peripheral to memory transfer with vectored interrupt : MOV R0, 0x : MOV 0x0001, R0 A R0=13 PC=101 0x0000 0x0000 0x7FFF [6] The ISR returns, thus restoring PC to 100+1=101, deassrts A and resumes executing Vahid, Givargis Peripheral to memory transfer with DMA [1A] is executing its main program. It has already configured the DMA ctrl registers [1B] P1 receives input data in a register with address 0x8000. [4] After executing instruction 100, the sees DREQ asserted, releases the system bus, asserts DACK, and resumes execution. stalls only if it needs the system bus to continue executing [3] DMA ctrl asserts DREQ to request control of system bus [5] DMA ctrl asserts ACK, reads data from 0x8000 and writes it to 0x0001 [2] P1 asserts REQ to request servicing by DMA ctrl [7A] deasserts DACK and resumes control of the bus [6] DMA deasserts DREQ and ACK completing handshake with P1 [7B] P1 deasserts REQ Vahid, Givargis

31 Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=100 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [1A] is executing its main program. It has already configured the DMA ctrl registers [1B] P1 receives input data in a register with address 0x8000. Vahid, Givargis Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=100 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [3] DMA ctrl asserts DREQ to request control of system bus [2] P1 asserts REQ to request servicing by DMA ctrl Vahid, Givargis

32 Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=100 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [4] After executing instruction 100, the sees DREQ asserted, releases the system bus, asserts DACK, and resumes execution. stalls only if it needs the system bus to continue executing Vahid, Givargis Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=101 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [4] After executing instruction 100, the sees DREQ asserted, releases the system bus, asserts DACK, and resumes execution. stalls only if it needs the system bus to continue executing Vahid, Givargis

33 Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=102 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [4] After executing instruction 100, the sees DREQ asserted, releases the system bus, asserts DACK, and resumes execution. stalls only if it needs the system bus to continue executing [5] DMA ctrl asserts ACK, reads data from 0x8000 and writes it to 0x0001 Vahid, Givargis Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=102 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [6] DMA deasserts DREQ and ACK completing handshake with P1 Vahid, Givargis

34 Peripheral to memory transfer with DMA # # No ISR needed!! # DACK DREQ R0= PC=102 LR= 0x0000 DMA ctrl 0x0001 0x7FFF P1: 0x8000 0x8000 ACK REQ 0x0001 [7A] deasserts DACK and resumes control of the bus [7B] P1 deasserts REQ Vahid, Givargis Arbitration Multiple peripherals may request services from single resource simultaneously Microprocessor, DMA controller, Who is served first? Need an arbiter mechanism Different approaches Priority arbiter Daisy-chain arbiter Vahid, Givargis

35 Arbitration using a priority arbiter Single-purpose processor Peripherals make requests to arbiter Arbiter makes requests to resource Arbiter is connected to system bus For configuration purposes only A Priority Arbiter IREQ1 IACK1 P1 Pn IREQn IACKn Vahid, Givargis Arbitration using a priority arbiter 7 A program Priority Arbiter 3 IREQ1 IACK1 6 2 P1 2 Pn 8 ISR IREQn IACKn 1. Microprocessor is executing its program 2. Peripheral P1 needs servicing so asserts IREQ1; peripheral Pn also needs servicing so asserts IREQn 3. Priority arbiter sees at least one IREQ input asserted, so asserts 4. Microprocessor stops executing its program and stores its state 5. Microprocessor asserts A 6. Priority arbiter asserts IACK1 to acknowledge peripheral P1 7. Peripheral P1 puts its interrupt address vector on the system bus 8. Microprocessor jumps to the address of ISR read from data bus, ISR executes and returns and completes handshake with arbiter 9. Microprocessor resumes executing its program Vahid, Givargis

36 Arbitration using a priority arbiter Different types of priority Fixed priority Each peripheral has unique rank Highest rank is chosen first with simultaneous request Preferred when there is a clear difference in rank between peripherals Rotating priority (round-robin) Priority is changed based on history of servicing Better distribution of servicing Especially among peripherals with similar priority demands Vahid, Givargis Arbitration using daisy-chain Arbitration done by peripherals Built into peripheral or external logic added REQ input and ACK output added to each peripheral Peripherals connected to each other One peripheral connected to resource All others connected upstream Peripheral s REQ flows downstream to resource Resource s ACK flows upstream to requesting peripheral Closest peripheral has highest priority Vahid, Givargis

37 Arbitration using daisy-chain Advantages Easy to add/remove peripheral No system redesign needed Disadvantages Does not support rotating priority One broken peripheral causes loss of access to others P1 P2 P2 A ACKIN ACKOUT REQOUT REQIN ACKIN ACKOUT REQOUT REQIN ACKIN ACKOUT REQOUT REQIN 0 Vahid, Givargis Network-oriented oriented arbitration When multiple microprocessors share a bus, sometimes called a network Arbitration typically built into bus protocol Separate processors may try to write simultaneously This can cause collisions Data must be resent Don t want to start sending again at same time, so statistical methods are used to reduce chances Typically used for connecting multiple distant chips Trend: use to connect multiple on-chip processors Vahid, Givargis

38 Multilevel bus architectures Don t want one bus for all communication Some peripherals need High-speed bus interface Processor-specific bus interface Too many peripherals slows down bus A solution consists in using a multilevel bus architecture consisting of Processor-local bus Peripheral bus Bridge Vahid, Givargis Multilevel bus architectures Processor-local bus High speed and wide Used for most frequent communication Connects microprocessor, cache, memory controllers Peripheral bus Lower speed, narrower Used for less frequent communication Typically industry standard bus for portability ISA, PCI, SCSI Bridge Converts communication between busses Vahid, Givargis

39 Multilevel bus architectures L2 Cache Main Memory Cache controller Memory controller DMA controller Processor Local Bus P1.1 P1.N Bridge 1 Peripheral Bus 1 P2.1 P2.N Bridge 2 Peripheral Bus 2 Vahid, Givargis

EE414 Embedded Systems. Ch 6. Interfacing. Part 4/4: DMA & Arbitration

EE414 Embedded Systems. Ch 6. Interfacing. Part 4/4: DMA & Arbitration EE414 Embedded Systems Ch 6. Interfacing Part 4/4: DMA & Arbitration Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology Overview Part D. DMA and Arbitration

More information

Interface Synthesis. Communication Synthesis

Interface Synthesis. Communication Synthesis 2002-05-02 1 erface Synthesis Kris Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Communication Synthesis After system partitioning we got a set of tasks assigned to system components (processors executing

More information

6.1 Introduction. 6.2 Timing diagrams 6-1. Chapter 6: Interfacing

6.1 Introduction. 6.2 Timing diagrams 6-1. Chapter 6: Interfacing 6-1 Chapter 6 Interfacing 6.1 Introduction As stated in the previous chapter, we use processors to implement processing, memories to implement storage, and buses to implement communication. The earlier

More information

Interfacing. Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis

Interfacing. Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis Interfacing 1 Outline Interfacing basics Microprocessor interfacing I/O Addressing Interrupts Direct memory access Arbitration Hierarchical buses Protocols Serial Parallel Wireless 2 Introduction Embedded

More information

An overview of Interrupts ECE3534

An overview of Interrupts ECE3534 An overview of errupts ECE3534 Microprocessor erfacing: errupts Suppose a peripheral intermittently receives data, which must be serviced by the processor The processor can poll the peripheral regularly

More information

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 6 Interfacing

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 6 Interfacing Hardware/Software Introduction Chapter 6 Interfacing 1 Outline Interfacing basics Microprocessor interfacing I/O Addressing Interrupts Direct memory access Arbitration Hierarchical buses Protocols Serial

More information

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors Input/Output 1 Introduction Embedded system functionality aspects Processing Transformation of data Implemented using processors Storage Retention of data Implemented using memory Communication Transfer

More information

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1 Module 3 Embedded Systems I/O Version 2 EE IIT, Kharagpur 1 Lesson 15 Interrupts Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would learn Interrupts

More information

Interface: Ports. Microprocessor System Design EHB432E Lecture - 6. Interface: Bus. Timing Diagrams. Istanbul Technical University

Interface: Ports. Microprocessor System Design EHB432E Lecture - 6. Interface: Bus. Timing Diagrams. Istanbul Technical University Interface: Ports Microprocessor System Design EHB432E Lecture - 6 Prof. Dr. Müştak E. Yalçın Conducting device on periphery Single wire or set of wires with single function Connects bus to processor or

More information

ECE332, Week 8. Topics. October 15, Exceptions. Hardware Interrupts Software exceptions

ECE332, Week 8. Topics. October 15, Exceptions. Hardware Interrupts Software exceptions ECE332, Week 8 October 15, 2007 1 Topics Exceptions Hardware Interrupts Software exceptions Unimplemented instructions Software traps Other exceptions 2 1 Exception An exception is a transfer of control

More information

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices. Bus System Chapter 8 CSc 314 T W Bennet Mississippi College 1 CSc 314 T W Bennet Mississippi College 3 Bus Systems Common connection between the CPU, the memory, and the peripheral devices. One device

More information

Embedded system functionality aspects

Embedded system functionality aspects INTERFACING Introduction Embedded system functionality aspects Processing Transformation of data Implemented using processors Storage Retention of data Implemented using memory Communication Transfer of

More information

Introduction to Embedded System I/O Architectures

Introduction to Embedded System I/O Architectures Introduction to Embedded System I/O Architectures 1 I/O terminology Synchronous / Iso-synchronous / Asynchronous Serial vs. Parallel Input/Output/Input-Output devices Full-duplex/ Half-duplex 2 Synchronous

More information

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14 CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

Buses. Maurizio Palesi. Maurizio Palesi 1

Buses. Maurizio Palesi. Maurizio Palesi 1 Buses Maurizio Palesi Maurizio Palesi 1 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single shared channel Microcontroller Microcontroller

More information

INPUT-OUTPUT ORGANIZATION

INPUT-OUTPUT ORGANIZATION INPUT-OUTPUT ORGANIZATION Peripheral Devices: The Input / output organization of computer depends upon the size of computer and the peripherals connected to it. The I/O Subsystem of the computer, provides

More information

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Introduction A general purpose computer should have the ability to exchange information with a wide range of devices in varying environments. Computers

More information

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals William Stallings Computer Organization and Architecture 7 th Edition Chapter 7 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In

More information

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub. es > 100 MB/sec Pentium 4 Processor L1 and L2 caches Some slides adapted from lecture by David Culler 3.2 GB/sec Display Memory Controller Hub RDRAM RDRAM Dual Ultra ATA/100 24 Mbit/sec Disks LAN I/O Controller

More information

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University EE108B Lecture 17 I/O Buses and Interfacing to CPU Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Remaining deliverables PA2.2. today HW4 on 3/13 Lab4 on 3/19

More information

Topics. Interfacing chips

Topics. Interfacing chips 8086 Interfacing ICs 2 Topics Interfacing chips Programmable Communication Interface PCI (8251) Programmable Interval Timer (8253) Programmable Peripheral Interfacing - PPI (8255) Programmable DMA controller

More information

Design with Microprocessors

Design with Microprocessors Design with Microprocessors Year III Computer Science 1-st Semester Lecture 11: I/O transfer with x86 I/O Transfer I/O Instructions We discussed IN, OUT, INS and OUTS as instructions for the transfer of

More information

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals. 1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals. A typical communication link between the processor and

More information

Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors. 10/12/2017 Input/Output Systems and Peripheral Devices (02-2)

Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors. 10/12/2017 Input/Output Systems and Peripheral Devices (02-2) Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors 1 Principle of Interrupt-Driven I/O Multiple-Interrupt Systems Priority Interrupt Systems Parallel Priority Interrupts Daisy-Chain

More information

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection Unit 1 Chapter 3 Top Level View of Computer Function and Interconnection Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control signals

More information

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University Chapter 3 Top Level View of Computer Function and Interconnection Contents Computer Components Computer Function Interconnection Structures Bus Interconnection PCI 3-2 Program Concept Computer components

More information

Microprocessor & Interfacing Lecture DMA Controller--1

Microprocessor & Interfacing Lecture DMA Controller--1 Microprocessor & Interfacing Lecture 26 8237 DMA Controller--1 E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E R I N G Contents Introduction Features Basic Process of DMA

More information

Chapter 13 Direct Memory Access and DMA-Controlled I/O

Chapter 13 Direct Memory Access and DMA-Controlled I/O Chapter 13 Direct Memory Access and DMA-Controlled I/O The DMA I/O technique provides direct access to the memory while the microprocessor is temporarily disabled This allows data to be transferred between

More information

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Computer Organization ECE514. Chapter 5 Input/Output (9hrs) Computer Organization ECE514 Chapter 5 Input/Output (9hrs) Learning Outcomes Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge

More information

8086 Interrupts and Interrupt Responses:

8086 Interrupts and Interrupt Responses: UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller

More information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture 168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU

More information

Introduction to Input and Output

Introduction to Input and Output Introduction to Input and Output The I/O subsystem provides the mechanism for communication between the CPU and the outside world (I/O devices). Design factors: I/O device characteristics (input, output,

More information

Chapter 3 - Top Level View of Computer Function

Chapter 3 - Top Level View of Computer Function Chapter 3 - Top Level View of Computer Function Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Top Level View 1 / 127 Table of Contents I 1 Introduction 2 Computer Components

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 TOPICS TODAY I/O Architectures Interrupts Exceptions FETCH EXECUTE CYCLE 1.7 The von Neumann Model This is a general

More information

Accessing I/O Devices Interface to CPU and Memory Interface to one or more peripherals Generic Model of IO Module Interface for an IO Device: CPU checks I/O module device status I/O module returns status

More information

Hardware platform architecture

Hardware platform architecture Interfacing 1 Hardware platform architecture Fall 2005 2 Bus Means for transferring bits wired or wireless Bus Connectivity scheme (serial, etc.) Protocol Ports Single function (data bus) or complex protocol

More information

Organisasi Sistem Komputer

Organisasi Sistem Komputer LOGO Organisasi Sistem Komputer OSK 5 Input Output 1 1 PT. Elektronika FT UNY Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats

More information

1. Internal Architecture of 8085 Microprocessor

1. Internal Architecture of 8085 Microprocessor 1. Internal Architecture of 8085 Microprocessor Control Unit Generates signals within up to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the

More information

ECE 551 System on Chip Design

ECE 551 System on Chip Design ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs

More information

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 1 Most of the integrated I/O subsystems are connected to the

More information

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices CS152 Computer Architecture and Engineering Lecture 20: ses and OS s Responsibilities April 7, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http://http.cs.berkeley.edu/~patterson

More information

EEM336 Microprocessors I. I/O Interface

EEM336 Microprocessors I. I/O Interface EEM336 Microprocessors I I/O Interface Introduction Basic I/O interface Handshaking process Serial and Parallel communication I/O interface examples 2 Chapter Objectives Upon completion of this chapter,

More information

Embedded Systems: Hardware Components (part II) Todor Stefanov

Embedded Systems: Hardware Components (part II) Todor Stefanov Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded

More information

6 Direct Memory Access (DMA)

6 Direct Memory Access (DMA) 1 License: http://creativecommons.org/licenses/by-nc-nd/3.0/ 6 Direct Access (DMA) DMA technique is used to transfer large volumes of data between I/O interfaces and the memory. Example: Disk drive controllers,

More information

These three counters can be programmed for either binary or BCD count.

These three counters can be programmed for either binary or BCD count. S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.

More information

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1 EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An

More information

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1 Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An

More information

PC Interrupt Structure and 8259 DMA Controllers

PC Interrupt Structure and 8259 DMA Controllers ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics Chapter 4 Objectives Learn the components common to every modern computer system. Chapter 4 MARIE: An Introduction to a Simple Computer Be able to explain how each component contributes to program execution.

More information

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware CSE 120 July 27, 2006 Day 8 Input/Output Instructor: Neil Rhodes How hardware works Operating Systems Layer What the kernel does API What the programmer does Overview 2 Kinds Block devices: read/write

More information

Computer Architecture CS 355 Busses & I/O System

Computer Architecture CS 355 Busses & I/O System Computer Architecture CS 355 Busses & I/O System Text: Computer Organization & Design, Patterson & Hennessy Chapter 6.5-6.6 Objectives: During this class the student shall learn to: Describe the two basic

More information

QUIZ Ch.6. The EAT for a two-level memory is given by:

QUIZ Ch.6. The EAT for a two-level memory is given by: QUIZ Ch.6 The EAT for a two-level memory is given by: EAT = H Access C + (1-H) Access MM. Derive a similar formula for three-level memory: L1, L2 and RAM. Hint: Instead of H, we now have H 1 and H 2. Source:

More information

Lecture 25: Busses. A Typical Computer Organization

Lecture 25: Busses. A Typical Computer Organization S 09 L25-1 18-447 Lecture 25: Busses James C. Hoe Dept of ECE, CMU April 27, 2009 Announcements: Project 4 due this week (no late check off) HW 4 due today Handouts: Practice Final Solutions A Typical

More information

Lecture 13. Storage, Network and Other Peripherals

Lecture 13. Storage, Network and Other Peripherals Lecture 13 Storage, Network and Other Peripherals 1 I/O Systems Processor interrupts Cache Processor & I/O Communication Memory - I/O Bus Main Memory I/O Controller I/O Controller I/O Controller Disk Disk

More information

Unit 5. Memory and I/O System

Unit 5. Memory and I/O System Unit 5 Memory and I/O System 1 Input/Output Organization 2 Overview Computer has ability to exchange data with other devices. Human-computer communication Computer-computer communication Computer-device

More information

Interrupts Peter Rounce - room 6.18

Interrupts Peter Rounce - room 6.18 Interrupts Peter Rounce - room 6.18 P.Rounce@cs.ucl.ac.uk 20/11/2006 1001 Interrupts 1 INTERRUPTS An interrupt is a signal to the CPU from hardware external to the CPU that indicates than some event has

More information

Synchronous Bus. Bus Topics

Synchronous Bus. Bus Topics Bus Topics You should be familiar by now with the basic operation of the MPC823 bus. In this section, we will discuss alternative bus structures and advanced bus operation. Synchronization styles Arbitration:

More information

Digital System Design

Digital System Design Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc350 Simon Fraser University i Slide Set: 15 Date: March 30, 2009 Slide

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture) COSC 243 Input / Output 1 Introduction This Lecture Source: Chapter 7 (10 th edition) Next Lecture (until end of semester) Zhiyi Huang on Operating Systems 2 Memory RAM Random Access Memory Read / write

More information

Computer Organization (Input-output)

Computer Organization (Input-output) Computer Organization (Input-output) KR Chowdhary Professor & Head Email: kr.chowdhary@gmail.com webpage: krchowdhary.com Department of Computer Science and Engineering MBM Engineering College, Jodhpur

More information

SRI VIDYA COLLEGE OF ENGINEERING AND TECHNOLOGY,VIRUDHUNAGAR

SRI VIDYA COLLEGE OF ENGINEERING AND TECHNOLOGY,VIRUDHUNAGAR Year/sem: 02/04 Academic Year: 2014-2015 (even) UNIT II THE 8086 SYSTEM BUS STRUCTURE PART A 1. What are the three groups of signals in 8086? The 8086 signals are categorized in three groups. They are:

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 4 MARIE: An Introduction to a Simple Computer CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 177 4.2 CPU Basics and Organization 177 4.2.1 The Registers 178 4.2.2 The ALU 179 4.2.3 The Control Unit 179 4.3 The Bus 179 4.4 Clocks

More information

Top-Level View of Computer Organization

Top-Level View of Computer Organization Top-Level View of Computer Organization Bởi: Hoang Lan Nguyen Computer Component Contemporary computer designs are based on concepts developed by John von Neumann at the Institute for Advanced Studies

More information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

EC 6504 Microprocessor and Microcontroller. Unit II System Bus Structure

EC 6504 Microprocessor and Microcontroller. Unit II System Bus Structure EC 6504 Microprocessor and Microcontroller Unit II 8086 System Bus Structure Syllabus: 8086 Signals Basic Configurations System bus timing System Design using 8086 IO Programming Introduction to multiprogramming

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration MULTIPROCESSORS Characteristics of Multiprocessors Interconnection Structures Interprocessor Arbitration Interprocessor Communication and Synchronization Cache Coherence 2 Characteristics of Multiprocessors

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

Architecture of Computers and Parallel Systems Part 2: Communication with Devices

Architecture of Computers and Parallel Systems Part 2: Communication with Devices Architecture of Computers and Parallel Systems Part 2: Communication with Devices Ing. Petr Olivka petr.olivka@vsb.cz Department of Computer Science FEI VSB-TUO Architecture of Computers and Parallel Systems

More information

The 8237 DMA Controller: -

The 8237 DMA Controller: - The 8237 DMA Controller: - The 8237 is the LSI controller IC that is widely used to implement the direct memory access (DMA) function in 8088 and 8086 based microcomputer systems. It is available in 40-pin

More information

INPUT-OUTPUT ORGANIZATION

INPUT-OUTPUT ORGANIZATION 1 INPUT-OUTPUT ORGANIZATION Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes of Transfer Priority Interrupt Direct Memory Access Input-Output Processor Serial Communication 2

More information

MP Assignment III. 1. An 8255A installed in a system has system base address E0D0H.

MP Assignment III. 1. An 8255A installed in a system has system base address E0D0H. MP Assignment III 1. An 8255A installed in a system has system base address E0D0H. i) Calculate the system addresses for the three ports and control register for this 8255A. System base address = E0D0H

More information

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design ECE 1160/2160 Embedded Systems Design Midterm Review Wei Gao ECE 1160/2160 Embedded Systems Design 1 Midterm Exam When: next Monday (10/16) 4:30-5:45pm Where: Benedum G26 15% of your final grade What about:

More information

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes Course Introduction Purpose: This course provides an overview of the Direct Memory Access Controller and the Interrupt Controller on the SH-2 and SH-2A families of 32-bit RISC microcontrollers, which are

More information

UNIT II SYSTEM BUS STRUCTURE 1. Differentiate between minimum and maximum mode 2. Give any four pin definitions for the minimum mode. 3. What are the pins that are used to indicate the type of transfer

More information

Input/Output Introduction

Input/Output Introduction Input/Output 1 Introduction Motivation Performance metrics Processor interface issues Buses 2 Page 1 Motivation CPU Performance: 60% per year I/O system performance limited by mechanical delays (e.g.,

More information

Introduction. Motivation Performance metrics Processor interface issues Buses

Introduction. Motivation Performance metrics Processor interface issues Buses Input/Output 1 Introduction Motivation Performance metrics Processor interface issues Buses 2 Motivation CPU Performance: 60% per year I/O system performance limited by mechanical delays (e.g., disk I/O)

More information

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5.

2. List the five interrupt pins available in INTR, TRAP, RST 7.5, RST 6.5, RST 5.5. DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EE6502- MICROPROCESSORS AND MICROCONTROLLERS UNIT I: 8085 PROCESSOR PART A 1. What is the need for ALE signal in

More information

MICROPROCESSOR TECHNOLOGY

MICROPROCESSOR TECHNOLOGY MICROPROCESSOR TECHNOLOGY Assis. Prof. Hossam El-Din Moustafa Lecture 13 Ch.6 The 80186, 80188, and 80286 Microprocessors 21-Apr-15 1 Chapter Objectives Describe the hardware and software enhancements

More information

EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I

EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers 1. Define microprocessors? UNIT-I A semiconductor device(integrated circuit) manufactured by using the LSI technique. It includes

More information

ECE468 Computer Organization and Architecture. OS s Responsibilities

ECE468 Computer Organization and Architecture. OS s Responsibilities ECE468 Computer Organization and Architecture OS s Responsibilities ECE4680 buses.1 April 5, 2003 Recap: Summary of Bus Options: Option High performance Low cost Bus width Separate address Multiplex address

More information

Interrupt/Timer/DMA 1

Interrupt/Timer/DMA 1 Interrupt/Timer/DMA 1 Exception An exception is any condition that needs to halt normal execution of the instructions Examples - Reset - HWI - SWI 2 Interrupt Hardware interrupt Software interrupt Trap

More information

Input / Output. School of Computer Science G51CSA

Input / Output. School of Computer Science G51CSA Input / Output 1 Overview J I/O module is the third key element of a computer system. (others are CPU and Memory) J All computer systems must have efficient means to receive input and deliver output J

More information

Pin Description, Status & Control Signals of 8085 Microprocessor

Pin Description, Status & Control Signals of 8085 Microprocessor Pin Description, Status & Control Signals of 8085 Microprocessor 1 Intel 8085 CPU Block Diagram 2 The 8085 Block Diagram Registers hold temporary data. Instruction register (IR) holds the currently executing

More information

I/O - input/output. system components: CPU, memory, and bus -- now add I/O controllers and peripheral devices. CPU Cache

I/O - input/output. system components: CPU, memory, and bus -- now add I/O controllers and peripheral devices. CPU Cache I/O - input/output system components: CPU, memory, and bus -- now add I/O controllers and peripheral devices CPU Cache CPU must perform all transfers to/from simple controller, e.g., CPU reads byte from

More information

8. Interfacing Processors and Peripherals

8. Interfacing Processors and Peripherals 8. Interfacing Processors and Peripherals Revisions Date March 23, 2003 March 31, 2003 Changes More details on synchronous buses have been added to section 8.4 Details and more diagrams in the section

More information

Week 11 Programmable Interrupt Controller

Week 11 Programmable Interrupt Controller Week 11 Programmable Interrupt Controller 8259 Programmable Interrupt Controller The 8259 programmable interrupt controller (PIC) adds eight vectored priority encoded interrupts to the microprocessor.

More information

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics Computer and Hardware Architecture I Benny Thörnberg Associate Professor in Electronics Hardware architecture Computer architecture The functionality of a modern computer is so complex that no human can

More information

Recap from last class

Recap from last class Recap from last class Taxonomy of microprocessor architecture Von Neumann Memory for both data and instructions, single bus Easier to write Harvard Separate memories for data and instructions, two buses

More information

Chapter NINE 8088,80286 MICROPROCESSORS AND ISA BUS

Chapter NINE 8088,80286 MICROPROCESSORS AND ISA BUS Chapter NINE 8088,80286 MICROPROCESSORS AND ISA BUS OBJECTIVES this chapter enables the student to: State the function of the pins of the 8088. List the functions of the 8088 data, address, and control

More information

Modes of Transfer. Interface. Data Register. Status Register. F= Flag Bit. Fig. (1) Data transfer from I/O to CPU

Modes of Transfer. Interface. Data Register. Status Register. F= Flag Bit. Fig. (1) Data transfer from I/O to CPU Modes of Transfer Data transfer to and from peripherals may be handled in one of three possible modes: A. Programmed I/O B. Interrupt-initiated I/O C. Direct memory access (DMA) A) Programmed I/O Programmed

More information

Interrupts Peter Rounce

Interrupts Peter Rounce Interrupts Peter Rounce P.Rounce@cs.ucl.ac.uk 22/11/2011 11-GC03 Interrupts 1 INTERRUPTS An interrupt is a signal to the CPU from hardware external to the CPU that indicates than some event has occured,

More information