You are on page 1of 15

CH 1 : Computer Abstractions and Technolog

First lecture

Slid 6 > understand performance


1- algorithm
2- Programming language, compiler, architecture
3- Processor and memory system
4- I/O system (including OS)

Slid 7 >
1- Application software
‫مكتوب بلغه عالية المستوى و يقدم خدمه للمستخدم‬
2- System software
‫ للمستخدم‬application ‫يهياء المكان المناسب لتشغيل ال‬

Slid 8 > Levels of Program Code

1) High-level language
2) Assembly language
3) Hardware representation
‫م‬
‫‪,‬‬

‫‪Second lecture‬‬
‫‪Response Time and Throughput‬‬
‫‪• Response time‬‬
‫‪How long it takes to do a task‬‬
‫‪• Throughput‬‬
‫‪Total work done per unit time‬‬

‫_ هون بحكيل عن الفرق ن‬


‫بي ال ‪ Response time‬وال ‪: Throughput‬‬ ‫ي‬
‫ال بحتاجه نظام التشغيل لتشغيل الجهاز‬ ‫_ هالء ال ‪ Response time‬ر‬
‫بتعب عن الوقت ي‬
‫ش شغل‬ ‫ن‬ ‫ن‬ ‫_ اما ال ‪ Throughput‬ف ر‬
‫يعن كم ي‬
‫بتعب عن كمية الشغل خالل وقت معي " ي‬
‫هالجهاز ر‬
‫بفبه معينه "‬

‫‪How are response time and throughput affected by‬‬


‫?‪• Replacing the processor with a faster version‬‬
‫?‪• Adding more processors‬‬

‫هون بسأل شو تأثب هاي التغبات ع ال ‪ Response time‬وال ‪Throughput‬‬

‫بحكيل لو زدنا بدلنا المعالج ب معالج ارسع‬


‫ي‬ ‫• نبدا بأول سؤال ي‬
‫والل‬
‫لو اجينا ل ال ‪ :: Response time‬منطقيا رح يقل الوقت الالزم لتشغيل الجهاز بما انو زادة‬
‫رسعة المعالج‬
‫اكب خالل‬‫طيب وال ‪ :: Throughput‬كون المعالج صار ارسع من الطبيع انو ح ينجز شغل ر‬
‫ي‬
‫نفس الوقت‬

‫‪2‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬
‫ن‬
‫بحكيل لو زدت عدد المعالجات‬
‫ي‬ ‫• ي‬
‫تان سؤال‬
‫فينا نتوقع انو وقت التشغيل ما ح يتأثر كونه التشغيل بعتمد ع معالج واحد‬
‫ن‬
‫بامكان اجزء‬ ‫طبيع انها تزيد بس بنفس الوقت بتعتمد اذا كان‬ ‫اما بالنسبه لكمية الشغل ف‬
‫ي‬ ‫ي‬
‫الشغل ع ر‬
‫اكب من معالج‬
‫وه انو جواب هاي االسأله كان بشكل بسيط و انو القد‬
‫** وهالء بدي انبه ع شغاله ي‬
‫ال فوق‬ ‫الش البسيط ي‬
‫اجاوب بشكل ادق الزم افكر بكل العوامل بس حاليا بهمنا ي‬

‫‪Relative Performance :‬‬


‫𝟏‬
‫= ‪Performance‬‬
‫𝒆𝒎𝒊𝑻‬

‫عكش مع الوقت‬
‫ي‬ ‫** من هاد القانون بقدر اعرف انو ال ‪ Performance‬بتتناسب‬
‫ف كلما كان الوقت اقل كانت ال ‪ Performance‬افضل‬

‫𝒙 𝒇𝒓𝒆𝒑‬ ‫𝒙𝑻‪𝟏/‬‬ ‫𝒚𝑻‬


‫=‬ ‫=‬
‫𝒚 𝒇𝒓𝒆𝒑‬ ‫𝒚𝑻‪𝟏/‬‬ ‫𝒙𝑻‬
‫** اما للمقارنه ن‬
‫بي جهازين نستخدم االقانون االعل و حسب النتيجه فأن ‪::‬‬

‫𝒙 𝒇𝒓𝒆𝒑‬
‫‪• If‬‬ ‫‪> 1 → perf x petter than perf y‬‬
‫𝒚 𝒇𝒓𝒆𝒑‬
‫𝒙 𝒇𝒓𝒆𝒑‬
‫‪• If‬‬ ‫‪<1 → perf y petter than perf x‬‬
‫𝒚 𝒇𝒓𝒆𝒑‬
‫𝒙 𝒇𝒓𝒆𝒑‬
‫‪• If‬‬ ‫‪= 1 → perf x = perf y‬‬
‫𝒚 𝒇𝒓𝒆𝒑‬
‫𝒙 𝒇𝒓𝒆𝒑‬
‫‪• If‬‬ ‫‪= n → x is n time fastar than y‬‬
‫𝒚 𝒇𝒓𝒆𝒑‬

‫‪Example: time taken to run a program 10s on A, 15s on B:‬‬


‫𝒂 𝒇𝒓𝒆𝒑‬ ‫𝒃𝑻‬ ‫𝟓𝟏‬
‫=‬ ‫=‬ ‫‪= 1.5‬‬
‫𝒃 𝒇𝒓𝒆𝒑‬ ‫𝒂𝑻‬ ‫𝟎𝟏‬

‫‪3‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
,

1.5 > 1 so perf A better than B


A is 1.5 times faster than B

Measuring Execution Time:


: ‫من قياسات المستخدمه لقياس وقت التنفيذ‬
1-Elapsed time
2- CPU time
CPU time ‫ونحنا ح نركز ع‬

CPU Clocking : represent time

Clock period = cycle time


cycle ‫ بتكون عباره عن مجموعه من ال‬cpu clock ‫بتمثل شكل ال‬
rate ‫ تسىم ب‬frequency ‫ال‬
_ Clock frequency (rate): 1/cycle time
• Unit freq (HZ)
- 1K= 103
- 1M= 106

4 done by : lilas qawasmeh


‫م‬
,

- 1G= 109
• Unit time (sec)
- 10−3 msec
- 10−6 𝜇sec
- 10−9 nsec
- 10−12 psec
- EX: freq = 1 GHz =109 Hz find cycle time?
- Cycle time = 1\109 = 10−9 sec = 1 nsec

Third lecture

5 done by : lilas qawasmeh


‫م‬
,

‫ن‬
‫ بحيث كل‬cycly ‫ عباره عن مجموعه من ال‬CPU clock ‫بالمحاضه الماضيه انو ال‬ ‫حكينا‬
‫ن‬
cycle time ‫معي يسىم‬ ‫ الها وقت‬cycle

‫ كامل ح نحتاج انو ن‬CPU time ‫هالء مشان نحسب ال‬


‫ ب وقت‬cycle ‫نضب عدد ال‬
‫ الواحده‬cycle ‫تنفيذ ال‬
: ‫*القانون‬
CPU time = number of cycle * cycle time
‫واحنا بنعرف انو‬
Clock frequency (rate): 1/cycle time
‫بالتال ممكن اكتب القانون هيك‬
‫ي‬
CPU time = number of cycle/ rate

Performance improved by
_ Reducing number of clock cycles
_ Increasing clock rate
_ Hardware designer must often trade off clock rate against cycle count
‫ن‬
rate ‫ او بزيادة ال‬cycle ‫ ب تقليل عدد ال‬Performance ‫تحسي ال‬ ‫يمكن‬

6 done by : lilas qawasmeh


‫م‬
,

‫هون مثال تطبيق مبارس ع القانون ر‬


B ‫ و‬A ‫افبض عنا جهازين‬
‫ن‬
‫معطين انو‬
‫ي‬
Rate A= 2GHz
CPU time = 10 s
cycle ‫المجهول عندي عدد ال‬

CPU time = number of cycle/ rate


10= #cycle /2*109
#cycle_A= 20*109
‫ال بالسؤال‬
‫ حسب العالقه ي‬#cycle_B ‫ومنها بنوجد ال‬
cycle_B = 1.2 * #cycle_A = 24*109
CPU time_B=6s ‫ الالزم لجعل‬rate ‫ش وهو انو احسب ال‬
‫ضل اخر ي‬
CPU time = number of cycle/ rate So rate = 4GHz

7 done by : lilas qawasmeh


‫م‬
‫‪,‬‬

‫‪Instruction Count and CPI:‬‬


‫ال كان عندي كود وفيو‬ ‫ن‬
‫نحك عدد ال ‪ cycle‬مبارسه طيب لو ي‬
‫ي‬ ‫الماض كنا‬
‫ي‬ ‫هالء بالقانون‬
‫مجموعة ‪ Instruction‬و ال ‪ Instruction‬الوحده بتكون من عدة ‪ cycle‬وبرضو ال‬
‫‪ Instruction‬ممكن يتكرر ر‬
‫اكب من مره ف كيف ح اطلع عدد ال ‪cycle‬‬

‫ال بتكون ال ‪ Instruction‬بنسميها‬


‫ش بدك تعرف انو عدد ال ‪ cycle‬ي‬‫الموضوع سهل اول ي‬
‫‪ cycle per instruction‬واختصارها ‪CPI‬‬
‫وانو عدد مرات تكرار ال ‪ Instruction‬بنسميها ‪ instruction count‬واختصاره ‪IC‬‬
‫الكل بساوي حاصل نضب هم‬
‫ومنها عدد ال‪ cycle‬ي‬
‫‪Clock cycle = instruction count * cycle per instruction‬‬
‫‪#cycle = IC*CPI‬‬

‫‪8‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬
‫ن‬
‫اعطان ال ‪ IC‬بفرض انو واحد‬ ‫ن‬
‫تان مبارس من الساليد وكونو ما‬
‫ي‬ ‫هون مثال ي‬
‫~~~~~~~~~~~~~~~~~~~~~~~~~~~~‬
‫‪CPI in More Detail :‬‬
‫‪If different instruction classes take different numbers of cycles‬‬
‫ر‬
‫باق ال‬
‫نحك عن حالة لو كان كل ‪ instruction‬الو عدد ‪ cycle‬مختلف عن ي‬
‫ي‬ ‫هالء ح‬
‫يعن ال ‪ CPI‬مش ثابت "‬ ‫ن‬
‫‪ " instruction‬ي‬
‫ن‬
‫اضب كل ‪ CPI‬يق عدد مارة تكرارها ‪ IC‬وبجمع نضب هم مع بعض‬ ‫بالتال رح ن‬
‫ي‬
‫بصيغه رياضيات واضحه ر‬
‫اكب‬
‫‪#cycle = CPI1 * IC1 + CPI2 * IC2 + CPU3*IC3 + .....‬‬
‫𝑘_𝐼𝐶 ∗ 𝑘_𝐼𝑃𝐶 ‪#cycle = ∑𝑛𝑘=0‬‬
‫ن‬ ‫ن‬
‫ان اوجد ال ‪CPI average‬‬
‫وه ي‬
‫و يق طريقه تانيه ي‬
‫‪#cycle = IC * CPIavg‬‬
‫لحساب ال ‪ CPI avg‬اوجد عدد ال ‪ cycle‬وبقسمه ع عدد ال ‪instruction‬‬

‫مثال ‪:‬‬
‫‪ic‬‬ ‫‪Cpi‬‬
‫‪10x‬‬ ‫‪3‬‬
‫‪5y‬‬ ‫‪4‬‬
‫‪5z‬‬ ‫‪2‬‬

‫‪#cycle = 10*3+5*4+5*2 = 60‬‬


‫الكل ‪IC‬‬
‫‪ = 20‬ي‬
‫‪CPIavg = 60/20 = 3‬‬

‫‪9‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬

‫‪Fourth lecture_Amdahl’s Law Tutorial‬‬

‫نحك عن قانون ‪ Amdahl’s‬و موضوعه سهل‬ ‫ن‬


‫المحاضه ح‬ ‫بهاي‬
‫ي‬
‫بحكيل انت لما بدك تحسن ال ‪ perf‬ل‬
‫ي‬ ‫هالء نحنا كل هدفنا نحسن ال ‪ performance‬ف‬
‫ن‬
‫معي الزم يكون عندك فكره او تكون عامل دراسه وتحليل لهاد النظام بحيث تكون‬ ‫‪system‬‬
‫لحن تعرف شو بتقدر تحسن‬ ‫عارف وين ال ‪ memory‬ضاعة وين ال ‪ perf‬ضايع ر‬

‫ن‬
‫معي بحتاج لمده زمنيه محدده ليشتغل ف الزم‬ ‫بحكيل ‪ :‬انو لو كان نظام‬ ‫ف هاد القانون‬
‫ي‬
‫اعرف وين ضاع هاد الوقت‬

‫عبنا عن الوقت بخط عددي وحكينا انو ر‬


‫الفبه كلها عباره عن ‪ 100%T‬ف ع فرض انو كان‬ ‫ر‬
‫ال ح‬
‫الكل ف بعرف مبارسه انو الوقت ي‬
‫عندي عمليه معينه بتستهلك وقت )‪ (n‬من الوقت ي‬
‫ر‬
‫الكل هو ‪100‬‬
‫باق العمليات هو ‪ 100-n‬النو اتفقنا انو الوقت ي‬
‫تستهلكه ي‬
‫‪By a factor of x‬‬
‫ن‬
‫يعن انو قيمة ‪ n‬رح تقل كونو‬ ‫ن‬
‫هالء هون لو بدي اعمل تحسي ع قيمه ‪ n‬بمقدار ‪ x‬فهاد ي‬
‫ن‬
‫التحسي رح يكون‬ ‫بالتال الوقت بعد‬ ‫الوقت االفضل هوه االقل‬
‫ي‬
‫𝑛‬
‫)‪Timenew = + (100-n‬‬
‫𝑥‬
‫ر‬
‫باق الوقت ن ن‬
‫ببل زي ما هو‬ ‫ال حسنتو ع المقدار اما ي‬
‫اي انو رح اقسم قيمه الوقت ي‬

‫‪Example: multiply accounts for 80s/100s‬‬


‫?‪How much improvement in multiply performance to get 5× overall‬‬

‫‪10‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬

‫ن‬
‫يعن بضل لل ‪other‬‬
‫بحكيل انو ال ‪ multiply‬بتستهلك ‪ %80‬من الوقت ي‬
‫ي‬ ‫هاد السؤال‬
‫(الشغالت التانيه ) ‪ %20‬من الوقت‬
‫كل خمس مرات‬
‫بحكيل كم بحتاج احسن ع ال ‪ multiply‬بحيث يتحسن االداء ال ي‬
‫ي‬
‫االصل‬ ‫ن‬
‫يعن بدي يصب خمس الوقت‬
‫ي‬ ‫الكل ‪ 100%T‬بدي يحسن خمس مرات ي‬
‫هالء الوقت ي‬
‫‪Tnew = T/5 = 0.2T‬‬
‫كالتال‬
‫ي‬ ‫العرف كم الزم احسن ع قيمة ال ‪ multiply‬بعمل‬
‫𝑇‪80%‬‬
‫= ‪Tnew‬‬ ‫‪+ 20%T‬‬
‫𝑥‬
‫𝑇‪0.8‬‬
‫= ‪0.2T‬‬ ‫‪+ 0.2T‬‬
‫𝑥‬

‫الزم نحل المعادله لنوجد قيمه ‪x‬‬


‫𝑇‪0.8‬‬ ‫𝑇‪0.8‬‬
‫= ‪0.2T - 0.2T‬‬ ‫→‬ ‫‪=0‬‬
‫𝑥‬ ‫𝑥‬
‫ر‬
‫وحن يساوى هاد المقدار صفر ف ‪ x‬ح تساوي الماالنهايه‬
‫بالتال هاد التحسن ع الوقت مش ممكن يصب‬
‫ي‬
‫ن‬
‫يعن منطقيا مش ممكن يتنفذ اي جزء من الشغل بصفر ثانيه‬
‫ي‬

‫‪Example‬‬
‫‪• 20% of time doing integer instructions‬‬
‫‪• 35% percent of time doing I/O‬‬
‫?‪–Which is the better tradeoff‬‬
‫‪•Compiler optimization that reduces number of‬‬
‫‪integer instructions by 25% (assume each integer‬‬
‫)‪instruction takes the same amount of time‬‬
‫‪•Hardware optimization that reduces the latency of each IO operations‬‬
‫‪from 6us to 5us‬‬

‫‪11‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬

‫بحكيل انو ال ‪ integer‬بستهلك ‪ 20%‬وال ‪ I/O‬بستهلك ‪ 30%‬بضل لل ‪other‬‬


‫ي‬ ‫هاد المثال‬
‫‪Other = 100-20-35=45 %‬‬
‫ن‬
‫تحسيني وبدو احدد االفضل فيهم‬ ‫ن‬
‫واعطان‬
‫ي‬
‫نبلش باالول‬
‫بحكيل انو اقلل عدد ال ‪ instruction‬لل ‪ int‬بنسبة ‪ 25%‬فال ‪ time‬رح يتغب‬
‫ي‬
‫كالتال‬
‫ي‬ ‫هالء قبل التغب ف ‪ time‬ال ‪int‬‬
‫‪Time = CPI*IC*T =0.2‬‬
‫لما اقلل ال ‪ IC‬بنسبة ‪ %25‬كم ح تصب ال ‪ ICnew‬؟‬
‫‪ICnew = IC – IC*0.25 = 0.75 IC‬‬
‫ف الوقت بعد التغب بصب‬
‫‪T_intnew = CPI* ICnew *T‬‬
‫‪T_intnew = CPI* 0.75 IC *T = 0.75 *CPI*IC*T = 0.75*0.2 =0.15‬‬
‫‪So → Timenew = T_intnew + T_I/O + T_other‬‬
‫‪= 0.15+0.35+0.45 = 0.95 s‬‬
‫انتبه انو ال ‪ time‬لل ‪ I/O‬و لل ‪ other‬ما بتغب‬

‫ال ال ‪ I/O‬بقل من ‪ 6‬ل ‪ 𝜇 𝑠𝑒𝑐 5‬ف شو ح يصب‬ ‫الوقت‬ ‫انو‬ ‫بحكيل‬ ‫ن‬
‫تحسي‬ ‫تان‬‫طيب ن‬
‫ي‬ ‫ي‬ ‫ي‬
‫الكل؟‬
‫للوقت ي‬
‫ن‬
‫شغالي عال ال ‪ I/O device‬مش ع ال‬ ‫مع شوي بدي تعرفو انو ال‪I/O‬‬‫هون ركزو ي‬
‫ن‬
‫المحاضه الماضيه‬ ‫ال اخدناهم‬ ‫ن‬ ‫ن‬
‫يعن ما بنطبق عليهم قواني ال ‪ time‬ي‬
‫‪ processor‬ي‬
‫طيب كيف ح نحسب الوقت الجديد ؟ بستخدم النسبه والتناسب‬
‫‪6 𝜇 𝑠𝑒𝑐 → 0.35‬‬

‫‪12‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬

‫?? → 𝑐𝑒𝑠 𝜇 ‪5‬‬


‫بالتال ال ‪ T_I/Onew =0.291T‬ومنو منحسب ال ‪ T‬الكليه‬
‫ي‬
‫‪Timenew= 0.2 + 0.291 +0.45 = 0.941‬‬
‫ن‬ ‫ن‬
‫اذا ‪ :‬التحسي ي‬
‫التان هو االفضل النو وقته اقل‬
‫‪Example‬‬
‫‪• Memory operations currently take 30% of execution time.‬‬
‫‪• A new widget called a “cache” speeds up 80% of memory operations‬‬
‫‪by a factor of 4‬‬
‫‪• A second new widget called a “L2 cache” speeds up 1/2 the remaining‬‬
‫‪20% by a factor or 2.‬‬
‫?‪• What is the total speed up‬‬
‫حكال انو ال ‪ memory‬بتستهلك ‪ %30‬من الوقت‬ ‫ي‬ ‫‪)1‬‬
‫يعن ع ‪ %80‬من ال ‪%30‬‬ ‫ن‬
‫استخدم جهاز بشتغل عل ‪ %80‬من وقت ال ‪ memory‬ي‬ ‫‪)2‬‬
‫يعن ح يشتغل ع ‪ 30*0.8%=24%‬بحيث انو يتحسن بمعامل ‪4‬‬ ‫ن‬
‫من الوقت االصل ي‬
‫بالتال رح يصب الوقت ‪24%/4=6%‬‬ ‫يعن بقسمه ع المعامل‬ ‫ن‬ ‫رن‬
‫ي‬ ‫**نبكر وقت بتحسن ي‬
‫ال ضلو من ال ‪ memory‬ومقدارهم ‪ 30*0.2%=0.6‬رح‬ ‫وحكال انو ال ‪ %20‬ي‬
‫ي‬ ‫‪)3‬‬
‫يعن ح تصب ‪ 1.5%‬وال‬‫ن‬ ‫ن‬ ‫ن‬
‫يعن ع ‪ %3‬ويحسنها بمعامل ‪ 2‬ي‬‫تان ع نصهم ي‬ ‫يشتغل جهاز ي‬
‫ه‬‫‪ %3‬التانيه بتضل زي ما ي‬
‫ن‬
‫التحسي‬ ‫هالء بقدر احسب الوقت بعد‬ ‫‪)4‬‬
‫‪Tnew = 70%+6%+1.5%+3% = 80.5%‬‬

‫‪13‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
‫‪,‬‬

‫هون عندي ‪ class‬بدو اعرف ن‬


‫مي االرسع فيهم‬
‫حكال ال ‪ IC‬بتتقسم عليهم بالتساوي وكونو كل واحد فيه اربعه‬‫ي‬ ‫ال بالسؤال انو‬
‫الفكره ي‬
‫‪ instruction‬ف لكل وحده رب ع ال ‪ IC‬الكليه‬
‫الحل مبارس ع القانون‬

‫‪14‬‬ ‫‪done by : lilas qawasmeh‬‬


‫م‬
,

15 done by : lilas qawasmeh

You might also like