Edon Gashi
edon.gashi@uni-pr.edu
edongashi.github.io
Proces i dëshirueshëm që na mundëson të punojmë pa njohuri të proceseve që ndodhin prapa skenave.
Supozojmë një kod në gjuhën programuese C:
#include <stdio.h>
int main()
{
int i = 0;
if (i == 0)
{
printf("testing\n");
}
return 0;
}
Kodi i tillë nuk mund të kuptohet nga procesori, prandaj duhet të përkthehet në një gjuhë të kuptueshme nga makina:
_main:
pushl %ebpz
movl %esp, %ebp
subl $24, %esp
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
movl %eax, -8(%ebp)
movl -8(%ebp), %eax
call __alloca
call ___main
movl $0, -4(%ebp)
cmpl $0, -4(%ebp)
jne L2
movl $LC0, (%esp)
call _printf
L2:
movl $0, %eax
leave
ret
Instruction Set Arkitektura (ISA)
Specifikimi i listës së instruksioneve që mund të ekzekutojnë procesorët që i takojnë asaj bashkësie:
Llojet e ISA
Shtresat e abstraksionit |
---|
Aplikacioni |
Algoritmi |
Gjuha Programuese |
Sistemi Operativ |
Instruction Set Arkitektura (ISA) |
Mikroarkitektura |
Qarqet Logjike/Digjitale |
Qarqet Fizike |
Kompjuterët dhe avansimi i tyre
Klasat e kompjuterëve
Pajisjet personale mobile
Faktorët dhe karakteristikat
Desktop kompjuterët
Faktorët dhe karakteristikat
Serverët
Faktorët dhe karakteristikat
Kompjuterët e clusterëve
Faktorët dhe karakteristikat
Kompjuterët embedded
Faktorët dhe karakteristikat
Furnizuesi i rrymës (PSU) - kthen rrymën alternative në rrymë njëkahore për komponentet e kompjuterit.
Motherboard (pllaka amë)
Soketi i procesorit - pjesa qëndrore e pllakës ku montohet procesori.
Kontektorët e rrymës - në skaj të pllakës me 20 ose 24 pina ku lidhet burimi nga power supply.
Slotet e memories - hapësira ku vendoset RAM memoria.
Slotet e grafikës dhe kartelave shtesë - PCI, PCI-E, AGP (e vjetër)
Portet IDE dhe SATA - lidhja e pajisjeve I/O, zakonisht disqet dhe lexuesit optik.
Chipi BIOS dhe CMOS bateria - kodi bazik për boot të sistemit operativ.
Chipseti - Northbridge dhe Southbridge
Northbridge zakonisht ka nevojë për ftohje për shkak të clockut më të shpejtë.
Konektorët e përparmë - dritat, butonat, USB, zëri.
Konektorët e pasmë - pamja, porti serik/paralel, rrjeti, zëri, USB, tastiera/mausi, etj.
Buset - linja komunikimi (paralele ose serike).
Procesori (CPU) - “truri” i kompjuterit, ekzekuton urdhërat dhe merr vendime. Komunikon vazhdimisht me memorien kryesore.
Komponentet e procesorit
ALU - kthen rezultate dhe vendos statuse.
Cikli i instruksionit
RAM Memoria - ruan kodin dhe të dhënat.
Disku - ruan shënimet në periudha më të gjata, zakonisht në formë magnetike ose elektrike.
Kartela grafike (GPU) - kryen operacione matematikore në paralel.
Pajisjet hyrëse - lexojnë informacion nga bota e jashtme dhe e transmetojnë në kompjuter.
Pajisjet dalëse - nga kompjuteri transmetojnë informacionin në botën e jashtme.
Faktorët e shpenzimit të energjisë
Shpenzimi i energjisë mbi atë që mund të ofrohet nga PSU shkakton ulje të tensionit dhe efekte të papritura.
Lirimi i nxehtësisë mbi atë që mund të largojë ftohësi mund ta dëmtojë pajisjen.
Nëse procesori A hargjon mesatarisht 20% më shumë rrymë sesa procesori B, por e kryen punën për 70% të kohës, shpenzimi i energjisë do të jetë $1.2\times 0.7=0.84$, që është efikasitet më i mirë sesa procesori B.
Si duhet ta dizajnojmë harduerin?
Shpenzimet e energjisë
Shumica e shpenzimit të energjisë shkaktohet gjatë ndryshimit të gjendjes së tranzistorëve brenda procesorit. Energjia e nevojshme për ndryshimin e gjendjes varet nga kapaciteti i CMOS tranzistorëve dhe quhet energji dinamike:
\[E_d \propto CU^2 \tag{1}\]Relacioni (1) i referohet energjisë së nevojshme për një ndryshim të plotë të gjendjes ($0\rightarrow1\rightarrow1$ ose $1\rightarrow0\rightarrow1$). Për një tranzicion të njëanshëm vlen:
\[E_d \propto \frac{1}{2} CU^2 \tag{2}\]Pasi që fuqia jepet me relacionin $P=\frac{E}{t}$ dhe $f=\frac{1}{t}$, në (2) zëvendësojmë:
\[P_d \propto \frac{1}{2} CU^2f \tag{3}\]Relacioni (3) tregon që fuqia dinamike varet nga:
Megjithatë, për një punë fikse shpenzimi i energjisë mbetët i njejtë edhe pse kryhet me fuqi më të ulët.
Faktorët e performancës
Procesori punon në njësi të takteve të clockut.
Clocku matet përmes periodës ose përmes frekuencës (psh. 2 GHz).
Nëse për kryerjen e një pune nevojitet një numër i caktuar i takteve të procesorit $n_\text{takteve}$, atëherë koha totale për kryerjen e punës shprehet përmes:
\[t_\text{CPU}=n_\text{takteve} \times T_\text{clock} \tag{4}\]ose
\[t_\text{CPU}=\frac{n_\text{takteve}}{f_\text{clock}}\]Përveç numrit të takteve mund të masin numrin e instruksioneve të ekzekutuara - instruction count (IC).
Nëse e dimë $n_\text{takteve}$ dhe IC, mund ta llogarisim numrin mesatar të takteve të clockuit për instruksion (CPI).
\[\text{CPI}=\frac{n_\text{takteve}}{\text{IC}} \tag{5}\]Prej formulës (4) dhe (5) nxerrim:
\[t_\text{CPU}=\text{IC} \times \text{CPI} \times T_\text{clock} \tag{6}\]Ekuacioni (6) tregon se koha e ekzekutimit të programit varet nga:
Varshmëria e faktorëve