1 / 57

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

معماری سیستم های کامپیوتری. سازماندهی و طراحی کامپیوتر پایه. مهدی ایل بیگی دانشگاه پیام نور دماوند. مشخصات کامپیوتر پایه مانو. کامپيوتر پايه دو جزء (component) اصلي دارد، پردازنده و حافظه. حافظه 4096 کلمه (خانه یا سلول) دارد. 4096 = 2 12 ، يعني به 12 خط آدرس نياز داريم.

mele
Télécharger la présentation

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

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. مشخصات کامپیوتر پایه مانو • کامپيوتر پايه دو جزء (component) اصلي دارد، پردازنده و حافظه. • حافظه 4096 کلمه (خانه یا سلول) دارد. • 4096 = 212، يعني به 12 خط آدرس نياز داريم. • هر کلمه 16 بيت طول دارد. RAM CPU 0 15 0 4095

  3. مشخصات کامپیوتر پایه مانو • برنامه = يک دنباله از دستورالعمل ها. • دستورالعمل = يک دنباله از ريزعمل ها. • دستورالعمل: دستورالعمل های کامپیوتر بصورت یک کد دودوئی هستند که ترتیب خاصی از ریز عمل ها را مشخص می کنند. • روال کلی اجرای یک برنامه: • دستورالعمل هاي يک کامپيوتر به همراه همه داده هاي لازم در حافظه ذخيره می شوند. • CPU دستورات را یکی یکی از حافظه مي خواند. • هر دستور از حافطه درون يک ثبات به نام IR ذخيره می گردد. • با شناسایی دستورالعمل، دستورالعمل به دنباله اي از ريزعمل ها تبديل مي شود تا با انجام ريزعمل ها دستورالعمل مورد نظر اجرا شود.

  4. سازمان یک برنامه ذخیره شده • يک دستورالعمل اغلب از دو بخش تشکيل شده است. • کد عمليات (Opcode) عملي را که دستورالعمل بايد انجام دهد مشخص مي کند. • آدرس(Address) آدرس یک ثبات و یا مکانی از حافظه را مشخص می کند که دسترسی به عملوند را میسر می سازد. 4096 * 16حافظه 15 12 11 0 دستورات برنامه عملوند ها (اطلاعات) کد آدرس قالب دستور 15 0 عملوند دودوئی AC - ثبات پردازنده

  5. انواع آدرس دهی • مقدار قرار گرفته در بخش آدرس (12 بیتی) می تواند یکی از موارد زیر باشد: • مقدار واقعی داده = (آدرس دهی بلافصل (Immediate)) • آدرس مکانی از حافظه که داده در آنجا قرار گرفته است = (آدرس دهی مستقیم (direct)) • آدرس مکانی از حافظه که در آنجا، آدرس داده مورد نظر (عملوند) قرار گرفته است. = (آدرس دهی غیر مستقیم (indirect)) • نکته1: به آدرس مکان عملوند آدرس موثر (Effective Address) گفته می شود. • نکته2: برای مشخص کردن نوع آدرس دهی یکی از بیت های دستور به عنوان بیت آدرس غیرمستقیم در نظر گرفته می شود.

  6. آدرس دهی مستقیم و غیر مستقیم • اگر بیت Addressing Mode، برابر 0 باشد نوع آدرس دهی آدرس دهی مستقم است و اگر این بیت 1 باشد نوع آدرس دهی غیر مستقیم خواهد شد.

  7. لیست ثبات های کامپیوتر مبنا

  8. ثبات های کامپیوتر مبنا • يک پردازنده تعداد زيادي ثبات براي نگهداري دستورالعمل ها آدرس ها و داده ها و... دارد. • پردازنده يک ثبات به نام شمارنده برنامه(Program Counter (PC)) دارد که آدرس دستوري را که بايد اجرا شود، نگه مي دارد. • چون آدرس ها در کامپیوتر پایه 12 بیتی است، پس PC، 12بيتي می شود. • در آدرس دهي مستقيم يا غير مستقيم پردازنده براي آنکه آدرس عملوند را نگهداری کند، از يک ثبات به نام ثبات آدرس Address register (AR) استفاده مي کند. • چون آدرس ها در کامپیوتر پایه 12 بیتی است، پس AR، 12بيتي می شود. • پس از آنکه عملوند در حافظه پيدا شد، در آدرس دهي مستقيم يا غير مستقيم، عملوند به يک ثبات به نام ثبات داده Data Register (DR) منتقل مي شود. • کامپيوتر پايه يک ثبات همه منظوره به نام انباره Accumulator (AC) نيز دارد.

  9. مشخصات کامپیوتر پایه مانو • مثلا مي توانAC را به يک مکان خاص از حافظه منتقل کرد يا مکان خاص از حافظه را به AC منتقل کرد. • در کامپيوتر پايه از يک ثبات براي نگهداري داده هاي مياني يا موقتي استفاده شده است به اين ثبات، ثبات موقتي Temporary Register (TR)مي‌گويند. • کامپيوتر پايه يک مدل بسيار ساده ورودي/خروجي دارد. • دستگاه هاي ورودي کاراکترهاي 8 بيتي را به پردازنده مي فرستند. • پردازنده کاراکترهاي 8 بيتي را به دستگاه هاي خروجي مي فرستد. • ثبات ورودي Input Register (INPR)، داده 8 بيتي را که از دستگاه ورودي رسيده است نگهداری می نماید. • ثبات خروجيOutput Register (OUTR)،داده 8 بيتي را که به دستگاه خروجي فرستاده مي شود نگهداری مي نماید.

  10. ثبات ها و حافظه کامپیوتر مبنا 11 0 PC Memory 11 0 4096 x 16 AR 15 0 IR CPU 15 0 15 0 TR DR 7 0 7 0 15 0 OUTR INPR AC

  11. شمارنده برنامه • نکاتی در مورد ثبات Program Counter: • آدرس مکانی از حافظه که دستور بعدی در آن قرار گرفته است (دستوری که باید بعد از دستور درحال اجرا، اجرا گردد)، را نگهداری می نماید. • در زمانی که چرخه اجرای دستور فعلی کامل شد، دستور بعدی واکشی (fetch) می شود. دقیقا پس از واکشی دستور، PC افزایش می یابد. • در زمان اجرای دستور انشعاب (branch)، PC مقدار جدیدی می گیرد.

  12. گذرگاه مشترک (Bus) • مسیری است برای انتقال محتویات ثبات ها به یکدیگر. • با توجه به S2 S1 S0 مشخص می شود که خروجی کدام بخش باید روی گذرگاه قرار گیرد. • زمانی که ثبات کمتر از 16 بیت داده دارد، به بیت های با ارزش گذرگاه مقدار صفر داده می شود. • ثباتی که پایه Load آن یک باشد، داده ها را از گذرگاه می خواند. • در زمانی که پایه Write حافظه فعال باشد، داده ها در حافظه نوشته می شود. • در زمانی که پایه Read حافظه فعال باشد، داده های حافظه روی گذرگاه قرار می گیرد، مشروط به اینکه S2 S1 S0=111 باشد.

  13. گذرگاه مشترک ALU

  14. گذرگاه مشترک

  15. ثبات آدرس - AR • همیشه برای مشخص کردن آدرسی از حافظه بکار می رود. • این ثبات اختصاصی، نیاز به وجود گذرگاه جداگانه ای برای گذرگاه آدرس را از بین برده است. • محتوای هر یک از ثبات هایی که خروجی آن ها به گذرگاه متصل است را می توان در حافظه نوشت. • هر یک از ثبات هایی که ورودی آن به گذرگاه متصل است، می تواند به عنوان مقصد دستور Read از حافظه باشد. در صورتی که خط Load آن فعال باشد.

  16. ثبات انباره - AC • ورودی این ثبات، خروجی مدار جمع کننده و منطقی می باشد. • در مدار جمع کننده و منطقی: • ورودی می تواند یکی از موارد زیر باشد: • خروجی 16 بیتی انباره (AC) • خروجی 16 بیتی ثبات داده (DR) • خروجی 8 بیتی ثبات ورودی (INPR) • خروجی می تواند یکی از موارد زیر باشد: • ورودی 16 بیتی انباره (AC) • فلیپ فلاپ E (سرریز یا همان بیت توسعه انباره) • ثبات های داده و انباره برای انجام اعمال منطقی و محاسباتی بکار می روند.

  17. نحوه استفاده از گذرگاه مشترک • محتویات هر ثباتی که خروجی آن به گذرگاه متصل است، می تواند روی گذرگاه گذاشته شود و هر ثباتی که ورودی آن به گذرگاه متصل است نیز می تواند از گذرگاه بار (Load) شود. • بدلیل اینکه DR بعنوان ورودی به AC متصل است دو ریز عمل زیر می توانند در یک لحظه اجرا شوند: DR  AC and AC  DR • سه خط کنترل s0، s1 و s2 کنترل مي کنند که کدام ثبات محتویاتش را به گذرگاه انتقال دهد. S2 S1 S0 Register 0 0 0 x 0 0 1 AR 0 1 0 PC 0 1 1 DR 1 0 0 AC 1 0 1 IR 1 1 0 TR 1 1 1 Memory

  18. ساختار کلی دستورات کامپیوتر پایه • دستورات با ارجاع به حافظه (OP-code = 000 ~ 110) • دستورات با ارجاع به ثبات ها (OP-code = 111, I = 0 ) • دستورات ورودی خروجی (OP-code =111, I = 1)

  19. فرمت دستورات • فقط 3 بیت برای کد دستور بکار می رود. • بنا به فرض فوق، بنظر می رسد که فقط 8 کد دستور مختلف می توانیم داشته باشیم. اما این غلط است... • زمانی که کد عمل 111 است، دستور یا رجیستری است یا ورودی/خروجی، که در این حالت به 12 بیت پایینی دستور برای آدرس دهی حافظه نیازی نیست، درنتیجه این 12 بیت جهت تعریف کد دستورالعمل های رجیستری یا ورودی/خروجی بکار می رود.

  20. دستورات کامپیوتر پایه

  21. كامل بودن مجموعة دستورالعمل ها • هر كامپيوتر بايد مجموعه‌اي از دستورالعمل ها را داشته باشد كه كاربر بتواند براي محاسبه هر تابعي كه محاسبه پذير بودن آن محرز است، برنامه‌اي به زبان ماشين بنويسد. انواع دستورالعمل ها بشرح زیر است: • دستورالعمل هاي عملياتي: • حسابي، منطقي و جابجايي: - ADD, CMA, INC, CIR, CIL, AND, CLA • تبادل اطلاعات: - تبادل اطلاعا ت با حافظه وثباتهاي كامپيوتر (LDA, STA) • دستورالعمل هاي كنترلي: • دستورالعمل هاي كنترل برنامه و وارسي شرايط (BUN, BSA, ISZ) • دستورالعمل هاي ورودي خروجي: • ورودي خروجي (INP, OUT)

  22. واحد کنترل • واحد كنترل همة پروسسورها دستورالعمل هاي ماشين را به سيگنال هاي كنترلي تبديل مي‌كند. اين سيگنال هاي كنترلي براي كنترل ريزعمل ها بكار مي‌روند. • واحد كنترل به دو طريق قابل ساخت مي‌باشد: • كنترل سخت‌افزاري: • واحد كنترل از مدارهاي تركيبي و ترتيبي ساخته شده است كه كار آن ها توليد سيگنال هاي كنترلي است. • كنترل ريزبرنامه‌نويسي شده: • يك حافظة كنترلي در پردازشگر وجود دارد كه شامل ريز عمل هايي است كه سيگنال هاي كنترلي لازم را توليد مي‌كند. • ما يك واحد كنترلي سخت‌افزاري را براي كامپيوتر پايه ارائه و استفاده مي‌كنيم.

  23. واحد کنترل

  24. وظایف واحد کنترل • خواندن دستور از حافظه و انتقال آن به IR • قرار دادن سمت چپ ترین بیت در فلیپ فلاپ I • رمزگشایی کد 3 بیتی دستورالعمل با استفاده از یک رمزگشای 3 به 8 در خطوطD0 تا D7 به منظور شناسایی نوع دستور. • رمزگشایی کد 4 بیتی شمارنده ترتیبی با استفاده از یک رمزگشای 4 به 16 در خطوط T0 تا T15 برای تولید سیگنال های زمانی. • در نهایت مقادیر I، D0 تاD7 وT0 تاT15 و 12 بیت سمت راستیIR و سایر ورودی ها به دروازه های کنترلی و منطقی ارسال می گردند تا سیگنال های کنترلی تولید و سخت افزار برای انجام دستورهای متفاوت آماده گردند.

  25. ترتیب شمار (Sequence Counter) • وظیفه ترتیب شمار، تولید سیگنال های زمانی می باشد. • دارای ورودی های افزایش (INR) و پاک کردن (CLR) می باشد. • مثال: • SC بصورت افزایشی شمارش می کند تا T0 ، T1 ، . . . و T4 را تولید نماید. • در زمان T4، اگر D3 فعال باشد، ترتیب شماره پاک شده و مقدار صفر می گیرد. • این عملیات بصورت زیر نوشته می شود: D3T4: SC  0

  26. دیاگرام زمانی

  27. چرخه اجرای دستورالعمل • واکشی دستور از حافظه (Fetch) • رمزگشایی دستور (Decode) • خواندن آدرس موثر از حافظه در صورتی که از شیوه آدرس دهی غیر مستقیم استفاده شده باشد. • اجرای دستورالعمل (Execute)

  28. واکشی و رمزگشایی • ابتدا با مقداردهی شدن SC به صفر، سیگنال زمانی T0تولید می شود. • پس از هر ضربان زمانی، SC افزایش می یابد. • ریز عمل های واکشی و رمزگشایی: T0 : AR  PC T1 : IR  M[AR], PC  PC+1 T2 : D0,…,D7  Decode, AR  IR(0-11), I  IR(15)

  29. واکشی و رمزگشایی

  30. تعیین نوع دستورالعمل

  31. دستورات انتقال ثبات ها

  32. دستورات ارجاع به حافظه (1)

  33. دستورات ارجاع به حافظه (2)

  34. دستورات ارجاع به حافظه (3)

  35. دستورات ارجاع به حافظه (4)

  36. ثبات ورودی (INPR) • برای متوجه شدن از اینکه ورودی آماده است از فلیپ فلاپ ورودی یک بیتی FGI، برای اعلام عملیات ورودی استفاده می کنیم. • این فلیپ فلاپ در ابتدا مقدار صفر دارد. • زمانی که کلیدی روی صفحه کلید فشرده می شود یک کد 8 بیتی عدد-حرف به ثبات INPR منتقل می شود و سپس پرچم ورودی FGI یک می شود. • در ادامه ورودی دیگری از صفحه کلید پذیرفته نمی شود. • سپس کامپیوتر FGI را کنترل می کند، اگر یک بود انتقال بصورت موازی از INPR به AC انجام می شود. • حال FGI صفر می شود تا ورودی های بعدی قابل دریافت باشد. • حالا می توان ورودی های دیگری از صفحه کلید پذیرفت.

  37. ثبات خروجی (OUTR) • فلیپ فلاپ یک بیتی خروجی FGO برای اعلام عملیات خروجی است. • این فلیپ فلاپ در ابتدا یک است. • کامپیوتر FGO را کنترل می کند، اگر یک بود یعنی دستگاه خروجی آماده دریافت اطلاعات است، حال اطلاعات بصورت موازی از AC به OUTR منتقل می شود. • سپس FGO صفر می شود به این معنی که دستگاه خروجی در حال انجام کار است. • درنتیجه خروجی دیگری از کامپیوتر قابل ارسال نمی باشد. • وسیله خروجی کاراکتر 8 بیتی را دریافت می کند و مثلا خروجی را چاپ می کند. • در انتها FGO می تواند دوباره یک شود. • حالا امکان ارسال خروجی جدید وجود خواهد داشت.

  38. سازمان ورودی خروجی

  39. دستورات ورودی خروجی L1:SKI BUN L1 INP

  40. فعال سازی وقفه (IEN) • کنترل مداوم FGI و FGO توسط کامپیوتر زمان را تلف می کند. • با استفاده از IEN هر زمان که نیازی به کنترل ورودی و خروجی باشد، به CPU اطلاع داده می شود. • در خلال اجرای دستور، در صورتی که FGI یا FGO يك باشد، مقدار R یک می شود. • وقفه در زمانی رخ می دهد که کامپیوتر خواسته باشد دستور بعدی را واکشی نماید. • اگر R=0 باشد، اجرای دستور بعدی انجام می گیرد. • اگر R=1 باشد، اجرای وقفه انجام می گیرد.

  41. نمودار گردشی وقفه

  42. مثالی از چرخه وقفه

  43. چرخه وقفه • شرط مقدار دهی R به یک: • عملیات مرحله واکشی با اعمال تغییرات لازم بمنظور سرویس دهی به وقفه، بصورت زیر خواهد بود:

  44. نمودار گردشی اعمال کامپیوتر

  45. نیاز های سخت افزاری برای طراحی کامپیوتر پایه • یک واحد حافظه متشکل از 4096 کلمه 16 بیتی • ثبات های • AR,PC,DR,AC,IR,TR,OUTR,INPR,SC • فلیپ فلاپ های وضعیت • I,S,E,R,IEN,FGI,FGO • رمز گشا • یک رمز گشای 3 به 8 برای شناسایی کد دستورها • یک رمزگشای 4 به 16 برای زمانبندی • دروازه های منطقی کنترلی برای طراحی واحد کنترل • جمع کننده و مدار منطقی که خروجی آن به ثبات انباره متصل می شود.

  46. ورودی های دروازه های منطقی واحد کنترل • خروجی دو رمز گشا: • 8 بیت برای دستور العمل و 16 بیت خروجی ترتیب شمار • هفت فلیپ فلاپ I,S,E,R,IEN,FGI,FGO • بیت های 0 تا 11 ثبات دستور العمل • بیت های 0 تا 15 ثبات انباره • برای کنترل صفر بودن ثبات و کنترل بیت علامت • بیت های 0 تا 15 ثبات داده، برای کنترل صفر بودن ثبات برای دستورISZ

  47. خروجی های دروازه های منطقی کنترل • ورودی های کنترلی 9 ثبات • خطوط کنترلی خواندن و نوشتن حافظه • یک، صفر یا متمم کردن مقدار فلیپ فلاپ ها • خطوط S2 S1 S0 جهت انتخاب یک ثبات برای دسترسی به گذرگاه • کنترل جمع کننده و مدار منطقی انباره

  48. دروازه های کنترلی ثبات AR • ورودی های کنترلی ثبات: LD, INR, CLR باید مشخص گردند. • برای این منظور باید تمام دستوراتی که مقدار AR را تغییر می دهند (که بشرح زیر هستند)، را بشناسیم و بر اساس آن ها، مدارهای کنترل کننده این ورودی ها را تعیین کنیم.

  49. دروازه های کنترلی ثبات آدرس

  50. نمودار گردشی اعمال کامپیوتر

More Related