صفحه 1:
۱۱۱۱۱۱ ۱ ا س
Department of Computer and IT
Engineering
University of Kurdistan
0 عجن وو Brobitertune
CPU Structure
By: Dr. Alireza Abdollahpouri
09
صفحه 2:
اجزا تشکیل دهنده 000
eee 55 5 15 ۱۱۸20۱05
۱ مجموعه رجیسترها
داده ها را ذخیره میکند
CLO جب يا
۳
عملیات محاسباتی و منطقی را انجام میدهد مشخص میکند که چه عملی در چه زمانی انجام
كيرد.
*از كلاك استفاده ميكند
بصورت سخت افزاری و یا ميكرويروكرام
سیگنال لازم را به بخشهای مختلف میفرسند.
@ ۱
صفحه 3:
CPO valido معما
111111 190 191 191 191 1 111
* سازمان تك انباره اى
* سازمان چند رجیستری مانند 9۳۸ GPBRO, O1PG,
* سازمان پشته ای
مثال: ماشین های 660 دارای یک معماری با مجموعه دستورات
پیچیده ای است که تمامی جنبه های معماری های فوق را در بر میگیرد.
__——_—_—_——— هه
صفحه 4:
اهمیت معماری (۳ چقدر است؟
70 15 5 05 ۱128015
* استفاده کننده نهائی:
هیچ!
* برنامه نویس سطح بالا
خیلی کم. تا حدی که بتواند کامپایلر مناسب را انتخاب نموده و عملکرد
برنامه را بهینه کند.
* برنامه نویس سطح پائین/ طراح OG
اين افراد بايد اطلاعات کافی در مورد رجیسترهاء ساختار حافظه. انواع
داده های موجود و عملکرد دستورات داشته باشند.
طراحان کامپیوتر:
این افراد نیز باید اطلاعات فوق را داشته باشند تا بتوانند اجزا سخت
افزای مورد نیاز را اتتخاب کنند.
@ ۱
صفحه 5:
ساختار رجیسترها
0000000 1191 1191 1191 1191 111110
"یکی از مههترین ویژگی های تعیین کننده برا ی یک 26۳00 ساختار رجيسترهاى داخلى آن است. اين رجيستر ها به دو دسته تقسيم بندى ميشوند:
رجیسترهان که استفادهکننده نها را مى بيندا و ميتوائد از طريق برنامه نويسى به آنها دسترسي داشته باشد
لمي
- صمح یه
ل
لج ا
السام
- (جم) صم مطجو9.
* رجيسترهانى كه براى كنترل و نكهدارى وضعيت 000 بكار ميرودد. اين رجيسترها توسط واحد كنترل براى اجراى دستورات مورد استفاده واقع ميشوند.
0
- جدود مص
صفحه 6:
سازمان تک انباره ۱
[en on
* یک آکومولاتور ههه
* مشابه با کامپیوتر پایه
©
®
0 همواره یکی از اپرندها
۸۵6۵۰ ۵0
صفحه 7:
"ارات قاس س تن
BCEOEROL REGIGTER ۴
* تمامی رجیسترها می توانند به عنوان اپراند دستور العملهای
PLO بکار برده شوند.
۴ متال : رجیسترهای داده در پردازنده پنتیوم
صفحه 8:
ورودي خارجي(حافظه)
صفحه 9:
S pido BLO 9 مجموعه رجیسترهای عمومی
1110 0101 Ee
در شکل فوق:
* خروجی هر رجیستر به دو 202) متصل شده است. اینکار
باعث میشود تا هر یک از آنان را بتوان آزادانه بعنوان مبدا
عملیات WE! PLO نمود.
* برای اینکه بتوان خروجی (() را به هر یک از رجیستر ها
منتقل نمود اين خروجى به ورودی تمام رجیسترها متصل
شده و علاوه بر آن با استفاده از یک دیکودر مقصد عملیات را
۶ یک (/9۷) ممکن است که قادر به انجام عملیات مختلفی
باشد. برای انتخاب یک عمل مورد نیاز از خطوط کنترلی
)0 استفاده میشود.
9
صفحه 10:
مثالی از عملیات @LO
0۲ 5155 5 16 01510 1110
برای مثال فرض کنید که میخواهیم میکرو اپریشن زیر را انجام دهیم:
9 + 9 80
ن عمل واحد کنترل باید سیگنالهای لازم را برای انتخاب
اسب دیکودر ظ0(66() ,6(2660(), و (),ا9) انتخاب نماید:
تعبین مقدار مناسب برای ورودی (00(60) یعنی 30) طوری که
توی رجیستر 6*) در روی باس 0) قرار گیرد.
تعیین مقدار مناسب برای ورودی 0020 یعتی 96 طوری که
محتوی رجیستر 89) در روی باس 0) قرار گیرد.
تعبین مقدار لازم برای ورودی 00۳0۲ که (را9) را وادار به انجام
عمل جمع 0400) نمايد.
*_ در نهایت انتخاب مقدار مناسب برای دیکور 0) به نحویکه خروجی
(0اإ) را به رجيستر 0:0 منتقل نماید.
@
0
صفحه 11:
قالب دستورا
1 5 0
۰ انتخاب عمل در )
* انتخاب رجیسترهای میدا
۶ از مداراتب سیار سریع ساخته میشود تا نتیجه را سریعتر
آماده کند.
8 9 ه 4
سم مس OO
© وه oa 0۳2008
a
19۳
Regist
er
Input
R1
R2
R3
24
RG
R7
Binar
y code
000
001
010
011
100
101
110
111
صفحه 12:
* در 06۳00 انجام عملیات
محاسباتی و منطقى بر عهده
Joc Cowl PLO شیفت را
میتوان توسط یک oS GhPter
قبل و یا بعد از 9/00 قرار
میگیرد انجام داد. در مواردی
هم ممکن است عمل شیفت
توسط خود(),ا) انجام شود. در
فصل ۴ طراحی چنین OLO )1
دیدیم که عملیات آن در جدول
مقایل ذکر شده است.
Symbol
TSFA
INCA
ADD
SUB
DECA
AND
OR
XOR,
COMA
SHRA
SHLA
Operation
Transfer A
Increment A
Add A+B
Subtract A —
B
Decrement A
And A and B
OR Aand B
XOR A and B
Complement
A
Shift right A
Shift left A
OPcode
00000
00001
00010
00101
00110
01000
01010
01100
01110
10000
11000
صفحه 13:
مثال
الا 55 5 5 11100015
* برای انجام میکرواپریشن زیر
606-6
مییایست کلمه کنترلی بصورت زیر انتخاب شود:
{Pied OP -code Gd ce 0
Gycobol COB Re RO ad
امامه اسب اون elo oll ool
همانطور که قبلا دیدیم یک راه پیاه سازی واحد کنترل استفاده از
میکروپر وگرامینگ است که در آن هر کلمه کنترلی در یک محل از
حافظه 036 ذخیره خواهد شد.
@ ۱
صفحه 14:
ae
ارتباط با حافظه
بسسس ال لا ۱۳
ADOT
ad
Re
RO
ae
RS
RO
۶
صفحه 15:
سازمان یشته با 6۳
هه هه ۱۱۱۱3۹۵۵۵
* ساختار ۱0۵
POGW ۶
POP ۰
دسترسی فقط به عنصر بالای پشته امکانپذیر است
* فقط یک اشاره گر نیاز داریم
GP = GTOCK ۳0۵0/۳۵ ٠
صفحه 16:
رد۳
0 5 5 5 ۱۱۱2805
oo
© © ه و
يك يشته 64 كلمه اي
porry 0
ات
OP —O@+
O[G] — OR
Ae (GP=O) PLEO
(POLL—A)
COETY —O
صفحه 17:
oo
ero00
POP
1110 0101 Ee
OR
۳۳۳۷۳
OR — O[G@]
GP — GP-d
AP (GP=O) MLEO (EO
BOETY
Pg!
or
©
بيتى
POLL
A)
COLL — O
صفحه 18:
کاربرد- استفاده برای صدا زدن برنامه فرعی
۲ 55 5 15 ۱۱12015
* صدا زدن برنامه فرعی(هت (Provedure
—call label
Qusk retura addess vo stack}
hap te Label
(Provedure returc) esl برگشت از *
—ret
op وله Prow stack;
duwp to akbress
@ ———_—_———__ ,
صفحه 19:
کارپرد استفاده در برنامه هاى بركشت يذير
۲ 155 0 16 0101 1110
oi pala
بأ میتوان برای هر نسخه از تابع صدا زده
شده حافظه جداگانه ای در نظر گرفت
آرگومانها و متغیرهای محلی را میتوان در پشته ذخیره نمود.
آدرس دهی متغیرهای محلی و آرگومانها نسبت به موقعیت
پشته انجام میشود.
بازگشت از توابع عکس حالتی است که صدا زده شده اند
@ ۱
صفحه 20:
کاربرد
08 515 5 15 15 15 111۳10
* عبارات محاسباتی
٠ +۳00
POLIGW ۵
+/PB0*CO ٠
هه
صفحه 21:
7-00
ااا 0 9(
٠ POGW ۵
٠ POGW ۵
* OOL (POP,POP, POCW &*0)
۰ POGW C
۰ POGW O
* O10 =(POP,POP,POCW C/O)
* BOD (POP,POP, POGW
REGOLT)
صفحه 22:
+0
ltt tas
۳061 ©
۳004 ©
9
صفحه 23:
0+
ااا 0 9(
0۵1 ©
۳06٩4 ©
0
۵ اوه
POOL DO
eo
صفحه 24:
0+
ااا 0 9(
۳04 ©
۳081۲ ۰
0
POCL O
POOL O
00
0
eo
صفحه 25:
+0
۱۳۱ س]۳ ee
۳01 ©
۳064 ۰
00
۳0۵4 ۵
061 0
0
00
۵+0
صفحه 26:
کدام مجموعه از عملیات ذیل می تواند یک پشته را پیاده سازی نماید ؟
۲ 55 5 5 11100015
POGW CB POP 6
مج هچ 060066 1
OEO[GE] © 4ب هو
GP —6e+ ® —O€O[GR]| م
OCO[GE] 4ب و مب
۵60۵۵6 © Ge coer] »
موی هه ۵ 0]
هر سه ۱۳ Be Le
صفحه 27:
انواعء ساختار پشته
ل 11 1 11 11 19 11 1131لا
- سرعت دسترسى بالا
- قيمت زياد
- تعداد كم
58 پشته حافظه ای
كه
- ارزان
- حجم زياد
صفحه 28:
تانیر نوع ۹ 2۶۷۱ بر قالب
yo > 1۱1207۳5
* تک انباره
- معمولا یک اپرند آکومولاتور است
— دستورات تک آدرسی
- دستورات سه آدرسی (یا دو آدرسی)
* پشته ای
اپرند مربوط به پوش يا پاپ
— دستورات یک آدرسی و صفر آدرسی
صفحه 29:
تاثیر قالب دستورالعمل ها بر روی سرعت اجرا
۳
=X (C+D)-(O+@) outro
- دستورات سه آدرسی
— دستورات دو آدرسی
- دستورات یک آدرسی
- دستورات صفرآدرسی
صفحه 30:
دستورات سه آد
Itt
در کامپیوترهای سهآدرسىء هر قسمت آدرس, برای مشخص نمودن یک
ثبات پردازنده و یا آدرس یک عملوند در حافظه تخصیص داده میشود.
X = (+) * (O+0)
ADD R1, A, B R1 € MA] + M[B]
ADD R2,C, D R2 € M[C] + M[D]
MUL X, R1, R2 M[X] € R1 x R2
@ ———_—_—_——__
صفحه 31:
آدرس میتواند یک رجیستر پردازنده يا یک خانه حافظه را مشخص نماید.
۲ < )+۵( * )0+0(
R1 € MA]
Rl €R1 + M[B]
R2 € M[C]
82 » 82 + الا ]0[
R1 €R1 x R2
M[X] € R1
90
MOV R1,A
ADD R1, B
MOV R2,C
ADD R2, D
MUL R1, R2
MOV X, R1
صفحه 32:
دستورات یک آد
سورب بت اجره ۱1۱1 ۱۱۱۱
دستورات یکآدرسی, برای تمام عملیات بر روی دادهها. رجیستر اکومولاتور
»< )۵+0( + )0+۵( را بهکار میبرند. BO
۱۵0۵۵ 0۵ 60 0
[016 +00 60 © ههه
T 0۳۶0 ۵000
۱۵0۵0۵ 0 0 € [0]
ههه © 60 00 + 010[
oo 7 60 > من « O[T]
00۵ * Op] >» هه
صفحه 33:
د ستو ات صغراد
Itt
X = (®+0) * (C+0)
- POGW OB
٠ POGW 6
٠ COO
* POGW C
٠ POGW 0
٠ BOO
٠ MOL
* POP X
صفحه 34:
۳
X = (A+B) x (C+D)
LOAD R1,A 851 € MA]
LOAD R2,B R2 € M[B]
LOAD R3,C R3 € MC]
LOAD R4,D R4 €M[D]
ADD R1, R1, R2 851 © 81+ 2
ADD _ R3, R3, R4 R3 €R3 + R4
اناالا R1, R1, R3 Rl €R1 x R3
STORE X, R1 M[X] € R1
or
صفحه 35:
روشهای آدرسدهی
۲ 155 0 16 0101 1110
دستویات یک کامپیوتر عملی را بر یوی داده ذخیره شده در حافظه و یا
رجیسترهای ۲۴۱ انجام میدهند. روش مشخص کردن عملوند یک
دستورالعمل حالات آدرس دهی ويا 72006 200۳655109 نامیده
ميشود.
اصولا حالات مختلف آدرسدهی عملوند دستور, تسهیلات زیر را در
سیستم فراهم میآورد:
۰ . قابلیت ایجاد شمارنده برای برنامه حلقه, و شاخصبندی در دادهها
و همچنین ایجاد اآشارهگر حافظه و جابجایی برای کاربر فراهم
میشود
٠ امکان تقلیل تعداد بیتهای قسمت آدرس دستور؛ فراهم میشود.
@ 7
صفحه 36:
إنواع دالت عر د ee
آدرس دهی ضمنی 4Ieoplied Oddressicy Dode
آدرس دهی بلادرنگ Seowednte Oddressiagy Orde
آدرس دهی ثبات QReqister Oddresstcy
آدرس دهی غیر مستقیم بکمک ثبات Reqister Iodicent Oddressicgy
Ouviarewedt pr Buirderrewest — jISy95 و یا کاهشی
Oirert Oddressiog Dode
آدرس دهی افزا
آدرس دهی مستقیم
آدرس دهی غیر مس Aedtrert Bddressiry Dode
5 یر Relive Pddressie Dod pa
آدرس دهی نسبی ول () لت
آدرس دهی شاخص Ouse Revister Oddressicn Onde
آدرس دهی با ثبات پابه
@ 7
صفحه 37:
آدرس دهی ضمتی
8 55 0 5 ۱05 ۲
۴ علج( بمعحصةك3) لصنامو]ا”
در اين
روش ايراندها بصورت ضمنى در داخل دستور العمل مشخص
اند.
- مثل دستور giao oS OM آکومولاتور را متمم میکند.
- دستورات صفر آدرسی مورد استفاده در کامپیوترهای ع 561 نيز
از آدرس دهی ضمنی استفاده میکنند زیرا عملوندها بطور ضمنی در بالای
پشته در نظر گرفته ميشوند.
@ ۱
صفحه 38:
pst 2 ودشي يلاد نگ
1 5 15 ۱015 1۱۳۱
* () ره <) لحم
در این روش مقدار عملوند در داخل خود دستور العمل داده
میشود.
اين مد آدرس دهی برای مقدار دهی رجیسترها بکار میرود.
— متل دستور زیر در پردازنده 66
MOO 8
Opercced سیم
@ ———_—_———__
صفحه 39:
1 حیستر
طح هت تدس س سسسدد 1
Revister Addressing ٠
در اين روش عملوندها در داخل رجیسترهای پردازنده قرار
دارند. با استفاده از 1) بيت ميتوان تعداد 9 رحیستر را
مشخص نمود.
- متل دستور زیر در پردازنده 766
060000 Lb, BL Sa
0
=a مس
سس
صفحه 40:
آدرس دهی رجیستری غیر مستقیم
۲ 1155 5 16 0151 1110
Reyister Iedirect Oddressioy ۶
* در این روش دستورالعمل رجیستری را مشخص میکند که
محتوی آن آدرس عملوند در حافظه را مشخص خواهد نمود.
2 متل دستور زیر در پردازنده 766
MOO &X,[G1]
OPO rowers Desey
© 1111111
eo
صفحه 41:
آد د
or Outoderrewed uddressiog *
افزایش و یا کاهشی خودکا
mit TTL
* این روش مشابه آدرس دهی رجیستری jue مستقیم است با
این تفاوت که مقدار رجیستر بعد یا قبل از استفاده برای
محاسبه آدرس موثر افز ایش و یا کاهش میابد.
Oewory
COO rey
R=R+0
60
& Q=R-A
صفحه 42:
آدرس دهی مستقیم
۲ 155 0 16 0101 11108
Oirert Oddressicgy Dede ۶
در این روش آدرس عملوند در داخل دستور العمل ذكر ميشود.
- متل دستور زیر در پردازنده 7626
MOO OX, [SOOO]
صفحه 43:
آدرس دهى غير مستقیم
لس سس 1101 11 191 191 1191 11910
Ockresotay Dock * الم
در این روش آدرس موجود در دستور العمل محلی از حاقطه را مشخص
میکند که آدرس عملوند در آنجا قرار دارد. در این حالت برای دستر
به عملوند دوبار رجوع به حافطه مورد نیاز است: یکبار برای پیدا کردن
آدرس آن و بار دیگر برای خواندن مقدار آن.
سح
صفحه 44:
آدرس دهی نسبی
A 191 11 111
جلعج() ودتعودص كل 15) جرهماج ©
* در اين روش آدرس موثر از جمع آدرس مشخص شده در داخل
دستور العمل و محتوى ()0) حاصل ميشود:
OPPevive Oddress= address pot oP testruntiod + pout oP PO
تایه
2
1
ee
Qa دنت
صفحه 45:
آدرس دهی شاخص دار
۳]
فک
1118 0101 1 1 كا
Arden Ockrevokry Doe
در اين روش آدرس موثر از جمع آدرس مشخص شده در داخل دستورالعمل و محتوی یک
رجیستر مخصوص که رجیستر ایندکس نامیده میشود حاصل میشود:
ار بل أن همست 2۴ نوم حول OPPevive Oxk.=
معمولا از اين روش برای دسترسی به داده های یک آرایه استفاده میشود. که محل شروع
داده ها در حافظه در دستور العمل مشخص میشود و فاصله داده مورد نظر تا محل شروع
توسط رجیستر ایندکس تعیین میگردد.
Orwoy
صفحه 46:
آدرس دهی با ثبات بایه
11827200 0 0557 0
use Reqister Oddressiay Orde
اين روش مشابه آدرس دهی با ثبات شاخص است با اين
تفاوت که بجای ثبات شاخص از ثبات پایه استفاده ميشود.
تفاوت این دو روش در نحوه استفاده از رجیسترهاست.
ار هه یی + جلا ماح خن اون حول = OPPectue Odd
]
صفحه 47:
متال عددی
مقدار آکومولاتور در صورت اجرای
دستور موجود در آدرس ly COO
حالتهای مختلف آدرین دهی چیست؟
PC = 200
R1 = 400
XR = 100
AC
حالت
حافظه
پارکردن ۸۲
0 2 آدرس
دستور بعدی
450
700
800
900
325
300
آدرس
200
201
202
399
400
500
600
702
صفحه 48:
مش بع<دی
1 1 11 1111
حالات آدرسدهی آدرس مون محتوای اکومولاتور
تیم 500 800
بلافصل 201 500
alae 800 300
Re 702 325
شاخصدار 600 900
ol 400
غیرمستقیم از طریق ثبات 400 700
افزايش خودکار 400 700
& 450 399 Sigs کلف
9
صفحه 49:
مجموعه دستورات کامپیو:
ات sonnets
دستورات مورد استفاده درکامپیوترهای مختلف از لحاظ تعداد.
عملکرد. نشانه های مورد استفاده برای اسمبلی: و کد باینری
بسیار متفاوت هستند با اين وجود تمامی آنها دارای دستوراتی
از گروههای زیر میباشند:
دستورات انتقال داده
دستور ات محاسباتی» منطقی و جابجائی
دستورات کنترل برنامه
صفحه 50:
دستورات معمول Jlaul
۱۱۱۳۱۳۱۵۵ ecb |
فرم سمبولیک نام
LO
or
@OO
xXOW
10 او 1 التقال داده بين ورودى/خروجى
“et Our oor
POCW حاص 18 ] انتقل داده بين يشتهو
رجینترها
Poe 2 ا
09
صفحه 51:
هشت حالت ادرسدهی برای دستور
با
عملکر: زبان اسمبلى حالت آدرسدهی
LD ADR AC € M[ADR] آدرسدهی مستقیم
LD @ADR AC € M [M[ADRI] آدرسدهی غبرمستقیم
LD $ADR AC €M[PC + ADR] آدرسدهی نسبی
AC €NBR قل ما آدرسدهی بلافصل
LD ADR (X) AC € M[ADR + XR] آدرسدهی شاخص
LD RI AC €RI آدرسدهی ثبات
LD (RI) AC €M[RI] آدرسدهی رجيستري غیرمستقیم
+LD (RI) AC €M [RI], Ri€Ri+1 آدرسدهی افزایش خودکار
9 ۲
صفحه 52:
نماد دستور نام دستور
Increment INC افزایشدهنده یک
Decrement DEC کاهشدهنده یک
Add ADD جمع
Subtract SUB تفریق
Multiply MUL ضرب
Divide DIV تقسیم
Add with carry ADDC جمع با بیت نقلی
Subtract with SUBB تفریق با بیت قرضی
borrow
2 مکمل Negate (2’s NEG
0 complement)
صفحه 53:
د السبيوراميبث مکی و wine روف
بيت
نماد دستور
CLR
COM
AND
OR
XOR
CLRC
SETC
COMC
El
DI
نام دستور
Clear صفر كردن
Complement مكمل كردن
AND AND
OR OR
XOR XOR
Clear carry صفر كردن بيت نقلى
Set carry یک کردن بیت نقلی
Complement carry مكمل كردن بيت نقلى
Enable Interrupt فعال کردن وقفه
Disable Interrupt
غیرفعال کردن وقفه
صفحه 54:
دستورات معمولی شیفت
فرم نمادین نام دستور
Logical Shift Right SHR شیفت به راست
Logical Shift Left SHL شیفت به جب
SHRA
Arithmetic Shift Right
راست
Arithmetic Shift Left SHLA
Rotate Right ROR چرخش به راست
Rotate Left ROL چرخش به چپ
Rotate Right through carry RORC چرخش به راست از
طریق بیت نقلی
ROLC
Rotate Left through carry
چرخش به چپ از 0
oe طريق بيت نقلى
صفحه 55:
هه
ستو د ديت ا م
فرم
نمادین
BR
JMP
SKP
CALL
RET
CMP
TST
نام دستور
Branch
Jump
SKIP
Call
Return
Compare( By
subtraction)
Test( By ANDing)
انشعاب
رد كردن
صدا زدن
بازگشت
مقایسه
صفحه 56:
بيت هاى وضعيت
الا 55 5 5 11100015
>t fo
ous «۷
ومع ۳۵(
شرطهایی که بر اساس آنها تصمیم
0 | ه۵ | هه
در مورد پرش گرفته میشود بر
اساس این بیتها هستند. لا Le
صفحه 57:
مقایسه اعداد علامت دار و بدون علامت
1 5155 5 5 ۱05 1۱18۵
سوال:
© و 9کدام بزرگترند؟
0 0
o=
جواب: بستگی دارد آنها را علامت دار و يا بدون 000000000
علامت در نظر بگیريم.
بدون علامت (0<0) علامت دار (9>06)
0 -هه 50
۵-0 820
0
صفحه 58:
هه ده هد ده
انواع مختلف وقفه در کامپیوتر
* وقفه های خارجی
- این وقفه ها سخت افزاری بوده و توسط یک وسیله خارجی نظیر 10 و یا تایمر رخ
میدهد.
۴ وقفه های داخلی
- در اثر استفاده غلط و نابجای یک دستور حاصل ميشود. مثل رخ دادن س
انجام یک تقسيم بر صفرء يك كد دستور العمل غلط سرریز شدن پشته؛
ا
- برنامه سرویس دهی به وقفه در هر مورد در باره عکس العمل مناسب تصمیم
وقفه گاهی ۷7 نامیده میشود.
۴ وقفه های نرم افزاری
<- نوع خاصی از صدا زدن برنامه فرعی هستند. برای انجام عملیات خاصی نظیر تغییر
مد پرنامه از حالت سب به ۸ و یا انجام سرویس خاصی )مثلا چاپ ب
کاراکتر(بکار میروند.
@ 98
صفحه 59:
قالب دستور العمل ها
os 11151
* قالب دستورالعملها وایسته به نوع طراحی cau! OPO
* بخش های مختلف يك دستور العمل
OP-COOE —
- آدرس ( حافظه . ثبات ....)
- شیوه آدرسدهی
صفحه 60:
هه
1 1ك 1لا 1ل 1901 11 1111 111
تنوع دستور العملها
- کامپیوترهای 0190 (پر دستور )
- کامپیوترهای RIGC (کم دستور )
صفحه 61:
60
ات سصده 6
am
با عه >
معماری یک کامپیوتر متاثر از مجموعه دستورات انتخاب شده برای آن
است.
در کامپیوتر های اولیه سعی بر این بود تا تعداد دستورات کم و ساده
اده سازی سخت افزاری آن ممکن باشد.
ن آن تعداد دستورات
سخت افزار و ارزان
کامپیوترها افزایش یافته و بر پیچیدگی آنها افزوده گردید. هدف این
بود تا هر چه بیشتر نیاز های کاربران را در سخت افزار گنجانده وبا
کاهش فاصله بین بانهای سطح بالا و دستورات کا کار ترجمه
دستورات سطح بالا را ساده تر کنند. این نوع کامپیوترها گاها تا ۲۰۰
دستور و تعداد بسیار زیادی مد آدرس دهی دا . این کامپیوتر ها
(visv) |) ره نو محتسطاحها مطامجه() مینامند.
9
صفحه 62:
ویزگ های کاسیوترهای 0189
1 11 1لا | me
تعداد زیادی دستورالعمل دارند ۱۰۰) تا ه۰ ۲ عدد(
دستوراتی برای انجام کارهای ویژه دارند که معمولا بندرت مورد
استفاده قرار میگیرند
تعداد زیادی مد آدرس دهی دارند
طول دستور العمل ها متفاوت است
دستوراتی دارند که عملیاتی را بر روی اپراندهای موجود در
حافظه انجام میدهند.
برای اجرای دستورات oy چندین کلاک نیاز هست.
9
صفحه 63:
کامپیوترهای با مجموعه دستورات کاهش یافته۱۵0؟)
55155 0 5 00 11180
معماری 08210500 ابداعی مهم در زمینه سازمان کامپیوتر
بشمار میرود.
* در این معماری سعی شده است تا با ساده تر کردن مجموعه
دستور العمل ها بر قدرت پردازنده افزوده شود.
صفحه 64:
Pre Gewuatiz (Bup
1110 0101 Ee
با ييشرفت زيانهاى سطح بالا اختلاف بين زبان سطح بالا
برنامه هاى سطح بالا و زبان ماشين
كسترش يافت.هر يك از معماريهاى فوق
روش مختلقى براى كاهش اين اختلاف
معرفى كردند تا ترجمه زبانهاى سطح بالا
بطرز موترترى انجام شود.
بريه ومجععه رويد
زبان ماشين
* نكرش : 001090 دستورات زبان ماشین پیچیده تر و به زبان
سطح بالا نزدیکتر گردد.
* نگرش : (196) دستورات زبان ماشین ساده تر و به نیازهای
0-۹ نزدیکتر گردد. ob
ae
صفحه 65:
دستورات ف در کامپیوتر کدامند؟
Cet it no 008(
* مطالعات زیادی که برای تعیین مشخصات و الگوی دستورات
حاصل از ترجمه برنامه های سطح بالا انجام گرفت نشان
ميدهد كه:
* از لحاظ تعداد دفعات استفاده از دستورات روند زير بطور
تقريب وجود داشته است:
woes: 99% —
voenttiocal broach: CO% —
wikwetclouc: (O% —
vbers: betwee 0.0% ord IO% —
دستورات ساده ير مصرف تر هستند 02
صفحه 66:
دستورات پرمصرف در کامپیوتر کدامند؟
وس تست اه 129
* از لحلظ مد آدرس دهی:
- تقریبا ۱۸ 9 مواقع از مدهای آدرس دهی پیچیده نظیر رس
todexed-tHedirent, displcewrcttiodexed, stack راس»استفاده
شده است.
- در بیشتر موارد از مدهای آدرس دهی ساده که امکان محاسبه آدرس در یک
سیکل وجود داشته استفاده میشود. نظیر ,ال ات۲ رطاط ۲
displiveweut
@ ۱
صفحه 67:
دستورات پرمصرف در کامپیوتر کدامند؟
mci Leas
۶ از لحاظ نوع عملوندها:
* ۷۵۶6 عملوندها مقادیرعددی نظیرمقادیر صحیح » حقیقی و یا
کاراکتری هستند که میتوان آنها را در رجیسترها ذخیره
نمود.
۴ بقیه آنها آرایه ها و استراکچها هستند که بیشتر بصورت
متغیرهای خارجی مورد استفاده قرار میگیرند.
۴ ۸۰96 عملوندهای عددی بصورت متغیرهای محلی مورد
استفاده قرار میگیرند.
صفحه 68:
دستورات پرمصرف در کامپیوتر کدامند؟
00 ۱ 191191 111111
۴ از لحاظ زمانی که برای اجرای دستورات مصرف میشود:
- با وجود آنکه دستورات مربوط به صدا زدن برنامه فرعی و بازگشت
از آن تقریبا 9۵۱۵ از دستورات برنامه را تشکیل میدهند. اغلب
وقت دحك صرف اجرا آنها ميشود.
- دستورات أدج و مسا به مجموعه بزرگی از دستورات زبان ماشین
ترجمه میشوند که بسیار نیاز به رجوع به حافظه دارند.
۶ مطالعات آماری برروی صدا زدن توابع نشان میدهد که:
* فقط ۲ توابع بیشتر از ۶ پارامتر دارند
* فقط 7,۷ توابع بیشتر از ۶ متغیر محلی دارند
میشود.
صفحه 69:
۰*۹۵ هات Si
a
* دستورات ساده و کمی دارند
<- هدف این است که بتوان دستورات را بسرعت اجرا کرد. اغلب
دستورات 0821050 در یک سیکل اجرا میشوند) بعد ازواکشی و
رمزگشایی (
<- چون دستورات در زمان مشایهی اجرا میشوند عمل 7۳/۲ دارای
بازده بالایی خواهد بود.
— کم بودن دستورات باعث ساده شدن واحد کنترل ومسیرهای
ارتباطی میشود که منجر به کم شدن تعداد ترانزیستورهای مورد
نیاز برای ساخت پردازنده میشود اینکار سرعت پردازنده را نیز
افز ایش مب
- در ضمن میتوان واحد کتترل را بروش سیم بندی ساخت.
@ 8
صفحه 70:
016500 هاي zs 9
sa
* دسترسی به حافظه محدود به دستورات ۳۷۶ , معا است
- از آتجائیکه عمل رجوع به حافظه معمولا در یک سیکل امکانپذیر
نمیباشد.تمهیداتی در کامپایلر استفاده میشود ت7۳ بطور
igo ی استفاده شود.
- یاقی دستورات بر روی محتوی رجیسترها عمل میکنند.
صفحه 71:
RIGO le ویژگی
111۳10 15 15 15 5 515 08
* تعداد مد های آدرس دهی آنها کم است
- معمولا فقط از مدهای آدرس دهی زیر استفاده میشود:
|
dient addressicy ۰
صفحه 72:
ویزی هاي ®1GC
۳ 0[
* دستورات طول و فرمت یکسانی دارند
* اینکار باعث میشود تا خواندن دستورات و رمزگشائی آنها
سریع و ساده باشد.زیرا لازم نیست تا معلوم شدن طول
دستور برای رمزگشایی آن صبر کرد.
* یکسانی فرمت باعث سهولت رمزگشایی میگردد زیرا کد و
ادرس همه دستورات در محل یکسانی قرار دارند.
@ 8
صفحه 73:
RIGO le ویژگی
111۳10 15 15 15 5 515 08
۴ تعداد رجیسترهای زیادی دارند.
- کم شدن دستورات باعث کوچگ شدن واحد کنترل و آژاد شدن
فضا برای گنجاندن تعداد بیشتری رجیستر ميشود.
- متغیرهای محلی. نتایج میانی و پارامترهای توابع در داخل
رجیسترها ذخیره شده و تعداد رجوع به حافظه کاهش پیدا میکند.
@ :
صفحه 74:
RI1IGC سایر ویژگی های
UE ee eee
استفاده ازتکنیک 2۱ که باهمیوشانی سیکل های
واکشی. رمزگشائی و اجرا شده و نهایتا به اجرای هر دستور
در یک سیکل منجر ميشود.
تعداد زیادی رجیستر در داخل 77 وجود دارد
استفاده از تکنیک همپوشانی رصع که باعث
افزايش سرعت صدا زدن تابغ و بازگشت از آن ميشود.
حمایت از کامپایلر برای افزایش کارائی در ترجمه برنامه های
UL سطح
&
صفحه 75:
RIGO, 0160 مقایسه
1۱۳۲۱۸۱۲15 15 15 55 5 02
* برای متال ترجمه دستور ۰*۲ 2 » برای دو معماری فوق
بصورت زیر خواهد بود:
برای مثال ترجمه دستور ۲ *۰ 2 » برای دو
معماری فوق بعبورت زیر خواهد بود:
انجام شود. در حالیکه RISO 23 5
این است که از دستوراتی استفاده شود که
هر دستور در یک پالس قابل اجرا باشند. در
تتیجه برنامه 37960 دارای خط
ط ره OOLT
LO®O Rd, a
LO®O RE, b
MOL RARE
GPORE au, Rd
0
29
RIG
0
09
صفحه 76:
مقایسه 180
ب لك
* فرمول محاسبه کارانی
* اگر از فرمول زیر برای محاسبه کارائی کامپیوتر
استفاده شود:
time time instructions
program ~ cyck
\
0/160 سعوميكند تا لين R160 یکند نا لین
قسمستكاشييدا كند قسمتكاشييدا كند
صفحه 77:
بیشگامان ۲18۵
ا 959955912 119 1191 11 111 11191 11111
٠ ايده 21090 در دهه ۸۰ معرفی گردید. از جمله
پیشگامان آن میتوان به موارد زیر اشاره نمود
— 180 60d
— GrocPord OIPG
— Berkey RIGO 1 and ©
صفحه 78:
کاربردهای ۳68۵۵
1 1 1 11180101
* عمده پردازنده های کامپیوترهای سرور و workstariva از نوع
6 هستند.
* تعدادی از پردازنده های مشهور مبتنی بر rjl Myke RIGO
- 00۲00/۲/06۹60) که در تلفنهایهمراه استفلده میشود
- ۲000 01۳05 که در برخی دستگاه هاوب ازیمورد استفلده
است
- با91) تا" مورد استفلده در سیستمهایلل لاو
vsbaiuul > 440 POOCR/PrwerPO — در كامييوترهاو)0)0)
Tote! Perotti 1۱ ۰۷/۲ - اگرچه از معمایی(16() پ پرویمیکنند
ولیب سیاریاز ویژگیهی RIGO را استفلده میکنند.
@ 8
صفحه 79:
puertapped reyster widows
1110 0101 Ee
دیدیم که صدا زدن برنامه فرعی و بازگشت از آن بخش
مهمی از اجرای برنامه را بخود اختصاص میدهد. لذا سرعت
بخشیدن به آن میتواند تاثیر زیادی در افزایش کارائی
پردازنده داشته باشد.
* هنگام صدا زدن یک برنامه فرعی دستوراتی استفاده
میشوند که مقادیر رجیسترها را ذخیره کنند. و پارامترها را
اتتقال دهند. ۱
* برای بازگشت از برنامه فرعی مقدار بازگشتی تابع به برنامه
صدا زننده متتقل شده و مقادیر ذخیره شده رجیسترها
بازیابی میشوند.
@ 1
صفحه 80:
puerlupped revster widows
1110 0101 16 5 155 ۲
از همیپوشانی پنجره ای رجیسترها استفاده
ذخیره و بازیافت مقادیر رجیسترها را حذف نمایند.
* هر زمان که تابعی که صدا زده میشود پنجره ای از رجیسترها
از میان بانک رجیسترموجود در پردازنده به آن اختصاص
میاید.
* اینکار از طریق افزاپ اینتری انجام میشود. با برگشت از
تابع پوینتر به مقدار قبلی آن کاهش داده ميشود.
* پنجره مورد استفاده برای تواب همجوار همپوشانی دارند تا
امکان به اشتراک گذاشتن داده ها بین دو تابع وجود داشته
باشد.
@ ۱
صفحه 81:
reyster widows
1110 0101 Ee
سر
سر
on ينجره رجيسة
in اولیه
از پنجره جدید
مشترک برای
انتقال
اطلاعات
استفاده میشود
با برگشت تابع پوینتر با صدا زدن تابع پنجره جدیدی 22001
کاهش SINT أن رجيستر ها به أن اختصاصض 5
oa
میشود.
صفحه 82:
Ulio
11100015 5 5 55 ee
در کتاب سیستمی معرفی شده است که دارای بانک
رجیستری با مشخصات زیر است:
- این بانک دارای ۷۴ رجیستر است.
- رجیستر های ۲) تا6) بعنوان رجیسترهای عمومی قابل استفاده
تمامی توابع هستند
- بقیه رحیسترها به به ۴ گروه(),(),),9) تقسیم شده اند.
- هر پنجره دارای ۰ ۱ رجیستر اختصاصی و دو دسته رجیستر ۶ تائی
مشترک با با پنجره های مجاور است.
- از رجیسترهای اختصاصی برا ذخیره متغیرهای محلی و از
رجیسترهای مشترک برای انتقال پارامترها استفاده میشود.
- به اين ترنيب هر تابع میتواند از ۳۲ رحیستر استفاده نماید
@ 8
صفحه 83:
مثال 8 ۵ ۲ و6
0 15155 ۱10001515 ۳
Rao
Loed to D
Comoran 7 © امم ©
۳
Prov. O
Common to ® crrd O
۳
Pree. O bowd ۵
99
ROT
Coenen (B oxrd ©
99
Pre. 0
606
سوه سس ,
gq | Cmmrraty O aed ®
© Prov.) 8
صفحه 84:
خ
* نحوه محاسبه رجیسترهای قابل استفاده برای هر تابع به
صورت زیر است.
- - ) تعداد رجیسترهای عمومی
- - باتعداد رجیسترهای اختصاصی هر پنجره
- - «) تعداد رجیسترهای مشترک بین دو پنجره
- - () تعداد پنجره ها
i008
- ۱/۲66۵ اندازه پنجره
- (6+)+۷۷ تعداد کل رجیسترها در بانک رجیستری
@ -
صفحه 85:
RIGO 222 نورداننده 4 ده ۱ wii
* یکی از اولین معماری های ۹6) است که در دانشگاه برکلی
وه
اين پردازنده ۲ بیتی:
- دارای آدرس ۳۲ بیتی بوده و میتواند از داده های ۳۲9۱۶9۸ بیتی
استفاده نماید.
- سه مد آدرس دهی دارد: رجیستری. بلادرنگ و نسبی
- یک بانک رجیستری ۱۳۸ تائی شامل ۰ ۱ رجیستر عمومی و ۸ پنجره
۲ رجیستری دارد.
- ۳۱ دستورالعمل دارد
9
صفحه 86:
3 مت د ستو ات Oretey RIGO ٩
11 1ك 191 191 191 190 111111
© eo 16 هه و6 06 © eooe od
Opoode | Rd @s 0 | 0۰ 0252 oe
co} 46 46 6 46 46 ee ce 60
0ممملع | Qd 5 0 ce
Reqster wedkte wode: ©O= operand
oO 4 49 جع و 60
0ممجط | 00 Y