Top Banner
ההההה הההה ההההה הההה7 7 הההה ההההההההההה ההההCPE
16

תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer

Jan 05, 2016

Download

Documents

Edmund Evans
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

כיתה כיתה תרגיל 77תרגיל

מחשב לטכנולוגיות מחשב מבוא לטכנולוגיות מבוא

CPE CPE

Page 2: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 2 –

ארכיטקטורה של מעבד מודרני

ארכיטקטורה של מעבד מודרני

ExecutionExecution

FunctionalUnits

Instruction ControlInstruction Control

Integer/Branch

FPAdd

FPMult/Div

Load Store

InstructionCache

DataCache

FetchControl

InstructionDecode

Address

Instrs.

Operations

PredictionOK?

DataData

Addr. Addr.

GeneralInteger

Operation Results

RetirementUnit

RegisterFile

RegisterUpdates

Control Unit (CU)

Arithmetic Logic Unit

(ALU)

Page 3: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 3 –

Pentium IIIהיכולות של Pentium IIIהיכולות של :ניתן להריץ במקביל:ניתן להריץ במקביל

1 load 1 store 2 integer (one may be branch) 1 FP Addition 1 FP Multiplication or Division

Some Instructions Take > 1 Cycle, but Can be Some Instructions Take > 1 Cycle, but Can be PipelinedPipelined

Instruction Latency Cycles/Issue Load / Store 3 1 Integer add 1 1 Integer Multiply 4 1 Integer Divide 36 36

חלקים שונים של אותה פקודה מבוצעים על ידי רכיבים שונים. לכן ניתן לבצע מספר רכיבים של פקודות שונות בו זמנית.

Page 4: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 4 –

לחישוב איברים– CPEדוגמאות מכפלת לחישוב איברים– CPEדוגמאות מכפלת

Page 5: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 5 –

גרף CPEשרטוט גרף CPEשרטוט

CPE = 4

משאבים מגבלת ללא

Page 6: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 6 –

לולאה לולאה פריסת פריסת

- ה פונקציה - באיזו ה פונקציה קטן CPECPEבאיזו יהיה מכפלה חישוב קטן עבור יהיה מכפלה חישוב עבוריותר:יותר:

int funca(int* a, int size) {int funca(int* a, int size) {int result = 1;int result = 1;for (int i=0; i < size; i+=2) {for (int i=0; i < size; i+=2) {

result = result * a[i];result = result * a[i];result = result * a[i+1];result = result * a[i+1];

}}return result;return result;

}}

int funcb(int* a, int size) {int funcb(int* a, int size) {int result1 = 1;int result1 = 1;int result2 = 1;int result2 = 1;for (int i=0; i < size; i+=2) {for (int i=0; i < size; i+=2) {

result1 = result1 * a[i];result1 = result1 * a[i];result2 = result2 * a[i+1];result2 = result2 * a[i+1];

}}return result1*result2;return result1*result2;

} }

- מ מורידה לולאה פריסת של זו CPE=4צורה

Page 7: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 7 –

איברים איברים סכימת סכימת

CPE = 1

Page 8: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 8 –

CPE = 2

משאבים מגבלת תחת איברים משאבים סכימת מגבלת תחת איברים סכימת

Page 9: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 9 –

- ו - CPEפריסה ו CPEפריסה

- ל החיבור לולאת את - נפרוס ל החיבור לולאת את ::33נפרוס

Page 10: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 10 –

חיבור של חיבור פריסה של פריסה

CPE = 1

Page 11: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 11 –

פריסה פריסה תוצאות תוצאות

Page 12: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 12 –

תרגילתרגיל

: הבא הקוד :נתון הבא הקוד נתון

int inner_product (int * u, int * v, int n)int inner_product (int * u, int * v, int n)

{{

int i;int i;

int res=0;int res=0;

for ( i=1 ; i<n ; i++ )for ( i=1 ; i<n ; i++ )

{{

res = res + u[i]*v[i];res = res + u[i]*v[i];

}}

return res;return res;

}}

Page 13: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 13 –

תרגילתרגיל

- מכונה לשפת נתרגם ראשון מכונה - שלב לשפת נתרגם ראשון שלב

int inner_product (int * u, int * v, int n)int inner_product (int * u, int * v, int n)

{{

int i;int i;

int res=0;int res=0;

for ( i=1 ; i<n ; i++ )for ( i=1 ; i<n ; i++ )

{{

res = res + u[i]*v[i];res = res + u[i]*v[i];

}}

return res;return res;

}}

Assembly:Assembly:

move 8(R8), R3move 8(R8), R3

move 12(R8), R2move 12(R8), R2

move 16(R8), R6move 16(R8), R6

.loop:.loop:

move (R2,R4,4),R5move (R2,R4,4),R5

multiply (R3,R4,4),R5multiply (R3,R4,4),R5

add R5,R1 add R5,R1

increment R4increment R4

compare R6,R4compare R6,R4

jl .loopjl .loop

Page 14: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 14 –

תרגילתרגיל

? מריץ - המחשב באמת מה שני ? שלב מריץ - המחשב באמת מה שני שלב

Assembly:Assembly:

.loop:.loop:

move (R2,R4,4),R5move (R2,R4,4),R5

multiply (R3,R4,4),R5multiply (R3,R4,4),R5

add R5,R1 add R5,R1

increment R4increment R4

compare R6,R4compare R6,R4

jl .loopjl .loop

Page 15: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 15 –

תרגילתרגיל

load

load

R4.0

mul

R5.1t.1

addR5.1R1.0

R1.1

inc

cmpR4.1

jmpcc.1

Page 16: תרגיל כיתה 7 מבוא לטכנולוגיות מחשב CPE. – 2 – ארכיטקטורה של מעבד מודרני Execution Functional Units Instruction Control Integer/

– 16 –

load

load

R4.0

mul

R5.1t.1

addR5.1

R1.0

R1.1

inc

cmp

R4.1

jmpcc.1

load

load

mul

R5.2t.2

addR5.2

R1.2

inc

cmpR4.2

jmpcc.2