38
ر ت و ی پ م ماری کا ع م درس م ت ف ه ل ص ف ده ی ش ر ت ه ر م ا رن& ت ر تل ر ر ت+ ن کMicro-programmed Control ی ن ا رخ مت ا2 ن سی ح وسط ت ده ه ش ی ه ت

مقدمه

Embed Size (px)

DESCRIPTION

درس معماری کامپیوتر فصل هفتم کنترل ریزبرنامه ریزی شده Micro-programmed Control تهیه شده توسط حسین امیرخانی. مقدمه. یادآوری: Micro-operation : ریزعمل Macro-operation یا Instruction : دستورالعمل دنباله‌ای از ریزعملیات. وظیفه‌ی واحد کنترل: - PowerPoint PPT Presentation

Citation preview

Page 1: مقدمه

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

فصل هفتمکنترل ریزبرنامه ریزی شدهMicro-programmed Control

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

Page 2: مقدمه

مقدمه

یادآوری:•Micro-operationریزعمل :Macro-operation یا Instructionدستورالعمل :

دنباله ای از ریزعملیات.−

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

دستورالعمل های کاربر.

2

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

ی اصلی

Page 3: مقدمه

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

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

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

(Mircro-programmed)

3

Page 4: مقدمه

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

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

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

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

4

Page 5: مقدمه

5

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

بسیار مشکل.−

:راه حل جایگزینواحد کنترل ریزبرنامه ریزی شده.−

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

Page 6: مقدمه

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

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

را دارد.

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

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

6

واحدی با قابلیت اجرای

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

Page 7: مقدمه

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

7

واحدی با قابلیت اجرای

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

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

حافظه ی

اصلی

حافظه ی کنترل

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

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

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

ی اصلی

ریزعملیات

Page 8: مقدمه

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

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

سرعت باالتر.

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

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

تغییر در سخت افزار. 8

Page 9: مقدمه

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

گویند (Micro-instruction.)

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

شوند و چه ریزعملیاتی راکد باشند.

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

9

Page 10: مقدمه

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

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

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

هریک از دستورالعمل و ریزدستورالعمل، در کدامحافظه قرار دارند؟

10

Page 11: مقدمه

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

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

(RAM.)

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

microprogramming.گویند )

Y استفاده می شود:ROMمعموال،RAMارزانتر و سریع تر از −کاربر معمولی نمی تواند محتوای آن را تغییر −

دهد.

11

Page 12: مقدمه

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

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

دارد: −Control Address Register (CAR)

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

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

12

Page 13: مقدمه

توالی گر آدرس

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

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

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

( گوییم.mappingحافظه ی کنترلی، نگاشت )

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

ریزدستورالعمل های روال مربوط به یک دستورالعمل را آدرس دهی نماید. 13

Page 14: مقدمه

توالی گر آدرس ،الزم است برای ساده کردن ریزبرنامه نویسی

امکان فراخوانی و بازگشت از زیرروال و همچنین های شرطی و غیرشرطی فراهم شود.امکان پرش

های مورد نیاز توالی گر آدرس بنابراین، قابلیت•عبارتند از:

.نگاشت افزایشCAR..پرش شرطی و غیرشرطی.فراخوانی و بازگشت از زیرروال

14

Page 15: مقدمه

15

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

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

محل پرش

شرط پرش

Page 16: مقدمه

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

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

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

،اگر روال به بیش از چهار ریزدستورالعمل نیاز داشت 1111111 تا 1000000می توان از آدرس های

استفاده نمود.16

Page 17: مقدمه

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

17

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

می شود و نه باس

تنها ثباتی که با حافظه ارتباط

DRمستقیم دارد:

ALU برروی DR و AC عملیات را انجام

داده و حاصل را در AC.قرار می دهد

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

Page 18: مقدمه

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

18

 

برای سادگی

Page 19: مقدمه

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

19

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

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

استفاده می کنیم. معتبر F3=000 و F2=001 و F1=010آیا

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

Page 20: مقدمه

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

20

CD و ADمستقل از

شرط پرش(condition)

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

Page 21: مقدمه

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

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

5به صورت سمبولیک )اسمبلی( دارای −بخش است:

21

Label: F1,F2,F3 CD BR AD

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

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

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

یکی از این سه مورد:. یک برچسب1: آدرس NEXT. سمبول 2

بعدی یا RET برابر BR. اگر 3

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

می شود.

Page 22: مقدمه

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

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

22

Page 23: مقدمه

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

23

Page 24: مقدمه

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

روال برداشت دارای سهریزدستورالعمل است که در آدرس های

قرار می دهیم.66 و 65، 64 کلمه ی آخر حافظه ی 64باید در بخشی از −

کلمه ی اول 64کنترل قرار گیرد، زیرا دستورالعمل 16مربوط به روال های

است.

24

Page 25: مقدمه

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

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

مؤثر.

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

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

25

Page 26: مقدمه

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

26

Page 27: مقدمه

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

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

27

Page 28: مقدمه

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

28

Page 29: مقدمه

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

29

Page 30: مقدمه

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

30

Page 31: مقدمه

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

31

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

Page 32: مقدمه

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

32

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

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

Page 33: مقدمه

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

33

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

Page 34: مقدمه

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

34

واحدی با قابلیت اجرای

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

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

حافظه ی

اصلی

حافظه ی کنترل

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

ریزعملیات

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

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

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

Page 35: مقدمه

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

35

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

Page 36: مقدمه

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

36

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

Page 37: مقدمه

مثال

37

Page 38: مقدمه

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

38

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

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

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