2004_week5_2

advertisement
1/
2IC20:
eindhoven university of technology
Computersystemen
Week 4:
Digitale logica niveau:
“systeem-architectuur”
cpu-chips en bussen
/
faculty of Computer Science
1/
eindhoven university of technology
De “systeem-architectuur”
Hier kijken we naar de computer als geheel:
 De processor
 Geheugen(s)
 Invoer / uitvoer (I/O) controllers
 De “bus”-sen
Complete computer op één chip mogelijk
/
 “Microcomputer” is standaard onderdeel
 “System on a chip” gespecialiseerd (vaak > 1
CPU)
faculty of Computer Science
1/
eindhoven university of technology
De belangrijkste processor “pinnen”
Fysieke elektrische contacten (8 .. > 500 stuks)
 Gegroepeerd naar functie
 Vormen een of meer “bussen” voor communicatie
Standaard “bus” bevat drie groepen pinnen
/
 Adres: M pinnen adresseren 2M geheugenlocaties
“standaard” aantallen: 16, 20, 24, 32, 36, 42, 64
 Data: N pinnen parallel in/uit - hoe meer hoe beter
“standaard” aantallen: 8, 16, 32, 64, 128
 Besturing: lezen / schrijven, beveiliging, timing ….
faculty of Computer Science
1/
eindhoven university of technology
Processor chip symbool
Adres
Data
Bus
controle
Interrupts
Symbool
voor “klok”
/
faculty of Computer Science
Bus arbitrage
Typische
MicroProcesso
r
Coprocessor
Status
Reset
 +5v
Voedingsspanning
(Vcc) is hier 5 volt
Symbool voor
referentiespanning
(0 volt = “GND”)
1/
eindhoven university of technology
Geheugenchips koppelen aan CPU
Statische RAM’s en (EP/flash) ROM’s: simpel
 Adres, data en controle pinnen “passen” direct
 Timing van programmeren ROM’s: “oplosbaar”
Dynamische RAM’s: niet zo simpel
/
 Adres gesplitst (RAS/CAS): multiplexer nodig
 Op tijd verversen van ladingen nodig
 Controle pinnen “passen” (totaal) niet
 Timing zeer kritisch voor hoogste snelheid
 Gebruik “dynamisch RAM controller” standaard
faculty of Computer Science
1/
eindhoven university of technology
“Partiële toegang” tot geheugen
“Fysieke” bus-breedte: aantal data pinnen
“Logische” breedte: aantal te lezen/schrijven bits
 Adresseren per cel:1 of meer cellen lezen/schrijven
 Bus soms breder dan CPU woord voor snelheid:
per woord lezen/schrijven
 Minder dan volle breedte:
“partiële toegang”
Lezen: CPU selecteert juiste bits uit bus-woord
Schrijven: lezen-bits veranderen-terugschrijven ?
/
 Beter: separaat schrijf-signaal per cel/woord !
faculty of Computer Science
1/
eindhoven university of technology
Een 64 kilobyte, 2 bytes per woord RAM
32 kilowoorden !
Adres bits 1..15
Data bits 0..7
Data bits 8..15
Even
adressen
Adres 0..14
Data 0..7
RAM
Schrijf
(32 kilobyte)
Lees
CPU
Schrijf “even”
Schrijf “oneven”
Lees
/
faculty of Computer Science
Adres 0..14
Data 0..7
Schrijf
Lees
Samen: adres bit 0
Oneven
adressen
RAM
(32 kilobyte)
1/
eindhoven university of technology
Bussen binnen én buiten de CPU
Registers
Geheugen
bus
“On-chip”
bussen
RAM
control
Buscontroller
CPU
bus
Geheugen
I/O bus
ALU
CPU
chip
/
faculty of Computer Science
Schijf
Printer
1/
eindhoven university of technology
Meesters en slaven: wie is de baas ?
Busgebruikers hebben verschillende “rollen”
 Meester activeert bus toegang
 Slaaf is passief en wacht op gebruik
 Combinatie mogelijk, maar niet tegelijk !
/
Meester
Slaaf
Voorbeeld
CPU
CPU
CPU
I/O
Co-proces.
Geheugen
I/O
Co-processor
Geheugen
CPU
Instructies ophalen
Status lezen
Commando schrijven
Direct Memory Access (DMA)
Operanden ophalen
faculty of Computer Science
1/
eindhoven university of technology
Fysieke problemen bij bussen
Poorten op een chip zijn elektrisch “zwak”
 Hebben problemen om andere kant chip te bereiken !
 Bussen buiten chip: lange lijnen (> 10 cm.)
 Zenders (drivers) en ontvangers (receivers) nodig
combinatie zend-ontvanger: “transceiver”
 Zend-zijde meestal “tri-state” of “open collector”
beide laten toe meer zenders op bus aan te sluiten
Buslijnen niet even lang: signalen krijgen “skew”
/
 Snelheid signalen op print: 10 cm. per nanoseconde !
faculty of Computer Science
1/
eindhoven university of technology
Synchrone bussen: met “klok”
Timing van bus geregeld met flanken van klok
 Voordeel: alles loopt precies “in de pas”
 Nadeel: alles duurt veelvoud van klokperiode
de “buscyclus”
Klok
Adres
Data
READ
WAIT
/
faculty of Computer Science
Timing diagram
1/
eindhoven university of technology
Asynchrone bussen: handen schudden
“Handshake” signalen regelen timing zelf
 Voordeel: alles duurt zolang het moet duren
 Nadeel: klok-synchronisatie binnen CPU nodig
1
2
3
Adres
Data
READ
READY
/
faculty of Computer Science
“Vier fasen handshake”
4
1/
eindhoven university of technology
Bus standaarden: er zijn er genoeg...
“Systeembussen”: CPU naar I/O en geheugen
 PC wereld een bende: ISA, EISA, Microchannel, PCI
 Daarbuiten ook: VME, Nubus, Camac, Multibus
ieder van deze in verschillende varianten
I/O bussen: koppeling devices aan computer
 SCSI, IDE, HPIB (laboratorium instrumentatie)
Eén bit brede I/O bussen in opmars
/
 Weinig draad en geen last van skew (dus toch snel)
 USB, Firewire, I2C (binnen consumentenelektronica)
faculty of Computer Science
1/
eindhoven university of technology
Vele van deze in Pentium-klasse PC
Geheugen bus
“Cache” bus
lokale
bus
IDEbus
PCI-bus
USBbus
Niet bij
stof !
/
“Chip-set”
ISA-bus
SCSIbus
faculty of Computer Science
1/
eindhoven university of technology
Standaarden: veranderlijk als het weer
20bit adres
20bit adres
besturing
20bit adres
8086
80286
besturing
4bit adres
besturing
80386
4bit adres
besturing
8bit adres
besturing
Bill Gates (1978):
“640 kilobyte is
genoeg !”
/
4 jaar later:
“PC-AT” met
16 megabyte
faculty of Computer Science
besturing
Weer 3 jaar later:
“Windows past niet !”
doe maar 4 gigabyte...
Download