Arytmetyka binarna
+
0
1
0
0
1
1
1
10
0
1
0
0
0
1
0
1
Wykład IV – p.1/21
Przeka´znik
Wykład IV – p.2/21
Operacje logiczne – NOT
−
+
−
+
Wykład IV – p.3/21
Operacje logiczne – OR
−
+
Wykład IV – p.4/21
Operacje logiczne – AND
Q
P
−
+
Wykład IV – p.5/21
Operacje logiczne – XOR
xor
or
and
not
and
Q
P
Wykład IV – p.6/21
Półsumator
xor
and
P
Q
HA
S
C
Wykład IV – p.7/21
Sumator
HA
HA
C
S
C
P
Q
C
C
S
FA
P
Q
Wykład IV – p.8/21
Układ sumuj ˛
acy
P0
Q1
P1
Q2
P2
Q3
P3
S3
S4
S2
S1
S0
Q0
FA
FA
FA
FA
Wykład IV – p.9/21
Mno˙zenie
1
1
0
1
0
1
1
1
0
0
0
0
+
1
1
0
1
1
1
1
0
Wykład IV – p.10/21
ALU
Jednostka arytmetyczno–logiczna (ALU)
układ sumuj ˛
acy
układ mno˙z ˛
acy
komparator (porównania)
. . .
Wykład IV – p.11/21
Dekoder
Układ steruj ˛
acy procesora
00000001
– pomnó˙z
00000010
– dodaj
bitowo
kod
00000001
ADD
00000010
MUL
00000011
SUB
00000100
DIV
00001000
LOA
Wykład IV – p.12/21
Budowa procesora
DANE
ALU
RR
IP
BUF
wew. magistrala procesora
sterowania
Uk.
A
PSfrag replacements
wewn ˛etrzna magistrala procesora
Wykład IV – p.13/21
Cykl rozkazowy
Faza
rozkazu
rozkazu
Cykl maszynowy
Faza
Cykl instrukcyjny
pobrania
Dekodowanie
pobrania
argumentu
rozkazu
Faza wykonania
Wykład IV – p.14/21
Zapis z jednym operatorem
A
A + x do poprzedniej warto ´sci akumulatora dodaj warto ´s´c x
A
A
x poprzedni ˛
a warto ´s´c akumulatora pomnó˙z przez x,
wynik jest w akumulatorze
Wpisywanie warto´sci do akumulatora
A
x
Przepisywanie zawarto ´sci z akumulatora do pami ˛eci:
A
x
Wykład IV – p.15/21
Wyra˙zenie
w=a+b
c
A
b
A
A*c
A
A + a
Ka˙zda linia opisuje jeden rozkaz procesora.
Ka˙zdy
typ procesora ma inn ˛
a list ˛e rozkazów.
Kody rozkazów wynikaj ˛
a z budowy hardware’owej.
Wykład IV – p.16/21
Lista rozkazów
Nieistniej ˛
acy procesor 8–bitowy
bitowo
kod
00000001
ADD
00000010
MUL
00000011
SUB
00000100
DIV
00001000
LOA
Wykład IV – p.17/21
CISC vs. RISC
CISC – Complete Instruction Set Computer
RISC – Reduced Instruction Set Computer
Wykład IV – p.18/21
Architektura von Neumanna
LOA
b
MUL
c
ADD
a
00001000
01000110
00000010
00100110
00000001
00010000
Cykl rozkazowy
Wykład IV – p.19/21
Architektura harvardzka
Dane:
b
c
a
01000110
00100110
00010000
Rozkazy:
LOA
MUL
ADD
00001000
00000010
00000001
Cykl rozkazowy
Wykład IV – p.20/21
Lista rozkazów
kod
arg
znaczenie
NOP
–
nic nie rób
ADD
adr
A
A +@(adr)
MUL
adr
A
A
@(adr)
SUB
adr
A
A - @(adr)
DIV
adr
A
A / @(adr)
NOT
–
A
Ã
JMPZ
adr
je´sli A jest 0 to skocz do adr
JMP
adr
skocz do adr (IP
adr !!)
LOA
adr
A
@(adr)
HLT
–
koniec
WRIT
adr
A
@(adr)
Wykład IV – p.21/21