1 / 32

Department of Computer and IT Engineering University of Kurdistan Computer Architecture

Department of Computer and IT Engineering University of Kurdistan Computer Architecture Register Transfer Language (RTL) By: Dr. Alireza Abdollahpouri. دو بخش اساسی یک پردازنده. Datapath ( مسير داده ) The ALU, registers and logic to perform operations on them

Download Presentation

Department of Computer and IT Engineering University of Kurdistan Computer Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Department of Computer and IT Engineering University of Kurdistan Computer Architecture Register Transfer Language (RTL) By: Dr. AlirezaAbdollahpouri

  2. دو بخش اساسی یک پردازنده • Datapath (مسير داده) The ALU, registers and logic to perform operations on them • Control unit (واحد کنترل) • Generates signals to control datapath • Accepts status signals to perform sequencing Control unit Data Path

  3. زبان انتقال رجيستر RTL (Register Transfer language) براي مشخص کردن يک سيستم ديجيتال بايد موارد زير تعيين شوند: 1- مجموعه رجيسترهاي آن و توانايي هاي هر رجيستر 2- دنباله ميکرواپريشن هاي قابل اجرا بر روي اطلاعات ذخيره شده در هر رجيستر 3- شرط کنترلي که باعثانجاممجموعهايمتوالياز ميکرواپريشنها مي شود زبانانتقالرجيسترRTL براي سهولت در توصيف دنباله اي از عملوندها و نقل و انتقال داده بين رجيسترها (در datapath) از سيستم نمايش ويژه اي به اسم RTL استفاده ميشود. استفاده از RTL سبب سهولت توصيف عملکرد کامپيوتر و راحتي کار طراحي آن ميگردد. تعريف ريزعمليات(Micro Operation) يک عمليات پايه که روي داده هاي ذخيره شده روي رجيسترها در يک کلاک انجام ميشود مانند: Shift , Load , Clear , Inc ,Dec

  4. قوانين RTL PC 7 6 5 4 3 2 1 0 15 8 7 0 PC(H) PC(L) اسامي رجيسترها : اساميرجيسترهابا حروف بزرگ که معمولا ساده شده کار رجيستر استمشخص ميشوند.نظير: MAR=Memory Address Register PC= Program Counter IR= Instruction Register R1=(رجيستر شماره 1) نمايش رجيسترها : براينمايشيکرجيستراز يک مستطيل استفاده ميشودکهنامرجيستردروسطآننوشتهميشود نمايش بيت ها : بيت هاي يک رجيستر n بيتي از 0 (سمت راست) تا n-1 (سمت چپ ترين بيت) شماره گذاري ميشوند گاهي يک رجيستر 16 بيتي به 2 بايت کم ارزش و پر ارزش بصورت زير تقسيم ميشود از پرانتز و شماره بر اي مشخص کردن يک قسمت از رجيستر استفاده ميشود PC(H)= PC(8-15) PC(L)= PC( 0-7 )

  5. قوانين RTL • انتقالاطلاعاتيکرجيستربهديگريبصورتزيرنمايشدادهميشود: R2  R1 عبارتفوقنشان دهنده انتقال محتويات رجيستر R1 به رجيستر R2 است.محتوي R1 بدون تغييرباقي مي ماند ولي محتوي R2 برابر با محتوي R1 ميشود. لازمهسختافزاري انتقال : 1- موجود بودن مسيري از خروجي R1 به R2 2- رجيسترR2 بايد قابليت بارکردن موازي (Parallel Load) داشته باشد . • دو ريزعمليات همزمان با کاما از هم جدا می شوند: R1  R1+R2, R3  0

  6. تابعکنترلي P Load Control Circuit CLK R2 n R1 شرط انتقال : گاهي اوقات انتقال فقط بايد در صورت تحقق يک شرط کنترلي خاص انجام شود نظير عبارت : If (P=1) then (R2 R1) تابع کنترلي : يک عبارت بولي است که مقدار صفر يا يک دارد اين تابع بصورت زيردرعبارتميکرواپريشنگنجانيدهميشود P: R2  R1

  7. زمانبندي T: R2 R1 , R1 R2 مدار كنترل در زمان t سيگنال P را فعال ميكند لذا وقتي كلاك t+1 به وقوع مي پيوندد با P فعال روبرو شده و باعث انتقال R1 به R2 ميشود. t+1 t Clk Load (P) عملانتقالدراينزماناتقاقميافتد اين انتقال در لبهكلاك t+1 اتفاق مي افتد. اگر P بيش از يك Clk فعال باشد عمل انتقال در ساير كلاك ها هم اتفاق خواهد افتاد. فعال بودن به لبه باعث ميشود تا بتوان عمل را در يك كلاك پالس انجام داد.

  8. Multiplexer-Based Transfers • Consider • Which can also be expressed as • Block diagram?

  9. Multiplexer Block Diagram

  10. تمرین K Load Control unit R2 R1 n 7 (0…0111) + n 1 0 MUX

  11. انتقال از طريق گذرگاه (BUS) • در يک کامپيوتر تعداد زيادي رجيستر وجود دارد که همه آنها بايد به نوعي به هم متصل شوند براي سهولت در اتصال از Bus استفاده مي شود. • Bus به مجموعه اي از خطوط مشترک اتلاق ميشود که با داشتن n خط مي توانند اطلاعات رجيسترهاي n بيتي را به طور همزمان منتقل کنند. • براي پياده سازي Bus از دو طريق استفاده مي شود: • مالتي پلکسرها • گيت هاي با خروجي 3 حالته

  12. BUSبا استفاده ازMUX 4x1 4x1 4x1 4x1 MUX MUX MUX MUX 3 0 2 1 A 0 1 2 3 0 1 2 3 B 0 1 2 3 C S1 S0 D 0 1 2 3 4 line Bus S1 S0 تعداد MUXها : به تعداد بيتهاي رجيسترها ( Mux 0 بيت صفر تمام رجيسترها را روي bus قرار ميدهد و ... ) تعداد ورودي MUX ها : به تعداد رجيسترها

  13. انتقال از طريق BUS • معمولا وروديهمه رجيسترهاي مقصد به BUS متصل ميباشند.ازاينروکافيستS1S0 بنحوي انتخاب شود که خروجي رجيستر روي BUS قرار گيرد. همزمان ورودي Load رجيستر مقصدنيز فعال شودتادادهازمبدابهمقصدانتقاليابد.برايمثالبرايانتقالرجيستر A بهرجيستر B ازطريقباسبهترتيبزيرعملميشود: در صورتي که وجود BUS را بصورت ضمني قبول کنيم بصورت ساده مي نويسيم: BUS  A , B  Bus B  A

  14. پياده سازي BUS با استفاده از گيتهاي 3 حالته: TriState Buffer • گيت سه حالته : مداري است که خروجي آن علاوه بر 2 حالت صفر و يک مي تواند دروضعيت سومي قرار گيرد که اصطلاحا حالت امپدانس بالا ناميده شده و در اين حالتخروجي گيت بصورت مدار باز عمل ميکند يعني نه به صفر وصل است نه به يک. Input A Output Y Y=A c=1 Y=High Impedance c=0 يك بافر 3 حالته و عملكرد آن Control C

  15. پياده سازي BUS با استفاده از گيتهاي 3 حالته: TriState Buffer • استفاده از گيتهاي سه حالته سبب ميشود تا بتوان يک Bus را براحتي از طريق اتصال خروجي رجيسترهاي سه حالته و يا استفاده از يک بافر سه حالته بوجود آورد • فقط بايد مواظب بود که در هر لحظه فقط يکي از گيت هاي سه حالته فعال باشد اين اطمينان با استفاده از يک Decoder حاصل ميشود Bus line for bit 0 A0 B0 C0 D0 S0 S1 2x4 Decoder Enable

  16. انواعميکرواپريشن یا ریزعملیات • ميکرواپريشنهايمتداولپيادهسازيشدهدرکامپيوترهايديجيتالعبارتنداز: • انتقال رجيستر : اطلاعات را از يک رجيستر به ديگري منتقل مي کنند. • محاسباتي : عمليات محاسباتي را روي داده ذخيره شده در رجيسترها انجام ميدهند. • منطقي : عمليات دستکاري روي بيت هاي رجيستر را انجام مي دهد. • Shift : عمل شيفت را روي داده ذخيره شده روي رجيسترها انجام مي دهند.

  17. انتقال حافظه Read : Write : Read Memory unit AR Write Data out Data in می توان برای کار با حافظه از دو رجيستر استفاده کرد:AR ، DR عمل خواندن حافظه :Read براي خواندن از يک محل مشخص از حافظه بايد آدرس آن محلمشخص شده در رجيستر خاصي به نام Address Register نوشته شود. دادهخوانده شده از حافظهنيز در رجيستر DR نوشته مي شود . عمل نوشتن درحافظه :Write • آدرسمحلموردنظردر AR ريختهميشود. اينمحلحافظهبصورت M[AR] نشاندادهميشود .دادهموردنظرميتوانددرهريکازرجيسترهاقرارداشتهباشد. • ميکرواپريشنهايمربوطهبصورتزيرخواهندبود:

  18. ميکرواپريشنهايمحاسباتي • ميکرو اپريشنهاي محاسباتي اصليعبارتنداز: جمع ، تفريق ، افزايش ، کاهشوشيفت • ميکرواپريشن جمع : • بصورتروبرونشاندادهميشود:R3  R1+R2 احتياجات سخت افزاري : سه رجيستر و مدارات ديجيتالي که عمل جمع را انجام دهند .

  19. ميکرواپريشنهايمحاسباتي R3  R1-R2 معادلاستبا R3  R1+R2+1 ميکرو اپريشن تفريق : اغلب از طريق متمم گيريو جمع انجام مي شود: ميکرواپريشن INC ، DEC : ( با مدار ترکيبي و با بايک شمارنده بالا-پائين شمار ساخته مي شوند ) R1  R1-1 R1  R1+1

  20. جمع کننده و تفريق كننده باينري براي اجراي ريزعملوند جمع نياز به مداري است که عمل جمع را روي رجيسترهاانجام دهد. اين مداراز n مدارتمامجمعکننده FA ساخته مي شود. ورودي بهاينمدارهريک ازرجيسترهايR1 و R2 و خروجي مي تواند به هريک از آنها ويا رجيستر ديگري منتقل شود . A3 A2 A1 A0 B3 B2 B1 B0 M FA FA C0 FA FA C4 C3 C1 C2 M=0 S=A+B S3 S2 S1 S0 M=1 S=A-B

  21. مدارواحدمحاسباتي Cin S1 S0 A0 S0 X0 C0 S1 D0 4x1 Fi B FA 0 MUX B مي توان با استفاده از مدار روبرو انواع ميکرو اپريشنهاي محاسباتي را يکجا پياده سازي کرد . خروجي اين مداربصورت جدولزير است . 1 Y0 C1 2 0 3 1 S1 S0 S0 A1 S1 X1 C1 4x1 Fi B D1 0 MUX B 1 Y1 C2 0 2 1 3 D= A+Y+Cin S1 S0 A2 S0 X3 C2 S1 4x1 Fi D2 B S0 S1 CIN Y D 0 0 0 B A+B 0 0 1 B A+B+1 0 1 0 B A+B 0 1 1 B A+B+1 1 0 0 0 A 1 0 1 0 A+1 1 1 0 1 A-1 1 1 1 1 A Micro Operatioon Add Add With Carry Sub with Borrow Sub Inc Dec Transfor. 0 MUX B 1 Y3 C3 0 2 1 3 S1 S0 A3 X3 C3 S0 S1 D3 4x1 Fi B 0 MUX Y3 C4 B 1 0 2 1 3 Cout

  22. ميکرواپريشنهايمنطقي Logic MicroOperations • اينميکرواپريشنها عمليات باينري منطقی را روي بيت هاي ذخيره شده در رجيسترها انجام ميدهند. عملباينريبصورتجداگانهبررويهر بيت اعمالميگردد. • ميکرواپريشن XOR • ميکرواپريشن OR • ميکرواپريشن AND

  23. پياده سازي سخت افزاري ميکرواپريشنهايمنطقي S1 S0 OutPut S1 S0 S0 S1 0 0 0 1 1 0 1 1 Ai Bi 0 1 2 MUX Ei 3

  24. برخيکاربردهايميکرو اپريشنهاي منطقي Selective Set : براي يک کردن بيتهايي از رجيستر A بکار ميرود.بيتهايي را که ميخواهيم يک شوند، توسط رجيستر B مشخص ميکنيم. اينکار باانجام ميشود. A B)دو بيت سمت چپ A را مجبور به يک شدن مي کنيم، بقيه دست نميخورد.( A(بعد از عمل) سوال: برای selective clear به چه صورت عمل می کنيم؟

  25. ميکرواپريشنهايشيفت • اينميکرواپريشنهابرايانتقالسريالدادهبکارميروند شيفت به راست : شيفت به چپ : Si So Si 0 1 1 0 1 1 0 Si So 1 1 0 Si 0 1 1 0 بعدازشيفت قبلازشيفت

  26. انواعشيفت شيفت منطقي Logical Shift : • مقدار Si=0 در نظر گرفته ميشود. R1 Shl R1 شيفتمنطقيبهسمتچپ در RTL ميکرواپريشن هر دو رجيستر مبداومقصدبايد يکسانباشند. شيفتمنطقيبهسمتراست R2 Shr R2

  27. انواعشيفت شيفت چرخشي Circular Shift : • Si به So وصل ميشود. شيفتچرخشيبهسمتچپ R1 Cil R1 شيفتچرخشيبهسمتراست R2 Cir R2

  28. انواعشيفت شيفت محاسباتي Arithmetic Shift : • درايننوعشيفت،شيفتبهراستبهمنزلهتقسيمبر 2 وشيفتبهسمتچپبهمنزلهضربدر 2 است.ازاينرومحتوي بيت علامت رجيستر درهنگامشيفتبدون تغيير باقيميماند. • اگر در asl مقدار Rn-1 عوض شود OverFlow اتفاق مي افتد. برايتشخيصاينامرازرابطهزيراستفادهميشود: (قبل از شيفت) Si asr: تقسيم بر 2 R asr R R n-1 R0 Si=0 ضرب در 2 R1 asl R asl: R n-1 R0

  29. پيادهسازيسختافزاريميکرواپريشنهايشيفتپيادهسازيسختافزاريميکرواپريشنهايشيفت A3 A2 A1 A0 Serial Input IL Serial Input IR S (select) 0 for shift right 1 for shift left 0 0 0 0 S 1 S 1 S 1 S 1 MUX MUX MUX MUX H3 H2 H1 H0 مدارترکيبيبرايشيفت 4 بيتي

  30. ALU • به جاي اينکه هر رجيستر جداگانه عمليات را انجام دهد، ميتوان از يک واحد محاسباتيمنطقي مستقل براي انجام عمليات بر روي رجيسترهاي مختلف استفاده کرد.اينواحد ALU ناميدهميشود. • براي انجام يکميکرواپريشنخروجي رجيستر مبدا به ورودي ALU متصل شده و خروجي ALU به وروديرجيستر مقصد متصل ميشود. • مدار ترکيبي ALU عمل مورد نظر را که توسط وروديهاي کنترل مشخص ميشود انجام ميدهد. • عمل شيفت ميتواند توسطALU يا به صورت مجزا توسط واحد ديگري انجام شود. عملوند 1 carry ALU OV نتیجه عملوند 2 انتخاب عمل

  31. ALU مدارسختافزاريبراييکبيت: ALU Ci S3 S2 S1 S0 Cin 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 x 0 1 0 1 x 0 1 1 0 x0 1 1 1 x 1 0 x x x 1 1 x x 0 F Operation A+B A+B+1 A+B A - B A A+1 A -1 A A B A B A BAshl A shr A S1 يک قسمت از مدار محاسباتي Di S0 اسلاید 21 Bi S2 Ai Select S3 4x1 Fi Ci+1 0 MUX 1 Ei S1 2 S0 يک قسمت از مدار منطقي 3 اسلاید 23 Bi Ai Ai-1 Ai+1

  32. Questions

More Related