Alapvető digitális logikai áramkörök

Slides:



Advertisements
Hasonló előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Advertisements

Memóriák típusai, jellemzői
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
Számítógép architektúrák
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.
Memória típusok csoportosítása, jellemzése
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
MIKROELEKTRONIKA, VIEEA306
Belső memóriák tipusai
Alaplapra integrált csatlakozók
A számítógép felépítése
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.
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.
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.
A verem működése fpga-n
Alapfogalmak Hardver:  A számításokat végző fizikai-technikai rendszer (kézzel fogható, fizikai termékek) Szoftver:  Programok, programrendszerek (szellemi.
A MEMÓRIA.
A memória.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
Memóriák.
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
PIC processzor és környezete
A memória.
Számítógép memória jellemzői
Felkészítő tanár: Széki Tibor tanár úr
Készítette: Bodor Béla Tanár: Szabó Dániel Iskola: Egressy Gábor Kéttannyelvű Műszaki Szakközépiskola Iskola címe: 1149 Budapest, Egressy út 71. MEMÓRIÁK.
A memóriák típusai, jellemzői
Hardver alapismeretek
Tematikus fogalomtár FÉLVEZETŐS TÁRAK
MIÉRTEK A SZÁMÍTÁSTECHNIKÁBAN
MI A MEMÓRIA? A memória tulajdonképpen egy logikai áramkör, ami adatok megőrzésére alkalmas. Az adat számunkra most azt jelenti, hogy van-e jel vagy nincs.
Aritmetikai áramkörök
Számítógép architektúra
modul Szövegfeldolgozás Speciális informatikai feladatok.
A mikroszámítógép felépítése
VI.) Memóriák, memória szervezés
Mikrokontroller (MCU, mikroC)
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.
A központi egység Informatika alapjai Készítette: Senkeiné B. Judit.
HARDVER IT ALAPFOGALMAK. NEUMANN-ELVŰ SZÁMÍTÓGÉPEK FELÉPÍTÉSE Központi feldolgozó egység Háttértárolók Adatbeviteli eszközök (Input) Operatív tár (Memória)
Alaplapra integrált csatlakozók
Ismerkedjünk tovább a számítógéppel
Memóriák.
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.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
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.
1 TÁROLÓ ÁRAMKÖRÖK TAKÁCS BÉLA Mi történik, ha két invertert az alábbi módon összekapcsolunk? Ki1/Be2 Ki2/be A kapcsolásnak.
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
Készítette:Mohamed Ahmed Azmi 9.A. Random Access Memory Alap tudnivalók a RAM -ról: Írható és olvasható memória. Feladata ideiglenes adatok tárolása,
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Adatok tárolása. Tárolók Félvezető tárak RAM Operatív tár Cache tár Regiszterek CMOS RAM ROM BIOS Mágnestárak Mágneslemez Hajlékony lemez Merevlemez MágnesszalagMágneskártya.
CPU (Processzor) A CPU (Central Processing Unit – Központi Feldolgozó Egység) a számítógép azon egysége, amely értelmezi az utasításokat és vezérli.
RAM (Random Access Memory)
Z-80-s monitor program működésének aprólékos elemzése
Információtechnológiai alapismeretek
Neumann elvek és a Neumann elvű számítógép felépítése
Építsünk Processzort Avagy mi is kell hozzá.
Programozható áramkörök
Félvezető Memória elemek alapjai és használatuk
Programozható áramkörök
A számítógép működésének alapjai
Cache példák 2019 (IMSC).
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

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). 163-164 Máté: Architektúrák 3. előadás

3.10. ábra SSI lapka négy NAND kapuval Vcc: feszültség, GND: föld. 14 13 12 11 10 9 8 Bevágás 1 2 3 4 5 6 7 163-164 GND 3.10. ábra SSI lapka négy NAND kapuval Vcc: feszültség, GND: föld. Máté: Architektúrák 3. előadás

Kombinációs áramkörök 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. 165-170 Máté: Architektúrák 3. előadás

Multiplexer: n vezérlő bemenet, 2n adatbemenet, 1 kimenet Multiplexer: n vezérlő bemenet, 2n adatbemenet, 1 kimenet. Az egyik adatbemenet kapuzott (gated) a kimenetre (3.11-12. ábra). D0 D1 D2 D3 D4 D5 D6 D7 A B F D0 D1 D2 D3 D4 D5 D6 D7 F 165-167 C A B C Sematikus rajza Máté: Architektúrák 3. előadás

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: A B C M 1 Vcc C D0 D1 D2 D3 D4 D5 D6 D7 A B F 3.12. ábra Igazság tábla: 166-167 Párhuzamos-soros átalakítás: vezérlő vonalakon rendre: 000, 001, … 111. Máté: Architektúrák 3. előadás

Demultiplexer: egy egyedi bemenetet irányít az n vezérlő bemenet értékétől függően a 2n kimenet egyikére D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 167 multiplexer demultiplexer Máté: Architektúrák 3. előadás

Dekódoló: n bemenet, 2n kimenet. Pontosan egy kimeneten lesz 1 (3. 13 Dekódoló: n bemenet, 2n kimenet. Pontosan egy kimeneten lesz 1 (3.13. ábra). Demultiplexerrel: a bemenetet igazra állítjuk. D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 167-168 demultiplexer dekódoló Máté: Architektúrák 3. előadás

(XOR eXclusive OR) kapu Összehasonlító (comparator): (3.14. ábra) KIZÁRÓ VAGY (XOR eXclusive OR) kapu A0 B0 A1 B1 A2 B2 A3 B3 Igazság tábla: A B X 1 A ≡ B Szimbolikus jelölése 168 A B X 4 bites összehasonlító Máté: Architektúrák 3. előadás

Programozható logikai tömbök: PLA (3. 15 Programozható logikai tömbök: PLA (3.15. ábra) (Programmable Logic Array). 6 kimenet Ha ezt a biztosítékot kiégetjük, akkor nem jelenik meg B# az 1-es ÉS kapu bemenetén 1 49 5 50 bemenő vonal 24 bemenő vonal 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 169-170 A B L 12 bemenő jel Máté: Architektúrák 3. előadás

Aritmetikai áramkörök A kombinációs áramkörökön belül külön csoportot alkotnak. Léptető (shifter): 3.16. ábra, C=1: jobbra léptet. D0 D1 D2 D3 D4 D5 D6 D7 C=1 170-175 S0 S1 S2 S3 S4 S5 S6 S7 Máté: Architektúrák 3. előadás

Léptető (shifter): 3.16. ábra, C=0: balra léptet. D0 D1 D2 D3 D4 D5 D6 D7 C=0 S0 S1 S2 S3 S4 S5 S6 S7 170-175 Máté: Architektúrák 3. előadás

Összeadók: Fél-összeadó (half adder, 3.17. ábra) átvitel be összeg összeg átvitel Fél-összeadó (half adder, 3.17. ábra) átvitel ki 170-175 Teljes-összeadó (full adder, 3.18. ábra) Máté: Architektúrák 3. előadás

Aritmetikai-logikai egység: bitszelet (bit slice, 3. 19 Aritmetikai-logikai egység: bitszelet (bit slice, 3.19. ábra), F0, F1 -től függően ÉS, VAGY, NEGÁCIÓ vagy + logikai egység átvitel be teljes összeadó dekódoló F0 F1 INVA Kimenet A ENA B összeg ENB 170-175 engedélyező jelek átvitel ki Máté: Architektúrák 3. előadás

átvitel továbbterjesztő összeadó (ripple carry adder): 1 bit ALU A7 B7 O7 A6 B6 O6 A5 B5 O5 A4 B4 O4 A3 B3 O3 A2 B2 O2 A1 B1 O1 A0 B0 O0 INC átvitel F0 F1 170-175 Máté: Architektúrák 3. előadás

átvitel kiválasztó összeadó (carry select adder) eljárás: 1 bit ALU A7 B7 O7 A6 B6 O6 A5 B5 O5 A4 B4 O4 1 A3 B3 O3 A2 B2 O2 A1 B1 O1 A0 B0 O0 INC 170-175 Máté: Architektúrák 3. előadás

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. késleltetés A B 175-176 C Máté: Architektúrák 3. előadás

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). Stabil állapot: a két kimenet 0, 1 vagy 1, 0. S (set), R (reset) bemenet. (Q# ≡ Q) A B NOR 1 1 1 0 állapot: S 1 állapot: S Q# Q# 1 Q Q R R 1 Nem stabil állapotok: 176-181 1 0 S 0 1 S Q# Q# 1 0 0 1 1 0 0 1 Q R Q 1 0 R 0 1 Máté: Architektúrák 3. előadás

1-be állítás (Set): 0-ba állítás (Reset): 0-ról: 1-ről: A B NOR 1 1 1 0 Q# Q S R 0 1 1 Q# Q S R 0-ba állítás (Reset): 0-ról: 1-ről: 1 Q# Q S R 177-178 Q# Q S R 1 0 1 1 0 Máté: Architektúrák 3. előadás

Időzített (clocked) SR tároló (3.23. ábra). Q# Q S R óra Mindkét SR tároló indeterminisztikussá válna, ha S = R = 1 egyszerre fordulna elő. Időzített D-tároló (3.24. ábra). 178-179 Q# Q D Máté: Architektúrák 3. előadás

Az inverternek van egy pici (1-10 ns) késleltetése (Δ). Pulzusgenerátor 3.25. ábra. a b c b ÉS c d Δ a b d c Az inverternek van egy pici (1-10 ns) késleltetése (Δ). Flip-flop: élvezérelt (edge triggered), D flip-flop: 3.26. ábra. Q# Q D 179-181 Máté: Architektúrák 3. előadás

3.27. ábra: Tárolók és flip-flopok D Q CK D Q CK D Q >CK D Q >CK (a) (b) tárolók (c) (d) flip-flopok 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. 181 Máté: Architektúrák 3. előadás

3.28. ábra: (a) 2 független D flip-flop, Vcc 1 2 3 4 5 6 7 14 13 12 11 10 9 8 D Q >CK Q# CLR PR 181-183 GND Máté: Architektúrák 3. előadás

3. 28. ábra: (b) közös CK-val és CLR-rel vezérelt 3.28. ábra: (b) közös CK-val és CLR-rel vezérelt 8 bites D flip-flop: regiszter 20 19 18 17 16 15 14 13 12 11 1 2 3 4 5 6 7 8 9 10 GND Vcc D Q >CK CLR 181-183 Máté: Architektúrák 3. előadás

Elvárás: szavak címezhetősége. 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. 183-186 Máté: Architektúrák 3. előadás

írás input 0. szó dekóder 1. szó A1 A0 2. szó 3. szó CS RD output OE D Q >CK D Q >CK D Q >CK 0. szó dekóder D Q >CK D Q >CK D Q >CK 1. szó A1 A0 D Q >CK D Q >CK D Q >CK 2. szó D Q >CK D Q >CK D Q >CK 3. szó írás 183-186 CS RD OE output O2 O1 O0 Máté: Architektúrák 3. előadás

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 ki vezérlés adat be adat ki vezérlés nem invertáló puffer invertáló puffer Ha a vezérlő jel 183-186 Ha a vezérlő jel magas magas alacsony alacsony Máté: Architektúrák 3. előadás

olvasás input 0. szó dekóder 1. szó A1 A0 2. szó 3. szó CS RD output D Q >CK D Q >CK D Q >CK 0. szó dekóder D Q >CK D Q >CK D Q >CK 1. szó A1 A0 D Q >CK D Q >CK D Q >CK 2. szó D Q >CK D Q >CK D Q >CK 3. szó olvasás 183-186 CS RD OE output O2 O1 O0 Máté: Architektúrák 3. előadás

Memórialapkák 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 . . . A10 D 4096 K 1 bites memória (4 Mbit) CS WE OE RAS CAS A0 A1 . . . A18 D0 D1 . . . D7 512 K 8 bites memória (4 Mbit) CS WE OE 186-188 19 cím, 8 adat vonal 11 cím, 1 adat vonal Row Address Strobe Column Address Strobe Máté: Architektúrák 3. előadás

512 K bájtos elrendezés: 19 cím, 8 adat vonal. Memórialapkák A jel (bemenet) beállított (asserted) vagy negált. CS beállított: 1, de CS# beállított: 0 512 K bájtos elrendezés: 19 cím, 8 adat vonal. 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. 186-188 Máté: Architektúrák 3. előadás

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. 188-190 Máté: Architektúrák 3. előadás

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 … 190-191 Máté: Architektúrák 3. előadás

512 MB-os flash memória 190-191 Máté: Architektúrák 3. előadás

Az I8086/8088 utasítás rendszere Jelőlések  : értékadás  : felcserélés op, op1, op2: tetszőlegesen választható operandus (közvetlen, memória vagy regiszter). op1 és op2 közül az egyik regiszter kell legyen! reg: általános, bázis vagy index regiszter mem: memória operandus ipr: (8 bites) IP relatív cím port: port cím (8 bites eltolás vagy DX) [op]: az op által mutatott cím tartalma A20 Máté: Architektúrák 3. előadás

Adat mozgató utasítások Nem módosítják a flag-eket (kivéve POPF és SAHF) MOV op1, op2 ; op1  op2 (MOVe) XCHG op1, op2 ; op1  op2 (eXCHanGe), op2 sem ; lehet közvetlen operandus XLAT ; AL  [BX+AL] (trans(X)LATe), a ; BX által címzett maximum 256 byte- ; os tartomány AL-edik byte-jának ; tartalma lesz AL új tartalma LDS reg, mem ; reg  mem, mem+1 ; DS  mem+2, mem+3 (Load DS) LES reg, mem ; reg  mem, mem+1 ; ES  mem+2, mem+3 (Load ES) LEA reg, mem ; reg  mem effektív (logikai) címe ; (Load Effective Address) A20 Máté: Architektúrák 3. előadás

A veremmel (stack-kel) kapcsolatos adat mozgató utasítások: PUSH op ; SP  SP-2; (SS:SP)  op PUSHF ; (PUSH Flags) ; SP  SP-2; (SS:SP)  STATUS POP op ; op  (SS:SP); SP  SP+2 POPF ; (POP Flags) ; STATUS  (SS:SP); SP  SP+2 Az Intel 8080-nal való kompatibilitást célozza az alábbi két utasítás: SAHF ; STATUS alsó 8 bitje  AH LAHF ; AH  STATUS alsó 8 bitje A21 Máté: Architektúrák 3. előadás

Aritmetikai utasítások ADD op1, op2 ; op1  op1 + op2 (ADD) Pl.: előjeles/előjel nélküli számok összeadása MOV AX, -1 ; AX=-1 (=0FFFFH) ADD AX, 2 ; AX=1, C=1, O=0 ADC op1, op2 ; op1  op1 + op2 + C ; (ADD with Carry) Pl.: két szavas összeadás (előjeles/előjel nélküli) ADD AX, BX ADC DX, CX ; (DX:AX) = (DX:AX) + (CX:BX) INC op ; op  op + 1, C változatlan! (INCrement) A21-22 Máté: Architektúrák 3. előadás

SUB op1, op2 ; op1  op1 - op2 (SUBtraction) CMP op1, op2 ; flag-ek op1 - op2 szerint (CoMPare) SBB op1, op2 ; op1  op1 - op2 – C: ; a több szavas kivonást segíti. DEC op ; op  op - 1, C változatlan ; (DECrement) NEG op ; op  -op (NEGate) A23 Máté: Architektúrák 3. előadás

Az összeadástól és kivonástól eltérően a szorzás és osztás esetében különbséget kell tennünk, hogy előjeles vagy előjel nélküli számábrázolást alkalmazunk-e. További lényeges eltérés, hogy két 8 bites vagy 16 bites mennyiség szorzata ritkán fér el 8 illetve 16 biten, ezért a szorzás műveletét úgy alakították ki, hogy 8 bites tényezők szorzata 16, 16 biteseké pedig 32 biten keletkezzék: Szorzásnál op nem lehet közvetlen operandus! MUL op ; előjel nélküli szorzás (MULtiplicate), IMUL op ; előjeles szorzás (Integer MULtiplicate). Ha op 8 bites AX  AL  op. Ha op 16 bites (DX:AX)  AX  op. A23-24 Máté: Architektúrák 3. előadás

Osztásnál op nem lehet közvetlen operandus! DIV op ; (DIVide) előjel nélküli osztás, IDIV op ; (Integer DIVide) előjeles osztás, ; A nem 0 maradék előjele megegyezik ; az osztóéval. Ha op 8 bites: AL  AX/op hányadosa, AH  AX/op maradéka. Ha op 16 bites: AX  (DX:AX)/op hányadosa, DX  (DX:AX)/op maradéka. Osztásnál túlcsordulás  azonnal elhal (abortál) a programunk! A24-25 Máté: Architektúrák 3. előadás

Ha bájtot bájttal vagy szót szóval akarunk osztani, akkor: Előjel nélküli osztás előkészítése AH illetve DX nullázásával történik. Előjeles osztás előkészítésére szolgál az alábbi két előjel kiterjesztő utasítás: CBW ; (Convert Byte to Word) ; AX  AL előjel helyesen CWD ; (Convert Word to Double word) ; (DX:AX)  AX előjel helyesen Pozitív számok esetén (az előjel 0) az előjel kiterjesztés az AH illetve a DX regiszter nullázását, negatív számok esetén (az előjel 1) csupa 1-es bittel való feltöltését jelenti. Az előjel kiterjesztés máskor is alkalmazható. A24 Máté: Architektúrák 3. előadás

; Két vektor skalár szorzata. 1. változat code segment para public ’code’ assume cs:code, ds:data, ss:stack, es:nothing skalar proc far push ds ; visszatérési cím a verembe xor ax,ax ; ax  0 push ax ; visszatérés offset címe mov ax,data ; ds a data szegmensre mutasson mov ds,ax ; sajnos „mov ds,data” ; nem megengedett ; A A26 Máté: Architektúrák 3. előadás

xor ch,ch ; cx = n szavasan xor dx,dx ; az eredmény ideiglenes helye mov cl,n ; cl  n, 0  n  255 xor ch,ch ; cx = n szavasan xor dx,dx ; az eredmény ideiglenes helye JCXZ kesz ; ugrás a kesz címkére, ; ha CX (=n) = 0 xor bx,bx ; bx  0, ; bx-et használjuk indexezéshez A26 Máté: Architektúrák 3. előadás

ism: mov al,a[bx] ; al  a[0], később a[1], ... imul b[bx] ; ax  a[0]b[0], a[1]b[1], ... add dx,ax ; dx  részösszeg inc bx ; bx  bx+1, az index növelése ; B dec cx ; cx  cx-1, (vissza)számlálás JCXZ kesz ; ugrás a kész címkére, ha cx=0 jmp ism ; ugrás az ism címkére kesz: mov ax,dx ; a skalár szorzat értéke ax-ben ; C A26-27 Máté: Architektúrák 3. előadás

call hexa ; az eredmény kiírása ; hexadecimálisan mov si,offset kvse ; kocsi vissza soremelés call kiiro ; kiírása ret ; vissza az Op. rendszerhez skalar endp ; a skalár eljárás vége ; D A27 Máté: Architektúrák 3. előadás

hexa proc ; ax kiírása hexadecimálisan xchg ah,al ; ah és al felcserélése call hexa_b ; al (az eredeti ah) kiírása xchg ah,al ; ah és al visszacserélése call hexa_b ; al kiírása ret ; visszatérés hexa endp ; a hexa eljárás vége ; ---------------------------------------------------------- hexa_b proc ; al kiírása hexadecimálisan push cx ; mentés a verembe mov cl,4 ; 4 bit-es rotálás előkészítése ROR al,CL ; az első jegy az alsó 4 biten call h_jegy ; az első jegy kiírása ROR al,CL ; a második jegy az alsó 4 biten call h_jegy ; a második jegy kiírása pop cx ; visszamentés a veremből hexa_b endp ; a hexa_b eljárás vége A27 Máté: Architektúrák 3. előadás

h_jegy proc ; hexadecimális jegy kiírása push ax ; mentés a verembe AND al,0FH ; a felső 4 bit 0 lesz, ; a többi változatlan add al,’0’ ; + 0 kódja cmp al,’9’ ;  9 ? JLE h_jegy1 ; ugrás h_jegy1 -hez, ha igen add al,’A’-’0’-0AH ; A-F hexadecimális jegyek ; kialakítása h_jegy1: mov ah,14 ; BIOS szolgáltatás előkészítése int 10H ; BIOS hívás: karakter kiírás pop ax ; visszamentés a veremből ret ; visszatérés h_jegy endp ; a hexa_b eljárás vége A27 Máté: Architektúrák 3. előadás

kiiro proc ; szöveg kiírás (DS:SI)-től push ax cld ki1: lodsb ; ala következő karakter cmp al, 0 ; al =? 0 je ki2 ; ugrás a ki2 címkéhez, ha al=0 mov ah,14 ; BIOS rutin paraméterezése int 10H ; az AL-ben lévő karaktert ; kiírja a képernyőre jmp ki1 ; a kiírás folytatása ki2: pop ax ret ; visszatérés a hívó programhoz kiiro endp ; a kiíró eljárás vége ; ---------------------------------------------------------- code ends ; a code szegmens vége A27-28 Máté: Architektúrák 3. előadás

data segment para public ’data’ n db 3 a db 1, 2, 3 b db 3, 2, 1 kvse db 13, 10, 0 ; kocsi vissza, soremelés data ends ; a data szegmens vége ; ========================================== stack segment para stack ’stack’ dw 100 dup (?) ; 100 word legyen a verem stack ends ; a stack szegmens vége end skalar ; modul vége, ; a program kezdő címe: skalar A28 Máté: Architektúrák 3. előadás

Mit nevezünk kombinációs áramkörnek? 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

Hogy épül fel a teljes összeadó? Milyen részei vannak az ALU-nak? 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? Hogy működik az átvitel továbbterjesztő/kiválasztó összeadó? Máté: Architektúrák 3. előadás

Hogy érhetünk el az órajelnél finomabb időzítést? 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? 62-63 Máté: Architektúrák 3. előadás

Hogy működik az invertáló és a nem invertáló puffer? 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? 62-63 Máté: Architektúrák 3. előadás

Mit jelent az FPM rövidítés? Mit jelent az EDO rövidítés? 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? 62-63 Máté: Architektúrák 3. előadás

Milyen adat mozgató utasításokat ismer? Hogy működnek? Feladatok Milyen adat mozgató utasításokat ismer? Hogy működnek? Milyen aritmetikai utasításokat ismer? Hogy működnek? Mit csinál az IDIV utasítás? Mit csinál az CWD utasítás? Miért hibás az imul [di+bx] utasítás? 62-63 Máté: Architektúrák 3. előadás

Feladatok Írjon program részletet a/b kiszámítására, feltéve, hogy a és b előjeles/előjel nélküli bájt/word! Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles és b előjel nélküli bájt/word! Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles bájt és b előjeles word! Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles bájt és b előjel nélküli word! Írjon program részletet a/b kiszámítására, feltéve, hogy a előjeles word és b előjel nélküli bájt! 62-63 Máté: Architektúrák 3. előadás