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 Adattípusok Alapkérdés: mit támogat a hardver (milyen utasítások vannak)? Ami nincs (pl. dupla pontosságú egész aritmetika),

Hasonló előadás


Az előadások a következő témára: "Máté: Architektúrák2. előadás1 Adattípusok Alapkérdés: mit támogat a hardver (milyen utasítások vannak)? Ami nincs (pl. dupla pontosságú egész aritmetika),"— Előadás másolata:

1 Máté: Architektúrák2. előadás1 Adattípusok Alapkérdés: mit támogat a hardver (milyen utasítások vannak)? Ami nincs (pl. dupla pontosságú egész aritmetika), azt szoftveresen kell megcsinálni. Numerikus típusok: előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites). lebegőpontos számok (32, 64, néha 128 bites), binárisan kódolt decimális számok: decimális aritmetika (COBOL  Y2K = év probléma).

2 Máté: Architektúrák2. előadás2 Az egyes gépek által támogatott numerikus típusok P: Pentium 4, U: UltraSPARC III, I: I-8051 típus1 bit8 bit16 bit32 bit64 bit128 bit bit I előjeles egész P U I P U U előjel nélküli egész P U U BCD P lebegőpontos P U U ábra

3 Máté: Architektúrák2. előadás3 Karakterkódolás ASCII (American Standard Code for Information Interchanges), 7 bites: vezérlőkarakterek, az angol abc kis és nagy betűi, szimbólumok, ábra Latin-1 kód: 8 bites. IS 8859: kódlap, IS : magyar betűk is. UNICODE (IS 10646), 16 bites: kódpozíciók (code point). Általában egy nyelv jelei egymás után vannak – a rendezés könnyű. Kínai, japán, koreai: fonetikus szimbólumok, Han ideogramok (20992 jel, nincsenek szótár szerint rendezve).... Japán íráshoz kevés (> kanji jel van). Új jelek? Braille nincs benne.

4 Máté: Architektúrák2. előadás4 További nem numerikus típusok Logikai érték (boolean): igaz, hamis. Leggyakrabban egy bájtban (szóban) ábrázolják. Bit térkép. Mutató (pointer): memória cím. Bit: kapcsolók, lámpák beállítására, lekérdezésére beágyazott rendszerekben.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23 Máté: Architektúrák2. előadás23 Az Intel 8086/8088 társzervezése A memória byte szervezésű. Egy byte 8 bitből áll.word, double word. Byte sorrend: Little Endian (LSBfirst). A negatív számok 2-es komplemens kódban. szegmens, szegmens cím a szegmensen belüli „relatív” cím, logikai cím, virtuális cím, OFFSET, displacement, eltolás, Effective Address (EA) fizikai cím (Address)

24 Máté: Architektúrák2. előadás24 Az Intel 8086/8088 üzemmódjai valós (real) védett (protected) szegmens cím szegmens regiszter ↓ szegmens regiszter page tábla elem tartalma * 16 ↓ szegmens kezdőcíme fizikai cím szegmens kezdőcíme + szegmensen belüli cím

25 Máté: Architektúrák2. előadás25 Szegmens regiszterek (16 bitesek) A szegmens regiszterek bevezetésének eredeti célja az volt, hogy nagyobb memóriát lehessen elérni. CS (Code Segment) utasítások címzéséhez SS (Stack Segment) verem címzéséhez DS (Data Segment) (automatikus) adat terület címzéséhez ES (Extra Segment) másodlagos adat terület címzéséhez

26 Máté: Architektúrák2. előadás26 Vezérlő regiszterek (16 bitesek) IP (Instruction Pointer) az éppen végrehajtandó utasítás logikai címét tartalmazza a CS által mutatott szegmensben SP (Stack Pointer) a stack-be (verembe) utolsónak beírt elem logika címét tartalmazza az SS által mutatott szegmensben STATUS (SR vagy FLAGS) a processzor állapotát jelző regiszter BP (Base Pointer) a stack indexelt címzéséhez használatos SI (Source Index) a kiindulási (forrás) adat terület indexelt címzéséhez használatos DI (Destination Index) a cél adat terület indexelt címzéséhez használatos

27 Máté: Architektúrák2. előadás27 STATUS (FLAGS) bitjei (flag-jei) O (Overflow) előjeles túlcsordulás D (Direction) a string műveletek iránya, 0: növekvő, 1: csökkenő I (Interrupt) 1: megszakítás engedélyezése (enable), 0: tiltása (disable) T (Trap) 1: „single step”, 0: automatikus üzemmód S (Sign) az eredmény legmagasabb helyértékű bit-je (előjel bit) Z (Zero) 1 (igaz), ha az eredmény 0, különben 0 (hamis) A (Auxiliary Carry) átvitel a 3. és 4. bit között (decimális aritmetika) P (Parity) az eredmény alsó 8 bitjének paritása C (Carry) átvitel előjel nélküli műveleteknél ----ODITSZ-A-P-C

28 Máté: Architektúrák2. előadás28 Általános regiszterek (16 illetve 8 bitesek) word higher byte lower byte AXAHALAccumulátor (szorzás, osztás is) BXBHBLBase Register (címző regiszter) CXCHCLCounter Register (számláló regiszter) DXDHDLData Register (szorzás, osztás, I/O)

29 Máté: Architektúrák2. előadás29 Az I8086/88 címzési rendszere Operandus megadás Adat megadás Kódba épített adat (immediate – közvetlen operandus) MOVAL, 6; AL új tartalma 6 MOVAX, 0FFH; AX új tartalma 000FFH Regiszter címzés: MOVAX, BX Az egyik cím mindig regiszter! A többi adat megadás esetén az automatikus szegmens regiszter: DS

30 Máté: Architektúrák2. előadás30 Direkt memória címzés: a címrészen az operandus logikai címe (eltolás, displacement) MOV AX, SZO; AX új tartalma SZO tartalma MOV AL, KAR; AL új tartalma KAR tartalma Valahol a DS által mutatott szegmensben: SZODW1375H KARDB3FH (DS:SZO) illetve (DS:KAR) MOVAX, KAR; hibás MOVAL, SZO; hibás MOVAX, WORD PTR KAR; helyes, de … MOVAL, BYTE PTR SZO; helyes, de …

31 Máté: Architektúrák2. előadás31 Indexelt címzés: a logikai cím: a 8 vagy 16 bites eltolás + SI vagy DI (esetleg BX) tartalma MOVAX, 10H[SI] MOVAX, -10H[SI] MOVAX, [SI] Regiszter-indirekt címzés: eltolási érték nélküli indexelt címzés MOVAX, [BX] MOVAX, [SI] Bázis relatív (bázisindex) címzés: a logikai cím: eltolás + BX + SI vagy DI tartalma MOVAX, 10H[BX][SI] MOVAX, [BX+SI+10H]

32 Máté: Architektúrák2. előadás32 Stack (verem) terület címzés Automatikus szegmens regiszter: SS Megegyezik a bázis relatív címzéssel, csak a BX regiszter helyett a BP szerepel.

33 Máté: Architektúrák2. előadás33 Program terület címzés Automatikus szegmens regiszter: CS A végrehajtandó utasítás címe: (CS:IP) Egy utasítás végrehajtásának elején: IP = IP + az utasítás hossza. IP relatív címzés: IP = IP + a 8 bites előjeles közvetlen operandus Direkt utasítás címzés: Az operandus annak az utasításnak a címe, ahova a vezérlést átadni kívánjuk. Közeli (NEAR):IP < = a 16 bites operandus Távoli (FAR):(CS:IP) < = a 32 bites operandus. CALL VALAMI; az eljárás típusától függően ;NEAR vagy FAR

34 Máté: Architektúrák2. előadás34 Indirekt utasítás címzés: Bármilyen adat címzési móddal megadott szóban vagy dupla szóban tárolt címre történő vezérlés átadás. Pl.: JMPAX ; ugrás az AX-ben tárolt címre JMP[BX] ; ugrás a (DS:BX) által címzett ; szóban tárolt címre. JMPFAR [BX] ; ugrás a (DS:BX) által ; címzett dupla szóban tárolt címre.

35 Máté: Architektúrák2. előadás35 Az utasítások szerkezete Prefixum: utasítás ismétlés, explicit szegmens megadás vagy LOCK MOVAX, CS:S; S nem a DS, ; hanem a CS regiszterrel címzendő Operációs kód: szimbolikus alakját mnemonic-nak nevezzük Címzési mód byte: hogyan kell az operandust értelmezni Operandus: mivel kell a műveletet elvégezni prefixumoperációs kódcímzési módoperandus byte1 byte0 - 1 byte0 - 4 byte

36 Máté: Architektúrák2. előadás36 Címzési mód byte A legtöbb utasítás kód után szerepel. Szerkezete: MódRegiszterReg/Mem Ha a műveleti kód legalacsonyabb helyértékű bit-je 0, akkor byte-os művelet, 1, akkor word-ös (szavas) művelet.

37 Máté: Architektúrák2. előadás37 RegiszterReg/Mem jelentése, ha Mód = byteword ALAXBX + SI + DI „00” + 8 bit displ. „00” + 16 bit displ. R e g i s z t e r 001CLCX 010DLDXBP + SI + DI 011BLBX 100AHSP SI DI 101CHBP 110DHSIközv. op.BP+8 bit d.BP+16 bit d. 111BHDIBX„00”+8 bit„00”+16 bit

38 Máté: Architektúrák2. előadás38 Szimbolikus alakban az operandusok sorrendje, gépi utasítás formájában a gépi utasítás kód mondja meg a regiszter és a memória közti adatátvitel irányát. Pl. az alábbi két utasítás esetén a címzési mód byte megegyezik: MOVAX, 122H[SI+BX] ; hexadecimálisan 8B MOV 122H[SI+BX], AX ; hexadecimálisan MódReriszterReg/Mem +16 bit d.AXSI+BX

39 Máté: Architektúrák2. előadás39 Az általános regiszterek és SI, DI, SP, BP korlátlanul használható, a többi (a szegmens regiszterek, IP és STATUS) csak speciális utasításokkal. Pl.: MOVDS, ADAT; hibás! MOVAX, ADAT; helyes! MOVDS, AX; helyes! A „többi” regiszter nem lehet aritmetikai utasítás operandusa, sőt, IP és CS csak vezérlés átadó utasításokkal módosítható, közvetlenül nem is olvasható.

40 Máté: Architektúrák2. előadás40 ; Assembly főprogram, amely adott szöveget ír a képernyőre ; ================================================= KOD SEGMENT PARA PUBLIC CODE ; Szegmens kezdet ; KOD: a szegmens neve ; align-type (igazítás típusa): BYTE, WORD, PARA, PAGE ; combine-type: PUBLIC, COMMON, AT  kifejezés , STACK ; class: CODE, DATA, (CONSTANT,) STACK, MEMORY ; ajánlott értelemszerűen ASSUMECS:KOD, DS:ADAT, SS:VEREM, ES:NOTHING ; feltételezett szegmens regiszter értékek. ; A beállításról ez az utasítás nem gondoskodik!

41 Máté: Architektúrák2. előadás41 KIIRPROCFAR; A fő eljárás mindig FAR ; FAR: távoli, NEAR: közeli eljárás ; Az operációs rendszer úgy hívja meg a főprogramokat, hogy ; a CS és IP a program végén lévő END utasításban megadott ; címke szegmens és OFFSET címét tartalmazza, SS és SP a ; a STACK kombinációs típusú szegmens végét mutatja, ; a visszatérés szegmens címe DS-ben van, OFFSET-je pedig 0 PUSHDS; DS-ben van a visszatérési cím ; SEGMENT része XORAX, AX; AX  0, az OFFSET rész = 0 PUSHAX; Veremben a (FAR) visszatérési cím MOVAX, ADAT; AX  az ADAT SEGMENT címe MOVDS, AX ; Most már teljesül, amit az ASSUME utasításban írtunk ; Eddig tartott a főprogram előkészületi része

42 Máté: Architektúrák2. előadás42 MOVSI, OFFSET SZOVEG ; SI  SZÖVEG OFFSET címe CLD; a SZÖVEGet növekvő címek ; szerint kell olvasni CALL KIIRO; Eljárás hívás RET; Visszatérés az op. rendszerhez ; a veremből visszaolvasott ; szegmens és OFFSET címre KIIRENDP; A KIIR eljárás vége

43 Máté: Architektúrák2. előadás43 KIIROPROC; NEAR eljárás, ; megadása nem kötelező CIKLUS:LODSB; AL  a következő karakter CMPAL, 0 ; AL =? 0 JEVEGE; ugrás a VEGE címkéhez, ; ha AL=0 MOVAH, 14 ; BIOS rutin paraméterezése INT 10H; a 10-es interrupt hívása: ; az AL-ben lévő karaktert kiírja ; a képernyőre JMPCIKLUS ; ugrás a CIKLUS címkéhez, ; a kiírás folytatása VEGE:RET; Visszatérés a hívó programhoz KIIROENDP; A KIIRO eljárás vége KODENDS; A KOD szegmens vége

44 Máté: Architektúrák2. előadás44 ADATSEGMENTPARA PUBLIC DATA SZOVEGDBEzt a szöveget kiírja a képernyőre DB13, 10, 0; 13: a kocsi vissza, ; 10: a soremelés kódja, ; 0: a szöveg vége jel ADATENDS; Az ADAT szegmens vége ; ================================================= VEREMSEGMENTPARA STACK DW100 DUP (?); Helyfoglalás 100 db ; inicializálatlan szó számára VEREMENDS; A VEREM szegmens vége ; ================================================= ENDKIIR; Modul vége, ; a program kezdőcíme: KIIR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

59 Máté: Architektúrák2. előadás59 Feladatok Milyen adat típusokat ismer? Milyen karakter kódolásokat ismer? 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?

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

61 Máté: Architektúrák2. előadás61 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ű? Mi a helyzet Intel 8086/8088-as gépen? Hogyan számítjuk ki a fizikai címet Intel 8086/8088- as gépen valós üzemmódban? Melyik címre hivatkozik az alábbi utasítás? MOVAX, 12H[SI] Melyik címre ugrik az alábbi utasítás? JMPFAR SS:6[BX,DI]

62 Máté: Architektúrák2. előadás62 Feladatok Milyen operandus megadási módokat ismer? Ezek közül melyek alkalmazhatók az IBM PC-n? 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? Milyen az I-8086/8088 társzervezése? Ismertesse az I-8086/8088 regiszter készletét!

63 Máté: Architektúrák2. előadás63 Feladatok Ismertesse az I-8086/8088 szegmens regisztereit! Ismertesse az I-8086/8088 általános regisztereit! Ismertesse az I-8086/8088 vezérlő regisztereit! Mire szolgál a STATUS (FLAGS) regiszter? Ismertesse az I-8086/8088 utasításainak szerkezetét! Ismertesse az I-8086/8088 címzési módjait! Ismertesse az I-8086/8088 stack terület címzését! Ismertesse az I-8086/8088 program terület címzését! Milyen prefixumokat ismer? Mire szolgál a címzési mód bájt?

64 Máté: Architektúrák2. előadás64 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 Adattípusok Alapkérdés: mit támogat a hardver (milyen utasítások vannak)? Ami nincs (pl. dupla pontosságú egész aritmetika),"

Hasonló előadás


Google Hirdetések