صفحه 1:
معماري کامپیوتر ( 3واحد درسي |
سوري (
صفحه 2:
این درس در مورد چیست؟
اين درس در مورد ساختار وچگونگی طراحی کامپیوتر های
ديجيتالى است . این مطلب معروف به "معماری کامپیوتر" Coal
(كه شامل معمارى مجموعه دستورالعمل + سازماندهى سخت
افزارى مى باشد ) .
2 ممم امه5م323-04وممع 224
صفحه 3:
چرا سازماندهی کامپیوتر را بررسی می کنیم
شاید هیچکدام از شما در شرکتهای اعع و یا (0000) کار نکرده ايد
Ul .|..[
- کامپیوترهای جاسازی شده
- طراحی کامپایلر
- حتی طراحان نرم افزار
با مجصولات این شرکتها در ارتباطند
3 ممم امه5م323-04وممع 224
صفحه 4:
طرح كلي درس
بازنگری کلی
کارایی
مجموعه دستور العملها
محاسبات کامپیوتر
ماشینهای تک چرخه آی
خط لوله ای
سیستمهای حافظه (رپسم() اسجد() , علس0 , 0900))
سوپر اسکالر (1/را()/«لسسسسسی<) و چند پردازنده ها
مباحث دیگر
ممم امه5م323-04وممع 224
صفحه 5:
سرفصل : رئوس مطالب در معماری و سازماندهی
کامپیوتر
یافتن توانایی ارائه اطلاطات پایه از امعماری و اسازماندهی
کامپیوتر در جریان طراحی کامل یک کامپیوتر
* دریافتن مسئولیتهای حرفه ای و اخلاقی یک مهندس
کامپیوتر (مخصوصا معمار کامپیوتر)
5 ممم امه5م323-04وممع 224
صفحه 6:
*معمار: ی" به چه معناست؟
" فن یا دانش یا ساختمان ... فن یا پرداختن به طراحی و پیاده
سازی ساختارها .., *
Orbster Of Dew Ovleye Dintigaary *
"شامل نقشه » طراحی » ساخته و دکوراسیون چگونگی
عملکرد ٩
werd Colleye Diriosary *
6 ام هام۲9 922.00۴ وم 24
صفحه 7:
- كلمه اى كه توسط red @rovks ابداع
گردید,
7 ممم امه5م323-04وممع 224
صفحه 8:
2
معماری كامليوتر! يعني کامپیوتر از دید کاریر"
- (6۵0) ,ه Q@ardka
"ما بوسیله معماری؛ ساختارواحدهای تشکیل دهنده یک سیستم
کامپیوتری را هدفمند می نمائیم ."
Op, tb. (QO?) -
8 ممم امه5م323-04وممع 224
صفحه 9:
"معماری یک کامپیوتر عبارتست ازمحیط یا فضای بین
ماشین و نرم اقزار
Dorks Packie -
اس 960/00 100
9 ممم امه5م323-04وممع 224
صفحه 10:
"معماری کامپیوثر*
ساختار: نظم و ترتیب دادن به بخشهای تابت
سازماندهی: فعل و انفعال پویای این بخشها و مدیریت آنها
پیاده سازی:طراحی کردن بلوک بخشهای دارای هدف خاص
ارزیابی کارایی: مطالعه رفتار سیستم . (مسمسه مهصسسل)
ام هام۲9 922.00۴ وم 24
صفحه 11:
۰ پیاده سازی
۰ سازماندهی: منظر سطح بالا
+ مليستم لحافظله
۶ ساختار گذرگاه (bass)
* طراحی CPO gh
۰ سخت افزار
+ طراحی منطقی
* تکنولوژی بسته بندی(ساسج)
۶ معماری مجموعه دستورالعمل
5 ممم امه5م323-04وممع 224
صفحه 12:
۰ به خاطر. بسپارید: نکته اینست که بیاموزید چگونه
معماری به مفهوم تکنولوژی موجود را ارزیابی کنید.
۶ شناختن روش خیلی مهم است. اما پایان کار نیست.
2 ممم امه5م323-04وممع 224
صفحه 13:
مراحل در سازماندهی کامپیوتر
۰ مفهوم ماشینهای چند سطحی
۰ مفاهیم ماشین مجازی
13 ممم امه5م323-04وممع 224
صفحه 14:
٠ ساختار سخت افزار / نرم افزار
۰ _الگوریتم ها و پیاده سازی آنها
۰ انتشار زبان
14 ممم امه5م323-04وممع 224
صفحه 15:
هر دوی) سختا افذار 4 نرم افزار ام رکب از لآيه أهاى سلسله مراتلی هستند) با اهر لای
سطح پائینتر جزتیاتی از دید سطح بالاتر مخفی می شوند. این اصل تجرید:
روشی است که طراحان سخت افزار و طراحان نرم افزار از عهده پیچیدگی
سیستم های کامپیوتری بر آمدند.
پک محیط کلیدی بین لایه های انتزاعی معماری مجموعه دستورالعمل اس فضای
بين سخت افزار و نرم افزار سطح پائین . اين محیط مجازی توان بسیاری در
پیاده سازیبرای دگرگونی-هزینه و کارایی در اجرای یک نرم افزار یکسان است:
John L. Hennessy
David A. Patterson
24 ام هام۲9 922.00۴ وم as
صفحه 16:
عوامل در معماری کامپیوتر
y
4
م0 1 Orcktcohire: جحي
را مه( او() م۰
موم () مانب( +
ماما ۰
صفحه 17:
مجموعه دستورالعملها یک محیط بحرانی
صفحه 18:
مهندسی و معماری کامپیوتر کجاست؟
صفحه 19:
تشریح: پنج جزء ترکیب شده کامپیوتر
ود
ام هام۲9 922.00۴ وم 24
صفحه 20:
تکنولوژی کامپیوتر: تغییری مهیج
© پردازنده
؟ هر یکسال وانی 2 برایر دز سرعت(از سال 1985).
* حافظه
* ظرفیت 2 :]1848720 (آبرابر در هر دو سال(از سال 96)
9 ديسك
* ظرفیت: 2برابر در هر سال(از سال 97)
20 ام هام۲9 00۴: 322 وم 224
صفحه 21:
گرایش تکنولوژی: پیچیدگی ریزپردازنده
transistors
| sm 11
1970 1975 1980 1985 1990 1995 00
OX trawstsiors/Ohip .4ب 90 9:0 peas
صرابر ترانزیستور/تراشه هر 0.0 تا 6 سال"موسوم به قانون مور"
24 \epe9323-04F\Topico ppt a
صفحه 22:
Single/multicycle
MIT Datapaths
TNL
The pourse
Pipelinin
Memory Systems
224 \cneg323-04F\Topicd.ppt 2
صفحه 23:
Intel 486™ DX CPU
@ Design 1986 - 1989
@25 MHz, 33 MHz
@1.2 Mtransistors
1.0 micron
#5 stage pipeline
@ Unified 8 KByte code/data cache
(write-through)
@First IA-32 processor capable of
executing 1 instruction per clock
cycle
224
صفحه 24:
Pentium® Processor
@Design 1989 - 1993
@60 MHz, 66 MHz
3.1 M transistors
0.8 micron
#5 stage pipeline
@8 KByte instruction and 8 KByte
data caches (writeback)
@Branch predictor
Pipelined floating point
@First superscalar IA-32: capable of
executing 2 instructions per clock
224 \cneg323-04F TopicO.ppt
صفحه 25:
Pentium® II Processor
@ Design 1995 - 1997
@233 MHz, 266 MHz, 300 MHz
@7.5 M transistors
0.35 micron
@16 KByte L1l, 16 KByte L1D,
512 KByte off-die L2
@ First compaction of P6
microarchitecture
224 \cneg323-04F TopicO.ppt 3
صفحه 26:
Pentium® III Processor
(Katmai)
@ Introduced: 1999
450 MHz, 500 MHz,
533 MHz, 600MHz
9.5 M transistors
0.25 micron
#16 KByte L1I, 16
KByte L1D, 512
KByte off-chip L2
@Addition of SSE
instructions.
SSE: Intel Streaming SIMD Extensions to the x86 ISA
zane \cpe9323-04F\Topico.pot 26
صفحه 27:
Pentium® III Processor
(Coppermine)
# Introduced: 1999
@500Mtz ... 1133MHz
@28 M transistors
0.18 micron
#16 KByte L1I, 16
SEE 110,
256KByte on-chip L2
Integrate L2 cache
on chip, It topped
out arcu
224
صفحه 28:
Pentium® IV Processor
@ Introduced: 2000
@ 1.3GHz ... 2GHz ... 3.4GHz
@42M ...55M...125M
transistors مم
0.18 ... 0.13 ... 0.09 ro
micron 9
@Latest one: 16 KByte L1I,
16 KByte L1D, 1M on-chip
L2
@Very high clock speed and
SSE performance
2 ام هام۲9 922.00۴ وم 24
صفحه 29:
Intel® Itanium®
Processor
Design 1993 - 2000
4733 ۱/۳2, 800 ۶
25 M transistors
>0.18 micron
levels of cache
"16 KByte L1I, 16 KByte L1D
" 96 KByte L2
= 4 MByte off-die L3
@Superscalar degree 6, in-order
machine
First implementation of 64-bit
Itanium architecture
224 \cneg323-04F TopicO.ppt 29
صفحه 30:
Intel® Itanium 2®
Processor
@ Introduced: 2002
GHz
»221 M transistors
0.18 micron
@3 levels of cache
= 32 KByte I&D L1
™ 256 KByte L2
= integrated 1.5MByte L3
@ Based on EPIC architecture
+ Enhanced Machine Check Architecture
(MCA) with extensive Error Correcting
Code (ECC)
224 \cneg323-04F TopicO.ppt 30
صفحه 31:
Becoming Larger and
Larger
1993:Pentium 2002:
Level 1: 16K KByte I-
° sg KByteI-cache @ 16 KByte L11, 16 cache, 16 KByte D-
ands KByteD- KByte LID cache
cache 4 512 KByte off-die Level 2: 256 KB
2 # Level 3: integrated 3 MB
or 1.5 MB
224 \cneg323-04F TopicO.ppt a
صفحه 32:
coated
کر
و
SUPERSCALER
ees
Se
۳
تس
QOverch's PowerPC OOF
\cpea323-04F\Topico.pot 2
224
صفحه 33:
Intel Pentium 4 Northwood
Mie eet خخ Seen) ages اد Sere سک مه Bree ea eee
انا 5 0
0
که عیام ها هم
ان
اخااا ee امم
اا 400.500 ,عمط
صفحه 34:
Intel Pentium 5 Prescott
Instruction Trace Cache 0 Buffer Allocation & ۱
مها نیع تلع دمع لله اعم
۱
erent)
Cee areata
Integer Execution Core
Front Side Bus Inter
,ععق 533.00 ۷۶
صفحه 35:
یک بازبینی از جریان طراحی پردازنده
صفحه 36:
36
(1G® depiggr) Gaull sis 40 pane glee Gal yk
طراحی در سطح وظایف (اسروبسسسخ) QPL deste
طراحی در سطح اجزاء ترکیب دهنده
طراحی qt evel/switrk-level
طراحی در سطح مدار
ام هام۲9 922.00۴ وم 24
صفحه 37:
روش کلاسیک طراحی مرحله ای معماری
مجموعه دستورالعمل
۰ انتخاب یک الگوی ساخت )
+ تعریف () برای تطبیق با:
۰ کارایی مورد نقاضای جدید و تکنولوژی جدید
۰ ارزیابی (شبیه سازی معماری مجموعه دستور العمل)
۰ تکرار تا کسب رضایت
24 ام هام۲9 922.00۴ وم a7
صفحه 38:
38
کل استراتژی شبیه سازی
شبیه ساز در سطح دستورالعمل (800): اين روش برای ارزیایی
کارایی در سطح مجموعه دستورالعمل برای شرح بیشتر مدل سازی
esata ملي شوة.
شبيه سازى در سطح سيستم: مدلهاى اين شبيه ساز جزئيات مربوط به
محيط سیستم شامل برخی چیزها مانند وققه ها و مدیریت حافظه را مدل
سازی می کند.
ممم امه5م323-04وممع 224
صفحه 39:
(Con’d)
cles QTL he pO اين شبيه ساز تشريح ,0 از طراحى است.
©6. در سطح سوتيج همزاه با تاخيرها: از همه براى شبيه سازى مولفه هاى
طراحى به كار مى رود؛ بردارهاى آزمايشى از مرحله ,808 تولید شده اند.
6 شبيه سازى در سطح مدار: براى مدل سازى جزئيات مسير بحرانى به علاوه
براى بازبينى مدارها ذر تغییرات دمایی» توان ارانه شده و غیره به کار می رود.
39 ام هام۲9 922.00۴ وم 24
صفحه 40:
کارایی شبیه سازها
Simulation Rate
>10' cycles/second
>10'cycley/second
>10 cydleyseoond
>1_gdeyseoond
Level of Accuracy
Instruction set
System level (OS instructions + interrupts)
Synchronous register transfer
Gate/switch level
تعداد چرخه های شبیه سازی شده در انیه بر روی یک کامپیوتر میزبان
مم0 ۱[
224
صفحه 41:
کارایی دستورالعمل بر چرخه (10)
a
ايجاد مدل كارايى كه:
قابل انعطاف
پذیرای G28 3) ( Parcnvetertzed) sel gh دستگیره
دارای دقت ساعت در مقایسه با ,۳۷ بزابر با 9066 باشد
به صورت قابل توجهی سریعتر از ,61۷
مدلها مرکب از دو بخش هستند.
شبیه ساز مجموعه دستور العمل -> اجرا کننده محک(ج«اسسا)
شبیه ساز خط لوله -> *حسابدار" برای چرخه های ساعت
سرعت های شبیه سازی
اجرای محک ها(+جملسس) به روز رسانی ریز معماری بر طبق آن
چرخه : کد -> شبیه ساز -> سومان -> وفق دادن(سسم)
ام هام۲9 922.00۴ وم 24
صفحه 42:
۳
دوم
معماری مجموعه دستور العملها
۰ مقدمه
۶ یک بررسی موردی: معماری مجموعه
دستور العمل ماشین 07160)
2 ممم امه5م323-04وممع 224
صفحه 43:
مراحل اجرای یک دستورالعمل
واکشی دستورالعمل: برداشت دستورالعمل بعدی از حافظه
کدبرداری از دستورالعمل: بررسی دستور العمل برای مشخص شدن اینکه:
جه عملی
چه عملوندهایی مورد نیازنده و نتایج باید کجا قرار گیزند.
واکشی عملوندها: عملوندها برداشت می شوند.
اجرا: اجرای عملیات بر روی عملوندها
توسط دستورالعمل انجام گیرد (به عنوان مثال جمع)
بازنویسی نتیجه: نوشتن نتیجه در محل مخصوص
دستورالعمل بعدی: تعیین اينکه دستور العمل بعدی از کجا گرفته شود.
24 ام هام۲9 922.00۴ وم a
صفحه 44:
چه چیزی در یک cif lB سرع سورس)
مشخص می شود؟
کدیرداری از دستورالعمل: اعمال و عملوندها چگونه تعیین می گردند؟
واکشی عملوندها: عملوندها ممکن است کجا باشند؟ چه تعداد؟
اجرا: چه اعمالی می تواند انجام گیرد؟ چه نوع داده و چه اندازه هایی؟
بازنویسی نتایج: نتایج کجا نوشته می شوند؟ چه تعداد؟
دستورالعمل بعدی: دستورالعمل بعدی را چگونه می توان انتخاب نمود؟
44 ام هام۲9 922.00۴ وم 24
صفحه 45:
یک 180 ساده:حافظه به حافظه
*_چه عملیاتی می تواند اجرا شود؟ عملیات پایه ریاضی (برای اين لحظه)
* جه نوع داده و جه اندازه اى؟ نوع داده صحیح 90 بیتی (
(ee
۰ عملوندها و نتایج کجا می توانند قرار گیرند؟ حافظه
۰ چه تعداد عملوند و نتیجه؟ © عملوند؛ 0 نتيجه
۰ اعمال و عملوندها چگونه مشخص می شوند؟
009 00۳ عم لمقصد,منبع |),منبع ©
۰ جكونه مى توانيم دستور العمل بعدى را انتخاب كنيم؟ بعدى به ترتيب
24 ام هام۲9 922.00۴ وم as
صفحه 46:
مدل حافظه
حافظه را به عنوان یک آرایه بزرگ از ب عدد صحیح در نظر بگیرید» که
یابی تصادفی موسوم به ع)
بوسیله اندیس قابل دستیابی است.(حافظه با د
به عنوان نمونه ۰ [0]) شامل مقدار ©
اسبت. ما می توائیم در این مکانها توش
و اخواندن| را انجام دهبم. ان امکانها
صرفا در دسترس ماست, تمام مکانهای
"مجرد" (از قبیل متفیرها در ()) باید
مکانهایی رل در 0 تعبین کنند.
ام هام۲9 922.00۴ وم
هون
oe
69
6
سل
©
0
24
صفحه 47:
ar
ترجمه کد ساده
کد <) مفروض
0 + ه - مر
ما می تولنیم تصمیم بگیریم که متغیر 0) مکان ۰0(0 9) مکان 639 و () مکان
ودرا
أشخال ملى كند. كد بالا را به معادل کد اسمبلی آن تبدیل مي كليم:
OMOO], O[FC], OFPS] ۵00
چگونه می توانیم عبارت زیر را تبدیل کنیم
3® =(®+0)*(O+@)
ام هام۲9 922.00۴ وم 24
صفحه 48:
استفاده از یک مکان موقتی
فرض كنيد ما 8) را در 00(00؛ 8 را در ©6 ٠ 0 را در 86 0 را در 60و
Le
ار ۸6۵ قرار مل دهیم|
اکنون یک مکان بدون استفاده را انتخاب می کنیم (مثلا 96)
# 6 0+ 0000 060, 06, ۳6
# وه ۳۵0 066 ۵000 +0 مس
#O=0* erPDOL OOO], OOO], OOF]
0 ام هام۲9 922.00۴ وم 24
صفحه 49:
مشکلات در معماری حافظه به حافظه
+ حافظه اصلی خیلی کندتر از مدارات محاسباتی است
این مطلب از سال 1960 تا 060003 درست است!
۶ خانه های زیادی برای مشخص نمودن آدرسهای حافظه گرفته می شوند.
+ معمولا نتایج یک پا دو دستورالعمل بعد مورد استفاده قرار می گیرند.
به خاطر داشته باشید: بخشهای اشتراکی را سریعتر نمائد!
راه حل: نتایج میانی یا موقتی را در حافظه های سریع و نزدیک به واحد محاسبه ذخیره نمائید.
0 ام هام۲9 922.00۴ وم 24
صفحه 50:
50
انباشتكرء يك بافر يرسرعت واحد (مانند يك مجموعه از 00
يا فليب فلابها » هر كدام براى يك بيت داده) را نزديك واحد
محاسبه منطق نگهداری می کند.
در ساده ترین حالت؛ فقط یک عملوند می تواند مشخص گردد: انباشتگر به
صورت مجازی به مفهوم "و0 6()" می باشد یعنی:
له wor. = uv. OP
(Creche
# Lod @ tet arebLOOD O[FE]
# Odd C tw ww. (ww hes B+C) OOO O[PO]
# Orte wr. Po BETORE OOO]
ام هام۲9 922.00۴ وم 24
صفحه 51:
ماشین مبتنی بر انباشتگر که @=(B+0)"(+@)
را انجام می دهد
Hoel ۵ io axxhOWO O20]
بارگذاری 0 در اباشعگر
ع سام اما tes
)60+09 داريم oss), Saale eae
.( نوشتن عحتوای انباشتگر حر
0 فته
بارگذاری )بر انباشتگر.
ل سس
)0+0 جمع نمودن يها انپاشتگر(اکنون دارم
راو( ® vw ax ODL ODO]
"ضرب کردن 69 در انباشتگر.
ی
# Ore ox,
نوشتن نتیجه در 8
51 ام هام۲9 922.00۴ وم 24
صفحه 52:
ضعف ماشینهای مبتنی بر انباشتگر
* هنوز نیازمند ذخیره سازی بسیاری مقادیر موقتی و
میانی در حافظه می باشیم
* در واقع انباشتگر فقط برای یک ترتیب از محاسبات
که در آن نتیجه یکی؛ ورودی برای بعدی است. مفید
مى باشد.
224
0 ممم امه5م323-04وممع
صفحه 53:
ماشینهای مبتنی بر انباشتگر هنوز در کامپیوترهای
اولیه معمول بودند
۶ یک coals Gal yb و بنابراين محبوب ۰ مخصوص برای
- کامپیوتر های اولیه
- میکروپروسسر های اولیه (0006 + (BODO
- مدلهای اسر (ارزان)
53 ام هام۲9 922.00۴ وم 24
صفحه 54:
+ اگر منابع سخت افزاری بیشتری در دسترس است؛ مکانهای
اشتگر قرار دهید:
ذخیره سازی سریع را در کنار ان
۶ ماشینهای مبتنی بر پشته
24 ام هام۲9 922.00۴ وم 5a
صفحه 55:
ایده: یک ستون از مکانهای ذخیره سازی سریع دلرای یک بالا(مت) و یک پایین (متصاتت)
ایک دتنترز الحمل فقط از مقدار بالاي پشت(به)
قابلیت برداشت داردء یا شاید دو یا سه مقدار به
عنوان بالای پشته در نظر گرفته شوند.
ما مى توانيم مقادير جديد را در بالای شته قرال
دهيم ('>اصم”) يا از بالاى يشته برداريم
Gas LL ("pop") ما نمى توانيم به
مكانهابى در زير يشتهدسترسى ذائ
مكر اينكه هر جيز بالاى أن را خارج كنيم.
د ممم امه5م323-04وممع
هون
oe
69
6
سل
ca
2" Brow op
41 Prox op
24
صفحه 56:
مغمارئ مجموعه دستور العمل ماشينهاى مبتتئ
بر يشئتة
اعبال اصلی شامل:
بارگذاری: برداشت مقدار از حافظه و قرار دادن آن بر روی پشته
تخیره سازی: برداشت مقدار از پشته و ذخیره آل در حافظه
حسابى: خارج كردن يك يا دو مقدار از پشته؛ قرار دادن نتیجه روی پشته
دونسخه ای (بی(0): گرفتن مقدار از بالای پشته بدون حذف آن؟ قرار دادن یک کپی
جدید از ol در روی پشته (چرا اين عمل كاربر 5 است؟)
56 ام هام۲9 922.00۴ وم 24
صفحه 57:
ماشین مبتنی بر پشته که رهبم)*رم+)عهرا
انجام می دهد
)+( (سده مها ۷
OOC POO |
)0( |
aC] LOGO OO] )0(
(+6)
Xxx | LOGO OO]
@) |
0) تا (docked cert stl)
60 | LOGO OPS] 1
5 ممم امه5م323-04وممع 224
صفحه 58:
MOLT
|
GPORE OOO]
ماشین مبتنی بر پشته
((®+O)(0+E))
۷
2
LOGO Of]
|
000 >
(C)
(®)
(+8)
Jode
(®+C)
(+)
XXX
دقت کنید که اکنون پشته مشابه زمانی است که شروع نمودیم.
se
\cpea323-04F\Topico.pot
224
صفحه 59:
کاربرد ماشینهای مبتنی برپشته
* بسیاری از کامپیوترهای اولیه
۶ واحد ممیز شناور در 06280 (تقریبا)
* ماشین مجازی جاوا
و ممم امه5م323-04وممع 224
صفحه 60:
ایده:به کار بردن مکانهای ذخیره سازعا زیاد("تباتها) نزدیک انباشتگرا
۶ ثبات ها نام / شماره های مشخصی دارند که می تواتند به جای
حافظه استفاده می_شوند
* | ادرتیابلی تمنبت له طافظه ااصلی
۶ خیلی سریعثر است
(C@O atts vs. ~ (OO CPO ayes oa PC 1-2)
* _ ثبات ها نسبت به مکان های حافظه خیلی نزدیک ترند
00088 تا تبات بیتیبارد
_تبات های کمترکآدرس های کوچکتر-- وتعداد بیتهای کمتر برای نام كذارى آنها
_متابع استفاده کمتر است و باید با دقت ار آنها استفاده شودا
60 ام هام۲9 922.00۴ وم 24
صفحه 61:
ثباتهای عام منظوره_خاص منظوره
© یک تبات خاص _ منظوره برای اهداف مشخص استفاده می
شود و ممکن است عملیاتی را که استفاده می شود را محدودکند
- طراحی آسانتر سخت افزار: ثبات را در جایی که دقیقا
نیازاست قرار بده
- به منظور استفاده موثر برای کامپایلر خیلی سخت تر است.
* یک بات عام منظوره می تواند دربیشتر مسیرهای عملیاتی
استفاده شود بنابراین مسیریابی خیلی مشکل است
6 ممم امه5م323-04وممع 224
صفحه 62:
ثبات های خاص منظوره
62
The z_80
هفت تا ثبات (ع بیتی: (می توانلد جفت شوند
(A,B,C,D,E,H,LBC,DE,HL
ات 10 PC OC: (شمارنده برنامه)
جمع ,تفریق, شیفت تنها با ۸ می تواند انجام شود (شمارنده 60 بیتی ).
افزايش و كاهش می تواند با تمام ثبات ها وجفتهای ثبات انجام شود .
می توانند از حافظه آدرس (رارلا)را واکشی کنند و در هریت تبات
قرار دهند.
یک واکشی از آدرس()9))یا(0)8))تنها می تواند به 9)برود.
واکشی ها از (00)),(مابا")و (0) تعداد چرخه های متفاوتی مى كيرد
چه کسی می خواهد برای این یک کامپایلر بنویسد؟
ام هام۲9 922.00۴ وم 24
صفحه 63:
5 وپردازشگرهای
مشابه) 0 تا ثبات عمومی
دارند
alongs:00 _»(GPRs)
تند. همه می توانند نوشته یا
خوانده شوند به جز GLE صفر
که هميشه صفراست ود
تواند تغيير كند.زمان دستيابى به
ثبات ثابت است.
ام هام۲9 922.00۴ وم
سین
o
8
66
1
تبات عام منظوره ماشین های (GPR)
سل(
$0
30
56
seq
224
صفحه 64:
alailly GPR A=(B+C)*(D+E) catls می دهد
#RA= O + CO[FO], O[POSd COD
#RO = 0 + COCO], O|E]$S GOO
#0 =RA* REOMOD], $4, $2OOL
224 ممم امه5م323-04وممع 6a
صفحه 65:
اندازه های داده های متفاوت
چطورباید با اندازه های داده های متفاوت رفتارکنیم؟
انتخاب یک اندازه برای یک واحد ذخیره شده در یک آدرس Lei
۰ ذخیره کردن داده بزرگ در یک مجموعه از مکانهای
همجوار حافظه
* ذخیره کردن داده کوچک در یک مکان:
wer shit & wash ope
امروزه نقریبا همه ماشینها(شامل۷/]۳5)دارای آدرس دهی بایتی
*عاواجووم۸0۲ 8۱۷۲6 "هسنند هر مکان آدرس دهی » در
حافظه بیتی نگهداری می شود.
ام هام۲9 922.00۴ وم 24
صفحه 66:
حافظه ۷۱۱۳5
روی یک ماشین قابل آدرس دهی AL ازقبيل701009) اكرما بكوييم يك كلمه
(6۵بیت) در آدرس(0( ذخیره شده به اين معنااست که مکانهای
OOKOO اشخال کرده:(کلمه بعدی از 66۴ شروع می شود):
ابه طور نرمال بارگذاری وذخیره چندین بیت باید "تنظیم" شود.آدرس ببایتی
بارگذاری یا ذخیره باید مضربی از,باشد.برای نمونه نیم کلمه تنها در
آدرسهای زوج ذخیره میشود.
۵ جازم بارگذاریشدنو ذخیرم شدنبرلیلستفاده مخصوص
دستور ااهملها را نمیدهند لما آنها ممکنلستک ندترشوند(بیشتر
پردازشگرها لینرا ببرلیهميشه لجازم نمیدهند!),
65 ام هام۲9 922.00۴ وم 24
صفحه 67:
برای یک دلده چند بایتی کدام قسمت به کدلم بایت می رود؟
اگر 8)محتوى(0*©0*00(000000700000) )و ما آن زا در أدرس (30
در يك ماشين “033 03:0" "03-345 :8" به آدرس (0© مى رود
در یک ماشین "هم علورا" از سوی دیگر است.
Oo oe | ee ۳۹
29 0 ead CS 65 CF
¢o_ lee [oe] od
ود 60 60۰.68۵ lea | ee
24 ام هام۲9 922.00۴ وم or
صفحه 68:
Big Crtiaa- DIPS, GPORC COOOOD ماشینهای ۶
intel, Dipha,Oux sls $5 3) 52 ha ite Bordon ماشینهای *
۰ سازگاری مشکلات انتقال چندین بایت داده بین ماشینهای علابا,) :)
0
03 ام هام۲9 922.00۴ وم 24
صفحه 69:
یک روش آدرس دهی :15/۸ این سوال را جواب می
دهد :عملوندها کجا میتوانند ذخیره شوند؟
ما دو نوع ذخیره سازی در ۱۳5)داریم( وبیشتر ماشینهای
دیگر) :ثباتها و حافظه اصلی.ما می توانیم به هریک از اين دو
با هردو عملوندها برویم یک تک عملوند مي تواند با هر یک
از این دو بياید یک ثبات یا یک مکان حافظه » و روشهای
آدرس دهی راه های گوناگون تشخیص این مکانها را ارائه می
کنو
6 ام هام۲9 922.00۴ وم 24
صفحه 70:
70
داده می شود:
Ovasicry
Re 4
OO] 0
aa 40
Cxawple
wo $d, $C
woo $1, (PO)
woo 80, ۵
ام هام۲9 922.00۴ وم
رمشهای آدرس دهن ساده
دراین روشها یک مکان با داده به طور مستقیم دریک دستورالعمل
Oode came
Reyster
Orrent (or wbevhte)
everett
224
صفحه 71:
ad
«Rd
«ad
«Rd
Decricry
O[RE]
O[FO+RE]
ORE +RO]
Ofo[Re]]
سس
(96) ,90 رس
ww $d, POSE)
ww $0, SP($E)
wo $4, @($2)
\cpea323-04F\Topico.pot
Oode were
Rey. مس
امه
امه
Dew. اس
روشهای ادرس دهى غير مستقيم
١ در توليد يك آدرس حافظه يكى يا بيشترثبائها استفاده مى شوند
24
صفحه 72:
روشهای آدرس دهی پیشرفته
نی می
اجزای زیادی اجزای اصلی را در زبانهای سطح بالا
يشتيبا کنند یا تعداد دستور العمل هارا در
طول دستیایی از حاقظه اقزایش می دهند
سس
RA 0۵۵
O{RO-] 0
0]۳۵+۵۵[
aa
2
یت
(60) ,80 بده ++
)$2( ,90 ند - -
wou $d, PO($2) [ع]
\cpea323-04F\Topico.pot
وی 7۵()
انا
حول ون
Gooted
24
صفحه 73:
روشهای آدرس دهی منتخب
کارهایی که انجام می شود :هر روش آدرس دهی ممکن است برای هر
عملوندی درا ه_زمان اتفاده شود
* طرح دستورات سطح بالا به طور مستقیم به دستورالعملها آسانتر است.
* برای طراحی پردازشگر سخت است بعلت اينکه باعث پیچیدگی بیشتر می
شواد
آدرس دهی های محدود: تنها روشهای کمی را اجازه می دهند ویا تعداد
عملوندها را به روش های معین محدود میکنند
* برای کامپایلر یا برنامه نویس که پیرو قواعد مشخص هستند سخت تراست
+ شایدطول کد زیاد شود
24 ام هام۲9 922.00۴ وم a
صفحه 74:
سه برنامه روی(مینی کامپیوتر)»ن,مشخص شده که همه
انواع روشها را پشتیبانی می کنند:
of wood (%) سم
Orn. we. aK.
32 42 55
17 33 43
3 13 24
0 7 16
بل 6
0 2 3
Onde Dace
00
و
Rey. اس
rates
Dexw. Tertirect
Oters
\cpea323-04F\Topico.pot
224
صفحه 75:
روشهای آدرس دهی داده های
* بزرگی تغییر مکان مورد نیاز چه طور باید باشد؟
در بررسی های Gpev ۳۵ Sper wOC
در صد تغییر مکانها در دامنه +-0089انجام می
شود.
* بزرگی تابت فوری مورد نیاز چه طور باید باشد؟
ادر مطالعات نشان داده شده ۵00 تا 000 درصد در ©
بیت و 8 تا 00 درصد در 9) بیت است.
5 ام هام۲9 922.00۴ وم 24
صفحه 76:
چه طور ما نمایش دادن دستورالعمل ها را انجام
می دهیم ؟
* ما به چند بیت اجنیاج داریم برای اینکه بگوییم چه عملی
انجام شده (مثلا جمع ,تفریق . ضرب ,غيره)كه به اين
كدكذارى عملوند ah Sopride
* ما به چند بیت برای هر عملوندو نتیجه احتیاج داریم(در
نمونه ما جمعا ۵تا )
۰ چه نوع روش آدرس دهی
۰ شماری از ثباتها , آدرس حافظه و یا ثابت فوری
ام هام۲9 922.00۴ وم 24
صفحه 77:
دستورالعملهای با طول متغیر
* تا کنون ء() هر روش را برای هر عملوندی اجازه داده می
تواند یک دستور العمل با سه تا آدرس های ©© بیتی باشد
(آدرس دهی مستفیم) 48 بایت در اين دستور العمل
* اما تباتها به بیتهای کمی برای مشخص شدن نیاز دارند بنابراين
بایت برای یک دستورالعمل که تنها از 0 تا ثبات استفاده
می کنند هدر میشود ,
۰ باید از دستور العمل های با طول متغیر استفاده
کرد.دربری()دستورالعملهل از 0 تا 472 بایت متغیراند.
7 ام هام۲9 922.00۴ وم 24
صفحه 78:
دستورالعنل های با طول تلبت
۰ اگر هر دستور العمل با تعداد بیتهای یکسان (ترجیحا یک
عدد زوج مانند 46 یا 06)بیشتر اجزای پردازشگر
ساده تر خواهد شد.اما در هر دو صورت مقداری از
فضا هدر می رود یا همه روشهای آدرس دهی را نمی
تواند پشتیبانی کند!
7 ام هام۲9 922.00۴ وم 24
صفحه 79:
بار گذاری اعداد صحیح كوجى
۰ همه ثباتها در 96 00100 بیتی هستند.
۰ چه طور مانیم کلمه یا یک بایت را در یک ثبات
بارگذاری می کنیم؟
* بیتها را در حداقل ابیت تباتی بارگذاری می کنیم.
بار گذاری بدون علامت: همه بیت های بالا را صفر کنیم.
بار گذاری علامت دار: همه بیت های بالا را با توجه به
علامت صفر یا یک می کنیم(نیم کلمه یا بایت (DG
9 ام هام۲9 922.00۴ وم 24
صفحه 80:
Tre 6۳180 اس
٠ در مجموعه دستور العمل های کاهش يافته در دستگاه کامپیو تر
همه دستور العمل ها در اندازه هاى يكسانى هستند (©© بيت
در (D1PG
* روشهای آدرس دهی کمی پشتیبانی می شوند ( فقط آنهایی كه
بیشتر کاربرد دارند)
۰ فقط تعداد کمی از قالب های دستور العمل(کد برداری آسانتر
انجام مى شود)
* دستور العمل های محاسباتی که فقط روی تبات کار می کنند
۰ داده های حافظه باید در ثبات ها قبل از پردازش شدن بارگذاری
شوند که این یک معماری Load _Otore نامیده می شود
03 ام هام۲9 922.00۴ وم 24
صفحه 81:
۰ عمل تک چرخه ای
Lowd_Giore intl
کنترل سخت افزاربى
رابطه دستور العمل های کم و روشهای آدرس دهی
دستواریالعمل-های- با قالمك_تابات
تاش پیات Hild Le كامبايل
ام هام۲9 922.00۴ وم
معیارهای[85 ۷/۶۱۱ -3۱56]60۱
24
صفحه 82:
0
Chprocessor 1 (FPU)
Registers
3
و
Arithmetie
unit
Cau:
EpC
‘oprocessor 0 (traps and memory
registers
BadVAda
tatu
[cpu
Registers
7
=
rithmetip — [Multiply]
unit divide
Lo} [Hi
MIPS R2000 CPU and FPU
\cpea323-04F\Topico.pot
224
صفحه 83:
5 تا ثبات RO=ObL
ثبات هاى ذخيره شده: 6,۲27 ۰51,۲2
© كاربرد مخصوص:
اشاره گر به ناحیه سر اسری:8 2
اشاره گر پشته:829
اشاره گر قاب:830
آدرس بازگفت:831
0 ممم امه5م323-04وممع 224
صفحه 84:
قراردادهای ثبات استاندارد
۰ 00 تا ثبات صحیح در 16۳0/()عام متظوره هستند _هر کدام
می توانند به عنوان یک عملوند یا نتیجه یک محاسبه عملیاتی
استفاده شوند
* اما ساخت تکه های متفاوت از نرم افزارکه باهم کار می کنند
آسانتر است اگر قراردادهای معینی که دنبال می شود درباره آن
تباتهایی باشد که برای آن اهداف استفاده می شود
۶ این قراردادها معمولا به وسیله فروشنده پیشنهاد می شوند و به
وسیله کامپایلرها پشتیبانی می شوند
24 ام هام۲9 922.00۴ وم ea
صفحه 85:
Ooxstrat O
(Rewerved Ror ameerbler)
مسجو وم انس طم بسحف evd
یط نا ها
Dewporeres (DOT 86060(
Card ther
(Reserved Por OG kercel)
سوه pricier
(Grack porter
(Prior potter
له مس
0
1
2-3
4-7
24-25 ,8-15
16-23
26-27
28
29
30
31
\cpea323-04F\Topico.pot es
قراردادهای ثباتی در ۷۱۳5
عع و(
01
0-5
0۵
0-05
20-29
w$
ov
Pes
ro
224
صفحه 86:
3
[۳ Rewer
ال الال
Deter [ore
9
22-5 ا
اانا 0ج لب دحب امد سب وف
7 forever
a
| ومع (i preened sess cal)
[Tesora (oo کسوس aes cul)
سوه اس هواس بوصو
سس تسس cal)
۳۳۳۳ ae cul)
یه اس یساس يسود
| کسوس اس مومس apr eal)
|] (oo prened aoe cal)
[Gaurd ieuperon fprversed cove cal)
Seed ewer (presereed sores ra)
تسس رسمه اس woes call)
سره 7
Swed cavers (preven wees cll
Saved ieaporan (preserved wees call
Saved aver (preserved wees call)
سوه اس (preven wees call)
Feeney (ool preserved wey cal)
Trayoran (ot preserved weer col)
ese fr OS اس
ised or OS Revert
global area سي
ack porter
Toe penser
rors eed by Rasa eat)
Fura
\eneg223-04F Topico.pot
Caer ewer
۳7
a
7
a
=o
1
1
1
O10°G rewsters an wage powrdiod
122824
صفحه 87:
عملیات ۱۱۳5
* بارگذاری/ذخیره
* عملیات (راو)
:| انشخاب ها/يريش ها
a ممم امه5م323-04وممع
224
صفحه 88:
es
rd لق
S bis عاط ©
S bis 0 bis
CO bits:
\cpea323-04F\Topico.pot
دستورالعمل ۷۱۱۳5
امس
op
bite 8
1۳
هط ©
سول
عم 6
224
صفحه 89:
فیلدها در دستورالعملهای ۷۱۱۳5
من:مشخصاتعمل بیانلینکه کدلم قا لباستفادم شود
حب او لینثباتمنبع.
eee it
لسرشباتقصد
)داك :مقدار شيفت
010225 :ثاببتفور ووتغييرمكازيافته و يا لنشعاب
0 ام هام۲9 922.00۴ وم 24
صفحه 90:
ماشين تمايش دستورالعملهاى
MIPS
فیلدهای 10<69/()نام گذاری می شوند که بحث در مورد آنها آسانتر شود:
op 15 rt rd_|shamt| funct
6 bits 5 bits 5 bits 5 bits 5 bits 6 bit}
ینجا منظور هر نامی از فیلدهای دستورالعمل های el DIPS
0():علگر هر دستورالعمل
۲6):اولین عملوند شباتنبم.
۲ دومین عملوند شباتتبم.
RO ©: عملوند شباتمقصد. آننتایج عملیاتوا فرلهم میکند.
© 91,)0(/۳):مقدار شیفت
& ()(0)()<):تابع: لین فیلد عملیاتمختلفهر فیلد 08() را لنتخابمىك ند.
90 ام هام۲9 922.00۴ وم 24
صفحه 91:
ADD $t1, $s1,
$s2
32 0 8 18 17 0 نمایش دهدهی:
ممم امه5م323-04وممع 224
صفحه 92:
۰ نمایش دهدهی
0 17 18 8 0 32
6 وغزط 5 bits 5 bits 5 bits 5 bits 6 bits
۰ نمایش باینری
0 01000 10010 1000 000000
bits 5 bits 5 bits 5 bits 6 bits 5 الط 6
92 ممم امه5م323-04وممع 224
صفحه 93:
ضرب ۵ تا عدد 06 بیتی تاحدود 06۴ بیت می نواند باشد
01005 نا مخصوصدارد :۷,۱ و )را
نتایج ضرب ابیت های پایین تربه رامی روند و بیت های بالاتر
به زرا" می روند
نتایج تفسیم:خارج قسمت به ما می رود و باقی مانده به با می
ووه
استفاده کردن از عملیات اضافی(از قبیل «لالب)برای جابجایی
به بالا و پایین ثبات های منظوره
03 ام هام۲9 922.00۴ وم 24
صفحه 94:
دستورالعملهای انتقال داده ها
dhe (base + 10 bit PP sets)
7۳ we rt address
9 bite © عط S bits: (0 bts
:مثال
y tO, 8 ($s3) --- # Temporary reg tO gets A[8]
:يادداشت
همجنينجثبات بايه است(85©ددر اين نمونه _همجنين ثبات شاخص ناميده مى شود) و
4 (در اين نمونه 09) نتايج را ذخيره مى كند (به عنوان ثبات مقصد)
24 ام هام۲9 922.00۴ وم 9a
صفحه 95:
5 /النجام میدهد D+E)
98
An Example
6 66
PO
1 57
Gq
102
256 461
۵ | ه | 5
6 105
ام هام۲9 922.00۴ وم
A=(B+C)*(
Hod ook, PL
wo
58 0
2۳
7
4
هه
0 | 9
ole
be
€q 0
@ssewbb
PO($@) ,56 سه
dy $9, PO(SO)
$9 ,$9 ,$0 لاله
CO(S@) ,$8 سه
du 900, 960)80(
whl $9, $9, $4
ak! $9, $0, $9
(400)80 ,86 سد
24
صفحه 96:
در بیشترپردازشگر ها"شمارنده برنامه"((۳6)) آدرس دستور العمل بعدی را
نگه می دارد:واکشی از [(0])00)
به طور عادی بعداز اينکه یک دستورالعمل تمام شدح (2)۳0) تا به ۳0)
آضافه مى كند أى تعذاد بات ها تر نستورالعمل اس
انثلعاب شاب یک انامه اجازهآمی| دهند واکشیم/ ats از مکانهای متفاوحا
انشعاپها استفاده میشوند برای به کاربردن همه روند کنترلی فرمانهای زبان
هاى سطح بالا ازقبيل جات مره بو ,بو
96 ام هام۲9 922.00۴ وم 24
صفحه 97:
7
دو نوع اساسی از پرشها:
غير شرطی هميشه به آدرس مشخص شده جهش می کند
شرطی:اگر شرط درست باشد به آدرس مشخص شده می رود.
به عبارت دیگربا دستور العمل بعدی ادامه می دهد.
آدرس های مقصد با روش مشابهی می تواند مشخص شود به
عنوان عملوندهای دیگر (جمع آوری تباتها ,ثابت های فوری , و
مکان های حافظه)بستگی دارد که چه چیزی در 1690 پشتیبانی
شود
ام هام۲9 922.00۴ وم 24
صفحه 98:
مثال همگردانی انشعاب
* کامپایل زیر ریا دنبال کنید
ii Fi
#9 (==)
+
أن تا -k اج عم
۴۶-۱
nit
9 ممم امه5م323-04وممع 224
صفحه 99:
MIPS). If Then Else
ssuve Pyykyij im RO-RIC (resperivel))
# @rauwk Pis>) bur 806, $40, Ce
#۲۶۱۲۲ wh $0, $9, $40
مج ز ucop to Bat #
:800 ,89 ,89 طد ۱-۲ < ۲ #ر
ری ع ده ط() #
و ام هام۲9 922.00۴ وم 24
صفحه 100:
* بیشتر انشعابهای شرطی برای آدرس های
ثابت وکوتاه روی می دهند
۴ اما اغلب این طور استفاده نمی شوند
* استفاده ای برای افزایش یا کاهش پیشوندی
ندارند
پس مطابق با فلسفه سادگی )۷۱۳5,۲۱5تعداد
کمی انشعاب اساسی دارد
100 ممم امه5م323-04وممع 224
صفحه 101:
MIPS j> انواع انشعاب
۶ - انشعاب شرطی:2007 ,۲692 ,۲۵91 060/0۳6
If regl =/# reg2, jump to PC -
addr (PC-relative) +
۶ پرش تباتی:ب ۳
واکشی آدرس از ثبات مشخص شده و پرش به آن
۰ يرش غير شرطی: ۷( ]|
* _ هميشه به آدرس پرش می کند(استفاده
ار "درس دهلی)
101 ممم امه5م323-04وممع 224
صفحه 102:
دستورالعمل های انشعاب
apd eta اتشعاب *
- 060 R1,R2,L1 # if Rl = R2 goto L1
-bne R1,R2,L1 # if Rl =\= R2 go to
1
۰ این ها دستورالعملهای بمرو_٩) هستند
* انشعاب های غير شرطی
8 ۲69156۲ ۵۳ 2560 نا #۴ 8ه JR
Test if < 0
silt R1,R16,R17 #R1 gets 1if R16 <
R17
(sit: set-less-than)
aha bne RI, 0, le$Ssondtogganch to less if RL =\ se
صفحه 103:
سای هایس 1
ow lw la لصن سل
Oord
Des
اس
103 ممم امه5م323-04وممع 224
صفحه 104:
٠ * کامپایل را دنبال کنید:
switch ) 4
case 0: f = ۴
+1; break;
case l: f = f
-2; break;
case 3: f =-f;
break;
}
Note the gap (case 2);
104 ممم امه5م323-04وممع 224
صفحه 105:
بدنه سوئیج در ۷۱۳5
DD: ی ,96 مومس( من
(سا) ما ط مر
86, 86:8 دطمم :0و6 م۳ 9 .مد
(coher breds i@xt
P = O- Rab $0, $0, SOLO:
سا اس 0
ساغتن جدول مراجعه درحافظه
را و له
را اه سل
address of (Bit
ور ام له
105
0۵
0
doo
1228/24 \epeg323-04F\Topico.ppt DD
صفحه 106:
سوتيج كامبايل شده براي ۱۱۳5
(sence bial)
© ,505 ,506 مد ۱۵ ۳۵۵ #۰۷۳۵
0 ,500 ,5068 صا 00 > جاخ وت سا ۲ #
sh $F, $49, & ۲ ۷ #
# 000 2 ۲ < ۳ bey SIP, SO, Oxi
#۲ 2 9*6 wd SUP, 509, 9
Hrd لج +08 د SUP, Sah, SUP
# Owe oF xb a (OOO سا 506, (DOO (SAP)
# luce له سا ط 0
206 ام هام۲9 922.00۴ وم 24
صفحه 107:
حلقه ها:
aby SIU pays Sa Por whe جلقه. پرشکنبه
بعد ان Shalt Yds Staal ats
«():تستک ردنشرط در انتهایی دنه حلقه,پرشکنبه
لبتدا لگر درستاست
سونیچ:("سسیح؟ فراخوانده می شوددر بعضی زبانهای دیگر)
ساختن یک جدول آدرس
استفاده( روصم ۱۵۵ )و وا or equiv.
مطمتن باشید از چک کردن برای پیش فرض یا حبومیهای بدون
استفاده
107 ام هام۲9 922.00۴ وم 24
صفحه 108:
پشتیبانی دستورالعملهای
فراخونی پردازه
Jump and link |
آدرس پردازشگر . ام
یادداشت:
آدرس بازگشت در 24ذخیره می شود
Return
jr -RB1
خیره کردن آدرس بازگشت روی پشته
0 به عوانلشارم گر پشته لستفادم میشود
پارامتر زود گتر:
)٩, - R,, لستفادد ميشسوند ial
108 ام هام۲9 922.00۴ وم 24
صفحه 109:
* عملوندهای ثابت یا فوری
LW R24, AddrConstant4(0)
۸00۱ 3, 5 (I type)
ثابتها16بیتی هستند
255 Load_upper_immediate
؟ می رود به مکان 10000
109 ام هام۲9 922.00۴ وم
روش آدرس دهی ۷/۱5 های دیگر
Lui R8
J 10000
ji_type
224
صفحه 110:
efiame pointe, art $
no
Fast locations for deta. In MIPS, data must bein regis to perform.
arithmetic. MIPS register $2ero always equals 0. Sp (28) the global
pointer, $5p(29) i the stack pointe; Sfp (30) it
(31) is the سه دسفم
\eneg223-04F Topico.pot
$50-$s7, $10-5i9,
$210, $2-$23, $v0-
$v1, Sop, Sfp $sp, Sra
Memory [0], [Accessed only by data transfer nsiuctions: MIPS uses byte accesses 50
Mesrory 4}, sequestial wort را لته 4. Merrory bolds data structures, suchas anays,
] Mempry{ 42949672920] and spied regiter, suchas those saved onyprocerture calls
1۷۲1۳۹ بلیزبان
1 زج للم $2, 853 2+ 53 [Tze حساك و هط مهو
نها lub $31 $2 $53 [Three operends deta in eisters
art wored ل [Data fom mempry to register
storeword [sw $1,100 682) [Maroy ($32 +100] =$81_— [Data fom reserto memory
branch oneued_|boq $1, 82. Lif (@s1—=$2)qp to | ud tester arch.
ندال اوه 2 L [iF ($81 =$52) got L—___|Notexpel estan enc
عم
ا 2 ا 0 ا be
ssi =0
۳3 20 lp t 10000 [mp كاه وروی
ده ع ككسدسن Ip to sa [Rorswitch proceae ian
jump and int [2500 PC Ea gp 1000 |For procedure call
2 registers
یه
سس هد
|Contitiora branch
{Unconditional jump
12/28)2:
صفحه 111:
odd $51, $52, $53
ub $31, $2, $83
iar 1,100 ($82)
sw $81,100 ($82)
lbeu $51, $52, 100
bor $51, $52, 100
د١١ 451, 952 3
i__ 10000 (see section 3.8)
ir gra
isl 10000 (see section 3.8)
[All MIPS instructins 32 bits
[Arithmetic instruction format
[Data transfer, branch format
6 bits
funct
داهن ۵ | ماه داه
داه جع ده
بدا وتات ند با
3
تعاس
\cneg323-04F\Topic0.ppt
صفحه 112:
فراخوانی تابع در ۱/۱85
* فراخوانی تابع یک ساختار ضروری زبان های برنامه
PLA hal gh
برنامه یک تابع را برای انجام چند وظیفه فرامی خواند.
موقعی که تابع انجام میشود()2) دقیقا از بعد از جایی
که برنامه فراخوانی شده ادامه می دهد
24 ام هام۲9 922.00۴ وم a2
صفحه 113:
فراخوانی تابع در ۲۸۱۳5
استفاده از دستورالعمل ced fics”) مر )لول
لت ال فقط ری ل است به جز موارد زیر
"آدرس بازگشت" (سم) +390 + لجدوام 62
اين آدرس دستور العمل بعدى بعد ازاوزاست
از 5960م براى بازكشت استفاده مى كنيم
درد ام هام۲9 922.00۴ وم 24
صفحه 114:
ل فراخوانی
Oster Oster
6: dus $3, OGF) eck! $F, $0, (OOD
سا ٩2, ۵)86( للم 36, $0, C200
pw $8, OSS) okt $d, $0, 4
aw $P, OP) mw $d, DSP)
+ $0d anh $d, 205
pw $4, 0 (83)
ام هام۲9 922.00۴ وم 24
صفحه 115:
مشکلات قراخواتی تابع_ ها
این متال درست کار می کند اما چه طور؟
تابع <) تابع دیگر را فراخوانی می کند
فراخوانی کننده یک نکته مهم در تباتهای PINAR ARO
تابع فراخوانی شده خودش را فرامی خواند؟
هر نسخه از یک تابع باید کپی متغیر هايش را داشته
باشداین ها در یک پشته به عنوان یک ستون از قاب ها
مرئب شده اند
24 ام هام۲9 922.00۴ وم us
صفحه 116:
فرض کنید تابع ۸, را فراخوانی کند و 8 ,) را
فراخوانی کند,تابع ت)خودش را فراخوانی می کند.
C's uae
C's vere
O's vars
O's vas
Coke O
C's vers,
O's vars
O's vars
© ots O
عم 9)
O's ws
© عام ©
ممم امه5م323-04وممع
O's vrs
stort D
224
صفحه 117:
فراخوانی پردازه
* مکان پارامترها
* کنترل انتقال
* ذخیره سازی ۸۵60۱۲۱۲6
۶ انجام دادن کار
* مکان بازگشت نتایج
* بازگشت کنترل بر گشتی به فراخوان
1 ممم امه5م323-04وممع 224
صفحه 118:
آدرسهای حافظه بالاتر
آدرسهای حافظه پایینتر
Argument 5
Argument 6
Saved registers
Local variables
آرایش قاب پشته
مم0 ۱[
$fp >
$sp >
224
صفحه 119:
زو
HOO. dub
8 (Foe)
©: here
21». 219, 0O8VBPRDALP APIO! DOAN LOADED MINAS
Sop—>
\cpea323-04F\Topico.pot
(©: bere
مه سا
224
صفحه 120:
قراردادهای ثبات استاندارد
۰ 00 تا ثبات صحیح در 16۳0/()عام متظوره هستند _هر کدام
می توانند به عنوان یک عملوند یا نتیجه یک محاسبه عملیاتی
استفاده شوند
* اما ساخت تکه های متفاوت از نرم افزارکه باهم کار می کنند
آسانتر است اگر قراردادهای معینی که دنبال می شود درباره آن
تباتهایی باشد که برای آن اهداف استفاده می شود
۶ این قراردادها معمولا به وسیله فروشنده پیشنهاد می شوند و به
وسیله کامپایلرها پشتیبانی می شوند
120 ام هام۲9 922.00۴ وم 24
صفحه 121:
ه کردن فراخوانی کننده:پردازه فر اخوان(طاامس)مسئول
است برای ذخبره کردن و دوباره ذخیره کردن هر کدام از
ثباتهایی که باید در طی فراخواتی نگهداری شوند.پردازه
فراخوانی شده (مامس)می تواند هر ثباتی را بدون محدودیت
تغییر دهد.
* ذخیره کردن فراخوانی شده: پردازه ای که فراخوانی شده
مسئول است برای ذخیره کردن و دوباره ذخیره کردن هر کدام
از ثباتهایی که مسکن است استفاده شوند.
فرخوان تباتها را بدون هیچ نگرانی درباره دوباره ذخیره کردن آنها
بعد از يك فراخوانی استفاده می کند.
24 ام هام۲9 922.00۴ وم a
صفحه 122:
اگر شما یک تابع را فراخوانی کنید هر آنچه شما در
5 ريد در آنجا تضمين شده زمانی که تابع
برمی گردد به شما
اما ثباتهای 09 تاگومی و۳ ()هستند به وسیله
تابع دوباره استفاده می شود
چه گزینش هایی هستند؟
هیچ ذخیره کردن؟
همه چیز ذخیره کردن؟
122 ام هام۲9 922.00۴ وم 24
صفحه 123:
اعلام یک wl در MIPS
قرار بدهید آرگومانهای تابع را در 408098
اگر یک چیز مهم در 0_05باشد اکنون آنها را انتقال می دهدا
اهز به تایم.
ذخیره کردن 82728 _0)عو9باگرلازم باشد شما کاری انجام دهید
و مقادیر بازگشت را( اگر داشته باشد) در 8/08
دوباره ذخیره میکنیم 82/28 _() رو 8ب رااگرلزومی داشته باشد
ادامه دهید تا جایی که تمام شود
سوال: چه کسی آن را به عنوان یک طرح می سازد؟
چه اتفاقی می افتد اگر ثباتهای ما تمام شود؟
واقعا چه چیزی عمل ذخیره کردن را انجام می دهد؟
123 ام هام۲9 922.00۴ وم 24
صفحه 124:
فصل سوم ۱
نمایش اعداد و محاسباتی کامپیوت
صفحه 125:
نمایش عددی و مکمل دو
#طراجى واحد مخاسيه ,منطق
» اعداد اعشارى
ممم امه5م323-04وممع 224
صفحه 126:
نمايش عددی
#آنجة پیچیده به نظر می رسد:
* اعداد منفی را چگونه نمايش دهیم
* دامنه )٩۵1206( اعداد چیست؟
۴ آگر یک عدد خارج از محدوده بود؟
* در مورد اعداد منطقی و غیر منطقی چطور؟
224 ممم امه5م323-04وممع a7
صفحه 127:
بیتها فقط بیت هستند: هیچ معنای ذاتی ندارند.
* قراردادها رابطه بین بیتها و اعداد را تعیین می کنند.
۴ سخت افزار چگونه تشخیص می دهد که چه قراردادی در حال
استفاده است؟
Add $s1, $s2, $s3
Addu $s1, $s2, $s3
چیست؟ 83 5 5 $1. $S2$ code
128 ممم امه5م323-04وممع 224
صفحه 128:
4
طایح با علامث
۳0 كد شده به بایتری
#ممیز ثابت
poe شناور
انواع دیگر داده:
* کاراکترها(اسکی و یونیکد)
* پیکسل ها (گرافیک ها)
* گروهی از بیتها
ممم امه5م323-04وممع 224
صفحه 129:
4 چرا صحیح بدون علامت؟
" دستيابى به حافظه 1 ,512 رت)طر
In C, unsigned int ®
(#*چگونه نمایش می دهیم؟
* انگشتهای خود را بشمارید.
۴ مبنای اولیه سیستم اعداد
*دهدهی: 10 نماد مختلف: 0 1 432 65 87 9
2
130 ممم امه5م323-04وممع 224
صفحه 130:
بدون علامت (مبنای اولیه سیستم اعداد)
در حالت کلن. در یک سلسستم اعددی مینای 36
عدو 7 حك
22 > له ) حر
اس زر
* چه تنداد 0 متفاوت؟
* بزرگترین عدد کدامست؟
* کوچکترین عدد کدامست؟
مبناهای خاص:
Binary) 2 ci. ™
(octal) 8 cis *®
۴ مبنای (hexademical)16
5 آنها چه تعداد نماد مختلف دلرند؟
224 ۳ مم0 an
صفحه 131:
صحیح بدون علامت (مبنای اولیه سیستم اعداد)
ar Eg وراه زاره 8و 16 تبدیل کرد؟
eo
010100=(0*22+1 *2'+0*20)*23+(1*224.0*2!+0429)
=2*B14 4*89= 24,
Hexadecimal: 1 9 4 891 ۱9۱ ۱6
Binary: 000110010100100010110110
6 2 4 4 062 اون
24 ام هام۲9 922.00۴ وم a2
صفحه 132:
سره مهد وه
No use
ود
1001
1010-1111
" جه تعداد بیت برای BOD 2452 نیاز است؟ برای
دودویی چطور؟
* فضای ذخیره سازی بکارگرفته شده؟
"| جكوتط میم توان 068107 را مشخس نمود؟
“2< رط جرع 416 b,>10" vs. جرج If
امیک برای کامپیوتر کاراتر است؟
ام هام۲9 922.00۴ وم 24
صفحه 133:
صحیح با علامت (علامت مقدار)
12(absolute value) (sign)- :12-#
۴ یک بیت علامت مجزا
* یک مقدار
@ رای سخت افزاز
بیت علامت را کجا قرار دهیم؟چپ یا راست؟
* علامت حاصلجمع را چگونه تعیین می کنیم؟ (مثلا یک مرحله اضافی)
* علامت صفر چیست؟ مثبت یا منفی؟
134 ام هام۲9 922.00۴ وم 24
صفحه 134:
مکمل ©
#عداد و نمایش آنها یکی نیست.
* نمایش عدد. یک قرارداد تعریف شده برای بیان آن است.
* یک عدد می تواند دارای نمایشهای متفاوتی باشد مثلا 185001 مبناى
16 مکمل دو و غیره.
* مکمل دو: یک نوع از نمایش که بصورت زیر تعریف شده است:
تمایق عدد
وطرط ورط بط | دخو ب هخرچ
135 ممم امه5م323-04وممع 224
صفحه 135:
ppt
1000
1001
1010
1011
1100
1101
1110
AULA
0000
0001
0010
0011
4S (B*2!) )?2 * يور
i=O 1
0
jaan
صفحه 136:
Katz: Contemporary ‘ez
Logic Design, p24.
جرا ۱۱۱۱ و 0000 همسابه اند؟
مفهوم بيت سوم چیست؟
علامت صفر چیست؟
اکوچکترین عدد اکدامست؟
بزراگتراین اعدد. کداماستا؟
صحیح با علامت(مکمل دو)
\epe9323-04F\Topico ppt
24
صفحه 137:
جر گوس D, Dow و والح با
#7
" ااثبات افرستى
۴ میانبر: از با ارزشتراین بیت تا کم ارزشترین آهر بیث را معکوس کنید و کم ارزشترین یک را 1 نگاه دارید.
Example: - (0100) = 1011 + 1 = 1100
Example: 100,, = 01100100 > 10011100 = -100,,
138 ام هام۲9 922.00۴ وم 24
صفحه 138:
ندن اعداد کوچکتر در بیتهای بیشتر
چرا لازم است؟
* مقایسه یک 1۳16061 با یک 1۳16061 1010: تغییر نوع
* بارگذاری یک بایت در یک کلمه
* بای اضافه کرد یک باخشن فوری جه يك عدد 32 بیی
۴ چگونه می توان با اندازه های کوچکتر کار کرد؟
* در مورد اندازه های بزرگتر چطور؟
139 ام هام۲9 922.00۴ وم 24
صفحه 139:
@ Example(2-bit): 10= 1 *(-2!)+0*2°=-2,,
تمایش 2- مبتای )10 4,5 Ep کلمه: ابا می توانید آنرا اتجام ادهید؟ چه چیزی که
می شود؟
(تکرار بیت علامت در بیتهای دیگر(گسترش علامت)
0010 -< 0000 0010
1010 -< 1111 1010
1x(2*(-7) + 111.1010 < ۶ (( نکته! اثبات ؟
140 ام هام۲9 922.00۴ وم 24
صفحه 140:
ys
جمع : درست مانند دوران شیرین دبستان
0110
+ 0001
a-b=a+(-b): 3 a@
fase last دواساهه لمكا
0111-0110= 0111
+1010
0001‘
* بتابراین 0110-0111= 0001
۴ آبا شما مخوضا بیتهای علاستا را دستکازی نموده اید؟
مد ممم امه5م323-04وممع 224
صفحه 141:
#طب کنید! یک پیت اضافی گم شاه است!
0111-10 - ۱011
طرا 1 می تواند حذف شود؟ +1010 ولا
۱
00101
| is Lee
| ۱
#23 ee rans اما
+ 1*)22( + دوب
1*24 - 1*23-
۴ از دیدگاه 1 بیت : 0-13402171
* بنابراین تا زمانیکه شما/08117 بوجود آمده بوسیله 1+1 (1 سبز) را در نظر نگرفته
ده درست انجام داده ايد
0 0222110155 مود
صفحه 142:
LIM شما یک جمع کننده و یک تفریق کننده دارید؟
در مورد اعدا بدون علامتجطور؟(یک) جمع کننده دیگر؟)
“#مزاياى استفاده از مکمل 2
۴ تفریق می تواند از منطق مشتركى با جمع استفاده كند
" بيت علامت مى تواند مانند يك بيت معمولى عدد رفتار كند
۴ ایتها نکات زیرکانه ای هستند :
143 ممم امه5م323-04وممع 224
صفحه 143:
سرریزی
اجب
1111 1
1000+ 0110 +
علامت ورودی چیست؟
علامت خروجی چیست؟
* آیا امکان وقوع سرریزی در جمع يك عدد مثبت و یک عدد منفی
وجود دارد؟
© امكان وقوع سرریز با صفر وجود دارد؟
* اعمال A+B ۸-۳ را ملاحظه کنید.
224 ممم امه5م323-04وممع aaa
صفحه 144:
1111 ۰ 1
1000 + 0110 +
101111101
علامت ورودی چیست؟
علامت خروجی چیست؟
224 \cneg323-04F TopicO.ppt وقد
صفحه 145:
کسرریزی زمانی اتفاق می افتد که:
go gor " عدد منفی یک عدد مثبت بدهد!
جمغ دو عدد مثبت یک عدد منفی- بدهد.
* یا یک عدد منفی را از مثبت تفریق کنیم و نتیجه متفی بگیریم
8 پا یک عدد مثبت را از منقی تفریق کنیم و نتیجه مثبت بگیزیم
#در مورد جمع و تفریق اعداد بدون علامت چطور؟
146 ممم امه5م323-04وممع 224
صفحه 146:
CPU {5 در برابر سرریزی چیست؟
¢ نادیده بگیرد؟
* هیچ وقت نمی خواهد سرریزی آشکار شود
* 51111 2010111 ,20011 (۷۱5:عدم تولید سریز6
* تولید یک تله که بر اساس آن برنامه نویس پتواند با آن کار کند.
* یک استتنا (وقفه)رخ دهد
* کنترل به آدرس از پیش تعریف شده استثنا پرش کند
* فخیره آدرس مکان وقفه برای امکان بازگشت
*جمع » تفریق
مد ام هام۲9 922.00۴ وم 24
صفحه 147:
* اعداد بدون علامت
situ: set on less than unsigned
sltiu: set on less than immediate unsigned
* اعداد با علامت
sit: set on less than
siti: set on less than immediate
H متال: مقادیر 508 و 515 چیست؟
1 111 1111 1111 1111 1111 1111 1111 8502
$s1= 0000 0000 0000 0000 0000 0000 0000 0001
$s0, $s1 (2) situ $t1, $s0, $s1 ,500 ]5۱ )1(
24 ام هام۲9 922.00۴ وم ue
صفحه 148:
(متادیر 509 و 518 چیست؟
1 1111 11111111 1111 1111 1111 1111 3502
0001 0000 0000 0000 0000 0000 0000 0000 =$51
پاسخ:
ل $51 ,$50 Sit $t0, است؟0] اگر هر دو با علامتیاشند
0 -- 551 ,550 ,511 لاااو است 115 اگر هر دو بدون
علامت باشند
وقد ممم امه5م323-04وممع 224
صفحه 149:
با رگذاری/ذخیره سازی
* 0۷۲6 ۱۵۵0 :۱۵
Ibu: load byte unsigned *
©
Ib $s1, 100($s2)Examp'
مقادیر ۹08 چیست
?When memory[$s2+100] = 0000 0000 *
?When memory[$s2+100] = 0000 0001 *
?When memory[$s2+100] = 1111 1111°
Ibu $51, 100($s2)Example:@
چیست S1$ polio
?2when memory[$s2+100] = 1111 1111°
150 ام هام۲9 922.00۴ وم 24
صفحه 150:
طراحی پردازش
طراحی
jal a
* آنها چگونه در کنار هم قار می گیرند
© تجزیه بالا به پایین بخشهای مختلط
#ترکیب پایین به بالای بخشهای ساده
asi ام هام۲9 922.00۴ وم
CPU
هه
224
صفحه 151:
مسئله: طراحی واحد محاسبه و منطق
4 عملیات
and, oda, sub, subu, addi, odeho *
* جمع کننده تفریق کننده مکمل 2 با آشکار سازی سرریز
coed, or, adi, ori
* اعمال بیتی
مجموع اعمال < (10)
1 ممم امه5م323-04وممع 224
صفحه 152:
(شکستن مسئله به بخشهای ساده تر
* کار با اجزا
قرار دادن قطعات با يكديكر
" |بازبينئ راهكارها در نهايت
#مثال: جدا كردن دستورات فورى از بقيه دستورات
۴ پردازش فوریها قبل از 0,)
* اکنون ورودیهای (,ا9) یک شکل هستند.
* 6 عمل غیر فوری باقی مانده است
* نيازمند © بيت براى تعيين مد (0,ا9) است
153 ام هام۲9 922.00۴ وم 24
صفحه 153:
ALU (ALU Interface) L.>.
ما یک 32 ]م۸ بیتی طراحی خواهیم کرد با محیط زیر:
B A
3 32.
32 ALUOp __| Function
000 || AND
Result 001 | OR
Z =1, if Result=0 010 | ADD
V= 1, if Overflow 110 | SUBTRACT
Cy, = 1, if Carry-Out 111 | SET-ON-LESS-THA!
224 \cneg323-04F TopicO.ppt asa
صفحه 154:
ظر احی- کاهتن مه باه یکت مسئله بتاده تر
@ برای اين مسئله» ما Ly ele OLD OO به بخش ساده تر یک بیتی کاهش مى
vase
۴ مسائل ترکیبی بزرگ را به یک مسئله ترکیبی کوچکتر تغییر می دهیم
بخشها را برای حل مسئله بزرگ در کنار هم قرار می دهیم.
وقد ممم امه5م323-04وممع 224
صفحه 155:
طراحی با بلاک دیاگرام سطح پایین تر
برای PLD BC NK
بيتى 96 بار تکرار می
224
صفحه 156:
© تقسیم به بلاکهای جدا و مستقل
منطق
* محاسبه
تکحیل هر بلاک در این امرعله برای ليم
بيشتر
تكميل بلاكهاى منطقى
* تکمیل آنتخاب عمل
ay ja * بلاکهای محاسباتی به بخشهای
ساده تر
CanyOut
224 \cneg323-04F TopicO.ppt 457
صفحه 157:
تمام جمع کننده. ALU jo ole cole SS است.
© یک تمام جمع کننده. جمع یک بیت را انجام می دهد.
at b, + ع ره 2¢,,+ 5
bos
ل | Daa ار ۵
4 Odod
بط ۳ 8 | و۳ 0
5 000 ©
158 ممم امه5م323-04وممع 224
صفحه 158:
جدول درستی تمام جمع کننده
911 است SG SI تک علد از فروقیها یک باشت
01+11 لسلگر #عند (ی اب لیشتراز) ورودیلها 1 با اشتظ
هطلیه + وطلیة + وله + وطوع و
ulb | با بت 5,
0 ۵ ۱۵] 0 Oo S=aebea | .
57 | 21| 8 | qd Gii=abo+ abo+ abg+ abc
0 ۱0 ۱۵ ۱ 0 0 عوبة + جلرة - دمن 2
0 | ۸ | ۱۰ 0 Gs+1=ad+ Glaj+ Bb)
) 10 ۱00 0۱ 01 Gi1=ab+ alae b)
4 | ۷۶
4 ۱ ۱8 ۱۸ ۱
aa GL OL Of robot ص
صفحه 159:
S=aebegq
G+1=ab+ Glae b)
aie b =(aj+ bab
9+1
224 \cneg323-04F TopicO.ppt
صفحه 160:
BLO يكسيتى
0
Function
SET-ON-LESS-THAN
b,x bese,
ام
* هر
ALUOp
000 |
001 |
010 |
110 |
|
24
صفحه 161:
نز ()را © يكبيتويرلى6) 8 0)
۸1 ب ولی1153 باید
سرویزیرا لشکار و علاهت
vu
17 <09 ۵-1
set=(A< B)
224 1
صفحه 162:
ا ومنطق یک بیتی و یک واحد محاسبه
ومنطق یک win 8)8)()و 4 تا كيت 00008 ميتوانند باهم
ق شوتد و تشکیل یک واحد محاسبه و منطق (Gio) 4
بیتی را دهند bobo
۳۳( رلا )سر | ۲ Lda! سلطا
0 32
fy OL " ۵۷۵ 6۷۵ سب 0
وما
Yo
Yo ۷ Ye Ya
01
31 عدد واجد محاسبه و منطق یک بیتی و یک واحد محاسبه ومنطق
ایک بیتی (DOO 32 تا گیت WoDOR توانند باهم الجاق شوند و
تشکیل یک واحد محاسبه و منطق (07) 32 بیتی را می دهند
163 ام هام۲9 922.00۴ وم 24
صفحه 163:
aSKOR=O GS
كيت 0)-+70000/00)كيت
وارونه سا ز-©6)/, كيت
ند تا كيت نيان است به وسيله
یک واحد محاسبه منطق ]) بيتى؟
یک واحد محاسبه منطق*)
یک واحد محاسبه منطق ©© بيتى؟
یک واحد محاسبه منطق و بیتی؟
ALUopo مح
\cpea323-04F\Topico.pot
224
صفحه 164:
* مالتی پالکسر ۳) ورودی<)گیت
© اكيت 6۲20())گیت
* كيت )-+00000/00)كيت
* وارونه سا ز-0/. گیت
چند تا گیت نیاز است به وسیله
یک واحد محاسبه منطق 1 MOS Ay
۴ یک واحد محاننبه منطق۸ بیتی؟6۳0۵
۴ یک واحد محاسبه منطق 00 بیتی؟
99098
۴ یک واحد محاسبه منطق و بيتى؟ 5*0
در یک واحد محاسبه و منطق » بیتی(ه
0) عدد گیت )با 6 ورودی و
یک وارونه ساز و یک KORE
165 ام هام۲9 922.00۴ وم
oe (a s—ALU0py
ue
i
oy
24
صفحه 165:
#فرض کنیدتاخیرهای
* مالتی پالکسر 4 ورودی<6
* گیت ,082۵
* كيت 000/00۲20)
۰
" يك واحد محاسبه منطق ©© بيتى؟ 3
۴ یک واحد محاسیه منطق » بیتی؟ 58
oe ia —ALU0py
(iH
He یک واحد محاسبه منطق بیتی؟ ۴
بای ساحاسلبه ابقاخیر ماه تیان اسلت.
ioe
166 ممم امه5م323-04وممع 224
صفحه 166:
در طراحی قبلی کری"موج دار شده"از یک و
منطق یک بیثی برای بعدی تولید می شود
ور bette ba و
ce 4a [ للدي اطي
0 0 اج doy (bt Faq) Ga fe] a
هه | | هرهز | هه | | هرق
hier jae 9 [aor
Yo Ye ۳۹ Yo
این ها موجب می شوند که تا اندازه ای طراحی کند شود
,در لحظه ,0لمادم لست
167 ام هام۲9 922.00۴ وم
صفحه 167:
#فرض کنیدتاخیرهای
* مالتی پالکسر 4 ورودی<6
* گیت ,082۵
* كيت 000/00۲20)
" وارونه سا زح 4
بر است تاخیر
* یک واحد محانبه متطق «
(۵0*۵+)۵ح
* یک واحد محاسبه منطق » بیتی؟
(90۲6)
الو أي شطع ۵0درورودور 4 رارونه -ويق 41-0 + 5 4 5 ۲
سازبرلیمحاسبه ر]نیاز داريپ.
168 ام هام۲9 922.00۴ وم
2 less
مد
3
احا
224
صفحه 168:
Carry Lookahead Adder
در یک )رانکری ها به صورت همزمان از یک
(نانات )جلها تحاط راصعا ماحانیه میل شوند
eee ers
Fel Fel Fa
d-bit 4) 41 4۳
خرن | |] BLO*| وراه
ECA
۵ ۵ 0 Sa _|¥o.
۲9۳9 Pe ۳۹ Fo
5
rai Ouny Lovkoheud Louic
224
صفحه 169:
#معادله متطقی کری هست:
Ci+l=ai bi+ (ai+ bi) Ci
propagate
ai+bi= pi
96۴6۳۵۲6 #و یک سیگنال تولید میشود
ai bi=gi
le امکان را ایجاد می aS iS معادله منطقی
کری دوباره به صورت زير نوشته شود
Citl=gitpici
70 ممم امه5م323-04وممع 224
صفحه 170:
Carry Lookahead Logic
4 GOS Saco lovkokedd adder F
cl = g0 + 0 صورت زیر محاسبه می شوند
62 2 91 + 161 91 + ۵1690 + 0060(
< 01 + 0190 + 0
63 2 g2 + p2c2= g2 + p2(gl + plg0.+
p1p0c0)
< 92 + 0291 + 020190 + 00
c4 = 93 + p3c3= 3و + 3)92 + 291 +
020190 + p2p1p0c0)
< 3و + 392 + 30291 +
#چند تا گیت ۳ رارلاکبیتی نیاز داای کت هب32 جایش
ورودی نا محدود داشته باشند؟
گر هرسطح منطقی تنها تاخیر )داشته باشدرارار)دارای 0تاخیر
است در نتيجه اين تمرين ممکن است واقع بینانه نباشد.
24 \epe9323-04F\Topico.pot an
صفحه 171:
تعدیل کردن واحد محاسبه om es
چه طور ما می توانیم یک واحد less
محاسبه و منطق یک بیتی را
تعدیل کنیم اگر که
را( )مورد استفاده باشد؟
#چند تا گیت تعدیل شده برای واحد
نیاز است؟ G
#چند تا گیت برای 6 راربیتی
یاز است؟
*#چقدر تاخیر داریم تا زمانی که
۱) ور9)آماده شوند؟
oe 1 افص
nh \cpea323-04F\Topico.pot ape 4رد
صفحه 172:
۳ ee
سه زه سه | ]| سه أل
ری 9 مرو | م9
Ceo
“Me |¥a Sa [Yo
را مارا بو
Or
Fo
۳۵ ۳۹
6 ۵
cE
4۳
@LO*
6
Po
re
تج زج لو یاون ]کی هاچ لول
همزمان محاسبه می شوند از ما لمات بومو()
amr
1
این طراحی به ©0<*0+<0<22006م كيت احتياج دارد بدون
محاسبه رياد
1 ممم امه5م323-04وممع
224
صفحه 173:
واحد محاسبه و منطق
. «#يك ©0 ()ر9بیتی ساخته شده از الحاق کردن PEP ()رابیتی و
اجازه انتقال کری "موج دار “بين "بلاك “els *بيتم
"er ih 1 ret اس نا
مه لک ae Pa | Pa a] Pa fe
CL® || CL® |] CL® هرا
hier ۵ [aes
۲66 Yao
DLO بدون محاسیه aS COOH
0
Yeo
© اين طراحی نیاز دارد به ۸
Yee
۳*۵
24
ام هام۲9 922.00۴ وم
صفحه 174:
واحد محاسبه و منطق 16 بيتى .
ورژن2
1
|
|
|
|
بيشنهاد ديكو اللمتفاده أن ومين أسطح حياط | لماح داوم راسو © ست
ن پيشنهاد سریعتر است اما به گیت های بیشتری نیاز دارد
700-0 تا گیت.
موكموط Yao beeen مموتآمیم؟ مووط
Cee 5 Te 2
سدح از سدح | ] م | Pa
مرن خورم | م۴ هرن
t
4۵ ۱9۱ ۱ | 9
۲۵۵ | 0 2 ex
را deny Lovkokeud لم
۳9
24
صفحه 175:
#۴ ۵ راد)بیتی(/) 006(0)) شبیه اولین 6 )رل )بیتیلستبسه جز
محاسباترار0يكاتوليد بلاك و "منتشر کردنبسلاک بسه جایخروجوکسری
بدین ترتیب محاسبه
c4 = g3 + 0392 + 030291 + ۵3020190 +
03028۳18000(
جایگزین شده به وسیله 10(
+ 030291 + 392 + 3و = 0:
p3p2p1g0
Note: c4 = 63:0 + 0
@ این پیشنهاد محدود می کند. حداکثر مم*را به < و راراد) هنوز نیاز به 00۳ گیت دارد
ام هام۲9 922.00۴ وم 24
صفحه 176:
نتایج
#یک()را0) مبیتی می تواند به وسیله الحاق کردن > تا (4,ا0)
یک ایتل deh شود ead Ha gl of ah UD
ppt data) cab
انوع گوناگون گزینش های طراحی برای طراحی (,9) وجود
دارد
#بهترین طراحی بستگی دارد به ناحیه تاخیر و توان نیازمندی ها
که براساس تنوع تکنولوژی اصولی است
177 ممم امه5م323-04وممع 224
صفحه 177:
ae
4F Topico.ppt
\epea32
224
صفحه 178:
ضرب صحیح بدون علامت
*متال مداد و کاغذ
1.0 مضروب
. .* مضروب فيه
1000
0000
0000
1000
حاصلضرب 01001000
224
صفحه 179:
۶ب یگب یت ۱+۲ بینحاصلضرب
انباشته های | مرحله 1 << ,8 ]ز ۸*2۱
رظ .| ارظ | ای | ,ظا او ۱ وظ | لظ
7
12/24 \epe9323-04F\Topico.pot وقد
صفحه 180:
در هر مرحله 0 بار به چپ شیفت
میدهد.
استفاده از بیت بعدی ()برای اینکه
تعیین کند که آیا با مضروب شیفت داده .1
شده جمع شود یا نه.
#جمع کردن ابیت حاصل تاتمام در هر
مرحله 2
ae ام هام۲9 922.00۴ وم
7 P, P; P,P; P, P, Po
224
صفحه 181:
محاسیات ساده رباص
adh ails cas LD DS!
رو« و — Produgt=3'(2'* B* A)
sgl رهاتى كه1-8+لابيت gue
ProduGf, =3 (2'*B* A) =2"* B.* A+ Produg
20 به چپشیفتدادن Ad Sl DS
این واضح است که ضرب مشتمل بر شیفت و جمع تکراری
A*B
224
صفحه 182:
سخت افزار ضرب ورژن1
224 \cneg323-04F TopicO.ppt 183
صفحه 183:
الگوریتم ضرب ورژن1
Can
را در ثبات حاصلضرب قرار بده
+
Dy See ae
يكبيتمضروبفيه را به رلستشيفتهدم .9
op pias مَصروب فيه حاصلضرت
00000010 0011 0000
نه: < 32 تکرا 40 0001 00000100
0 0000 00001000
00000110
ab
224 \epe9323-04F Top ea
صفحه 184:
نظارت بر روی ورژن 1ضرب
#نصف بیتها در مضروب هميشه صفر است <>06۳ بیت جمع
کننده هدر رفته است
*#مقدار دادن در سمت چپ مضروب به عنوان شیفت دادن<> کم
ارزش ترین بیت حاصلضرب هرگز تغییر نمی کند
#به جای اینکه مضروب را به چپشیفت دهیم. حاصل را به راست
شیفت می دهیم؟
وقد ممم امه5م323-04وممع 224
صفحه 185:
سخت افزار ضرب ورژن2
224 04F Topico.ppt 186
صفحه 186:
الگوریتم ضرب ورژن2
CD
یکبیتضروبفیه را به رلستشیفتبده .9
ae is
122824 \epeg323-00F GD
صفحه 187:
WHEBHEBHEDNE
0000 0000
0000 0010
0000 0001
0000 0001
0000 0011
1000 0001
1000 0001
1000 0001
1100 0000
1100 0000
1100 0000
0110 0000
0110 0000
0110 0000
\cpea323-04F\Topico.pot
0011
0011
0011
0001
0001
0001
0000
0000
0000
0000
0000
0000
0000
0000
0010
0010
0010
0010
0010
0010
0010
0010
0010
0010
0010
0010
0010
0010
224
صفحه 188:
Bo
1
2
<2
3
4
od
#مضروب فيه هنوز مى ماند
چه چیزی روی می دهد؟
صفحه 189:
#فضای هدر رفته ثبات حاصلضرب که دقیقا هم
اندازه مضرئب فیه است <>به هم پیوستن ثبات
مضروب فیه و ثبات حاصلضرب
ود ممم امه5م323-04وممع 224
صفحه 190:
سخت افزار ضرب ورژن2
مضروب
224 04F Topico.ppt ود
صفحه 191:
الگوریتم ضرب ورژن3
جمع كنمضروجبرا با نيه جبحاصلضريق نتيجه 3
را درنیمه چپ ثبات حاصلضرب قرار بده
224
صفحه 192:
#دو مرحله در هر پیت است برای اینکه مضروب فیه 6 حاصلضرب به هم می پیوندد.
»تبات هاى .0,11 | 1/1155 هستند نيمه جب و راست حاصلضرب
116542 سور اضر يدون عامشوا يله ما مردهدا
##درمورد ضرب علامت دار جى؟
_ آسانترین راه جل زمانی است كه اهردو مثبت باشند و به ياد داشته باشيد داده تكميل شد
اجرا می شود(بیت علامت را دور بریز اجرا برای 90مرحله)
4 کاربرد تعریف متمم 8
نیاز به گسترش علامت داده های بخصوص و طبقه بندی آنها در انتها
الكوريتم بوت راه فوق العاده براى ضرب ' لامت دار است و از سخت افزار
قبلی استفاده میکند و چرخه ها را ذخیره می کند
* _میتواند تعدیل شود بهدع 00[ 3 غ3 5غ[ 6اماابا to handle
193 ام هام۲9 922.00۴ وم 24
صفحه 193:
1 0
بیت جاری) - توضیح مثال or
0 شروع اجرا از 46 ۰ ob ODOMAOOD
0 وسط اجرا از 40 ۰ 0000000080000060 woe
add OOOAIAIDOOD desist يايان O
3 0000000000 dle وسط اجرا از OD
@ ابتکاری برای سرعت (موقعی که شیفت سریعتر از 4«بود). یک رشته از
ها را در مضروب فیه با نخستین تفریق جایگزین کنید 1
ما ابتدا یک ) می بینیم و سپس در جمع بعدی Soi ILL
224 \cneg323-04F TopicO.ppt 194
صفحه 194:
shift P (sign ext)
11> nop, shift
11 -> nop, shift
01-> add
shift
done
حاصل
11 0000
0+
0 1110
1 0011 1111
10011 1111
11001 1111
0010+
11001 0001
0000 11100
\cpea323-04F\Topico.pot
مضروب عملگر
0. initial value 0010
12 ۴2 ۴۰ 110
Ib. ‘0010
2 0010
3 0010
4a. 0010
4b. 0010
24
صفحه 195:
مثال بوت(3-*2)
حاصل sad مخ روت
initial value 0010 0000 51510 10 -> sub .0
la. P=P-m 1110 +1110
shift P (sign 6 11011 11/10۱
ext)
1b. 0010 1111 01 -< 0
0010 +
2a. 0001 71 1
2b. 0010 0000 1017 10 -< sub
1110+
3a. 0010 111010120
shift P
3b. 0010 1111 0101 1 11 -< ۵۵
shift 1 )1111010 42
done 1 010 1111 0010 40
aes
\cpea323-04F\Topico.pot
صفحه 196:
*#آسانترین راه حل این است که
*۴ هردو مثبت باشد
" به ياد داشته باشید که حاصل تکمیل شده اجرا می شود
* علامت حاصلضرب را محاسبه می کند عملوندها را به اعداد
مثبت تبدیل می کند » بیت علامت را دور می ریزد »برای9)0
مرتبه اجرا می شود » سپس نتیجه ثابت می شود.
197 ممم امه5م323-04وممع 224
صفحه 197:
الگوریتم های سریعتر یا عمل
ضرب
#الكوريتم بوت
* ضرب اعداد علامت دار مانند قبل داز سخت افزار
یکسان استفاده می کند و چرخه ها را ذخیره می کند
* بیتهای مضرب را در یک لحظه می تواند دستکاری کند
استفاده کردن از یک آرایه آدرس
#مشاهدات اين گونه نشان می دهد که :چه اضافه شود یا
نشود مضروب را یک واحد شیفت می دهیم_اين تصمیم
می تواند کامل به صورت موازی انجام شود.
198 ام هام۲9 922.00۴ وم 24
صفحه 198:
Quotient 1001
Divisor 1000 | 1001010 Dividend
Remainder 10
Dividend = Quotient * Divisor +
Remainder
224 \cneg323-04F TopicO.ppt 199
صفحه 199:
سخت افزار تقسیم ورژن1
4 بيت ثبات مقسوم علیه »واحد محاسبه و منطق 66۴
بيتى » ثبات باقى مانده » ثبات خارج قسمت ©© بيتى
شيقت راست
مقسوم علیه
a
64. ALU a
24
صفحه 200:
اک کسنید ثشباتمقسوم علیه را از باب اقیهانده 11
اأنيجه را در ثبات باقى مانده قرار دهید ab» OH برلی,بیتخرج
قسمتو باقوماتدم
باقی مانده < 0
0 < باقی مانده
ب بازیلبیسقدار اولیه بسا جمع باتهم قسوم علیه و2 شیلبسه چپ 2
قرار دامنمجموع در ثسباتباقیمانده . شیفشباتظلیج | | تإتخايج 3 i
قسمنسه چپو صفر کسرهنکسم ارزشتسریرسینجد ید كترم ةما ie
جديد 2
: مقسوم غليه le gh - خارج قست
ODOD 00 000 0000 1 1 aly
122824
صفحه 201:
#نصف بیت ها در مقسوم علیه هميشه صفر است
< > نصف “© بيت جمع کننده هدررفته است
#<>نصف مقسوم علیه هدر رفته است
#به جای اینکه مقسوم علیه را شیفت به راست دهیم باقی مانده
را شیفت به چپ می دهیم ¢
#مرحله اول نمی تواند تولید یک خارج قسمت کند(به عبارت
دیگر خیلی بزرگ است)
<>به وسیله اجرای فرمان ها با شیفت اول و سپس تفریق می
توان یک تکرار ذخیره کرد.
ام هام۲9 922.00۴ وم 24
صفحه 202:
. سخت افزار تقسیم ورژن 2
0 بیت بات مقسوم علیه . 9صیت۰66 (رلابیت
ثبات باقی مانده 6۰بیت GL باقی مانده
3-04F Topico.ppt
صفحه 203:
باقی مانده خارج قسمت مقسوم
OOOO
122824
صفحه 204:
حذف كردن ثبات خارج قسمت به وسيله بهم بيوستن با باقیمانده به عنوان
آغاز شیفت دادن باقی مانده به چپ مانند قبل
«#يس از آن حلقه فقط محتوی 0 مرحله است چون شیفت دادن ثبات باقی
مانده هر دو شیفت ها باقی مانده در نیمه چپ و خارج قسمت در نیمه
راث
در نتيجه به هم ييوستن © ثبات به يكديكر و فرمان هاى جديد عملكرها
در این حلقه باقی مانده ای است که در یک لحظه بارها به چپ شیفت
خواهد یافت
205 ممم امه5م323-04وممع 224
صفحه 205:
, سخت افزار تقسیم ورژن 2
0 بيت ثبات مقسوم . 96بیت ۰66 (0۱,0) بیت
ثبات باقی مانده ». (صفر بیت خارج قسمت).
کنترل کردن
224 \cneg323-04F TopicO.ppt 206
صفحه 206:
باقی مانده
بلع 1 0 00(
50000
صفحه 207:
| سخت افزار یکسان مانند ضرب:فقط به 0,/() نیاز داریم برای جمع
یا تفریق » ©© بيت شيفت به جب يا راست
#ثبات هاى “,اك وما به هم مى بيوندند به sls is OR GL ol sie
ضرب و تقسيم
#تقسيم علامت دار:وووووووووووووووووووووووووووووو
* يادداشت:مقسوم عليه م باقى مانده بايد هم علامت باشند
* یادداشت:خارج قسمت منفی شده اگر علامت مقسوم و علامت باقی
مانده مخالف باشند مثال :
#ممکن است برای خارج قسمت خیلی بزرگ باشد: اگر تقسسیم
صحیح 00 بیتی به وسیله 6 ۰ خارج قسمت00 بیت است
208
ام هام۲9 922.00۴ وم 24
صفحه 208:
فصل چهارم
سنجش کارایی
* سنجش: چه, چرا, چگونه.
* معادله کارآیل
* قانون امدال
مچگوله انروی کارایوا زا iS a agate
224 \epe9323-04F\Topico ppt 209
صفحه 209:
صفحه 210:
برای خرید یک ماشین جدید چگونه تصمیم می گیرید؟
گیری "زمان اجرای " 116015 fter
سار تن ها 0101| | ML
1121 >*->+ + - ۱۱/۱۱۱/۱۱۱
اندازه
از
Night
flight
Movie Wight flight?
Goes ea eat
Here lad تصلویر
شدید. CPU
0 اچیز
ام هام۲9 922.00۴ وم 24
صفحه 211:
CPOs Rie
معین کردن یک مجموعه از ماشینها که دارای *
بهترین کارایی *
کمترین هزینه *
بهترین کارایی /هزینه *
از لحاظ طراحی
مواجه با انتخاب طراحی است که دارای: *
بهترین بهبود کارایی *
کمترین هزینه *
بهترین کارایی / هزینه *
نیاز هر دو ©
پایه ای برای مقایسه #
*معیاری برای ارزیابی
#هدف ما فهماندن مفهوم هزینه و,کایراپی,از,|نتچاب هاى معمارى استت. ,تومير
صفحه 212:
۱
دو تصور از "کارایی" |
سب vr Pes 00 عم
نیت
مهم
pein 9 0 مسا 9 ۳
* زمان انجام کار(زمان اجرا)
- زمان اجرا ء زمان پاسخ ۰ زمان بر
* كارها در روزء ساعت » هفته » ثانیه نانو ثانیه» ... (کارایی)
24
صفحه 213:
'#كارايى ميران جيزهايى در ثانيه است
ul ter
اگر به صورت enter زمان پاسخ برای ما مهم باشد:
performance(x) = 1 W
execution_time(x)
۳ بار سریعتر از ۷۳" است به معنی اینست که :
execution_time(Y)performance(X)
=n
performance(Y) execution_time(X)
#چه زمانی توان عملیاتی مهمتر از زمان اجراست؟
dad زمانی زمان اجرا از توان عملیاتی مهمتر است؟
24 ام هام۲9 922.00۴ وم 24
صفحه 214:
مفال این از
d کارایی
Ovewrrde lee} * در مقابل 2۳/۵ بیس ؟
با ساینر و = BAO top | ی 4660 بسن ۰
سم © سا ۵ <
* توان عملیاتی 0۵۳66۵۲06 در مقابل 747 806109 ؟
ts (PO,COD propts / poop = 0.98 “ees Peer ۱
fer حم 09 2 Bvetry te OOO‘ bh POP O,COO popk +
) بار ("96©00”) سريعتر است,
Sel see ("MICO
۰ زمانیکه بحث کارایی پزدازنده مطرح است؛عمده تمرکز ما بز روی زمان اجرا برای "یک کار*
1
Boal
215 ام هام۲9 922.00۴ وم 24
صفحه 215:
چگونه بر زمان پاسخ و توان عملیاتی لثر می گذارد؟
* افزایش سرعت ساعت در یک پردازشگر معیل.
* افزایش تعداد کارها در یک سیستم (مثلا داشتن یک سرویس واحد کامپیوتری دارای چند کاربر)
* آفزایش تعداد پردازنده ها بر یک سیستم که از چند پردازنده استفاده می کند ( مانند یک شبکه از
ماشینهای خود پرداز(/۸۲))
#اگر یک
در (0) ثانیه اجرا کنده محصول پا
م © يك برنامه را در 0 ثانیه اجرا کند و یک ۴0۷/6۲۳ برنامه ای مشابه را
یوم چند بار سریتر است؟
n= 10/8 = 1.25 times faster (or 25% faster)
با این وجود چه چیزی باعث می شود که کسی 0۷/6۲۳6 را برای خرید انتخاب کند ؟
216 ام هام۲9 922.00۴ وم 24
صفحه 216:
زمان
؛ زمان به چند طریق قابل تعریف است. وابسته به اينکه چگونه مورد سنجش
قرار دهیم:
-: مجموع زمان صرف شده برای تکمیل یک کار شامل زمان صرف شده برلی
اجرا در لا۳) دستیابی به دیسک و حافظه انتظار برای ۱/0 و دیگر پردازشهاه و سربار
ینتم ate
* زمان اجرای [2۳1): مجموع زمانی که یک SG sls CPU کار صرف می کند(به غیر
از زمان 1/0 یا اجرای برنامه های دیگر). این زمان به طور ساده معروف به زمان CPU
# رمن کریر (۳۱): مجموع زمانهایی که لا۳) در برنامه صرف می کند.
* زمان اجرای سیستمی لا۳) : مجموع زمانی که سیستم عامل صرف اجرای کارها در
برنامه می کند.
» برای مثال: یک برنامه می تواند دارای زمان سیستمی ath CC Joes CPU
باشد» یک ز مار (۳۱) برابر OD ثانیه » یک زمان اجرایی لا۳)»
معادل 416 ثانیه » و یک : :2 برابر 496 ثانیه باشد.
24 \cpea323-04F\Topico.pot 217
صفحه 217:
ساعت کامپیوتر
eae
Cnet یک ساعت کامپیوتر در یک نرخ ثابت انجام می گیرد و ®
می کند چه زمانی رخدادها در سخت افزار فرار گيرند.
6 مقدار زمان برای سپری شدن یک چرخه ساعت است (مثلا 2.
نانوثانية).
است. a gph نرخ ساعت؛ ”
* مثلاء اگر یک کامپیوتر دارای ز ۰ جر ۸۰ .21 معادل 0 نانوثانیه باشده نرخ ساعت
برابر است با
224
صفحه 218:
معیارهای پایه ارزیابی
مقایسه معیار های ماشینها
- زمان اجرا
- توان عملیاتی
- زمان لا
MIPS - : مخفف : میلیونها دستورالعمل در ثانیه
MFLOPS - : میلیونها عمل ممیز شناور در هر ثانیه
مقایسه مجموعه برنامه های استفاده شده در ماشیذ
- مفهوم محاسباتی
- مفهوم محاسباتی سنگین
Benchmarks -
219 ام هام۲9 922.00۴ وم 24
صفحه 219:
چه تعداد چرخه برای یک برنامه نیاز است؟
ن است تصور کرده باشید که تعداد چرخه ها - تعداد دستورالمملها باشد
<
4
3
2
a
£
2
5
1st instruction
2nd instruction
220 ممم امه5م323-04وممع 224
صفحه 220:
تعداد چرخه های متفاوت برای دستورالعمل های مثفاوت
TTT) لا
time
++
۰ تقسیم زمان خیلی بیشتری از جمع صرف می کند.
اعمال مميز شناور» زمان بیشتری نسبت به نوع صحیح آن مصرف می کند.
دسترسی به حافظه زمان بسیار بیشتری از دسترسی به ثباتها صرف می کند
224 \cneg323-04F TopicO.ppt 221
صفحه 221:
یک برنامه معین نیاز دارد به
تعدادی از دستورالعملها
تعتادی Selb gle ale hl
اتعدادی از ثانیه ها
ما یک لفك نامه برایی شوط این کمیت:ها داریم:
زمان چرخه ساعت (ثانیه در هر چرخه)
ترخ ساعت (نلیکل ذر Gait
021 (تعداد جرخة ها در هر دستورا عمل
یک برنامه ممیز شناور ممکن است دارای آ2) بالاتری باشد
24
222 ام هام۲9 922.00۴ وم
صفحه 222:
[زمان اچرای یک برنامه معین می تواند مانند زیر مجاسبه شود
له سأاعث| CPU J ty 0۱
از آنجا که زمان چرخه ساعت و نرخ ساعت عکس یکدیگرند
اع = PL CPU
> تعداد جرخه هاى CPU sels مى توائد مانت زير مخاسبه گردد
جاخه ها = ۲ ) > ۱ اعاتدلت, سا
ملها ]021
223 ام هام۲9 922.00۴ وم 24
صفحه 223:
CPO
چقدر طول می کشد تا یک برنامه دارای tt MHZ50 cote ey alls pal اكرايك #
دستورالعمل اجرا شود؟ آم) برای این برنامه 3.5 است. 0
استفاده از معادلة
لا یمان تعداد دستورالمل۳1) / ترح ساعت
تاطعيمانك 1000( 765010 3.5
اگر نرخ Seg CPU cel کامپیوتر از wh tulsa! MHZ 250 4, MHZ200 و بقیه
قاکتورها یکلسان باقی) بماننده آقزایش| سرمت کامپیوترا چقدر ست؟
قدیمی لا زما خدیق ساعت 250 MHz
سبح 1:25
MHZ 200 bel. ناخ قدیمل | | LCPU dos
تصور ساده انگارانه ما چه بود؟
24
ام هام۲9 922.00۴ وم 24
صفحه 224:
فاکتورهای موثر در
لرابى xs CRU
clock rate(CPI instr. count
Program
Compiler
Le
Organization
Technology
CPO toe = Orornds = ‘herwtw x Opts x Orvonds
۳
صفحه 225:
فاکتورهای موثر در
لبي 11 6ن
clock rate(CPI instr. count
Program
۳
#8 Compiler
* 5 Le
۴ Organization
Technology
= Geos = ‘kerio x Opes x Grovab
CPO toe
۳
صفحه 226:
crié | ,میانگینت-عداد چرخه ها در هر دستورا فملاست
گر برای هر نوع دستورالعمل , لازم است ما فرکانس ها و تعداد چرخه ها را برای اجرای
آن بدانیم , ما می توانیم ۳۱) را به صورت زير محاسبه کنیم:
۴ جع الب
برای مثال:
/
Op e 0۳0 ۵۵ xf
۹ _ب ۴ 0 TF
OO 6096 4 8 9990
bowd 60960 S 40 669
Grre 0007 9 © 1۹6
۳7 90۵ GC FF 06
2296 ee qo%
\cpea323-04F\Topico.pot
Doral
224
صفحه 227:
مسائل با میانگین حسابی
#نقاضاهایی که احتمال
ماشین که زمان بندی
A Machine B
یکسانی برای اجرا ندارند. 2 تا
شدن براى© آزمون كارايى:
Machine
graml 2 seconids(%20) 6 seconds
s(%80) 10 seconds
Pr
Program2 12 secon
میانگین زمان اجراع ©/(©+©0) -5ثانيه
ميانكين زمان اجرا-©/(©+00)-© ثانيه
ميانكين زمان اجرا
میانگین زمان اجرای وزنی:
228
ی وزنی۸-ثانیه 0.2*2-10 +8*12.
8عثانيهق8. 6-<8*6. 0 + 000* 00.6
12204 1۳۳۵0323100۴1۳0۵
صفحه 228:
توان عملیاتی:تعداد کارهایی هستند که در یک واجد زمانی کامل می شوند
کارآبی و زمان اجرا متقابل آند افزایش کارایی کاهش زمان اجرا را در پی دارد
ازمان اجرایی که به یک برنامه اختصاص داده می شود می تواند به صورت زير محاسبه شود
زمان 20۳0) 2 تعداد دستورالعمل ها 00۳1 * زمان هر چرخه
زمان - (26()۳0 تعداد دستور العمل ها * 0۳0()/آهنگ پالس تتاعت:
اين عوامل متا ثر است از تکنولو ژی کامپایلر ؛ معماری مجموعه نستور العمل ها ۰ سازمان دهی
ماشین ۰ و تکنولو ژی زیر بنايي .زمانی که کارایی افزایش می يابد دقت كنيد كه جه رخدادهايى
به طور متناوب اتفاق مي افتد <>نمونه متداول سریعی ساخته می شود.
به خاطر داشته باشيد: بخشهاى اشتراكى را سريعتر
24 \epe9323-04F\Topico ppt 229
صفحه 229:
آزمون های کارایی کامپیوتر
آزمون کارایی ؛ یک برنامه يا مجموعه ای از برنامه هایی است
که برای دستیابی کامپیوتر به کارایی استفاده می شود
#آزمون های کارایی به ما اجازه می دهند سنجش کارایی بر پایه
زمان های اجرایی را می دهد
آزمون های کارایی باید نمایش دهنده نوع درخواست های در
حال اجرا در یک کامپیوتر باشند
آزمون های کارایی نباید به عوامل دیگری در کامپیوتر وابسته
باشند » مثل موس » کیبورد » و...
#آزمون های کارایی مي توانند در گونه های پیچیده و
سودمندشان بسیار گوناگون باشند.
230 ام هام۲9 922.00۴ وم 24
صفحه 230:
۰ Uae
برای اجرا یا بنجش سخت است»
ای همانندسازی سخت است*
ان دهنده کره
سیستم حافظه قابل »
آندازه كيرئ نيدت
به اوج رسیدن"می تواند یک راه" ٠
طولانی از درخواست کارایی باشد
ود
\epe9323-04F TOpIcD pat
ذرخواست کامل آزمون های کارایی|
مثلآزمونهایک ارلیی] 5066(
آسان برای اجرا در اوایل»
طراحی) چراخه
قابلیت به اوج رسانیدن همانندی»
و پتانسیل گلوگاه ها
24
صفحه 231:
(System Performance Evaluation Cooperative)
موسسه. ارزیابیک ارلییسیستم
آزمون های کارایی ۳/262 5به شدت برای گزارش کارایی و کارایی ۳6به كار مى رود
اولین دوره 0۳۱189 5۳۲
شامل (10) برنامه روی اعداد 5109/6
##دومين دوره 6۳192 SPEC
2 0(5۲66 تا برنامه صحیح) و 6۴۳92 06(5۲66 تا برنامه
مميز شناور)
فلك cla كاميايلر مى توانند قرار بكيرند به طور متفاوت براى برنامه هاى متفاوت
“سومين دوره 0۳۱95 5۳0۴
قرار گیری جدید برنامه ها:95 6101۲ 5۳۴86( تا برنامه صحیح) و SPEC
5 058( 000 تا برنامه ممیز شناور)
۶ تنها فلگ کامپایلری که قرار می گیرد برای همه برنامه ها .
ام هام۲9 922.00۴ وم 24
صفحه 232:
GPEC CPOCOOO 252 Kx es
۰ قرار گیری جدید برنامه ها GPEC:
۵( تا برنامه صحیح) و 5)20:0)
06200060000 تا برنامه مميز شناور)
* تنها فلگ کامپایلری که قرار می گیرد برای همه برنامه ها .
* گزارشات مستند نسبت ارزیابی برای 5۳۴ هستند
۶ زمان لا) ماشین مورد a
زمان لا8) ماشين مرجع
ام هام۲9 922.00۴ وم 24
صفحه 233:
Noose +
۰ _ اندازه گیری کارایی ماشین های مجازی
PCO? ۶
4< اندازه گیری قوانین فایل سرویس دهند شبکه (06۴6))
>< همعد :
اندازه كيرى كارايى در خواست هاى شبكه كسترده جهانى
۳0۵۵0 ۶
اندازه گیری کارایی گسترده در خواست های صنعتی
80,060,0۵0 *
*< اندازه گیری کارایی درخواست های گرافیکی
< برای اطلاعات بیشتر درباره آزمون های کارابی 0۴680)
بم وی سیر ماولمر اجعه ES
234 ام هام۲9 922.00۴ وم 24
صفحه 234:
متال هایی از آزمون های کارایی
09
#نسبت های 90660نشان داده می شوند درپردازش
Prue Gas و (+ ۱ (Peutive
Pentium Pentium?
SPEFfp _ SPECfp
26 NA
30 51
38 68
Pentium
SPECint
NA
60
80
‘Pentium
SPECint
32
44
55
224
صفحه 235:
+ اندازه گیری کارایی کامپیوتر شامل 000065) و 6,)6۳69() می شود
۰ 0108 میلیونه دستورالعملدر هر شانیه
۵_-<(ز مانلجر *0۸000)/تسعداد دستوراسلعمله
_برای مثال یک برنامه که 0 میلیون دستورالعمل را در (ثانیه محاسبه می کند درجه
JOIPG 0.است
_مزایا:آسان است برای فهمیدن و اندازه گیری
:ممکن است کارایی واقعی را منتقل نکند در حالی که دستورالعمل های ساده تر را
بهتر اجرا می کند.
bo le DPLOPO © عملكر مميز شناور در هر ASL
00010006)_>(زمانلجرا*07000©)/عملكرهاومميز شناور
_برای مثال برنامه 9) که 6۴ ميليون دستورالعمل را در ©ثانيه محاسبه مى كند درجه
۵ ن ©.0)است -
_مزایا:آسان است برای فهمیدن و اندازه گیری
_معایب :مانند 169(تنها اندازه گیری های ممیز شناور
24 \epe9323-04F\Topico ppt 236
صفحه 236:
زمان اجرای قدیم کارایی جدید
میزان تسریع< Se
زمان اجرای جدید کارایی قدیم
3۳ - - . 8
224 \cneg323-04F TopicO.ppt 237
صفحه 237:
*#دستورالعمل های ممیز شناور برای 6 برابر شدن سرعت اجرا بهبود
داده شده اند .اما تنها 610کزمان برای این دستورالعمل های اصلی استفاده
می شود. ماشین جدید چقدر سریعتر است؟
ميزان تسريع
= - ميزان تسريع
98 ۵ +000
ماشین جدید (66().)سرعت دارد ,یا (966.6سریعتر است
اگر سرعت دستورالعمل های ممیز شناور WDD برابر سریعتر شود ماشین جدید
چقدر سریعتر می شود؟ F
0 ل oo
ranane QUA میزان >
صفحه 238:
#فرض کنید یک پردازشگر به طور جاری به (0ثانیه برای اجرا
ی یک برنامه نیاز دارد و کارایی یک پردازشگر هر سال
06 کبهبود می پابد,
#به وسیله چه عاملی کارایی پردازشگر در 2 سال بهبود پیدا مى
کند؟
@.GO=6\(40.8)
بعد از 0 سال یک پردازشگر همان برنامه را در چه زمانی اجرا
امی کند؟ انیه 52 ©©. 000/2-<95.) زمان اجرای جدید
چه فرضیاتی در مسئله بالا پدید می آیند؟
239 ام هام۲9 922.00۴ وم 24
صفحه 239:
ae ee Gil AMO Ad sa Sas دستورالسل های یکسانی دارند
ارت 26۵ ۳0 sa ot ارد.
|g a fg ADO Se)
مره 00 آخگپالساعت das OOM, سورد لها 00 انلجرای ‘oop
90 مج وه 06 تنگپلارساعت / 00۳100 تمداد ستورا اسلا 06 زمان لجراي
آهنگ پالس ساعت 0( چقدر باید باشد تا زمان اجرای یکسانی برای آنها داشته باشد؟
ام هام۲9 922.00۴ وم 24
صفحه 240:
0 عوانیکلبز ار تسحلیلگر برلعر لهمایطرلخی
x
= 2.7 cycles/instruction GS
5 بر 56 + 1 7 ۱۴ 2x15 + 2x7 $2
5 100
nom 3.61
\cpeg323-04F\Topicd.ppt
etruction
cycle:
صفحه 241:
دستورالعمل ٩۳)363):قانون آمدال
برنامه 9۵۵0 از زمانش را به کدهایی
اختصاص می دهد که نمی توانند دوباره
برای اجرا به صورت موازی کد شوند
میزان تسریع محاسبه می شود برای
۰۰ ,9 ,6 ,9 ,2 0
cpus) 2) 3 | 4 | 5 «
| میزان تسریع
7 00 3
صفحه 242:
دستور العمل ٩9630)<:قانون آمدال
برنامه 9660 از زمانش را به صورت سریال
2
میزان تسریع را برای
0
6۶ ۵0 + (PO%/M)
CPUs 2 | 3 4 5 06
3.3 2.3 2.1 1.85 | 4 أميزان تسريع
0[ نت مد
صفحه 243:
یک ژول آنرژی :یک جریان 4 آمپری است که از وسط یک مقارمت
اهمی عبور می کند و گرمایی معادل ژول تولید می کند
انرژی و کارایی
یک ژول < 0.24 کالری
یک کالری دمای یک گرم آب را یک درجه افزایش می دهد
یک مورد ناخواسته:کامپیوترها انر ژیالکتریکی را به گرما تبدیل
می کنند.. که به عنوان فراورده های جانبی محاسبه می شود
هوا پا آب می توانند مانع وب شدن چیپ در اثر انتقال حرارت شود
224 9
صفحه 244:
صفحه 245:
Temperature
(°C)
| |
80.1173
78.2277
76.338
74.4483
72.5587
70.669
68.7793
66.8897
24 \epe9323-04F\Topico ppt 286
صفحه 246:
اتصال انرژی :فیزیک های بنیادی
انتقال منطقی اتلاف انرژی
Models inouts to other
gates & wire capacitance
ae =
ales an id ft isT can
اغيج كتلس سين زا تکتولو زب wie limit
Gtate-vP-he-at CPOs (OO uv): switching
Ouwickies eaerqy is PO% oF total eaerepy. energy?
اس ,9000 و :جد دوت ۳
“leakage” currents 65nm: 50/50!
صفحه 247:
#آرمون های کارایی خوب از قبیل آزمون های
is HS GPEC RIS خاصی را برای
ارزیابی و مقایسه کارایی کامپیوتر تولید کند
۳)۵)(),()()بر لیاستفادم لسانهستند لما
برلینشاندادنک ارلیینا صحیح هستند.
#قانون آمدال یک روش موثر را برای توضیح میزان
تسریع وابسته به عامل انحراف ایجاد می کند.
به خاطر داشته باشید: بخشهای اشتراکی را سریعتر نمانید!
248 ام هام۲9 922.00۴ وم 24
صفحه 248:
نتیجه گیری
مشتری ها:قیمت را می سنجند
معمارها : طرح را می سنجند
Sk :ابزارآلات/<0و معادله کارایی
عاد قانون آمدال:محاسبه می کند
صفحه 249:
فصل پنجم
روشهای پیاده سازی
معمار: ی پرا دازشگر
صفحه 250:
بخشهای سازنده مسیر داده
© پیاده سازی یک مسیر داده ساده (تک چرخه ای)
اده سازی چند چرخه ای
224 \cneg323-04F TopicO.ppt 251
صفحه 251:
۶ رود پایه اجرای دستوزالعملها
* برخی قراردادها
مسیر داده 060 بیتی
استراتژی ساعت زنی(حساس به لبم)
* مابه زیر مجموعه ای از 10۳05/) تمرکز می کنیم:
دستورالعملهاى دستيابى به حافظه ريج ؛ hay
اصال عن لحم ,طح كي 01077
دستورات انشعاب در صورت تساوی(وا) و دستورات پرش ()
282 ام هام۲9 922.00۴ وم 24
صفحه 252:
یک تصویر بزرگ:ما الان کجا هستیم؟
تکنولوژی طراحی مجموعه دستورالعمل ها
224 ۳ 253
صفحه 253:
یک شمای اصلی:چشم انداز کاربایی
# کارایی یک ماشین تعبین می شود به وسیله: or
* تعداد دستور العمل هاییون .) )
#زمان هر چرخه (Opel Troe)
“est. (Ochre Oppel Meet
# چرخه های هر دستور العمل(660)
@ طراحی پردازشگر (مسیر داده و کنترل) تعیین خواهد شد:
#زمان هرچرخه
# چرخه های هر دستورالعمل
@ پردازشگر تک چرخه ای _یک کلاک دارد برای هر دستورالعمل
* مزایا:طراحی ساده و 00۳/0 کم.
* معایب:زمان چرخه طولانی است و این باعث می شود که به وسیله کندترین
دستور العمل محدود شود
7 2۳۳ 7
صفحه 254:
تجزیه وتحلیل مجموعه دستور العمل->پیش نیاز های مسر داده
* مفهوم هر دستور العملداده میشودبا انتقال دادن ثبات ها
۳ + [۳-> [۳:
* مسير داده بايد شامل محیط ذخیره سازی برای تبات های 1060/ شود
* مسیر داده باید انتقال دادن هر ثبات را پشتیبانی کند
انتخاب كردن مجموعه ای از بخشهایی از مسیر داده و بنیاد نهادن روشهای ساعت زنی
#طراجی مسیر داده با در نظر گرفتن پیش نیاز ها
اه هه سم بط خن مار ort
hee ere ان وا من او
ی
#طراحی کنترل منطقی
255 ام هام۲9 922.00۴ وم 24
صفحه 255:
یادآوری:قالب های دستور العمل های
4
> بیت است. (ا قالب دستورالعمل هستند.
#اهمه دستور العمل های 0(/109)طولشان 0
31 26 21 16 11 6. =
op Ts, rt rd__| shamt {Finct
عانط6 Sbits Shits Shits Sbits 6 bits
31___26 21 16 5
مه TS. rt immediate 77
6bits 5 bits 5 bits 16 bits
1 | [26 سب
‘op target address
6 bits 26 bits
دارای فیلدهای متفاوتی هه
* 0005 عملكرد لق
۳ 5)منبع. ومقصد مخصوص: شباتطظ
lated + داز شلییفت
" وس" :لنتخابكربن عملياتمتفاوشدر فيلد 0ه"
۴ صوسووو: | ولو لفستادر سیا مقدار فوری
وین امس آدرسهفدستور ااعملپبرش
24 \cpe9323-04F\Topico.pot 256
صفحه 256:
(RTM)
#,۲۱۷شهوم دستوراساعملرا میدهد
4همه دستورالعمل ها با واکشی دسئورالعمل آغاز می شوند
op | rs | rt | rd | shamt | funct = MEMI PC ]
= MEM[ PC]
Register Transfers
Rird] <- Rirs] + Rit]; PC <-PC +4
Rird] <- Rirs] - Rirt]; PC <-PC +4
R{rt] <- R[rs] + zero_ext(imm16);
PC <-PC+4
R{[rt] <- MEM[ Rirs] + sign_ext(imm16)]; PC <-
MEM[ RIrs] +.sign,ext(imm16) ] <- Rirt]; 90 >-
op | rs| rt | Imm16
inst_
addu
subu
ori
load
۳0+ 4
وید
1 4 م16
صفحه 257:
مرحله ):تعیین پیش نیاز های مجموعه دستور العمل
#حافظه
* دستورالعمل و داده ها
#ثبات ها (32 32 )
#خواندن ۲5
#خواندن ۲۲
" نوشتن ایا۲۵
60# شماونده برنامه
#كسترش دهنده(كسترش علامت يا كسترش صفر)
#جمع و تفريق يا مقدار فورى كسترده شده
Add 4 or shifted extended immediate 0 50#
258 ممم امه5م323-04وممع 224
صفحه 258:
مرحله Oo اجزاء مسیر داده
#وا
158 ماه
>Result
ومنطق 3
B 33°
مهد 3 "coeg323-04F Topico ppt 259
صفحه 259:
نیاز های ثبات انتقال -> طراحی مسیر داده
#واکشی دستورالعمل
#کدبر داری دستور العمل ها و خواندن عملوندها
#محاسبه کردن عمل
#بازنویسی نتیجه
260 ممم امه5م323-04وممع 224
صفحه 260:
آلف (- متتمه وآهد وإأكشى سور العمل
#عملیات متداول 971
* واکشی دستورالعمل: [۳۸6۳۱]۴۵
* جدید کردن شمارنده برنامه:
* کد پشت سرهم:: 4 + ۴6 -> ۴6
* انشعاب و پرش: 56اه "PC <- “something
224
صفحه 261:
rd, re, AB: Rfrd] >- Rfre] op Rl} له
able Ruvs Ru, Rb ™ )5 فسيلدهائدستور ا هملهاى ب بور و لم
ood ReyDr * م()را0)زبسعد از کد ببرداریدستورا اهملک نترلمتطقیمیکستند
0 6 11 16 21 6[ 31
Ts rt rd_ | shamt | funct مه
6bits Shits Sbits Sbits Shits — 6 bits
12/28/24 | لا epg -0apvropico.pat | ل 262
صفحه 262:
immediate
bits 16 ار
mediate 0 0 0 0 0 0 0 0 0 0 0 00 00
16 bits
16
5 bits
161,
rt
(asi | ella hah
٩ [ <- Ris] op گسترشصفر[1۳۱۳016
21
rs
5 bits
16 bits
31 26
جر
bits 6
31
[Ra [Rt
مثلل ۱۳۳۸16 ,۲5 ,۲۲ 0۲1
RegDst_\" ux /
Rs
Rw Ra Rb
32 32-bit
Registers
مدید
صفحه 263:
dae: Oa
كستر 9۹6 ا + 5] [ >- Mem[RIrs]
26 21 16
rs rt immediate
16 bits
ALUct
3
0
۳ ‘Ade
te tl Data ۳
pedantry ۱
Daten
‘Chk ی
\epe9323-04F\Topico ppt 264
6bits Shits 5 bits
r
busA. { Ws ae
۳
ef
3
a4
cr
5
Ss
fopuarg
Iw rt, rs, imm16Jio
31
Rd {Rt
٩ اطع
RegWrs5} 5) َو
Rw Ra Rb|
_.| 32 32-bit
32 Registers
immi6— + —.|
16
24
صفحه 264:
]Mem
ث9:عمل ذخیره
۳ Age
ALUSre
\epea323-04P\Topieb pat
sw rt, rs, imm16Jlio [ R[rt] -: Pee oer t R[rs] ]
31 6 21
op rs rt immediate
6bits Shits 5 bits 16 bits
Ra. [BE ALUct Mere W Src
۱۳ كروك زم |
۱
a Ry Ba Rb |
= 32 32-bit 32
32 Registers |
busB بر 1
>| بر
3
224
صفحه 265:
ج0:دستورالعمل انشعاب
31 26 21 16 0
op. TS rt immediate
6bits 5bits 5 bits 16 bits
rs, 1, or Ober
BAUS ولکتیستورالسملاز we[PO]
[۳]) <- [صس]() -> امب)محاسبه شرط لنشعاب
(0 و2 ((206)) <#محاسبه آدرسدستور ا لعملبعدی
(xP (eA Ode fyi S$) + 0 > 0+
be
(PO + 2 ب> ۳۳720۳۲۵۵
224
صفحه 266:
6 ,1 ,15 | 960لیجاد کردنمسیر ادا
16 21
rt immediate ۹
bits 5 bits 16 bits 5
Inst Address Cond
1 1
"sel Reaves} ac
busA ۱ 32
a. حر ا pusw | B® Ra Rb
ues S| 32 32-bit 32 | 8
Registers |. 3 4
1 كل Clk
مسیر داده برای عمل انشعاب
Clk
\cpea323-04F\Topico.pot
31) 26
oP.
6 bits
تس ۵ رصح ۳
Golutite jos ه
2294
صفحه 267:
قرار دادن همه اینها باهم :یک مسیر داده تک چرخه ای
~Instruction<31:0>
+
imm16]
xa al
cng 5 ۳۷۲۵۵ 1
۴۲ سر 8 | 32 Data لح
cx [Memory
224
\epe9323-04F\Topico ppt”
صفحه 268:
مفهوم سیکنال های کنترلي
Rs, Rt, Rd العمل در لینمسیر داده سیم بندیشده اند
O => PC <-PC + 4; 1 => PC <-PC + 4 + SignExt(Im16) || fodnec lsat:
Inst
Memory
Adr.
\cpea323-04F\Topico.pot
imm16
224
صفحه 269:
مفهوم سیگنال های کنترلی
نوشتندر حافظه 0۵و5۱ ,۲۹2۵۲۵۲
add”, “sub”, OrALUctrs¢ o .
© Rec(Dr:
۷
۱ عع رم Equal
7 سل
عه رمع
سان دلااط0ع0اممأ <- 1 :قوع <- 0
5 لان
224
صفحه 270:
واحد واکشی دستورالعمل در ابتدای جمع
یی | واکشی دستورالعمل از حافظه
instruction <"Jaaloias | yemory | ——tstrction<31:>
اس انجام دادن برای همه دستورالعمل ها
<>به بیتهای خاصی نیاز نيست
224
16
a Od
fcp20323-04F\Topico.pot
صفحه 271:
مسیر داده تک چرخه
0 6
R[rd]_<- R[rs] oP, Rirt]
nstruction<31
4 Ua
ما 5
vv ١
80 6ص
JlemtoRe
0
shamt funct
11
ی در طوا
اج
op Ts rt rd
instruction
C_sel:
Rw Ra Rb
32 32-bit
Registers
24 \epe9323-04F\Topico ppt
صفحه 272:
واحد واکشی دستورالعمل در انتهای جمع
۳-4
Inst
<31:0 م5 ]| Memory "اين براى همه
Aat دستورالعمل ها
یکسان است به جز
4 - 001 ۰ انشعاب و پرش
imm16
ممم امه5م323-04وممع 224
صفحه 273:
مسیر داده تک چرخه ای در طول بارکردن
0 16 21 26 31
op TS rt immediate
R[rt]_<- Data Memory {R[rs] + SignExt[imm16]}
nstruction<31:0>
N
[Rd ذا 9
RegDst < 0 & 95
= 2 0 2 ۲
‘ Rt Rs Rd Imm16
RegWr= 15 lemtoRet
MemWr 2 0۳۳۳|
Rw Ra Rb
32 32-bit
Registers
busW
~[LI Data Ing3
imm16— 9] [32
Clk
ALUSre
zane \epeg323-04F Topico ppt 275
صفحه 274:
مسير داده تک چرخه ای در طول عمل ذخیره سازی
16 21
0
fate JA
31:0>
rEn Adr
immedi
instruction <
52 Data
clk __|Memory
rs. rt
Data In
9
26
31
op.
R[rt] -> {Rirs] + SignExt[imm16]} ools #حافظه
32 32-bit
Registers
27
صفحه 275:
مسبر داده تک چرخه ای در طول عمل انشعاب
31_26 21 16 0
op Ts. rt immediate
0) then Zero <- 1; else Zero -
instruction<31:0>
if (R[rs] - R{rt]
>7
>91
>11
[Ra Rt هط
SSS a7 7
ReqWr = Rs Rt ALUctr Rt
3 به 5 ۲و
0
busW
32
Clk
gM) we ly
Rs Rd Immi6
MemtoReq
lemWr=0 |
32 32-bit 32
Registers
Data Ing
imm1 | 32
| Clk
Data
ALUSre
27 1۳0070 TopICO pat 27
صفحه 276:
واحد واکشی دستورالعمل در انتهای انشعاب
immediate
(Zero == 1
rt
21
rs.
» 4*[imm16
26
op
31
ee book for what the datapath and
o
:|| لسع
وت توس
ontrol looks like for jump instructions.
ompared to book our processor als
upports the ORI instructions.
224
صفحه 277:
مرحله 4:مسير داده داده شده ٩۲1:
Instruction<31:0> >CONTROL
SE IE Is
ها تن | |e
۷ oy
i Rt__Rs Rd Imm16
Control |
Reg WRighsbler |ALUSe jemi + gual
! | |
DATA PATH
\cpea323-04F\Topico.pot
inst
Memory mea
yoy
Adr
224
صفحه 278:
ALU operation
|—Zero
LU-—Result
[Overflow
CarryOut
لین نمادی لست که به طور معمول برای نملیش یک لام مورد استفاده قرار ی گيرد. اين نماد
همچنین براي نمایش یک جمع کننده نیز استفاده می شود. بنابرلین بوسیله یکی از دو نماد
ALU با ۸006۲ برچسب گذاری آمي شود. خطوط کنترلی تارای برچسب
JSS 0 ALU Joc 5 ysl Jade od 2 ALUOperation بعد معرفی می شوند.
24 \cpea323-04F\Topico.ppt 280
صفحه 279:
ALU Control lines Function
000 And
001 Or
010 Add
110 Subtract
111 Set-on-less-than
ALU به همراه عمل متناظر ALU Jus bs ay polis
224 \cneg323-04F TopicO.ppt 28
صفحه 280:
امامت 0 | ۳2 ها لدتساو 29
toput مه ۵ | عاك عماامسة | «داعصوة__ | 24009 | سسوم
Lo GD load werd مد add 17
0 سس هه werd لو وید ao
Gear equal | اله |brauck equal مد |rubtract ههه
[Rave ۵ Jade ها و هه
eee dO عصضد] cand — feibtrace 10
eee هه jenn هه aod amp
eve هه jor camat or cut
eave امس 101018 ل لا aaa
این جدول چگونگی تنظیم بیتهای کنترلی ۸1.2 وابسته به بيتهاى كنترلى 81-1707 و كدهاى
تابعی متفاوت برای دستورات نوع ثباتی را نشان می دهد.
8 کسه در اولین رتور سیستش ده لستوضیتیتهای00 ALU | سین كسس تسمام کد گسناییها
به صورت و اده می شوند. توجه کنید زمانی که کد ۸۲:170۳ برابر 00 یا 01 باشد. فیلد های
بی تمایش
خروجی یه فیلد کدهاي تابمی وابسته نيست. در این مورد. گفته می شود که مقدار کب
"بدون توجه" (0876 010۳) می باشد و فیلد کد تایعی به صورت 15060670 نمایش داده می شود. زمانی
که مقدار ۸۵1.10۲ برار 10 باشد؛ کد.تابي برای تنظیم ورودی کنترل .۸1 به کار می رود
224 \cneg323-04F Topicd.ppt 202
صفحه 281:
دستور العملهای که از لاا۸۵ استفاده می کنند
6 محاسبه آدرس- جمع.
8:Branch eq &
جمع / تفرب
and/or R-type: ۲
set-on-less-than
نیاز به کدهای تابعی
283 ممم امه5م323-04وممع 224
صفحه 282:
بسیاری از ورودیهای اضافه شده “,
طراحی کنترل ۸1.17
0۷/۰
ایور
HO)
100
ao,
100
aD,
a
aac
جدول درستی برای سه بیت کنترلی .۸1 به عنوان ALUOp} ul
و فیلد کد تابعی
18> أه أه أواداهة
alelele|el =| lal
:
H
x
3
2
oO
1
a
oO
3
3
5
0
©
0
1
او/<]*<]< <<
2
5
04F Topico.ppt
© أ- أ أ أ أب أعد امد
20
oO
a
3
|<] x] x
600
3۹1
©
1
1
1
1
1
توجه"(08۳6 /0۳) هستند. به عنوان مثال.
0 از كد كذارى 11 استفاده ای نمی کند. بنابراین جدول درستی می تواند ترجیحاً شامل
یهای 1 و 1 به جای 10 و 01 باشد.
24
صفحه 283:
Operation
Operation
بلاک کنترلی ALU 5 cee ts ALU را میتی بر کد تابعی و بیتهای
۸۲,۲70 تولید می کند.
285 ممم امه5م323-04وممع 224
صفحه 284:
چهره قالب دستورالعملهای O1PG
تست
10-6
sham
10-6
address
address
0 rf rf rd
31-26 25-21 20-16 15-141
a. R-type instruction
3h or 43 rf rfl
31-26 2521 ۰ 6
b. Load or store instruction
4 14 rt
31-26 25-21 20-16
3 branch instruction
\cpeg323-04F Topico bot
Field
funct
Bit positions
Field
Bit positions
Field
Bit positions
مد
صفحه 285:
* فیلد 00 .همچنین معروفبه ۰000006 هميشه در بیتهای 26 تا 31 قرار می گیرد. مابه لين فیلد به صورت
[00]5-0 اشاره می كنيم.
و رمیستر خواند هملیشهابا فللدهای PS وا تا در لوقعیك 25/621 و16 تا 20 ماشخلی- ی شوندبا این مطلب.
براى دستورات تباتی. انشعاب در ضورت تساوی و ذخیره سازی صدق می کند.
*_ثبات پایه برای دستورات 1080و 50016 همیشه در موفعییتهای بیتی 21 نا 25 (۳5) قرار دارد.
* 16 بیت افست برای دستورات اتشعاب در صورت تساوی. 1080 و 51076 هميشه در موقعیتهای 0 تا 15 قرار
* بات مقصد دز یکی از این دو مکان است. برای دستورات 1020 در بیتهای موقعیت 16 تا ۳1[20) و در حألی که
پرای یک دستورالعمل ثبلنی در موقعیتهای بیتی 11 تا ۳8(15) است. بنابراین مابه افزودن یک مالتی پلکسر برای
انتخاب اينکه کدام| فیلد دستورالعمل به شماره رجلیستر نوشتن اشاره می کندا
207 ام هام۲9 922.00۴ وم 24
صفحه 286:
لد انم
A ops Et
0
اس
مس
Miter! — eae
Be Hepa. 6
ty 9
55-552
مسير أذاذهءية هفراه تمامئ مالتى يلكسرها و تمامی خطوط کنترلی
شناخته شده
ممم امه5م323-04وممع
224
صفحه 287:
طراحی واحد کنترل برای اجرای دستورالعمل
24 \epe9323-04F\Topico ppt 289
صفحه 288:
] وم بو وال ی بط و سا ساوسی مومس تا pe
fee dat mrt Se Se
عات امات لسيله باح لس توس سا
ارو اه تسج سای بو وتارس دا مسا |
ها سلوب مسد جوت سحاد جا هجو بو |
1
[ihe وا احا ددا اجه سا ۳ rewire
121111
ی سا اوه register سار( سب ا
aie ae feu اجه سا سا اب
1
| سا ماس broach tart
| بط value Red io the reginter ante date tap وه
موس وتا سار سس
عمل هر کدام از هفت سیگال کتترلی
ورودی متناظر با پایه ) را انتخاب مى كند. در غير اينصورت در صورتى كه بيا
. زمانیکه بیت کنترل (0) به سمت مالتی پلکسر
lear
leo
Vike گوس لا قوس noms
ows the سامت الس اساي سس
[Ihe renter sdestition wureber orth
One mecpoter ers Rarer the ot Bek
[Oro
Vk 6017 replaced by the ouipul oP
ker That exeoptes ther vale oPOPO +
[Ihe value Red to the ول یوس
lop ween Frew thee OLD
[econ
rene
0۳
|
هيما
مم
ممما
ابت شود مالتى بلكسر
کنترل آزاد نگردد (0) باشد),
مالتی پلکسر ورودی مربوط به پایه () را انتخاب می کند. به خاطر بسپارید که همه عناصر حالت دارای یک
ورودی ساعت به عنوان یک ورودی ضملی می باشد و ساعت به عنوان کنترل کننده نوشتن ها به کار می رود.
290 مم0 ۱[
224
صفحه 289:
ALUOp1
ALUOp0
224 \cneg323-04F TopicO.ppt 201
صفحه 290:
|ALUctr,
292
ALU
‘Control
(Local)
\cneg323-04F TopicO.ppt
Main
‘Control
مه
224
صفحه 291:
sw وم
۹ ©
۵ | ۵ | ه | هو ۳
© ۰ | ۵ | ه 0
6 0 | | ه ۳9
lava o |} a 3 ©
ao ofa a ©
Reve 0 ۳ ۳
6 o} a ٩ ©
ی o | 4a x x
eg rte a a ]زه ©
0 [Dew ead of} a ©] ©
0۵ 0ه ]اه ©
4 ]| ه© | ه | ه Poort
© | ۵ | ه 0 اساسا
| 0 | | 8 ار
عملکرد کنترل برای پیاده سازی تک چرخه ای ساده کاملاً به وسیله جدول درستی تعیین می شود. نیمه بالای
جدول ترکیب سیگنالهای ورودی که مرتبط با 6۳ کد عملیاتی (سلمسسسره) می باشد و تعیین کننده وضع
خروجی کنترل هستند را به دست می دهد. (به خاطر داشته باشید که (-0)م) مرتبط با بیتهای 66
تا 00 دستورالعمل است» که فیلد کد عمل(عبسرم) می باشند.) بخش پایین جدول خروجیها را به دست
می دهد
12/28)2: \cneg323-04F TopicO.ppt 293
صفحه 292:
” 1۹ ۳
جدول درستی Sly نوشتن ببانی
op[ 000000 00 110110 001110 10100 01000 1
R-type | ori | وفط |_سه | مد [jump]
RegWrite. 1 1 1 0 0 0
RegWrite = R-type + ori + |lw
op<5> & lop<4> & lop<3> & lop<2> & lop<1> & lop<0> (R-!
type)
op<5> & lop<4> & op<3> & op<2> & lop<1> & op<0>! +
(ori)
+ <0>م0 ع <:5 60952 98522 بع ۱9935 ما و كوم OP<57p
p<0> (Iw) >0< >0< >0< >0< >0<
sw] 1
beq| jump!
204 ممم امه5م323-04وممع 224
صفحه 293:
۸روشهایک نترلاصلی
op<5> . حوعوه حوکوه حقکوه <5>مه حقکمه
<5:
۳ <o> <o> <o> <o> 6
R-type, sw] beq|__jump]|
سد
9 L— RegDst
MemtoReg_
MemWrite
Branch |
Jump
ALUop<0>_
ALUop<1>_
295 ممم امه5م323-04وممع 224
صفحه 294:
صفحه 295:
2
پیاده سازی یک دستورالعمل چند چرخه ای
24 \epe9323-04F\Topico ppt 297
صفحه 296:
توضیحاتی از پیاده سازی تک چرخه ای
* دستورالعملهای ماشین ممکن است دارای طولهای متفاوت مسیر بحرانی باشند
ستو العمل Load
- دستورات مميز شتاور
روشهای آدرس دهی متفاوت
زمان چرخه ساعت پوسیله پدترین مسیر بحرانی معین می شود.
۴ تکتیرا1اط عمکل اسست هریت ثار باشذ
298 ام هام۲9 922.00۴ وم 24
صفحه 297:
مساق سل
تسه 1 [ ۳۵
Reg Pe Lo CLO Tod ven]
ia
۵ [ آ سوه Qute Ll OO Lona [oJ
Core a =
تیه 1 ] و۳
Lx] OO | Osa dew اب
rsa
CO [et Dery
Rey Pie [| cow [1
#طولاتی بودن زمان چرخه
مه دستورالقمل ها به انلدازه کتدترین دلستور زمان سس برید
Real memory is not so nice as our idealized memory
cannot always get the job done in one (short) cycle ®
299 ممم امه5م323-04وممع 224
صفحه 298:
کاهش زمان
Cut 3 dependency. graph and insert register / latch®
#درست همان کار رادر 0 چرخه سریع نسبت به آن که ) چرخه کند بود: آنجام میدهد
slong Pewee
۱۵۱
سوه)
9
bowie boxe (0)
al سس لالم کح - yt
|
224 \epe9323-04F\Topico ppt 300
صفحه 299:
Rest Gore
محدودیت های بنیادی زمان چرخه
ام هام۲9 922.00۴ وم
224
صفحه 300:
تقسیم بندی CPI=1
+ #اضافه کردن ثباته ال #لشکترین مرحله ها
Core لح
امکان انجام دستورالعمل در چند چرخه
\cpe9323-04F\Topico.pot
lesteurtion:
224
صفحه 301:
مثال مسبر داده چند چرخه ای
ماما
Pet
224
ممم امه5م323-04وممع
صفحه 302:
* یک واحد حافظه یکسان برای دستورات و داده ها استفاده می شود.
* يك ثبات دستورالعمل به کار می رود.1۳)
sol, ALU یک *
304 ممم امه5م323-04وممع 224
صفحه 303:
۳-6 دستورالعملهای(, 200
inst LogicAl Registege-ir, fers
ADDU mah Res] Oe eed =PC# 4
inst Physical Register Transfers
IR <= MEM[p¢l
ADDU <- Ris]; B <-
5 >-۸ + 8
IRIrd] <- S; PC <- PC +4
Rey
224 \epe9323-04F\Topico ppt 305
صفحه 304:
۳5
دستور العمل هاى قورى منطقی
inst. Logical Register Transfers
ADDU R{[rt] <- R[rs] OR sx(Im16); =
inst. Physical Register Transfers
IR <- MEM[pc]
ADDU A<-Rirsl;
۹
224
\epe9323-04F\Topico ppt 306
صفحه 305:
طن وطن یور دستورالعمل
Or So EW Rit > اعد + sxcim16); |,
PC <-PC +4
|!
3
-{ [eal
|S <-A+SignEx(m16)__
inst.
LW
IM <- MEMIS]
IRIrd] <- M;
224
\epe9323-04F\Topico ppt
صفحه 306:
بیس «إستور العمل ذخيره
MEM{(RIrs] + sx(Im16) <- Rirt]; |, تردن
PC <- PC +4
inst Gi pe
IR <- MEM[pc]
sw
IMEM[S] <-B PC <-PC +4
224 \epe9323-04F\Topico ppt 308
صفحه 307:
دستور العمل انشعاب
BEQ _ if R[rs] == Rirt]
then PC <= PC + sx(Im16) ||/00
else PC <= PC +4
inst SS
IR-<-MEM[pc]
A<- Rirs]; B
Eq =A-B
BEQ&Hq PO <= PC # sxUmi6) || 00
ا
۳۹۳
5
Rey
+]
224
\epe9323-04F\Topico ppt
صفحه 308:
و چند چرخه ای
یک واحد حافظه تنها برای هر دو دستورالعمل و داده ها استفاده می شود
24 \eneg223-04F Topico.pot 310
صفحه 309:
مسیر داده چند چرخه ای به همراه نمایش خطوط کنترلی
224
صفحه 310:
]::۳ 1
؟
| oe med sate pulp
[Decoony eocteats ot the cate adress
| یات by value oo waite data fap
[The Biot GD opersodt spears Rarer the
| سای سس by the re Rel
[The resister deotioation aueber Rorihe
|2۳ موی سا row the rd Ree
[The renter gives by Drie renter arabe
fe warn uit thee value oe the wnt at tp
سب ادم سلا Recto the reginter tate date fap
| ساسا سس Dats wry.
[The پم othe GUO used to surely
bine adds ther wren wa
[The lum ی و wot Fe uaiies Fe
| )اس مدای
سدس معان 070501
۳
۳
1 > he TO
[The register destioation water Berth
| وا سس سس امه و۳ tel
عم
[The valu Ped io the reainieruanie data apa
سا سس سما 0١
Pike FO
عم
we he مساقت سج تروصت ذا لصوي
Quo wwe
رس
سح
OND
eae
تن
Dewan
۳
Dae
عمل سیگنالهای کنترلی|1 بیتی مشخص می باشد.
اعمال سیگنالهای کنترلی
pet
\ene9323-04F\Topiet
224
صفحه 311:
Geo
Vike seovad opto the GO cowes Row tke reaister aura by the w Rela,
Vike اههد aputte tke G/Ois the coustau &
[The seopad laputto the G/Ois the sigo~exipuded lower أ مانا عطاك
[The senvad lopulto the GLOis the siy-eatpuded vod shifted lower ۱۳۱۲ ساناه
[ihe Ch Operonns oa wid operation
Mike (LO pervs wa subtract operative.
[ike Rivction vode Reld oP tke 1ostructiou معا tke GO operation
۹۹3
0
1
Ww
a
0
4
1۳
Agee سوه
|
ممما
عمل سيكنالهاى كنترلى 2 بيتى مشخص مى باشد.
اعمال سيكنالهاى كنترلى
04F Topico.ppt 313
صفحه 312:
١ * ما نياز به يك ثبات موقتى داريم زمانيكه:
1 | يق شيكتال ادر يق چراخه محاسبه و دریک خرحه دایگر استفاده میل شود و
2 ورودیهای بلاکهای کاري (10016ظ [0:00۵تا که این سیگنال را تولید می
کتتدزمی توالت قبل ار ایتکه این سيكثال قر غتاطر الط ذخيرة قود تغييز کلتد.
1 . مابه 1۳ نیاز داریم
atu tit |}
3 ثباتهای ۸و 8 به ورودیهای ت۸۵
24 ام هام۲9 922.00۴ وم au
صفحه 313:
مراحل پایه محاسبه دستورالعمل
۰ مرحلهنواکشی دستورالعمل
[۳0] برس 18
=PO +@ PO
step. 100/کد برداری و واکشی عملوندها
28 نبا(106)66-0]:
0عتبات[(1)60-0]:
عسسه/0 + (علمتگ سترشی افته [ 0 >>(10)6-0]ز
یادداشت:ما می خواهیم عملیات را"خوشییننه"نجام دهیم. سر
ware powe to dl, or ot least do a hurt coy
315 ام هام۲9 922.00۴ وم 24
صفحه 314:
(cont’d)
مراحل پایه محاسبه دستورالعمل
ex 3 محاسبه . محاسبه آدرس حافظه » یا تکمیل انشعاب
نمونه:
:ارجاع به حافظه
خروجی [(19-0) ۲1۵ ممص ميد + © راز
BLO cola دستورالعمل
:) vp O ees APLO
انشعاب:
“AP (® ==@) PO= Pare
316 ممم امه5م323-04وممع 224
صفحه 315:
(cont’d)
مراحل پایه محاسبه دستورالعمل
0604()دسترسی به حافظه یا تکمیل دستور العمل ۳۷۳۵۵۶ 4۲
نمونه:
ارجاع به حافظه:
[انحنج (انا(ا] تدصت - :200000
Deere {CLO rapi] = Bor
دستورالعمل های (),ل0):
ماه = Reg[R(G-A0)]
SEAL OOS:
Req{1R(CO-LO)] =DOR
317 ام هام۲9 922.00۴ وم 24
صفحه 316:
0<ابعدئتعيينمىشود به وسيلهز
*_زمانی که ۳0)برای واکشی دستورالعمل ترتیبی یک واحد لفزوده شده
خروجی(را0کیک منبع است.
۰ - ثبات هدف ۰ منبع است زمانی که دسئور العمل داده شده یک انشعاب شرطی
باشد ما همچنین به یک سیگنال برای نوشتن در بات نیاز خواهیم داشت که
به آنس۳() اسب كفته مى شود.
Ol LS POC rue بیتی ی رلوی الا
24 ام هام۲9 922.00۴ وم a8
صفحه 317:
مامت بوسحم سن وا
| ماهس ۳۳
1060ب - 17
+ وه
OF Reyne [TREAD]
02 سس EDI)
+ وی (HIE) <<)
۳
[mwas]
7سا م لو
Pore =
> سوس نه سه
عد سوسس + Reg [T(GDIQ]
ation Por Myre
tavirvotiony,
Doan = Oo O
۳
و
Gey موده
۳ etek
ندمل واس سا
|
Gnetuitop, whhreoe eviorutaliog,
مزاع اجام ۳
7[
سسا
۳3
خلاصه ای از مراحلی که برای اجرای هر نوع دستورالعمل انجام می شود.
تعداد مراحل اجرای دستورالعمل ها 3 تا 5 مرحله است دو مرحله اول مستقل از نوع دستورالسمل
هستند بعد از این مراحل ۰ یک دستورالعمل از ) تا حداکثر 0 چرخه برای تکمیل شدن
زمان می برد که اين وابسته به نوع دستورالعمل است
319 ام ۵ م۳۲
a
122824
صفحه 318:
23۳ whew deusseried Gfect whew usseried
۳ |۲2 ۲۵ لعاموه باس نوتس by د60
۳ [The @Ots اوه ماه ۳۰ ما بو موه سصا ع۲ز۳:وعااس
۳3 [The ovipu oPike (DO ir uritien iio the reqister Tore
Size prea jt ott Uae
عمل ناثبی از تنظیم هریک از سیگنال های کنترلی
تسیکنال ها کنترلی 1 بیتی
Qqaal cower ۹۹۳3 Girt
۳ 2
0 a [The oouteuls oPihe reuister Turyet am seal مر وا 00
10 1
[ih (C5) aad shifted lel ue bits) te swat to the GO Por wnt.
کنترل كردن © (إبعدى
\cneg323-04F\Topic0.ppt
Guu ده
[POD ne
[FOO nieOoed
|
صفحه 319:
صفحه 320:
روشهای طراحی کنترل برای اجرای
دستورات چند چرخه ای
* مبنا قرار دادن ماشین با حالات محدود
۰ مبنا قرار دادن Dicrvprogranceg
322 ممم امه5م323-04وممع 224
صفحه 321:
y
rants (coir exxiboke)
323
Dent Grote
boxe
y
عون اون
yy
اه سا و Opec weet of pupal
fet بو لس ol وه جوا
dePoud وا سس
کنترل کردن تسهیم کننده ها هميشه صراحتا مشخصر
شده است
تابع حالت بعدی
ام هام۲9 922.00۴ وم 24
صفحه 322:
Stan
Instruction tetchidecode and register fetch
(Figure 5.32)
Memory access | | R-type instrucsions | | Branch instruction | | Jump instruction
] یمیت (Figure موه (Figure 5.25) (Figure 5.36)
|
(FSM) obser ove Gath jes hail pew as
24 \ep2g323-04F Topico ppt 324
صفحه 323:
یه 2
a ما
me
«سصم)__ ١ ها
ume نت موی om
AALUOp = 09
jroerence FSM Reape FSM ‘Branch FSM sumo FSM
سوم (Figure 534) (Figure 535) Faure 5:36)
۲. 1... |
متو العمل واکشن- و کدبرداری- قسمات پکسانی پرای) همه دستورالعمل ها هستدد(شکل- 5.37 -جدید 532
24 \epe9323-04F\Topico ppt 325
صفحه 324:
Execution
Reype completion
Regbst = 4
Regiite
Memtoreg = 0
To state 0
(Figure 5.37)
New, 5,32:
دستورالعمل های 3706 آآمی توانند با یک 2 91۷ "آمرحله ای ساده پیاده سازی شوند
224 \cneg323-04F TopicO.ppt
صفحه 325:
1 بسرلیکستترلکسرمنمستوراسانملهاو|رجاع بسه جافظه 4 مرحله دارد(شکل 5-38 -جدید 5.33
327 ام هام۲9 922.00۴ وم 24
صفحه 326:
From state 1
(Oo = 'BEQ’)
Branch completion
ALUSreB = 00
ALUOp = O4
PCWriteCond
PCSource = 01,
To state 0
(Figure 5.37)
New,5,32
دستورالعمل انشعاب فقط به یک ماشین تک مرحله ای
)5.35 دارد(شکل 5.40 جدید
224 \cneg323-04F TopicO.ppt 328
صفحه 327:
From state 1
(Op = زد
Jump completion
To state 0
(Figure 5.37)
New,5;32,
The jump instruction requires a single state
that asserts
two control signals to write the PC with the
lower 26 bits
veegf the instruction-register-shifted left two bits?
صفحه 328:
واحد کنترل ماشین خالت متناهی به صورت کامل Figure 5.42 = New) (ts ess js 63) p
ene. 04F Fpl pot §.38 مهد
صفحه 329:
222/24 \cpea323-04F\Topico.pot ai
صفحه 330:
Mapping RTs to Control
35 1 سونو
222/24 \cpea323-04F\Topico.pot 332
صفحه 331:
CCG & Equal
Drte-bak
ages \cpe9323-04F\Topico.pot 333
صفحه 332:
Combinational
control logic Datapath
control
سب outputs
RegWrite
Next State
instruction
register
opcode field
\cpeg323-04F Toplco pot 334
Datapath
control
outputs
24
صفحه 333:
Tus
stated + stated For Example:
0 ات
state0 + state3 $3°S2*S1*SO
stateé
state + state2
stated + statel
state + states + stated
stated + state”
3-04F Topico.ppt 335
2و
عا نلعم
PCWriteCond
MemRead
MemWrite
IRWrite
MemtoReg
PCSourcel
PCSourced
ALUSrcBL
اام
ALUSTCA
صفحه 334:
تعادل منطقی برای خروجی های حالت بعدی
و Output
[eater vcs «sae? vated eee] | متكا
NextStatel
NextState2 | statet (Op = ‘Iw’) + (Op = ‘sw’)
NextState3 (Op = "w)
[nexstes_faates————SOSCSCSCSCS—SCSSSCSC*S
NextStateS (Op = 'sw')
NextStates state (Op = ‘Rtype’)
NextState7
07
vewsines [sitet 07
For Example:
NextStatel = Stated = $3-52°S1-S0
NextState3 = State2 - (Op[5-0]="Iw’)
- 53 520510 50 ١ 5
صفحه 335:
٠» جه طور ميشود )را از روی ۳)969)تعیین
اکرد؟
APCD ° طور لنجام میشود؟
224 \cneg323-04F TopicO.ppt 337
صفحه 336:
‘contro! logte Datapath conrol outauis
Outputs 4
1
Inputs from insteuction [State register
register opcoce tieia
Finite state machine controllers are typically,
implemented using a block of combinational logic and a
register to hold the current state.
2 \cpeg323-04F Topico pot 338
صفحه 337:
تفسیر "دستور العمل ۷۱۲
پرنمهکربر بل ده ها
أين مى توالد تغيير كند I حافظه اصبلی
6
00 ل
fe =o
یکی از اینها طراحی شده در یکی ۵۵۳9
3 2019
واحد مجاسبه
=
و ترتیب feu wore مهم
ی
944 سین عون
Operani(e) اسب
(مسعه موق
ممم امه5م323-04وممع 224
صفحه 338:
سس تست تس
labels to contialmilrocade sequencing, Labols that end ina Ler 2 are رععجه ها فعولا
used for dlspatchirg with @ jump table thats indeved based on the opcode. Other labels
fare used as cect lergels In the mictoinsivuction sequencing, Labels do not generate
contre signals dresty but are used todefine the contents of dispatch tables and generate
centrl for the Sequencing fel
aise the ALU te ad
Cause the ALU te subtiact: this implements the compare for branches.
Use the instructon’s funct fed te determine ALU contal
Use the FOas the frst ALU input
Register Ais the fst ALU input
Regisier Bis the second ALU input.
Use 4 forthe second ALU Input
Use output of the sign extension unitas the second ALU input
Use the output ofthe shitbtwo unit as the seconcl ALU fput
Read ino egisiew using the rs and rifielisof he Ras the register nanbews, pulling He
deta into registers A and B.
Wits the register Fle using the e field ofthe If as the register nunberand the contents
oFALUGU ae the cata,
Wits the register fle using the field ofthe Res the register number and the contents
ofthe MOR as the data
Read memory using the BO aa arcress) write resul into IR (aed the NOR
Read memory using ALUDut as adress; wite result into MOR.
Wite memory using the ALUDut as address; contents of Bas the data
Wits the cutput ofthe ALU into the PO.
ifthe Zere curpit ofthe ALU is active, wite the PO with the contents of the register ALUOut
Wits the PO withthe jum
Chaose the Rent micronstustion sequeraly
Go to the fist microinstruction to begin a new instucton,
Dispatch using the ROM specified by (Ler 2).
ress from the insbustion.
‘ny ating
Extend
Beastie
Read
Write aL
Write FOR
Read We
Reed ALU
Write aL
aU
ALOU -cond
Junp address
Dispatch 7
Lebel
ALU contol
SRCL
2
Register control
Memory
Pcvirte contal
Sequeroing
صفحه 339:
واکشی برنامه میکرو
ينانا
لت
PC 4 PC 0
Add ALU q
Add PL Extshit Read Dispatch 1
224 \cneg323-04F TopicO.ppt مد
صفحه 340:
دستورالعمل ارجاع به حافظه برنامه میکرو
اصرح ركع رخ fed lls
۳ Extend
Read ALL
Write HOR
SWZ Write ALU
224 \cneg323-04F TopicO.ppt 342
صفحه 341:
6 برنامه میکرو
ister یگ
لت
10۳۵
Write ALD Fetch
224 \cneg323-04F TopicO.ppt 343
صفحه 342:
انشعاب برنامه میکرو
7
میت
177
224
صفحه 343:
پرش برنامه میکرو
Coen
لس
[89 _0
224 \cneg323-04F TopicO.ppt 345
صفحه 344:
orn
سس تب
Read P
301 سس Dispatch 1
Men add &_| Extend Dispatch 2
1۳ al 1
© HR Fetch
Write ALU Fetch
7۳۵۳۳۵۹۲ | Func code| A 8 ۹
Fetch
Subt 4 8 ALUOut-_| Fetch
cond
7 Jump | Fetch
dre
224 \cneg323-04F TopicO.ppt 346
صفحه 345:
فصل ششم
خط لوله اى كردن و معمارى
خط لوله اى شده
24
صفحه 346:
خط لوله ای
| خط لوله ای چیست - مفاهیم پایه
4 مسیر داده خط لوله ای شده
یک بررسى موردى از MIPS
کنترل خط لوله
رفع 12228101 در خط لوله
224
\cneg323-04F TopicO.ppt
صفحه 347:
224
صفحه 348:
خط لوله ای کردن» معمول
S555 روشی را برای اجرای 1025 ol als) ao
همزمان چند دستورالعمل بوچود می آورد.
#مثال شستن لباسها
Ann,Brian,Dave,Cathy® » كدام توده 1
لعاز لباسرا برایشستن خشککردنو تا
كردتار اختيار أداراتة
#شستن 30 ذقيقه زمان فى| برد
#خشک کن 40 دقیقه زمان می برد. عة
#تا کردن 20 دقیقه زمان نیاز دارد.
صفحه 349:
P ©
3# تن ترتیبی 4 توده لباس. 6 ساعت زمان می برد.
et alg ES gl St @ را فرا گرفته بودنت چقدر طول من کشید؟
6 عصر
y
=
ra
ماه و
صفحه 350:
شستن خط لوله ای شده:
نیمه شب a 00 9
شوحو حظ! لله ا ليوو بایان او اساعت و نهم زهان عر
برد.
صفحه 351:
دروس خط لوله ای
0 6 6 660
نمی کند. بلکه توان عملیاتی کل بار یی نا
را بهبود می بخشد: 0 €O €O €O و
وس هی مه i 5
deal 7 ۳
2 ۳
اجرای همزمان چند کار نیاز به منابع 7 05 ع
امتقاوتى أدارة. . 5"
© ابتانلبيل تساريع آ- تعدادامراحل لفظالولب 7 © ‘a
d
© طول نامتوازن مراحل خط لوله eb -
کاهش ert شود
زمان مضرفی برای پر شدن و خالی شدن
خط لوله باعث کاهش تسریع می شود.
#متوقف شدن به خاطر وابستگی
مللآ61۸۵))
صفحه 352:
(#خط لوله: چندین دستورالعمل به طور همزمان در حال اجرايند
##خط لوله به بحشها يا قطعات نقسیم|می شود
جرخه ماشين:
* زمان مورد نیاز برای گذر از یک مرحله
۴ چرخه ماشین بوسیله کندترین مرحله خط لوله معین می گردد.
۴ ملمولا خرخه هاشلن د طرخه سطاعت.
ود ممم امه5م323-04وممع 224
صفحه 353:
4 يك ماشين خط لوله إى شوم كاملا متوازن:
زمان غير خط لوله @
5 تعدا بای خط لول
يك ماشين معمولى
aes cay (Ly
زمان مراحل برابر نیست؛ یک سربار وجود دارد.
آما می تواند تا اختلاف 610 به (1) نزدیک شود.
395 ممم امه5م323-04وممع 224
صفحه 354:
خط لوله ای کردن به عنوان یک تکنیک معماری
#بطور کلی, تقریبا برای کاریر نامحسوس الست.
Scalar pipelined machine vs. vector@
machine
36 ممم امه5م323-04وممع 224
صفحه 355:
تعداد دستور العملهای کامل شده
جرخة
(ظرقیت پذیرش) را افزایش می دهد. اما زمان اجراى هر دستورالعمل بدون
whe die dosage dah
تغییر می ماند.
cleo eb سام عدر اده متا یه ید
latch time *
clock skew ©
* زمان تاخیر مورد نیا رای انتشار سیگنال ساعت در یک تراشه
397 ممم امه5م323-04وممع 224
صفحه 356:
محدودیتهای کارایی در یک خط لوله
نمی توان از کندترین مرجله انتظار سرعت داشت
پیچیدگیها در واقعیت. زمانهای پردازش متفاوت برای مراحل
لختلف. قعل و انفعالاتازابسلتگیها بيه مرا لجل - هملكي ابلتا
باعث وابستگی داده ای شود. (پویا)
388 ممم امه5م323-04وممع 224
صفحه 357:
GTOGE ما۵0
منطق تركيبى
GTOCE OC LOCTEG
منطق ترکیبی
GTOGE 6 ۸۱۸۵
منطق ترکیبی
GPOCE sLOCUEG
0
فاکتورهای مهم در مسیر لوله(مدت چرخه) » تاخیر جاص! و مره سوام
وود
ام هام۲9 922.00۴ وم
224
صفحه 358:
رویهم اندازی(,ببس در برابر خط لوله ای
##خط لوله اى
* ارتباط قوی زیر بخشها(06005: انا5)
* مان پایه تابت مرحله
* ارزیابی تابع پایه مستقل
##مشتركات
* پیوند ضعیف زیر تابع ها
* زمان متغیر مرحله
* _ارزیابی وایستگی بین تابعی
360 ممم امه5م323-04وممع 224
صفحه 359:
, ۲
0 و
دم 119 - 1
ورودی/خروجی
پرداز )1 (stare
a Task + Task 1
Pusk 9 |) جاع <ا”
Doe
رویهم اندازی0۳1/1/0
مم0 ۱[
0 ۲
e Pook 2
224
صفحه 360:
خط لوله پویا و ایستا
*ایستا:
* تنها ارزیابی های مکرر همان کار با داده های متفاوت انجام می
شود
no dynamic data dependencies between - ®
initiations
* طرح ثابت آغاز ها
#پویا:پویا متضاد است با ایستا
*۴ (اسنکرون)
* (روی هم افتادگی)
#مثالى از خط لوله ايستا:
" جمع مميز شناور در خط لوله
362 ممم امه5م323-04وممع 224
صفحه 361:
یک تابع واحدلوله _ چند تابع لوله
یک تابع واحد لوله
* مثال:جمع لوله
#جند تابع لوله
Jae =
* لوله حساپی
بردار لوله
۴ کنترل لوله قابل برنامه ریزی
* (دستورالعمل برداری وظیفه و ورودی ها را تعبین می کند)
363 ممم امه5م323-04وممع 224
صفحه 362:
#مراحل خط لوله:
* واکشی
* 9 (کد برداری+ولکشیشباته)
دستیابی به حاقظه
یاز نویسی
9 ات
a 9 9 e s 9 5 © 9 |
Px DO 7 سس |
AP. 0 EX 00 0 1+ ومتسصتصدط |
ox 0 oo 0 ۴ 2 مصاصتصدط |
a 0 ex OED Oo 3 مماستصدط]|
[bstruction i+4 AP. 4D ex OCD Oo
در هر چرخه ساعت دستورالعمل دیگری واکشی شده و اجرا در 5 مرحله آغاز می شوداگر یک دستورالعمل شروع
a5,» started every clock cycle, the performance will be five times that of a machin
tis not pipelined
\cneg323-04F Topicd.ppt 364
صفحه 363:
۵ Oe
c Ceo
0ه
©1702 2
ele 00> :
9۵| 6 1
9
7
a
4
1 4
و ع 2
1272872
صفحه 364:
Pro (chock cbs)
‘ket O
٩0
Reg}
#با پاسخ دادن به سوالات مشابه مى تواند کمک کند
# چند چرخه زمان می برد که این کد اجرا شود؟
* ل ۸ در طول") چرخه چه کاریانجام میدهد؟
* آیا 2 دستورالعمل سعی در استفاده همزمان از یک منبع مشترک دارند؟
و وب و
صفحه 365:
كنيد
* 00000 دستورالعمل را مى خواهيم اجرا كنيم
* ماشین تک چرخه ای که یک چرخه ساعت دارد 45/15 زمان می خواهد
* ماشین چند چرخه ای و خط لوله ای که چندچرخه زمان می برند 1015زمان می
خواهد
* ماشینچند چرخه لی9. )لست
#ماشین تک چرخه ای
ns/cycle x 1 CPI x 100 inst = 4500 ns 45"
#ماشين جند جرخة ا
ns/cycle x 4.6 CPI x 100 inst = 4600 ns 10 ®
ماشین خبط لوله ای ایده ال
ns/cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 10 *
ns
#میزان تسریع خط نوله ایدهآل و ماشین تک چرخه ای
ns / 1040 ns = 4.33 4500 *
صفحه 366:
تک چرخه ای _ چند چرخه ای خط لوله ای
Cycle 1 > Cycle 2 >
روش تک چرخه ای
Load Store Wastd
Cycle Wycle Lycle Lycle Lycle Hycle Cycle Lycle Kycle dyclé
clk
روش چنه چرخه ای
iLoad Store R-type
هت Ifetch] Reg [Exec [Mem] wr |ifetch] Reg [Exec [Mem
i روش خط لوله ای
Loadifetch] Reg [Exec [Mem] wr
Storfifetch]| Reg [Exec [Mem] wr
R-typdifetch] Reg [Exec [Mem] Wr
صفحه 367:
چرا خط لوله؟ برای اینکه منابع را در اینجا داریم!
Pow (chk rks) 1
صفحه 368:
آیا خط لوله می تواند برای ما مشکل ایجاد کند؟
#بلهزهزاردهای خط لوله ای
سای ساحتر لاش بای استفاده از یک منبع یکسان برای 0 کار متفاوت در
یک زمان
* مثال:سعی در خواندن همزمان دو دستورالعمل از یک حافظه
* هر ار های ello :_ قلاش برای استفاده از یک آیتم قبل از اينکه آماده شود
* دستورالعمل وابسته است به نتیجه دستورالعمل قبلی که هنوز در خط لوله است
add + |, 12, r3
sub r4, 12,11
7 تلاش برای ظاهر كردن يك تصميم قبل از اينکه شرط اجرل شود
*] دستورالعمل های انشنابا
beq r1, loop
add rl, r2, 3
صفحه 369:
هميشه میتوان هزاردها را با رفع کرد
* کنترل خط لوله ای باید هزارد را کشف کند
" برداشتن عمل(تاخیر عمل) می تواند هزارد را حل US
224 \cneg323-04F TopicO.ppt an.
صفحه 370:
حافظه تک یک هزارد ساختاری است
Deve (chock mck)
صفحه 371:
هزاردهای ساختاری کارایی را محدود می
کند
مثال:اگر 0.) حافظه در هر دستورالعمل دستیابی شود و فقط یک حافظه
مورد دستبایی قرار می گیرد در هر چرخه
oSAuCPI = 1.3
۴ منبع بیشتر از (960000مورد استفاده واقع شده
+ راه حل اول: جدا کردن حافظه داده و دستورالعمل از یکدیگر
@ راه حل دوم: اجزه دهیم حافظه بیش از یک خواندن و نوشتن در یک
چرخه انجام دهد
راه حل سوم: توقف
صفحه 372:
#توقف تا زمانی که تصمیم مشخص شود
Its possible to move up decision to 2nd stage®
by adding hardware to check registers as
برخورد :هر دستورالعمل انشعاب دو چرخه ساعت زمان
می برد >کند شدن
صفحه 373:
#پیشگویی کردن:یک مسیر جدس زدن بعد تهیه پشتیبان ذ اگر اشتباه بود
Predict ۴ لصاصه اام Pre
3 + ۷ ٩ ده
IReg|
yay
۱ i 1 i 1
©برغورة: هر دستور العمل انشعات! اك درست اباشد یک | چراخط -ساعت و
اشتباه باشد 2 چرخه زمان می برد(9۵50 موارد درست است)
More dynamic scheme: history of 1 branch ) 9090
صفحه 374:
نشعاب(اتفاق می افتد بعد از
ب بب تاخیر افتاده
Reg}
Impact: 1 clock cycles per branch instruction if can find@
instruction to put in “slot” ( 50% of time)
Launch more instructions per clock cycle=>less useful@
صفحه 375:
هزاردهای داده ای روی
۰ بنمی تواند به وسیله دستورالعمل های دیگر خوانده شود قبل از اینکه به
ddd نوشته شود
add yO vO
mb rP, هم
andr, «0 مس
pr ۲۵, ۲
xr IO, “| id
صفحه 376:
هزارد داده ای
۳ لد در این زمان هزاردها هستند
eke) | ١ 1 سل Dive
4 Mor i ec 06 ۵ i
cob مرمر ]۳ lB fb | fs,
bP yO ;
wt Oy yr?
for Oy ir
wor ID, 41,7
0
9
صفحه 377:
واه سبط اراد دا
و" اتیچه از یک مرحله براى دیگری
5
9و
3 بسیار خوب اگر که تعریف نوشتن اخواندن درست است
Or [fof بيه
yay Oo
por ۷۵
ror ۲,۳۷
صفحه 378:
9 (یگذشتن: در مورد بار كردن
*وابستگی های به جا مانده از قبل هزارد هستند
*نمی توان با ارسال> (0۳۷۵۲0110 این مسئله را حل کرد؟
*باید دستورالعمل وابسته به بارگذاری را توقف /تاخیر دهیم
‘eg?
صفحه 379:
طراحی یک مسیر داده خط لوله ای شده
224
صفحه 380:
خط لوله ای کردن دستورالعمل بارکردن
Cycle 4 { Cycle 5 | 6ع0 ]6007
j Cycle 1f Cycle 2 f Cycle 3}
الا ل ال ال ال ال الا
1
| | | +3 ] ۱ 1 2۰ [ووطوعع[ سد ]س1
!
i
i
and w[itetch [Reg/Dec] Exec T Mem | wr_]
Tfetch [RegDeq] Exec | Mem | Wr
3rd lw
* تا واحد نابعی مستقل درا مسیر داده خط لوله ای هستند.
۳ حاقطه دستور العمل برای مر حله راکشنی
Rewer (bus A and busB)él 5 خواندن از بانک ثباتی برای -
‘bal ab asl - ALU
حافظه داده براى مرحله دسترسى به حافظه +
\cneg323-04F TopicO.ppt 382
بر بانک ثباتی برای مرحله Wr (bus W)
224
صفحه 381:
1 cycterfcyele2 | cycte 3} cycle |
بال ال ال الا"
Rtype[_Ifetch TRegDecf_ Exec [ 3: [
*واکشی:واکشی دستورالعمل
- واکشی دستورالعمل از حافظه دستورالعمل
- جديد كردن )م
٠ وواکشی نباتها و کد برداری دسترالعمل ها
dee: Exec * کردن لا ابر روی ۵ تا ثبات عملوند
۷/۷/۳۰ نویسی خروجی ا الربر روی بانک تباتی
224 \cneg323-04F TopicO.ppt دود
صفحه 382:
کردن دستورالعمل های LoadsR-type
| وعلءن | قعلمن | تعلءت | وعهو] کمهی | 4 cycte 1] cycte2 | cycte 3! Cycle 1
Clock
ype [i Tego tee we
see [We سوت سس مومع
eo
۱775۲ ag
Repe[ tech [Reged] Eee We
ما در خط لوله ای تضاد دار
po دلمتور العمزل ملعی درا نواشتن در بانک تباتیل به صورات همزمان دارند!
نوشتن یک پورت
224 04F Topico.ppt 224
صفحه 383:
مشاهدات مهم
واحد کاری تنها یک بار برای هر دستورالعمل می تواند استفاده شود
هر واحد کاری باید در همان مرحله برای همه دستورالعمل ها استفاده شود:
در دستورالعمل Load نوشتن در بانک ثباتی در مرحله پنجم انجام می شود
5 4 3 2 1
Load Lifetch [Reg/Dec] Exec [ Mem [ wr]
- در دستور العملسمر-) نوشتن در بانک ثباتی در مرحله چهارم انجام می شود
4 3 2 1
R-type[_iferch ]
رلم حلبرلیه زارد خط لوله لعوجود دارد 6
224 \cneg323-04F TopicO.ppt 385
صفحه 384:
Retype Liferch TRegDe]_Exec [wr
Load [ifetch [RegDed] Exec | Mem | wr
Retype [Hfetch [RegDec] Exec
Retype
Retype Pipeline
- از دست دادن واکشی دستورالعمل و فرصت انتشار,
»هيج پستور العملی در چرخه 0 شرو جع نمی
224
صفحه 385:
AR Ape Gli os res Ua oly وسیله یک چرخه
1 تأ خير نوشتن جمر-)به وسيله يك جرخه
- حال می توان نوشتن دستورالعمل های 8-۷06 را در مرحله ينجم
تلجام داد
- امرحله دستیابی بم حافظه یک مرحله بلااستتفاده الست:هیچ چیزی در
آنجا انجام ثفل شوز
1 2 3 4 5
R-type[_Hfetch [Reg/Dec] | Exec || Mem [| wr
{ Cycle 1} Cycle2 | Cycle 34 Cycle 4 | Cycle 5 | Cycle 6 {Cycle7 {Cycle 8 |Cycle9
Clock 1
i | |
Retype[_Ifetch PRegDec] Exec | Mem | Wr
Retype [fetch [RegDec] Exec | Mem | Wr
Load [ifetch [Reg/Dec] Exec [| Mem | wr
Retype[_Ifetch [RegDec] Exec | Mem | wr
R-type[_Ifetch [RegDec] Exec | Mem | wr
صفحه 386:
instruction]
Memory
Address
۳
wes Write
back
صفحه 387:
4 نسخه خط لوله ای شده مسیر داده
9
مره
out
Data
Memory
Data
:
eH
Sl.
0 أسهام ام
ٍ
:
Gud
هر
Registers
tb
pee
تا
مرج
|
Address
linstruction|
‘Memory
صفحه 388:
pst
rena
nen we
Dat
out
Data
Memory
Data
Fe ac
اصررد
ex
3
جله لولة دلت
is
اس
5
Registers
‘Address
linstruction|
‘Memory,
2
yt
دن
IF
صفحه 389:
2255
Data
Memory
Data
bus
busa|
{ Sign!
3
مط أت
ات
۴
3
@
poi
pst
1 8
۴
we
ve
هرد
9
مع
دهت ات جالع ولك
توا
دن
صفحه 390:
2
ven swe
:سومین مرحله لوله دستورالعمل ۳2ن
mex even
add
Registers 5
bust |
me کر
0 lacie, Datel
w x| bam
5 Data
Hy Memory
a} =
م ات
ات :
1
add
address
linstruction|
Memory
|
4
صفحه 391:
۷۸ چهارمینمرحله ل وله |
. دستوراهمليا "دن ۱
|
|
ره اصرره اجه م [oat
4
PG address ۳ اسر
= busi
1
linstruction| buss|
‘Memory
صفحه 392:
مره
out
Data
Memory
Data
هبرع
ا
ا
Registers
busa|
busa|
:
a
= 6
10
نكن
|
مدع —
Address
linstruction|
‘Memory,
صفحه 393:
wen swe
placer. Os
نك
Data
Memory
Data
Gx.)
Iwiex
buss
تعبط
‘Sign!
fexten
Registers
000
ia)
pos
psa
۱۳۳
ملم
Iinstruction| |
‘Memory
صفحه 394:
لو ع
R-typeJod | gins alg (:دومینمرحله
Registers.
uss|
لس
تمد بر
مه اس
3 =
مت
oie
ps
صفحه 395:
6 :سومینمرحله لوله دستورا لمل06 ٩-۲۷
32
3
registers
Pot] address 5 wea)
fs سار هه
هچ یرل لت ۵ اد رز یه
Memory
Y Data
(3)
ag
صفحه 396:
Gres)
:چهارمینمرحله لوله دستورالمل»0
ا
Registers
linstruction| |
R-ty
POY address
صفحه 397:
Data
Memory
Data
usa]
busa|
5
اه
{bust
5)
pot)
pst
a دع
1
3
2
add +
۵ ره هرد
هر
HD
صفحه 398:
یک مثال برای روشن شدن خط لوله
* از زمانی که بیشتر دستورالعمل ها باهم در یک مسر داده تک
چرخه ای اجرا می شوند.این می تواند برای درک کردن مشکل
باشد
* دنبال کردن کد زیر یک آزمون خواهد بود.
Iw $10, 20($1)
sub $11, $2, $3
Time (clock cycles)
و وج
Iw $10,20($1)
sub $11,$2,$3
موه
214
400
صفحه 399:
ve
Data
Memory
Data
$y 65
ا 3 1
Registers
usa
busa|
b
اناس لس
جر
hi $10, 20(81)
Instruction fetch
تسس
|
|
|
le
صفحه 400:
CHIE
at
Data
Memory
ata
pyaar:
۳
Instruction fetch
3
sub $11, $2, $3,
صفحه 401:
ِ 1
2 ۱
I
3
ةو
5 f
a 11
9۶
وج
۳ 11
أ
Registers
uss
قط
6
< ۶ | 5
SESE Le
2
linstructios
Memory
‘Address
صفحه 402:
ع
Memory
صفحه 403:
عع
gst
Loew
مدوم
linstruction|
‘Memory.
i
We
0
املع
wie
lw $10,
20(61!
sub $14, $2, $3
صفحه 404:
خلاسهتخطظا لوله آف کردن
کچ چبزی آن را آسان مل ستازوو
هید دستورالعصل هایی که طول یکسان اارند
فقطیک تعداد کمی از قالب های دستورالعمل
عملوندهای حافظه تنها در بارکردن و ذخیره سازی ظاهر می شوند
«چه چبلیآن را تحت می سالو
هزاردهای سختاری:فرض کنید ما فقظ یک جافظه داریم
هزاردهای کنترلی:ما بابد بگران دستورالعمل های انشعاب باشیم
هزازدهای دادم آی-یک پستورالعمل وابسته به «ستورالعمل های قبلن اس
tas لوله ای کردن یک مقهوم بتيادى اسح
چندین مرحله انستفاده هی شود برأى جدا كردن مزاخل
“بردازشكرهاق جديد واقعا آن زا TES Ga esa
اتستثنا كردانى
سعی کردن برای افزايش کارایی با یک اجرای نادرست و...
406 ام هام۲9 922.00۴ وم 24
صفحه 405:
کنترل مسیر داده خط لوله ای شده
صفحه 406:
صفحه 407:
فراخوانی:بیتهای کنترلی لاا۸
0 oa na te Cae
opcode ALUop __ operation ۵ ee ed
load word XXXXXX_| add
store word XXXXXX | add
branch equal _| XXXXXX_| subtract
add 100000 | add
subtract 100010 | subtract
AND 100100 | and
OR 100101 _| or
setoniess than | 101010 _| seton less than
opcode
صفحه 408:
برای 3 مرجله آخر خط
عب كت mye x) MEM مدع
صفحه 409:
کته
تا
مسير داده خط لوله ای شده با سیگنال های کنترلی
صفحه 410:
*اجازه بدهید بببنیم چه اتفاقی برای این اخظ لوله درابرناطه
زیر
می اقتد )20($1 ,$10 lw
sub $11, $2, $3
and $12, $4, $5
or $13, $6, $7
add $14, $8, $9
این کد هیچ هزارد داده ای ,ساختاری و کنترلی ندارد
412 ممم امه5م323-04وممع 224
صفحه 411:
413
\epe9323-04F Topico bot
مد
قال صم
09
IF: hw $10,20(61)
صفحه 412:
aia
\cpea323-04F\Topico pot
24
20
9
on
001
u
—"e
1D: Iw $10,20(61)
IF: sub $11,42,83,
صفحه 413:
Clock 3
24 \epea323-04F\Topico.pot كله
صفحه 414:
5
\cpea323-04F\Topico pot
111
MEM: iw $10,20(61) |
‘MEM
i
&
$2.83
۳
10 ex
$5
1D: and $12,44,
مدع
467
TF: oF $13,
صفحه 415:
[0 pot
مد
ربو
MEM: sub $11,62,43,_{WB: hw $10
EX: and $12,44,85
$6.87
1D: or $13,
TF add $14,589
صفحه 416:
هزاردهای داده ای
* مثال قبل یه ما نشان می دهد که دستورالعمل های مستقل که از نتایج
آنها در دسنورات قبل استفاده نمی شود چطور اجرا شده اند.
*اين یک نمونه با برنامه های واقعی نیست.
*اجازه دهید کدهای مرتب زیر زا دنبال کنیم.
sub $2, $1, $3
and $12, $2, $5
or $13, $6, $2
add $14, $2, $2
sw $15, 100($2)
* 4 دستور آخر همگی به ثبات 25وابسته اند که در دستور اول
تولید می شود.
* فرض کنید ثبات 25مقدار 10 را قبل از عمل تفریق دارد و
مقدار 20 را بعد از آن دارد.
00 ام هام۲9 922.00۴ وم 24
صفحه 417:
هزاردهای داده ای
680 8۵ Bes
The value of $2: 10 10 10 10 10/20 -20 20 20 2
sub $2, $1, $3
and $12, $2, $5
or $13, $6, $2
add $14, $2, $2
sw $15, 100($2)
وه \cneg323-04F Topicd.ppt 4رد
صفحه 418:
هزاردهای داده ای
رآ حل ساده کامپایلر هچ دشتورالعجلی را بین دستورالعمل های تناو
0وارد نمی کند
* هیچ یک از این دو دستورالعمل نه داده ای را تعریف می کنند و
نه نتیجه ای را مى نویسند. $3 ,$1 ,$2 sub
nop
nop
and $12, $2, $5
or $13, $6, $2
add $14, $2, $2
sw $15, 100($2)
*نتیجه : این کار انجام می شود اما 2 چرخه ساعت به هدر می
(ub wo رود (کارایی کاهش
420 ممم امه5م323-04وممع 224
صفحه 419:
کشف هزاردهای داده ای و
ارسال(۲۵۳۸/۵0۱۳9)
که هزارد داده ای کشف شود و سپس مقدار منا ۱
براى حل هزارد ارسال لظ ك0 0 5 a
ilo sO که یک دستورالعمل سعر كند یک ثبات را در مرحله۲] بخواند
رای وک تور سس مى كت pa alae ett
این یک نمونه هست بين دستورالعمل های 9-۵00لاکزیر:
and $12, $2, $5
* این هزارد می تواند کشف شود به وسيله يك جك كردن ساده
EX/MEM.RegisterRd = ID/EX.RegisterRs = $2
214 \cpeg322-04F TopicO.ppt az
صفحه 420:
کشف هزاردهای داده 9S
ارسال(۲۵۳۸/۵0۱۳۴9)
*هزارد دیگر است بین دستور العمل های 08 58
sub $2, $1, $3 [Im ات 1 Dm Reg|
and $12, $2, $5 | iz e Dm | bes
or $13, $6, $2 1 ۳ Reg] : Din هرا
»اين هزارد مى تواند كشف شود به وسيله يك جك كردن ساده
MEM/WB.RegisterRd = ID/EX.RegisterRt = $2
* هزارد داده ای بین دستورالعمل های 5۱0-200 و 50-5۷۷ وجود ندارد
224 \cpeg323-04F Topico.ppt
a2
صفحه 421:
خلاصه ای از وضعیت sb هزارد داده ای
ID/EX.RegisterRs
ID/EX.RegisterRt
ID/EX.RegisterRs
d/= ID/EX.RegisterRt
EX/MEM.RegisterRd
EX/MEM.RegisterRd
MEM/WB.RegisterRd
MEM/WB.RegisterR«
This actually refers to destination field of an instruction. It is rd filed in R-type
instructions and rt field in T-type instructions. Mux in the EX stage chooses
the correct one, therefore, EX/MEM and MEM/WB pipeline registers store
this information as a rd filed (EX/MEM.RegisterRd_and MEM/WB.RegisterRd).
Since some of the instructions (i.e. w, bea) do not write to
register file, the above policy is inaccurate. Consider the following
code sequence:
cw $1, 100085) EX/MEM.RegisterRd = ID/EX.RegisterRs
add $3,61) $2 ۲ ماد و
This problem can be solved simply by checking RegWr signal.
\cpeg322-04F Topico.ppt دوه
ta.
ib.
2a.
2b.
4رد
صفحه 422:
خلاصه ای از وضعیت های هزارد داده ای
| چه اتفاقی می اقتد اگر05به عنوان ثبات مقصد استفاده شود؟
هیچ مقدار صفری ارسال نشود
#بتانراین کشف فزارد باید به صورت زیر دتلال شود
1EX hazard
if (EX/MEM.RegWr
and (EX/MEM.RegisterRd = 0)
and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA=10
if (EX/MEM.RegWr
and (EX/MEM.RegisterRd = 0)
and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB=10
:MEM hazard
if (MEM/WB.RegWr
and (MEM/WB.RegisterRd = 0)
and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA=10
if (MEM/WB.RegWr
and (MEM/WB.RegisterRd = 0)
and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB=10
24 \epe9323-04F\Topico ppt 424
صفحه 423:
(ملاحظه کنید ترتیب زیر را :
add $1, $1, $2
add $1, $1, $3
add $1, $1, $4
در اين نمونه .نتيجه از مرحله ۱۸۴۱۷ ارسال شده برای اینکه نتیجه در مرجله/142۱
فوته أ قينا خبلی اس تلبت بع نتیجه در طرطه ۰۷/۵
:=MEM hazard
if (MEM/WB.RegWr
and (MEM/WB.RegisterRd = 0)
and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA=10.
if (MEM/WB.RegWr
and (MEM/WB.RegisterRd = 0)
and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB=10.
and (EX/MEM.RegisterRd = ID/EX.RegisterRs)
and (EX/MEM.RegisterRd = ID/EX.RegisterRt)
425 ام هام۲9 922.00۴ وم 24
صفحه 424:
مسیر داده خط sl alg) شده ب
(Forwarding) Jlw |
pie
+ apne
(contet} ب “4 re 8
۳
10 2 ۱ ۵
Registers 0
Instr.
Le ل ۳
7 Data 1
Ht م 5
عق | هدوز ۲
رطع | [ret =|
IF/ID.RegisterRt |] Rt] 8 اس لها
2 ۷
IE/TD Registered || Fal 9
انس ۳
wn
صفحه 425:
هزاردهای داده ای و توقف
Time (in clock cycles)
Program
‘execution order
(ininstructions) CCl CC2 C3 ccd ccs 666 عه 68 ©
Forwarding does not solve
lw $2, 20($1) | Tam ۳3 Di ار ری ناماس
hazard detection unit.
. instruction needs to
and $4, $2, $5 Im ۳ 8] | be stalled one cycle.
or $8, $2, $6 Im 6| مد 5
add $9, $4, $2 1۳ eal | |) Dinh HRed|
sit $1, $6, $7 tin } HReg| Din} HReg|
4F Topico.ppt 427
2204
صفحه 426:
کشف هزارد
| * کتترل برای کشف هزارد
if (ID/EX.MemRdsuwly oS jLitod | gins Sh, Sz
and vit
((ID/EX.RegisterRt = IF/ID.RegisterRs) or
(ID/EX.RegisterRt = IF/ID.RegisterRt)))
: سپس
توقف خط لوله
42 ممم امه5م323-04وممع 224
صفحه 427:
0
ما
o
7
G
2.
i
5
0
fReg|
وده
cco
ccs
cc?
۳
ccs
Dm|
Im
Reg| لا سر
[Bubble
ccl occ2 4ع مق 665
1 3 DinkHReg|
Reg] | ومع لا صر
\ pale lige
and and or instructions repeat
in CC4 what they did in CC3
\cneg323-04F\Topic0.ppt
Time (in clock cycles)
Program
execution order
(in instructions)
lw $2, 20($1)
and $4, $2, $5
oF $8, $2, $6
add $9, $4, $2
sit $1, $6, $7
12284
صفحه 428:
مسیر داده خط لوله ای شده با(۴۵۲۷۷۵۲۵۱۳9)ارسال
و واحد کشف هزارد
Instr.
Memory]
Powite
صفحه 429:
Time (in clock cycles)
Program
execution order
(invinstructions) 60 cc2 عه cea Sees css 69
Adar, Instr
40 beq $1, $3, 7 fReg| DinfteHReg|
44 and $12, $2, $5
In ۳۹ mal eg}
3 ۳۹
48 $13, $6, $2
2 200 514, 32, 5
72. Iw $4, (50)$7 ۳
‘Actually, the number of instructions needs to be flushed can be reduced from 3 to 1
instruction (shown in the following slide) when the direction of branch is mispredicted,
صفحه 430:
IHW dus) elle ish bald pate
کردن قسمتی از حافظه خط لوله)
سوه 10
IF-Flush
صفحه 431:
9
St
صفحه 432:
1008 190000006 190090090005
(0s 520)
Ts
STORE
GOsms)
Gs
Ks Ms
AF Topico.ppt
224
صفحه 433:
مشخصات برنامه ها و سبازنماندهی حافظه
تجزيه و تحليل 16112 در برابر دستيابى ترتيبى:
* در مقایسه کارایی برهزینه و تکنولوژی
8 همجواری در الگوهای دسترسی به جافظله
© سلسله مراتب در طراحی حافظه
* حافظه نهان
* حافظه مجازی
435 ممم امه5م323-04وممع 224
صفحه 434:
سلولهاى حافظه
ثبات خاده
گذرگاه حافظه
مل ] (به با از پردازشکر)
asl or 0
1
2
3
ساختار حافظه با دستیابی تصادفی 1۸79
N-2|
NI
آدرسها نکته:دارای زمان دستیابی ثابت
ممم امه5م323-04وممع 224
صفحه 435:
کارایی حافظه
پهنای باند - تعداد بیتها بر ثانیه "که می توانند در دسترس قرار گیرند"
که بای رااست با
(bit/word) x (word/cycle) x (cycle/sec)
بتابراینابهنبود بای اباند؟
"گلوگاه ون نیومن *
437 ممم امه5م323-04وممع 224
صفحه 436:
چگونه می توان کارایی سیستم حافظه
را بهبود بخشید
کاهش مدت چرخه
افزایش اندازه کلمه
#همزمانی
#طراحی کارآمد حافظه
438 ممم امه5م323-04وممع 224
صفحه 437:
پیشرقتها در تکنولویی مدارات مجتمع نه فقط متاثر از ]۳۵1۷ ls SRAM ah ls هرینه
حافظه نهان را سیار کاهش داده اند. حافظه های نهان یکی از ایده های بسیار مهم در
معماری کامپیوتر هستند زیرا آنها می توانند کارایی استفاده از حافظه را به طور اساسی بهبود
all
افزليش شکاف بین زمان چرخه ]12۳1۷ و زمان چرخه پردازنده. که در شکل بعد نمایش داده
شنده است. یک انگیزه برای ایجاذ حاقظه نهان است. اگر ما بر آنیم که پردازنده ها با سرعتی
که توانلیی ی را| دارند اجرا شوند. ما باید جافظه هایی با سرعت بیشتر بای افراهم نمودان
داده داشته باشیم:
{Joupi & Hennessy 91]
440 ام هام۲9 922.00۴ وم 24
صفحه 438:
«صلان 7
6176/۰
6/0)
@ocessvr-Orwory
@erforwoave Gap:
(grows GDh | year)
DRED
سرام( ۰ همع
(dye)
224
صفحه 439:
ano
402
Qvvessor,
Oewory
مستت dea
عدص عه سا0
مم0 6م0470
ao?
ao?
a
مع
oF
میم سر نها
صفحه 440:
443
04F Topico.ppt
\epea32
224
FHE-WAEE
ime
[CPU Clock Period (ns)
[i Memory System Access Ti
XAxis
1999
1997
(DO 4 Maer ريصي
و و و و
ه ۶ 5 5 5
زمان دستیابی به حافظه
°
8
(a) au,
500
در یک سیستم واحد
صفحه 441:
*مراجع برنامه تمایل دارند که به موقع
در كنار هم قرار بگیرند, ”
224 \cneg323-04F TopicO.ppt aaa
صفحه 442:
مکانهابی با احتما ل دستیابی بالا (زمان کوتاه)
4 همجوارى 720
4 قاب يشته (محلى(
@ نزدیک زیر روال ها
@ داده های فعال
485 ممم امه5م323-04وممع 224
صفحه 443:
احتمال ارجاع
آدرس ارجاع
224 \cpea323-04F\Topico.pot
صفحه 444:
1
مشکل: اغلب پیش بینی یک 5176 0206 می شود که بزرگتر ازاندازه مورد نیاز باشد.
\eneg343-04F Topco pot
224
آدرس ارجاع
دمر
صفحه 445:
فقیت حافظه های نهان که قبلا تشریح شد برگرفته از "خاصیت همجواری " است. خاصیت
هجوارى داراى دو جنبه است. Spatial , temporal
ر دوره cla كوتاه زملني: یک برنامه ارجاعها به حافظه خود راء.به صورتث غير يكتواخت ادر
قضاى ادرس حود كسترضل ملى ‘Gat
كه لين بخشهاى فضاى آدرس در دوره هاى زملنى طولانى به صورت كسترده يكنواخت باقى
ميل مانتد.
03 ام هام۲9 922.00۴ وم 24
صفحه 446:
اولین خاصیت, معروف به همجواری موقتی: با همجواری زمانی: به این محتی است که:
اطلاعاتی که در آینده نزدیک مورد نیازند احتمالاً هم اکنون در حال استفاده اند.
این نوع رفتار می تواند از حلقه های برنامه که هر دوی داده و دستورالعمل مجدداً
استفاده میل شونده انتظار رود
مه ممم امه5م323-04وممع 224
صفحه 447:
دومین خاصیت. همجواری مكانى؛ به اين معنى است که بخشهایی از فضای آدرس که
دراحال استفاده اند معمولاً شامل| یک تعدادی از بخشهای همجوار یکتا از فضای
آدزس می باشد. همجواری مکانی: سچس به این محتادست که مجل ارجاع برنامه در
آیتده نزدیک؛ احتمالاً نزدیک محل ازجاع فقلی انبت
450 ام هام۲9 922.00۴ وم 24
صفحه 448:
[Smiths2,
p475]
این انوع رفتار با آگاهی بعمولی از برناسه ها آموراد انتظاز تساه بخشهای وایسته- داده
(متفیرهاء آرلیه ها) مهمولا با یکنیگر خلخیره ملیشونا» و دسلتولات بیش تر یه جورات.
رتیبی اجرا می شوند. تا زمانیکه حافظه نهان سگمنتهای اطلاعانی را که اخیرً
استفاده شده لند.میانگیر (در خود نگهداری)می کند.خاصیت همجواری آشاره دارد
به اینکه اطلاعات مورد نیاز احتمالاً در حافظه نهان یافت می شود.
24 ام هام۲9 922.00۴ وم asi
صفحه 449:
اطلاعاتی که در آینده نردیک مورد نیازند احتمالاً شامل اطلاعات رایجی هستند که هم اکتون
در حال استفاده اند. (۲۱۳۳6 ۵۱ (۱۵631/۸)
و آن اطلاعاتی که همجواری منطقیدآرند و به طور جاری مورد
استفاده اند (locality by space)
452 ام هام۲9 922.00۴ وم 24
صفحه 450:
مقدمه ای بر طراحی علووم
(نوعي حافظه ميانجي که سرعت دستيابي به اطلاعات آن بالا است )
224 \cneg323-04F TopicO.ppt 453
صفحه 451:
6 حافظه نها
مکانی امن برای پنهان سازی و دخیره سازی.
Webster Dictionary
224
صفحه 452:
6 حافظه نها
#حتی با وجود ظرفیت 21۱6 هنوزتقریباً همه لا0ها
شدیدا به وسیله زمان دستیابی 66116 محدود شده اند.
در بسیاری از گونه هاء هرچند زمان دستیابی 6۵66
کاهش داده شده باشد ماشین نیز باید تسریع شود.
-Alan Smith-
!'Even more so for MPs
455 ممم امه5م323-04وممع 224
صفحه 453:
#الكوهايى كه مى توانند طراحى حافظه cache
حاضرراشكست دهندء باعث افزايش كارايى حافظه
6 شدهءوبراى هر برنامه يا باركارى واقعاً
محاسبات مفیدی انجام دهد.
456 ممم امه5م323-04وممع 224
صفحه 454:
بهینه کردن طراحی حافظه مجلری,به طور گسترده که دارای
P جنبه است:
به حد اعلی رساندن احتمال یافتن یک مرجع حافظه در
حلسم( نسبت برخورد )
به حداقل رساندن زمان دستیابی به اطلاعاتی که در ام
وجود دارند( زمان دستیابی )
به حداقل رساندن تأخیر به علت یک خطا و
به حداقل رساندن هزینه های ناشی از به روز کردن حافظه
اصلینگهدار ی 6016۲۵66 62606 و غیره.
ام هام۲9 922.00۴ وم 24
صفحه 455:
فاکتورهای کلیدی در تصمیم طراحی Curkeus!y: 4 (60)(حافظه
مجازی)
زمان دستیابی حافظه اصلی
زمان دستیابی 86
= 4 ~ 20
کنترل080186 معمولاً در سخت افزار اجرا می شوند
224 ممم امه5م323-04وممع ase
صفحه 456:
فن آوری درع1990:
Oewory آمهام۲۷]| بو واهیه۱۳۲ Guess Nowe $ per Obyie
000 00265 910۳10
ORBD 91706055 10۳00
QDaysetic disk IQGBNALD- ANGINGLHDas 3s
فن آورى در $2OODs:
19323-04F Toplc0.ppt
122824
صفحه 457:
$ per Obyie
40
oad
۳00-000
فنآوری در <00000:
ع( 222۶۶ آم۱ 1۷۲
AO
060
5000۵۰۶ - 50100000۵
\cneg323-04F\Topic0.ppt
\Oewory Tevkuvloyy
GROO,
OROO
QDOayoetio disk
122824
صفحه 458:
حافظه اصلی
Cache پردازشگر
224 \cneg323-04F TopicO.ppt 461
صفحه 459:
Disk seek time سوت
DRAM access time ®—
SRAM access tim سب
CPU cycle time >
2000
The CPU-Memory Gap
The increasing gap between DRAM, disk, and CPU
1995
4F Topico.ppt
1990
year
وعم
1985
980
1
speeds.
100,000,000.
10,000,000
41,000,000:
100,000
2 10,0004
4,000
100
10
1
224
صفحه 460:
چهار سوأل برای دسته بندی سلسله Gil حاقظة
قاعده کلی و اساسی که گرداننده همه سلسله مراتب های
حافظه است ج ها اجازه ی دهد از لشرایطی که باعف
برتری یافتن نسبت به سطوحی که در موردشان سخن
گفتيم استفاده کنیم:
این قواعد یکسان به ما اجازه طرح چهار سول درباره هر
سطح از سلسله مراتب را می دهد:
463 ام هام۲9 922.00۴ وم 24
صفحه 461:
چهار سوأل برای دسته بندی سلسله مراتب حافظه
oil ga كجا يكل بلاكل می تواتد دز سطح بالاترای اقرارا
بگیرد؟ (مکان بلاک)
سل 2:چگوته وقتما یک لاک در اسطم بالاتری قراز دار(
شناخته می شود؟(هویت بلاک)
سل 3 كدام جلاک ی تواند دريك فعدان جابكرين شود
(جایگذاری بلاک)
س4:در نوشتن چه روی می دهد؟ (استراتژی نوشتن)
46 ممم امه5م323-04وممع 224
صفحه 462:
0 1 89 9 6 6 8 f°
TOGO 0261©
Marex GS, ۵, 96, 90, 86,
, 8, 0406©
POCOK ad, Od, 68, 68,
25606616 7d, PO, FF, SO,..
66:1 ۳ ۵0267 دورس
1
01173 30
داده ها آدرس
cache hit cache مفهوم 5کنحط
24 \cpea323-04F\Topico.pot 406
صفحه 463:
2606 :زماندستیابیموءتر Ct
مدع Cach@subiwoyloj:
t :زماندستیابیحافظه اصلی
A :ن سبتب رخورد(موءف قیبک
fo = میم + (I-A) bmain
46 ممم امه5م323-04وممع 224
صفحه 464:
Let
10 5م - 1 - 4 clock cyclest..-he
50 ۲5 - 8 - 32 clock cycles¢,,.,,
< 095
x 0.95 + 50 x 0.05 10
12 =2.5 |+ 9.5
\cpea323-04F\Topico.pot
224
صفحه 465:
نسبت برخورد(یا موءفقیت)
#نیاز به نیروی کافی برای رسیدن به سطح
کارایی دلخواه دارد(52۷<9096)
#وسعت بخشی به اثرات و نتایج تغییرات
#هرگز ثبات دائمی grils sly wo های
مشابه ندارد
49 ممم امه5م323-04وممع 224
صفحه 466:
w.r.th (hit ratio) sal ls حساسیت
=ht.
feache| + | (4-H) thainter
معد
Bache [ ]مب + (I-A)
۶ tacts It,
1
‘cache
cache | 2 + (1-A)
since
10, the magnifactor of h changes is 10 times
نتیجه:خیلی حساس
224
ممم امه5م323-04وممع
صفحه 467:
0.95(
4
then عم tache (1 + 0.5)
feache
224 \cneg323-04F TopicO.ppt an
صفحه 468:
اصطلاحات بنیادی
che line (block) - size of a room
"یک مجموعه از داده های همجوار که words 16 ~ 1
جه عتوان يك نهد ذخیره بسازی cache
مورد بحث واقع شده أند-
@€ache directory - key of rooms
از 6860156 که کلیدهای دستیایی
yeti cere بيشدل كردن 2 گس سل دلشته
نگهداری می کنند 2
472 ام هام۲9 922.00۴ وم 24
صفحه 469:
cache دهی
4کاملاً متحد: می تواند یک عنصر درهر بلاک باشد
#مسیر دهل بی واسطه و مستقیم: می وآند یک عنضر
فقط دریگ بلاکا بابفدا
چیدمان و قرارگیری پیوسته: می تواند یک عنصر
ارگروهیآزابلاک ها باشاد
473 ممم امه5م323-04وممع 224
صفحه 470:
* هربلاک در حافظه می تواند در هر 78۳06]-10016حدر
6 باشد
* تمام ورودی های الگوی بلاک (۳2۴06 10016ظ)باهم
مقایسه می شوند(به وسیله جستجوی پیوسته)
ام هام۲9 922.00۴ وم
224
صفحه 471:
بسیار انعطاف" وبا اجتمال بالا یه
منظور ساکن شدن در 080106
cpa بدون اتلاف (با قابلیت سازمان دهی سریع)
a word = ساده ترین مثال: یک بلاک
معایب:56۵۳6 55061311۷6 01 ۵
هزینه+ زمان
ام هام۲9 922.00۴ وم
0 17
17
Address
-— 027560
0
Cache
62/7560
224
صفحه 472:
Block 0
E Block 1
Cag] ۳
Bléck 0
Cag م
Blgck 1
: Block I
]وس ea
eS :
Blogk 127
Block 16382
3 وا 3
_— 14 4
lel aus (21
tag ‘word
یدآوری: هر بلاک 48 کلمه دارد
ان کاملاً پیوسته 0806
امم 0 ءامد 9[ 24
صفحه 473:
#بدون پیوند پیوسته
از آدرس۱ حافظه"به طور مستقیم"برای قاب بلاک در
6 جایی که بلاک باید قرار بگیرد شاخص دار شده. ۸۵
comparison then is to used to determine if
.it is a miss or hit
224 ممم امه5م323-04وممع ar
صفحه 474:
ساده ترین امتیاز:
سریع(با منطق کمتر)
هزینه کمناز ال رو فقط یک دستگاه مقایسط کندده
لازم است که می تواند در فرم استانداره حافظه قرار گیرد
00 ممم امه5م323-04وممع 224
صفحه 475:
زمانی که 6966 فقط 4860 الگوی قاب دارد در نتیجه
درجه تسهیم چنین می باشد: ۱
(block) 97 nlock/frame ___ 16384 __اندازه اه اصلیم( و
Gene or set of / 128 (27) 128
Serie ree oF ;
Ahe high-order ah 58 1
(7hitis used | be 0۶ اوتا تعد جد ليك لبوا Pree
‘ag tag. 1
"Disadr: “frashing
ام هام۲9 922.00۴ وم 24
صفحه 476:
420
Word
حافظه اصلى
Block 0
Block 1
Block 2)
Block 1
Block 128
Block 129
Block 255
Block 256
Block 257
Block 4095
| Block 4096 1
110017 6
Block
\cpea323-04F\Topico.pot
Blodk 127
آدرس حافظه اصلی
اشت مستقیم
24
صفحه 477:
Mapping block addr mod (# of blocks in
cache — in this case: mod (27))
مزیت : مرتبه پایین رو0| ( اندازه866ع )بیت می تواند
برای شاخص دار شدن استفاده شود
له ممم امه5م323-04وممع 224
صفحه 478:
direct/full-associative co» Bs
gslglaus «Cache @ 5 تقسیم میشود
S=2, 4, 8
Gti M cache Si@ داشته باشد که همه باهم پاشند آنگاه داریم:
5 ع blocks/set
# تعداد سباختارهای قابل دسترسی برای شاخص دار کردنٌ
482 ام هام۲9 922.00۴ وم 24
صفحه 479:
بسید اند ذر چیدمانسسمتو!
حافظه اصلی
ا--1 1001
Block 63
Block 64,
Block 65.
Block 4095,
2 لهمت Block 126
et 6:
Gag} 7 Block 127 Block 16383
{ola pst 8 6 4
EEE SE
Tag Set Word
هه ام هام۲9 922.00۴ وم 24
صفحه 480:
2 راه برای قرار گرفتن سازمان پیوسته
8 6 4 2
Set ‘Word
dell sling sth
شاخص دار كردن
thus
20 28 block/set
6 bit used to.
2° block/per set of 2rblocks
از اين رو به هم بيوستن هاى 8 بيتى يا
علامتهاى © بيتى نياز اسث
۰ ام هام۲9 922.00۴ وم 24
صفحه 481:
tag, word key
0 6-7 13 14
7 7 4
ector block ۰ 0 ع
Sevier (DD 660/69( ۰-46 x IO
block! sector
سکتور:چندین بلاک متوالی *
عاب جاده ():جايكرينوسكتور "
* بیت صحيح-يك بلاك بنا به درخواست انتقال داده شده
+e
425 ام هام۲9 922.00۴ وم 24
صفحه 482:
Block 0
Block 1 Soci
E ro
Block 15
Block 16
Secto
Block 31 8
Sector 3
1 Block 31 /
(fag | Block 112 Block 16368
Secto ۱ 3
27 Block 127 oo
11006 16383 3
آدرس حافظه اصلی 10 4 4
Sector Block Word
(tag)
نگاشت سکتور Cache
ممم و۲9 322.00۴ وم 24
صفحه 483:
02۹
8 sector
-
I
7
128 block:
oyloCache 76 pocksr
blocks/sector—
7 ححافظه اصلی دارد
6 نكاشت
ام هام۲9 922.00۴ وم
sectors 4.
224
صفحه 484:
ESAS pata
bur
structure of a four-way set-associative cache with N:
age
MISS
\epea323-04F\Topico.pot
TAGS
ser
NUMBER
224
صفحه 485:
Address (showing bit positions)
31 30-29-28 27 16/15 1 13-12 11 10918 70 5 432 bo
Byte]
sel
Tag 20 10
Hit
» Thdbx — valid Tag Data Data
وه ممم امه5م323-04وممع 224
صفحه 486:
cache ها در cw eli
< جمع بینها
of bits of a tag #) +
of bits of a block # +
of bits in valid field) x Cache size #
: ۲۱۳5منالی sl»
= 64K (bytes,
x 2¢ (1 + 32 + (32-14-2))= = 2" blocks wit!
x4924=
k bits 784 =
kbytes 100 ~
كنيد يى نكاشت مستقيم Cache
124 1 c084322-0aF Topico pot 490
صفحه 487:
به روز کردن حافظه اصلی/خط و مشي واکشی
به روز کردن : wre writes Y16~8
- باز نویسی
* یک نوشتن اشتباه شاید ربطی به حافظه اصلی نداشته
باشد
۳
+ عبور و هرور بيشثر
Sly
491 ممم امه5م323-04وممع 224
صفحه 488:
چه طور خواندن/نوشتن رابه کار
One-word-line: (DEC 3100) @
#خواندن:آسان است
*] آدرس رأ يه 686:6 مناسب یفراستیدا آدرین زا از یکی از اين دو ۵6(برای
خواندن یک دستورالعمل) با از لا ا۵(برای دسئیابی داده هاا
* اگر سیگنال Cache sl موفق شوند ,کلمه در خواست شده در خطوط
داده ها موجود است.اگر که سیگنال های 62006 دچار مشکل شوند. ما
آارس کامل را به احاقظه اطلی no فرستیم؛ زمانول که حافظه داده:ها را
بر جن گرداندا آن را دز 2۵6116 مي نويسيم
ام هام۲9 922.00۴ وم 24
صفحه 489:
:Read Miss is easy to be handled quickly@
" خواندن تگ و خواندن بلاک می تواند باهم انجام
شود
##نوشتن معمولاً کندتراست
* خواندن تگ و نوشتن بلاک نمی تواند باهم
انجام شود
) sl 52 a4 one-word-line caches)
دوه ممم امه5م323-04وممع 224
صفحه 490:
:برای خط های چند کلمه ای
ona write miss, itis a
- تغییردادن - چرخه نوشتن خواندن
بلاک اطلمل ایکا بخش توشتن بلاگ
مقابسه و سنجش نگ نمی تواند به مواززات آن انجام گیرد در
نتیجه انجام آن آهسته تر است
موه ممم امه5م323-04وممع 224
صفحه 491:
چرا؟ فرض کنید ,لا در یک ستون بکسان نگاشت شوند و در ابتدای 6۵6۳6
| دا
را داریم
x] xd xf x4
fy | dvd vd v4
224 \cneg323-04F TopicO.ppt 495
صفحه 492:
اما در پایان یک بازنویسی ۷1,۷2,۲4لابواحم
فرض کنید قبل از نوشتن ,8606 در برگیرنده سطور ۲ است,زمانی
که ۷ نوشته می شود یک فقدان , و یک نوشته رخ می دهد
2 ۷3 نوشتن
Note after write miss, if not careful, we get
[y أكدلنونا
496 ممم امه5م323-04وممع 224
صفحه 493:
through) @® ۵ 0۲) 6۳09 ۷۷/۲/۵6 - اطلاعانیکه نوشته میشود روعهر دو
cacheswLy 5 سشطح بایینتتر حافظه
(also called copy back) @ 0301 ۷۷/۸۸۵ - اطلاعاتیکه تنها روعبلاکدر ۵0۳6
رد. 20۳68 غییر بافته رویحافظه اصلی نها زما جایگزین
پاک کردن و پر کردن بلاک
ایک| بت پر نشان می دهد که آیا یک سطر تا زمانی که در 2006 است تغییر
کرده است .موقعی که یک "۱۱۳6 0[۳۵۷"جایگزین شود, باید در حافظه اصلی
بازاوینای اشوذ.
497 ام هام۲9 922.00۴ وم 24
صفحه 494:
دو تا گزینه در055 ۷/۲/66 وجود دارند
(تخصیص نوشتن (که به آن واكشى به منظور نوشتن هم كفته مى شود)بلاك بار مى شود »به
by the write-hit actions above. This is similar toa ul Jue
-read miss
@No write allocate (also called write around) - The block is
modified in the lower level and not loaded into the cache.
Think what you do when have a write mis:
498 ام هام۲9 922.00۴ وم 24
صفحه 495:
چه موقع ۲۳۲۳۵0۱191 ۷۷۲6 بهتر
d است؟
(#زمانی که از 6116 در سطحی استفاده می شود
GuulSe5S cache 426155) Cpu
+
يك تراشه بزرگ ۵66
* سازگاری آسانتر است
* به وسیله دومین 8/6 از ترافیک حافظه جلوگیری می شود
499 ام هام۲9 922.00۴ وم 24
صفحه 496:
Write-back vs. Write-
th
8 ( در حالتصومیی از کپییسهتر لس
If more than one read hit to the ۴
So attractive to multiprocessor in this sense ®
) cul ig Cache(write-through uj j4@
منطقى()اع3-لإم وعبسيار كامل است) ©
500 ام هام۲9 922.00۴ وم 24
صفحه 497:
Cont'd
Write-back vs. Write-
th
fulou ewrite-throughs! @)Buffering®
به هردو نیاز دارد؛ در حالی که 00۷-061فقط به یکی نیاز دارد. مدیریت
پیچیده است زیرا زمانی که یک ]۲6 ساخته می شود باید با 7۲6۲
همراه باشد
#قابلیت اطمینان(0] ۱9 1۱۳0ع-۷۲3۴6۵بهتر است) برای اينکه حافظه اصلی
قابلیت شناسایی خطا را دارد.
ب واضحی وجود ندارد " برحسب کارایی
501 ممم امه5م323-04وممع 224