Download - Protsessori ja mälu osa andmetöötluses
![Page 1: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/1.jpg)
04/21/23 T. Evartson 1
Protsessor (CPU-Central Processing Unit)
Andmed &programm
CPU
Sisend
väljund
Andmed
Käsud
Mälu
Protsessori ja mälu osa andmetöötluses
ALURegistridRegisters
Juht automaatControl Unit
CPU
Mälu (Memory System)
KäsudInstructions
AndmedData
Sisend/väljund (Input/output)
Operatsioon automaat (Datapath)
![Page 2: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/2.jpg)
04/21/23 T. Evartson 2
![Page 3: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/3.jpg)
04/21/23 T. Evartson 3
Kõrgtaseme keelHigh-level language
If n<100 then a:= b else v[i]:=k[j-1]
end;
Assembler keelAssembly language
ADD a,b,cMOV d, MXOR c,d
MasinkoodBinary machinelanguage
00110111001110110001100101001111010000010111110000011100
Kõrgtaseme keel-assembler-masinkood
![Page 4: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/4.jpg)
04/21/23 T. Evartson 4
Andmed &programm
Aadress
Andmed
Lug./kirj.
Mälu
Käsk 1
Käsk 2
Käsk 3
Andmed
Andmevahetus mäluga
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Andmed
Aadress
Mälu aadressi ja andmete registrid
![Page 5: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/5.jpg)
04/21/23 T. Evartson 5
Käsuloendur (PC)
Inc. (+1)
Mälu
Käsk 1
Käsk 2
Käsk 3
Andmed
Järjestikuste käskude lugemine käsuloenduri (PC) aadressi järgi
Aadress
Käsuloendur Program Countrer, Instruction Pointer
![Page 6: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/6.jpg)
04/21/23 T. Evartson 6
Käsukood
Käsuregister (IR)
Dekooder
Aadress/Operand
OR ADD MUL
Käsu register ja käsu dekodeerimine
![Page 7: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/7.jpg)
04/21/23 T. Evartson 7
Käsuloendur (PC)
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsukood Aadress
Juht-automaat
(CU)
Käsu dekooder
Juhtsignaalid
Andmed
Aadressid
Käsu täitmise juhtimine
Inc. (+1)
IR
![Page 8: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/8.jpg)
04/21/23 T. Evartson 8
Mälujaotus ilma siirdekäskude ja vahetute operandide, ning otsese adresseerimiseta
Käsk1
Käsk2
Käsk 3
Käsk4
Käsk 5
Käsuloendur
![Page 9: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/9.jpg)
04/21/23 T. Evartson 9
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsuregister(IR)
Käsukood Aadress
Juht-automaat
(CU)
Käsu dekooder
Juhtsignaalid
Andmeregistrid(registermälu)
ALU
Andmed Aadressid
Käsuloendur (PC)
Inc. (+1)
Lippude register
Protsesor ilma vahetute operandide ja siirde käskudeta
Juhtimine
![Page 10: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/10.jpg)
04/21/23 T. Evartson 10
Käsukoodilaadimine
(Fetch)
Käsuloendurimodifitseerimine
PC: =PC +1Käsu täitmine
Käsukoodidekodeerimine
Käsu täitmise tsükkel ( von Neumanni tsükkel)Fetch – Decode – Execute Cycle
![Page 11: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/11.jpg)
04/21/23 T. Evartson 11
PC M
Käsukoodi dekodeerimine
M IR
PC + 1
.
.
.
.
.
.
.
.
.
. . .
Käsukoodi laadimine(Instruction fetch)
Käsu täitmine(instruction execute)
![Page 12: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/12.jpg)
04/21/23 T. Evartson 12
Käsk1
Käsk2 Siirdekäsk (Branch)
Järgmise käsu aadress
Käsk3
Andmed
Käsk1a
Käsk2a
Mälu jaotus siirdekäskudega programmiga
Käsuloendur
![Page 13: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/13.jpg)
04/21/23 T. Evartson 13
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsuregister(IR)
Käsukood Aadress
Juht-automaat
(CU)
Käsu dekooder
Juht-signaalid
Andmeregistrid(registérmälu)
ALU
Käsuloendur (PC)
Inc. (+1)
Lippude registerSiirde (Branch) tingimus
Järgmisekäsu aadress
Siirdekäsud protsessoris
![Page 14: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/14.jpg)
04/21/23 T. Evartson 14
PC M
Käsukoodi dekodeerimine
M IR
PC + 1
.
.
.
PC M
. . .
Käsukoodi laadimine(Instruction fetch)
Käsu täitmine(instruction execute)Tingimus
Siirdekäsk
Uus PC
01
PC + 1
![Page 15: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/15.jpg)
04/21/23 T. Evartson 15
Käsk1
Käsk2
Operandi aadress
Käsk3
Andmed
Operand
Käsk n
Mälu jaotus operandi otsese adresserimisega käsu koral
Käsuloendur
![Page 16: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/16.jpg)
04/21/23 T. Evartson 16
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsuregister(IR)
KäsukoodOperandiaadress
Juht-automaat
(CU)
Käsu dekooder
Juht-signaalid
Andmeregistrid(registérmälu)
ALU
Käsuloendur (PC)
Inc. (+1)
Lippude registerSiirde (Branch) tingimus
Operandiaadress
Käsukoodiga antakse koos operandi aadress
![Page 17: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/17.jpg)
04/21/23 T. Evartson 17
PC M
Käsukoodi dekodeerimine
M IR
PC + 1
.
.
.
PC M
. . .
Käsukoodi laadimine(Instruction fetch)
Käsu täitmine(instruction execute)
Otsese adresseerimisegakäsk
M IR
PC + 1. . .
. . .
![Page 18: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/18.jpg)
04/21/23 T. Evartson 18
Mälu jaotus vahetu operandiga käskude korral
Käsk1
Käsk2
Operand
Käsk3
Käsk4
Käsk n
Käsuloendur
![Page 19: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/19.jpg)
04/21/23 T. Evartson 19
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsuregister(IR)
KäsukoodOperand(Aadress)
Juht-automaat
(CU)
Käsu dekooder
Juht-signaalid
Andmeregistrid(registérmälu)
ALU
Käsuloendur (PC)
Inc. (+1)
Lippude registerSiirde (Branch) tingimus
Operand
Vahetu operandiga käsud
![Page 20: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/20.jpg)
04/21/23 T. Evartson 20
PC M
Käsukoodi dekodeerimine
M IR
PC + 1
.
.
.
PC M
. . .
Käsukoodi laadimine(Instruction fetch)
Käsu täitmine(instruction execute)
Vahetu operandigakäsk
M IR
PC + 1. . .
. . .
![Page 21: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/21.jpg)
04/21/23 T. Evartson 21
Operatsioonautomaat - vahetu andmete teisendaja (Data path)
Registermälu
ALU
Register 1
Register 2
Register 3
Register nOpe-rand 1
Ope-rand 2
Resultaat
Andmedmälust ja
I/O seadmetest
Lippude register (Flags)
Operatsioonautomaat
![Page 22: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/22.jpg)
04/21/23 T. Evartson 22
Mälu
Mälu aadressiregister (MAR)
Mälu puhverregister (MBR)
Käsuregister(IR)
KäsukoodOperand(Aadress)
Juht-automaat
(CU)
Käsu dekooder
Juht-signaalid
Andmeregistrid(registérmälu)
ALU
Käsuloendur (PC)
Inc. (+1)
Lippude registerSiirde (Branch) tingimus
Järgmisekäsu aadress
Operand
Operandiaadress
Protsessori üldstruktuur
![Page 23: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/23.jpg)
04/21/23 T. Evartson 23
![Page 24: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/24.jpg)
04/21/23 T. Evartson 24
![Page 25: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/25.jpg)
04/21/23 T. Evartson 25
Milline käsktäidetakse
Juhtsignaalidprotsessorieri osadele
Tagaiside protsessorieri osadest
Juhtautomaat (CU)
Jäiga loogikaga juhtautomaat Hard Wired
![Page 26: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/26.jpg)
04/21/23 T. Evartson 26
Kombinarsioonskeemid (Combinational Circuits)
Boole`ifunktsioon
x 1
x 2
x n
y
y = f (x1,x2,… xn)
Teades sisendite loogilisi väärtusiantud ajahetkel saame vastava Boole`ifunktsiooni kaudu arvutada väljundiväärtuse. Puudub sõltuvus eelmistestsisendite väärtustest.
Järjestikskeemid (Sequential Circuits)
Boole`ifunktsioon +
olek
x 1
x 2
x n
y
Selleks, et määrata väljundi väärtust antud ajahetkel on vaja teada sisenditeväärtusi antud ajahetkel ja olekut mis sõltub eelmistest sisendite väärtustest.Taktsisendi t kaudu määratakse millal toimub üleminek ühest olekust teise.
tVäljund
funktsioon
Üleminekufunktsioon
Mälu
x 1
x ny
Vana olek
t
Uus olek
am as
![Page 27: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/27.jpg)
04/21/23 T. Evartson 27
Yj=fv(as,Xi)
am=fü(as,Xi)
Mälu
t
Xi
Ergutusmis viibolekusse
am
Praeguseolekukood
as
Yj
Mealy automaadi struktuur
![Page 28: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/28.jpg)
04/21/23 T. Evartson 28
Algus
Start
y1
x
Lõpp
y1, y3
y2
y2
0
0
1
1
a1
a1
a3
a2
a1
a1
a1
start/-
start/y1
x/y2
x/y1, y3
-/y2
![Page 29: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/29.jpg)
04/21/23 T. Evartson 29
Yj=fv(as,Xi)
am=fü(as,Xi)
Mälu
t
Xi
Ergutusmis viibolekusse
am
Praeguseolekukood
as
Yj
Moore automaadi struktuur
![Page 30: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/30.jpg)
04/21/23 T. Evartson 30
Algus
x
Lõpp
y1 y2
y1
01
a1
a2
a3a4
a1
a1-
a2y1
a3y2
a4y1
-
x
x
x
x
![Page 31: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/31.jpg)
04/21/23 T. Evartson 31
Aadressi generaator
Aadressi register
Püsimälu(mikroprogrammi mälu)
Käsuregister
Tingimused {X}
Tingimusevalik
Järgmise sõnaaadress
Juhtsignaalid {Y}
t
![Page 32: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/32.jpg)
04/21/23 T. Evartson 32
![Page 33: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/33.jpg)
04/21/23 T. Evartson 33
![Page 34: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/34.jpg)
04/21/23 T. Evartson 34
Algus
x
Lõpp
y2 y3
y1
01
a1
a2
a4a3
a1
a1-
a2y1
a3y2
a4y3
-
x
x
00
01
10
11
-
![Page 35: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/35.jpg)
a11 a0
1 a12 a0
2 x` y1 y2 y3 Olek 0 0 0 1 - - 0 0 0 0 a1 0 1 1 1 1 0 1 1 0 0 a2 1 0 0 0 - - 0 0 1 0 a3 1 1 0 0 - - 0 0 0 1 a4
04/21/23 T. Evartson 35
s
0
1
s
0
1
&
x
y1
y2
y3
TT
cR
D
TT
cR
D
Aadress
a0
a1
tR
AadressA1
AadressA2
Väljundid{Y}
Tingimused{X}
Püsimälu
![Page 36: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/36.jpg)
04/21/23 T. Evartson 36
Käsukood Käsuregister (IR)Aadress/Operand
Mikrokäsuloendur
INC.(+1)
Mikroprogrammi mälu(tavaliselt püsimälu)
Aadress
Andmed
Protsessorijuhtimine
Protsessorisseteistesse komponentidesse
Järgmisekäsuaadress
Laadi-mine/inc
Tingimusevalik
MUXTingimused protsessorist
CLK
Mikroprogrammeeritav juhtautomaat
![Page 37: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/37.jpg)
04/21/23 T. Evartson 37
A
B
D
C
TMP2TMP1
ALULipud
V P
Y
TMP2:=BTMP2:=CTMP2:=D
TMP2:=ATMP1:=BTMP1:=CTMP1:=D
TMP1:=A
B:=EC:=ED:=E
A:=E
E Laadida E
LaadidaTMP2
LaadidaTMP1
{AND, OR, SHL1,SHR1, +, INC, DEC, ...}
![Page 38: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/38.jpg)
04/21/23 T. Evartson 38
C:=0
D:=0
B:=R1(B)
B(0)=0
D:=D+1
01
C:=R1(C)
C:=C+A
D=40 1
![Page 39: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/39.jpg)
04/21/23 T. Evartson 39
PC M
Käsukoodi dekodeerimine
M IR
PC + 1
.
.
.
TMP1:=ALaadida TMP1
. . .
Käsukoodi laadimine(Instruction fetch)
TMP2:=BLaadida TMP2
ADD A,B,C
ALU : liitmineLaadida E
C := E
ALU : const =0Laadida E
C:=E
MUL A,B,C
ALU : const =0Laadida E
D := E
![Page 40: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/40.jpg)
04/21/23 T. Evartson 40
ISA (Instruction Set Architecture Level)
MikroprogrammMicroprogram control
Hardware
RISC - Reduced Instruction Set Computer
ISA (Instruction Set Architecture Level)
Hardware
CISC - Complex Instruction Set Computer
RISC ja CISC protsessorite erinevus
![Page 41: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/41.jpg)
04/21/23 T. Evartson 41
![Page 42: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/42.jpg)
04/21/23 T. Evartson 42
RISC protsessori projekteerimise põhimõtted
suhetliselt vähe käske (eelistatavalt alla 100) ja vältida
tuleb keerulisi käske vähe adresseerimise viise (eelistatavalt üks või kaks) vähe erinevaid käsu formaate (eelistatavalt üks või kaks),
et kiiredada dekodeerimist kõik käsud tuleb täita otse riistvaras ühe taktiga, ilma
mikroprogrammita maksimaalne käskude täitmise kiirus, mis viib
paralleelsuseni ainult LOAD ja STORE käsud pöörduvad mälu poole võimas register mälu (ulatudes32 kuni 132-ni), et
võimalikult palju oleks register-register tüüpi käske ja vähe pöördumisi mälu poole
jäiga loogikaga (hardwired) juhtautomaat, mis võib ka tehnoloogia arenedes asenduda mikroprogrammeeritavaga
efektiivne andmevahetus alamprogrammidega effektiivne käskude järjekorra juhtimine (siirded ja
alamprogrammid)
![Page 43: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/43.jpg)
04/21/23 T. Evartson 43
![Page 44: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/44.jpg)
04/21/23 T. Evartson 44
IF Instruction Fetch (Käsu laadimine)+Instruction DecodeOF Operand Fetch (Operandi laadimine)OE Operand Execute ( Operatsioni täitmine ALU-s)OS Operand Store ( Resutaadi salvestamine)
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
Takt 1 Takt 8Takt 2 Takt 7Takt 3 Takt 6Takt 4 Takt 5Käsk
1
2
3
4
5
Konveieriga programmi täitmine (Pipeline)
Programmi täitmine ilma konveierita
IF OF OE OS IF OF OE OS IF
1. käsk 2. käsk
Konveier I Pipeline
![Page 45: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/45.jpg)
04/21/23 T. Evartson 45
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
IFU IR
Reg.
ALU
A B
C
Käsk 1 Käsk 2 Käsk 3
![Page 46: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/46.jpg)
Siirdekäsu mõju konveieri tööle
04/21/23 T. Evartson 46
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
i-1
i
i+1
i+2
n
BRA to n
ń+1 IF OF OE OS
BUBBLE
![Page 47: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/47.jpg)
Viivitusega siire programmis ( Delayed Branch)
04/21/23 T. Evartson 47
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
IF OF OE OS
i-1
i
i+1
i+2
n
BRA to n
ń+1 IF OF OE OS
Uue aadressi arvutamine toimub käsu täitmise ajal
Käsk täidetakse väljaspooljärekorda
![Page 48: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/48.jpg)
04/21/23 T. Evartson 48
IFADD A,B,C
OFGet A,B
OEA + B
OSC:=A+B
IFSUB C,B,D
OFGet C,B
OEC - B
BUBBLE
Andmete edastus otse
IFADD A,B,C
OFGet A,B
OEA + B
OSC:=A+B
IFSUB C,B,D
OFGet C,B
OEC - B
C
OSD:=C-B
OSD:=C-B
Andmete sõltuvus ja konveier
![Page 49: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/49.jpg)
04/21/23 T. Evartson 49
IF OF OE OS
IF OF OE OS
Takt 1
Takt 8
Takt 2
Takt 7
Takt 3
Takt 6
Takt 4
Takt 5Käsk
1
2
3
4
IF OF OE OS
IF OF OE OS
Tühjad taktid
Laadimise käsu mõju konveierile
![Page 50: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/50.jpg)
04/21/23 T. Evartson 50
b
d
c
a
SiirdekäskBranch Inst.
Ei ole siirdekäsknot Branch Inst
Siire toimubBranch taken
ÕIGESiiret eeldati ja tuliPredict takenbranch taken
VALESiiret eeldati aga siiret ei tulnudPredict takenbranch not taken
VALESiiret ei eeldatud siire tuliPredict not takenbranch taken
ÕIGESiiret ei eeldatud ja ei tulnudPredict not takenbranch not taken
p b
1-p b
p t
p c
1-p t
1-p c
1-p c
p c
C ave = a(pt pc)+b(1-pt)(1-pc)++c pt(1-pc)+d(1-pt)pc
Hargnemiste ennustamine I ( Branch Prediction)
![Page 51: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/51.jpg)
04/21/23 T. Evartson 51
Hargnemiste ennustamine II
Strateegiad :1. Fikseeritud hargnemiste ennustamine Fixed Branch Prediction2. Staatiline hargnemiste ennustamine Static Branch Prediction3. Dünaamiline hargnemiste ennustamine Dynamic Branch Prediction
00Ennustus:
hargnemist eitule
01Ennustus:
hargnemist eitule
11Ennustus:
hargnemine
10Ennustus:
hargnemine
Hargnemine
Hargnemine
Hargnemine
Hargnemist ei tulnud
Hargnemist ei tulnud
Hargnemist ei tulnud
Hargnemist ei tulnud
Hargnemine
b1 b2
Ennustus Hargnemine
![Page 52: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/52.jpg)
04/21/23 T. Evartson 52
a) Säilitatakse kaks ennustuse bitti igale hargnemise käsule. Töötab kui aadress kuhu juhtimine läheb on käsukoodi juures.b) Kui hargnemise koha aadress selgub alles käsu täitmise ajal eeldatakse, et hargneminetoimub sina kuhu eelmisel korral. Ilma selle aadressita ei saaks käivitada konveierit sellest harust.
![Page 53: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/53.jpg)
04/21/23 T. Evartson 53
Siirdekäsuaadress
Ennustuse bitid
b1 b2Kehtivuse
bit
.
.
.
Siirdekäsuaadress
Ennustuse bitid
b1 b2Kehtivuse
bit
.
.
.
.
.
.
Siirdeaadress
![Page 54: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/54.jpg)
04/21/23 T. Evartson 54
Käsu taseme paralleelsus Instruction-Level Parallelism
Konveier Pipeline
S1Käsu
laadimine
S2Käsudeko-
deerimine
S3Operandidelaadimine
S4Käsu
täitmine
S5Resultadisalvesta-
mine
1
1
1
1
1
2
2
2
2
2
3
3
3
3
4
4
4
5
5S1
S3
S2
S5
S4
Aeg
SISD - Single Instruction Single Data-stream
![Page 55: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/55.jpg)
04/21/23 T. Evartson 55
Protsessori töö kiirendamine
IF OF OE OS
IF OF OE OS
Takt 1
Takt 2
Takt 3
Takt 6
Takt 4
Takt 5Käsk
1
2
3IF OF OE OS
IF1
Takt 1
Takt 2
Takt 3
Takt 6
Takt 4
Takt 5Käsk
1
2
3
4
5
IF2
OF1
OF2
OE1
OE2
OS1
OS2
IF1
IF2
OF1
OF2
OE1
OE2
OS1
OS2
IF1
IF2
OF1
OF2
OE1
OE2
OS1
OS2
IF1
IF2
OF1
OF2
OE1
OE2
OS1
OS2
IF1
IF2
OF1
OF2
OE1
OE2
OS1
OS2
Super konveieriga protsessor. (Superpipelined Processor)
Väga pika käsuga arhitektuur. (Very Long Instruction Word Architecture -VLIW )
![Page 56: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/56.jpg)
Protsessori töö kiirendamine
04/21/23 T. Evartson 56
Superskalaarne arhitektuur Superscalar Architestures.
Käsudeko-
deerimine
Operandidelaadimine
Käsutäitmine
Resultadisalvesta-
mineKäsu
laadimineKäsudeko-
deerimine
Operandidelaadimine
Käsutäitmine
Resultadisalvesta-
mine
Käsudeko-
deerimine
Operandidelaadimine
Operatsioontäisarvuga
Resultadisalvesta-
mine
Käsulaadimine
Operatsioontäisarvuga
Operatsioonujukomaarvuga
Operatsioonujukomaarvuga
Spekulatiivne täitmine. (Speculative Execution)
Data Speculation(Read-After-Write,Write-After-Read, Write-After-Write)
Control Speculation
![Page 57: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/57.jpg)
04/21/23 T. Evartson 57
Protsessori töö kiirendamine
SIMD - Single Instruction Multiple Data-stream Architecture
x4 x1x2x3
y4 y1y2y3
x4 op y4 x1 op y1x2 op y2x3 op y3
op op op op
I
![Page 58: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/58.jpg)
04/21/23 T. Evartson 58
Ps Ps
Pp
Pp
Pp
Pp
Pp
Pp Lõpp
f 1-f
Järjestikosa
Paralleliseeritavosa
T
f 1-f
.
.
.
fT (1-f)T/n
Üks CPUaktiivne
n CPU-daktiivsed
Kiirus
CPU-de arv
Paralleelarvutid Parallel Computer Architectures
![Page 59: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/59.jpg)
04/21/23 T. Evartson 59
Arvutid
SISD
KonveierPipeline
Mitme ALU-ga
SuperscalarArchitecture
MISDSIMD MIMD
Vektorprotsessor
VectorProcessor
Maatriksprotsessor
ArrayProcessor
Konveierprotsessorid
Pipeline Processors
Multi-protsessor
Multiprocessors
MultiarvutiMulticomputers
UMAUniformMemory
Acess
Bus Switched
COMACashe Only
MemoryAcess
NUMANonUniform
MemoryAcess
MPPMassivelyParallel
Processors
NOWNetwork of
Worksations
CC-NUMA NC-NUMAVõrkGrid
HüperkuupHypercube
Shared memory Message passing
Klassifikatsioon (Flynn´s taxonomy)
![Page 60: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/60.jpg)
04/21/23 T. Evartson 60
Protsessori tasandi parlleelsus Processor-Level ParallelismMaatriksprotsessor Array Processor
Mälu
Protsessor
JuhtautomaatControl Unit
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Mälu
Protsessor
Vektorprotsessor Vector Processor
ALUALU
ALU
Sisendvektorid
Vektor ALU
SIMD - Single Instruction Multiple Data-stream
![Page 61: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/61.jpg)
04/21/23 T. Evartson 61
MISD – Multi Instruction Single Data
Mälu
CU 1 CU 2 CU n...
Protsessor 1 Protsessor 1 Protsessor 1
Data
...
DataInstructions
![Page 62: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/62.jpg)
04/21/23 T. Evartson 62
Multiprotsessor Multiprocessor
Mälu
CPU
CPU CPU
CPU
CPU CPU
CPU CPU
Multiarvuti Multicomputer
Message-passing
interconnectionnetwork
CPU
CPU CPU
CPU
CPU CPU
CPU CPU
Mälu
Mälu
Mälu Mälu
Mälu
Mälu
MäluMälu
Multiprotsessor- Multiarvuti MIMD- Multiple Instruction Multiple Data-stream
![Page 63: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/63.jpg)
04/21/23 T. Evartson 63
![Page 64: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/64.jpg)
04/21/23 T. Evartson 64
Probleemid:1. Mälu.2. Paraleliseeritavus.3. Energia tarve.
![Page 65: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/65.jpg)
04/21/23 T. Evartson 65
Tuumade arv
Nimetus Näited
1 single-core 2 dual-core AMD
Phenom II X2, Intel Core Duo
3 tri-core 4 quad-core AMD
Phenom X4, Intel
Core i5 750,
760, 750s
5 penta-core 6 hexa-core AMD
Phenom X6, Intel
i7 Extreme Edition 980X
7 hepta-core 8 octa-core Intel
Xeon E7-2820,
AMD FX-8350
9 nona-core 10 deca-core Intel
Xeon E7-2850
12 dodeca-core
![Page 66: Protsessori ja mälu osa andmetöötluses](https://reader037.vdocuments.site/reader037/viewer/2022102622/5681409b550346895dac3f5b/html5/thumbnails/66.jpg)
04/21/23 T. Evartson 66
MPPs - Massively Parallel Processors
CPU CPU. . . Mälu
DiskI/O
CommunucationProcessor
CPU CPU. . . Mälu
DiskI/O
CommunucationProcessor
High-prformance interconnection network
NOW - Network of WorkstationsCOW - Cluster of Workstations
ComputerComputer Computer
PacketPacket
Message-Passing Multicomputers