. . Egyszerű sín alapú számítógép (2.1. ábra) vezérlőegység Központi feldolgozó egység (CPU) Aritmetikai-logikai egység (ALU) B/K eszközök Regiszterek . . Központi memória Lemez Nyomtató 66-70 sín Egyszerű sín alapú számítógép (2.1. ábra) Máté: Architektúrák 2. előadás
Aritmetikai-logikai egység (ALU) CPU feladata: a memóriában tárolt program végrehajtása. 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 . 66-70 Máté: Architektúrák 2. előadás
A regiszter készletből feltöltődik az ALU két bemenő regisztere ALU 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 A B ALU 66-70 A+B Máté: Architektúrák 2. előadás
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. 66-72 Máté: Architektúrák 2. előadás
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. 83-86 Máté: Architektúrák 2. előadás
Központi memória (2.9. ábra) Cím Rekesz/cella A rekesz hossza manapság legtöbbször 8 bit (byte ~ bájt). n a memória cellák száma . . . 1 n-1 83-86 Rekesz hossza Központi memória (2.9. ábra) Máté: Architektúrák 2. előadás
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ép Bit Burroughs B1700 1 IBM PC 8 DEC PDP-8 12 IBM 1130 16 DEC PDP-15 18 XDS 940 24 Electrologica X8 27 XDS Sigma 9 32 Honeywell 6180 36 CDC 3600 48 CDC Cyber 60 83-86 Máté: Architektúrák 2. előadás
A legmagasabb helyértékű bájt a szóban a 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 MSBfirst LSBfirst 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*2563+b*2562+c*256+d a+b*256+c*2562+d*2563 86-88 Máté: Architektúrák 2. előadás
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. Cim Nagy endian 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Kis endian Cím 3 2 1 7 6 5 4 11 10 9 8 15 14 13 12 86-88 32 bites szó 32 bites szó Máté: Architektúrák 2. előadás
Problémák a gépek közötti kommunikációban! Bájtsorrend (12. ábra) A szövegek karaktereit mindkét esetben növekvő bájt sorrendben helyezik el kis endian Cím 3 T 2 X 1 E 0 T 7 12 6 34 5 56 4 78 4 Cím nagy endian 0 T 1 E 2 X 3 T 4 4 12 5 34 6 56 7 78 Cím 0 T 1 E 2 X 3 T 4 4 78 5 56 6 34 7 12 A TEXT szöveg és az 12345678 hexadecimális szám elhelyezése a két géptípuson 86-88 Problémák a gépek közötti kommunikációban! Máté: Architektúrák 2. előadás
Kódolás: adat + ellenőrző bitek = kódszó. Két kódszó Hamming távolsága: az eltérő bitek száma. Pl.: 11001 és 11011 (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. 2m „jó” szó, + minden „jó” szónak n db „egyhibás” szomszédja van, ezért (1+ n)2m £ 2n = 2m+ r , 2m -mel egyszerűsítve: m + r +1 £ 2r, vagy másképp: m + r 2r szükséges. 88-89 Máté: Architektúrák 2. előadás
Minden utasítás tartalmaz műveleti kódot 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. … Máté: Architektúrák 2. előadás
Három cím: cél = forrás1 + forrás2. 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. 371-372 Máté: Architektúrák 2. előadás
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. MOV R1 #4 380-381 Máté: Architektúrák 2. előadás
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. 381-382 Máté: Architektúrák 2. előadás
MOV R1, #0 ; gyűjtsük az eredményt R1-ben, Pl.:, a 100 szóból álló A tömb elemeinek összeadása (egy elem 4 bájt), ~ 5.18. ábra. MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOV R2, #A ; az A tömb címe MOV R3, #A + 400 ; a tömb utáni első cím C: ADD R1, (R2) ; regiszter-indirekt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem . . . ; kész az összegzés 381-382 Máté: Architektúrák 2. előadás
MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. Indexelt címzés (indexed addressing): Egy eltolási érték (offset) és egy (index) regiszter tartalmának összege lesz az operandus címe, 5.19-20. ábra. MOV R1, #0 ; gyűjtsük az eredményt R1-ben, ; kezdetben ez legyen 0. MOV R2, #0 ; az index kezdő értéke MOV R3, #400 ; a tömb mögé mutató index C: ADD R1, A(R2) ; indexelt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem . . . ; kész az összegzés 382-384, A14-19 Máté: Architektúrák 2. előadás
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: ADD R1, A(R2) helyett a C: ADD R1, (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. 384, A14-19 Máté: Architektúrák 2. előadás
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 = 10-9 s) 152-155 Máté: Architektúrák 2. előadás
Tranzisztor Ha Vbe = föld, akkor a tranzisztor szigetel Vki = Vcc Emitter Bázis Kollektor + Vcc Vbe Vki Ha Vbe = föld, akkor a tranzisztor szigetel Vki = Vcc Ha Vbe = Vcc, akkor a tranzisztor vezet Vki = föld Az igaz és hamis, az 1 és 0 kétféle reprezentációja: Vcc = igaz = 1, föld = hamis = 0 (pozitív logika), Vcc = hamis = 0, föld = igaz = 1 (negatív logika). 152-155 Máté: Architektúrák 2. előadás
NEM (NOT) kapu, inverter (3.1-2. ábra) + Vcc Szimbolikus jelölése: + Vcc Igazság tábla: A X erősítő Inverziós gömb 152-155 Nézet Vezérlők eszközkészlet látszódjék A megjeleníteni kívánt .swf file-t a szerkesztendő PPT directory-jába másolni Az utolsó eszközre (További eszközök) bal click Schockwave Flash Object bal click A dián bal click A „borítékot” a megfelelő helyre és méretre vinni. A „borítékon” jobb click Custom melletti üres mezőbe két gyors bal click Movie URL –be beírni a file nevét Embed Movie –t kipipálni OK A dián csak akkor látszik az ábra, ha már vetítettük. Máté: Architektúrák 2. előadás
NEM-ÉS (NAND) kapu (3.1-2. ábra) + Vcc V1 Vki V2 Szimbolikus jelölése: Igazság tábla: 152-155 Máté: Architektúrák 2. előadás
NEM-VAGY (NOR) kapu (3.1-2. ábra) Szimbolikus jelölése: + Vcc Vki V1 V2 Igazság tábla: 152-155 Máté: Architektúrák 2. előadás
Szimbolikus jelölése: ÉS (AND) kapu (3.2. ábra) Szimbolikus jelölése: Igazság tábla: 152-155 Máté: Architektúrák 2. előadás
Szimbolikus jelölése: VAGY (OR) kapu (3.2. ábra) Szimbolikus jelölése: Igazság tábla: 152-155 Máté: Architektúrák 2. előadás
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. 155-159 Máté: Architektúrák 2. előadás
Diszjunktív normálforma. Pl. 3 változós többségi függvény (3.3. ábra): értéke 1, ha legalább két argumentuma 1 Igazság tábla: A B C M 1 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. 155-159 Máté: Architektúrák 2. előadás
Boole-függvény megvalósításának lépései (3.3. ábra): 155-159 Máté: Architektúrák 2. előadás
NAND és NOR előnye: teljesség (3.4. ábra) 155-159 Máté: Architektúrák 2. előadás
Pl.: AB + AC és A(B + C) ekvivalens (3.5. ábra). 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. 159-162 Máté: Architektúrák 2. előadás
Néhány azonosság (3.6. ábra) 159-162 Máté: Architektúrák 2. előadás
A+BC=A+(BC)=(A+B)(A+C) 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) 159-162 Máté: Architektúrák 2. előadás
Milyen feladatai vannak a CPU-nak? Mi a központi memória feladata? 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? 683-684 Máté: Architektúrák 2. előadás
10 bites címek 1024 db 8 bites rekesz 10 1024 12 9 1024 10 11 1024 10 Feladatok Az alábbi memóriák közül melyik lehetséges, melyik ésszerű? Indokolja meg! 10 bites címek 1024 db 8 bites rekesz 10 1024 12 9 1024 10 11 1024 10 10 10 1024 1024 10 10 Egy régi gépnek 8192 szavas memóriája volt. Miért nem 8000? Máté: Architektúrák 2. előadás
Feladatok A memória 100-adik bájtjától a 01234567H 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ű? Máté: Architektúrák 2. előadás
Mi a közvetlen operandus megadás? Mi a direkt címzés? 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? 683-684 Máté: Architektúrák 2. előadás
Mikor mondunk két Boole-függvényt equivalensnek? 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! Máté: Architektúrák 2. előadás