1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6:...
-
Upload
katrien-timmermans -
Category
Documents
-
view
213 -
download
0
Transcript of 1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6:...
1/eindhoven university of technology
/ faculty of Computer Science
2IC20: Computersystemen
Week 6:Invoer / uitvoer “devices”
adresdecodering
2
1/eindhoven university of technology
/ faculty of Computer Science
Invoer / uitvoer “controllers”Bevinden zich tussen processor en buitenwereld
Vanuit processor gekoppeld aan bus (meestal)Bestuurbaar door lezen/schrijven woorden/cellenAdresseerbaar in geheugen: “memory mapped” In aparte I/O adresruimte met speciale instructiesVolledig bestuurd met speciale instructies (zelden)
Moeten “kortstondigheid” probleem oplossenLezen van processor geeft waarde op dat momentSchrijven geeft zeer kort stabiele waarde op de bus
3
1/eindhoven university of technology
/ faculty of Computer Science
DatacommunicatieCommunicatie = overbrengen van gegevens
Tussen computers onderlingTussen computer en “randapparaat” (bijv. printer)
Hierbij hoort ook synchronisatie Indicatie “gegevens worden/zijn overgedragen”Op verschillende niveaus: van bit tot megabyte
Twee basismethodenMeer bits tegelijk: parallelle communicatieEén bit tegelijk: serieële communicatie
4
1/eindhoven university of technology
/ faculty of Computer Science
Afwegingen parallel / serieëel
1 maal nodig(minimaal)
Per bit, kan viadata draad
>> 100 miljoenbits / sec. (glasvezel)
Naast bit ook woordsynchroniatie nodig
SerieëelType communicatieParallel
N keer nodig(minimaal)
Per woord,aparte draden
< 10 miljoenwoorden / sec.
Niet gelijktijdigarriveren van bits
< 1 meter > 100 kilometer
Bekabeling enzend/ontvangst electronica
Synchronisatie
Hoogste snelheid(in standaard gebruik)
en afstand hierbij
Grootste probleem> 1 zender en ontvanger ?Kan, extra draden Vrij standaard (LAN)
5
1/eindhoven university of technology
/ faculty of Computer Science
“Asynchrone” serieële communicatieVaste tijd voor overbrengen van één bit afsprekenDatawoord omgeven met start en stop bitsStart bit kan op willekeurig moment beginnen
Stop bit wordt “uitgerekt” tot volgend start bit
Bit 0 Bit 1 Bit 2 Stop(Stop)
1 bit-tijd:
1,5
StartStart Bit 6 Bit 7
Misbruikt tot > 100 kilobit / sec.Misbruikt tot > 100 kilobit / sec.
6
1/eindhoven university of technology
/ faculty of Computer Science
Andere serieële communicatie vormenSynchrone protocollen zijn efficienter
Gebruiken geen start en stop bitsSynchronisatie op iedere 0 1 en 1 0 overgang “Bit stuffing” om extra overgangen te verkrijgenVerzenden van data in blokken: “Packets”
begin en einde aangegeven met overtreding bit stuffing
“Local Area Networks” gaan verderMeer dan één “station” (zender én ontvanger in één)Stapels protocollen: Ethernet, CAN, HomeBus, ……..
7
1/eindhoven university of technology
/ faculty of Computer Science
Parallelle invoer en uitvoerDe basis: invoer en uitvoer poorten !
Bus
IN
Tri-state buffers
“I”
D Q
UIT
LoadLatc
h
“O”
“O”
UIT
“I”
IN
Bus
8
1/eindhoven university of technology
/ faculty of Computer Science
Invoer met software “handshake”Bus
HSIN
“acknowledge”
D Q
HSUIT
LoadLatc
h
“request”
DIN
“data”
1 bit !
1 bit !
Ik wildata !
Ik wildata !
Hier isdata !
Hier isdata !
Heb ‘toverge-nomen
Heb ‘toverge-nomen
OK, ikstop
OK, ikstop
11 22 33 44
9
1/eindhoven university of technology
/ faculty of Computer Science
Handshake opmerkingenTwee 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 uitvoerBeide twee handshake bits, één in en één uitZelfde hardware verschillend gebruikt !
10
1/eindhoven university of technology
/ faculty of Computer Science“Flowchart”
DAV/ACK zender
Maak DAV inaktief
JA
Zet data op poort
Maak DAV aktief
ACK aktief? NE
E
Klaar !
NEE
ACK aktief? JA
DAV_ACK_Zender: ; data in A
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
1/eindhoven university of technology
/ faculty of Computer Science
Nog meer handshake opmerkingenNiet 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-operatiesBit op 1 zetten met OR, op 0 zetten met ANDBij test masker gebruiken (AND) voor bit-selectie
I / O controllers voeren handshake zelf uitVertalen handshake in interrupts en/of DMA
12
1/eindhoven university of technology
/ faculty of Computer Science
AdresdecoderingMeerdere geheugen en I/O chips in adresruimte
Dan moeten “Chip Select” (CS) stuurlijnenvan adres afgeleid worden: “adresdecodering”
Aantal woorden per chip is vast,adressen van die woorden worden hier gekozen !
2 kilobyte
2 kilobyte
2 kilobyte
2 kilobyte
4 bytes
4 bytes
“PIO” = Parallel Input / Output
“PIO” = Parallel Input / Output
13
1/eindhoven university of technology
/ faculty of Computer Science
Volledige adresdecodering
00000xxxxxxxxxxxB
10000xxxxxxxxxxxB
11111111111111xxB
0000h..07FFh
0000h..07FFh
8000h..87FFh
8000h..87FFh
FFFCh..FFFFh
FFFCh..FFFFh
Ieder geheugen ofpoort precies EENmaal in adresruimte !Op exact de gewenste adressen...Duur in hardware !Duur in hardware !
14
1/eindhoven university of technology
/ faculty of Computer Science
Gedeeltelijke adresdecodering
0xxxxxxxxxxxxxxxB
10xxxxxxxxxxxxxxB
11xxxxxxxxxxxxxxB
0000h..7FFFh =32 kilobyte
0000h..7FFFh =32 kilobyte
8000h..BFFFh =16 kilobyte
8000h..BFFFh =16 kilobyte
C000h..FFFFh =16 kilobyte
C000h..FFFFh =16 kilobyte
Ieder geheugen ofpoort meerderemalen in adresruimte !Met kopieën vandezelfde waarden...
Goedkope hardware !Goedkope hardware !
16 x 8 x 4096 x
15
1/eindhoven university of technology
/ faculty of Computer Science
Opmerkingen over adresdecoderingBij 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
0123
Sel 0Sel 1
A14A15
CS EPROMCS RAMCS PIO
???
½ 74139
½ 74139