1 / 65

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

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), MSI (Medium Scale ..., 10-100 kapu),

donar
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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). 3. előadás

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

  3. 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. 3. előadás

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

  5. 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: Párhuzamos-soros átalakítás: vezérlő vonalakon rendre: 000, 001, … 111. 3. előadás

  6. Demultiplexer: egy egyedi bemenetet irányít az n vezérlő bemenet értékétől függően a 2n kimenet egyikére demultiplexer multiplexer 3. előadás

  7. Dekódoló:n bemenet, 2n kimenet. Pontosan egy kimeneten lesz 1 (3.13. ábra). Demultiplexerrel: a bemenetet igazra állítjuk. dekódoló demultiplexer 3. előadás

  8. Összehasonlító (comparator): (3.14. ábra) A X B Igazság tábla: KIZÁRÓ VAGY (XOR eXclusive OR) kapu Szimbolikus jelölése 3. előadás

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

  10. 3. előadás

  11. Léptető: C=1: jobbra, C=0: balraléptet. Aritmetikai áramkörök A kombinációs áramkörökön belül külön csoportot alkotnak. 3. előadás

  12. Összeadók: Fél-összeadó (half adder, 3.17. ábra) 3. előadás

  13. Összeadók: Teljes-összeadó (full adder, 3.18. ábra) 3. előadás

  14. Aritmetikai-logikai egység: bitszelet(bit slice, 3.19. ábra), F0, F1 -től függően ÉS, VAGY, NEGÁCIÓ vagy + 3. előadás

  15. átvitel továbbterjesztő összeadó (ripple carry adder): 3. előadás

  16. átvitel kiválasztó összeadó(carry select adder) eljárás: 3. előadás

  17. késlelteté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. A B C 3. előadás

  18. 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) 3. előadás

  19. Mindkét SR tároló indeterminisztikussá válna, ha S = R = 1 egyszerre fordulna elő. 3. előadás

  20. Az inverternek van egy pici (1-10 ns) késleltetése (Δ). 3. előadás

  21. Flip-flop: élvezérelt (edge triggered), D flip-flop: 3.26. ábra. 3. előadás

  22. Q Q Q D D D Q D CK >CK >CK CK 3.27. ábra: Tárolók és flip-flopok (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. 3. előadás

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

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

  25. 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. 3. előadás

  26. 3.29. ábra. 4  3-as memória 3. előadás

  27. adat be adat be adat ki adat ki vezérlés vezérlé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). invertáló puffer nem invertáló puffer Ha a vezérlő jel Ha a vezérlő jel magas magas alacsony alacsony 3. előadás

  28. D0 D1...D7 A0 A1...A18 A0 A1...A10 512 K 8 bitesmemória (4 Mbit) 4096 K 1 bitesmemória (4 Mbit) D RASCAS CS WE OE CS WE OE 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. 19 cím, 8 adat vonal 11 cím, 1 adat vonal Row Address Strobe Column Address Strobe 3. előadás

  29. 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. 3. előadás

  30. 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. 3. előadás

  31. 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 … 3. előadás

  32. 512 MB-os flash memória (2006) 3. előadás

  33. 1 GB-os flash memória (2007) 3. előadás

  34. 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 3. előadás

  35. 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) 3. előadás

  36. 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 3. előadás

  37. 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) 3. előadás

  38. 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) 3. előadás

  39. 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. 3. előadás

  40. 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! 3. előadás

  41. 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ó. 3. előadás

  42. ; 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 3. előadás

  43. 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 3. előadás

  44. 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 3. előadás

  45. 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 3. előadás

  46. 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 ret ; visszatérés hexa_b endp ; a hexa_b eljárás vége 3. előadás

  47. 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 3. előadás

  48. 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 3. előadás

  49. 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 3. előadás

  50. Vezérlés átadó utasítások Eljárásokkal kapcsolatos utasítások Eljárás hívás: CALL op ; eljárás hívás - közeli: push IP, IP  op, - távoli: push CS, push IP, (CS:IP)  op. Visszatérés az eljárásból: RET ; visszatérés a hívó programhoz (RETurn) - közeli: pop IP, - távoli: pop IP, pop CS. RET op ; . . . , SP  SP+op ; op csak közvetlen adat lehet! 3. előadás

More Related