🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

04__AOK__Ligjërata 4__Vlerësimi i performancës së procesorit -- MSc. Valdrin Haxhiu.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Kolegji UBT Arkitektura dhe organizimi i kompjuterëve Ligjërata 4 Vlerësimi i performancës së procesorit MSc. Valdrin Haxhiu MSc. Valdrin Haxhiu 4. Vlerësimi i performancës së procesorit Gjatë vlerësimit të harduerit të procesorit, performanca është një prej parametrave kyç që duhet të merret parasy...

Kolegji UBT Arkitektura dhe organizimi i kompjuterëve Ligjërata 4 Vlerësimi i performancës së procesorit MSc. Valdrin Haxhiu MSc. Valdrin Haxhiu 4. Vlerësimi i performancës së procesorit Gjatë vlerësimit të harduerit të procesorit, performanca është një prej parametrave kyç që duhet të merret parasysh bashkë me çmimin, madhësinë, sigurinë, besueshmërinë dhe shpenzimin e rrymës elektrike. Performanca e një procesori gjatë ekzekutimit të një programi të caktuar ka më shumë rëndësi se vetëm shpejtësia e punës së procesorit e shprehur si frekuencë e orës (ang. clock rate). Puna e procesorit gjatë ekzekutimit të instruksioneve të programeve të ndryshëm duhet të sinkronizohet me sinjale sinkronizuese që procesorit i shkojnë nga jashtë. Sinjalet sinkronizuese i krijon kristali i kuarcit, i cili nën ndikimin e elektricitetit dridhet dhe lëshon sinjale analoge që pastaj shndërrohen në sinjale digjitale nga një shndërrues i sinjalit analog në digjital. Sinjalet e kuarcit të kristalit formojnë orën e sistemit (ang. system clock). Në Figura 4.1 është paraqitur thjeshtë koncepti i një kristali të kuarcit. Sinkronizimi i punës së procesorit bëhet me qëllim që rezultatet e përpunimit të kenë kuptim. Figura 4.1- Koncepti i kristalit të kuarcit dhe një pamje e një kristali të kuarcit bashkë me clock generator në një pllakë amë të kompjuterit 4.1.1 Shpejtësia e orës (ang. clock speed) dhe instruksionet për sekondë Punët që kryhen brenda në kompjuter sinkronizohen nga një ose më shumë orë të sistemit. Operacionet që kryhen në procesor fillojnë me pulsin e sinjalit të orës. Shpejtësia e punës së një procesori varet mes tjerash edhe nga frekuenca e pulsit të orës. Frekuenca e pulseve matet me cikle për sekondë ose hertz (Hz). Në Figura 4.2 është paraqitur forma e sinjalit të orës. Figura 4.2 – Forma e sinjalit të orës 1 MSc. Valdrin Haxhiu Cikli i orës (ang. clock cycle) paraqet një kalim të sinjalit digjital nga vlera 1 në 0 dhe 0 në 1 (shikoni në Figura 4.2). Shigjeta e paraqitur në figurë me orientim lart tregon tehun rritës (ang. rising edge) kur sinjali kalon prej vlerës 0 në vlerën 1 dhe shigjeta e orientuar poshtë tregon tehun rënës (ang. falling edge) kur sinjali kalon prej vlerës 1 në 0. Frekuenca e orës (ang. clock rate) shprehet me shprehjen: 𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑐𝑎 𝑒 𝑜𝑟ë𝑠 = 1 𝑐𝑖𝑘𝑙𝑖 𝑖 𝑜𝑟ë𝑠 ose 𝑓 = 1 𝐶 Cikli i instruksionit tregon punën që kryen procesori për ekzekutimin e një instruksioni. Disa instruksione ekzekutohen me vetëm një cikël të orës dhe disa instruksione tjera ekzekutohen me një numër të caktuar të cikleve të orës. Numri i cikleve të ekzekutimit të një instruksioni paraqitet me cikle për instruksion (ang. cycles per instruction). Prej vlerës së cikleve për instruksion mund të nxjerret vlera e instruksione për cikël përmes shprehjes: 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛𝑒 𝑝ë𝑟 𝑐𝑖𝑘ë𝑙 = 𝐼𝑃𝐶 = 1 1 = 𝑐𝑖𝑘𝑙𝑒 𝑝ë𝑟 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛 𝐶𝑃𝐼 4.1.2 Koha e ekzekutimit të programit Një program që kompajlohet për t’u ekzekutuar në një procesor (CPU) të caktuar pas ekzekutimit i ka këto karakteristika: numri i përgjithshëm i instruksioneve të ekzekutuara në program (I), numri mesatar (vlera efektive) i cikleve për instruksion (CPI mesatare) dhe cikli i orës i procesorit (C). Performanca e procesorit që e ekzekuton këtë program mund të matet përmes vlerës reciproke të kohës së përgjithshme të ekzekutimit të programit dhe shprehet përmes shprehjes: 𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑎 = 1 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡 4.1.3 Krahasimi i performancës së procesorit përmes kohës së ekzekutimit Krahasimi i performancës së dy procesorëve mund të bëhet duke krahasuar performancën e secilit prej tyre përmes shprehjes së raportit të performancave të tyre. Shembull 1: Koha e ekzekutimit të programit në procesorin A është: koha e ekzekutimitA = 1 sekondë dhe koha e ekzekutimit të programit në procesorin B është: koha e ekzekutimitB = 8 sekonda. 2 MSc. Valdrin Haxhiu Procesori A është n herë më i shpejtë se procesori B. Raporti i performancave shprehet me shprehjen: 𝑠ℎ𝑝𝑒𝑗𝑡𝑖𝑚𝑖 = 𝑛 = 𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑎𝐴 = 𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑎𝐵 1 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡𝐴 1 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡𝐵 = 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡𝐵 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡𝐴 = 8𝑠 1𝑠 =8 Procesori A është 8 herë më i shpejtë se procesori B. 4.1.4 Koha e ekzekutimit në CPU: ekuacioni i CPU-së Koha e ekzekutimit të një programi në CPU shprehet përmes ekuacionit: 𝑡 = I ∙ CPI ∙ C Nëse në ekuacionin e paraqitur më lart parametri I, CPI dhe C zëvendësohen me shprehjet: 𝐼= numri i instruksioneve të ekzekutuara program 𝐶𝑃𝐼 = 𝐶 = cikle instruksion sekondat cikël fitohet ekuacioni: 𝑡= sekondat program = numri i instruksioneve të ekzekutuara program ∙ cikle instruksion ∙ sekondat cikël Shembull 1: Përmes ekuacionit të CPU-së mund të llogarisim kohën e ekzekutimit të një programi që ka këto karakteristika: 10 milionë instruksione të ekzekutuara, numri mesatar i cikleve për instruksion 𝐶𝑃𝐼 = 2 𝑐𝑖𝑘𝑙𝑒 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛 dhe CPU me frekuencë të orës 2.5 GHz (Giga Hertz). Zgjidhje: Për frekuencë të orës 2.5 GHz kemi: 𝑐𝑖𝑘𝑙𝑖 𝑖 𝑜𝑟ë𝑠 = 𝐶 = 1 𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑐𝑎 𝑒 𝑜𝑟ë𝑠 = 1 2.5 𝐺𝐻𝑧 = 1 2.5 ∙109 𝐻𝑧 = 1 2.5 ∙ 109 1 𝑠 = 1 2.5 ∙ 10−9 𝑠 = 0.4 ∙ 10−9 𝑠 = 0.4 𝑛𝑠 ns- nanosekondë, 1ns = 10-9s 3 MSc. Valdrin Haxhiu 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡 𝑛ë 𝐶𝑃𝑈 = 𝑡1 = 𝑠𝑒𝑘𝑜𝑛𝑑𝑎𝑡 𝑐𝑖𝑘ë𝑙 = 10000000 ∙ 2 ∙ 4 ∙ 10 𝑛𝑢𝑚𝑟𝑖 𝑖 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛𝑒𝑣𝑒 𝑡ë 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑢𝑎𝑟𝑎 𝑝𝑟𝑜𝑔𝑟𝑎𝑚 −10 𝑐𝑖𝑘𝑙𝑒 ∙ 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛 ∙ 7 𝑠 = 10 ∙ 2 ∙ 4 ∙ 10−10 𝑠 = 8 ∙ 10−3 𝑠 = 0.008 𝑠 Shembull 2: Sa është shpejtimi i ekzekutimit i të njëjtit program që u shqyrtua në shembullin 1 nëse parametrat janë: 10 milionë instruksione të ekzekutuara, numri mesatar i cikleve për instruksion 𝑐𝑖𝑘𝑙𝑒 𝐶𝑃𝐼 = 3 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛 dhe CPU me frekuencë të orës 4.0 GHz? Zgjidhje: Për frekuencë të orës 4.0 GHz kemi: 𝑐𝑖𝑘𝑙𝑖 𝑖 𝑜𝑟ë𝑠 = 𝐶 = 1 𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑐𝑎 𝑒 𝑜𝑟ë𝑠 = 1 4 𝐺𝐻𝑧 = 1 4 ∙109 𝐻𝑧 = 1 1 4 ∙ 109 𝑠 1 = 4 ∙ 10−9 𝑠 = 0.25 ∙ 10−9 𝑠 = 0.25 𝑛𝑠 𝑘𝑜ℎ𝑎 𝑒 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑖𝑚𝑖𝑡 𝑛ë 𝐶𝑃𝑈 = 𝑡2 = 𝑠𝑒𝑘𝑜𝑛𝑑𝑎𝑡 𝑐𝑖𝑘ë𝑙 𝑛𝑢𝑚𝑟𝑖 𝑖 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛𝑒𝑣𝑒 𝑡ë 𝑒𝑘𝑧𝑒𝑘𝑢𝑡𝑢𝑎𝑟𝑎 𝑝𝑟𝑜𝑔𝑟𝑎𝑚 𝑐𝑖𝑘𝑙𝑒 ∙ 𝑖𝑛𝑠𝑡𝑟𝑢𝑘𝑠𝑖𝑜𝑛 ∙ = 10000000 ∙ 3 ∙ 0.25 ∙ 10−9 𝑠 = 107 ∙ 3 ∙ 0.25 ∙ 10−9 𝑠 = 0.75 ∙ 10−2 𝑠 = 0.007 𝑠 𝑠ℎ𝑝𝑒𝑗𝑡𝑖𝑚𝑖 = 𝑡1 𝑡2 = 0.008 𝑠 0.007 𝑠 =1.14 Programi është ekzekutuar në procesorin e dytë për 1.14 herë më shpejt se në procesorin e parë ose 14%. 4 MSc. Valdrin Haxhiu 4.2 Ligji i Amdahlit (Amdahl’s Law) Një mënyrë tjetër e vlerësimit të performancës së sistemeve kompjuterike është përmes ligjit të Amdahlit. Ky ligj flet për mundësinë e përmirësimit të performancës së një sistemi kompjuterik duke përmirësuar perfomancën e një pjese të sistemit kompjuterik. Sipas ligjit të Amdahlit, përmirësimi i performancës do të varet nga ajo se sa kohë përdoret pjesa e përmirësuar. Gjatë ekzekutimit më të shpejtë të një programi në procesor, niveli i përmirësimit të performancës do të varet prej kohës së përdorimit të pjesës së përmirësuar e cila e shpejton ekzekutimin. Ligji i Amdahlit definon shpejtimin (ang. speedup) që shprehet përmes shprehjes (si raport): shpejtimi = performanca e krejt punës duke përdorë përmirësimin kur është e mundur performanca e krejt punës duke mos përdorë përmirësimin ose përmes shprehjes: koha e ekzekutimit të krejt punës duke mos përdorë përmirësimin shpejtimi = koha e ekzekutimit të krejt punës duke përdorë përmirësimin kur është e mundur Koha e ekzekutimit të programit në kompjuter duke përdorë përmirësimin do të jetë: 𝐏𝐣𝐞𝐬𝐚 me përmirësim Koha e ekzekutimite re = Koha e ekzekutimite vjetër ∙ ((1 − 𝐏𝐣𝐞𝐬𝐚me përmirësim ) + 𝐒𝐡𝐩𝐞𝐣𝐭𝐢𝐦𝐢 ) me përmirësim 5 MSc. Valdrin Haxhiu Shpejtimi i përgjithshëm shprehet përmes: Shpejtimii përgjithshëm = 𝐊𝐨𝐡𝐚 𝐞 𝐞𝐤𝐳𝐞𝐤𝐮𝐭𝐢𝐦𝐢𝐭 e vjetër 𝐊𝐨𝐡𝐚 𝐞 𝐞𝐤𝐳𝐞𝐤𝐮𝐭𝐢𝐦𝐢𝐭 𝑒 𝑟𝑒 1 = (1−𝐏𝐣𝐞𝐬𝐚me përmirësim )+ 𝐏𝐣𝐞𝐬𝐚me përmirësim 𝐒𝐡𝐩𝐞𝐣𝐭𝐢𝐦𝐢me përmirësim Shembull 1: Le të themi se dëshirojmë të përmirësojmë një procesor që përdoret nga një ueb server. Procesori i ri është 10 herë më i shpejtë në kyerjen e punëve për ueb serverin në krahasim me procesorin e mëhershëm. Duke supozuar se procesori i mëhershëm është 30% të kohës i zënë duke kryer punë dhe 70% të kohës duke pritur pajisjet e hyrje/daljes (I/O), sa është shpejtimi i përgjithshëm që fitohet duke përfshirë përmirësimin? Zgjidhje: Pjesame përmirësim = 0.3 Shpejtimime përmirësim = 10 Shpejtimii përgjithshëm = 1 (1−𝐏𝐣𝐞𝐬𝐚me përmirësim )+ 𝐏𝐣𝐞𝐬𝐚me përmirësim 𝐒𝐡𝐩𝐞𝐣𝐭𝐢𝐦𝐢me përmirësim = 1 0.7+ 0.3 10 = 1 0.73 ≈ 1.37 6 MSc. Valdrin Haxhiu Shembull 2: Nëse 60% e instruksioneve të një programi mund të ekzekutohen në mënyrë paralele, sa do të jetë shpejtimi i përgjithshëm që mund të arrihet duke përdorë një procesor me 4 bërthama (4 cores)? Zgjidhje: Pjesame përmirësim = 0.6 Shpejtimime përmirësim = 4 1 Shpejtimii përgjithshëm = (1−𝐏𝐣𝐞𝐬𝐚me përmirësim )+ 𝐏𝐣𝐞𝐬𝐚me përmirësim = 𝐒𝐡𝐩𝐞𝐣𝐭𝐢𝐦𝐢me përmirësim 1 0.4+ 0.6 4 = 1 0.55 ≈ 1.81 Shembull 3: Nëse një program shfrytëzon operacione me pikë lëvizëse (floating point) 40% të kohës së ekzekutimit të tij, sa do të jetë shpejtimi i përgjithshëm nëse pjesa harduerike që kryen operacionet me pikë lëvizëse përmirësohet 3 herë? Zgjidhje: Pjesame përmirësim = 0.4 Shpejtimime përmirësim = 3 Shpejtimii përgjithshëm = 1 (1−𝐏𝐣𝐞𝐬𝐚me përmirësim )+ 𝐏𝐣𝐞𝐬𝐚me përmirësim 𝐒𝐡𝐩𝐞𝐣𝐭𝐢𝐦𝐢me përmirësim = 1 0.4 0.6+ 3 = 1 0.73 ≈ 1.36 7

Use Quizgecko on...
Browser
Browser