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

Post on 29-Jan-2017

229 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

Microprogrammed Control

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

مقدمه

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

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

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

.کاربر

2

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

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

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

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

3

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

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

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

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

4

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

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

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

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

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

5

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

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

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

6

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

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

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

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

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

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

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

ریزعملیات

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

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

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

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

7

اصطالحات

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

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

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

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

8

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

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

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

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

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

9

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

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

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

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

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

10

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

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

−Control Address Register (CAR)

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

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

11

توالی گر آدرس

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

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

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

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

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

12

توالی گر آدرس

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

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

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

13

14

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

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

محل پرش

شرط پرش

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

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

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

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

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

16

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

می شود و نه باس

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

DR

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

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

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

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

17

برای سادگی

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

18

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

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

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

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

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

19

CDو ADمستقل از

شرط پرش

(condition)

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

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

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

20

Label: F1,F2,F3 CD BR AD

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

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

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

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

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

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

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

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

21

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

22

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

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

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

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

23

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

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

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

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

24

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

25

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

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

26

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

27

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

28

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

29

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

30

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

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

31

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

سمبولیک

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

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

32

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

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

33

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

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

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

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

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

ریزعملیات

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

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

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

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

34

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

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

35

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

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

36

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

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

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

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

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

37

top related