صفحه 1:
00
Department of Computer and IT
Engineering
University of Kurdistan
O1PC cktapads (Dut-Ovrle)
By: Dr. Alireza Abdollahpouri
صفحه 2:
® Dulac DIPG provessor
0 University of Kurdistan
صفحه 3:
مومت مر( )
اعم
|_| ات
tea Ter اش
eek
‘saved
۳
ععاسو9 Sudes Oracles Codes
ove
۳ ۳۹ [tro] سردي 4
09 University of Kurdistan
صفحه 4:
نگرش هه سرد
< هر دستور به تعدادی مرحله کوچکتر تقسیم شده و هر یک از این
مراحل در یک کلاک اجرا ميشوند. بدین ترتیب برای اجرای هر دستور
به تعدادی کلاک کوچک تر نیاز خواهیم داشت.
= مراحل طوری انتخاب میشوند که کار انجام گرفته در آنها متعادل باشد.
< در هر مرحله فقط از یکی از بلوک های سخت افزاری اصلی استفاده
ميشود.
< هر دستور تعداد متفاوتى كلاك لازم دارد.
< فقط به يك حافظه نياز دارد. البته در هر سيكل فقط ميتوان يكبار به
حافظه دسترسى داشت.
> فقط به یک 0007/(),(() نیاز دارد. البته در هر سیکل بیش از یکبار از
() نمیتوان استفاده نمود.
University of kurdistan 9
صفحه 5:
"2 در این معماری مقادیری که در سیکلهای بعدی دستور مورد نیاز هستند در
رجیسترهائی ذخیره ميشوند. در نتیجه باید اجزای زیر به معماری افزوده شوند:
MOOR — Oewory Oata Reyister AR — Iestruction Reyister
®LOvu — COLO ovutpul reqister®, @ — rewPie read data reyisters:
09 University of kurdistan
صفحه 6:
یو له زر ی
سم اسر سس لحجاصا مت ول عمط و جا وله entra سا توا مت بخ
LO, wth cukipexers to select he proper rants.
Oe cre PBLOGro® se he Prot BLO kpu be he PO or a rector. @ >
تست ما نج 00 له سا لت 60۵۷۵ مین میدق خ
(دجسجمه هط و بت
(۵60) با سس ما ۵ و و
(Por efPevive akiesses), ord مه سوه
(Por brck torcet). مس لاه اوه او
(PLO to perPor ol of he vevessary Puce. وه عم ۳ %
Ortkrtc openings oa too revister operands. =
eorewecicn he PO. =
Orxeputens efPevive oddresoes Por by wend sw. =
(PO + @) Por brakes. 7 تاه اه ,سوه بط
y of Kurdistan
صفحه 7:
0 مس
University of Kurdistan
صفحه 8:
لمع ودب ده بمب(
> Gieiody, we coo yet by wit coe uciPied wewory, whirk wil
وتا مت لس ود cod dota. (a Priecetva
urchitevture)
Dhis wewory is used fo both the tostruciiva Petck ond dota wees
stages, ood موه له له ها Prow eter!
> tke PO reyster (hea we're Petcktog oo iestrurtiva), or
> tke PLO vuput (Por the ePRevive address oP a hw or sw).
Oe odd canter O-- wun, lor, to decide whether the
wewory ts beta acvessed Por و or Por dota.
Vv
۲۷
3
09 University of kurdistan
صفحه 9:
>|
9
گر
۱
lq
5
ia
)
a
Cit
tt a
9 (5
1ر1
0 مه
University of kurdistan
صفحه 10:
reyster> رس تا
|
0ك
> Phe testructon word Petched ات وملمحاصل حصلا ججدامسصاصل 1 موه وا the
reypter write ia ote ©.
م۳ خ 0 rest Por وا و مرن ی مت © ts ceeded ce the
wwewory uxklress Por ku or sw ti ote P.
> Dkese culputs wil have ty be stored fo intermediate neqisters Por Puture use.
Oberwise they would probably be lost by the cent cock oye.
> Phe tetrunion read ki stage Vis saved fa Ietruntioa reypier.
> Reqpter Pe vupus Prow مج © or swed ta reypters O ond )3
ke ®LO ouput wil be sired ao recister PLDOu.
Quy data Petched Brow wewory i ste P is kept tothe Dewory data
ات bv oiled DOR.
ww
9 University of kurdistan
vv
صفحه 11:
a
Ore ene
University of kurdistan
@
صفحه 12:
مسیر داده چند سیکله
مسیر داده چند سیکله سه تفاوت عمده با مسیرداده تک سیکله
دارد:
۱- حافظه برنامه و داده ادغام شده است
۲- تعدادی رجیستر برای ذخیره داده های میانی اضافه شده است
۳- واحد () وظیفه مدارات جمع کننده (برای مقصد پرش و
محاسبه آدرس بعدی) را نیز انجام میدهد
09 University of kurdistan
صفحه 13:
Qulicycle Datazals wi Ovatrot
صفحه 14:
Qudioycle porto! wait
he cuir vit is respoosble Por product اه با اه له
-
ack وماس ماص requires 0 sequeure oP code sige, yeuercied over cattle
>
vbock pyle.
> Dhis iophes thot we ceed a state crack.
> Dke مرول coord sigue wll be puputs oP the stor wachice.
> OPPered تمه equine dPPercu sequewes oP steps.
> Die kophes the testrunioa word tg oc fopul to the tate نمی
> Phe cea state depeus upp the exo ketruction betery exerted.
> OR er we Prick exevutay ,واه عون we'l have to reped the poling process
aqua io execute the .كصاصصاكها مجه
9 University of kurdistan
صفحه 15:
واحد کنترل عبش
0 ]|
این .۱ سوه
متا میاه
TS
Orie Rey
وه | || 1 one
> در معماری تحا() سیگنالهای کنترل را نمیتوان فقط از روی بیت های
دستورالعمل بدست آورد.
2 از اینرو از یک ماشین (696) برای طراحی واحد کنترل استفاده میشود.
2 تعدادی ۲ محدود برای پردازنده فرض میشود که در ۲۹ 20۲ ذخیره میشوند.
state ۶ بسعدواز رویت۱9< فسعلییمقادیر وریدیتسمیینمیشوند
9
09 University of kurdistan
صفحه 16:
ام whee Pox ace لوف Nook be نج
ما اطعا مود تاه تا بط موی 60 ول 0
صفحه 17:
Groge ): یه
> Gtoge ( fackides tue uniivas whick use tue separdie
Pucantiocd vais! the wewory od the BLO.
> etch the testruntion Pow wewory ued store ۱۱ TR.
AR = Dew[PO]
> Ose the OLO ty twrewedt the PO by ۰
© + وم د وم
0
09 University of kurdistan
صفحه 18:
۱ PC tamrewedt
4
HH
pe
<« 16
HUE
1
11
2 Oreo
9
University of kurdistan
صفحه 19:
عجه امه ) م66
> Aceinwtiva Pork: WR = Dew[PO]
Greed Onke
Descriptio
DewkRead | | Read Prow wewory
oD OD | Ose PO oe the wewory read address:
ARO rite a
Owe wewory couleuts to lesiruntioa reyster
>
docrewed he PO: PO = PO + &
مه عون | اس
امه 09۸ PLOGrAD | 00 | Ose PO ow the
PLOGHB | Od | Ose covert P oe he secved BLO persed
@LOOp | COD | PerPorw ackdion
PCOrte | | Chere PO
PCOowr | ۵ | Opckte PO Prow ike PLO ouput
2] 99277 thot ol coairot sirnis aol tated are kopicty set
9
09 University of kurdistan
صفحه 20:
RegWrite = 1
atusres أمسا ون د “Regbst =
5-5 7 eee
Instruction fetch =
and PC increment Register fetch and| ‘Auusrea = )\ Branch
= branch computatiof Op = BEQ /ALUSrcB = 00
ford = 0 ‘ALUOp = 110
op = R-type/ ALUSrcA = 2
ات
awusrea = 0 | ALUSrcA = 0 {
[atusres = 01> atusrea = 11
atvop=010/ atop = 010
Source =
crite =
‘crite = Zer
"cSource =
Memory
write
Effective address,
SSnputation OP = SW|MemWrite = 2
‘ALUSrcA = 1
ALUSrcB = 10
op = Lwiswh atuop = = 7 how ee
MemRead = 1| يوت سس سي
= ی RegDst = 0
eo
University of kurdistan
صفحه 21:
و ۱
2 Dh oon be trocehted toto a ote table; here ane the ابید الا
‘Ox (Ome one)
Ours | tow | One
Orr | (Or) | هك | مه سه
20 | tr | Ore | Ore | مه | سه | جه امه | هد | Or | مم | مه
هه | مه إنوةاحهتإا عه اسم | امه © | © | OF | Cor
tor (xi Ow
0 هه هأه|» | هو | ۰
Ge Peck ] 006 | مه
مه | مه | و | ه | در | | مه | هه و x
anewk |G [ere | مه | مه | بل و lolx] x | مه | مه | ه | ه x
عسمه | اهنا | مم يمه
أههةاه اهاه| »ع |ء««اأاه|اهأه|<*«اه إعد»)| مه x
> exer kopkewed ht he hard uny (harhured costa),
> Represedt he curred oka win Phy-Plpy or a reste.
> Pend exnrtioce Por the cet ote ux (costco ok) pups Is teri یی بان ote لعي
rant (kerwetoa ward).
رهب مج نوخ uy.
? Orte the whole ovciral stycuks toto a wewory, lke a ROO.
خز Dito would be cuck ewster, soar you doo't have to derive equaticcy. 60
صفحه 22:
0" در کنترل به صورت ۳۳۰ سل() اطلاعات
کنترلی در حافظه ای موسوم به حافظه کنترلی ذخیره
میگردد! 2
000011
صفحه 23:
Dispatch
هم ات | MicroPC
| SOR
1 Microprogram
Dispatch 0 1 ‘aldose memory oF PLA
table 2
ble
[ona
Microinstruction register
ae, 1۱/۱/۷۲
5-58 Control signals to data path ام
09 University of kurdistan ه68
صفحه 24:
Microprogram containing 10 microinstructions
ao سوق 000
Lobel | ceuret | 6صقت | لصت | veuret | Oewery | اساستت_ | Gequeusioy
[Getcha م le. ال 7 om
۳۹ 0 [eros اداع تس عدت
ها ا [ges عع عدت ©
Loo lead GL [eae
[sae ۸ ۹
lene One EO ۹
ساسع عست | السحكها |© |e تا
Ore GO. late
سح اه lo lo 00/۵ [etch
(0 ریا adres [tele
Dispatch Table 1
Dispatch Table 2
00000 bet 3
ee
09 University of kurdistan
صفحه 25:
حافظه کنترلی (کنترل به روش ریزبرنامه)
1600 [00000 00
1601 oft
1602 1001010
1603 ]0 0000 oft
1604 0 0
۱0 0 0۵ 0 0۱60 ۵ 006 010101010 1 0 111011110010
۱۵۵ ۵0۵0 0/110 0 00 0 0110/0/0 01111111
1 ۵ ۵ ۵۵ 1۱0/0۱۵/1 1 0 010 0 010 00000000
000 0
0000900
10 0 0
100001
0000
0 ۵ 0 00 0/00 0 ۵ 00 010/0 0 00 ۵۱
1۳
lolo 0.0 0
20 0
00/0/0 1 0 1/1 0 11 1001 1
6 0
1624 0 0
1625 0 0
11 1111 11
1100101
0/1 1 1 11 1
های پیچیده تر حافظه کنترلی ممکن است شامل خانه های تکر
eo
University of kurdistan
صفحه 26:
حافظه کنترلی دو سطحی (استفاده از نانو
حافظه
اگر در یک سیستم نیاز باشد که تعداد بسیار زیادی سیگنال کنترلی تولید شود و نیز تعداد
سیگنالهای کنترلی مجزا محدود و تعداد کمی باشند. به جای قرار دادن تمامی این سیگنالها در
حافظه میکری فقط سیگنالهای مستقل را در یک حافظه تحت عنوان حافظه نانو قرار داده و در
حافظه میکرو آدرس این سیگنالها( کلمات) کنترلی را مشخص میکنیم. در این حالت. ما دیگر
تعداد زياد و تکراری کلمات کنترلی را در حافظه میکرو نداریم و به جای آن آدرسهای تکراری
که حافظه کمت », اشغال سکنند ,| داد سم
Control address register
a 14 bits
مه یتشم 120
+ سح Control memory
Micro- ‘Nanoprogram memory | 2048x8
سید | له 8 Microinstruction (8 bts)
Nanomemory address
Nanomemory
ا 260
مثال 1 مثال 2
09 University of kurdistan
ea
صفحه 27:
حافظه کنترلی دو سطحی (استفاده از نانو
مثال: فرض كنيد که در یک سیستم تعداد ۳۰۰ کلمه کنترلی را داریم. از این ۳۰۰ تا تعداد 7۰
کلمه مستقل هستند(۲:۰ تا تکراری هستند). اگر طول کلمات کنترلی ۱۵۰ بیت باشد(تعداد
سیگنالهای کنترلی ۱۵۰ باشد) خواهیم داشت:
۱- در حالت معمول و بدون استفاده از حافظه نانو. حجم حافظه میکرو برابر ۱۵۰::۳۰۰ است.
۲- در صورت استفاده از حافظه نانو . حجم این حافظه برابر ۱۵۰۸۰ است. زیرا در این
حافظه فقط قرار است که کلمات کنترلی مستقل و غیر تکراری قرار گيرند.
در حالت دوم. حافظه میکرو فقط باید آدرس ۳۰۰ تا کلمه کنترلی مورد نیاز را از حافظه نانو
مشخص نماید. برای مشخص کردن (آدرس دهی) ۰" کلمه کنترلی. به 7 پیت احتیاج داریم.
چون سیستم به ۳۰۰ سیگنال کنترلی نیاز دارد. پس در اين حالت حجم حافظه میکرو برابر است
باد ۳
میزان صرفه جویی: (50*90 + 600*9) < bits OPCOO
3
Nan
University of kurdistan
صفحه 28:
eo
حافظه کنترلی دو سطحی (استفاده از نانو
حافظه)
یک پردازنده دارای ۱۷۵ سیگنال کنترلی و ۲۵۰ ریزدستور است.
اگر۲۰۰ ریزدستور متفاوت در اين پردازنده وجود داشته باشد, حجم
کل حافظه واحد کنترل در صورت استفاده از حافظه نانو چقدر
است؟
الف- ۲۸۰۰۰بیت
یود هنت
t ۰ ابیت
32 ۰ ابیت
09 University of kurdistan
صفحه 29:
Guowapy
02 @ sieeve CPO hes tw word dsadvoctres.
Whe oyole thee te heted by the worst cose hitewy.
> requires wore horde too cevessury.
© srticvole provessor splis icstruntiog execuliza fio severd skies.
2 و وه بو و موه زاس ی required.
7 Bock وه & retively stop, sv the clock opole thee is redued.
> Cvontcodl vats cot be reused مضو ال مم oye.
* Oe wd severd ول امه سل نا لو
De two extra adders wed poe wewory لصو وت
> Onttiglexers were toserted sv the (BLO ced wewery ooo be used Por dPP erect
و شوه اوه و موس
> Dew reypters ore ceeded ty store tterw edie remubs.
eo
y of Kurdistan
صفحه 30:
