Documente Academic
Documente Profesional
Documente Cultură
100.8 milioane de PC vndute n prima jumtate a anului 2005 (cretere cu 10.5% faa
de 2004). Perhaps 200 million desktop computers were sold in 2005.
14.2 milioane de PC vndute n Japonia n 2006 (cu 3.3% mai puine dect n 2005)
61.1 milioane de PC vndute n sfertul al doilea Q2 (aprilie-iunie) a anului 2007.
Estimarea la nivelul anului 2007 era de 255.7 milioane de PC vndute.
350 milioane de PC vndute n anul 2010.
Numrul utilizatorilor n 2003 era de 670 milioane de PC, iar tendina pentru anul 2010
era de 1 miliard de utilizatori.
Serverele sunt destinate s ofere servicii tot mai sofisticate de reea, inclusiv ca noduri de
Internet. Serverele absorb cca. 4 milioane de microprocesoare pe an (2000). Vnzrile la nivel
global de servere n primul sfert al anului 2007 (Q1) au fost de 2.1 milioane (cretere cu 6%
faa de 2006).
o Perhaps 10 million servers were sold in 2005.
o 20 milioane de servere vndute n anul 2010.
o Aplicabilitate:
- n domeniul comercial: Database, transaction processing, search engines. Exemple:
Sun Fire 15K, IBM p690, Google Cluster.
- n domeniul tiinific: calcul ADN (1994), prognoze meteorologice, analiza seismica,
climaterica la nivel global, Bioinformatic, calcule i simulri diferite necesare
domeniului militar, sisteme radar si sonar, sisteme control trafic feroviar si aviatic,
modelarea rezervoarelor de petrol. Exemple: IBM DeepBlue, IBM CELL BEA1,
BlueGene, Cray T3E.
o Caracteristicile lor cele mai importante se focalizeaz pe:
- Vitez de procesare: the overall performance of the serverin terms of transactions per
minute or web pages served per secondis what is crucial.
- Fiabilitate (probabilitatea ca, n condiii de mediu specificate, obiectul s funcioneze
adecvat, meninndu-i parametrii prestabilii n intervalul de timp): Server downtime
could cost a brokerage company more than $6,450,000 / hour.
- Disponibilitate: Consider the servers running Yahoo!, taking orders for Cisco, or
running auctions (licitaii) on EBay. Obviously such systems must be operating seven
days a week, 24 hours a day. Failure of such a server system is far more catastrophic
than failure of a single desktop.
- Scalabilitate: abilitatea de a mri corespunztor capacitatea (puterea) de calcul, memoria
intern / extern i numrul de porturi de I/O (perifericele ce pot fi ataate unui server).
MareNostrum Blade centers has 31 racks dedicated to calculate. These racks have a total of 10240 processors
PowerPC 970 with a frequency of 2,3 GHz and 20TB of total memory. Each rack is formed by 6 Blade Centers. In total,
each rack has a total of 336 processors and 672 Gb of memory. Each one has a rough peak performance of 3.1 Tflops.
Computer Science and Automation Control
Adrian FLOREA
Sistemele dedicate (Embedded Systems) au dezvoltarea cea mai dinamic, s-au produs cca.
300 milioane (2001) respectiv 3 miliarde (2005) de astfel de sisteme pe an. Ele acoper
aplicaiile cele mai frecvente (aparate foto i camere video, comand aparate electrocasnice,
telefoane mobile, imprimante, comenzi auto, jocuri electronice, switch-uri pentru reele etc.) i
au costuri cuprinse ntre 10$ i 100.000$. Multe dintre aceste sisteme au softurile scrise de
productor avnd un grad de programabilitate relativ redus. Performana se focalizeaz pe
ndeplinirea cerinelor de timp real ale aplicaiei. Au consumuri reduse de putere i
memorii de capaciti relativ reduse. Aceste sisteme sunt / vor fi integrate practic n toate
dispozitivele folosite de om i interconectate prin reeaua global de tip Internet, conducnd la
conceptul de calculator omniprezent (ubiquitous computing). According to Sun Microsystems
[Gos07], there were more than 5 billion java enabled devices (desktops, phones, cards, settop
boxes, etc), from among 2.1 billions are phone handsets or PDA.
A number of standard communication and data exchange protocols had been
developed and refined through widespread deployment (6 June 2012 - World IPv62 Launch
Unites Industry Leaders to Redefine the Global Internet).
Digital telephony was firmly established, and many people were carrying lightweight,
network-connected computers in the form of mobile phones.
Today, MIPS Technologies powers some of the world's most popular products
for the digital entertainment, home networking, wireless, and portable media
markets-including broadband devices from Linksys, DTVs and digital consumer
devices from Sony, DVD recordable devices from Pioneer, digital set-top boxes
from Motorola, network routers from Cisco, 32-bit microcontrollers from
Microchip Technology and laser printers from Hewlett-Packard.
Sistemele dedicate i aplicaiile software specifice lor au nceput s domine modul de interaciune
dintre om i calculator (sistem de calcul) n viaa de zi cu zi. Computers are no longer isolated entities
2
Protocol de nivel internet TCP/IP (respectiv nivel reea din Modelul OSI)
Computer Science and Automation Control
Adrian FLOREA
sitting on our desks. Instead, they are nicely woven and integrated into our everyday lives via the gadgets we
directly or indirectly usemobile phones, washing machines, microwaves, automotive control, and flight control.
Indeed, embedded systems are so pervasive, that they perform the bulk of the computation today - putting forward
embedded computing as a new paradigm to study. Not all embedded systems are safety-critical. On one hand,
there are the safetycritical embedded systems such as automobiles, transportation (train) control, flight control,
nuclear power plants, and medical devices. On the other hand, there are the more vanilla, or less safety-critical,
embedded systems such as mobile phones, HDTV, controllers for household devices (such as washing machines,
microwaves, and air conditioners), smart shirts, and so on. Irrespective of whether an embedded system is safetycritical or not, the need for integrating validation into every stage of the design flow is clearly paramount. Of
course, for safety-critical embedded systems, there is need for more stringent validationso much so that formal
analysis methods, which give mathematical guarantees about functionality/timing properties of the system, may be
called for at least in certain stages of the design.
Caracteristici
Preul
sistemului
Preul
unui
microprocesor
component
al
sistemului
Microprocessors
sold per year
(estimates for
2000)
Critical system
design issues
Personal
Desktop
Server
Clusters/warehouse Embedded
mobile devices
- scale computers
(PMD)
$100 $1,000 $300
$5,000
$100,000
$10
$2,500
$10,000,000 $200,000,000
$100,000
(including
network
routers at the
high end)
$10 $100
$50 $500
$200
$50 $250 (per
$0.01 $100
(per
$2,000
processor)
(per
processor)
(per
processor)
processor)
150,000,000 4,000,000
300,000,000
(32-bit and
64-bit
processors
only)
Cost, energy, PriceThroughput, Price-performance,
Price, power
media
performance, availability, throughput, energy consumption,
performance,
energy,
scalability,
proportionality
energy,
3
responsiveness graphics
energy
applicationperformance
specific
performance
Figura 1.0. Un rezumat al principalelor cinci clase de sisteme de calcul i caracteristicile lor
Note the wide range in system price for servers and embedded systems, which go from USB keys
to network routers.. For servers, this range arises from the need for very large-scale multiprocessor
systems for high-end transaction processing and Web server applications. The total number of
embedded processors sold in 2005 is estimated to exceed 3 billion if you include 8-bit and 16-bit
microprocessors.
More than 10 billion embedded processor have been sold in 2008 and more than 10.75 billion in
2009. The total number of embedded processors sold was nearly 19 billion (6.1 billion ARMtechnology based chips were shipped in 2010).
3
receptivitate
Computer Science and Automation Control
Adrian FLOREA
Anul lansrii pe
pia
Denumire
procesor
Numr de
tranzistori
ncorporai /
Tehnologia
de integrare
Frecvena
procesorului
Magistrala de date
1971
1972
1974
1978
Intel 4004
Intel 8008
Intel 8080
Intel 8086 /
8088
2300 / 10m
3500 / 10m
6000 / 6m
29000 / 3m
108KHz
200KHz
2MHz
4.77-10MHz
1982
Intel 80286
12.5-20MHz
1985
Intel
80386DX
Intel
80486DX
134000 /
1.5m
275,000 /
1m
1200000 /
0.8m
4-bii
8-bii
8-bii
16-bii. Implementat n
primul calculator
personal IBM.
16-bii
33MHz
32-bii
25-100MHz
3100000/
0.5m
5500000 /
0.35m
7500000 /
0.35m
28000000 /
0.18m
42000000 /
0.18m
60-133MHz
200MHz
32-bii
233-333MHz
32-bii
733MHz1.2GHz
1.6GHz
32-bii
1989
1993
Intel Pentium
1995
Intel Pentium
Pro
Intel Pentium
II
Intel Pentium
III
Intel Pentium
4 ver.
Northwood
Intel Pentium
4 ver.
Northwood
Hyperthread
Intel Pentium
4 ver. Extrem
Edition
Hyperthread
Intel Core2
Penryn
1997
2000
2001
2003
2004
Tukwila is
targeted for
production
towards the end
of 2008.
Intel
Itanium
Tukwil
a
/
Intel
Core
i7980X
deskto
p
proces
sor
55000000 /
0.13m
2 3.4GHz
178000000 /
0.09m
2.8 3.4GHz
32-bii
400.000.000
dual-core
800.000.000
quad-core
0.045m
2mld /
0.032m
3.4 4GHz
32-64 de bii
4GHz
32-64 de bii
6 cores
Extre
me
Editio
n
Tabelul 1.1 Procesorul Intel tendine tehnologice
In 2020 such a CMP would contain 625 cores, and when running on the maximum possible
frequency of 73 GHz would consume 7 kW, while the power budget is predicted to be 198 W.
Can soon put more transistors on a chip than can afford to turn on! - D. Patterson 2007
Nuclear Reactor 200W/cm2
Rocket Nozzle 1000W/cm2
Primele microprocesoare consumau zeci de watts n timp ce un Intel Pentium 4 Extreme Edition
la 3.2 GHz consum 135 watts Pd C Vdd2 a f .
Dac f Pd densitatea de putere din chip (sute de W/cm2) disipatie termic
foarte mare (>>83C fierbe Siliciul) scade durata de via P cresterea frecventei de
tact nu mai este posibil, perfomana putnd crete doar prin inovaii arhitecturale.
n cazul memoriilor DRAM, densitatea de integrare crete cu 40-60 % pe an, n timp ce timpul
de acces aferent scade cu 33% pe decad. TaccesDRAM = 540ns (2008) vezi referine mai jos n
document la calculul timpului de execuie al unei instruciuni.
Ierarhizare a sistemului de memorie, prin utilizarea unor arhitecturi evoluate de memorie tip
cache
Reducerea latenei cii critice de program, inclusiv prin tehnici de reutilizare dinamic a
instruciunilor i predicie a valorilor instruciunilor
Utilizarea multiprocesoarelor (shared memory), n cadrul arhitecturilor serverelor i staiilor
grafice. Dezvoltare a sistemelor distribuite de procesare a informaiei (message passing)
Since 2002, processor performance improvement has dropped to about 20% per year due
to the triple hurdles of maximum power dissipation of air-cooled chips, little instructionlevel parallelism left to exploit efficiently, and almost unchanged memory latency. Indeed,
in 2004 Intel canceled its high-performance uniprocessor projects and joined IBM and Sun in
declaring that the road to higher performance would be via multiple processors per chip rather
than via faster uniprocessors. Whereas the compiler and hardware conspire to exploit ILP
implicitly without the programmer's attention, TLP and DLP are explicitly parallel, requiring
the programmer to write parallel code to gain performance.
Complexitatea din ce in ce mai greu de testat/stapanit (2Mld tranz) a condus la apariia inclusiv
pe pia a arhitecturilor cu mai multe procesoare integrate pe aceeai pastil de Si. Pot fi
procesoare identice (Intel Core 2 Duo, Intel, AMD dual/quad/six core) sau diferite (IBM Cell
9 procesoare: 1 de uz general+8 specializate) dar neexploatate nc eficient.
Cell BE is the best high-performance embedded processor of 2005 because of its innovative
design and future potential.
Cell could power hundreds of new apps, create a new videoprocessing industry and fuel a
multibillion-dollar build out of tech hardware over ten years. Forbes
It was originally conceived as the microprocessor to power Sony's but it is expected to find a
home in lots of other broadbandconnected consumer items and in servers too. -- IEEE
Spectrum
Tratarea complexitii microarhitecturale prin Abstractizare
Ca i architect de microprocesoare scopul principal l constituie realizarea unor
compromisuri ntre urmtoarele: Performan de procesare, Putere disipat, Arie de
integrare, Complexitate, Suportul oferit aplicaiei, Funcionalitate, Compatibilitate ntre
modele aparinnd aceleai clase, Fiabilitate, etc.
Gestionarea transferului datelor ntre periferic i CPU din punct de vedere al apariiei sale n
timp
Evenimentele (cererile de ntrerupere) generate de dispozitivele periferice (I/O) apar n general cu o
frecven mult mai mic dect frecvena procesorului (sporadic n timp fa de ceea ce execut
procesorul ciclu de ciclu).
Transferul datelor se realizeaz n mod sincron dac:
datele sunt transmise la un interval de timp fix (vitez de transfer predictibil / cunoscut)
La ora actual dispozitivele USB 3.0 ating rate de transfer de 5 Gbit/s (640MB/s) iar magistralele seriale
bidirecionale de tip PCI-Express 3.0 ating o vitez de transfer de 8 Gbit/s (1GB/s) [EDA11].
De exemplu, a doua generaie de stick-uri Kingston (DataTraveler Ultimate 3.0 G2 USB Flash Drive care
folosete un controller USB 3.0) avnd capaciti de stocare de 16, 32 i 64GB, permit o citire a datelor la o
vitez de pn la 100MB/s i o scriere cu o vitez de cea pn la 70 MB/s.
4
n general revenirea din rutina de tratare a ntreruperii se face pe instruciunea imediat urmtoare celei care a cauzat
ntreruperea. Pot ns aprea instruciuni de genul Load Adres care s cauzeze o excepie de tip Page Fault. n aceast
situaie va fi tratat excepia dup care se va relua execuia programului cu aceeai instruciune de acces la memorie
(Load Adresa).
Computer Science and Automation Control
Adrian FLOREA
Memoria intern realizeaz stocarea programelor i datelor necesare acestora, de capacitate mai
mare dect regitrii procesorului dar mai lent dect acetia.
Unitatea de msur elementar a memoriei este bitul (Binary Digit). Definiia bitului:
probabilitatea unui element cu dou stri s ia una dintre ele. Un bit6 este cantitatea de
informaie necesar reducerii la jumatte a incertitudinii. O succesiune de bii din memoria
intern poate corespunde unei instruciuni, unei date reprezentnd valori numerice, text,
diverse coduri (imagini, sunet, text).
Este organizat n diviziuni (locaii sau cuvinte) de o mrime egal cu cea a numrului de
bii ce poate fi procesat simultan de procesor. O locaie de memorie este caracterizat de
adres i de coninut. Un cuvnt de adres pe m bii poate indexa un spaiu de 2 m locaii de
memorie.
Poate fi static sau dinamic caz n care un condensator va reprezenta celula iniial de
memorare, necesitnd rencrcarea sa periodic (regenerare).
Memoria poate fi vzut intr-o prim abordare ca o stiv de locaii binare (cuvinte), fiecare
cuvnt fiind caracterizat de o adres binar unic.
Un computer obinuit stocheaz un bit de informaie n aproximativ 1 milion de atomi. Cercettorii IBM au reuit s
stocheze un bit n doar 12 atomi! Avantaj reducerea dimensiunii circuitelor i propriet i superioare circuitelor din
Siliciu. Dezavantaj: Dezvoltat prin magnetizare (la temperaturi apropiate de 0 absolut), o radiaie (o schimbare de
temperatur) poate transforma un 0 n 1 i invers pierderea informaiei (de exemplu: durata de via a unui disk
magnetic este de 100 de ani, cea a unui stick USB de aproximativ 7-10 ani).
Computer Science and Automation Control
Adrian FLOREA
de decodificare a instruciunilor (vezi modelul von Neumann) cnd cmpul opcode parte
component a oricrei instruciuni va specifica ce operaie trebuie efectuat (adunare / scdere /
nmulire / mprire / acces la memorie / ramificaie a programului). Decodificatorul este utilizat i
pentru identificarea regitrilor surs / destinaie sau a modurilor de adresare n cazul instruciunilor
cu referire la memorie tot pe baza pattern-urilor de bii din corpul instruciunilor. De asemenea, este
folosit la selecia adreselor de memorie.
Din punct de vedere tehnologic se cunosc urmtoarele tipuri de memorii:
ROM (memorie cu caracter permanent folosit doar n citire). Memorie fix, nevolatil, n
care informaia se pstreaz i dup ntreruperea alimentrii. Circuitele ROM sunt circuite pur
combinaionale, celula de memorie fiind un tranzistor programat sau nu, amplasat la intersecia
unei linii cu a unei coloane, din matricea de memorie. n ele se nscrie softul de baz al unui
sistem de calcul: sistemul de operare, BIOS (rutina de iniializare a sistemului de calcul imediat
dup alimentarea cu energie teste de memorie, verificare periferice). Memoriile ROM pot fi
doar citite nu scrise (scrierea se face o singur dat n momentul fabricrii).
o PROM (programmable ROM) poate fi programat de productor sau utilizator la prima
folosire a dispozitivului.
o UVEPROM (Ultraviolet Erasable PROM) sunt identice cu memoriile PROM cu
deosebirea c ofer posibilitatea de tergere i reprogramare prin expunerea la raze
ultraviolete. Necesit un echipament special pentru programare.
o EEPROM (Electrical Erasable PROM) sunt identice cu memoriile UVEPROM cu
deosebirea c tergerea se face prin aplicarea unor semnale electrice speciale de tensiune
ridicat (30V).
o FLASH ROM este o memorie special de tip EEPROM care poate fi tears sau programat
n timpul funcionrii n circuit (aplicaii cu microcontrollere n care se ncarc un cod obiect
gata de execuie). Odat programat coninutul rmne nemodificat chiar i dup eventuale
anomalii datorate cderii tensiunii de alimentare.
Memoriile EPROM sunt reprogramabile n sensul n care pot fi terse prin expunere la
raze ultraviolete i renscrise pe baza unui dispozitiv special numit programator de EPROM uri.
EPROM-urile pstreaz aa numitul program monitor nscris de ctre fabricant care este primul
program procesat de ctre sistem imediat dup alimentarea (resetarea) sa. Acest lucru este
absolut necesar ntruct coninutul memoriilor RAM este neprecizabil imediat dup alimentare.
Prin urmare, imediat dup RESET coninutul PC-ului este iniializat i va pointa spre prima
instruciune din programul monitor rezident n EPROM. Rolul programului monitor este de a
efectua o testare sumar a microprocesorului i a celorlalte componente ale microsistemului,
dup care va iniia ncrcarea sistemului de operare (Linux, Windows etc.) de pe disc n
memoria RAM. Dup aceasta programul monitor d controlul sistemului de operare rezident
acum n RAM.
RAM (memorie cu acces aleator) - are caracter dinamic volatil. Este o memorie care poate fi
scris sau citit (atta timp ct este alimentat cu energie). Informaia se pierde dup oprirea
alimentrii. Accesul la memorie se permite numai n anumite momente de timp validate de un
semnal de tip acces la memorie (memory request). Exist dou tipuri majore de memorii RAM:
o SRAM (Static RAM) sunt memorii deosebit de rapide, timp de acces de t0 = 1 ns 4 ns
(2008), avnd capacitate de integrare redus (circuite de memorie avnd capaciti ntre
1Mbit i 16Mbii). Mai rapide, mai fiabile dar mai scumpe per unitate de octet memorat.
Uzual sunt folosite la implementarea memoriilor cache. De asemenea, consum mai mult
energie. Folosesc tranzistorii pentru memorarea biilor de informaie (ntre 4 i 6
tranzistori per bit).
o DRAM (Dynamic RAM) lent i necesit regenerare (celula de memorie o reprezint un
condensator care se descarc n timp; memoria DRAM trebuie regenerat la fiecare
Computer Science and Automation Control
Adrian FLOREA
aproximativ 2-8 ms); ieftin per unitate de octet memorat. Memoria principal este de tip
DRAM. Din punct de vedere al evoluiei n timp a memoriilor DRAM se cunosc urmtoarele
etape:
EDO (Extended Data Out RAM) cu 10% pn la 20% mai rapid dect primele memorii
DRAM.
SDRAM (Synchronous DRAM) mai rapide cu aproape 25% dect memoriile EDO
RAM.
DDR sau SDRAM II (Double Data Rate SDRAM) de dou ori mai rapide dect
memoriile SDRAM.
RDRAM (Rambus DRAM) dezvoltate de ctre firma Rambus Inc., sunt de aproape zece
ori mai rapide dect memoriile DRAM.
SLDRAM (Synclink DRAM) este principalul competitor din punct de vedere tehnologic
al memoriilor RDRAM.
NVRAM (nonvolatile RAM FLASH) reine informaiile i n absena alimentrii cu
energie (Avantaj fa de memoriile cache de tip SRAM). Se cunosc dou alternative de
proiectare:
1) cu pori logice fundamentale NOR, utilizat n principal pentru cod deoarece ofer
un timp foarte bun pentru citiri (100ns) i un timp mai puin bun pentru scrieri
(10s), repectiv
2) cu pori logice fundamentale NAND, utilizat n principal pentru date ntruct
ofer un timp echilibrat att pentru citiri ct i pentru scrieri (1s). Referitor
la comparatia cu memoria cache se observ Dezavantajul memoriilor Flash care
realizeaz operaia de scriere ntr-un timp mai ndelungat dect o scriere n
cache. Se cunoate o plaj larg de aplicaii bazate pe acest tip de memorii:
playere MP3, MP4, aparate foto, camere video statice, i probabil n curnd vor
nlocui harddisk-urile.
DRAM: constituie peste 90 % din memoria oricrui sistem de calcul datorit faptului c
ofer densiti mari de integrare (64 Mbii 256 Mbii / chip) i timpi de acces relativ rezonabili
t0=30 ns 60 ns. Totui, decalajul ntre timpul de acces ridicat al acestor memorii i viteza
mare de execuie a microprocesorului, constituie una dintre marile probleme tehnologice i
arhitecturale n ingineria calculatoarelor (MEMORY WALL). Fiind realizate n tehnologie
CMOS puterea absorbit este redus. Din pcate au 2 mari dezavantaje:
1. Accesare ( citire / scriere ) complicat. Circuitele DRAM sunt organizate sub o form
matricial, pe linii i coloane. Bitul ce se dorete a fi accesat se afl la intersecia liniei cu coloana
selectat.
Un circuit DRAM are urmtoarele terminale (pini):
RAS (Row Address Strobe strob adres rnd), CAS (Column Address Strobe strob adres
coloan)
Pentru o citire corect este necesar ca frontul cztor al lui RAS s strobeze perfect adresa de
rnd (o memoreaz ntr-un registru intern al circuitului) iar frontul cztor al lui CAS s strobeze
perfect adresa de coloan. n momentul memorrii adresei de coloan (cztorul lui CAS) memoria
are toate elementele necesare furnizrii bitului de ieire Dout, dup un timp precizat n catalog (de
cca. 20 ns la memoriile 4164). Rezult deci c interfaa ntre microprocesor i DRAM este
complicat ntruct din semnalele pe care le furnizeaz microprocesorul (adres de memorie i
comand), interfaa trebuie s fabrice protocolul mai sus expus (secvena ADR, RAS, CAS).
2. Necesitatea regenerrii memoriei DRAM.
Bitul de informaie DRAM este implementat sub forma unui condensator. Din pcate
acest condensator se descarc n timp i prin urmare cu timpul poate s piard informaia pe
care o memoreaz => deci c periodic el trebuie rencrcat (refresh, regenerare).
Regenerarea se face pe ntreg rndul din matricea de memorare. Conform catalogului
un anumit rnd ine minte informaia circa 2 ms. Dup acest interval, ntreg rndul trebuie
regenerat. Algoritmul de regenerare va trebui s fie unul de tip secvenial care s regenereze
rnd dup rnd n mod ordonat.
Rezult c rata de regenerare a 2 rnduri succesive i respectiv (i+1) trebuie s se fac la
un interval de maxim 2 ms/N, unde N=nr. de rnduri al circuitului de memorie DRAM.
500 ps 0.5 ns
fCLK
Timpul de acces DRAM : TaDRAM 10 ns
Specificaiile legate de timpul de acces la DRAM au fost preluate din urmtoarele dou referine, n
care se consider identic (dar n mod independent unul de cellalt) c TaDRAM=5ns40ns pentru
circuite de memorie avnd capaciti ntre 64 Mbii i 1Gbit.
Nikkei Electronics Asia July 2008 (IBM Develops Ultra-Dense Magnetic Memory,
http://techon.nikkeibp.co.jp/article/HONSHI/20080625/153878/)
Department of Electrical Engineering, Stanford University (Lecture 5 Main Memory Systems:
EE282 Fall2008, http://eeclass.stanford.edu/ee282)
Aceast instruciune se proceseaz, conform modelului secvenial clasic (atribuit marelui
matematician american John von Neumann autorul primului document referitor la un calculator
electronic numeric pe deplin funcional), n faze succesive, dup cum urmeaz:
Faza IF (instruction fetch): ciclu de citire din memorie de la adresa dat de PC (program
counter) dureaz aproximativ, spre ex., 20 TCLK (conform protocolului unui ciclu mediu de acces la
memorie) = 10 ns.
Faza ID (instruction decode): n aceast faz microprocesorul decodific instruciunea
(nelege ce trebuie s fac n continuare) i ca urmare aduce ntr-un registru temporar intern,
situat la intrarea ALU, operandul din reg1. Decodificarea instruciunii consum uzual 1TCLK=0.5 ns.
Calcul adres memorie a celui de-al doilea operand (reg2) + 200 ADR(BUS) atac
memoria: ~ 1 TCLK=0.5 ns.
Declanare ciclu de aducere a operandului din memorie de la adresa anterior calculat.
Dureaz, ca i IF, ~ 20 TCLK = 10 ns.
Faza EX: execuia propriu-zis a instruciunii, adunarea celor 2 operanzi, dureaz ~ 1 T CLK =
0.5 ns => timpul de procesare aferent acestei instruciuni T~21.5 ns => nr. de instruciuni pe
secund:~ 46511628 instruciuni (performana 46.5 MIPS) (Pentium I ~ 15 MIPS)
De remarcat faptul c o instruciune se proceseaz sub forma unei nlnuiri de cicli
main (faze). Un ciclu main reprezint o nlnuire de aciuni sincronizate cu un impuls de
tact. Ciclul main este unitatea atomic de procesare, cea care nu poate fi ntrerupt de nici o
cerere extern. CICLUL INSTRUCIUNII (totalitatea fazelor de procesare care compun
instruciunea) este neinteruptibil de ctre cererile de ntrerupere hardware (externe), ns el poate fi
ntrerupt la nivelul unei faze de procesare (la finele acesteia Fetch, Decode, ...) de ctre o cerere
DMA (acces direct la memorie) din partea unui periferic foarte rapid.
Obs.: Utilitatea modurilor de adresare indirecte prin registru i indexate (adresa operand din
memorie = R+index) este dat de facilitatea scrierii compacte a programelor (bucle), adresrii
elegante a unor structuri de date de tip tablou situate n memorie etc. Astfel de structuri de date se
ntlnesc implementate att n cadrul limbajelor de nivel nalt (ex. n limbajul C, stiva de date
asociat unei funcii i care trebuie accesat n vederea transmiterii de parametri respectiv revenire
dintr-un apel) ct i al aplicaiilor scrise n aceste limbaje.
Creterea decalajului dintre viteza procesoarelor i timpul de acces la memorie a impus
introducerea unui sistem ierarhic de memorie (vezi figura 1.7), pentru a nu face simit la
nivelul performanei globale a sistemului ncetineala cu care se acceseaz memoria. Practic, cu
ct capacitatea memoriei crete, cu att crete timpul de acces la memorie i se ieftinete
preul per unitate de octet memorat. Memoria cache este o memorie situat din punct de
vedere logic ntre CPU (unitatea central de procesare) i memoria principal, mai mic, mai
rapid i mai scump (per byte) dect aceasta i gestionat n general prin hardware astfel
nct s existe o ct mai mare probabilitate statistic de gsire a datei accesate de ctre CPU, n
cache. Aadar, cache-ul este adresat de ctre CPU n paralel cu memoria principal (MP): dac data
dorit a fi accesat se gsete n cache, accesul la MP se aborteaz, dac nu, se acceseaz MP cu
penalizrile de timp impuse de latena mai mare a acesteia, relativ ridicat n comparaie cu
frecvena de tact a CPU. Oricum, data accesat din MP se va introduce i n cache.
Caracteristicile de vitez i capacitate de stocare aferente fiecrui nivel din ierarhia de memorie[Hen12]
RBuff va memora un octet care reprezint codul ASCII (Unicode) al tastei apsate de ctre
utilizator.
Exemple:
A = 41h 0100.0001
a = 61h 0110.0001
0 = 30h
= 20h
Bitul Ready din registrul de stare este un bit de tip Read Only cu urmtoarea semnificaie:
dac registrul RBuff se ncarc cu un octet (utilizatorul a apsat o tast) atunci Ready se pune
automat pe 1 artnd microprocesorului c poate s preia codul din RBuff. Bitul Ready se
va reseta automat odat cu preluarea codului din Rbuff de ctre microprocesor. Un program absolut principial - de gestiune a tastaturii s-ar scrie ca mai jos:
Q5: Credei c modul de lucru prin interogare reprezint o bun abordare pentru celelalte
periferice (mai rapide) cum ar fi memoriile externe (disk) sau interfeele de reea?
Dezavantajul acestei metode const n faptul c microprocesorul ateapt un timp T,
neacceptabil de mare la nivelul vitezei sale, pentru a inspecta dac perifericul este sau nu este
pregtit. Considernd c utilizatorul apas o tast la interval de 250 ms i c o instruciune a
microprocesorului dureaz cca. 21.5 ns => c pierde 250 ms / 21.5 ns 11.6 milioane
Computer Science and Automation Control
Adrian FLOREA
instruciuni n bucla de ateptare n loc s execute instruciuni utile. Acest dezavantaj este
eliminat de metoda urmtoare de comunicare procesor-interfa.
Aadar RTI dup ce execut serviciul necesar perifericului (n cazul acesta preluare i
depozitare caracter n memorie) revine n PP, unde pn cnd perifericul cere un nou serviciu (de
ex. se apas din nou o tast), microprocesorul va executa instruciuni utile din PP (sistem de
operare, program utilizator etc.) si deci nu mai este necesar s mai atepte inutil ca in cazul 1.
Totalitatea aciunilor executate de ctre microprocesor din momentul apariiei
semnalului de ntrerupere INT pn n momentul procesrii primei instruciuni din RTI
formeaz aa numitul protocol hardware de acceptare a ntreruperii (sgeile 1 i 3 din figur).
n principiu acest protocol se desfoar n urmtoarele etape succesive:
1.) Odat sesizat ntreruperea INT de ctre microprocesor acesta i va termina instruciunea
in curs de execuie dup care, dac anumite condiii sunt ndeplinite (nu exist activat o cerere de
ntrerupere sau de bus mai prioritare etc.), va trece la pasul 2. n general, microprocesoarele
examineaz activarea ntreruperilor la finele ultimului ciclu aferent instruciunii n curs de
execuie.
2.) Recunoaterea ntreruperii: microprocesorul va iniializa aa numitul ciclu de achitare a
ntreruperii. Pe parcursul acestui ciclu extern va genera un semnal de rspuns (achitare) a
ntreruperii INTACK (interrupt acknowledge) spre toate interfeele de intrare - ieire. Ca urmare a
recepionrii INTACK interfaa care a ntrerupt va furniza microprocesorului prin intermediul busului de date un aa numit octet vector de ntrerupere (VI). Acest VI este diferit pentru fiecare
periferic n parte, individualizndu-l deci ntr-un mod unic. Pe baza acestui VI i conform unui
algoritm care difer de la microprocesor la microprocesor, acesta va determina adresa de nceput a
RTI, adres ce va urma s o introduc in PC. Firete, la VI diferii vor corespunde adrese de nceput
diferite.
3.) Microprocesorul va salva ntr-o zon special de program numit memorie stiv, PC-ul
aferent instruciunii imediat urmtoare instruciunii executate de ctre microprocesor din PP
(PCrev), pentru a putea ti la finele RTI unde s revin exact n PP.
Memoria stiv este o zon de memorie RAM caracterizat la un moment dat de aa numitul
vrf al stivei adic de ultima locaie ocupat din stiv.
Acest vrf al stivei este pointat (adresat) permanent de coninutul unui registru special
dedicat, existent n orice microprocesor modern, numit SP (stack pointer).
n memoria stiv sunt posibile 2 tipuri de operaii:
operaia PUSH Reg care se desfoar astfel:
operaia POP Reg:
SP (SP)
Atunci cnd se dorete prin program transferul unor octei din memorie pe disc sau citirea
de pe disc n memorie microprocesorul va scrie n interfaa DMA aferent (prin instruciuni de
tip OUT succesive) urmtoarele informaii:
- adresa de nceput de pe disc (nr. cilindru, nr. cap, nr. sector). Header reprezint adresa de
nceput sector, deci un identificator al sectorului care se scrie la formatarea fizic a discului
Modul de lucru prin transfer DMA apare n cadrul procesorului de tip multicore IBM-CELL
(compus dintr-un element puternic de procesare PowerPC pe 64 de bii i 8 procesoare specializate
SIMD single instruction multiple data). Procesoarele SIMD acceseaz memoria comun i
partajat de ctre toate cele 9 nuclee de procesare prin comenzi DMA asincrone. Prin DMA se
transfer date i instruciuni ntre memoria comun i memoriile locale (private fiecrui procesor
SIMD). Scopul este de a exploata paralelismul de calcul din sistemul multicore, avnd n vedere c
timpul petrecut cu setarea parametrilor transferului DMA este incomparabil mai mic dect
memory wall-ul dintr-un sistem monocore. n cadrul sistemelor multicore sau multiprocesor,
singurele instruciuni care nu pot fi ntrerupte de o cerere DMA sunt instruciunile atomice
(read/modify/write) care ajut la pstrarea coerenei i consistenei datelor din memoria partajat.
Bibliografie
[EDA11]
http://eda360insider.wordpress.com/2011/12/06/fast-serial-io-whats-its-future-in-theembedded-world/
[Hen07] Hennessey J., Patterson D. Elsevier, Computer Architecture: A Quantitative Approach,
fourth edition, Elsevier, 2007.
[Hen11] Hennessey J., Patterson D. Elsevier, Computer Architecture: A Quantitative Approach, fifth
edition, Elsevier, 2011.