1 / 15

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen. Sessie 6 (1) : Invoer / uitvoer “devices” adresdecodering. Invoer / uitvoer “controllers”. Bevinden zich tussen processor en buitenwereld Vanuit processor gekoppeld aan bus (meestal)

toki
Télécharger la présentation

5 JJ2 0: Computerarchitectuur 2M200: Inleiding Computersystemen

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. 5JJ20: Computerarchitectuur2M200: Inleiding Computersystemen Sessie 6(1):Invoer / uitvoer “devices”adresdecodering

  2. Invoer / uitvoer “controllers” • Bevinden zich tussen processor en buitenwereld • Vanuit processor gekoppeld aan bus (meestal) • Bestuurbaar door lezen/schrijven woorden/cellen • Adresseerbaar in geheugen: “memory mapped” • In aparte I/O adresruimte met speciale instructies • Volledig bestuurd met speciale instructies (zelden) • Moeten “kortstondigheid” probleem oplossen • Lezen van processor geeft waarde op dat moment • Schrijven geeft zeer kort stabiele waarde op de bus

  3. Datacommunicatie • Communicatie = overbrengen van gegevens • Tussen computers onderling • Tussen computer en “randapparaat” (bijv. printer) • Hierbij hoort ook synchronisatie • Indicatie “gegevens worden/zijn overgedragen” • Op verschillende niveaus: van bit tot megabyte • Twee basismethoden • Meer bits tegelijk: parallelle communicatie • Eén bit tegelijk: serieële communicatie

  4. Parallel Type communicatie Serieëel Synchronisatie Hoogste snelheid(in standaard gebruik)en afstand hierbij > 1 zender en ontvanger ? Grootste probleem Afwegingen parallel / serieëel N keer nodig(minimaal) Bekabeling enzend/ontvangst electronica 1 maal nodig(minimaal) Per woord,aparte draden Per bit, kan viadata draad < 10 miljoenwoorden / sec. >> 100 miljoenbits / sec. (glasvezel) < 1 meter > 100 kilometer Kan, extra draden Vrij standaard (LAN) Niet gelijktijdigarriveren van bits Naast bit ook woordsynchronisatie nodig

  5. 1 bit-tijd:  (Stop) Start Start Bit 0 Bit 1 Bit 2 Bit 6 Bit 7 Stop 1,5     “Asynchrone” serieële communicatie • Vaste tijd voor overbrengen van één bit afspreken • Datawoord omgeven met start en stop bits • Start bit kan op willekeurig moment beginnen • Stop bit wordt “uitgerekt” tot volgend start bit Misbruikt tot > 100 kilobit / sec.

  6. Andere serieële communicatie vormen • Synchrone protocollen zijn efficienter • Gebruiken geen start en stop bits • Synchronisatie op iedere 0  1 en 1  0 overgang • “Bit stuffing” om extra overgangen te verkrijgen • Verzenden van data in blokken: “Packets”begin en einde aangegeven met overtreding bit stuffing • “Local Area Networks” gaan verder • Meer dan één “station” (zender én ontvanger in één) • Stapels protocollen: Ethernet, CAN, HomeBus, ……..

  7. Bus Tri-state buffers Bus “I” “O” IN “I” D Q “O” Latch UIT Load IN UIT Parallelle invoer en uitvoer • De basis: invoer en uitvoer poorten !

  8. 1 2 3 4 Bus “data” DIN “acknowledge” HSIN 1 bit ! D Q “request” Latch Load OK, ikstop Ik wildata ! Heb ‘toverge-nomen Hier isdata ! HSUIT Invoer met software “handshake”

  9. Handshake opmerkingen • Twee fundamenteel verschillende methoden • “Request” / “acknowledge” (“REQ/ACK”):ontvanger vraagt om gegevens • “Data available” / “acknowledge” (“DAV/ACK”):zender biedt gegevens aan ter overname • Beide bruikbaar voor invoer én uitvoer • Beide twee handshake bits, één in en één uit • Zelfde hardware verschillend gebruikt !

  10. DAV/ACK zender DAV_ACK_Zender: ; data in A Zet data op poort Maak DAV aktief ACK aktief? NEE JA Maak DAV inaktief ACK aktief? JA NEE Klaar ! “Flowchart” MOV Port,A ; output SETB DAV ; actief = 1 WachtACK: ; wacht-lus JNB ACK,WachtACK CLR DAV ; INactief = 0 WachtNotACK: ; wacht-lus JB ACK,WachtNotACK RET ; subroutine !

  11. Nog meer handshake opmerkingen • Niet vergeten: initialisatie na opstarten systeem • In het voorbeeld: DAV inactief maken na reset • Volledige 4-fasen handshake: 2 maal wachten ! • Tenzij je wacht op inactief-actief overgang • Veel processoren hebben geen bit-operaties • Bit op 1 zetten met OR, op 0 zetten met AND • Bij test masker gebruiken (AND) voor bit-selectie • I / O controllers voeren handshake zelf uit • Vertalen handshake in interrupts en/of DMA

  12. 2 kilobyte 2 kilobyte 4 bytes Adresdecodering • Meerdere geheugen en I/O chips in adresruimte • Dan moeten “Chip Select” (CS) stuurlijnen van adres afgeleid worden: “adresdecodering” • Aantal woorden per chip is vast, adressen van die woorden worden hier gekozen ! “PIO” = Parallel Input / Output

  13. Volledige adresdecodering 10000xxxxxxxxxxxB 11111111111111xxB 00000xxxxxxxxxxxB Ieder geheugen ofpoort precies EENmaal in adresruimte ! Op exact de gewenste adressen... 0000h..07FFh 8000h..87FFh Duur in hardware ! FFFCh..FFFFh

  14. 16 x 8 x 4096 x Gedeeltelijke adresdecodering 10xxxxxxxxxxxxxxB 0xxxxxxxxxxxxxxxB 11xxxxxxxxxxxxxxB Ieder geheugen ofpoort meerderemalen in adresruimte ! Met kopieën vandezelfde waarden... Goedkope hardware ! 0000h..7FFFh =32 kilobyte 8000h..BFFFh =16 kilobyte C000h..FFFFh =16 kilobyte

  15. A14 0 CS EPROM Sel 0 A15 1 ??? Sel 1 2 CS RAM ½ 74139 3 CS PIO Opmerkingen over adresdecodering • Bij uitbreidbare, modulaire systemen:gebruik volledige adresdecodering ! • Goedkope gedeeltelijke decodering laat geen “gaten” in adresruimte over: geen plaats voor uitbreiding… • Adressering niet altijd vrij te kiezen:startadres programma in (EP)ROM ! • Decodeerlogica in PLA of met standaard decoder

More Related