مقدمه

Preview:

DESCRIPTION

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

Citation preview

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

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

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

مقدمه

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

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

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

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

2

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

ی اصلی

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

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

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

(Mircro-programmed)

3

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

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

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

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

4

5

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

بسیار مشکل.−

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

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

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

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

را دارد.

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

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

6

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

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

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

7

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

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

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

حافظه ی

اصلی

حافظه ی کنترل

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

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

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

ی اصلی

ریزعملیات

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

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

سرعت باالتر.

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

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

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

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

گویند (Micro-instruction.)

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

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

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

9

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

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

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

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

10

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

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

(RAM.)

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

microprogramming.گویند )

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

دهد.

11

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

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

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

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

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

12

توالی گر آدرس

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

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

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

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

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

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

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

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

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

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

14

15

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

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

محل پرش

شرط پرش

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

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

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

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

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

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

17

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

می شود و نه باس

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

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

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

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

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

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

18

 

برای سادگی

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

19

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

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

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

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

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

20

CD و ADمستقل از

شرط پرش(condition)

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

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

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

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

21

Label: F1,F2,F3 CD BR AD

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

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

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

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

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

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

می شود.

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

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

22

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

23

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

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

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

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

است.

24

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

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

مؤثر.

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

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

25

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

26

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

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

27

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

28

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

29

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

30

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

31

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

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

32

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

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

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

33

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

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

34

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

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

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

حافظه ی

اصلی

حافظه ی کنترل

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

ریزعملیات

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

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

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

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

35

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

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

36

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

مثال

37

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

38

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

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

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