خط لوله ای کردن

Report
‫مهدی ایل بیگی‬
‫دانشگاه پیام نور دماوند‬
‫‪1‬‬
‫خط لوله ای کردن‪ ،‬معمول است‬
‫• پررازش خط ر طلول ر طشی‪،‬طروشرررطرشطارراشیط‬
‫شجاشیطهمزمانطچندطزستورشلعملطاوجروزط‬
‫مرطآورز‪.‬‬
‫• مثالطشستنطلباسطها‪:‬‬
‫• ‪ A, B, D, C‬هاطکدشمطتوزهطشیطش طلباسطرشط‬
‫ااشیطشستن‪،‬ط شکطکرازنطوطتراطکرازنط‬
‫زرطش تیارطزشرند‪.‬‬
‫• شستنط‪ 30‬زقیق ط مانطمرطااز‪.‬‬
‫• شکطکنط‪ 40‬زقیق ط مانطمرطااز‪.‬‬
‫‪2‬‬
‫• شتوطکازنط‪ 20‬زقیق ط مانطنیا طزشرز‪.‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪A‬‬
‫شستن ترتیبی‬
‫نیمه شب‬
‫‪11‬‬
‫‪10‬‬
‫‪8‬‬
‫‪9‬‬
‫‪6‬عصر‬
‫‪7‬‬
‫‪Time‬‬
‫‪20‬‬
‫‪40‬‬
‫‪20 30‬‬
‫‪40‬‬
‫‪20 30‬‬
‫‪40‬‬
‫‪20 30‬‬
‫‪40‬‬
‫‪30‬‬
‫‪A‬‬
‫‪B‬‬
‫‪C‬‬
‫‪D‬‬
‫• شستن ترتیبی ‪ 4‬توده لباس‪ 6 ،‬ساعت زمان می برد‪.‬‬
‫‪3‬‬
‫‪T‬‬
‫‪a‬‬
‫‪s‬‬
‫‪k‬‬
‫‪O‬‬
‫‪r‬‬
‫‪d‬‬
‫‪e‬‬
‫‪r‬‬
‫شستن خط لوله ای شده‪:‬‬
‫نیمه شب‬
‫‪11‬‬
‫‪10‬‬
‫‪8‬‬
‫‪9‬‬
‫‪ 6‬عصر‬
‫‪7‬‬
‫‪Time‬‬
‫‪20‬‬
‫‪40‬‬
‫‪40‬‬
‫‪40‬‬
‫‪40‬‬
‫‪30‬‬
‫‪A‬‬
‫‪T‬‬
‫‪a‬‬
‫‪s‬‬
‫‪k‬‬
‫‪B‬‬
‫‪C‬‬
‫‪D‬‬
‫• شستنط‬
‫‪4‬‬
‫طلول طشیط‪ 4‬توزهطلباس‪،‬ط‪ 3‬ساعتطوطنیمط مانطمرطااز‪.‬‬
‫‪O‬‬
‫‪r‬‬
‫‪d‬‬
‫‪e‬‬
‫‪r‬‬
‫• خط لوله‪ :‬چندین دستورالعمل به طور همزمان در حال اجر هستند‪.‬‬
‫مفهوم‬
‫• خط لوله به بخش ها یا قطعات تقسیم می شود‪.‬‬
‫• چرخه ماشین )‪:(Machine Cycle‬‬
‫– زمان مورد نیاز برای گذر از یک مرحله‬
‫– چرخه ماشین بوسیله کندترین مرحله خط لوله معین می گردد‪.‬‬
‫– معموال چرخه ماشین = پالس ساعت‬
‫‪5‬‬
‫پایه‬
‫دروس خط لوله ای کردن‬
‫• اگ ررر ‪ n‬تکلیر ر )‪ (Task‬داش ررته باش رریم ک رره زم رران اجر ررای ه ررر ک رردا از ن ه ررا براب ررر ب ررا ‪tn‬‬
‫باش ررد (زم رران ان ررا ل ررل تک ررالی = ‪ ،)n*tn‬ب ررا ررره اینا رره اع ررداد قطع ررات خ ررط لول رره ‪k‬‬
‫باشد و هر قطعه در ‪ tp‬ان ا پذیر باشد (پالس ساعت = ‪:)tp‬‬
‫• ‪ Task‬اول در ‪ k‬پالس )‪ (k*tp‬ان ا می پذیرد‪.‬‬
‫• ‪ Task‬های دیگر هرر کردا در پرالس زمراعی عردی (یرک پرالس زمراعی) تامیرل خواهنرد شرد‪،‬‬
‫پس زمان الز برای ان ا )‪ (n-1‬تکلی دیگر برابر با ‪ (n-1)*tp‬خواهد شد‪.‬‬
‫• در نتی رره ا ر رزادش س رررعت پ ررردازد خ ررط لول رره عسر ر ت ب رره پ ررردازد یر ر خ ررط لول رره ای از‬
‫رمول زیر محاسبه می گردد‪:‬‬
‫‪S = ntn / (k + n - 1)tp‬‬
‫‪6‬‬
‫دروس خط لوله ای کردن‬
‫• هرقردر اعرداد تکلیر هرا (‪ )n‬بیشرت و بیشرت شرود مقردار )‪ (k + n - 1‬سرمت ‪ n‬میرل خواهرد‬
‫کرد‪ .‬پس درنتی ه رمول اسالید قبل به رمول مقابل تبدیل می شود‪:‬‬
‫‪S = tn / tp‬‬
‫• اگ ررر ررره کن رریم زم رران الز ب ررای ان ررا ی ررک تکلی ر ب ررورت ی ر خ ررط لول رره ای براب ررر ب ررا زم ران‬
‫ان ا اولین تکلی در پردازد خط لوله ای باشد (‪ )tn = ktp‬در نتی ه خواهیم داشت‪:‬‬
‫‪S = ktp / tp = k‬‬
‫• و این بدان معنی است که برا اسرتداده از پرردازد خرط لولره‪ ،‬حرداکت مری تروانیم ‪ k‬برابرر سررعت‬
‫را ا زادش دهیم و چون ‪ k‬اعداد قطعات خط لوله می باشد پس حداکت میزان اسریع پرردازد‬
‫خط لوله متناسب با اعداد قطعات خط لوله می باشد‪.‬‬
‫‪7‬‬
‫دروس خط لوله ای کردن‬
‫• خررط لولرره ای برره زمرران ترراخی یررک لررار کمکرری ننرری کنررد‪ ،‬بلارره ترروان عملیرراای لررل برار لرراری را‬
‫بهبود می بخشد‪.‬‬
‫• نرخ خط لوله محدود به کندترین مرحله است‪.‬‬
‫• اجرای همزمان چند لار نیاز به منا ع متداوای دارد‪.‬‬
‫• پتاعسیل اسریع = اعداد مراحل خط لوله‬
‫• طول نامتوازن مراحل خط لوله باعث لاهش اسریع می شود‪.‬‬
‫• زمان م رفی برای پر شدن و خالی شدن خط لوله باعث لاهش اسریع می شود‪.‬‬
‫‪8‬‬
‫دروس خط لوله ای کردن‬
‫• بر ر ررا ر ر ررره اینار ر رره چ ر ر ررار مرحلر ر رره (برداشر ر ررت‬
‫دس ر ر ر ر ررتور‪ ،‬دیا ر ر ر ر ررد و اعی ر ر ر ر ررین درس م ر ر ر ر ررو ر‪،‬‬
‫برداش ررت عملون ررد و اجر ررا) بر ررای اجر ررای ی ررک‬
‫دس ررتور داش ررته باش رریم‪ ،‬مراح ررل ک رری اجر ررای‬
‫دستورات با استداده از خط لوله ‪ 4‬قسمتی‬
‫به شکل مقابل می باشد‪.‬‬
‫‪9‬‬
‫دروس خط لوله ای کردن‬
‫• ناته‪ :‬اگر یک وقده یا اعشعاب به دستور دیگر رخ دهد باید‪ ،‬خط لوله خالی شود‪.‬‬
‫‪10‬‬
‫دروس خط لوله ای کردن‬
‫‪ .1‬دس ررتیازی همزمر رران دو مرحل رره ب رره حا ر رره (یک رری بر ررای خوان رردن دس ررتور و عملونر رردها و‬
‫دیگری برای ذخی ه نتی ه)‪ .‬ایرن مشرکل برا اسرتداده از حا ره هرای جدا انره بررای داده‬
‫ها و دستورات حل می شود‪ .‬به این مشکل ‪ Structural Hazard‬نیز می ویند‪.‬‬
‫‪ .2‬وا سررت ی داده هررا )‪ :(Data Dependency‬زمرراعی کرره دسررتوری برره نتی رره دسررتور‬
‫قلب رری نیازمن ررد باش ررد و نتی رره دس ررتور قب رری م رراده نباش ررد‪ ،‬رخ م رری ده ررد‪ .‬ب رره ایررن مش ررکل‬
‫‪ Data Hazard‬نیز می ویند‪.‬‬
‫‪ .3‬اعشعاب‪ :‬دستورات اعشعاب و دستوراای که مقدار ‪ PC‬را اغیی می دهند رونرد عرادی‬
‫خط لوله را مختل می نمایند‪ .‬به این مشکل ‪ Control Hazard‬نیز می ویند‪.‬‬
‫‪11‬‬
‫دروس خط لوله ای کردن‬
Time (clock cycles)
Ifetch
Reg
Ifetch
Reg
DMem
Reg
Ifetch
Reg
DMem
Reg
DMem
Reg
ALU
Instr 4
Reg
Cycle 6 Cycle 7
ALU
Instr 3
Ifetch
DMem
ALU
O
r
d
e
r
Instr 2
Reg
ALU
I Load Ifetch
n
s
Instr 1
t
r.
ALU
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
Reg
DMem
Reg
12
‫دروس خط لوله ای کردن‬
Time (clock cycles)
Instr 3
Reg
Ifetch
Reg
Bubble
Cycle 6 Cycle 7
Reg
DMem
Bubble
Ifetch
Reg
DMem
Bubble
Reg
Reg
Bubble
ALU
Stall
Ifetch
DMem
ALU
O
r
d
e
r
Instr 2
Reg
ALU
I Load Ifetch
n
s
Instr 1
t
r.
ALU
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
Bubble
DMem
Reg
13
‫دروس خط لوله ای کردن‬
.‫) مقدور می باشد‬XOR( ‫ قط در دستور پایاعی‬،r1 ‫در شکل زیر دست س ی به مقدار جدید‬
•
and r6,r1,r7
or
r8,r1,r9
xor r10,r1,r11
Ifetch
DMem
Reg
DMem
Reg
DMem
Reg
DMem
Reg
ALU
sub r4,r1,r3
Reg
ALU
Ifetch
ALU
O
r
d
e
r
add r1,r2,r3
ALU
I
n
s
t
r.
ALU
Time (clock cycles)
Ifetch
Ifetch
Reg
Ifetch
Reg
Reg
Reg
DMem
Reg
14
‫دروس خط لوله ای کردن‬
‫•‬
‫بررای حرل مشرکل وا سرت ی داده هرا مسرتقیم تررین رود ای راد همبنردی ر ت ا رزاری‬
‫است‪.‬‬
‫•‬
‫مرردار همبنررد مررداری اسررت کرره وایدرره اد شناسررایی دسررتوراای اسررت کرره عملونرردهای‬
‫مبدا ن ها مق د عملوندهای دستورات عدی در خط لوله است‪.‬‬
‫•‬
‫ای ررن شناس ررایی باع ررث م رری ش ررود ت ررا دس ررتوراای ک رره من ررا ع ن ه ررا در دس ررت س نیس ررتند ب ررا‬
‫تاخی لافی از پالس های ساعت‪ ،‬بموقع اجرا شوند‪.‬‬
‫•‬
‫ایررن رود ترتیررب برنامرره را بررا اتررا ه کررردن ر ت ا رزار و نگ ررداری ترراخی الز در ن‪،‬‬
‫حدظ می نماید‪.‬‬
‫‪15‬‬
‫دروس خط لوله ای کردن‬
‫ ب رره مرحل رره ع ررد‬ALU ‫ (ارس ررال خرو رری‬Operand Forwarding ‫ب ررا اس ررتداده از رود‬
.‫ب ورت ت ا زاری) می توان مشکل را حل کرد‬
•
or
r8,r1,r9
xor r10,r1,r11
Reg
DMem
Reg
DMem
Reg
DMem
Reg
ALU
and r6,r1,r7
Ifetch
DMem
ALU
sub r4,r1,r3
Reg
ALU
O
r
d
e
r
add r1,r2,r3 Ifetch
ALU
I
n
s
t
r.
ALU
Time (clock cycles)
Ifetch
Ifetch
Reg
Ifetch
Reg
Reg
Reg
DMem
Reg
16
‫دروس خط لوله ای کردن‬
‫•‬
‫بررای حررل مشررکل وا سررت ی داده بررا رود ارسررال عملونررد برره اغییر ات عشرران داده ش رده‬
‫در‬
‫ت ا زار نیازمند هستیم‪.‬‬
‫‪mux‬‬
‫‪MEM/WR‬‬
‫‪EX/MEM‬‬
‫‪ALU‬‬
‫‪mux‬‬
‫‪ID/EX‬‬
‫‪mux‬‬
‫‪17‬‬
‫‪Data‬‬
‫‪Memory‬‬
‫‪Registers‬‬
‫‪NextPC‬‬
‫‪Immediate‬‬
‫•‬
‫در صررورای کرره عملونررد بررا اسررتداده از دسررتور )‪ Load (lw‬بررای اسررتداده در دسررتور عرردی مرراده‬
‫ش ررود‪ ،‬عملون ررد م ررورد ن ررر پ ررس از خوان رردن از حا رره م رراده م رری گ ررردد‪ .‬در نتی رره در دس ررتور ع رردی‪،‬‬
‫‪ ALU‬دست س ی به عملوند ندارد‪.‬‬
‫)‪Time (clock cycles‬‬
‫‪18‬‬
‫‪ALU‬‬
‫‪Reg‬‬
‫‪DMem‬‬
‫‪ALU‬‬
‫‪Reg‬‬
‫‪DMem‬‬
‫‪ALU‬‬
‫‪Reg‬‬
‫‪DMem‬‬
‫‪Reg‬‬
‫‪Reg‬‬
‫‪Ifetch‬‬
‫‪ALU‬‬
‫‪Reg‬‬
‫‪DMem‬‬
‫‪Reg‬‬
‫‪Reg‬‬
‫‪Ifetch‬‬
‫‪Ifetch‬‬
‫‪lw r1, 0(r2) Ifetch‬‬
‫‪I‬‬
‫‪n‬‬
‫‪s‬‬
‫‪t‬‬
‫‪r.‬‬
‫‪and r6,r1,r7‬‬
‫‪O‬‬
‫‪r‬‬
‫‪d‬‬
‫‪e‬‬
‫‪r‬‬
‫‪sub r4,r1,r6‬‬
‫‪r8,r1,r9‬‬
‫‪or‬‬
‫•‬
‫•‬
‫‪19‬‬
‫دروس خط لوله ای کردن‬
‫لامپ ررایلر م رری توان ررد ب ررا جاب ررایی دس ررتورات یر ر وا س ررته ب رره ه ررم‪ ،‬ی ررا ات ررا ه ک ررردن دس ررتور ‪No‬‬
‫‪ ،Operation‬تاخی الز در بار کردن داده ها را راهم مری کنرد‪ .‬بره ایرن رود ‪Delayed Load‬‬
‫می ویند‪.‬‬
‫مثررال‪ :‬بررا ررره اینارره عملونرردهای ‪ b, c, e, f‬در حا رره باشررند‪ .‬لامپررایلر ب ررای حررل مشررکل‬
‫دوجاب ایی بین دستورات اعمال می نماید‪.‬‬
‫;‪a = b + c‬‬
‫;‪d = e – f‬‬
‫‪Rb,b‬‬
‫‪Rc,c‬‬
‫‪Re,e‬‬
‫‪Ra,Rb,Rc‬‬
‫‪Rf,f‬‬
‫‪a,Ra‬‬
‫‪Rd,Re,Rf‬‬
‫‪d,Rd‬‬
‫‪Fast code:‬‬
‫‪LW‬‬
‫‪LW‬‬
‫‪LW‬‬
‫‪ADD‬‬
‫‪LW‬‬
‫‪SW‬‬
‫‪SUB‬‬
‫‪SW‬‬
‫‪Rb,b‬‬
‫‪Rc,c‬‬
‫‪Ra,Rb,Rc‬‬
‫‪a,Ra‬‬
‫‪Re,e‬‬
‫‪Rf,f‬‬
‫‪Rd,Re,Rf‬‬
‫‪d,Rd‬‬
‫‪Slow code:‬‬
‫‪LW‬‬
‫‪LW‬‬
‫‪ADD‬‬
‫‪SW‬‬
‫‪LW‬‬
‫‪LW‬‬
‫‪SUB‬‬
‫‪SW‬‬
‫•‬
‫رود اول‪ :‬در ایررن رود دسررتور مق ررد اعشررعاب عررالوه بررر دسررتور عررد از اعشررعاب در خررط لولرره وارد‬
‫مرری شرروند‪ .‬درصررورای کرره شرررب اعشررعاب خررلیل باشررد خررط لولرره از دسررتور مق ررد اعشررعاب لررار را‬
‫ادامه می دهد‪.‬‬
‫•‬
‫رود دو ‪ :‬ایررن رود از یررک بررا ر ))‪ (Branch Target Buffer (BTB‬کرره یررک حا رره‬
‫اشررت الی اسررت و درس اعشررعاب اجررا شررده قب رری و دسررتور مق ررد بررای ن اعشررعاب را نگ ررداری م ری‬
‫نماید (این با ر همچنین چند دستور عد از اعشرعاب را نیرز ذخیر ه مری نمایرد) اسرتداده مری کنرد‪ .‬وقتری‬
‫خررط لولرره دسررتور اعشررعاب را دیاررد مرری کنررد ‪ BTB‬را بررای درس دسررتورالعمل جدیررد جسررت و مرری‬
‫نمای ررد‪ ،‬اگ ررر درس در ‪ BTB‬وج ررود داش ررته باش ررد‪ ،‬دس ررتور مس ررتقیما در دس ررت س اس ررت و برداش ررت‬
‫پیشر ن ا دسررتور بررای ادامرره مسرری جدیررد صررورت مرری گیر د‪ .‬اگررر دسررتور در ‪ BTB‬نباشررد خررط لولرره‬
‫ب رره دس ررتورات جدی ررد ش رریدت نم رروده و دس ررتور مق ررد را در ‪ BTB‬ب ررای دست س ر ی ین ررده ذخی ر ه م رری‬
‫نماید‪( .‬این رود برای دست سر ی سرریع بره دسرتورات مق رد در اعشرعازی کره قربال اتدرا ا تراده اسرت‬
‫می باشد)‬
‫‪20‬‬
‫•‬
‫رود سررو ‪ :‬در ایررن رود از یررک بررا ر بنررا بررا ر حلقرره )‪ (Loop Buffer‬اسررتداده مرری نمایررد‪ .‬در‬
‫صررورت وجررود یررک حلقرره در برنامرره‪ ،‬دسررتورات حلقرره ب ررورت لامررل در بررا ر حلقرره ذخیر ه مرری گررردد‪.‬‬
‫بنررابر ایررن دسررتورات حلقرره بدونرره دست س ر ی برره حا رره (در هررر بررار تا ررار) اج ررا مرری شرروند و تررا اینارره‬
‫خرین اعشعاب از حلقه خارج شود‪.‬‬
‫•‬
‫رود چ ررار ‪ :‬در ایررن رود کرره ‪ Branch Prediction‬نررا دارد بررا اسررتدده از مرردارهای منطقرری‬
‫ات ررافی نتی رره حاص ررل از اعش ررعاب را قب ررل از اجر ررای ن محاس رربه م رری نمای ررد و خ ررط لول رره ش رررو ب رره‬
‫دریا ت پیش هن ا دستورات مسی پیش بینی شده می نماید‪.‬‬
‫•‬
‫رود پ ررن م‪ :‬در ای ررن رود ک رره ‪ Delayed Branch‬ن ررا دارد لامپ ررایلر دس ررتورات اعش ررعاب را‬
‫شناسررایی و دسررتوراای را کرره برره اعشررعاب وا سررت ی ندارنررد و بایررد اجررا شرروند عررد از دسررتور اعشررعاب‬
‫می ورد‪ .‬درنتی ه تا مش ص شدن نتی ه اعشعاب دستورات مدیدی اجرا شده اند‪.‬‬
‫‪21‬‬
‫دروس خط لوله ای کردن‬
‫‪22‬‬
‫دروس خط لوله ای کردن‬
‫•‬
‫لامپیوتر های معمولی برای ان ا محاسبات برر روی رایره هرایی از عملونرد هرا بایرد یرک‬
‫بره یررک عملونرد هررا را از رایره هررا بخوانرد و سرراس محاسربات را روی ن هررا ان را دهررد‪.‬‬
‫برای این من ور نیاز به یک حلقه دارد تا به تک تک عملوند ها دست س ی پیدا نماید‪.‬‬
‫•‬
‫لامپیوتری که قرادر بره پرردازد بررداری اسرت اترالم وقرت مربروب بره برداشرت و اجررای‬
‫دستورات در حلقه ها‪ ،‬را حذم می نماید و می تواند با یک دستور مرثال دو رایره را برا‬
‫هم جمع نماید‪.‬‬
‫•‬
‫قالب دستورات برای چنین لامپیوتری به شکل زیر است‪:‬‬
‫‪23‬‬
‫در عملیررات ترررب دو مرراتریس بررای محاسرربه هررر درایرره از مرراتریس حاصلسرررب‪ ،‬نیرراز برره محاسرربه یررک ترررب‬
‫داخ ی است که ب ورت زیر با خط لوله محاسبه می شود‪.‬‬
‫‪24‬‬
‫پردازنده خط لوله و برداری ا لب نیاز به دستیازی همزمران بره دو یرا سره منبرع دارنرد‪ .‬بررای حرل ایرن مشرکل‬
‫مرری ترروان از چنررد مرراهول حا رره اسررتداده نمررود‪ .‬هررر مرراهول م موعرره ای از حا رره و رجیسررت درس و داده‬
‫مربوب به ن است‪.‬‬
‫مزیررت حا رره مرراهو لی ای سررت کرره حا رره را مرری ترروان بر رری کرررد‪ ،‬برره ایررن معنرری کرره برره مرراهول هررای مختلر‬
‫حا ه‪ ،‬بر اساس بیت های کم ارزد درس‪ ،‬درس های متداوای تخ یص داد‪.‬‬
‫‪25‬‬
‫‪25‬‬
‫•‬
‫دروس خط لوله ای کردن‬
‫یک پردازنده رایره پردازنرده ای اسرت کره محاسربات را برر روی رایره هرای بزر ری از داده هرا ان را مری‬
‫دهند‪.‬‬
‫•‬
‫رایرره پرررداز ایلرراعی برره عنرروان یررک نرروکی پردازنررده کمکرری (و ماننررد یررک دسررت اه جررانبی) برره یررک لررامپیوتر‬
‫همه من وره مت ل می شود‪.‬‬
‫•‬
‫هدم از رایه پرداز ایلاعی ای اد توانایی پردازد برداری لامپیوترهای معمولی با کسری از هزینه الز‬
‫برای سوپر لامپیوتر است‪.‬‬
‫•‬
‫س رروپر ل ررامپیوتر ی ررک ل ررامپیوتر ت رراری ب ررا دس ررتورالعمل ه ررای ب رررداری ب رره هم رراه عملی ررات حس ررازی ممی ررز‬
‫شناور خط لوله‪ ،‬می باشد‪.‬‬
‫‪26‬‬
‫•‬
‫•‬
‫‪27‬‬
‫دروس خط لوله ای کردن‬
‫یررک رایرره پرررداز ‪ ،SIMD‬لررامپیوتری اسررت بررا واحررد هررای پردازو ر ی متعرردد کرره بطررور مرروازی لررار مرری‬
‫کننررد‪ .‬همرره پردازشررگر هررا تحررت واحررد کنت ر ل مشررت هم ررا مرری شرروند و روی داده هررای متعرردد لررار‬
‫خواهن ررد ک رررد (‪ .)SIMD‬م ررثال ب ررای ی ررک جم ررع رای رره ای‪ ،‬داری رره ه ررای اول دو رای رره در ‪ M1‬و جد ررت‬
‫درایه هرای دیگرر در حا ره هرای دیگرر قررار مری گی نرد‪ ،‬سراس دسرتور جمرع بره تمرا پردازشرگرها داده‬
‫می شود و در یک سیکل ساعت حاصل جمع برداری محاسبه می گردد‪.‬‬
‫هر پردازشگر یک پرچم دارد که اگر یک باشد ن پردازشگر در پردازد شرکت خواهد کرد‪.‬‬
‫•‬
‫ای ررن معم رراری ب ررر اس رراس تقس رریم مراح ررل خ ررط لول رره معم ررولی ب رره چن رردین زیرمرحل رره (‪)Sub-Stage‬‬
‫است‪ ،‬تا در نتی ه همپوشاعی بیشت ی بین مراحل ای اد گردد و در نهایت اعداد بیشت ی دستور در‬
‫یک کال ان ا بپذیرد‪.‬‬
‫رم ر ررول زی ر ررر میر ر رزان ب ر رراال ر ر ررتن س ر رررعت را ب ر ررر‬
‫اساس اعرداد مراحرل خرط لولره )‪ (k‬و اعرداد‬
‫دسررتورات )‪ ،(n‬در صررورای کرره هررر مرحلرره از‬
‫خر ر ر ررط لولر ر ر رره ب ر ر ر رره دو مرحلر ر ر رره تقسر ر ر رریم ش ر ر ر ررود‬
‫محاسبه می نماید‪.‬‬
‫))‪S = 2(k + (n-1)) / (2k + (n-1‬‬
‫‪28‬‬
‫•‬
‫ای ررن معم رراری تم ررامی ویع رری ه ررای معم رراری ‪ Pipeline‬را دارا م رری باش ررد ع ررالوه اینا رره توان ررایی ان ررا‬
‫همزمر رران )‪ (Simultaneously‬چنر رردین دسر ررتورالعمل را در یر ررک مرحلر رره از خر ررط لولر رره را نیر ررز دارا‬
‫است‪.‬‬
‫رم ر ررول زی ر ررر میر ر رزان ب ر رراال ر ر ررتن س ر رررعت را ب ر ررر‬
‫اساس اعرداد مراحرل خرط لولره )‪ (k‬و اعرداد‬
‫دسررتورات )‪ ،(n‬در صررورای کرره هررر مرحلرره از‬
‫خر ر ر ررط لولر ر ر رره ب ر ر ر رره دو مرحلر ر ر رره تقسر ر ر رریم ش ر ر ر ررود‬
‫محاسبه می نماید‪.‬‬
‫)‪S = (k + (n-1)) / (k + (n-2)/2‬‬
‫‪29‬‬

similar documents