Máté: Számítógép architektúrák
• Multiplexer: n vezérlő bemenet, 2n adatbemenet, 1 kimenet. Az egyik adatbemenet kapuzott (gated) a kimenetre (3.11-12. ábra, 3.11.swf).
Kívánalom: sok kapu – kevés láb
D0
Kombinációs áramkörök
D1 D2 D3 D4 D5 D6 D7
Definíció: A kimeneteket egyértelműen meghatározzák a pillanatnyi bemenetek.
F
A BC
Sematikus rajza Máté: Architektúrák
3. előadás
1
n vezérlő bemenetű multiplexerrel tetszés szerinti n változós Boole-függvény megvalósítható az adatbemenetek megfelelő választásával. Pl. a 3 változós többségi függvény:
Máté: Architektúrák
3. előadás
2
• Demultiplexer: egy egyedi bemenetet irányít az n vezérlő bemenet értékétől függően a 2n kimenet egyikére
3.12.swf Párhuzamos-soros átalakítás: vezérlő vonalakon rendre: 000, 001, …, 111. demultiplexer
multiplexer Máté: Architektúrák
3. előadás
3
• Dekódoló: n bemenet, 2n kimenet. Pontosan egy kimeneten lesz 1 (3.13. ábra, 3.13.swf). Demultiplexerrel: a bemenetet igazra állítjuk.
Máté: Architektúrák
dem.swf
3. előadás
4
• Összehasonlító (comparator): (3.14. ábra, 3.14.swf) KIZÁRÓ VAGY (XOR eXclusive OR) kapu Igazság tábla: A 0 0 1 1
B 0 1 0 1
X 0 1 1 0
Szimbolikus jelölése
A dekódoló
demultiplexer Máté: Architektúrák
3. előadás
3. előadás
X
B 5
Máté: Architektúrák
3. előadás
6
1
Máté: Számítógép architektúrák
• Programozható logikai tömbök: PLA (3.15. ábra) (Programmable Logic Array).
3.15.swf
6 kimenet
Ha ezt a biztosítékot kiégetjük, akkor nem jelenik meg B# az 1-es ÉS kapu bemenetén
0
0
1
5
50 bemenő vonal
1 49
24 bemenő vonal A
B
Ha ezt a biztosítékot kiégetjük, akkor az 1-es ÉS kapu kimenete nem jelenik meg az 5-ös VAGY kapu bemenetén
L
12 bemenő jel Máté: Architektúrák
3. előadás
7
Aritmetikai áramkörök A kombinációs áramkörökön belül külön csoportot alkotnak.
Máté: Architektúrák
3. előadás
8
Összeadók:
Léptető: C=1: jobbra, C=0: balra léptet. 3.16.swf Fél-összeadó (half adder, 3.17. ábra, 3.17.swf) Máté: Architektúrák
3. előadás
9
Máté: Architektúrák
3. előadás
Aritmetikai-logikai egység: bitszelet (bit slice, 3.19. ábra), F0, F1 -től függően ÉS, VAGY, NEGÁCIÓ vagy +
Összeadók:
Teljes-összeadó (full adder, 3.18. ábra, 3.18.swf) Máté: Architektúrák
3. előadás
10
3. előadás
3.19.swf 11
Máté: Architektúrák
3. előadás
12
2
Máté: Számítógép architektúrák
• átvitel továbbterjesztő összeadó (ripple carry adder):
• átvitel kiválasztó összeadó (carry select adder) eljárás: 3.19c.swf
3.19b.swf Máté: Architektúrák
3. előadás
13
Máté: Architektúrák
3. előadás
14
Memória: „Emlékszik” az utolsó beállításra. Tároló: Szint vezérelt (level triggered). SR tároló (Set Reset latch, 3.22. ábra, 3.22.swf). Stabil állapot: a két kimenet 0, 1 vagy 1, 0. S (set), R (reset) bemenet. (Q# ≡ Q)
Nem kombinációs áramkörök Óra (clock, 3.21. ábra): ciklusidő (cycle time). Pl.: 500 MHz - 2 nsec. Finomabb felbontás késleltetéssel. Aszimmetrikus óra. A késleltetés B C
Máté: Architektúrák
3. előadás
15
Máté: Architektúrák
3. előadás
16
3.25.swf
3.23.swf
Mindkét SR tároló indeterminisztikussá válna, ha S = R = 1 egyszerre fordulna elő.
3.24.swf Az inverternek van egy pici (1-10 ns) késleltetése (Δ). Máté: Architektúrák
3. előadás
3. előadás
17
Máté: Architektúrák
3. előadás
18
3
Máté: Számítógép architektúrák
Flip-flop: élvezérelt (edge triggered), D flip-flop: 3.26. ábra.
3.27. ábra: Tárolók és flip-flopok D Q
D Q
D Q
D Q
CK
CK
>CK
>CK
(a)
(b)
(c) (d) flip-flopok
tárolók CK: órajel
(a) CK=1, (b) CK=0 szint esetén írja be D-t, (c) CK emelkedő, (d) CK lefelé menő élénél. Sokszor S (set, PR preset), R (reset,CLR clear) be- és Q# kimenet is van.
3.26.swf
Máté: Architektúrák
3. előadás
19
13
12
D
11
CLR Q
D
>CK Q# PR
1 Máté: Architektúrák
2
3
10
9
Vcc 20
8
CLR Q
>CK Q# PR
4
5
6
7 GND
3. előadás
1 21
Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm2 szilícium darab kerámia vagy műanyag lapon (tokban), lábakkal (pins). Négy alaptípus: • SSI (Small Scale Integrated 1-10 kapu), • MSI (Medium Scale ..., 10-100 kapu), • LSI (Large Scale..., 100-100 000 kapu), • VLSI (Very Large Scale ..., > 100 000 kapu).
Máté: Architektúrák
3. előadás
3. előadás
3. előadás
20
3.28. ábra: (b) közös CK-val és CLR-rel vezérelt 8 bites D flip-flop: regiszter
3.28. ábra: (a) 2 független D flip-flop, Vcc 14
Máté: Architektúrák
23
19
18
17
16
15
14
13
12
D Q >CK CLR
D Q >CK CLR
D Q >CK CLR
D Q >CK CLR
CLR >CK D Q
CLR >CK D Q
CLR >CK D Q
CLR >CK D Q
2
Máté: Architektúrák
3
4
5
6 3. előadás
7
8
9
11
10 GND
22
Memória szervezése Elvárás: szavak címezhetősége. 3.29. ábra: Négy db három bites szó. Bemenetek: három a vezérléshez, – CS (Chip Select): lapka választás, – RD (ReaD): 1: olvasás, 0: írás választása, – OE (Output Enable): kimenet engedélyezése. kettő a címzéshez (dekódoló), három a bemenő adatoknak, három adat kimenet.
Máté: Architektúrák
3. előadás
24
4
Máté: Számítógép architektúrák
3.29. ábra. 4 × 3-as memória 3.29.swf
Memória szervezése Az igazi memóriáknál a bemenet és kimenet közös (kevesebb lábra van szükség): Nem invertáló és invertáló pufferek (ezek három állapotú eszközök, tri-state device, 3.30. ábra). adat be
adat be
adat ki
vezérlés
vezérlés
invertáló puffer
nem invertáló puffer
Ha a vezérlő jel
Ha a vezérlő jel
magas
magas alacsony Máté: Architektúrák
3. előadás
25
Máté: Architektúrák
Memórialapkák
512 K 8 bites memória (4 Mbit)
A0 A1 . . . A10
D0 D1 . . . D7
19 cím, 8 adat vonal
Máté: Architektúrák
D
(4 Mbit)
CS WE OE
Row Address Strobe Column Address Strobe 3. előadás
11 cím, 1 adat vonal 27
RAM (Random Access Memory) • Statikus RAM (SRAM). D flip-flop elemekből épül fel. Amíg áram alatt van, tartja a tartalmát. Elérési idő: néhány nsec (cache-nek jók). • Dinamikus RAM (DRAM): minden bit egy tranzisztor és egy kondenzátor: néhány msec-onként frissíteni kell, de nagyobb adatsűrűség érhető el. Elérési idő: néhány tíz nsec (főmemóriák). - régi: FPM (Fast Page Mode) sor-, oszlopcím. - újabb: EDO (Extended Data Output) lehet új memóriahivatkozás, mielőtt az előző befejeződik. • SDRAM (Synchronous DRAM). A központi óra vezérli. Blokkos átvitel. Újabban: DDR (Double Data Rate). Az órajel föl- és lefutó élénél is van adatátvitel. Máté: Architektúrák
3. előadás
3. előadás
3. előadás
26
a) 512 K bájtos elrendezés: 19 cím, 8 adat vonal.
4096 K 1 bites memória
RAS CAS
CS WE OE
alacsony
Memórialapkák A jel (bemenet) beállított (asserted) vagy negált. CS beállított: 1, de CS# beállított: 0
Előnyös, ha a szavak száma 2 hatvány. 4 Mbit-es memória kétféle szervezése: 3.31. ábra. A0 A1 . . . A18
adat ki
29
b) 2048*2048 bites elrendezés: 11 cím, 1 adat vonal: Bit kiválasztás sor- (RAS: Row Address Strobe) és oszlopindex CAS (Column ...) segítségével. Gyakran alkalmazzák nagyobb memóriáknál, bár a két cím megadása lassíthat. Nagyobb memóriáknál 1, 4, 8, 16 bites kimeneteket is használnak. Máté: Architektúrák
3. előadás
28
ROM (Read-Only Memory) ROM: gyárilag kialakított tartalom. PROM (Programmable ROM): a tartalom biztosítékok kiégetésével alakul ki (a PLA-khoz hasonlóan, 3.15. ábra). EPROM (Erasable PROM): a biztosítékok speciális fénnyel kiolvaszthatók és „kijavíthatók”. EEPROM: elektromos impulzusokkal. Flash memória: törlés és újraírás csak blokkonként. Kb. 100 000 használat után „elkopnak”. Ilyen van a legtöbb MP3 lejátszóban, digitális fényképezőgépben … Máté: Architektúrák
3. előadás
30
5
Máté: Számítógép architektúrák
512 MB-os flash memória (2006)
Memória hierarchia (2.18. ábra) Elérési idő
Kapacitás
néhány ns
Regiszterek
néhány bájt
Gyorsító tár Központi memória Mágneslemez >100 msec
Szalag
Máté: Architektúrák
Optikai lemez több száz GB
3. előadás
31
Máté: Architektúrák
3. előadás
32
1 GB-os flash memória (2007) vezérlőegység Aritmetikailogikai egység (ALU)
Központi feldolgozó egység (CPU) B/K eszközök
Regiszterek
. . .
Központi
. . .
memória
Lemez
Nyomtató
sín
Egyszerű sín alapú számítógép (2.1. ábra) Máté: Architektúrák
3. előadás
33
Máté: Architektúrák
CPU feladata: a memóriában tárolt program végrehajtása. vezérlőegység Aritmetikailogikai egység (ALU) Regiszterek
. . .
. . .
Máté: Architektúrák
3. előadás
Részei: • vezérlőegység, feladata: – a program utasításainak beolvasása, – az ALU, a regiszterek vezérlése, • aritmetikai-logikai egység (ALU), feladata: az utasítások végrehajtása, • regiszter készlet, feladata: részeredmények, vezérlő információk tárolása. A legfontosabb regiszterek: – utasításszámláló (Program Counter): PC, – utasításregiszter (Instruction Register): IR, • adatút (data path, 2.2. ábra). 3. előadás
35
3. előadás
A+B
A B
A
B
ALU A+B
Máté: Architektúrák
34
Adatút (data path, 2.2. ábra). • A regiszter készletből feltöltődik az ALU két bemenő regisztere • ALU • Az eredmény az ALU kimenő regiszterébe kerül • Az ALU kimenő regiszteréből a kijelölt regiszterbe kerül az eredmény Nem biztos, hogy az ALU be- és kimenő regiszterei tényleges regiszterként vannak kialakítva. 3. előadás
36
6
Máté: Számítógép architektúrák
• • • • • • • • •
CPU (Central Processing Unit) feladatai a végrehajtandó utasítás betöltése, a betöltött utasítás típusának megállapítása, az ezt követő utasítás címének megállapítása, ha kell, az operandus(ok) helyének megállapítása, ha kell, az operandus(ok) betöltése, az utasítás végrehajtása, ha kell, az eredmény helyének megállapítása, ha kell, az eredmény tárolása, az egész ciklus újra kezdése. Máté: Architektúrák
3. előadás
37
Feladatok Hogy épül fel a teljes összeadó? Milyen részei vannak az ALU-nak? Milyen be- és kimenetei vannak az 1 bites ALU-nak? Milyen műveletek végezhetők el az ALU-val? Milyen vezérlő bemenetek esetén lesz 1 az eredmény? Milyen eredményt szolgáltat az F0=0, F1=1, ENA=0, ENB=0, INVA=1, INC=1 vezérlő bemenet? Hogy működik az átvitel továbbterjesztő/kiválasztó összeadó? Máté: Architektúrák
3. előadás
39
Feladatok Hogy működik az invertáló és a nem invertáló puffer? Miért használnak a memóriáknál invertáló vagy nem invertáló puffert? Hogy címezhető meg n címlábon 2n -nél nagyobb memória? Mit jelent, hogy a CS/CS# bemenet beállított/negált? Mi a RAM? Milyen elemekből épül fel a SRAM? Milyen elemekből épül fel a DRAM? Hogy működik a DRAM? Máté: Architektúrák
3. előadás
3. előadás
41
Feladatok Mit nevezünk kombinációs áramkörnek? Milyen kombinációs áramköröket ismer? Milyen be- és kimenetei vannak a multiplexernek, a demultiplexernek, a dekódolónak? Mire használható a multiplexer, és hogyan? Mire használható a PLA, és hogyan? Milyen aritmetikai áramköröket ismer? Hogy működik a léptető? Hogy működik a „fél összeadó”? Mi indokolja a „fél összeadó” elnevezést? Máté: Architektúrák
3. előadás
38
Feladatok Hogy érhetünk el az órajelnél finomabb időzítést? Milyen nem kombinációs áramköröket ismer? Kombinációs áramkör-e az ALU? Hogyan csökkenthető az összeadásnál az átvitelekből származó idő? Hány stabil állapota van az SR tárolónak? Mi a különbség az SR és az időzített SR tároló között? Mi a különbség az SR és D tároló között? Mi a pulzusgenerátor, és mi a működési elve? Mi a különbség a tároló és a flip-flop között? Máté: Architektúrák
3. előadás
40
Feladatok Hogy működik az SDRAM? Mit jelent az FPM rövidítés? Mit jelent az EDO rövidítés? Hogy működik a DDR? Mit jelent a ROM rövidítés? Hogy működik az EPROM? Hogy működik az EEPROM? Milyen memória van a legtöbb fényképezőgépben?
Máté: Architektúrák
3. előadás
42
7
Máté: Számítógép architektúrák
Feladatok Mi a CPU? Mi az ALU? Mi az adatút? Milyen részei vannak a CPU-nak? Mi a regiszter? Mit jelent az implicit operandus kifejezés?
Máté: Architektúrák
3. előadás
3. előadás
Az előadáshoz kapcsolódó Fontosabb tételek Programozható logikai tömbök Aritmetikai áramkörök. Léptető, fél és teljes összeadó, ALU, az ALU-val végezhető műveletek, átvitel továbbterjesztő és kiválasztó összeadás Nem kombinációs áramkörök. Óra, tárolók, flip-flop-ok A CPU részei, feladatai, adatút
43
Máté: Architektúrák
3. előadás
44
8