فصل هفتم کنترل ریزبرنامه ریزی شده microprogrammed control

37
کامپیوترعماری درس مصل هفتم فزی شدهنامه رییزبرل ر کنترMicroprogrammed Control رخانیط حسین امی شده توسیه ته

Upload: hoanglien

Post on 29-Jan-2017

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

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

فصل هفتم کنترل ریزبرنامه ریزی شده

Microprogrammed Control

تهیه شده توسط حسین امیرخانی

Page 2: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

مقدمه

:یادآوری•Micro-operation :ریزعمل

Macro-operation یاinstruction :دستورالعمل .دنباله ای از ریزعملیات−

:وظیفه ی واحد کنترل• راه اندازی دنباله ای از ریزعملیات برای اجرای دستورالعمل های

.کاربر

2

حافظه ی اجرای ریزعملیات دستورالعمل واحد کنترل اصلی

Page 3: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

انواع واحد کنترل

یا سیم بندی شده کنترل سخت افزاری واحد . 1(Hardwired)

کنترل ریزبرنامه ریزی شده واحد . 2(Mircroprogrammed)

3

Page 4: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

واحد کنترل سخت افزاری

به این طریق طراحی شد 5واحد کنترل کامپیوتر پایه ی فصل. ریزعملیات مربوط به کلیه ی دستورالعمل ها تحلیل شده و از طریق

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

برای ثبات : مثالAR

4

Page 5: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

واحد کنترل ریزبرنامه ریزی شده

ابتدا از طریق تکنیک های سخت افزاری، واحدی طراحی می شود که .قابلیت اجرای ریزعملیات مختلف را دارد

طراح باید ریزعملیات مربوط به هر دستورالعمل را به واحد فوق بدهد.

حافظه ی ریزعملیات مربوط به هر دستورالعمل در حافظه ای خاص به نام

.ذخیره می شود کنترلی

5

واحدی با قابلیت اجرای ریزعملیات

اجرای ریزعمل ریزعمل

Page 6: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

مقایسه ی واحدهای کنترل

6

واحدی با قابلیت اجرای ریزعملیات

دستورالعمل اجرای

ریزعملیاتحافظه ی

اصلی حافظه ی کنترل

واحد کنترل ریزبرنامه ریزی شده

واحد کنترل سخت افزاری

حافظه ی اجرای ریزعملیات دستورالعمل اصلی

ریزعملیات

Page 7: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

مقایسه ی واحدهای کنترل

:واحد کنترل سخت افزاری•تغییر در آن مشکل است. سرعت باالتر: می توان سخت افزار بهینه طراحی کرد.

:واحد کنترل ریزبرنامه ریزی شده•تغییر در محتویات حافظه ی : تغییر در آن ساده است

.کنترل بدون نیاز به تغییر در سخت افزار

7

Page 8: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

اصطالحات

گویند ریزدستورالعملبه هر کلمه در حافظه ی کنترل یک(Microinstruction.)

کلمه ی کنترلهر ریزدستورالعمل، یک (control word ) است که .مشخص می کند چه ریزعملیاتی اجرا شوند و چه ریزعملیاتی راکد باشند

ریزبرنامهبه مجموعه ای از ریزدستورالعمل ها یک (microprogram ) .گویند

باید تفاوت بین ریزعمل، دستورالعمل، ریزدستورالعمل برای • .دانشجویان قابل بیان باشد

8

حافظه ی کنترلی حافظه ی اصلی

Page 9: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

:بنابراین، در کنترل ریزبرنامه ریزی شده، دو حافظه در سیستم داریم•

حافظه ی اصلی .در اختیار کاربر برای ذخیره ی برنامه ها و داده ها− .در حین اجرای برنامه ممکن است تغییر کند−

حافظه ی کنترل .در اختیار طراح برای ذخیره ی ریزبرنامه ها−

.استدر حین اجرای برنامه ثابت محتوای آن −

9

Page 10: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

ی کنترلیحافظه

می تواند از نوع فقط خواندنی(ROM ) باشد یا قابلیت (.RAM)نوشتن هم داشته باشد

اگر ازRAM نویسی پویا استفاده شود به آن ریزبرنامه (dynamic microprogramming )گویند.

معموالROM می شوداستفاده:

،RAMارزانتر و سریع تر از − .کاربر معمولی نمی تواند محتوای آن را تغییر دهد−

10

Page 11: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

آدرس دهی حافظه ی کنترلی

حافظه ی کنترلی نیاز به ثباتی برای مشخص کردن : آدرس ریزدستورالعمل دارد

−Control Address Register (CAR)

همین طور مداری برای تولید آدرس بعدی حافظه ی :کنترلی مورد نیاز است

−Next Address Generator یاSequencer (.توالی گر)

11

Page 12: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

توالی گر آدرس

در حافظه ی کنترل، برای هر دستورالعمل، یک روال(routine ) .خاص شامل مجموعه ای از ریزدستورالعمل ها وجود دارد

به فرآیند تبدیل بیت های کد دستورالعمل به آدرس روال

مربوط به آن دستورالعمل در حافظه ی کنترلی، نگاشت (mapping )گوییم.

توالی گر آدرس باید قابلیت افزایش مقدارCAR را داشته باشدتا کلیه ی ریزدستورالعمل های روال مربوط به یک دستورالعمل

.را آدرس دهی نماید

12

Page 13: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

توالی گر آدرس

الزم است برای ساده کردن ریزبرنامه نویسی، امکان های فراخوانی و بازگشت از زیرروال و همچنین امکان پرش

.شرطی و غیرشرطی فراهم شود

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

13

Page 14: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

14

بیت هایی از وضعیت سیستم

بازگشتاز زیرروال

محل پرش

شرط پرش

Page 15: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

(Mapping)عملیات نگاشت مثالی از یک نوع نگاشت:

کلمه است 128حافظه ی کنترل دارای : فرض. در نگاشت فوق، برای هر دستورالعمل می توان یک روال ریزبرنامه با

.ظرفیت چهار ریزدستورالعمل داشت اگر روال به بیش از چهار ریزدستورالعمل نیاز داشت، می توان از

.استفاده نمود 1111111تا 1000000آدرس های 15

Page 16: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

مثالی از طراحی واحد کنترل ریزبرنامه ریزی شده

16

انتقال اطالعات از طریق مولتی پلکسر انجام

می شود و نه باس

تنها ثباتی که با حافظه : ارتباط مستقیم دارد

DR

ALU بررویDR وAC عملیات را انجام داده و حاصل

.قرار می دهد ACرا در

ثبات های واحد کنترل

Page 17: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

فرمت دستورالعمل های کامپیوتر مثال فوق

17

برای سادگی

Page 18: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

فرمت ریزدستورالعمل ها

18

برای هر ریزدستور نمی توان بیش از سه ریزعمل انتخاب .نمود

با 000اگر کمتر از سه ریزعمل مورد نیاز بود، از کد .استفاده می کنیم NOPسمبول

معتبر است؟ F3=000و F2=001و F1=010آیا

.عملیات متضاد! خیر

Page 19: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

فرمت ریزدستورالعمل ها

19

CDو ADمستقل از

شرط پرش

(condition)

آدرس پرش نوع پرش

Page 20: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

ریزبرنامه نویسی

یک ریزدستورالعمل: هر سطر از حافظه ی کنترلی :بخش است 5دارای ( اسمبلی)به صورت سمبولیک −

20

Label: F1,F2,F3 CD BR AD

.برای آدرس دهی

.می تواند خالی باشد

.بودند، آن ها را نمی نویسیم NOPاگر یک یا دو سمبول،

.را می نویسیم NOPبودند، NOPاگر هر سه سمبول

:یکی از این سه مورد یک برچسب. 1 آدرس بعدی: NEXTسمبول . 2 MAPیا RETبرابر BRاگر . 3

.خالی گذاشته می شود ADبود،

Page 21: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

(Fetch Routine)روال برداشت

روالی برای تولید ریزعملیات مربوط به فاز برداشت.

21

Page 22: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

(Fetch Routine)روال برداشت

22

Page 23: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

(Fetch Routine)روال برداشت

روال برداشت دارای سه ریزدستورالعمل است که در .قرار می دهیم 66و 65، 64آدرس های

کلمه ی آخر حافظه ی کنترل قرار 64باید در بخشی از − 16کلمه ی اول مربوط به روال های 64گیرد، زیرا

.دستورالعمل است

23

Page 24: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

روال محاسبه ی آدرس مؤثر

ریزدستورالعمل هایی برای تولید ریزعملیات مربوط به .محاسبه ی آدرس مؤثر

روش آدرس دهی غیرمستقیم(indirect ) در همه ی .دستورات حافظه ای می تواند به کار رود

.آن را به صورت یک روال ذخیره می کنیم−

24

Page 25: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

روال محاسبه ی آدرس مؤثر

25

Page 26: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

روال محاسبه ی آدرس مؤثر

حافظه ی کنترلی 68و 67در خانه ی:

26

Page 27: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

ADDریزبرنامه ی مربوط به دستورالعمل

27

Page 28: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

BRANCHریزبرنامه ی مربوط به دستورالعمل

28

Page 29: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

STOREریزبرنامه ی مربوط به دستورالعمل

29

Page 30: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

EXCHANGEریزبرنامه ی مربوط به دستورالعمل

30

هستند امکان پذیر است( edge triggered)چون حساس به لبه

Page 31: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

ی باینریریزبرنامه

31

اسمبلر یریزبرنامه

سمبولیک

یریزبرنامه باینری

Page 32: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

ی باینریریزبرنامه

32

پرش بدون شرط به روال برداشت

Page 33: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

طراحی بخش سخت افزاری واحد کنترل

33

واحدی با قابلیت اجرای ریزعملیات

دستورالعمل اجرای

ریزعملیاتحافظه ی

اصلی حافظه ی کنترل

واحد کنترل ریزبرنامه ریزی شده

ریزعملیات

ماندیک بار طراحی شده و بعد از آن بدون تغییر باقی می .

ی کنترلی انجام می شودتغییرات فقط در محتوای حافظه .

استخراج ریزعملیات انتخاب آدرس بعدی از ریزدستورالعمل

Page 34: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

طراحی بخش سخت افزاری واحد کنترل

34

استخراج ریزعملیات از دستورالعمل و اجرای ریزعملیات

Page 35: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

طراحی بخش سخت افزاری واحد کنترل

35

( گرتوالی)مدار انتخاب آدرس بعدی

Page 36: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

طراحی بخش سخت افزاری واحد کنترل

36

( گرتوالی)مدار انتخاب آدرس بعدی

امکان فراخوانی تا یک سطح

ورودی و خروجیبیتی 7

Page 37: فصل هفتم کنترل ریزبرنامه ریزی شده Microprogrammed Control

های پایان فصلتمرین

مانو کتاب 7فصل .16 ،19 ،21، (a)14، 13، 12، 8، 5، 4 های تمرین−

37