370 likes | 593 Views
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység. Dr. Istenes Zoltán ELTE-TTK. 4. előadás tartalma. ALU áramköri megvalósítása logikai áramkörök összeadó áramkörök vezérlő egységek megvalósítása huzalozott vezérlők mikroprogramozott vezérlők.
E N D
Számítógépek felépítése4. előadásALU megvalósítása, vezérlő egység Dr. Istenes Zoltán ELTE-TTK
4. előadás tartalma • ALU áramköri megvalósítása • logikai áramkörök • összeadó áramkörök • vezérlő egységek megvalósítása • huzalozott vezérlők • mikroprogramozott vezérlők
A központi feldolgozó egység feladata, kapcsolata a többi egységgel részei, felépítése működése megvalósítása (ALU+CU+regiszterek)
Az aritmetikai logikai egységműködése, megvalósítása Arithmetical Logical Unit - ALU
Cél : A szükséges aritmetikai és logikai műveletek (+ - AND XOR) megvalósítása Módszer : egyszerű „építőkövekből” összeépítve...
„és” „vagy”
& 1 Elemi logikai kapuk AND OR NOT x -x 0 1 1 0 x y x.y 0 0 0 0 1 0 1 0 0 1 1 1 x y x+y 0 0 0 0 1 1 1 0 1 1 1 1 x x x.y x+y x -x y y x 1 x -x x x.y x+y y y
Logikai kapuk NAND XOR x y x NAND y 0 0 1 0 1 1 1 0 1 1 1 0 x y x XOR y 0 0 0 0 1 1 1 0 1 1 1 0 NOR x y x NOR y 0 0 1 0 1 0 1 0 0 1 1 0 x x y y x y
Multiplexer (2 bemenetű) s0 z 0 d0 1 d1 d0 z d1 MUX d0 s0 z d1 s0
Multiplexer (4x 2 bemenetű) x3 y3 x2 y2 x1 y1 x0 y0 MUX z3 MUX z2 MUX z1 MUX z0 s
Multiplexer (4 bemenetű) MUX s1 s0 z 0 0 d0 0 1 d1 1 0 d2 1 1 d3 d0 d1 MUX z d2 MUX d3 d0 MUX d1 z s0 s1 d2 d3 s0 s1
4 bites logikai függvények (AND, XOR) áramkör x3 y3 x2 y2 x1 y1 x0 y0 MUX z3 MUX z2 MUX z1 MUX z0 s
Félösszeadó (1bites) x XOR y bemenet kimenet x y s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 x s y x.y c 1/2+ x s s = sum (összeg) c = carry (átvitel) y c
Teljes-összeadó (1bites) bemenet kimenet x y cin s cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1/2+ x y s 1/2+ cin cout x y cin 1+ s cout cin = carry in cout = carry out
4 bites teljes összeadó („terjedő átvitel”, ripple carry) y3 x3 y2 x2 y1 x1 y0 x0 c0 c3 c2 c1 1+ 1+ 1+ 1+ c4 s3 s2 s1 s0 cin y3 x3 y2 x2 y1 x1 y0 x0 4 bites összeadó cout s3 s2 s1 s0
Kivonás kettes komplemenssel 5 0101 +2 +0010 7 0111 2 0010 -2 1101 egyes komplemens -2 1110 kettes komplemens összeadás 5 0101 -2 +1110 3 0011 kivonás
4 bites összeadó/kivonó áramkör x3 x2 x1 x0 cin A 4 bites teljes összeadó y3 y2 y1 y0 z3 z2 z1 z0 MUX C MUX B MUX MUX cout s
4 bites 4 műveletes ALU 4 aritmetikai egység (+/-) 4x 2 bemenetű multiplexer x 4 4 y 4 z logikai egység (AND/XOR) 4 4 4 s0 s1
Buszok (sínek) • Adatsín • Címsín • Vezérlő sín • külső / belső sínek (a CPU-hoz képest) • busz-szélesség
„Kapuzás”, vezérlés „A” egység „B” egység „C” egység RA WB WC sín
Kétirányú busz „egység” x1 x2 xn C y1 y2 yn „sín”
A vezérlő egység Control Unit - CU
A vezérlő egység feladata, működése A vezérlő feladata : az adott utasítás alapján a szükséges elemi műveleteket kiváltó vezérlőjelek megfelelő sorrendben való előállítása, illetve a szükséges címek képzése. Vezérlő típusok : • huzalozott vezérlők • mikroprogramozott vezérlők
Egy töltő utasítás elemi lépései (példa) • LDA X azaz (X) -> AC : • (PC) -> adatsín, adatsín -> címsín, címsín -> MAR • címdekódolás, mem(MAR) -> MDR • (MDR) -> adatsín, adatsín -> IR • IR(op.kód) -> dekódolás • IR(címrész) -> címsín, címsín -> MAR • címdekódolás, mem(MAR) -> MDR • (MDR) -> adatsín, adatsín -> AC címsín MAR MEM AC PC IR „kapuzás” MDR adatsín
Számláló q0 2 bites számláló reset CLK q1 q1 0 0 0 0 1 1 1 1 q0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 CLK
Demultiplexer (1 ből 4) bemenet kimenet e s1 s0 y0 y1 y2 y3 0 x x 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 ből 4 demultiplexer y0 y1 y2 y3 e s0 s1
utasítás végrehajtás - kapuk vezérlése 1. utasítás elérés k4,k0,k1,k2 2. operandus elérés k3,k0,k1,k7 3. utasítás végrehajtás k5,k9 4. következő... ... utasítástól függően címsín k4 k0 vezérlő k8 PC k6 k3 ALU k9 MEM k5 MK OP ACC TMP k1 k2 k7 adatsín
Kapuk vezérlése megfelelő sorrendben 1. utasítás elérés k4,k0,k1,k2 2. operandus elérés k3,k0,k1,k7 3. utasítás végrehajtás k5,k9 4. következő... ... demultiplexer az utasítás lépései clk k0 k1 k2 k3 k4 k5 ... ... MK ... ... ... a megfelelő utasítás számláló demultiplexer
Mikroprogramozott vezérlő műveleti kód MAR mikro program tár következő mikro utasítás címe mikro utasítás ... vezérlő jelek
Mikroprogramozott vezérlő programja (példa) 1. utasítás elérés k4,k0,k1,k2 2. operandus elérés k3,k0,k1,k7 3. utasítás végrehajtás k5,k9 4. következő... ... mikro program tár műveleti kód ... 1110100000 110 01 1101000100 110 10 0000010001 110 11 ... ... 110 00 110 01 110 10 110 11 mikro utasítás k0123456789 memória címek következő mikro utasítás címe vezérlő jelek
Huzalozott: gyorsabb egyszerűbb Mikroprogramozott: lassabb (ROM kiolvasás) emuláció kompatibilitás speciális utasítások pld. : IBM 370,VAX 11, MC68000 Huzalozott és mikroprogramozott vezérlők összehasonlítása
Regiszterek szerinti osztályozás • Általános regiszter készletű • Akkumulátoros • Verem alapú
Regiszterek • Általános célú regiszterek • Dedikált (speciális célú) regiszterek • státusz regiszter (Status Register SR / Program Status Word PSW) • utasítás regiszter (Instruction Register IR) • utasítás számláló (Program Counter PC) • verem mutató (Stack Pointer SP)