صفحه 1:
فصل ۵ مظفر بگ محمدی بهار ‎٩۴‏ ‏دانشكاه ايلام

صفحه 2:
0 روش ما * فقط از فلیپ فلاپها استفاده می کنیم. * تمام آنها با یک لبه کار می کنند. (مثلا لبه ی پایین رونده) * کلاک همه یکسان است. ؟ نیازی به رسم کلاک نیست. * تمام اعمال مورد نظر در یک کلاک خاتمه می یابند. t 1

صفحه 3:
0 روش ما (ادامه...) ‎SU *‏ وارد هیچ گیتی نمی ‎ew ure,‏ ان اج شود. ‎ ‎unite OO clock ‏؟ طراحی صحیح:‎ ‎ ‎ ‎ ‎۳ ‏ان‎ ‎Sear ptute |)» ‎| ‎unite ‎

صفحه 4:
0 مسير داده = 20 برابر ‎١‏ * فرض: یعنی هر دستورالعمل در یک کلاک انجام می شود. ۴ دستورالعملها: ‎add, sub, ocd, or oh, hu, sw, & bey ©‏ # هر دستورالعمل را جدا طراحی می کنیم. * بعد همه را به هم وصل می کنیم.

صفحه 5:
واکشی دستورالعملها * دستورالعمل را واکشی کنید. سپس ‎PO‏ ,| افزایش دهید. * برای همه دستورات یکسان است. © فى & ‎5s‏ ‏4 فرض كنيد: 2 © 4*0 هر سیکلبه روزرسانی ‎cad‏ 5 ‎ve Sires‏ ‎Instruction ——e‏ ۴ فعلا مس و انشعاب نداریم. ‎"aren‏ * بعد از انجام این دستور. دستور بعدی را واکشی می کنیم.

صفحه 6:
دستور العملهای ,ا9) ‎cod $4, $0, $9 # $d <= $C &$O‏ © 7 ALU operation register 1 Read Read data 1 Instruction register 2 Registers ite register 5-55 White data 2 data’ Treguite © Ey. OIPG RPorweat Operde rs ۳ rd ‏مد مد‎ 9 ‏و‎ oe 6s

صفحه 7:
loud) store ‏دستور العملهای‎ © ‏بنذ‎ $4, coved $C) # $0 <= O[GEC (owed) + $C] © By. DWP 1-Poreoet: Opoode ot 3 ‏عدم‎ 6 6 2 9 3q AtU operation register 1 ea Meminite feel ata? register 2 ‎Peasters‏ ویب ‎register ‘Steal ‎ata 2‏ عق ‎ata ‎ ‎ ‎Regwvitel ‎ ‎ ‎16 ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 8:
0 دستورالعملهای انشعاب >> + وه = ۵0 (80عع80) #۸ له ,89 ,90 بسا ۰ * در حقيقت: © + نم د 0رسه ‎addr << © # ۰ OIPG vPP vet Prow weukPC‏ + سوه < امرحم ‎F (($d - $2) == 0)‏ اس < ۳0 5 0و = ‎PO‏

صفحه 9:
دستورالعملهای انشعاب PC +4 from instruction datapath Branch target [ALU operation Read ee register 1 Rawal Read register 2 Registers Instruction To branch aah contol loge register

صفحه 10:
| Memwrite MemtoReg Registers, Read! data 2 Read register 1 Read Fegisler 2 wte ‏وم‎ ‎wite ‎date ‎۰0۹ ‎16 Read address Instruction| Instruction memory Po

صفحه 11:
0 نمای کلی واحد کنترل * دستورالعملهاى تك سيكلى مسير داده: منطق تركيبى, حافظه ى دستورالعملهاء رجیسترها. حافظه ى داده. 80 * سه حافظه ى آخر در انتهاى جرخه نوشته مى شود. * نياز به كنترل دارد: از منطق تركيبى استفاده مى كنيم. * ورودیها: * دستور العملها (خروجى واحد حافظه ى دستورالعملها * صفر (براى دستور وجا © خروجيها: * خطوط كنترلى مولتى يلكسرها * بو« ۴ سس

صفحه 12:
نمای کلی واحد کنترل ؟ کنترل سریع ® هر واحدی به چه داده ای نیاز دارد؟ ؟ هر چه تعداد ورودیها کمتر باشد. مدار سریعتر است. * مثال: * كنترل كننده ى عمومى نيازى ندارد بداند كه ‎ba! @L Oop plas‏ مى ‎sg‏

صفحه 13:
کنترل 6۱0 PLO aes ‏فرض‎ از جدول زیر استفاده می کند: 3 t ot (set bev tom) doo cre 000 ood 080 ado 0 vers

صفحه 14:
نت ل 6 000000 10000080 100000 22220 000080 كد دستورالسل مود 00000000 00000000 00000000 00000000 00000000 00 000 ‎OOOIDD‏ PLO -o 59,5 ‏برای ساده‎ دنقورالعمل FEVERS eee 2) ]۱۱۸۱+۱۸۶۱ ۴ (مسی لس( ع را * 0 Cbs Obie

صفحه 15:
CLO ‏كنترل‎ 0 do add, sub, ond, ... 00 ‏سو ربا‎ od beq © GLO = F(®LOvp, Puurtioa) ۰ ‏جرا و‎ © bits © bits ‏می توان مدار مربوطه را با ۵ گیت و تعدادی معکوس کننده ساخت.‎ *

صفحه 16:
کنتر لهای عمومی مصعصظ ‎nt rd shoot‏ سس لسن وج و عع سوسم لله 3 ع بل و( و ‎wo‏ 9 9 8 له له موزل ۰

صفحه 17:
0 کنتر لهای عمومی * از [06:600]سصاحه: به عنوان رجیستر خواندنی۲۳۷۱ استفاده کنید. * از [6000:09]سصعه: به عنوان رجیستر خواندنی ۲۷ استفاده کنید. ‎iotrurtive[SO :d0] 5! ©‏ در دستور لا و [00: ]متس در بقیه ی دستورات به عنوان رجیستر نوشتن استفاده کنید. * از یک مولتی پلکسر استفاده کنید. * از [©©:00]مصصحهصم به عنوان [0:©]م< استفاده کنید.

صفحه 18:
کنتر لهای عمومی * خروجیها ‎PLO-vrd ©‏ لساجدهاوقبلیرا بسبینید - R-Porwt, bey us. ‏اولك‎ ‏ربا‎ ‎- ‏رو‎ ‏سا-‎ ‎> hy det ic bis COO, wt IG: - dl but beg ood sw لایناد LO sre DewRead Dew Drite DewiRey ReyDst ReyDrite ‏فين‎

صفحه 19:
کنتر لهای عمومی ۴ خروجیهای عمومی * ۳ را باموارد زیر جابجا کنید ‎@racwk beq‏ * ‎@CGrr = ®rawk * Vero‏ © © چه ورودیهایی برای تعیین سیگنالهای کنترلی فوق الذکر ضروری است؟ * فقط [09:0

صفحه 20:
0 سیکنالهای کنترلی مورد نیاز ‎al‏

صفحه 21:
کنتر لهای عمومی ‎PLOGr‏ 2 علسم) سس ‎wm 0000000 0 oO‏ ‎oO qa‏ 200 22 سا ‎ow 22200 = 0 ‎beg 000۹00 x oO ‎222 thers x x ‎ ‎ ‎ ‎ ‎© Re(Dst = ~Op[O] ۰ ۵0۵۷ ۶ 0۵7 * ‏[16م0- * [9]م0- - مسب‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 22:
0 کنتر لهای عمومی * اكر كل 10809 0000208 را يياده كنيم: به ساختار سازمان يافته ترى نياز داريم. * تا بتوان كيتها را بين سيكنالهاى كنترلى به اشتراك كذاشت. * راه حل رايج: ‎PLO‏ ‏؟ کد دستورالعملهای ۲12116۳68 طورى طراحى شده اند كه وروديهاى ‎PLO‏ مينترمها و خروجيها حداقل شوند.

صفحه 23:
ب مد کردن دستور سل

صفحه 24:
0 سيكة لها كنترلى مورد ‎a‏ دمل

صفحه 25:
طراحی تک سیکلی جه مشکلی دارد؟ ‎١ 2‏ ال ت۰۳ ۳۳ ‎(God size) (C@1) (fuck toe) ۳ ‏بحرانی ترین مسیر احتمالاً مال دستور ۱۸۸ است: ‎© deve, reyprend, chu, dew, reypurite ‏* دستورات دیگر سریعتر هستند: ‏* مثلاً دستورات نيازى به 0ك ندارند. * اكر كل 16969 را بياده كنيم تفاوت بين دستورات خيلى معنادارتر است. ‏* تقسيم اعداد اعشارى ‏* عدم وجود دستور در حافظه ى نهان (فصلهاى بعدى) ‎

صفحه 26:
0 پیاده سازی تک سیکلی راه حلها: * کلاک متفییر؟ * کنترل و طراحی خیلی مشکل است. ؟ یک کلاک کوچک و ثابت * تعداد کلاکهای مورد نیاز هر دستور (یعنی 161 متفاوت خواهد بود.

صفحه 27:
پیاده سازی چند سیکلی (م , (الناظ) جاسسيس صمل مصمس جر ,بصم )دب 2 جاع ‎Ob‏ © * از منطق تركيبى در سيكلهاى متفاوت مجددا استفاده مى كنيم: * يك حافظه ۴ یک (9) و عدم استفاده از بقیه ی جمع کننده ها ©اماد * كنترل خيلى ييجيده تر خواهد بود * به رجيسترهاى جديدى براى ذخيره ى نتايج نياز داريم (مثل 0108 . * در سيكلهاى بعدى مجددا استفاده مى شود. * منطقی که سیگنالها را محاسبه می کند نیز مجددا استفادة مى شود.

صفحه 28:
یک مسیر داده چند سیکلی سطح بالا توجه: ‎٠.‏ ۰ رچیستر دستورالعمل» رجیستر داده حافظه © یک حافظه که دارای باس آدرس است. ۴ یک (6,() که خروجی آن در رجیستر 0)()/) ذخیره می شود. Instruction register Data 26 Address. Register # Registers Register # Instruction] Memory" or datal 7 data Data register Register #

صفحه 29:
0 توضیح باس * سیمها را به اشتراک می گذاریم تا تعداد سیگنالها کاهش یابند. ؟ یک مولتی پلکسر توزیع شده داریم. * چندین منبع روی یک باس هستند. * بايد مطمتن باشیم که در هر لحظه از زمان فقط یکی از آنها فعال هستند!

صفحه 30:
متعاتياك تقر :دو اسه بت مان

صفحه 31:

صفحه 32:
کامهای طیاحی چند سیکلی Grp Orsoripion Gupte Brtioas 1 Peck AR=OEO[CC] PO=POHE 10 019 W=RE(AR[CS:2) O=RE(AR[CO9)) OLOmmPC+EE (1R[MAG:O)) << @ ex ‏ع0‎ OLOna = ® + GEMAR[AG:O)) # hwlaw OLOns = ® op 0 # vr ‎bey‏ # عم ‎F (gerv==() PO = @LOnw # beg PO=POPC-CO]-GE(IR[CS:0])<<e # ie ‎ew — | Dewey DEO[OLOna] = © # sw ‎DOR = OEO[OLOru] Hw ‏#حص 9 - :۳۵۹6 ااا | هه ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 33:
کنترل طیاحی چند سیکلی * تابعى از [۳]6:0() و حالت فعلی * به عنوان یک ماشین حالت متناهی (۳686) یا © یک میکرو-برنامه یا میکرو-کد (بعدا) Drxt Ounrect ext Grete ‏جه:8 أ بات __ اج‎ كنجوا”

صفحه 34:
ماشین حالت متناهی * برای هر حالت تعریف کنید: ؟ سیگنالهای کنترلی مورد نیاز مسیر داده در این سیکل ؟ سیگنالهای کنترلی برای تعیین حالت بعدی © تمام دستورات از 16۳" شروع می شوند. * تمام دستورات بعد از خاتمه. یک ‎IP‏ جدید را شروع می کنند: ؟ البته قبل از آن. ‎PO‏ را به صورت مناسب به روز رسانی می کنند.

صفحه 35:
شع تلم ۷ ل ‎ALUOp = 00‏ PCWrite RegWrite emtoReg مثال چند سیکلی: اجب

صفحه 36:

صفحه 37:
‎PEO‏ تسخصیهر‌حلها ‏© تخصيص حالت باعث تبديل حالتهاى منطقى به معادل دودويى آنها مى شود. ‏۴اقمیت موضوع؟ أ اگر تخصیص حالت را درست انجام دهیم. مدار کنترلی حاصله کوچکتر خواهد ‏بود. ‏#ا بيدا كزون حواب هه ات ‏* در ماشين طراحى شده ‎٠١‏ حالت داريم. ‏* مى توان هر يك از اعداد ‎٠‏ تا ‎١8‏ را به هر كدام از حالتها تخصيص داد.

صفحه 38:
IRWrite ALUSreB = OF ALUOp = 00 PCWrite Original: 2 inverters, 2 and3s, 1 or2 New: No gates--just bit 3!

صفحه 39:
Tord Wee ALUSreBt = 01 0 3 3 ع دستور رط MEM MemWrite IorD = 1 RegDst = ۳ ey

صفحه 40:

صفحه 41:
وا دستوز بيد 0 ‎ravi‏ Start ay MemWrite 10:0 21

صفحه 42:

صفحه 43:
IRegDst = 1 RegWrite lemtoReg = ير ۶۳ 00 ها د ‎ALUSreB‏ ‎‘ALUOp = 00)‏ ‎PCWrite‏ MemWrite 10:0 = 1

صفحه 44:

صفحه 45:

صفحه 46:
RCSource = 19 IF icons ALUSroAm0 TorD = 0 TRWrite ALUSreB = 01 ‘ALUOp = 00) Pcwrite MemWrite 10:0 21 MEM

صفحه 47:

صفحه 48:
خلاصه * پیاده سازی پردازنده © سیر داده ؟ کنترل ؟ پیاده سازی چند سیکلی ۱ 9 بعدى : ‎WIT DPD YIM‏

62,000 تومان