معماری کامپیوتر - نسخهی قابل چاپ |
معماری کامپیوتر - hanie.rze - 20 شهریور ۱۳۹۵ ۰۴:۳۶ ب.ظ
سلام دوستان عزیز هرکاری میکنم این مطلبو که تو کتاب معماری کامپیوتره متوجه نمیشم تاخیر تولید برای جمع دو عدد ۱۶ بیتی برابر ۵ طبقه گیت است جلوشم توضیح داده ک.... ولی متاسفانه منظور از ۵ طبقه گیتو متوجه نمیشم دوستان اگر کسی بلده راهنمایی کنه ممنون میشم |
RE: معماری کامپیوتر - Behnam - ۲۰ شهریور ۱۳۹۵ ۰۴:۵۸ ب.ظ
(۲۰ شهریور ۱۳۹۵ ۰۴:۳۶ ب.ظ)hanie.rze نوشته شده توسط: سلام دوستان عزیزلطفاً عکسهای با اندازهی بزرگتر آپلود کنید. من کتاب مورد نظر رو ندارم، قسمتی که این مطلب رو درس داده هم (اونجایی که [tex]g_i[/tex] و [tex]G_i[/tex] اینا رو احتمالاً با شکلی چیزی توضیح داده) رو هم تصویرش رو قرار بدید. |
RE: معماری کامپیوتر - hanie.rze - 20 شهریور ۱۳۹۵ ۰۶:۳۵ ب.ظ
اینم از صفحاتش |
معماری کامپیوتر - signal_micro - 21 شهریور ۱۳۹۵ ۰۴:۱۷ ب.ظ
سلام نفهمیدم دقیقا کجاشو متوجه نشدی(یه توضیح کلی میدم امیدوارم بدردت بخوره) اصلا چرا CLA رو درست کردن؟ ripple carry adder برای جمع کردن هر بیت ورودی باید منتظر بمونه تا carry مرحله قبل بیاد تا FA مربوط به اون بیت بتونه عمل جمع رو انجام بده مثلا برای جمع کردن بیت nام باید منتظر بمونه تا n-1 تا FA قبلی کارشونو انجام بدن بعد از اینکه رقم carry اش آماده شد اونوقت عمل جمع رو انجام بده(سریال است و خیلی با تاخیر زیاد) توی cla میخواییم کاری کنیم این انتظار رو نداشته باشیم پس باید رقم نقلی مرحله قبلی رو پیش بینی کنیم دو حالت وجود داره که بیت فعلی یعنی فرضا بیت iام الان حتما carryاش یک باشه : اینکه رقم i-1ام حتما هر دو بیتش ۱ باشه یعنی gi.یااینکه یکی از ارقام i-1ام ۱ باشه و Ci-1 که باهاش جمع میشه ۱ باشه یعنی PiCi پس شرطش اینه: Ci+1= PiCi +gi این رابطه رو برای ۴ تا C1 تا C4 تو اول صفحه ۲۵ میبینی توی شکل صفحه ۲۳ هم داخل CLA داری همین گیت ها رو میبینی که اونجا قرار دارن پس دیگه نیازی نیست برای جمع دوتا عدد n بیتی فقط برای رقم nام n-1تا FA صبر کنی ( مثل ripple ) بلکه به طور موازی Ciها رو به ورودی میدی و تاخیرش هم ۱طبقه گیت هست (یه گیت XOR و AND و چون موازی باهمند میشه ۱طبقه تاخیر) اما مسئله اینه که تاخیر گیت xor معمولا ۲ برابر گیت های معمولی حساب میشه یه دونه XOR هم تو خروجی داری دو طبقه گیت معمولی هم اون وسط پس میشه ۶t. ظاهرا خیلی CLA خوبه ولی اگه خوب ببینی وقتی تعداد بیتها زیاد میشه(در اینجا چهارتا هست) گیتت ورودی های n+1 بیتی باید بگیره پس در عمل نمیتونی این adder رو تا nبیت بسازی واسه همین میان از چهار بیت بیشتر استفاده نمیکنن یعنی مثلا ۳ تا ۴ بیتی CLA رو با هم سری میکنن فکر کنم ظاهرا یه trade off ای بین CLA و ripple انجام میشه اگه اینارو فهمیده باشی حالا خوب به مدار ص ۲۳ دقت کن ورودی تاخیر ۲t یا همان d داره طبقه گیتهای وسط و خروجی نیز همین اما در ص ۲۴ که ۳ تا از این مدارهای ص۲۳ رو به هم چسبونده برای در واقع یه جورایی این ۳ تا CLA رو با هم ripple کرده درست؟ ولی نیازی نیست برای اینکه Carry مرحله بعد انجام بشه ۶t منتظر موند چرا؟ چون توی مدار ص۲۳ مدار داخل باکس با تاخیر ۲t Carry رو برای طبقه پایینی تو شکل ص ۲۴ آماده میکنه ۲t هم که تاخیر ورودیشه پس میشه ۴t یا بقول ص ۲۴ ۲d، پس برای همه یک dبهشون اضافه میشه یه d بابت طبقه ورودی یه d هم بخاطر تاخیر طبقه بالایی به آخری هم که رسیدی ۵d میشه دیگه... |