1 / 50

معماری سیستم های کامپیوتری

معماری سیستم های کامپیوتری. فصل چهارم: انتقال ثبات ها و ریز عمل ها. مهدی ایل بیگی دانشگاه پیام نور دماوند. ساختار داخلی سخت افزار. ساختار داخلی سخت افزار می تواند با تعیین موار زیر، مشخص گردد: مجموعه ای از ثبات ها و عملکرد آن ها. ترتیبی از ریز عمل ها که روی داده های ثبات ها عمل می کنند.

justus
Download Presentation

معماری سیستم های کامپیوتری

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. معماری سیستم های کامپیوتری فصل چهارم: انتقال ثبات ها و ریز عمل ها مهدی ایل بیگی دانشگاه پیام نور دماوند

  2. ساختار داخلی سخت افزار • ساختار داخلی سخت افزار می تواند با تعیین موار زیر، مشخص گردد: • مجموعه ای از ثبات ها و عملکرد آن ها. • ترتیبی از ریز عمل ها که روی داده های ثبات ها عمل می کنند. • می توان از کلمات برای بیان ترتیبی از ریز عمل ها استفاده نمود. اما استفاده از سمبل هایی به این منظور مناسب تر می باشد. • زبان انتقال ثبات ها (RTL)، زبانی ساده و سمبلیک به منظور بیان ریز عمل ها بین ثبات ها است.

  3. ثبات ها (Registers) • ثبات ها معمولا با حروف بزرگ نامگذاري مي شوند. گاهي اوقات پس از اسم آن ها اعداد قرار مي گيرد. (مانند: A, R13, IR) • اغلب نام ها نشان دهنده کاري است که ثبات انجام مي شود مثلا: MAR = Memory Address Register PC = Program Counter IR = Instruction Register DR = Data Register

  4. نحوه نمایش نمودار بلوکی ثبات ثبات R1 نمایش بیت های ثبات شماره گذاری بیت ها تقسیم ثبات به دو بخش

  5. ریزعمل (Microoperation) • اعمال پایه که روی داده های ذخیره شده در ثبات ها اعمال می شوند را ریزعمل می گویند. • نتیجه ریزعملی که روی یک ثبات اعمال می شود، در همان ثبات و یا یک ثبات دیگر قرار می گیرد. • چند ریزعمل: shift, count, clear و load • شمارنده ای با امکان بار شدن موازی، می تواند اعمال count و load را انجام دهد. • یک ثبات با قابلیت شیفت دو طرفه، می تواند اعمال شیفت به راست و یا چپ را انجام دهد.

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

  7. ریز عمل انتقال ثبات • کپي شدن اطلاعات يک ثبات به ثبات ديگر انتقال ثبات نام دارد. • عملگر جایگزینی :  • R2  R1 • در ضربان (پالس) بعدی ساعت محتویات R1 به R2 منتقل می شود. • محتویات R1 تغییری نمی کند. • مداری جهت ایجاد ارتباط بین خروجی های ثبات مبدا و ورودی های ثبات مقصد وجود دارد. • ثبات مقصد را می توان بصورت موازی بار نمود.

  8. توابع کنترلی • اغلب اوقات عمليات ها فقط زماني که يک شرط خاص برقرار باشد بايد اجرا شوند. • اين مساله شبيه if در زبان هاي برنامه نويسي است. • در سيستم هاي ديجيتال شرط با يک سيگنال کنترلي (control signal)، يا تابع کنترلي (control function) انجام مي شود. • تابع کنترلي به شکل زير نشان داده مي شود: P: R2  R1 • بدين معني که اگر P برابر 1 بود انتقال از R1 به R2 انجام شود. يا: if (P == 1) then (R2  R1)

  9. پياده سازي سخت افزاري انتقالات کنترلي t t+1 Clock Load Transfer occurs here دياگرام زمان بندي

  10. عملیات همزمان • اگر تعداد دو يا بيشتر عمليات همزمان انجام شود آن ها را با کاما (،) از هم جدا مي کنيم. P: R3  R5, MAR  IR • در اينجا اگر P=1 باشد، به طور همزمان R5 به R3 و IR به MAR منتقل مي شود.

  11. انتقال ثباتی همزمان T : R2  R1, R1  R2 • بدلیل اینکه محتویات ثبات R2 بر روی مسیر انتقال داده ها به ثبات R1 قرار دارد، در یک پالس زمانی این اطلاعات به R1 منتقل شده و همزمان محتویات R1 درون R2 کپی خواهد شد. • عمل فوق، که جابجایی مقادیر دو ثبات را نشان می دهد، با استفاده از فلیپ فلاپ های حساس به لبه (Edge Triggered Flip-flops) قابل انجام می باشد.

  12. برخی علائم RTL(Register Transfer Language)

  13. ارتباط بين ثبات ها • در يک سيستم ديجيتال با ثبات هاي فراوان، اتصال مستقيم هر ثبات با ثبات ديگر امکان پذير نيست. • براي اتصال n ثبات به يکديگر، به n(n-1) خط ارتباطي نياز است. • براي سيستم هاي با تعداد ثبات زياد عملي نيست. • به جاي اين کار از يک مجموعه مدار متمرکز به نام گذرگاه bus براي انتقال اطلاعات استفاده مي شود. • همچنين مدارهاي کنترلي براي اينکه تعيين کنيم کدام ثبات، ثبات منبع و کدام ثبات مقصد است.

  14. گذرگاه • در یک گذرگاه (Bus) اجزائ زیر را خواهیم داشت: • به ازای هر بیت ثبات، یک خط داده داریم. • خط هایی برای سیگنال های کنترلی که جهت انتخاب ثبات مورد استفاده قرار می گیرند. • جهت انتخاب ثبات مبدا (که باید داده ها را روی گذرگاه قرار دهد)، از تسهیم کننده (Multiplexer) استفاده می شود. • جهت انتخاب ثبات مقصد، باید خط کنترل بار شدن (Load) آن ثبات را فعال کنیم، تا داده ها به آن ثبات منتقل شود.

  15. گذرگاه سیستم برای 4 ثبات 4 بیتی

  16. انتقال از گذرگاه به یکی از 4 ثبات مقصد

  17. ارتباط بين ثبات ها توسط گذرگاه • برای ساخت یک Bus برای ارتباط بین k ثبات n بیتی به موارد زیر نیازمندیم: • به n تسهیم کننده (Multiplexer) نیاز داریم. • هر تسهیم کننده دارای k خط ورودی می باشد. • پس به ازای هر ثبات، یک ورودی برای تسهیم کننده ها داریم. • در واقع تعداد بیت های یک رجیستر، تعداد تسهیم کننده ها را مشخص می نماید و تعداد رجیستر ها نوع تسهیم کننده ها را تعین می نماید (مثلا گذرگاه برای 4 رجسیتر، تسهیم کننده های 4 به یک نیاز دارد). • BUS  R2,R1  BUS می تواند بصورت روبرو هم نوشته شود: R1  R2

  18. پیاده سازی گذرگاه با استفاده از بافر سه حالته بافر سه حالته Output Y=A if C=1 High-impedance if C=0 Normal input A Control input C Bus line for bit 0 A0 B0 C0 D0 0 S0 1 Select 2 S1 3 Enable

  19. data input lines n address lines k RAM unit Read Write n data output lines حافظه • حافظه (RAM) مداري است ترکيبي که شامل تعدادي ثبات است. • هر ثبات يک کلمه (word) را تشکيل مي دهد. • هر ثبات با يک آدرس مشخص مي شود. • آدرس ها براي r ثبات از 0 تا r-1 مي باشد. • هر ثبات (کلمه) مي تواند n بيت را ذخيره کند. • يک RAM با r = 2k کلمه nبیتی را در نظر بگيريد. اين RAM به موارد زير نياز دارد: • n خط داده ورودي • n خط داده خروجي • k خط آدرس • يک خط کنترل خواندن • يک خط کنترل نوشتن

  20. نقل و انتقالات حافظه • :Read انتقال از حافظه به خارج • Write: انتقال از خارج حافظه به حافظه • یک کلمه از حافظه M نامیده می شود. • ثبات آدرس، AR نامیده می شود. • ثبات داده، DR نامیده می شود. Read: DR  M[AR] Write: M[AR]  DR

  21. ريزعمل هاي حسابي • ريزعمل هاي حسابي پايه عبارت اند: • جمع • تفریق • افزایش (increment) • کاهش (decrement)

  22. نقل و انتقالات حافظه

  23. جمع کننده دودویی • تمام جمع کننده (Full Adder (FA))، یک مدار دیجیتال است که حاصل جمع دو بیت و رقم نقلی قبلی را محاسبه می نماید. • جمع کننده دودویی، مداری است که مجموع دو عدد باینری با طول دلخواه را محاسبه می کند. • جمع کننده دودویی از مدارهای تمام جمع کننده ساخته می شود. • خروجی رقم نقلی هر FA، به ورودی رقم نقلی بعدی وصل می شود. • جمع کننده باینری n بیتی نیاز به n تمام جمع کننده دارد.

  24. جمع کننده باینری 4 بیتی

  25. جمع کننده–تفریق کننده دودویی • اعمال جمع و تفریق توسط یک مدار مشترک و با افزودن دروازه های XOR به هر تمام جمع کننده انجام می گیرد. • ورودی M، عمل قابل انجام را کنترل می کند. • جمع کننده : M = 0 • تفریق کننده : M = 1 • در واقع وقتی M = 1 باشد با استفاده از XOR ها، بیت های عملوند دوم مکمل یک می شوند و بدلیل اینکه M به عنوان ورودی رقم نقلی اولین FA نیز می باشد در واقع مکمل دو عملوند دوم با عملوند اول جمع می شود، که این عمل معادل با تفریق می باشد.

  26. جمع کننده–تفریق کننده 4 بیتی

  27. افزاینده دودوئی

  28. مدارهای محاسباتی • تمامی ریز عمل های محاسباتی پایه، را می توان در یک مدار مجتمع پیاده سازی نمود. • مولفه اصلی این مدار، یک جمع کننده موازی است. • وابسته به ورودی های متفاوتی که به این جمع کننده داده می شود، اعمال متفاوتی می تواند انجام گردد.

  29. مدار 4 بیتی محاسباتی • این مدار دارای: • دو ورودی 4 بیتی A و B • یک خروجی 4 بیتی D • 4 ورودی A را مستقیما به ورودی تمام جمع کننده ها وصل می کنیم. • ورودی های تسهیم کننده 4 بیتی برای تامین ورودی دیگر مدار: • B, B, 0, 1 • S0 و S1 • خروجی تسهیم کننده به ورودی دوم تمام جمع کننده متصل می شود.

  30. اعمال قابل انجام با مدار 4 بیتی محاسباتی

  31. مدار 4 بیتی محاسباتی

  32. ریز عمل های منطقی • ريز عمل هاي منطقي، ريز عمل هايي هستند که عمليات دودويي را روي رشته اي از بيت هاي ثبات انجام مي دهند. • هر بیت بصورت جداگانه بررسی می شود. • مثال برای XOR: P:R1 R1 R2 • محتوای R1:0011 • محتوای R2 :0101 • محتوای R1 در صورت P==1: 0110

  33. برخی نماد های ریزعمل های منطقی • نمادهای ریز عمل های منطقی: • یا منطقی(OR)  • و منطقی (AND)  • مکمل خط تیره روی نماد ثبات • تشخیص دادن ریز عمل های منطقی و بولی از هم: P+Q: R1  R2+R3, R4  R5  R6 • علامت + بین دو تابع کنترلی، نمایانگر ”یا“ منطقی می باشد. • علامت + بین دو ثبات بیانگر ریزعمل جمع می باشد. • علامت بیانگر یا (OR) منطقی دو ثبات می باشد.

  34. پیاده سازی سخت افزاری ریزعمل های منطقی • پیاده سازی سخت افزاری ریزعمل های منطقی با استفاده از دروازه های منطقی صورت می پذیرد. • در اغلب کامپیوتر ها فقط ریز عمل های زیر پیاده سازی می شود و سایر ریز عمل ها منطقی دیگر، از این مجموعه استنتاج می شود. • AND, OR, XOR, Complement(NOT) • به ازای هر یک از بیت های ثبات ها از یک دروازه منطقی جداگانه، جهت انجام عمل مورد نظر استفاده می شود.

  35. پیاده سازی سخت افزاری ریزعمل های منطقی

  36. کاربردهای ریز عمل های منطقی • Selective-set AA+B • Selective-complement AAB • Selective-clear AA.B‘ • Mask (Delete) AA.B • Clear AAB • insert A(A.B)+C • Compare AAB • . . .

  37. ریز عمل های شیفت • در ریزعمل شیفت اولین فلیپ فلاپ مقدار خود را از ورودی سریال می گیرد و بقیه آن ها مقدار خود را از فلیپ فلاپ قبلی خود می گیرند. • در شیفت به چپ، اولین فلیپ فلاپ، سمت راست ترین است و هر فلیپ فلاپ مقدار خود را از فلیپ فلاپ سمت راست خود می گیرد. • در شیفت به راست، اولین فلیپ فلاپ، چپ ترین است و هر فلیپ فلاپ مقدار خود را از فلیپ فلاپ سمت چپ خود می گیرد. • .

  38. مقدار ورودی در شیفت ها • مقدار ورودی سریال با توجه به نوع شیفت مشخص می شود. • در شیفت منطقی صفر است. • در شیفت حلقوی مقدار بیت سمت دیگر ثبات می باشد. • در شیفت حسابی به چپ، صفر و در شیفت حسابی به، راست بیت علامت می باشد. • در شیفت حسابی به چپ زمانی که بیت علامت تغییر کند، سرریز رخ داده است.

  39. 0 0 شيفت منطقي • در شيفت منطقي بيت ورودي صفر است. • شيفت منطقي به راست: • شيفت منطقي به چپ: • در زبان انتقال ثبات از علائم زير استفاده مي شود: R2  shr R2 R3  shl R3

  40. شيفت چرخشی • در شيفت چرخشي بيت ورودي سريال، بيت خروجي از سمت ديگر ثبات است. • شيفت چرخشي به راست: • شيفت چرخشي به چپ: • در زبان انتقال ثبات از علائم زير استفاده مي شود: R2  cir R2 R3  cil R3

  41. 0 شيفت حسابی • شيفت حسابي براي اعداد علامت دار معني دار است. • شيفت حسابي به چپ عدد درون ثبات را در 2 ضرب مي کند. • شيفت حسابي به راست عدد درون ثبات را بر 2 تقسيم مي کند. • مهمترين ويژگي شيفت حسابي آن است که به هنگام شيفت (ضرب و تقسيم) علامت ثبات را حفظ مي کند. • شيفت حسابي به راست: • شيفت حسابي به چپ: sign bit sign bit

  42. شيفت حسابی • در شيفت حسابی به چپ بايد مساله سرريز (Overflow) چک شود. • اگر قبل از شيفت مقدار دو بيت آخر متفاوت باشد، سرريز رخ داده است، زیرا علامت عدد تغییر خواهد کرد. • در زبان انتقال ثبات از علائم زير استفاده مي شود: R2  ashr R2 R3  ashl R3 0 sign bit V

  43. مثال برای ریزعمل شیفت • شیفت منطقی • مقدار اولیه: 11010011 • مقدار پس از شیفت به راست: 01101001 • مقدار پس از شیفت به چپ: 10100110 • شیفت حلقوی • مقدار اولیه: 11010011 • مقدار پس از شیفت به راست: 11101001 • مقدار پس از شیفت به چپ: 10100111

  44. مثال برای شیفت محاسباتی • مثال اول • مقدار اولیه: 11010011 • مقدار پس از شیفت به راست: 11101001 • مقدار اولیه پس از شیفت به چپ: 10100110 • مثال دوم • مقدار اولیه: 10011010 • مقدار پس از شیفت به راست: 11001101 • مقدار پس از شیفت به چپ: 00110100 (سرریز)

  45. پیاده سازی سخت افزاری شيفت • محتوای ثبات روی گذرگاه قرار می گیرد، که این عمل به یک پالس نیاز دارد. • گذرگاه به مدار ترکیبی شیفت دهنده متصل است که مقدار گذرگاه را شیفت می دهد. • مقدار شیفت داده شده در همان ثبات بار می شود. • دو عمل فوق در یک ضربان ساعت انجام می گیرد!

  46. مدار ترکیبی شیفت دهنده 4 بیتی • نکته: H0 با ارزش ترین بیت است.

  47. واحد محاسبه و منطق (ALU) • در ALU، یک یا چند ثبات، ورودی ها را فراهم می کنند. • ALU عمل لازم را انجام می دهد. • خروجی به ثبات مقصد منتقل می شود. • تمام اعمال فوق در یک ضربان زمانی انجام می شود. • مدارهای محاسباتی، منطقی و شیفت می تواند در یک واحد سازماندهی شود. البته تعدادی خط کنترل باید عمل مورد نظر را انتخاب نماید.

  48. یک طبقه از واحد محاسبه، منطق و شیفت

  49. یک طبقه از واحد محاسبه، منطق و شیفت

  50. ؟

More Related