ش | ی | د | س | چ | پ | ج |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
بخشی از متن:
خط لوله یک مفهومی در سطح دستورالعمل است که می تواند به منظور افزایش کاراییپردازشگرهای ترتیبی استفاده شود.خط لوله تکنیکی است که یک پردازش سری را به عملیات جزئی تفکیک می کند وهر عمل جزئی در مقطع خاصی همزمان با سایر مقاطع اجرا می گردد.
در واقع pipeline، مجموعه ای از عناصر(مراحل) پردازش داده است که بصورت سری به یکدیگر متصلند و ورودی هر عنصر، خروجی عنصر قبلی است. در تکنیک pipeline، چند دستور میتوانند در یک زمان اجرا شوند.یعنی دستورات از لحاظ زمان اجرا دارای همپوشانی هستند.
pipelining یک مفهوم طبیعی در هر روز زندگی است، برای مثال در یک خط تولید. تولید یک خودرو را در نظر بگیرید، در نظر بگیرید که مراحل ساخت خاص شامل نصب موتور ، نصب کاپوت و نصب چرخ ها هستند. بر روی یک خودرو در خط تولید در در آن واحد تنها یکی از سه مرحله می تواند انجام شود. بعد از این که موتور خودرو نصب شد به قسمت بعدی برای نصب کاپوت می رود و تاسیسات نصب موتور را برای نصب موتور ماشین بعدی رها می کند. پس خودرو اول که به بخش نصب چرخ می رود، خودرو دوم به مرحله نصب کاپوت می رسد و خودرو سوم به قسمت نصب موتور می رود. اگر نصب موتور 20 دقیقه ، نصب کاپوت 5 دقیقه و نصب چرخ 10 دقیقه طول بکشد، پس ساخت سه خودرو اگر در آن واحد فقط بر روی یک خود رو کار کنیم 105 دقیقه زمان می برد. در حالی که اگر از خط تولید ذکر شده استفاده کنیم، زمان تکمیل کار 75 دقیقه خواهد بود. در کامپیوتر نیز خط لوله تکنیک و معماری است برای افزایش سرعت کامپیوتر استفاده می شود.
pipelining زمان انجام پردازش بر روی یک داده را کاهش نمی دهد ، ولی بازده ی کل سیستم در پردازش جریانی از داده ها را افزایش می دهد. خط لوله بزرگ به افزایش "تاخیر" ها (زمانی که یک سیگنال نیاز دارد تا در یک خط لوله کامل منتشر شود) منجر میشود. یک سیستم خط لوله ای عموما به منابع بیشتری نیازمند است (عناصر مداری ، واحد های پردازش ، حافظه و..) تا یک سیستم که فقط یک دسته دستورعمل را اجرا می کند؛ به این خاطر که هر مرحله نمی تواند از منابع مرحله ی قبل استفاده کند. به علاوه خط لوله ای کردن می تواند باعث افزایش زمان پایان یافتن یک دستورعمل شود.
فهرست مطالب:
مفاهیم پایه خط لوله ای
تعریف خط لوله
مثال شستن لباس ها
شستن ترتیبی
شستن خط لوله ای شده
دروس خط لوله ای کردن
چرخه ماشین
خط لوله ای کردن به عنوان یک تکنیک معماری
توان عملیاتی خط لوله ای
محدودیتهای کارایی در یک خط لوله
فاکتورهای مهم در مسیر لوله
روی هم اندازی (Overlap) در برابر خط لوله ای
رویهم اندازی CPU/I/O
خط لوله پویا و ایستا
یک تابع واحد لوله - چند تابع لوله
خط لوله MIPS
نمایش منقوش خط لوله
چرا خط لوله ای؟
تک چرخه ای - چند چرخه ای - خط لوله ای
آیا خط لوله می تواند برای ما مشکل ایجاد کند؟
حافظه تک
هزاردهای ساختاری
راه حل های هزارد کنترلی
هزاردهای داده ای روی r1
راه حل هزارد داده ای
Forwarding
طراحی یک مسیر داده خط لوله ای شده
خط لوله ای کردن دستورالعمل بار کردن
4 مرحله برای R-type
خط لوله ای کردن دستورالعمل های R-type و Load
مشاهدات مهم
راه حل اول: وارد کردن “حباب“ در خط لوله
راه حل دوم: تأ خیر نوشتن R-type به وسیله یک چرخه
مسیر داده تک چرخه ای
نسخه خط لوله ای شده مسیر داده
IF: اولین مرحله لوله دستورالعمل بار کردن
ID: دومین مرحله لوله دستورالعمل بارکردن
EX: سومین مرحله لوله دستورالعمل بارکردن
MEM: چهارمین مرحله لوله دستورالعمل بارکردن
WB: پنجمین مرحله لوله دستورالعمل بارکردن
IF: اولین مرحله لوله دستورالعمل R-type
ID: دومین مرحله لوله دستورالعمل R-type
EX: سومین مرحله لوله دستورالعمل R-type
MEM: چهارمین مرحله لوله دستورالعمل R-type
WB: پنجمین مرحله لوله دستورالعمل R-type
کنترل مسیر داده خط لوله ای شده
مسیر داده خط لوله ای شده با سیگنال های کنترلی
فراخوانی: بیتهای کنترلی ALU
مقادیر خطوط کنترلی برای 3 مرحله آخر خط لوله
کشف هزاردهای داده ای و ارسال
و...