Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Organizimi I Sistemit
kompjuterik
Leksioni I
Evolucioni i kompjuterave
dhe 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, mekanizmat I/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 njejten arkitekture
• Familja IBM System/370 ndan te njejten arkitekture te pergjithshme
• Kjo sjelle nje kompatibilitet te kodit
—Te pakten prapa
• Organizimet ndryshojne ndermjet versioneve te ndryshme
Struktura dhe Funksioni
• Strukture eshte menyra se si komponentet lidhen me njeri tjetrin.
• Funksion eshte operimi i cdo komponenti individual 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
Hyrje
Dalje
Nderlidhja e
sistemit
Periferike
Linjat e komunikimit
Njesia
kryesore e
perpunimit
Kompj
Struktura – CPU-ja
Kompjuter Njesia
Arithmetike
Logjike
Njesia e
kontrollit
Nderlidhja e
brendshme
e CPU
Regjistra
CPU
I/O
Memoria
BUS
CPU
Struktura – Njesia e Kontrollit
CPU
Kontrolli i
memories
Dekoderat dhe
Regjistrat e
njesise
Sekuenca
e veprimeve
Njesi
kontrolli
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 i ekzekuton
• Paisjet hyrje dalje komandohen nga njesia e 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 gjysem percjelles
• 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 permiresojne performancen
• 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 dhe portabilitet
• 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 komponente per 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 direkt te te dhenave
Ne brendesi te procesorit
• AMD Barcelona: 4 processor cores
Abstraksionet
• Abstraksionet ne ndihmojme te merremi me 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
• Teknologjiaelektronikezhvillohet
—Rritja e kapacitetitdhe performances
—Kosto e reduktuar
Viti Teknologjia Rraporti relativ performance/kosto
1951 Vacuum tube 1
1965 Transistor 35
1975 Integrated circuit (IC) 900
1995 Very large scale IC (VLSI) 2,400,000
2005 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 te
ndryshme
Permiresimet ne organizimin dhe
arkitekturen 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 dhe perpunimet 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 sistemeve embedded
• 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 Systems
ARM
• 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 600
BAC/Sud Concorde
Douglas DC-8-50
Boeing 747
Boeing 777
200 400
Kapaciteti i pasagjereve
0 5000 10000
BAC/Sud Concorde
Douglas DC-8-50
Boeing 747
Boeing 777
Distanca e udhetimit(milje)
0 1500
BAC/Sud Concorde
Douglas DC-8-50
Boeing 747
Boeing 777
500 1000
Shpejtesi e udhetimit(mph)
0 200000 400000
BAC/Sud
Concorde
DouglasDC-
8-50
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 dhe throughput 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 seY‖
PerformancaX PerformancaY
Koha ekzekutimitY Koha ekzekutimitX n
Shembull: koha per te ekzekutuar nje prog.
10s ne A, 15s ne B
Koha ekzekutimitB / Koha ekzekutimitA
= 15s / 10s = 1.5
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 te
gjthe 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 nga CPU 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
Perioda e ores(clock): kohezgjatja e ciklit
p.sh., 250ps = 0.25ns = 250×10–12s
Frekuenca e ores (rate): cikle per sekond
p.sh., 4.0GHz = 4000MHz = 4.0×109Hz
Ora e Sistemit
Koha e CPU
Koha CPU Cikle Ore CPUKoha Cikel Ore
Cikle OreCPU
FrekuenceOre
• 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
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?
Koha e CPU 6sFrekuenca
B
B
4GHz24109
6s
1.220109
6sFrekuencaB
Ciklet e OresA KohaCPUA FrekuencaA
10s2GHz 20109
Ciklet e OresB
1.2Ciklet e OresA
Numri i instruksioneve dhe CPI
Ciklet e Ores Numri i Instruksioneve Ciklet per Instruksion
Koha CPU Numri i Instruksioneve CPIKoha e Ciklit te Ores
Numri i Instruksioneve CPI
Frekuenca
• 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
CPI Shembull
• Cili eshte me i shpejte dhe sa?
Koha CPUB I600ps
1.2 Koha CPUA I500ps
Koha CPUB Numri i InstruksioneveCPIB Koha e CiklitB
I1.2500ps I600ps
I2.0250ps I500ps
• Kompjuteri A: Koha e Ciklit = 250ps, CPI= 2.0
• Kompjuteri B: Koha e Ciklit = 500ps, CPI= 1.2
• ISA e njejte
Koha CPUA Numri i InstruksioneveCPIA Koha e CiklitA
A me i shpejte…
…me kaq
here
CPI me shume detaje
• Nese klasa te ndryshme instruksionesh kerkojne numer te ndryshem ciklesh
n
Ciklet e Ores (CPIi Numri i Instruksioneve i)i1
CPI mesatare e peshuar
n
i1
ii
NumriiInstruksioneve
Numrii InstruksioneveCPI
Numrii Instruksioneve
Ciklet e OresCPI
Frekuenca
relative
CPI Shembull
• Sekuenca kodi te kompiluara ne menyra te ndryshme duke perdorur instruksione nga klasat A, B, C
Klasa A B C
CPI per klase 1 2 3
Nr. Inst. per sek 1 2 1 2
Nr. Inst. per sek 2 4 1 1
Sekuenca 1: Nr. Inst. = 5
Cikle Ore
= 2×1 + 1×2 + 2×3
= 10
CPI mes. = 10/5 = 2.0
Sekuenca 2: Nr.Inst. = 6
Cikle Ore
= 4×1 + 1×2 + 1×3
= 9
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
Program
Cikle Ore
Sekonda
Instruksione CikleOreKoha e CPU
Instruksione
Fuqia
• Ne teknologjine CMOS
Fuqia Ngarkesa KapacitiveTensioni2 Frekuenca
×30 5V → 1V ×1000
Reduktimi i Fuqise
• Supozojme qe CPU e re ka
—85% te ngarkeses kapacitive te CPU se vjeter
—Reduktim 15% tension dhe 15% ne frekuence
P
P
vjeter
0.854 0.52C V 2 F
vjeter vjeter vjeter
C 0.85(V 0.85)2 F 0.85vjeter vjeter vjetere re
Muri i fuqise
Nuk mund te reduktojme tensionin me tej
Nuk mund te heqim me shume nxehtesi
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 qe mund te paralelizohet, atehere rritja maksimale e shpejtesise qe mund te arrihet 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 qe mund te arrihet me 5 procesore eshte 1/(0.1+(1-0.1)/5) pra 3.6 . Do te thote qe programi mund te ekzekutohet maksimumi 3.6 here me shpejte ne nje sistem me 5 procesore ne krahasim me nje sistem me nje procesore.
Ne program sekuencial
• Rritja maksimale e shpetesise ne nje program sekuencial ku nje pjese permiresohet me p here, kufizohet nga mosbarazimi
• Ku f eshte pjesa e kohes e shpenzuar meperpara(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.25
Speedup≤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