فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control
Transcript of فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control
![Page 1: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/1.jpg)
درس معماری کامپیوتر
فصل هفتم کنترل ریزبرنامه ریزی شده
Microprogrammed Control
تهیه شده توسط حسین امیرخانی
![Page 2: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/2.jpg)
مقدمه
:یادآوری•Micro-operation :ریزعمل
Macro-operation یاinstruction :دستورالعمل .دنباله ای از ریزعملیات−
:وظیفه ی واحد کنترل• راه اندازی دنباله ای از ریزعملیات برای اجرای دستورالعمل های
.کاربر
2
حافظه ی اجرای ریزعملیات دستورالعمل واحد کنترل اصلی
![Page 3: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/3.jpg)
انواع واحد کنترل
یا سیم بندی شده کنترل سخت افزاری واحد . 1(Hardwired)
کنترل ریزبرنامه ریزی شده واحد . 2(Mircroprogrammed)
3
![Page 4: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/4.jpg)
واحد کنترل سخت افزاری
به این طریق طراحی شد 5واحد کنترل کامپیوتر پایه ی فصل. ریزعملیات مربوط به کلیه ی دستورالعمل ها تحلیل شده و از طریق
، سخت افزار مربوطه طراحی تکنیک های مدارهای منطقی رایج .می شود
برای ثبات : مثالAR
4
![Page 5: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/5.jpg)
واحد کنترل ریزبرنامه ریزی شده
ابتدا از طریق تکنیک های سخت افزاری، واحدی طراحی می شود که .قابلیت اجرای ریزعملیات مختلف را دارد
طراح باید ریزعملیات مربوط به هر دستورالعمل را به واحد فوق بدهد.
حافظه ی ریزعملیات مربوط به هر دستورالعمل در حافظه ای خاص به نام
.ذخیره می شود کنترلی
5
واحدی با قابلیت اجرای ریزعملیات
اجرای ریزعمل ریزعمل
![Page 6: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/6.jpg)
مقایسه ی واحدهای کنترل
6
واحدی با قابلیت اجرای ریزعملیات
دستورالعمل اجرای
ریزعملیاتحافظه ی
اصلی حافظه ی کنترل
واحد کنترل ریزبرنامه ریزی شده
واحد کنترل سخت افزاری
حافظه ی اجرای ریزعملیات دستورالعمل اصلی
ریزعملیات
![Page 7: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/7.jpg)
مقایسه ی واحدهای کنترل
:واحد کنترل سخت افزاری•تغییر در آن مشکل است. سرعت باالتر: می توان سخت افزار بهینه طراحی کرد.
:واحد کنترل ریزبرنامه ریزی شده•تغییر در محتویات حافظه ی : تغییر در آن ساده است
.کنترل بدون نیاز به تغییر در سخت افزار
7
![Page 8: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/8.jpg)
اصطالحات
گویند ریزدستورالعملبه هر کلمه در حافظه ی کنترل یک(Microinstruction.)
کلمه ی کنترلهر ریزدستورالعمل، یک (control word ) است که .مشخص می کند چه ریزعملیاتی اجرا شوند و چه ریزعملیاتی راکد باشند
ریزبرنامهبه مجموعه ای از ریزدستورالعمل ها یک (microprogram ) .گویند
باید تفاوت بین ریزعمل، دستورالعمل، ریزدستورالعمل برای • .دانشجویان قابل بیان باشد
8
حافظه ی کنترلی حافظه ی اصلی
![Page 9: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/9.jpg)
:بنابراین، در کنترل ریزبرنامه ریزی شده، دو حافظه در سیستم داریم•
حافظه ی اصلی .در اختیار کاربر برای ذخیره ی برنامه ها و داده ها− .در حین اجرای برنامه ممکن است تغییر کند−
حافظه ی کنترل .در اختیار طراح برای ذخیره ی ریزبرنامه ها−
.استدر حین اجرای برنامه ثابت محتوای آن −
9
![Page 10: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/10.jpg)
ی کنترلیحافظه
می تواند از نوع فقط خواندنی(ROM ) باشد یا قابلیت (.RAM)نوشتن هم داشته باشد
اگر ازRAM نویسی پویا استفاده شود به آن ریزبرنامه (dynamic microprogramming )گویند.
معموالROM می شوداستفاده:
،RAMارزانتر و سریع تر از − .کاربر معمولی نمی تواند محتوای آن را تغییر دهد−
10
![Page 11: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/11.jpg)
آدرس دهی حافظه ی کنترلی
حافظه ی کنترلی نیاز به ثباتی برای مشخص کردن : آدرس ریزدستورالعمل دارد
−Control Address Register (CAR)
همین طور مداری برای تولید آدرس بعدی حافظه ی :کنترلی مورد نیاز است
−Next Address Generator یاSequencer (.توالی گر)
11
![Page 12: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/12.jpg)
توالی گر آدرس
در حافظه ی کنترل، برای هر دستورالعمل، یک روال(routine ) .خاص شامل مجموعه ای از ریزدستورالعمل ها وجود دارد
به فرآیند تبدیل بیت های کد دستورالعمل به آدرس روال
مربوط به آن دستورالعمل در حافظه ی کنترلی، نگاشت (mapping )گوییم.
توالی گر آدرس باید قابلیت افزایش مقدارCAR را داشته باشدتا کلیه ی ریزدستورالعمل های روال مربوط به یک دستورالعمل
.را آدرس دهی نماید
12
![Page 13: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/13.jpg)
توالی گر آدرس
الزم است برای ساده کردن ریزبرنامه نویسی، امکان های فراخوانی و بازگشت از زیرروال و همچنین امکان پرش
.شرطی و غیرشرطی فراهم شود
:آدرس عبارتند ازمورد نیاز توالی گر های بنابراین، قابلیت•نگاشت. افزایشCAR. پرش شرطی و غیرشرطی. فراخوانی و بازگشت از زیرروال.
13
![Page 14: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/14.jpg)
14
بیت هایی از وضعیت سیستم
بازگشتاز زیرروال
محل پرش
شرط پرش
![Page 15: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/15.jpg)
(Mapping)عملیات نگاشت مثالی از یک نوع نگاشت:
کلمه است 128حافظه ی کنترل دارای : فرض. در نگاشت فوق، برای هر دستورالعمل می توان یک روال ریزبرنامه با
.ظرفیت چهار ریزدستورالعمل داشت اگر روال به بیش از چهار ریزدستورالعمل نیاز داشت، می توان از
.استفاده نمود 1111111تا 1000000آدرس های 15
![Page 16: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/16.jpg)
مثالی از طراحی واحد کنترل ریزبرنامه ریزی شده
16
انتقال اطالعات از طریق مولتی پلکسر انجام
می شود و نه باس
تنها ثباتی که با حافظه : ارتباط مستقیم دارد
DR
ALU بررویDR وAC عملیات را انجام داده و حاصل
.قرار می دهد ACرا در
ثبات های واحد کنترل
![Page 17: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/17.jpg)
فرمت دستورالعمل های کامپیوتر مثال فوق
17
برای سادگی
![Page 18: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/18.jpg)
فرمت ریزدستورالعمل ها
18
برای هر ریزدستور نمی توان بیش از سه ریزعمل انتخاب .نمود
با 000اگر کمتر از سه ریزعمل مورد نیاز بود، از کد .استفاده می کنیم NOPسمبول
معتبر است؟ F3=000و F2=001و F1=010آیا
.عملیات متضاد! خیر
![Page 19: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/19.jpg)
فرمت ریزدستورالعمل ها
19
CDو ADمستقل از
شرط پرش
(condition)
آدرس پرش نوع پرش
![Page 20: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/20.jpg)
ریزبرنامه نویسی
یک ریزدستورالعمل: هر سطر از حافظه ی کنترلی :بخش است 5دارای ( اسمبلی)به صورت سمبولیک −
20
Label: F1,F2,F3 CD BR AD
.برای آدرس دهی
.می تواند خالی باشد
.بودند، آن ها را نمی نویسیم NOPاگر یک یا دو سمبول،
.را می نویسیم NOPبودند، NOPاگر هر سه سمبول
:یکی از این سه مورد یک برچسب. 1 آدرس بعدی: NEXTسمبول . 2 MAPیا RETبرابر BRاگر . 3
.خالی گذاشته می شود ADبود،
![Page 21: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/21.jpg)
(Fetch Routine)روال برداشت
روالی برای تولید ریزعملیات مربوط به فاز برداشت.
21
![Page 22: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/22.jpg)
(Fetch Routine)روال برداشت
22
![Page 23: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/23.jpg)
(Fetch Routine)روال برداشت
روال برداشت دارای سه ریزدستورالعمل است که در .قرار می دهیم 66و 65، 64آدرس های
کلمه ی آخر حافظه ی کنترل قرار 64باید در بخشی از − 16کلمه ی اول مربوط به روال های 64گیرد، زیرا
.دستورالعمل است
23
![Page 24: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/24.jpg)
روال محاسبه ی آدرس مؤثر
ریزدستورالعمل هایی برای تولید ریزعملیات مربوط به .محاسبه ی آدرس مؤثر
روش آدرس دهی غیرمستقیم(indirect ) در همه ی .دستورات حافظه ای می تواند به کار رود
.آن را به صورت یک روال ذخیره می کنیم−
24
![Page 25: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/25.jpg)
روال محاسبه ی آدرس مؤثر
25
![Page 26: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/26.jpg)
روال محاسبه ی آدرس مؤثر
حافظه ی کنترلی 68و 67در خانه ی:
26
![Page 27: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/27.jpg)
ADDریزبرنامه ی مربوط به دستورالعمل
27
![Page 28: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/28.jpg)
BRANCHریزبرنامه ی مربوط به دستورالعمل
28
![Page 29: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/29.jpg)
STOREریزبرنامه ی مربوط به دستورالعمل
29
![Page 30: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/30.jpg)
EXCHANGEریزبرنامه ی مربوط به دستورالعمل
30
هستند امکان پذیر است( edge triggered)چون حساس به لبه
![Page 31: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/31.jpg)
ی باینریریزبرنامه
31
اسمبلر یریزبرنامه
سمبولیک
یریزبرنامه باینری
![Page 32: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/32.jpg)
ی باینریریزبرنامه
32
پرش بدون شرط به روال برداشت
![Page 33: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/33.jpg)
طراحی بخش سخت افزاری واحد کنترل
33
واحدی با قابلیت اجرای ریزعملیات
دستورالعمل اجرای
ریزعملیاتحافظه ی
اصلی حافظه ی کنترل
واحد کنترل ریزبرنامه ریزی شده
ریزعملیات
ماندیک بار طراحی شده و بعد از آن بدون تغییر باقی می .
ی کنترلی انجام می شودتغییرات فقط در محتوای حافظه .
استخراج ریزعملیات انتخاب آدرس بعدی از ریزدستورالعمل
![Page 34: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/34.jpg)
طراحی بخش سخت افزاری واحد کنترل
34
استخراج ریزعملیات از دستورالعمل و اجرای ریزعملیات
![Page 35: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/35.jpg)
طراحی بخش سخت افزاری واحد کنترل
35
( گرتوالی)مدار انتخاب آدرس بعدی
![Page 36: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/36.jpg)
طراحی بخش سخت افزاری واحد کنترل
36
( گرتوالی)مدار انتخاب آدرس بعدی
امکان فراخوانی تا یک سطح
ورودی و خروجیبیتی 7
![Page 37: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control](https://reader034.fdocuments.net/reader034/viewer/2022051008/588db1e01a28abb5518b6d8d/html5/thumbnails/37.jpg)
های پایان فصلتمرین
مانو کتاب 7فصل .16 ،19 ،21، (a)14، 13، 12، 8، 5، 4 های تمرین−
37