protsessori ja mälu osa andmetöötluses

66
10/26/22 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 ALU Regist rid Registers Juht automaat Control Unit CPU Mälu (Memory System) Käsud Instructions Andmed Data Sisend/väljund (Input/output) Operatsioon automaat (Datapath)

Upload: harlan

Post on 09-Jan-2016

71 views

Category:

Documents


10 download

DESCRIPTION

Protsessori ja mälu osa andmetöötluses. Protsessor (CPU-Central Processing Unit). CPU. Andmed & programm. Andmed. Mälu. Sisend. väljund. Käsud. Mälu (Memory System). Käsud Instructions. Andmed Data. CPU. ALU. Juht automaat Control Unit. Registrid Registers. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Protsessori ja mälu osa andmetöötluses

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

04/21/23 T. Evartson 2

Page 3: Protsessori ja mälu osa andmetöötluses

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

04/21/23 T. Evartson 23

Page 24: Protsessori ja mälu osa andmetöötluses

04/21/23 T. Evartson 24

Page 25: Protsessori ja mälu osa andmetöötluses

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

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

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

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

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

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

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

04/21/23 T. Evartson 32

Page 33: Protsessori ja mälu osa andmetöötluses

04/21/23 T. Evartson 33

Page 34: Protsessori ja mälu osa andmetöötluses

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

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

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

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

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

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

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

04/21/23 T. Evartson 41

Page 42: Protsessori ja mälu osa andmetöötluses

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

04/21/23 T. Evartson 43

Page 44: Protsessori ja mälu osa andmetöötluses

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

04/21/23 T. Evartson 63

Page 64: Protsessori ja mälu osa andmetöötluses

04/21/23 T. Evartson 64

Probleemid:1. Mälu.2. Paraleliseeritavus.3. Energia tarve.

Page 65: Protsessori ja mälu osa andmetöötluses

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

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