نگاهی به سیر صعودی معماری کامپیوتر
1950 تا دهه 1960 : معماری کامپیوترهای محاسباتی
1970 تا اواسط دهه 1980 : طراحی مجموعه دستورالعملها
1990 : طراحی مالتی پروسسورها و شبکه ها
تطبیق سیستمها , سازماندهی ساختارها , 2010: محاسبات کوانتومی و یا سیستمهای DNA
مروری بر تکامل معماری کامپیوتر و تکنولوژی
دهه 1950: تکنولوژی لامپهای خلاء
سال 1951:ارائه Index Register ها
سال 1958:تکنولوژی ترانزیستورها
سال 1960:
– بحث حفاظت از حافظه و Demand Paging
– بحث Pipeline ، Super Scaler ، زمانبندی دینامیک
– بحث Cache Memory
دهه 1970:تکنولوژی حافظه های نیمه هادی و Microprocess
دهه 1980-1990:معماری های بهتر و سریعتر
مقیاسها و ارزش گذاریها در طراحی کامپیوترها
طراحی تحلیل
هزینه کارآیی
عقاید خوب
متوسط
عقاید بد
مهارت
علل معماریهای مختلف کامپیوتر چیست ؟
Sort
Estimate
Cost&
Performance
خلق مفاهیم جدید
عقاید خوب
عقاید متوسط
عقاید بد
علل اصلی معماریهای مختلف کامپیوتر
معماری کامپیوتر یک زمینه تحریک برانگیز برای تحقیق است .
معماری کامپیوتر نقطه تلاقی مهندسی کامپیوتر و الکترونیک است و در نتیجه پیشرفت مهندسی الکترونیک منجر به پیشرفت معماری کامپیوتر می شود .
بالا رفتن سطح توقعات از سخت افزار کامپیوتر و کاربرد های مختلف کامپیوتر منجر به معماریهای جدید می شود .
دیدگاه اصلی
Processor
Memory
Input
Output
Control
Datapath
instruction
Data
نمونه ای از سازماندهی کامپیوتر
Super SPARC
Floating – point Unit
Integer Unit
Inst
Cache
Ref
MMU
Data
Cache
Store
Buffer
Bus Interface
L64852
SBus
DMA
Sbus
Cards
STDIO
عوامل موثر در معماری کامپیوتر
Computer
Architecture
زبانهای برنامه نویسی
مهارتها
تاریخچه
تکنولوژی
کاربردها
سیستم عامل
تکنولوژی در معماری کامپیوتر
نرخ رشد Processor
– ظرفیت منطقی : در حدود 30% در سال افزایش می یابد.
– Clack Rate : در حدود 20% در سال افزایش می یابد.
نرخ رشد حافظه
ظرفیت DRAM : در حدود 60% در سال افزایش می یابد
– سرعت Memory : در حدود 10% در سال افزایش
– قیمت هر بیت حافظه : در حدود 25% در سال کاهش می یابد.
نرخ رشد Disk :
– ظرفیت Disk : در حدود 60% در سال افزایش می یابد.
– بهره برداری از داده : در هر 9 ماه 100% افزایش می یابد !
پهنای باند شبکه :
– پهنای باند شبکه بیس از 100% در سال افزایش می یابد.
نمودار بهبود کارآیی کامپیوتر در گذر زمان
Log of Performance
supercomputer
Mainframes
Minicomputers
Microprocessors
1970
1995
1985
Spec کارآیی پردازنده ها
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
RISC Introduction
performance
year
RISC مشخصات کامپیوترهای
1. تعداد دستورالعملهای نسبتا کم
2. تعداد شیوه های آدرس دهی کم
3. مراجعه به حافظه محدود به دستورالعملهای Load و Store
4. همه عملیاتها در ثباتهای CPU انجام می شوند
5. قالب دستورالعملها طول ثابتی دارند و به آسانی کد گشایی می شوند
6. اجرای دستورالعملها تک چرخه ای است
7. کنترل از نوع سخت افزاری است
CISC مشخصات کامپیوترهای
1. تعداد زیاد دستورالعملها
2. شیوه های آدرس دهی متعدد
3. قالبهای دستورالعملها طول متغیر دارند
4. کنترل از نوع Microprogramming
طبقه بندی سبکهای طراحی کامپیوتر
Custom ALU
Custom Register file
Gates
Standard Registers
Standard ALU
Gates
Routing Channel
Gates
Gates
Routing Channel
Custom Control Logic
Standard Cell Gate
Array/FPGA/CPLD
Machine State
Machine State
Memory
Register
IP
معماری کامپیوتر چیست؟
از جمله وظایف معماری کامپیوتر :
هماهنگی سطوح جداگانه کامپیوتر
طراحی – مدیریت و ارزشیابی کامپیوتر
Application
Operating
System
Compiler
Firmware
Inst.Set Proc
I/O System
Datapath & Control
Instroduction set
Digital Design
Layout
دیدگاه بالا به پایین در معماری کامپیوتر
1. سیستم چه کارهای باید انجام دهد ؟
چه کسی از سیستم استفاده خواهد کرد ؟
2. تحلیل پارامتر مختلف
توابع ، ابعاد کارآیی ، سایز سیستم ، عوامل محیطی ، هزینه ، قابلیت اعتماد به سیستم .
3. پارتیشن بندی :
سطوح داخلی : Application , System Soft Ware
Firm Ware , Hard Ware
ماژولهای منطقی :CPU, I/O Processor, Memory
ماژولهای فیزیکی : مدارات مجتمع و …
شمای مجموعه دستورات
—-
–
S/W
H/w
نمونه هایی از معماری های مختلف مجموعه دستورالعملها
معماری مجموعه دستورات
فرمت و شکل دستورات و کد گذاری کردن دستورات
محل و جایگاه عملوندها و نتایج عملوندها
نوع و سایز عملوندها
عملگر ها
دستور بعدی
چرخه دستورعمل به صورت زیر است:
واکشی دستورات
دیکد دستورات
واکشی عملوند
اجرا
ذخیره نتیجه
دستور العمل بعدی
ISA کلاس های اصلی
انباره
پشته
ثبات همه منظوره
Load / Store
تسلط کلاس ثباتهای همه منظوره بر سایر کلاسها
1- ثباتها از حافظه سریعترهستند.
2ـ کامپا یلر از ثباتها می تواند راحت تر استفاده کند.
3ـ ثباتها می توانند متغیر ها را نگه دارد.
هنگامی که متغیر ها در داخل ثبات قرار می گیرد ترافیک حافظه کاهش می یابد
تراکم کد بهبود پیدا می کند
MIPS I ثباتهای
یک ذخیره گاه قابل برنا مه نویسی است.
دارای چهار گیگا بایت فضای آدرس دهی است.
دارای 31 عدد ثبات همه منظوره 32 بیتی است
دارای 32 عدد ثبات اعشاری 32 بیتی است.
شی های آدرس دهی
Endianess
Alignment
انواع مدهای آدرس دهی در پردازنده ها
کاربرد مدهای آدرس دهی
خلاصه ای از آدرس دهی
مدهای آدرس دهی مهم جایگزینی،بلافصل و ثبات غیر مستقیم است.
اندازه دستورات درآدرس دهی جایگزینی باید 12 تا 16 بیت باشد.
اندازه دستورات درآدرس دهی بلا فصل باید 8 تا 16 بیت باشد .
فرمت و شکل دستورات
دستورات دارای سه فرمت می باشند :
متغیر
ثابت
ترکیبی(Hybrid)
MIPS مد های آدرس دهی
آدرس دهی مستقیم ثباتی
آدرس دهی بلافصل
آدرس دهی شاخص(Base+index)
آدرس دهی Pc_relative
MIPS فرمت
دستورات مهم 86×80
انواع داده ها
بیت
رشته بیت
کاراکتر
دسیمال
عدد صحیح
نقطه اعشاری
دقت Single
دقت Double
دقت Extended
MIPS دستورالعمل های محاسباتی
Add
Subtract
Add immediate
Add unsigned
Subtract unsigned
Add imm.unsign
Multiply
Multiply unsigned
Divide
Divide unsigned
Move from HI
Move from LO
MIPS دستور العمل های منطقی
and
or
xor
nor
And immediate
Or immediate
Xor immediate
Shift left logical
Shift right logical
Shift right arithm
Shift left logical
Shift right logical
Shift right arithm
MIPS دستورات انتقال داده
Sw 500(R4),R3
Sw 502(R2),R3
Sw 41(R3),R2
Lw R1,30 (R2)
Lh R1,40 (R3)
Lhu R1,40 (R3)
Lb R1,40 (R3)
Lbu R1,40 (R3)
MIPS گسترش علامت در
– عملیات بلافصل منطقی ، گسترش صفر می یابند ( به 32 بیت )
– عملیات بلافصل محاسباتی ، گسترش علامت می یابند ( به 32 بیت )
-Ibu و Ihu گسترش صفر می یابند .(مقادیر بدون علامت)
– Lb و Ih گسترش علامت می یابند . (مقادیر علامت دار )
مثال :
R1 = 0000 0000 0000 0000 0001
R2 = 0000 0000 0000 0000 0010
R3 = 1111 1111 1111 1111 1111
بعد از اجرای این دستورات :
Slt R4 ,R2,R1 : if (R2<R1) then R4=1 else R4=0
Slt R5 ,R3,R1 : if (R3<R1) then R5=1 else R5=0
Sltu R6 ,R2,R1 : if (R2<R1) then R6=1 else R6=0
Sltu R7 ,R3,R1 : if (R3<R1) then R7=1 else R7=0
انشعاب شرطی
آدرس دهی در انشعاب شرطی
· * PC_relative است ، زیرا اکثر انشعاب ها نسبتا به PC جاری نزدیک هستند
MIPSدستورات انشعاب و مقایسه در
Compare and Branch *
BEQ rs, rt, offset if R[rs]==R[rt] then PC-relative branch
BNE rs, rt, offset <>
Compare to zero and Branch *
BLEZ rs, offset if R[rs]<=0 then PC-relative branch
BGTZ rs, offset >
BLT <
BGEZ >=
BLTZAL rs, offset if R[rs]<0 then branch and link (into R 31)
·
MIPS 1 مشخصات بر جسته
دستورات در این ساختار به صورت ثابت 32 بیتی است
دارای 32 تا 32 GPR بیتی است
سه آدرس است ( دستورات ریاضی ثبات , ثبات )
دارای مد آدرس دهی جداگانه ای برای Load ,Store هستند
دارای دستوربلافصل 16 بیتی بهمراه LUI است
دارای انشعاب شرطی ساده است
دارای انشعاب به تاخیر افتاده است
MIPS 1 دستورات متفرقه
Break
Syscall
دستورات Coprocessor
دستورات TLB
برگرداندن از حالت استثنائی Kernel/User
Load word left/right
Store word left/right
MIPS 1 دستورات متفرقه
حافظه پشته
پرش با تاخیر
Branch & pipeline
execute
execute
execute
execute
execute
Instrution
fetch
Instrution
fetch
Instrution
fetch
Instrution
fetch
time
Branch
Delayed Slot
Performance
جنبه های برتری کامپیوتر ها
بهترین کارآیی
کمترین هزینه
بهترین نرخ هزینه / کارآیی
جنبه طراحی
بهترین کارآیی
کمترین هزینه
بهترین نرخ هزینه / کارآیی
Clock Per Instrction
CPI = Cpu Time * Clock Rate
Instraction Count
CPU Time = Clock Cycle Time * CPI * Ci
CPI = CPI * fi where fi = Ci/Instraction count
قانون امدال
زمان اجرا قبل از بهبود /زمان اجرا بعد از بهبود = Speed up E
کارایی قبل از بهبود/ کارآیی پس از بهبود =
قانون امدال به دو عامل بستگی دارد :
آن قسمت از Task که بهبود یافته نسبت به کل Task چند درصد است .
آن قسمت از Task که بهبود بخشیده شده است در Task بعدی چقدر سریتر می شود.
Speed up(With E) =1/((1-F) + (F/S))
SPEC95
Spec 95 شامل 18 برنامه Bench Mark است
هشت برنامه Integer عبارتند از :
Go
M88ksim
Gnu
Compress
Li
JPEG
Perl
Vortex
SPEC95
10 برنامه Float Point عبارتند از :
Tomcatv
Swim
Su2cor
Hydro2d
Mgrid
Applu
Turb3d
Apsi
Fppp
Wave