1 / 15

Troisième Partie Chapitre 5 Les interfaces D’entrée-sortie

Troisième Partie Chapitre 5 Les interfaces D’entrée-sortie. Computer bus. mem. Dual access memory. Display controller. CPU. Memory Mapped Output. D. I/O. A. D. T. E. A. V. I. C. E. Sy. Polled I/O. Computer bus. CPU. mem. I/O interface. Polling Procedure.

Télécharger la présentation

Troisième Partie Chapitre 5 Les interfaces D’entrée-sortie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Troisième Partie Chapitre 5 Les interfaces D’entrée-sortie

  2. Computer bus mem Dual access memory Display controller CPU Memory Mapped Output

  3. D I/O A D T E A V I C E Sy Polled I/O Computer bus CPU mem I/O interface

  4. Polling Procedure public void print(char ch); // Printer polling method { while Sy do {/* wait */}; Data = ch; Sy = true /* activate printer interface */; };

  5. Normal Program Interrupt Handler Interrupt

  6. Where is the interrupt handler ? Fixed direct addresses (INTEL) Fixed indirect addresses (Motorola) Vectored Interrupts (DEC) How to save the program state ? By programmer Automatically, the entire state. Automatically, a part of the state. By shadow registers Interrupt Issues

  7. Direct Interrupt Addresses Contents of P register when interrupt 1 occurred = xyz RESET JMP 00000 Interrupt handler 01000 0D000 Save context 00004 INT.1 JSB 0D000 00008 INT.2 Restore context RET xyz

  8. Indirect Interrupt Addresses Contents of P register when interrupt 1 occurred = xyz Interrupt handler 0D000 INT.2 INT.1 0D000 FFFFF 00000 RESET At interrupt, the entire context, including P, is saved on stack by the control unit. The RTI instruction restores the entire context, including P RTI xyz

  9. + 1 - Vectored Interrupt Interrupting device After an interrupt, the interrupting device will normally put a JSB instruction on the data bus for calling the interrupt handler

  10. D I/O A D T E A V I C E Sy Interrupt Driven I/O Computer bus CPU interrupt mem I/O interface

  11. Interrupt Driven Printing (1) public void print(char ch); // Printer function pseudocode { while bufferfull do {/* wait */}; put ch intobuffer; if (buffer was empty){start driver} };

  12. Interrupt driven Printing (2) public void pdriver; // Interrupt driven printer driver { while (true) do { if (Buffer is empty) {Suspend pdriver}; Data = Next Character from Buffer; Sy = true; (* activate printer interface *) Suspend driver until printer interrupt; } };

  13. Some orders of magnitude: Processor speed = 50 Millions of Instructions Per Second One loop of the driver = 50 instructions Duration of one I/O operation = 1 μS Maximum I/O throughput = 1 Mbytes/S Data rate on a 100 Mb/s Ethernet = 12.5 Mbytes/S Data rate on a 48x CD reader = 10 Mbytes/s Conclusion : Interrupt driven I/O much too slow for fast peripherals and local area networks. Performance of interrupt driven I/O

  14. D I/O bus request/ bus granted A D T E A V I C E Sy Direct Memory Access Computer bus CPU interrupt DMAC ready mem I/O interface

  15. DMA Controller to CPU Bus Request Bus Granted Interrupt Request Configuration BUS Origin Address Destination Address Ready = Transfert Request Byte Count

More Related