számítógépek felépítése 4. előadás alu megvalósítása, vezérlő egység
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
1
Számítógépek felépítése4. előadás
ALU megvalósítása, vezérlő egység
Dr. Istenes Zoltán
ELTE-TTK
2
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
3
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)
4
Az aritmetikai logikai egységműködése, megvalósítása
Arithmetical Logical Unit - ALU
5
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...
6
„és”
„vagy”
7
Elemi logikai kapuk
& 1 1
x y x.y0 0 00 1 01 0 01 1 1
x y x+y0 0 00 1 11 0 11 1 1
AND OR NOT
x -x0 11 0
x
y
x
yxx.y x+y
x
yx.y
x
yx+y x
-x
-x
8
Logikai kapuk
x y x NAND y0 0 10 1 11 0 11 1 0
x y x NOR y0 0 10 1 01 0 01 1 0
NAND
NOR
XOR
x
yx
y
x
y
x y x XOR y0 0 00 1 11 0 11 1 0
9
Multiplexer (2 bemenetű)
s0 z0 d01 d1 z
d0
d1
s0MUXd0
d1z
s0
10
Multiplexer (4x 2 bemenetű)
x3y3
x2y2
x1y1
x0y0
MUX
MUX
MUX
MUX
z3
z2
z1
z0
s
11
Multiplexer (4 bemenetű)
s1 s0 z0 0 d00 1 d11 0 d21 1 d3
MUXd0
d1
z
MUX
MUXd2
d3
s0 s1MUX
d0d1d2d3
s0 s1
z
12
4 bites logikai függvények (AND, XOR)
áramkör x3y3
x2y2
x1y1
x0y0
MUX
MUX
MUX
MUX
z3
z2
z1
z0
s
13
Félösszeadó (1bites)
x
ys
c
x XOR y
x.y
bemenet kimenetx y s c0 0 0 00 1 1 01 0 1 01 1 0 1
s = sum (összeg)c = carry (átvitel)
1/2+x
y
s
c
14
Teljes-összeadó (1bites)bemenet kimenetx y cin s cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
cin = carry incout = carry out
1/2+x
y s
cout
1/2+cin
1+xy
cin
s
cout
15
4 bites teljes összeadó („terjedő átvitel”, ripple carry)
1+
y3 x3
s3
1+
y2 x2
s2
1+
y1 x1
s1
1+
y0 x0
s0
c0
c4
c3 c2 c1
4 bites összeadó
y3 x3 y2 x2 y1 x1 y0 x0 cin
cout s3 s2 s1 s0
16
Kivonás kettes komplemenssel
5 0101
+2 +0010
7 0111
5 0101
-2 +1110
3 0011
2 0010-2 1101 egyes
komplemens
-2 1110 kettes komplemens
összeadás
kivonás
17
4 bites összeadó/kivonó áramkör
x3x2x1x0
y3
y2
y1
y0
MUX
MUX
MUX
MUX
scout
z3z2z1z0
A
B
C
4 bitesteljes
összeadó
cin
18
4 bites 4 műveletes ALU
aritmetikaiegység(+/-)
logikaiegység
(AND/XOR)
x
y
s0s1
4x 2 bemenetűmultiplexer
z
4
4
4
4
4
4
4
19
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
20
„Kapuzás”, vezérlés
sín
„A”egység
„B”egység
„C”egység
RA
WB
WC
21
„sín”
Kétirányú busz
C
x1
y1
x2
y2
xn
yn
„egység”
22
A vezérlő egység
Control Unit - CU
23
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
24
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
adatsín
PCMEM
MDR
MARIRAC „kapuzás”
25
Huzalozott vezérlő egység megvalósítása
26
Számláló
2 bitesszámlálóCLK
reset q0
q1
1 11
1
1 1
1
111
1
1
1
1
1
10
0
0
0
00
0 0
CLK
q0
q1
0 000 00 0
27
Demultiplexer (1 ből 4)
bemenet kimenete s1 s0 y0 y1 y2 y30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1
1 ből 4demultiplexer
y0
y1
y2
y3
s0 s1
e
28
utasítás végrehajtás - kapuk vezérlése
MEM
ALU
ACC TMPOP
PC
MK
vezérlő
címsín
adatsín
k0
k1 k2
k3
k4
k6
k5
k7
k8k9
1. utasítás elérés k4,k0,k1,k22. operandus elérés k3,k0,k1,k73. utasítás végrehajtás k5,k94. következő... ...
utasítástólfüggően
29
Kapuk vezérlése megfelelő sorrendben
...
clk
1. utasítás elérés k4,k0,k1,k22. operandus elérés k3,k0,k1,k73. utasítás végrehajtás k5,k94. következő... ...
a megfelelőutasítás számláló
demultiplexer
k0
k1
k2
k3
k4
k5
...
...
...
...
az utasításlépései
MK
demultiplexer
30
Mikroprogramozott vezérlő egység megvalósítása
31
Mikroprogramozott vezérlő
MAR
vezérlő jelek
következő mikro utasítás címe
mikroprogram tár
mikro utasítás
műveleti kód
...
32
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,k73. utasítás végrehajtás k5,k94. következő... ...
...1110100000 110 011101000100 110 100000010001 110 11... ...
vezérlő jelekkövetkező mikro utasítás címe
műveletikód
k0123456789
110 00 110 01110 10110 11
mikroprogram tár
mikro utasítás
memóriacímek
33
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, MC68000
34
Regiszterek
35
Regiszterek szerinti osztályozás
• Általános regiszter készletű
• Akkumulátoros
• Verem alapú
36
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)
37
Összefoglalás