Professional Documents
Culture Documents
Proçesori
• Proçesori përmban:
Datapath
▪ ALU
▪ Regjistrat
Control unit
1
1/11/2020
Ndërtimi i ALU-së
2
1/11/2020
ALU
• Përmban portat AND, OR, Invertues edhe
Multiplexera
• Nevojitet një ALU me 32 bit
• Supozojmë se ndërtohet nga 32 ALU me 1
bit
3
1/11/2020
Veprimi i Mbledhjes
4
1/11/2020
10
10
5
1/11/2020
11
11
Veprimi slt
• Nëse rs < tr output-i duhet të jetë 1
• Të gjitha bitet duhet të vendosen në 0, përveç bit-it
LSB
• Duhet MUX
4 me 1
12
12
6
1/11/2020
Veprimi slt
• Duhet që input-i Less të vendoset në 0 për 31 bitet e
sipërme.
• Po për bit-in LSB?
13
Output-i
për
veprimin slt Vetëm për
bit-in MSB
14
14
7
1/11/2020
ALU me 32 bit
15
15
Sinjalet e Kontrollit
• Sa herë ka zbritje sinjalet CarryIn dhe Binvert
vendosen në 1.
• Për veprimet add dhe veprimet logjike këto
sinjale vendosen në 0
• Prandaj këto dy sinjale mund të kombinohen
në një sinjal Bnegate
16
16
8
1/11/2020
17
17
ALU e
plotë me
32 bit
18
18
9
1/11/2020
19
19
Kontrolli i ALU-së
• Sinjalet Ainvert, Bnegate dhe dy sinjalet e përzgjedhjes
së MUX përbëjnë katër sinjalet e kontrollit të ALU-së.
Kontrolli i Funksioni
ALU-së Simboli i
0000 AND ALU-së:
0001 OR
0010 add
0110 subtract
0111 slt
1100 NOR
20
20
10
1/11/2020
Kontrolli i ALU-së
• 4 bitet e kontrollit mund të gjenerohen nga një
njësi e vogël kontrolli që ka si input-e fushën funct
të instruksionit edhe 2 bite të tjera kontrolli
(ALUOp)
• ALUOp:
– 00 për Load dhe Store
– 01 për beq
– 10 veprimi do të përcaktohet nga fusha funct
• Përdoren disa nivele dekodimi (njësia e kontrollit
kryesore dhe njësia e kontrollit të ALU-së) sepse
ulet madhësia e CU-së dhe rritet shpejtësia e saj 21
21
Dekodimi me dy nivele
Hapi 1.
Gjenero sinjalin ALUop me dy bit
nga fusha e Opcode me 6 bit.
opcode
Control
6
31:26
Hapi 2.
Gjenero sinjalin
25:21
ALUControl me 4 bit
rs
0000: and
ALU 0001: or
funct
6
5:0
0010: add
Control 0110: sub
0111: set on less than
0110: beq
22
22
11
1/11/2020
Inpute
25
23
T A Y Z T A Y Z T A Y Z
0 0 0 1 0 0 0 1 0 X 0 1
0 0 1 0 0 1 0 1 1 0 X 1
0 1 0 1 1 0 0 1
0 1 1 0 1 0 1 1
1 0 0 1 Z = T' Y' + TA'
1 0 1 1
1 1 0 0
1 1 1 0 25
24
12
1/11/2020
lw 0 0 X X X X X X 0010
sw 0 0 X X X X X X 0010
beq 0X 1 X X X X X X 0110
add 1 0X 1X 0X 0 0 0 0 0010
sub 1 0X 1X 0X 0 0 1 0 0110
and 1 0X 1X 0X 0 1 0 0 0000
or 1 0X 1X 0X 0 1 0 1 0001
slt 1 0X 1X 0X 1 0 1 0 0111
26
25
ALUOp0 (LSB)
ALUcontrol3
ALUOp1 0
(MSB)
ALUcontrol2
F3
ALUcontrol
F2 ALUcontrol1
F(5-0)
F1
ALUcontrol0
F0
26
26
13
1/11/2020
or 016 rs rt rd 0 2516
31 25 20 15 0
lw 2316 rs rd offset
27
27
Njësia e Kontrollit
28
28
14
1/11/2020
29
30
30
15
1/11/2020
31
31
32
32
16
1/11/2020
33
33
34
34
17
1/11/2020
35
35
36
36
18
1/11/2020
37
37
38
38
19
1/11/2020
39
39
Formati R – Faza 1
20
1/11/2020
Formati R – Faza 2
Formati R – Faza 3
21
1/11/2020
Formati R – Faza 4
Regjistrat shkruhen në
43
next clock edge
43
Instruksioni LW – Faza 1
44
22
1/11/2020
Instruksioni LW – Faza 2
Instruksioni LW – Faza 3
23
1/11/2020
Instruksioni LW – Faza 4
Instruksioni LW – Faza 5
Regjistrat shkruhen në
next clock edge 48
48
24
1/11/2020
Referenca
• Libri:
Computer Organization and Design. The
Hardware/Software Interface, 4th Edition
Kapitulli 4 (faqe 316-329)
Shtojca C (faqe C26-C27)
Shtojca D (opsionale)
49
49
FALEMINDERIT!
50
50
25