Download - Arkitekture Kompjuteri Leksioni I
Arkitekture Kompjuteri
Leksioni IEvolucioni i kompjuteravedhe performanca
Arkitektura dhe Organizimi 1• Arkitektura perfshin ato atribute qe jane te
dukshme per programuesit—Seti i Instruksioneve, numri i biteve te perdorur
per perfaqesimin e te dhenave, mekanizmatI/O, teknikat e adresimit.
—p.sh. A ka instruksion shumezimi?• Organizimi perfshin menyren se si vecorite
implementohen—Sinjalet e kontrollit, nderfaqet, teknologjia e
memories.—p.sh. A ka nje njesi hardware per shumezimin
apo kryhet me mbledhje te njepasnjeshme?
Arkitektura dhe Organizimi 2
• E gjithe familja Intel x86 ndan te njejtenarkitekture
• Familja IBM System/370 ndan te njejtenarkitekture te pergjithshme
• Kjo sjelle nje kompatibilitet te kodit—Te pakten prapa
• Organizimet ndryshojne ndermjetversioneve te ndryshme
Struktura dhe Funksioni
• Strukture eshte menyra se sikomponentet lidhen me njeri tjetrin.
• Funksion eshte operimi i cdo komponentiindividual si pjese e struktures
Funksion
• Te gjithe funksionet e kompjuterit jane:—Perpunimi i te dhenave—Ruajtja e te dhenave—Zhvendosja e te dhenave—Kontrolli
Struktura – Niveli kryesor
Kompjuter
Memoria
HyrjeDalje
Nderlidhja e sistemit
Periferike
Linjat e komunikimit
Njesiakryesore e perpunimit
Kompjuter
Struktura – CPU-ja
Kompjuter NjesiaArithmetikeLogjike
Njesia e kontrollit
Nderlidhja e brendshmee CPU
Regjistra
CPU
I/O
Memoria
BUS
CPU
Struktura – Njesia e Kontrollit
CPU
Kontrolli imemories
Dekoderat dheRegjistrat e njesise
Sekuencae veprimeve
Njesikontrolli
ALU
Regjistra
BUS
Njesi Kontrolli
ENIAC - kryesore
• Electronic Numerical Integrator And Computer
• Eckert dhe Mauchly• Universiteti i Pennsylvania• Filloi ne 1943• Perfundoi ne 1946
—Shume vone shrytezime ushtarake• U perdor deri ne vitin 1955
ENIAC - detaje• Decimal (jo binare)• 20 akumulator me 10 shifra• Programohej manualisht me celesa• 18,000 tuba me vakum• 30 ton• ≈1400 m2• 140 kW fuqia e konsumuar• 5,000 mbledhje/s
von Neumann/Turing• Koncepti i ruajtjes se programit• Memoria kryesore ruan te dhenat dhe
programet• ALU vepron mbi te dhena binare• Njesia e kontrollit interpreton
instruksionet qe vijne nga memoria dhe iekzekuton
• Paisjet hyrje dalje komandohen nga njesiae kontrollit
• Instituti ne Princton—IAS
• Perfunduar ne 1952
Struktura e makines se von Neumann
IAS - detaje
• 1000 x 40 bit fjale—Numra binare—2 x 20 bit instruksione
• Grupi i regjistrave(ruajtja ne CPU)—Memory Buffer Register—Memory Address Register—Instruction Register—Instruction Buffer Register—Program Counter—Accumulator—Multiplier Quotient
Struktura e IAS –detaje
Kompjutera Komerciale• 1947 - Eckert-Mauchly Computer
Corporation• UNIVAC I (Universal Automatic Computer)• Perllogaritjet per censusin ne US ne 1950• U be pjese e korporates Sperry-Rand • Ne fund te viteve 50 - UNIVAC II
—Me i shpejte—Me shume memorie
IBM• Paisje qe procesonin letra me vrime• 1953 - seria 701
—Kompjuteri i pare i IBM me program ne memorie
—Perllogaritje shkencore• 1955 – seria 702
—Aplikacione biznesi• Paraprine serite 700/7000
Tranzistoret• Zevendesuan tubat me vakum• Te vegjel• Te lire• Me pak nxehtesi e cliruar• Te ndertuara prej silici (Rera)• Te shpikura ne 1947 ne laboratoret e Bell• William Shockley et al.
Kompjuterat e bazuar ne tranzistore
• Gjenerata e dyte e makinave• IBM 7000• DEC - 1957
—Prodhuan PDP-1
Struktura DEC - PDP-8
Mikroelektronika
• Kompjuteri perbehet nga porta llogjike, qeliza memorie dhe nderlidhje
• Keto mund te prodhohen ne nje gjysempercjelles
• p.sh. Shtrese silici
Gjeneratat e Kompjuterave• Tuba vakumi- 1946-1957• Tranzistore - 1958-1964• Shkalle e ulet integrimi(SSI) - 1965
—Deri ne 100 paisje per chip• Shkalle e mesme integrimi(MSI) - 1971
—100-3,000 paisje ne chip• Shkalle e larte integrimi(LSI) - 1971-1977
—3,000 - 100,000 paisje ne chip• Shkalle shume e larte integrimi(VLSI) -
1978 -1991—100,000 - 100,000,000 paisje ne chip
• Shkalla ultra e integrimit(ULSI) – 1991 -—Mbi 100,000,000 paisje ne chip
Ligji i Moore
• Rritje e densitetit te komponenteve ne chip• Gordon Moore – bashkethemeluesi i Intel• Numri i tranzistoreve ne chip do te dyfishohet cdo vit• Qe nga 1970 shkalla e rritjes se dendesitetit ka rene
—Numri i tranzistoreve dyfishohet cdo 18 muaj• Kosto e chipit ka ngelur pothuajse e pandryshuar• Dendesiteti i larte i paketimit do te thote rruge
elektrike me te shkurtra• Permasa me te vogla do te thote fleksibilitet me i
larte• Konsum me i vogel kerkesa per ftohje me te zbutura• Me pak nderlidhje rrisin besueshmerine
Rritja e numrit te tranzistoreve
Revolucioni I Kompjuterave• Progresi ne teknologjine e kompjuterave
—I parashikuar nga ligjet e Moore • Ben aplikacionet e reja te mundura
—Kompjutera ne automobile—Telefona—Projekti I gjenomes se njeriut—World Wide Web—Motoret e kerkimit
Klasat e kompjuterave• Kompjuterat desktop
—Perdorim i pergjithshem, varietet i softit—Subjekt i tradeoff kosto/performance
• Kompjuterat server—Bazohen ne rrjeta—Kapacitet i larte, performance, besueshmeri—Nga serverat e vegjel deri tek godinat e tera
• Kompjuterat Embedded —Te fshehur si komponente te sistemit—Kufizime te rrepta mbi fuqi/performance/kosto
Tregu i procesoreve
Cfare do te shikojme me tej…?• Si programet perkthehen ne gjuhe makine
—Dhe si hardware-i i ekzekuton ato• Nderfaqja hardware/software• Kush e percakton performancen e nje
programi—Dhe si mund te permiresohet
• Si projektuesit e hardware-it permiresojneperformancen
• Cfare eshte perpunimi ne paralel
Te kuptojme performancen• Algoritmat
—Percaktojne numrin e operacioneve qe ekzekutohen
• Gjuhet e programimit, kompilatori, arkitektura—Percaktojne numrin e instruksioneve makine
per cdo operacion• Sistemet e memories dhe procesorit
—Percaktojne sa shpejte ekzekutohen instruksionet
• Sistemi I/O (duke perfshire SO)—Percakton sa shpejte kryhen veprimet I/O
Poshte programit
• Programi aplikativ—I shkruar ne gjuhe te nivelit te
larte• Software i sistemit
—Kompilatori: perkthen kodin ne komanda te makines
—Sistemi operativ: kodi i sherbimit– Menaxhimi i I/O– Menaxhimi i mem. dhe “storage”– Skedulimi i detyrave dhe menaxhimi i
burimeve
• Hardware-i—Procesori, memoria, kontrollerat
I/O
Nivelet e kodit te programit
• Gjuhe e nivelit te larte—Niveli i abstraksionit me
afer problemit—Jep mundesi per
produktivitet dheportabilitet
• Gjuha asembler—Perfaqeson ne menyre
tekstuale instruksionet• Paraqitja ne hardware
—Binary digits (bits)—Instruksione te koduara
dhe te dhena
Komponentet e nje kompjuteri
• Te njejtet komponenteper cdo tip kompjuteri—Desktop, server,
embedded• Input/output perfshin
—Paisje per nderfaqen me perdoruesin– Display, keyboard, mouse
—“Storage”– Hard disk, CD/DVD, flash
—Adaptore rrjeti– Per komunikimin me
kompjutera te tjere
Anatomia e kompjuterit
Paisja dalese
Paisja hyrese
Paisja hyrese
Kablli i rrjetit
Anatomia e Mouse-i
• Mouse-i optik—Dioda iluminon rrafshin
e poshtem—Kamera me rezolucion
te ulet—Njesi e thjeshte
perpunuese e imazhit– Shikon per levizje ne
drejtimet x, y —Butona dhe levizje
vertikale• Shume me e sakte se
mouse-i i vjeter
Monitori
• Monitori LCD : picture elements (pixels)—Pasqyron permbajtjen e nje frame buffer
Ne brendesi
Ne brendesi te procesorit (CPU)
• Datapath: kryen operacione ne te dhena• Control: kontrollon datapath, memorie, ...• Memoria Cache
—Nje memorie e shpejt SRAM per akses direktte te dhenave
Ne brendesi te procesorit
• AMD Barcelona: 4 processor cores
Abstraksionet
• Abstraksionet ne ndihmojme te merremime kompleksitetin—Fshehin detajet e teperta te nivelit te ulet
• Arkitektura e setit te instruksioneve (ISA)—Nderfaqja hardware/software
• Application binary interface—ISA + nderfaqja e software-it te sistemit
• Implementimi—Detajet qe qendrojne poshte nderfaqes
Nje vend i sigurte per te dhenat
• Memoria kryesore volatile—Humbet instruksionet dhe te dhenat me
fikjen e makines• Memoria sekondare jo-volatile
—Disku magnetik—Memoria flash—Disku optik (CDROM, DVD)
Rrjeti
• Komunikim dhe ndarje e burimeve• Local area network (LAN): Ethernet
—Brenda nje godine• Wide area network (WAN: Internet• Rrjeti Wireless : WiFi, Bluetooth
Trendi i teknologjise
• Teknologjia elektronike zhvillohet—Rritja e kapacitetit
dhe performances—Kosto e reduktuar
Viti Teknologjia Rraporti relativ performance/kosto1951 Vacuum tube 11965 Transistor 351975 Integrated circuit (IC) 9001995 Very large scale IC (VLSI) 2,400,0002005 Ultra large scale IC 6,200,000,000
Kapaciteti DRAM
Paisjet I/O• Periferike me kerkesa H/D intensive• Kerkesa per transferim te larte te te
dhenave ne njesine e kohes• Procesori mund ta menaxhoje• Problem levizja e te dhenave• Disa zgjidhje:
—Caching—Buffering—Buse nderlidhese me shpejtesi te larte—Struktura busi te avancuara—Konfigurime me disa procesore
Shpejtesia e transferimit ne paisje tendryshme
Permiresimet ne organizimin dhearkitekturen e chipit• Rritja e shpejtesise hardware-ike te
procesorit• Perdorimi i memories se shpejte me afer
procesorit (cache)• Ndryshime ne organizim dhe arkitekture
—Rritja e shpejtesise efektive te ekzekutimit—Paralelizmi
Performanca e procesoreve Intel
Evolucioni x86 (1)• 8080
— 8 bit data path— Perdorur ne kompjuterin e pare personal – Altair
• 8086 – 5MHz – 29,000 tranzistore— me i fuqishem— 16 bit— organizime te reja— 8088 (8 bit bus i jashtem) perdorur ne PC IBM
• 80286— 16 Mbyte memorie e adresueshme— Nga madhesia 1Mb
• 80386— 32 bit— Suport per multitasking
• 80486
x86 Evolution (2)• Pentium
— Superscalar— Disa instruksione ne paralel
• Pentium Pro— Rritje te organizimit ne paralel
• Pentium II— Permiresimi i instruksioneve— Perpunimi grafik, audio&video
• Pentium III— Hardware i ri per instruksione me te fuqishme
x86 Evolution (3)• Pentium 4
— Permiresime te metejshme per numrat me presje notuese dheperpunimet multimediale
• Core— Procesori i pare x86 me dy berthama
• Core 2— Arkitektura 64-bit
• Core 2 Quad – 3GHz – 820 milione tranzistore— Kater procesore ne chip
• Arkitektura x86 eshte dominante jashte tregut te sistemeveembedded
• Organizimi dhe teknologjia kane ndryshuar ne menyre drastike• Bashkesia e instruksioneve ka ndryshuar duke ruajtur
kompatibilitetin• ~1 instruksion per muaj• 500 instruksione te pranishem
Embedded SystemsARM
• ARM evolvoi nga arkitektura RISC• Perdoret kryesisht ne sistemet embedded
—Perdoret brenda ne produkt—Jo ne kompjutera te perdorimit te
pergjithshem—Funksion i dedikuar—P.sh. ABS
Percaktimi i performances
• Cili aeroplan ka performancen me te mire?
0 200 400 600
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Kapaciteti i pasagjereve
0 5000 10000
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Distanca e udhetimit(milje)
0 500 1000 1500
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Shpejtesi e udhetimit(mph)
0 200000 400000
Douglas DC-8-50
BAC/SudConcorde
Boeing 747
Boeing 777
Kapaciteti x shpejtesi
Koha e pergjigjes dhe throughput
• Koha e pergjigjes (response time)—Sa kohe duhet per te kryer nje detyre
• Throughput—Puna totale e kryer per njesi kohe
– p.sh., detyra/transaksione/… per ore
• Si ndikohen koha e pergjigjes dhethroughput nga—Zevendesimi i procesorit me nje version me te
mire?—Te shtojme me shume procesore?
Performanca Relative
• Percaktojme performancen = 1/Kohe ekzekutimi
• “X eshte n here me i shpejte se Y”
n== XY
YX
tekzekutimi Kohatekzekutimi KohaaPerformancaPerformanc
n Shembull: koha per te ekzekutuar nje prog.n 10s ne A, 15s ne Bn Koha ekzekutimitB / Koha ekzekutimitA
= 15s / 10s = 1.5n Pra A eshte 1.5 here me e shpejte se B
Matja e kohes se ekzekutimit• Koha e harxhuar(Elapse Time)
—Koha totale e pergjigjes, duke perfshire tegjthe aspektet– Perpunimi, I/O, vonesa e SO, kohet e lira
—Percakton performancen e sistemit• Koha e CPU
—Koha e shpenzuar duke perpunuar nje detyre– Zbresim kohen me I/O, me detyra te tjera
—Perfshin kohen e perdoruesit me CPU dhe ate te sistemit me CPU
—Programe te ndryshme ndikohen ndryshe ngaCPU dhe performanca e sistemit
Ora e CPU
• Funksionimi i hardware-it numerik udhehiqet nga ora e sistemit
Clock (cikle)
Transferimi data
Gjendjet e update
Perioda
n Perioda e ores(clock): kohezgjatja e ciklitn p.sh., 250ps = 0.25ns = 250×10–12s
n Frekuenca e ores (rate): cikle per sekondn p.sh., 4.0GHz = 4000MHz = 4.0×109Hz
Ora e Sistemit
Koha e CPU
• Performanca permiresohet nga—Reduktimi i numrit te cikleve te ores—Rritja e frekuences se ores—Projektuesi i hardware-it duhet te zgjedhi midis
frekuences se ores dhe numrit te cikleve
Ore Frekuence CPU Ore Cikle
Ore Cikel Koha CPU Ore CikleCPU Koha
=
×=
Koha e CPU Shembull
• Kompjuteri A: frekuenca e ores 2GHz, Koha e CPU 10s
• Projektimi i kompjuterit B—Kerkojme nje kohe CPU-je 6s —Mund te rrisim frekuencen, por do shkaktoje 1.2 × ciklet
e ores• Sa e shpejte duhet te jete ora e kompjuterit B?
4GHz6s
10246s
10201.2Frekuenca
10202GHz10sFrekuencaCPU Koha Ores e Ciklet
6sOres e Ciklet1.2
CPU e Koha Ores e CikletFrekuenca
99
B
9AAA
A
B
BB
=×
=××
=
×=×=
×=
×==
Numri i instruksioneve dhe CPI
• Numri i Instruksioneve per nje program—Percaktohet nga programi, ISA dhe
kompilatori• Mesatarja e cikleve per Instruksion
—Percaktohet nga hardware-i i CPU-se—Nese instruksione te ndryshme kane CPI te
≠– Merret mesatarja e CPI
FrekuencaCPIneveInstruksio i Numri
Ores te Ciklit e KohaCPIneveInstruksio i NumriCPU Koha nInstruksio per CikletneveInstruksio i NumriOres e Ciklet
×=
××=
×=
CPI Shembull
• Kompjuteri A: Koha e Ciklit = 250ps, CPI = 2.0
• Kompjuteri B: Koha e Ciklit = 500ps, CPI = 1.2
• ISA e njejte• Cili eshte me i shpejte dhe sa?
1.2500psI600psI
ACPU KohaBCPU Koha
600psI500ps1.2IBCiklit e KohaBCPIneveInstruksio i NumriBCPU Koha
500psI250ps2.0IACiklit e KohaACPI neveInstruksio i NumriACPU Koha
=××
=
×=××=
××=
×=××=
××=
A me i shpejte…
…me kaqhere
CPI me shume detaje
• Nese klasa te ndryshme instruksionesh kerkojne numer te ndryshem ciklesh
∑=
×=n
1iii )neveInstruksio i Numri(CPIOres e Ciklet
n CPI mesatare e peshuar
∑=
×==
n
1i
ii neveInstruksio i Numri
neveInstruksio i NumriCPIneveInstruksio i Numri
Ores e CikletCPI
Frekuencarelative
CPI Shembull
• Sekuenca kodi te kompiluara ne menyra te ndryshme duke perdorur instruksione nga klasat A, B, C
Klasa A B CCPI per klase 1 2 3Nr. Inst. per sek 1 2 1 2Nr. Inst. per sek 2 4 1 1
n Sekuenca 1: Nr. Inst. = 5n Cikle Ore
= 2×1 + 1×2 + 2×3= 10
n CPI mes. = 10/5 = 2.0
n Sekuenca 2: Nr.Inst. = 6n Cikle Ore
= 4×1 + 1×2 + 1×3= 9
n CPI mes. = 9/6 = 1.5
Permbledhje e Performances
• Performanca varet nga—Algoritmi: afekton Nr. Ins., edhe CPI—Gjuha e programimit: afekton Nr. Ins., CPI—Kompilatori: afekton Nr. Ins., CPI—Arkitektura e Setit te Instruksioneve: afekton
Nr. Ins., CPI, Kohen e ciklit
Ore CikleSekonda
neInstruksioOre Cikle
ProgramneInstruksioCPU e Koha ××=
Fuqia
• Ne teknologjine CMOS
FrekuencaTensioniKapacitive NgarkesaFuqia 2 ××=
×1000×30 5V → 1V
Reduktimi i Fuqise
• Supozojme qe CPU e re ka—85% te ngarkeses kapacitive te CPU se vjeter—Reduktim 15% tension dhe 15% ne frekuence
0.520.85FVC
0.85F0.85)(V0.85CPP 4
vjeter2
vjetervjeter
vjeter2
vjetervjeter
vjeter
re e ==××
×××××=
n Muri i fuqisen Nuk mund te reduktojme tensionin me tejn Nuk mund te heqim me shume nxehtesi
n Si mund ta permiresojme ndryshe performancen?
Performanca Uniprocesor
Kufizuar nga fuqia, paralelizmi ne nivel instruksionesh, vonesa e memories
Multiprocessors• Mikroprocesoret multicore
—Me shume se nje procesor per chip• Kerkon programim ne paralel
—Krahaso me paralelizmin ne nivel instruksionesh– Hardware ekzekuton disa instruksione njeheresh– I fshehur nga programuesi
—I veshtire per tu bere– Programimi per performance– Balancimi i ngarkeses– Optimizimi i komunikimit dhe sinkronizimit
Frekuenca e ekzekutimit
• Millions of instructions per second (MIPS)• Millions of floating point instructions per
second (MFLOPS)• Varen shume nga seti i instruksioneve,
projektimi i kompilatorit etj…
Ligji i Amdahl• Nese F eshte pjesa e llogaritjeve
sekuenciale, dhe (1-F) eshte pjesa qemund te paralelizohet, atehere rritjamaksimale e shpejtesise qe mund tearrihet me P procesore eshte
speedup=1/(F+(1-F)/P)
Shembull• Nese 90% e llogaritjeve mund te
paralelizohen (pra 10% jane sekuenciale) atehere rritja maksimale e shpejtesise qemund te arrihet me 5 procesore eshte1/(0.1+(1-0.1)/5) pra 3.6 . Do te thote qeprogrami mund te ekzekutohetmaksimumi 3.6 here me shpejte ne njesistem me 5 procesore ne krahasim me nje sistem me nje procesore.
Ne program sekuencial
• Rritja maksimale e shpetesise ne njeprogram sekuencial ku nje pjesepermiresohet me p here, kufizohet ngamosbarazimi
• Ku f eshte pjesa e kohes e shpenzuar me perpara(para permiresimit) ne njesine qenuk u ndryshua.
Shembull• Nese pjesa B ne nje kompjuter eshte bere
5 here me e shpejte (p=5) tA =3 tB=1 atehere f= tA/ tA+tB=0.75
Speedup≤5/1+0.75(5-1) =1.25• Nese pjesa A behet 2 here me e shpejte
p=2, f=tB/tB+ tA=0.25Speedup≤2/1+0.25(2-1) =1.60
Shembull perfundimi• Rritja e A me nje faktor 2 sjell nje
permiresim me te larte ne performance sesa rritja e B
• Perqindja jepet nga formula
(1-1/speedup)*100
Permbledhje• Kosto/performance po permiresohet
—Per shkak te permiresimeve teknologjike• Shtresat hierarkike te abstraksionit
—Ne hardware dhe software• Arkitektura e setit te instruksioneve
—Nderfaqja hardware/software• Koha e ekzekutimit: njesia me e mire per
matjen e performances• Fuqia eshte nje faktor limitues
—Perdoret peralelizmi per te permiresuar performancen.
FALEMINDERIT