Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Máté: Architektúrák2. előadás1 Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Aritmetikai- logikai egység (ALU) Regiszterek...... Központi memória.

Hasonló előadás


Az előadások a következő témára: "Máté: Architektúrák2. előadás1 Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Aritmetikai- logikai egység (ALU) Regiszterek...... Központi memória."— Előadás másolata:

1 Máté: Architektúrák2. előadás1 Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Aritmetikai- logikai egység (ALU) Regiszterek Központi memória Lemez Nyomtató B/K eszközök Központi feldolgozó egység (CPU) sín

2 Máté: Architektúrák2. előadás2 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 legfontosabbak: –utasításszámláló (Program Counter): PC, –utasításregiszter (Instruction Register): IR, adatút (data path, 2.2. ábra). vezérlőegység Aritmetikai- logikai egység (ALU) Regiszterek CPU feladata: a memóriában tárolt program végrehajtása.

3 Máté: Architektúrák2. előadás3 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. B A A+B AB ALU A+B

4 Máté: Architektúrák2. előadás4 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.

5 Máté: Architektúrák2. előadás5 Központi memória (2.9. ábra) A programok és adatok tárolására szolgál. Bit: a memória alapegysége, egy 0-t vagy 1-et tartalmazhat. Memória rekesz (cella): több bit együttese. Minden rekesz ugyanannyi bitből áll. Minden rekeszhez hozzá van rendelve egy szám, a rekesz címe. Egy rekeszre a címével hivatkozhatunk. A rekesz a legkisebb címezhető egység.

6 Máté: Architektúrák2. előadás6 Központi memória (2.9. ábra) n-1... CímRekesz/cella Rekesz hossza A rekesz hossza manapság legtöbbször 8 bit (byte ~ bájt). n a memória cellák száma

7 Máté: Architektúrák2. előadás7 A bitek száma rekeszenként néhány számítógép-történetileg érdekes, kereskedelmi forgalomba került gépen (2.10. ábra) SzámítógépBit Burroughs B17001 IBM PC8 DEC PDP-812 IBM DEC PDP-1518 XDS Electrologica X827 XDS Sigma 932 Honeywell CDC CDC Cyber60

8 Máté: Architektúrák2. előadás8 Bájtsorrend A legtöbb processzor több egymás utáni bájttal is tud dolgozni (szó – word, …). A legmagasabb helyértékű bájt a szóban a legalacsonyabb címen: legmagasabb címen: nagy (big) endian kis (little) endian MSBfirstLSBfirst Most/Least Significant Byte first Ha egy 32 bites szó bájtjainak értéke rendre: a, b, c, d, akkor a szó értéke: a* b* c*256+d a+b*256+c* d*256 3

9 Máté: Architektúrák2. előadás9 Bájtsorrend (2.11. ábra) A memória címek úgy vannak fölírva, hogy a legmagasabb helyértékű bájt van bal oldalon. CimNagy endian Kis endianCím bites szó

10 Máté: Architektúrák2. előadás10 Bájtsorrend (12. ábra) A szövegek karaktereit mindkét esetben növekvő bájt sorrendben helyezik el Címnagy endian 00T0T 1E1E 2X2X 3T3T kis endianCím 3T3T 2X2X 1E1E 0T0T A TEXT szöveg és az hexadecimális szám elhelyezése a két géptípuson Cím 00T0T 1E1E 2X2X 3T3T Problémák a gépek közötti kommunikációban!

11 Máté: Architektúrák2. előadás11 Kódolás: adat + ellenőrző bitek = kódszó. Két kódszó Hamming távolsága: az eltérő bitek száma. Pl.: és (Hamming) távolsága = 1. Hibaérzékelő kód: bármely két kódszó távolsága > 1: paritás bit. d hibás bit javítása: a kódszavak távolsága > 2d. Egy hibát javító kód (2.13. ábra): m adat, r ellenőrző bit, összesen n = m + r. 2 m „jó” szó, + minden „jó” szónak n db „egyhibás” szomszédja van, ezért (1+ n)2 m  2 n = 2 m+ r, 2 m -mel egyszerűsítve: m + r +1  2 r, vagy másképp: m + r  2 r szükséges.

12 Máté: Architektúrák2. előadás12 Minden utasítás tartalmaz műveleti kódot. Ezen kívül tartalmazhat az operandusokra, eredményre vonatkozó információt. Utasítás típusok: regiszter-memória utasítások: a regiszterek és a memória közötti adatforgalom (betöltés, tárolás). Ilyenkor egy regiszter és egy memória cím megadása szükséges a címrészen. regiszter-regiszter utasítások: összeadás, kivonás, … Az eredmény is regiszterben keletkezik. Ilyenkor három regiszter megadása szükséges a címrészen. …

13 Máté: Architektúrák2. előadás13 Címzési módszerek Három cím: cél = forrás1 + forrás2. A memória sok rekeszt tartalmaz, de csak kevés regiszter van. Egy regiszter néhány bittel címezhető. Regiszterek használata rövidíti a címeket, de nyújtja a programot, ha az operandus csak egyszer kell. A legtöbb operandust többször használjuk. Implicit operandusok: Két cím: regiszter2 = regiszter2 + forrás1. Egy cím: akkumulátor = akkumulátor + forrás1. Nulla cím: verem, pl. az IJVM IADD utasítása.

14 Máté: Architektúrák2. előadás14 Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása az utasításban (5.17. ábra) Direkt címzés (direct addressing): A memóriacím megadása a címrészen. Az utasítás mindig ugyanazt a címet használja. Az operandus értéke változhat, de a címe nem (fordításkor ismert kell legyen!). Regiszter címzés (register addressing): Mint a direkt címzés, csak nem memóriát, hanem regisztert címez. MOVR1#4#4

15 Máté: Architektúrák2. előadás15 Regiszter-indirekt címzés (register indirect addresing): A címrészen valamelyik regisztert adjuk meg, de a megadott regiszter nem az operandust tartalmazza, hanem azt a memóriacímet, amely az operandust tartalmazza (mutató - pointer). Rövidebb és a cím változtatható. Önmódosító program (Neumann): Ma már kerülendő (cache problémák!), pl. regiszter-indirekt címzéssel kikerülhetjük.

16 Máté: Architektúrák2. előadás16 Pl.:, a 100 szóból álló A tömb elemeinek összeadása (egy elem 4 bájt), ~ ábra. MOVR1, #0; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOVR2, #A ; az A tömb címe MOVR3, #A + 400; a tömb utáni első cím C:ADDR1, (R2); regiszter-indirekt címzés a tömb ; aktuális elemének elérésére ADDR2, #4; R2 tartalmát növeljük 4-gyel CMPR2, R3; végeztünk? BLTC; ugrás a C címkéhez, ha nem...; kész az összegzés

17 Máté: Architektúrák2. előadás17 Indexelt címzés (indexed addressing): Egy eltolási érték (offset) és egy (index) regiszter tartalmának összege lesz az operandus címe, ábra. MOVR1, #0; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOVR2, #0 ; az index kezdő értéke MOVR3, #400; a tömb mögé mutató index C:ADDR1, A(R2); indexelt címzés a tömb ; aktuális elemének elérésére ADDR2, #4; R2 tartalmát növeljük 4-gyel CMPR2, R3; végeztünk? BLTC; ugrás a C címkéhez, ha nem...; kész az összegzés

18 Máté: Architektúrák2. előadás18 Bázisindex címzés (based-indexed addressing): Egy eltolási érték (offset) és két (egy bázis és egy index) regiszter tartalmának összege lesz az operandus címe. Ha R5 A címét tartalmazza, akkor C:ADDR1, A(R2) helyett a C:ADDR1, (R2+R5) utasítás is írható. Verem címzés (stack addressing): Az operandus a verem tetején van. Nem kell operandust megadni az utasításban.

19 Máté: Architektúrák2. előadás19 Digitális logikai szint Digitális áramkör: két érték – általában 0-1 volt között az egyik (pl. 0, hamis), 2-5 volt között a másik (1, igaz). Más feszültségeket nem engednek meg. Kapu (gate): kétértékű jelek valamilyen függvényét tudja meghatározni. Kapcsolási idő néhány ns (nanoszekundum = s)

20 Máté: Architektúrák2. előadás20 Tranzisztor Emitter Bázis Kollektor + V cc V be V ki Ha V be = föld, akkor a tranzisztor szigetel  V ki = V cc Ha V be = V cc, akkor a tranzisztor vezet  V ki = föld Az igaz és hamis, az 1 és 0 kétféle reprezentációja: V cc = igaz = 1, föld = hamis = 0 (pozitív logika), V cc = hamis = 0, föld = igaz = 1 (negatív logika).

21 Máté: Architektúrák2. előadás21 + V cc 0 NEM (NOT) kapu, inverter ( ábra) Igazság tábla: Szimbolikus jelölése: A X erősítő Inverziós gömb 0 + V cc

22 Máté: Architektúrák2. előadás22 NEM-ÉS (NAND) kapu ( ábra) Igazság tábla: + V cc V1V1 V ki V2V2 Szimbolikus jelölése:

23 Máté: Architektúrák2. előadás23 NEM-VAGY (NOR) kapu ( ábra) Igazság tábla: + V cc V ki V1V1 V2V2 Szimbolikus jelölése:

24 Máté: Architektúrák2. előadás24 ÉS (AND) kapu (3.2. ábra) Igazság tábla: Szimbolikus jelölése:

25 Máté: Architektúrák2. előadás25 VAGY (OR) kapu (3.2. ábra) Igazság tábla: Szimbolikus jelölése:

26 Máté: Architektúrák2. előadás26 Boole-algebra Olyan algebra, amelynek változói és függvényei csak a 0, 1 értéket veszik fel, a műveletei: ÉS (konjunkció), VAGY (diszjunkció), NEM (negáció). Igazságtábla: olyan táblázat, amely a változók összes lehetséges értéke mellett megadja a függvény vagy kifejezés értékét.

27 Máté: Architektúrák2. előadás27 Pl. 3 változós többségi függvény (3.3. ábra): értéke 1, ha legalább két argumentuma 1 ABCM Igazság tábla: Boole-algebrai alakja: A fölülvonás a NEM (negáció), az egymás mellé írás az ÉS, a + a VAGY művelet jele. Diszjunktív normálforma.

28 Máté: Architektúrák2. előadás28 Boole-függvény megvalósításának lépései (3.3. ábra):

29 Máté: Architektúrák2. előadás29 NAND és NOR előnye: teljesség (3.4. ábra)

30 Máté: Architektúrák2. előadás30 Definíció: Akkor mondjuk, hogy két Boole-függvény ekvivalens, ha az összes lehetséges bemenetre a két függvény azonos kimenetet ad. Két Boole-függvény ekvivalenciája könnyen ellenőrizhető az igazság táblájuk alapján. Pl.: AB + AC és A(B + C) ekvivalens (3.5. ábra). Az első függvény megvalósításához két ÉS és egy VAGY kapura van szükség, a másodikhoz elegendő egy ÉS és egy VAGY kapu.

31 Máté: Architektúrák2. előadás31 Néhány azonosság (3.6. ábra)

32 Máté: Architektúrák2. előadás32 Disztribúciós szabály: A+BC=A+(BC)=(A+B)(A+C) Jelölje az ÉS műveletet ٨, a VAGY műveletet ٧, akkor A ٧ (B ٨ C) = (A ٧ B) ٨ (A ٧ C)

33 Máté: Architektúrák2. előadás33 Feladatok Milyen feladatai vannak a CPU-nak? Mi a központi memória feladata? Mi a memória cella/rekesz? Mit jelent a big endian kifejezés? Milyen problémát okoz az eltérő bájtsorrend? Mi a Hamming távolság? Mekkora a hexadecimális E6 és C7 Hamming távolsága? Hány ellenőrző bit szükséges 256 kódszó 1 hibát javító kódolásához?

34 Máté: Architektúrák2. előadás34 Feladatok Az alábbi memóriák közül melyik lehetséges, melyik ésszerű? Indokolja meg! 10 bites címek1024 db8 bites rekesz Egy régi gépnek 8192 szavas memóriája volt. Miért nem 8000?

35 Máté: Architektúrák2. előadás35 Feladatok A memória 100-adik bájtjától a H 4 bájtos számot és – folytatólagosan – az abcd szöveget helyeztük el. Mi az egyes bájtok tartalma, ha a memória big/little endian szervezésű?

36 Máté: Architektúrák2. előadás36 Feladatok Mi a közvetlen operandus megadás? Mi a direkt címzés? Mi a regiszter címzés? Mi a regiszter-indirekt címzés? Mi az indexelt címzés? Mi a bázisindex címzés?

37 Máté: Architektúrák2. előadás37 Feladatok Mi az igazság tábla? Írja fel a NEM, ÉS, VAGY, NAND, NOR, XOR művelet igazság tábláját! Mi a Bool algebra? Írja fel a 3 változós többségi függvény igazság tábláját és Bool-algebrai alakját! Mikor mondunk két Boole-függvényt equivalensnek? Hogy valósítható meg egy Boole-függvény? Mit jelent a NAND és NOR művelet teljessége? Írja föl a Boole-algebra legfontosabb azonosságait! Mit jelent az áramköri ekvivalencia? Írja fel a De Morgan szabályt!


Letölteni ppt "Máté: Architektúrák2. előadás1 Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Aritmetikai- logikai egység (ALU) Regiszterek...... Központi memória."

Hasonló előadás


Google Hirdetések