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

Slides:



Advertisements
Hasonló előadás
Átváltás decimális számrendszerből bináris számrendszerbe.
Advertisements

Alaplap.
Adatbázisrendszerek elméleti alapjai 2. előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Alapvető digitális logikai áramkörök
Máté: Architektúrák3. előadás1 Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm 2 szilícium darab kerámia.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Az LCD kijelző programozása
Adatbázisrendszerek elméleti alapjai 5. előadás
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Turbo Pascal Változók.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Nem kombinációs áramkörök
Operandus megadás Közvetlen operandus (immediate operand): Az operandus megadása a címrészen (5.16. ábra) Direkt címzés (direct addressing): A memóriacím.
CPU (Central Processing Unit) feladatai
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Architektúrák3. előadás1 Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm 2 szilícium darab kerámia.
EKG kapuzott (ECG gated) szív vizsgálat
előjel nélküli és előjeles egész számok (8, 16, 32, 64 bites).
Csernoch Mária Adatábrázolás Csernoch Mária
Csernoch Mária Adatábrázolás Csernoch Mária
Mutatók, tömbök, függvények
A verem működése fpga-n
Bevezetés a digitális technikába
A számítógéprendszer.
Mikroszámítógépek I 8085 processzor.
PIC processzor és környezete
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Felkészítő tanár: Széki Tibor tanár úr
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
Aritmetikai áramkörök
Számítógép architektúra Címzésmódok. 2007Címzésmódok2-21 Operandusok egy operandus hossza lehet: –1 byte –2 byte (szó) –4 byte egy operandus lehet: –az.
Számítógép architektúra
Az információ-technológia alapfogalmai
A Mikroprocesszor Második rész.
Mikrokontroller (MCU, mikroC)
Boole-algebra (formális logika).
Operátorok Értékadások
Visual Basic 2008 Express Edition
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
Logikai műveletek és áramkörök
A Visual Basic nyelvi elemei
Bevezetés az informatikába Farkas János, Barna Róbert
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Ismerkedjünk tovább a számítógéppel
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 3. Előadás.
Írja fel a tizes számrendszerbeli
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
Alapvető digitális logikai áramkörök
Sz&p prof.
Építsünk Processzort Avagy mi is kell hozzá.
A Számítógépek felépítése, működési módjai
Egy egyszerű gép vázlata
A Számítógépek felépítése, működési módjai
Számítógép architektúrák
A számítógép működésének alapjai
Algoritmus készítés.
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

Máté: Architektúrák2. előadás1 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 (2.10. ábra). Ma ez legtöbbször 8 bites (bájt – byte). A legtöbb processzor több egymás utáni bájttal is tud dolgozni (szó – word).

Máté: Architektúrák2. előadás2 Bájtsorrend (2.11., 12. ábra) 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 A szövegek karaktereit mindkét esetben növekvő bájt sorrendben helyezik el: problémák a gépek közötti kommunikációban!

Máté: Architektúrák2. előadás3 Az Intel 8086/8088 társzervezése A memória byte szervezésű (A5). Egy byte 8 bitből áll. word, double word. Byte sorrend: Little Endian. 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)

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

Máté: Architektúrák2. előadás5 Szegmens regiszterek (16 bitesek) 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

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

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

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

Máté: Architektúrák2. előadás9 Címzési módok Közvetlen operandus (immediate operand): Az operandus megadása a címrészen (5.16. á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. MOVR14

Máté: Architektúrák2. előadás10 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ó. Pl.: ábra, tömb elemeinek összeadása (a jelöléstől eltekintve Pentium II program). Önmódosító program (Neumann): Ma már kerülendő (cache problémák!), regiszter indirekt címzéssel kikerültük.

Máté: Architektúrák2. előadás11 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. 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, R6 B címét tartalmazza, akkor LOOP:MOVR4, (R2 + R5) ANDR4, (R2 + R6) Verem címzés (stack addressing): Nem kell operandusz! Az I8086/88 címzési rendszere (A7-9) Minta program: A3-4

Máté: Architektúrák2. előadás12 Az I8086/88 címzési rendszere Memória címzés Adat terület címzés Kódba épített adat (immediate – közvetlen operandus) MOVAL, 6; AL új tartalma 6 MOVAX, 0FFH; AX új tartalma 000FFH

Máté: Architektúrák2. előadás13 Automatikus szegmens regiszter (ASSUME): DS 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 MOVAL, BYTE PTR SZO; helyes

Máté: Architektúrák2. előadás14 Indexelt címzés: a logikai cím: a 8 vagy 16 bites eltolás + SI vagy DI (BX) tartalma MOVAX, [SI] MOVAX, 10H[SI] MOVAX, -10H[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 címzés: a logikai cím: eltolás + SI vagy DI + BX tartalma MOVAX, 10H[BX][SI] MOVAX, [BX+SI+10H]

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

Máté: Architektúrák2. előadás16 Program terület címzés Automatikus szegmens regiszter (ASSUME): 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

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

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

Máté: Architektúrák2. előadás19 Címzési mód byte A legtöbb utasítás kód után szerepel. Szerkezete: MódReriszterReg/Mem A regiszter byte vagy word, ha a műveleti kód legalacsonyabb helyértékű bit-je 0 vagy 1.

Máté: Architektúrák2. előadás20 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.BP+8 bit d.BP+16 bit d. 111BHDIBX„00”+8 bit„00”+16 bit

Máté: Architektúrák2. előadás21 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 MOV122H[BX][SI], AX ; hexadecimálisan

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

Máté: Architektúrák2. előadás23 ; 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 KIIRPROCFAR; A fő eljárás mindig FAR ; FAR: távoli, NEAR: közeli eljárás

Máté: Architektúrák2. előadás24 ; 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 teljesült, amit az ASSUME utasításban írtunk ; Eddig tartott a főprogram előkészületi része

Máté: Architektúrák2. előadás25 MOVSI, OFFSET SZOVEG ; SI  SZÖVEG ; OFFSET címe CLD; ld. később 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

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

Máté: Architektúrák2. előadás27 ADATSEGMENTPARA PUBLIC DATA SZOVEGDBEzt a szöveget kiírja a képernyőre DB13, 10; 13: a kocsi vissza, ; 10: a soremelés kódja, DB0; 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

Máté: Architektúrák2. előadás28 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, n = m + r. 2 m „jó” szó, + minden „jó” szónak n db „egyhibás” szomszédja van, ezért (n +1)2 m  2 n = 2 m+ r, egyszerűsítve m + r +1  2 r, vagy másképp m + r  2 r szükséges.

Máté: Architektúrák2. előadás29 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 kiszámítani (3.1. ábra). Kapcsolási idő néhány ns (nanoszekundum = s) NOT, NAND, NOR, AND, OR kapuk (3.2. ábra). Inverziós gömb (Inversion Bubble).

Máté: Architektúrák2. előadás30 Boole algebra Olyan algebra, amelynek változói és függvényei csak a 0, 1 értéket veszik fel. Igazságtábla: pl. 3 változós többségi függvény (értéke 1, ha legalább két operandusz 1: 3.3. ábra). Boole függvény megvalósításának lépései: igazságtábla, ÉS kapuk bemenetei, ÉS kapuk, VAGY kapu bemenetei, VAGY kapu, kimenet.

Máté: Architektúrák2. előadás31 NAND és NOR előnye: teljesség (3.4. ábra). Boole függvények ekvivalenciája (3.5. ábra). Néhány azonosság (3.6. ábra). Egyszerű kapuk ekvivalens megvalósításai ( ábra). Dualitás: egy szabály a duálisába megy át, ha a formulában egyidejűleg felcseréljük az ÉS és VAGY műveleteket és a 0 és 1 értékeket. Pozitív logika:0 volt  hamis, Negatív logika:0 volt  igaz (3.9. ábra).

Máté: Architektúrák2. előadás32 Alapvető digitális logikai áramkörök Integrált áramkör (IC, Integrated Circuit, chip, lapka) 5x5 mm 2 szilícium darab kerámia vagy műanyag lapon (tokban), lábakkal (pins). Négy alaptípus: SSI (Small Scale Integrated 1-10 kapu) 3.10 ábra, MSI (Medium Scale..., kapu), LSI (Large Scale..., kapu), VLSI (Very Large Scale..., > kapu). Példa SSI-re: ábra, V cc : feszültség, GND: föld. Kapukésleltetés (gate delay): 1-10 nsec.

Máté: Architektúrák2. előadás33 Kívánalom: sok kapu – kevés láb Kombinációs áramkörök Definíció: A kimeneteket egyértelműen meghatározzák a pillanatnyi bemenetek. Multiplexer: 2 n adatbemenet, n vezérlő bemenet, 1 kimenet (3.11. ábra), az egyik adatbemenet kapuzott (gated) a kimenetre. Többségi függvény: (3.3., 12. ábra), Párhuzamos-soros átalakítás (vezérlő vonalakon rendre: 000, 001, … 111).

Máté: Architektúrák2. előadás34 Demultiplexer: egy egyedi bemenetet irányít az n vezérlő bemenet értékétől függően a 2 n kimenet egyikére (3.11. ábrán a bemenetek összekötve, a vagy kapu törölve). Dekódoló: n bemenet, 2 n kimenet. Pontosan egy kimeneten lesz 1 (3.13. ábra). Demultiplexerrel: a bemenetet igazra állítjuk. Összehasonlító (comparator): (3.14. ábra). Programozható logikai tömbök: PLA (Programmable Logic Array, ábra).

Máté: Architektúrák2. előadás35 Aritmetikai áramkörök Léptető (shifter): ábra, C=0: balra, 1: jobbra. Összeadók: Fél-összeadó (half adder, ábra), Teljes összeadó (full adder, ábra). - átvitel továbbterjesztő (ripple carry adder), - átvitel kiválasztó (carry select adder) eljárás. Aritmetikai-logikai egység: bitszelet (bit slice, ábra), ALU (Arithmetic Logic Unit, ábra). Az F0, F1 vezérlő jelektől függően ÉS, VAGY (+), NEGÁCIÓ vagy ÖSSZEADÁS. INC bemenet.