تالار گفتمان مانشت
مدرسان: pipeline و speedup - نسخه‌ی قابل چاپ

مدرسان: pipeline و speedup - Ametrine - 12 مهر ۱۳۹۳ ۱۲:۰۸ ب.ظ

سلام

سوال اول:
کتاب مدرسان صفحه ۲۰۸ یه مثال داره که برای حالت غیرخط لوله ای زمان رو که حساب کرده به این فرمول رفته:
[tex]n\times k\times t_{unp}[/tex]

مثال: یک خط لوله از چهار سطح تشکیل شده، اگر زمان مورد نیاز در هر قطعه از خط لوله یکسان و برابر ۲۰ns باشد، با داشتن ۱۰۰ تکلیف میزان تسریع چقدر است؟
راه حل:
[tex]T_{pipe}=[k (n-1)]t_p=[4 99]\times20ns\: =\: 2060ns[/tex]
[tex]T_{unpipe}=n\times t_{unp}=100\times80ns\: =\: 8000ns[/tex]
[tex]\frac{8000}{2060}=3.88[/tex]
اینجا توی فرمول k رو نذاشته ولی حسابش کرده.
ولی صفحه ۲۱۰ آخر صفحه مثال ۹، اینجا برای حالت غیرخط لوله ای، k رو حساب نکرده!

حالا بالاخره k باید در نظر گرفته بشه یا نه؟!

سوال دوم:
تو همین صفحه ۲۱۰ گفته شده:
اگر یک خط لوله دارای k قطعه باشد که زمان مورد نیاز قطعات به صورت t1,t2,....tk و میزان تاخیر میان ثباتی برابرtr باشه، آنگاه زمان پالس ساعت خط لوله به صورت مقابل محاسبه میشه:
[tex]T_p=\max(t_1,t_2,t_3,...t_k) t_r[/tex]
و زمان اجرای یک تکلیف بدون استفاده از خط لوله برابر است با:
[tex]T_{unp}=t_1 t_2 ....\: t_k[/tex]
زیرش چندتا مثال داره که تو یکیش طبق این فرمولها حساب کرده.
دوتا مثال دیگه هست که برای حالت غیر خط لوله ای tr رو هم جمع کرده!

تکلیف چیه؟ tr حسابه یا نه؟
[attachment=16907][attachment=16909]

RE: مدرسان: pipeline و speedup - Farzamm - 12 مهر ۱۳۹۳ ۰۴:۱۰ ب.ظ

(۱۲ مهر ۱۳۹۳ ۱۲:۰۸ ب.ظ)Ametrine نوشته شده توسط:  حالا بالاخره k باید در نظر گرفته بشه یا نه؟!

سوال دوم:
تکلیف چیه؟ tr حسابه یا نه؟

در مورد سوال اول و دومتان:
بطور کلی اگه خط لوله ای با kتا stage و nتا task (کار) داشته باشیم و تاخیر stage i برابر ti باشه، زمان بدون pipeline (زمان سریال) برابر خواهد بود با:
Tserial = (t1+t2+ ...+tk)*n
یعنی برای یک کار (t1+t2+ ...+tk) و برای n کار متناسباً (t1+t2+ ...+tk)*n زمان صرف می شود.

در حالت با خط لوله، زمان پالس برابر است با:
Tclk = max{t1,t2,...,tk}+tff
که tff تاخیر latchها (Flip Flipها)ی بین stageها است که اگه در صورت سوال صحبتی از آن نشده باشد، از آن صرفنظر می شود (جواب سوال دوم).
بنابراین، زمان اجرای با خط لوله برابر خواهد بود با:
Tpipeline = (k+n-1)*Tclk
-------------------------------------------------------------------------------------------
در حالت خاص که تاخیر stageهای خط لوله با یکدیگر برابرند مثلاً مقدار t، فرمول های بالا به صورت زیر در می آید:
اگه خط لوله ای با kتا stage و nتا task (کار) داشته باشیم و تاخیر هر stage برابر t باشد، زمان بدون pipeline (زمان سریال) برابر خواهد بود با:
Tserial=n*k*t
یعنی در این حالت برای یک کار k*t و برای n کار متناسباً n*k*t زمان صرف می شود.
(جواب سوال اول: در درنظر گرفتن k شکی نیست فقط باید به برابر یا نابرابر بودن تأخیر stageها دقت کنید).

در حالت با خط لوله، زمان پالس برابر است با:
Tclk = t+tff
که مانند قبل، tff تاخیر latchها (Flip Flipها)ی بین stageها است که اگه در صورت سوال صحبتی از آن نشده باشد، از آن صرفنظر می شود.
بنابراین، زمان اجرای با خط لوله برابر خواهد بود با:
Tpipeline = (k+n-1)*Tclk
------------------------------------------------------------------------
در مثال ۷ از عکس پیوست شده، مولف به اشتباه tr را حساب کرده است، احتمالاً حواسشان نبوده است.

RE: مدرسان: pipeline و speedup - Ametrine - 12 مهر ۱۳۹۳ ۰۴:۲۸ ب.ظ

(۱۲ مهر ۱۳۹۳ ۰۴:۱۰ ب.ظ)JFarzam نوشته شده توسط:  در مورد سوال اول و دومتان:.......
تشکر فراوان، جواب سوال اولم رو گرفتم.

درباره سوال دوم، الان تصویر صفحه ۲۱۰ رو پیوست کردم.
مثال های ۶ و ۷ و ۹ رو که مشخص کردم ببینید.
تو مثال ۹ و ۷ تاخیر ثبات ها رو اومده برای حالت بدون خط لوله هم در نظر گرفته ولی توی مثال ۶ در نظر نگرفته!

RE: مدرسان: pipeline و speedup - Farzamm - 12 مهر ۱۳۹۳ ۰۴:۴۶ ب.ظ

(۱۲ مهر ۱۳۹۳ ۰۴:۲۸ ب.ظ)Ametrine نوشته شده توسط:  تشکر فراوان، جواب سوال اولم رو گرفتم.

درباره سوال دوم، الان تصویر صفحه ۲۱۰ رو پیوست کردم.
مثال های ۶ و ۷ و ۹ رو که مشخص کردم ببینید.
تو مثال ۹ و ۷ تاخیر ثبات ها رو اومده برای حالت بدون خط لوله هم در نظر گرفته ولی توی مثال ۶ در نظر نگرفته!

در مثال ۷ و ۹ از عکس های پیوست شده، مولف به اشتباه tr را حساب کرده است، احتمالاً حواسشان نبوده است.
چون داریم speedup را حساب می کنیم باید تأخیر قبل از اعمال تکنیک خط لوله را در نظر بگیریم که در آن حالت در datapath لچ یا ثبات نداریم و مدار در ابتدا یک مدار ترکیبی است (همواره در مدارات ترکیبی (بدون flip flop) از تکنیک خطوط لوله استفاده می کنیم) و بعد از اعمال تکنیک مجبور هستیم از ثبات های میانی استفاده کنیم.
(پیشنهاد می کنم برای بررسی صحت پاسخ تست های معماری کامپیوتر از کتاب بانک سوالات کارشناسی ارشد مهندسی کامپیوتر انتشارات نصیر استفاده کنید که در آن دکتر اجلالی شخصاً سوالات را پاسخ داده اند و قطعاً درست می باشند).

RE: مدرسان: pipeline و speedup - Ametrine - 13 مهر ۱۳۹۳ ۱۰:۳۹ ق.ظ

(۱۲ مهر ۱۳۹۳ ۰۴:۴۶ ب.ظ)JFarzam نوشته شده توسط:  در مثال ۷ و ۹ از عکس های پیوست شده، مولف به اشتباه tr را حساب کرده است، احتمالاً حواسشان نبوده است.
چون داریم speedup را حساب می کنیم باید تأخیر قبل از اعمال تکنیک خط لوله را در نظر بگیریم که در آن حالت در datapath لچ یا ثبات نداریم و مدار در ابتدا یک مدار ترکیبی است (همواره در مدارات ترکیبی (بدون flip flop) از تکنیک خطوط لوله استفاده می کنیم) و بعد از اعمال تکنیک مجبور هستیم از ثبات های میانی استفاده کنیم.
(پیشنهاد می کنم برای بررسی صحت پاسخ تست های معماری کامپیوتر از کتاب بانک سوالات کارشناسی ارشد مهندسی کامپیوتر انتشارات نصیر استفاده کنید که در آن دکتر اجلالی شخصاً سوالات را پاسخ داده اند و قطعاً درست می باشند).
تشکر، کتاب رو قبلاً سفارش دادم ولی هنوز به دستم نرسیده.

RE: مدرسان: pipeline و speedup - Bache Mosbat - 13 مهر ۱۳۹۳ ۱۰:۴۴ ب.ظ

لطفا برای سوال جدید موضوع جدید ایجاد کنید، قبلا هم تذکر داده شد.

RE: مدرسان: pipeline و speedup - Ametrine - 15 مهر ۱۳۹۳ ۰۷:۰۹ ب.ظ

(۱۳ مهر ۱۳۹۳ ۱۰:۴۴ ب.ظ)Bache Mosbat نوشته شده توسط:  لطفا برای سوال جدید موضوع جدید ایجاد کنید، قبلا هم تذکر داده شد.
کدوم سوال جدید؟!
۲تا سوال مرتبط به هم پرسیده بودم.