Szmtgpek felptse 4 elads ALU megvalstsa vezrl egysg

  • Slides: 40
Download presentation
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 1

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 1

4. előadás tartalma • ALU áramköri megvalósítása – logikai áramkörök – összeadó áramkörök •

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 2

A központi feldolgozó egység • • feladata, kapcsolata a többi egységgel részei, felépítése működése

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) 3

Az aritmetikai logikai egység működése, megvalósítása Arithmetical Logical Unit - ALU 4

Az aritmetikai logikai egység működése, megvalósítása Arithmetical Logical Unit - ALU 4

Cél : A szükséges aritmetikai és logikai műveletek (+ - AND XOR) megvalósítása Módszer

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. . . 5

A B A „és” B A „vagy” B A kapcsolók mozgatása ? A B

A B A „és” B A „vagy” B A kapcsolók mozgatása ? A B (A B) C D 6

Elemi logikai kapuk AND x 0 0 1 1 y 0 1 x y

Elemi logikai kapuk AND x 0 0 1 1 y 0 1 x y OR x. y 0 0 0 1 x. y & x. y x 0 0 1 1 y 0 1 x y NOT x+y 1 x 0 1 x+y 0 1 1 1 x+y -x 1 0 x x -x 1 -x 7

Logikai kapuk NAND x 0 0 1 1 x y y 0 1 XOR

Logikai kapuk NAND x 0 0 1 1 x y y 0 1 XOR x NAND y 1 x 1 0 0 1 1 x y NOR y 0 1 x NOR y 1 0 0 0 x 0 0 1 1 y 0 1 x XOR y 0 1 1 0 x y 8

Multiplexer (2 bemenetű) s 0 0 1 z d 0 d 1 d 0

Multiplexer (2 bemenetű) s 0 0 1 z d 0 d 1 d 0 z d 1 d 0 d 1 MUX s 0 z s 0 9

Multiplexer (4 x 2 bemenetű) s x 3 y 3 MUX z 3 x

Multiplexer (4 x 2 bemenetű) s x 3 y 3 MUX z 3 x 2 y 2 MUX z 2 x 1 y 1 MUX z 1 x 0 y 0 MUX z 0 10

Multiplexer (4 bemenetű) s 1 0 0 1 1 s 0 0 1 d

Multiplexer (4 bemenetű) s 1 0 0 1 1 s 0 0 1 d 0 d 1 d 2 d 3 z d 0 d 1 d 2 d 3 MUX s 0 s 1 d 0 d 1 MUX d 2 d 3 z z MUX s 0 s 1 11

4 bites logikai függvények (AND, XOR) áramkör x 3 y 3 MUX z 3

4 bites logikai függvények (AND, XOR) áramkör x 3 y 3 MUX z 3 x 2 y 2 MUX z 2 x 1 y 1 MUX z 1 x 0 y 0 MUX z 0 s 12

2 bit összeadása Reprezentáció… 0+0=0 0+1=1 1+0=1 1+1=… 13

2 bit összeadása Reprezentáció… 0+0=0 0+1=1 1+0=1 1+1=… 13

Félösszeadó (1 bites) bemenet x y 0 0 0 1 1 kimenet s c

Félösszeadó (1 bites) bemenet x y 0 0 0 1 1 kimenet s c 0 0 1 s = sum (összeg) c = carry (átvitel) x XOR y x y 1/2+ s c 14

2 több-bites szám összeadása 1000 +0110 1100 1011 +0110 10001 15

2 több-bites szám összeadása 1000 +0110 1100 1011 +0110 10001 15

Teljes-összeadó (1 bites) bemenet x y cin 0 0 0 1 1 1 0

Teljes-összeadó (1 bites) bemenet x y cin 0 0 0 1 1 1 0 0 1 1 1 kimenet x s cout y 0 0 1 0 cin 1 0 0 1 0 1 1 1 cin = carry in cout = carry out 1/2+ s cout x y cin 1+ s cout 16

4 bites teljes összeadó („terjedő átvitel”, ripple carry) y 3 x 3 1+ c

4 bites teljes összeadó („terjedő átvitel”, ripple carry) y 3 x 3 1+ c 4 y 2 x 2 c 3 1+ y 1 x 1 c 2 1+ y 0 x 0 c 1 c 0 1+ s 3 s 2 s 1 s 0 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 cin 4 bites összeadó cout s 3 s 2 s 1 s 0 17

Kivonás kettes komplemenssel 5 0101 +2 +0010 7 0111 2 0010 -2 1101 egyes

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 1 0011 kivonás 18

4 bites összeadó/kivonó áramkör x 3 x 2 x 1 x 0 y 3

4 bites összeadó/kivonó áramkör x 3 x 2 x 1 x 0 y 3 MUX y 2 MUX A 4 bites teljes összeadó C z 3 z 2 z 1 z 0 B y 1 MUX y 0 MUX s cin cout 19

4 bites 4 műveletes ALU 4 x 4 y aritmetikai egység (+/-) 4 4

4 bites 4 műveletes ALU 4 x 4 y aritmetikai egység (+/-) 4 4 x 2 bemenetű multiplexer 4 logikai egység (AND/XOR) 4 4 4 s 0 s 1 20 z

Buszok (sínek) • Adatsín • Címsín • Vezérlő sín • külső / belső sínek

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 21

„Kapuzás”, vezérlés, 3 állapotú kimenet „A” egység „B” egység „C” egység RA WB WC

„Kapuzás”, vezérlés, 3 állapotú kimenet „A” egység „B” egység „C” egység RA WB WC sín 23

Kétirányú busz x 1 „egység” x 2 xn y 1 y 2 yn C

Kétirányú busz x 1 „egység” x 2 xn y 1 y 2 yn C „sín” 24

A vezérlő egység Control Unit - CU 25

A vezérlő egység Control Unit - CU 25

A vezérlő egység feladata, működése A vezérlő feladata : az adott utasítás alapján a

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 26

Egy töltő utasítás elemi lépései (példa) LDA X azaz (X) -> AC : •

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 27

Huzalozott vezérlő egység megvalósítása 28

Huzalozott vezérlő egység megvalósítása 28

Számláló reset CLK q 0 q 1 2 bites számláló q 1 0 0

Számláló reset CLK q 0 q 1 2 bites számláló q 1 0 0 1 1 q 0 0 1 0 1 CLK 1 0 1 0 29 1

Demultiplexer (1 ből 4) bemenet e s 1 s 0 0 x x 1

Demultiplexer (1 ből 4) bemenet e s 1 s 0 0 x x 1 0 0 1 1 1 kimenet y 0 y 1 y 2 0 0 0 1 0 0 0 y 3 0 0 1 e y 0 y 1 y 2 y 3 1 ből 4 demultiplexer s 0 s 1 30

utasítás végrehajtás - kapuk vezérlése 1. 2. 3. 4. utasítás elérés operandus elérés utasítás

utasítás végrehajtás - kapuk vezérlése 1. 2. 3. 4. utasítás elérés operandus elérés utasítás végrehajtás következő. . . k 0 k 6 ALU MEM k 1 k 4, k 0, k 1, k 2 k 3, k 0, k 1, k 7 k 5, k 9. . . címsín vezérlő k 8 k 9 k 5 ACC utasítástól függően k 4 k 3 PC MK OP TMP k 7 k 2 adatsín 31

Kapuk vezérlése megfelelő sorrendben 1. 2. 3. 4. demultiplexer clk MK . . .

Kapuk vezérlése megfelelő sorrendben 1. 2. 3. 4. demultiplexer clk MK . . . utasítás elérés operandus elérés utasítás végrehajtás következő. . . az utasítás lépései. . . a megfelelő utasítás számláló demultiplexer k 4, k 0, k 1, k 2 k 3, k 0, k 1, k 7 k 5, k 9. . . k 0 k 1. . . k 2 k 3 k 4 k 5 32. . .

Mikroprogramozott vezérlő egység megvalósítása 33

Mikroprogramozott vezérlő egység megvalósítása 33

Mikroprogramozott vezérlő műveleti kód MAR mikro program tár mikro utasítás. . . vezérlő jelek

Mikroprogramozott vezérlő műveleti kód MAR mikro program tár mikro utasítás. . . vezérlő jelek következő mikro utasítás címe 34

Mikroprogramozott vezérlő programja 1. 2. 3. 4. utasítás elérés operandus elérés utasítás végrehajtás következő.

Mikroprogramozott vezérlő programja 1. 2. 3. 4. utasítás elérés operandus elérés utasítás végrehajtás következő. . . műveleti kód 110 00 110 01 110 10 11 memória címek k 4, k 0, k 1, k 2 k 3, k 0, k 1, k 7 k 5, k 9. . . 1110100000 110 01 110100 110 10 000001 110 11. . . k 0123456789 vezérlő jelek (példa) mikro program tár mikro utasítás következő 35 mikro utasítás címe

Huzalozott és mikroprogramozott vezérlők összehasonlítása Huzalozott: • gyorsabb • Egyszerűbb ? Mikroprogramozott: • lassabb

Huzalozott és mikroprogramozott vezérlők összehasonlítása Huzalozott: • gyorsabb • Egyszerűbb ? Mikroprogramozott: • lassabb (ROM kiolvasás) • emuláció • kompatibilitás • speciális utasítások • pld. : IBM 370, VAX 11, MC 68000 36

Regiszterek 37

Regiszterek 37

Regiszterek szerinti osztályozás • Általános regiszter készletű • Akkumulátoros • Verem alapú 38

Regiszterek szerinti osztályozás • Általános regiszter készletű • Akkumulátoros • Verem alapú 38

Regiszterek • Általános célú regiszterek • Dedikált (speciális célú) regiszterek – státusz regiszter (Status

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) 39

Összefoglalás 40

Összefoglalás 40