بخشی از پاورپوینت

اسلاید 1 :

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

اسلاید 2 :

کارآیی
هواپیما سرنشین برد (mi) سرعت(mph)

Boeing 737-100101630598
Boeing 7474704150610
BAC/Sud Concorde13240001350
Douglas DC-8-501468720544
کارآیی کدام یک از هواپیماهای زیر بیشتراست؟
کنکورد از 747 چقدر سریعتر است؟
747 از DC-8 چقدر بزرگتر است؟

اسلاید 3 :

کارآیی و هزینه
کدام کامپیوتر سریعتر است؟
به این راحتی نیست
محاسبات علمی –محاسبات اعشاری
توسعه ی نرم افزار – محاسبات طبیعی
کارهای تجاری – حافظه و I/O

اسلاید 4 :

کارآیی کامپیوترها
می خواهیم سریعترین کامپیوتر را برای کار مورد نظر بخریم.
یعنی نوع کار اهمیت دارد.

می خواهیم سریعترین کامپیوتری را طراحی کنیم که مشتریان حاضرند برای آن پول پرداخت کنند.
هزینه معیار مهمی است.

اسلاید 5 :

تعریف کارآیی
برای هر کسی چه چیزی مهم است؟
کاربر سیستم کامپیوتری
مدت زمان اجرای برنامه یعنی time_end – time_start
تحت عنوان زمان پاسخ شناخته میشود

مدیر مرکز کامپیوتر
حداکثر کردن نرخ اتمام کارها یعنی #jobs/second
تحت عنوان گذردهی یا throughput شناخته میشود.

اسلاید 6 :

زمان پاسخ در مقابل گذردهی
آیا گذردهی با معکوس زمان پاسخ متناسب است؟
throughput = 1/av. response time?
اگر همپوشانی نداشته باشیم بله.
در غیر این صورت: throughput > 1/av. response time

مثال: فرض کنید یک سلف سرویس 5 کانتر دارد و برای هر شخص 2 دقیقه طول می کشد که وارد سلف سرویس شود و 10 دقیقه طول می کشد تا برای خودش غذا بکشد.
در صورتی که پنج نفر بتوانند با هم غذا سرو کنند، گذردهی برابر یک نفر در هر دو دقیقه است.
در غیر این صورت گذردهی برابر یک نفر در هر ده دقیقه است.

اسلاید 7 :

کارآیی برای ما چه مفهومی دارد؟
برای طراحان کامپیوتر:
زمان CPU= مدت زمان اجرای برنامه
چون ما علاقه مند هستیم که معیار طوری تعریف شود که مقادیر بزرگ نشان دهنده ی کارآیی بالا باشد.
Performance = 1/X
که X می تواند زمان پاسخ یا مدت زمان اجرا باشد.
معمولاً زمان دارای دو ترم است: زمان اجرا توسط CPU + زمان انتظار برای I/O
تمرکز ما روی زمان اجرا توسط CPU است.

اسلاید 8 :

بهبود کارآیی
زمان پاسخ را بهبود دهیم یا گذردهی را؟
CPU سریعتر
باعث بهبود هر دو می شود.
افزایش تعداد CPU ها
گذردهی را قطعا افزایش می دهد. ممکن است به دلیل کاهش طول صف زمان پاسخ را هم بهبود دهد.

اسلاید 9 :

مقایسه ی کارآیی
می گوییم ماشین A از ماشین B به اندازه ی n برابر سریعتر است اگر:
perf(A)/perf(B) = time(B)/time(A) = n

می گوییم ماشین A از ماشین B به اندازه ی x% سریعتر است اگر:
perf(A)/perf(B) = time(B)/time(A) = 1 + x/100

مثال: . time(A) = 10s, time(B) = 15s
A یک و نیم برابر از B سریعتر است.
A 50 درصد از B سریعتر است.

اسلاید 10 :

عوامل موثر در کارآیی
هر برنامه شامل تعدادی دستورالعمل است.
سخت افزار دستورالعملها را می شناسد نه برنامه ها را
در سطح پایینتر، سخت افزار هر دستور را در چند سیکل کلاک اجرا می کند.
در مدار کنترل یک ماشین حالت داریم که به ازای هر کلاک حالت را عوض می کند.
مثال:
500MHz P-III در هر ثانیه500M دستور اجرا می کند و هر سیکل برابر 2ns طول می کشد.
2GHz P-4 در هر ثانیه2G دستور اجرا می کند و هر سیکل برابر 0.5ns طول می کشد.

اسلاید 11 :

کارآیی پردازنده= 1 / -----------
زمان
برنامه
معماری دستورالعملها --> پیاده سازی منطقی --> پیاده سازی فیزیکی
Compiler Designer Processor Designer Chip Designer

اسلاید 12 :

قانون آیرون
دستورالعملها/برنامه
تعداد دستورالعملهای اجرا شده
وابسته به الگوریتم، کامپایلر و ISA است.
سیکلها/دستورالعمل
توسط ISA سازماندهی کامپیوتر تعیین میگردد.
اگر بین دستورالعملها همپوشانی وجود داشته باشد این ترم کاهش می یابد.
زمان/سیکل
توسط فناوری، سازماندهی و طراحی هوشمندانه ی مدار تعیین می گردد.

اسلاید 13 :

هدف ما
حداقل کردن زمان (یعنی کل عبارت) هدف ما است و حداقل کردن ترمها به تنهایی کافی نیست.
خطاهای معمول در هنگام بهینه سازی ترمها
فرض کنید ISA را طوری تغییر دهیم که باعث کاهش تعداد دستورالعملها شود.
اینکار موجب افزایش پیچیدگی ISA و در نتیجه افزایش پیچیدگی سازماندهی کامپیوتر می گردد. در نهایت نرخ کلاک کاهش خواهد یافت:
به طور کلی این ترمها به هم وابسته هستند.

اسلاید 14 :

معیارهای دیگر
MIPS و MFLOPS
MIPS = تعداد دستورالعملها/(زمان اجرا x 106)

= نرخ کلاک/(CPI x 106)
MFLOPS = FP تعداد دستورالعملهای/(زمان اجراx 106)

اسلاید 15 :

مشکلات MIPS
کاری به برنامه ندارد.
معمولاً نشان دهنده ی حداکثر کارآیی است.
حالات ایده آل  یعنی تضمین می کند که کارآیی از این بهتر نمی شود.
فقط از زمان استفاده کنید
کی استفاده از MIPS ضرری ندارد
کامپایلر و ISA یکسان باشند.
مثل اجرای یک کد باینری روی i3 و i5
زیرا در این حالت ترم Instr/program ثابت است و قابل صرفنظر کردن است.

اسلاید 16 :

مثال قانون آیرون
ماشین A: زمان کلاک 1ns و CPI 2.0 برای برنامه ی x
ماشین B: زمان کلاک 2ns و CPI 1.2 برای برنامه ی x
کدامیک سریعتر است؟

زمان/برنامه = دستورالعملها/برنامه x سیکلها/دستورالعمل x زمان/سیکل
Time(A) = N x 2.0 x 1 = 2N
Time(B) = N x 1.2 x 2 = 2.4N
Compare: Time(B)/Time(A) = 2.4N/2N = 1.2
لذا برای برنامه ی x، ماشین A 20 درصد سریعتر از ماشین B است.

اسلاید 17 :

مثال قانون آیرون
فرض کنید نرخ کلاک A و B به ترتیب برابر 1ns و 2ns است. اگر CPI(B)=1.2 باشد، CPI(A) چقدر باشد تا کارآیی هر دو ماشین برای برنامه ی x با هم برابر باشد؟
Time(B)/Time(A) = 1 = (Nx2x1.2)/(Nx1xCPI(A))
CPI(A) = 2.4

اسلاید 18 :

مثال قانون آیرون
فرض کنید CPI(A)=2.0 و CPI(B)=1.2 باشد. اگر clock(B)=2ns باشد، clock(A) چقدر باشد تا کارآیی هر دو ماشین برای برنامه ی x با هم برابر باشد؟
Time(B)/Time(A) = 1 = (N x 2.0 x clock(A))/(N x 1.2 x 2)
clock(A) = 1.2ns

اسلاید 19 :

نحوه ی میانگین گیری
یکی از جوابهای ممکن: اگر جمع کل مد نظر باشد، ماشین دوم 9.1 برابر سریعتر است.

اسلاید 20 :

میانگین گیری
جواب دیگر: میانگین حسابی (فرقی ندارد)
AM(A) = 1001/2 = 500.5
AM(B) = 110/2 = 55
500.5/55 = 9.1x

میانگین گیری حسابی در صورتی درست است که تعداد دفعات اجرای دو برنامه یکسان باشد. لذا، درستتر این است که از میانگین وزندار استفاده کنیم.

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید