Documente Academic
Documente Profesional
Documente Cultură
Curs Ar Hit Calc 0405
Curs Ar Hit Calc 0405
ARHITECTURA CALCULATOARELOR
CUPRINS
CAPITOLUL 1 ----------------------------------------------------------------------------------------------------- 1
1.1. SISTEMUL DE CALCUL ---------------------------------------------------------------------------------- 3
1.1.1.
Definiii --------------------------------------------------------------------------------------------- 3
1.1.2.
Aplicaiile sistemelor de calcul ------------------------------------------------------------------ 3
1.1.3.
Sistemul de calcul din diferite puncte de vedere -------------------------------------------- 4
1.1.4.
Structura ierarhic de organizare a calculatorului ------------------------------------------- 6
1.1.5.
Structura funcional a unui sistem de calcul ------------------------------------------------- 7
1.1.6.
Performanele unui sistem de calcul ------------------------------------------------------------ 9
1.1.7.
Clasificri ------------------------------------------------------------------------------------------ 9
1.1.8.
Principiile von Neumann ------------------------------------------------------------------------ 12
1.1.9.
Modelul formal al unui calculator ------------------------------------------------------------- 13
1.1.10. Evoluia sistemelor de calcul ------------------------------------------------------------------- 14
1.2. SISTEMUL DE INTRARE/IEIRE. DISPOZITIVE PERIFERICE -------------------------------------- 18
1.2.1.
Clasificri ----------------------------------------------------------------------------------------- 19
1.2.2.
Caracterizarea unor periferice ----------------------------------------------------------------- 20
1.2.2.1.
Discurile dure. Hard-discul---------------------------------------------------------------- 20
1.2.2.2.
Discurile flexibile. Discheta--------------------------------------------------------------- 21
1.2.2.3.
Compact discurile -------------------------------------------------------------------------- 22
1.2.2.4.
Monitoarele (graphic display) ------------------------------------------------------------ 22
1.2.2.5.
Principalele adaptoare video -------------------------------------------------------------- 24
1.2.2.6.
Mouse-ul ------------------------------------------------------------------------------------- 25
1.2.2.7.
Reele de comunicare ---------------------------------------------------------------------- 26
1.2.2.8.
Placa de reea-------------------------------------------------------------------------------- 27
1.2.2.9.
Modemul ------------------------------------------------------------------------------------ 28
1.2.3.
Canalul de intrare / ieire ----------------------------------------------------------------------- 28
1.2.4.
Legarea perifericelor la SC. Unitile de interfa ------------------------------------------ 28
1.2.5.
Magistrale ----------------------------------------------------------------------------------------- 30
1.2.6.
Transferul eficient de date. Procesoare specializate ---------------------------------------- 35
1.3. UNITATEA DE MEMORIE ------------------------------------------------------------------------------ 38
1.3.1.
Structura fizic a memoriei --------------------------------------------------------------------- 38
1.3.2.
Structura ierarhic de organizare a memoriei ----------------------------------------------- 39
1.3.3.
Memorii cache ------------------------------------------------------------------------------------ 42
1.3.4.
Memoria virtual --------------------------------------------------------------------------------- 43
1.3.5.
Memorii cu acces aleator RAM i ROM ---------------------------------------------------- 45
1.4. PROIECTAREA CALCULATOARELOR MODERNE --------------------------------------------------- 47
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.1.
1.1.1.
Sistemul de calcul
Definiii
1.1.2.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.1.3.
ARHITECTURA CALCULATOARELOR
de nivel
nalt
Control
execuie
Control I/O
Registre
UAL
Procesor I/O
Memorie
Arhitectur de sistem
Arhitectur de microcod
Arhitectur de nivel poart
Controllere
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.1.4.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.1.5.
ARHITECTURA CALCULATOARELOR
INPUT
CONTROL
DATAPATH
OUTPUT
PROCESOR
MEMORIE
UC
De aici rezult c procesorul preia instruciunile i datele din memorie,
n timp ce controlul trimite semnale care determin operaii pe Datapath, n
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.1.6.
1.1.7.
Clasificri
ARHITECTURA CALCULATOARELOR
10
uzual
al
sistemelor
multicalculator
sunt
reelele
de
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
11
lor
este
scdere
datorit
utilizrii
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
12
electronice
Memorie
Tambur
magnetic
Inele de ferit
II
III
Memorii
semicond.;
Discuri
magnetice
IV
Memorii cu
bule;
Discuri optice
dup1990
Arhitecturi
paralele
integrate
1.1.8.
integrate pe
scar larg
i
foarte
larg
Circuite
integrate pe
scar
extrem de
larg;
Masini
LISP
i
PROLOG
Limbaje
Memorie. CPU
Limbaj de
asamblare
Limbaje de
nivel nalt:
FORTRAN,
COBOL
Limbaje de
nivel foarte
nalt
(PASCAL,
LISP, limbaje
grafice)
ADA, limbaje
orientate
obiect
M: 2KO;
V: 1E4 i/s
M: 32 KO;
V: 2E5 i/s
Limbaje
concurente;
Limbajul
natural;
Limbaje
funcionale
(LISP);
Limbaje logice
(PROLOG)
V: de la 1E9 i/s la
1E12 i/s;
M: suficient
pentru stocarea i
prelucrarea
cunostintelor
(inteligena
artificial);
Tehnologia vorbirii
M: 2 MO;
V: 5E6 i/s
M: 8MO;
V: 3E7 i/s pentru
supercalculatoare
ARHITECTURA CALCULATOARELOR
13
1.1.9.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
14
1.1.10.
ARHITECTURA CALCULATOARELOR
15
avea 2 picioare lungime. In total, ENIAC folosea 18000 tuburi electronice. (1m
= 3,2808 ft)
ENIAC executa salturi condiionate i era programabil. Programarea se
fcea manual prin cuplarea (plugging) cablurilor i setarea comutatoarelor, iar
datele erau introduse pe cartele perforate (punched cards). Programarea
calculelor de baz dura ntre o jumtate de or i o zi ntreag.
In 1944 John von Neumann a fost atras n proiectul ENIAC. Grupul
vroia s mbunteasc modalitatea de introducere a datelor i se discuta
asupra memorrii programelor ca o succesiune de numere. Von Neumann a
contribuit la cristalizarea ideilor i a scris un memo prin care propunea un
calculator cu program memorat (program-stored computer), numit EDVAC
(Electronic Discrete Variable Automatic Computer). Acest memo este
baza a ceea ce i astzi numim calculator von Neumann (vezi Principiile von
Neumann). Muli apreciaz c aceast denumire acord prea mare credit lui
von Neumann i neglijeaz aportul (inginerilor) creatorilor Eckert i Mauchly
In 1946 Maurice Wilkes de la Universitatea Cambridge a vizitat Scoala
Moore. Intors la Cambridge, Wilkes s-a hotrt s demareze un proiect care
s construiasc un calculator cu program memorat, numit EDSAC
(Electronic Delay Storage Automatic Calculator). EDSAC a devenit
funcional n 1949 i se consider primul calculator cu scopuri generale (engl.,
general purpose calculator), operaional i cu program memorat din lume.
In timpul celui de-al doilea rzboi mondial au fost construite
calculatoare specializate pentru decodificarea mesajelor interceptate de
englezi de la nemi. O echip de la Bletchley Park, din care fcea parte i
Alan Turing, a construit n 1943 calculatorul Colossus. Aceast main a fost
secret pn n 1970. Dup rzboi, acest grup a avut o oarecare influen
asupra pieei britanice de calculatoare.
In timp ce se lucra la ENIAC, Howard Aiken construia la Harvard un
calculator electro-mecanic numit Mark-I. Acesta a fost urmat de Mark-II i apoi
de dou maini cu tuburi electronice, Mark-III i Mark-IV. Fa de EDSAC,
care folosea o singur memorie att pentru instruciuni, ct i pentru date,
Mark-III i Mark-IV aveau memorii separate pentru instruciuni i pentru date.
Aceste maini au fost considerate mpotriva calculatoarelor cu program
memorat. Pentru a respecta importana mainilor lui Howard, astzi, termenul
de arhitectur Harvard descrie maini cu o memorie principal unic, dar cu
zone cache separate pentru date i instruciuni.
In 1947 a fost demarat la MIT (Massachusetts Institute of Technology)
proiectul Whirlwind i avea ca scop realizarea unor aplicaii pentru procesarea
n timp real a semnalelor radar. Dei a condus la multe invenii, cea mai
important rmne memoria bazat pe miez (core) magnetic, care a fost baza
sistemelor de memorare pentru urmtorii 30 de ani.
Firma IBM era implicat n afacerile cu cartele perforate i cu
automatizarea sistemelor, dar nu a construit calculatoare pn n anii 1950.
Primul calculator IBM, IBM 701, a fost scos pe pia n 1952 i a fost vndut
n 19 exemplare. Imediat dup 1950 muli erau pesimiti n legtur cu viitorul
calculatoarelor, mai ales gndindu-se c piaa i oportunitatea pentru aceste
maini super specializate" trebuie s fie foarte limitat.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
16
Nr de buc vndute
80x86
50.000.000
MIPS
5.500.000
Power PC
3.300.000
Sun SPARC
700.000
HP PA-RISC
300.000
DEC Alpha
200.000
ARHITECTURA CALCULATOARELOR
17
Rezumat.
In acest paragraf am definit principalele concepte necesare pentru o
bun nelegere a structurii i funcionrii calculatorului. Dintre acestea, se
remarc prin importan definiia pentru arhitectura calculatoarelor, pentru
c acest concept d i titlul cursului.
Partea central a acestui prim paragraf din curs o constituie
prezentarea structurii sistemului de calcul n diferite abordri: (1) tipurile de
resurse ale calculatorului modern, (2) structura ierarhic de organizare a
sistemului de calcul i (3) structura fizic i logic a sistemului de calcul.
Paragrafele urmtoare vor trata n detaliu tocmai componentele
principale puse n eviden de structura logic a calculatorului, i anume:
sistemul de intrare/ieire (dispozitivele periferice) i unitatea de memorie, n
capitolul nti, structura i rolul regitrilor i a UAL n capitolul al doilea,
capitolul al treilea i al patrulea fiind rezervate structurii i funcionrii unitii
centrale de prelucrare, concret a procesorului.
Cuvinte cheie.
sistem de calcul
hardware, software
arhitectura calculatoarelor, nivel conceptual de arhitectur
unitate funcional, ecuaie logic, UAL, UCP, memorie, IOS
Verificare.
1. Care sunt principalele dumneavoastr activiti curente n care folosii
calculatorul?
2. Notai-v principalele componente (denumire i caracteristici) ale
calculatorului pe care l folosii n mod frecvent. Decidei care sunt
elementele pe care le cunoatei, pe care le putei descrie i care nu.
Recitii aceast descriere din cnd n cnd, pe msur ce parcurgei
cursul i bifai elementele despre care tocmai ai nvat. Discutai n final
cu cadrul didactic ceea ce a rmas nebifat pe lista dumneavoastr.
3. Care este legtura ntre structura fizic i structura logic ale sistemului
de calcul?
4. Stabilii-v n scris cteva repere cronologice n evoluia sistemelor de
calcul.
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.2.
18
s
de
de
pe
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.2.1.
19
Clasificri
medii
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
20
Tip
Partener
Rata de transfer
(KB / sec)
Tastatur
intrare
om
0,01
Mouse
intrare
om
0,02
Cititor de voce
intrare
om
0,02
Scanner
intrare
om
400
Redare voce
ieire
om
0,6
Imprimant pe linii
ieire
om
Imprimant laser
ieire
om
200
Monitor
ieire
om
60.000
Modem
main
2-8
Reea LAN
main
500 - 6.000
Disk flexibil
memorare
main
100
memorare
main
1.000
Band magnetic
memorare
main
2.000
Disk magnetic
memorare
main
2.000 - 10.000
1.2.2.
1.2.2.1.
Din punct de vedere fizic, un volum de disc magnetic are structura din
figura urmtoare.
Volumul se monteaz pe o unitate de disc, unde se rotete cu o vitez
constant. Suprafaa de memorare a unui disc este structurat pe trei nivele
(pist, cilindru, sector) i depinde de patru constante de construcie.
Suprafaa fiecrei fee active de memorare este divizat logic n
coroane circulare concentrice numite piste. Numrul de piste de pe o fa
este prima constant de construcie i ea variaz ntre 30 i 800 piste/fa.
In cazul n care volumul conine mai mult de dou fee active, situaie
frecvent ntlnit n practic, atunci fiecare fa activ are acelai numr de
piste i toate pistele cu aceeai raz formeaz un cilindru. Numrul de fee
active ale unui volum de disc este a doua constant de construcie i ea
variaz ntre 1 i zeci de fee active/volum.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
21
Sector
Cilindru
0
1
Pista
Capete
de
scriere /
citire
2
3
Fata
magnetizabila
.
.
.
Furca
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
22
Compact discurile
ARHITECTURA CALCULATOARELOR
23
Memorie
CPU
Legatura seriala
Anca Vasilescu
vasilex@info.unitbv.ro
Placa
adaptor
video
TASTATURA
TERMINAL
MONITOR
TERMINAL
ARHITECTURA CALCULATOARELOR
24
Ecranul poate lucra, dar nu simultan, fie n regim text, fie n regim
grafic. n regim text vede (de regul) 25 de linii a cte 80 de caractere fiecare,
iar n modul grafic o matrice de pixeli, ale crei dimensiuni depind de
caracteristicile adaptorului video.
Evident c, pentru modul de lucru grafic memoria ecran este mult mai
mare dect cea necesar pentru modul de lucru text.
In memoria ecran, fiecrui caracter (n mod de lucru text) sau fiecrui
pixel (n mod de lucru grafic), i sunt ataate aa numitele atribute ale
imaginii. Aceste atribute se refer la:
strlucirea punctului luminos (brightness);
la posibilitatea imaginii de a pulsa pe ecran (flashing);
la posibilitatea imaginii de a aprea n video invers ( adic situaia n
care se schimb culoarea fondului cu cea a punctelor luminoase);
la culoarea pixelului sau a caracterului.
1.2.2.5.
Primul adaptor video disponibil pentru IBM-PC a fost unul pentru ecran
monocrom. El s-a numit MDA (Monochrom Display Adapter) i a fost creat n
1981. Caracteristici: nu ofer faciliti grafice, poate s afieze numai
caracterele ASCII standard i cele speciale din setul IBM.
Adaptorul Hercules, prescurtat HGC, ( Hercules Graphics Card) a fost
creat de firma cu acelai nume n 1982. HGC permite att afiare
alfanumeric ct i afiare grafic. Tehnicienii de la Hercules au rezolvat cu
aceast ocazie mbinarea textului cu grafica, iar standardul firmei s-a impus
rapid pe pia. HGC permite comutarea ntre modul de lucru impus de MDA i
modul grafic cu o rezoluie nalt: 720*348 pixeli.
Adaptorul CGA (Color Graphics Adapter) a nceput s fie livrat n 1981.
Pe lng modul de lucru alfanumeric (80*25 caractere), acesta permite un
mod de lucru cu patru culori i o rezoluie de 320*200 pixeli. Calitatea
afiajului nu este deosebit, datorit rezoluiei destul de reduse, n schimb se
pot folosi culorile.
Placa adaptor EGA (Enhanced Graphics Adapter) a aprut pe pia la
nceputul anului 1985. Ea motenete modurile de lucru de la MDA i CGA,
dar ofer posibiliti grafice mult mai mari. Astfel, pot fi utilizate simultan 16
culori din 64 posibile, cu o rezoluie de 640*350 pixeli. Evident, calitatea
imaginii este mult mai bun dect cea oferit de adaptoarele precedente.
Interfaa VGA (Video Graphics Array), aprut n 1987, aparine unui
nou standard grafic. Este compatibil cu plcile anterioare, dar ofer
posibiliti mult sporite fa de acestea. n mod grafic are o rezoluie de
640*480 pixeli cu 16 culori simultane din 262.144 posibile, sau 256 culori
simultane cu 320*200 pixeli. n modul text caracterele sunt formate din 144 de
pixeli (matrice de 9*16 pixeli pe caracter), fa de 64 la CGA, 112 la EGA, 126
la MDA i HGC.
n momentul de fa exist mai multe variante mbuntite de plci
VGA, cunoscute generic sub numele de SVGA (Super VGA).
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.2.2.6.
25
Mouse-ul
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.2.2.7.
26
Reele de comunicare
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
27
IP header
Length
Source
Destination
Source
Destination
(0 65.516 B)
IP data
TCP header
TCP data
32 bits
Aceste dou protocoale (IP i TCP) lucreaz mpreun i formeaz o
stiv de protocoale (protocol stack) n care pachetele TCP sunt ncapsulate n
pachetele IP. Pentru a permite comunicarea ntre mai multe reele de
caracteristici diferite, TCP/IP definete un format standard de pachet: un
pachet IP (care conine informaiile de adresare IP) ncapsuleaz un pachet
TCP (care conine att informaii de adresare interpretate de gazd, ct i
datele care se comunic).
1.2.2.8.
Placa de reea
Placa de reea este componenta fizic a unui sistem de calcul prin care
acesta se poate conecta la o reea de calculatoare. O plac de reea
funcioneaz ca interfa fizic ntre calculator i cablul de reea. Fiecare
calculator din reea (staie) i server-ul reelei vor avea instalat cte o plac
de reea (fizic, ntr-un slot pe placa de baz sau incorporat direct n placa de
baz). Legtura fizic ntre calculator i restul reelei se stabilete dup ce
cablul de reea se conecteaz la portul plcii de reea.
Fiecare participare" a calculatorului n reea presupune un transfer de
date ntre calculator i placa de reea, deci un proces de comunicare. In cazul
plcilor cu acces direct la memorie, DMA Board (Direct Memory Access),
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
28
Modemul
1.2.3.
1.2.4.
ARHITECTURA CALCULATOARELOR
29
Interface
Controller
Peripheral Device
ARHITECTURA CALCULATOARELOR
30
1.2.5.
Magistrale
Intreruperi
Cache
Magistrala de comunicare
Memorie
principala
I/O Controler
I/O Controler
I/O Controler
Disk
Statie grafica
Network
Disk
ARHITECTURA CALCULATOARELOR
31
procesor
control
interfata
interfata
interfata
monitor
imprimanta
disc magnetic
ARHITECTURA CALCULATOARELOR
32
ARHITECTURA CALCULATOARELOR
33
Magistrala de extensie
Procesor
Procesor
Adaptor de
magistrala
Adaptor de
magistrala
I/O
Bus
I/O
Bus
Memorie
Adaptor de
magistrala
I/O
Bus
Procesor
Memorie
Memorie
Adaptor de
magistrala
Adaptor de
magistrala
I/O Bus
Magistrala
de extensie
Adaptor de
magistrala
I/O Bus
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
34
2) magistrale asincrone.
O magistral sincron are pe liniile de control un ceas care
controleaz un protocol bine definit pentru comunicare. De obicei,
magistralele procesor - memorie sunt magistrale sincrone, deoarece
conecteaz puine componente i trebuie s lucreze la vitez mare de transfer
a datelor.
Observaie. Funcionarea unei magistrale sincrone poate fi simulat cu
un automat finit determinist.
Prezena ceasului impune restricii n construirea i funcionarea unei
magistrale sincrone. De exemplu, toate componentele conectate trebuie s
funcioneze la aceeai frecven de tact. De asemenea, datorit problemelor
de sincronizare, o magistral sincron nu poate fi i lung i rapid.
O magistral asincron nu este controlat de ceas, deci poate grupa
o mai mare varietate de periferice i poate fi orict de lung. In acest caz,
pentru coordonarea transmiterii de date se folosete un protocol de tip hand
shaking (vezi i Moris Manno, pag. 393). Acesta const dintr-o succesiune de
pai n care sursa i destinatarul transferului de date trec la pasul urmtor
numai de comun acord. Acest protocol este practic implementat cu
suplimentarea liniilor de control pe magistral.
Observaie. Funcionarea unei magistrale asincrone poate fi simulat
cu o pereche de automate finit deterministe: o main trece n starea
urmtoare numai dac cealalt a intrat ntr-o anumit stare - test.
Standarde de magistrale.
Magistralele de intrare - ieire servesc ca o modalitate de a mbunti
performaele SC prin conectarea a noi periferice. Pentru a facilita aceast
operaie, industria sistemelor de calcul a dezvoltat o serie de standarde de
magistral.
Un standard reprezint o specificare pentru un productor de
component. Astfel, un standard de magistral impune productorilor
structura de baz a magistralei, astfel nct s poat fi cunoscut i folosit a
priori de productorii perifericelor, cu compatibilitate maxim cu maina
gazd.
Un standard de magistral este, de exemplu, SCSI Small Computer
System Interface. De obicei, o magistral de acest tip este o interfa fizic
ctre o magistral de extensie sau ctre o magistral procesor - memorie. Un
controller SCSI coordoneaz transferurile de la periferic, pe magistrala de
intare - ieire, spre memorie, prin intermediul unei magistrale procesor memorie. Deci, magistralele de intrare - ieire sunt construite conform acestui
standard.
Pentru magistralele de extensie este recunoscut standardul ISA
Industrial Standard Architecture. Iniial au fost magistrale pe 8 bii i, ulterior,
au fost extinse la 16 bii, ca standard pentru IBM PC/AT. Limitat la o
frecven de ceas de 8 MHz, aceast magistral a fost deja insuficient
pentru procesoarele 80386. Totui, o magistral ISA (sloturi de 8 bii sau de
16 bii) rmne o opiune pentru conectarea imprimantelor prin porturi seriale,
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
35
pentru controller-e de mouse, dar sunt prea lente pentru discurile moderne
sau pentru adaptoare video.
Standardul PCI Peripheral Component Interconnect a fost iniiat de
Intel i dezvoltat ulterior de alt concern industrial. Aceste magistrale sunt cele
de mare vitez. PCI a fost prima magistral care a rspuns cererilor de
magistral pe 32 bii reclamate de procesoarele Pentium i opera la frecvene
de tact de 33 MHz sau 66 MHz, permind rate de transfer de 132 MB / sec
sau 264 MB / sec. PCI suport controlul total al magistralei (bus mastering).
De obicei, magistralele de extensie sunt magistrale PCI. Arhitectura
magistralei PCI poate oferi facilitatea Plug-and-Play (autoconfigurare).
Aceast tehnologie const n adaptarea automat a configuraiei
calculatorului (fr intervenia utilizatorului) la caracteristicile componentei
care tocmai se instaleaz. Astfel, instalarea oricrui dispozitiv devine o
operaie simpl i sigur. In plus, autoconfigurarea face inutil setarea
manual a configuraiei calculatorului. Sistemul de operare Windows 95 (i
ulterioarele) respect specificaiile Plug-and-Play.
Calculatoarele personale dispun de patru tipuri de arhitecturi de
magistral i anume: ISA, EISA (Extended ISA), Micro Channel i PCI.
Pentru conectarea dispozitivelor periferice de vitez redus la
calculator s-a impus un standard de magistral unanim acceptat, anume USB
(engl. Universal Serial Bus).
ARHITECTURA CALCULATOARELOR
36
ARHITECTURA CALCULATOARELOR
37
Cuvinte cheie.
dispozitiv periferic, sistemul de intrare/ieire
periferic de intrare, periferic de ieire, periferic de intrare/ieire
periferic de schimb, periferic de memorare
unitate de interfa, port
magistral, standard de magistral
Verificare.
1. Care sunt perifericele conectate la sistemul de calcul pe care l folosii n
mod frecvent?
2. Explicai modul n care procesorul central stabilete comunicarea direct
cu un anumit periferic solicitat la un moment dat.
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1.3.
38
Unitatea de memorie
1.3.1.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
39
Biii unui cuvnt trebuiesc ordonai ntr-un mod unic. Pentru aceasta se
folosete ordinea puterilor lui 2. Toate tipurile de SC numeroteaz biii
ncepnd cu 0. Dintre biii unui octet se remarc:
bitul cel mai semnificativ, MSB, cel care corespunde puterii celei mai
mari a lui 2;
bitul cel mai puin semnificativ, LSB, cel care corespunde puterii celei
mai mici a lui 2.
1.3.2.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
40
Memoria operativ
Memorie intern
Memoria cache
UCP
Sgeile de pe schema de mai sus arat c toate componentele de
memorie comunic ntre ele n ambele sensuri. In plus, memoria cache
comunic direct cu UCP.
Cnd o dat este solicitat de UCP, ea este cutat succesiv n zonele
de memorie corespunztoare nivelelor de mai sus: memorie cache, memorie
operativ, memorie secundar, memorie de arhivare. Pentru regsirea rapid
a datelor cutate, aceste memorii sunt construite astfel nct viteza de acces
cea mai mare este la memoria cache i scade pentru celelalte tipuri,
proporional cu distana fa de UCP. In acelai timp, crete capacitatea de
memorare, astfel c memoriile de arhivare ajung la capaciti suficiente pentru
stocarea de baze de date mari i foarte mari.
In continuare ne vom referi pe rnd la tipurile de memorie din ierarhia
de mai sus.
Memoria de arhivare sau memoria auxiliar este dat de
dispozitivele de memorare care se conecteaz la sistemul de calcul (resurse
informaionale). In memoria auxiliar se rein programele ntre rulri. Acestea
sunt gestionate de utilizator pentru folosirea eficient a datelor depuse pe ele,
de obicei fiiere i baze de date personale. Aceste suporturi de memorare
sunt nevolatile, de obicei discuri magnetice (din 1965).
Ca entitate fizic a SC, memoria se mai numete memorie real. Ca
entitate de utilizare, vom numi memoria virtual. Diferenele dintre acestea
depind de modul de organizare fizic i de complexitatea memoriei n discuie.
Memoria virtual este ntotdeauna considerat ca o succesiune de
octei, n timp ce fizic, poziia a doi octei vecini n memoria virtual poate s
difere. Legtura
dintre un octet considerat n memoria virtual i
corespondentul su fizic este fcut de mecanismul de adresare.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
41
Banda magnetica
Disc magnetic
Procesor I/O
UCP
Memorie
principala
Memorie
cache
ARHITECTURA CALCULATOARELOR
42
$ / MB (1997)
SRAM
5 ns 25 ns
100$ 250$
DRAM
60 ns 120 ns
5$ 10$
Disc magnetic
10 ms 20 ms
0,1$ 0,2$
1.3.3.
Memorii cache
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
43
1.3.4.
Memoria virtual
Dup cum memoria cache asigur accesul rapid la informaiile cel mai
recent utilizate, memoria principal poate aciona ca un cache pentru
memoria secundar. Aceast tehnic se numete memorie virtual. Astfel,
memoria virtual este un mecanism folosit pentru a extinde limitele memoriei
fizice. ntr-un sistem cu memorie virtual, aceasta apare utilizatorului ca i
cum integral spaiul logic de adrese este disponibil pentru memorare. De fapt,
n orice moment, numai cteva pagini din spaiul logic de adrese sunt mapate
peste spaiul fizic. Alte pagini (nici) nu sunt prezente (nici) n memoria
principal. n schimb, informaia din aceste pagini este memorat temporar
ntr-o memorie secundar de tip disc (al crui cost pe bit este mult mai
sczut). Ori de cte ori este accesat o pagin care lipsete, sistemul de
operare ncarc pagina respectiv de pe disc i memoreaz pe disc o alt
pagin, care nu a fost recent referit. Prin acest mecanism, utilizatorul are
impresia unei memorii fizice uriae, dar mai lente.
Exist dou funciuni majore pentru memoria virtual:
1. s permit partajarea eficient i sigur a memoriei ntre mai multe
programe;
2. s permit unui program utilizator unic s mreasc logic dimensiunile
memoriei primare (principale).
Pentru justificarea primei motivaii considerm un set de programe care
se execut simultan pe o main. Memoria total solicitat de toate aceste
programe poate fi mult mai mare dect cantitatea de memorie principal
disponibil pe main, dar, numai o parte din aceast memorie este EFECTIV
folosit la un moment dat. Memoria principal are nevoie numai de secvenele
active (procesele curente) ale programelor principale la fel cum n cache se
gsete la un moment dat numai secvena activ (procesul curent) ale UNUI
program. Evident, pentru a permite mai multor programe s partajeze aceeai
memorie, trebuie ca programele s fi fost protejate unele de altele (un
program poate s scrie sau s citeasc NUMAI zona de memorie care i-a fost
asigurat).
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
44
ARHITECTURA CALCULATOARELOR
45
1.3.5.
Unitate de memorie
2 cuvinte
n biti pe cuvant
n linii de date de iesire
Comunicarea cu memoria RAM se face prin linii de date de intrareieire, linii de adres i linii de control care precizeaz direcia de transfer a
datelor.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
46
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
47
1.4.
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
Anca Vasilescu
vasilex@info.unitbv.ro
48
ARHITECTURA CALCULATOARELOR
49
CAPITOLUL 2
Componentele digitale ale unui sistem de calcul
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
50
CUPRINS
CAPITOLUL 2 ---------------------------------------------------------------------------------------------------- 49
2.1. CIRCUITE LOGICE ------------------------------------------------------------------------------------- 51
2.1.1.
Pori logice. CLC. CLS -------------------------------------------------------------------------- 51
2.1.2.
CLC aritmetice------------------------------------------------------------------------------------ 54
2.1.2.1.
CLC sumator -------------------------------------------------------------------------------- 54
2.1.2.2.
CLC scztor -------------------------------------------------------------------------------- 58
2.1.2.3.
CLC sumator cu comutare----------------------------------------------------------------- 61
2.1.3.
CLC decodoare ----------------------------------------------------------------------------------- 63
2.1.4.
CLC multiplexoare ------------------------------------------------------------------------------- 64
2.1.5.
CLS bistabile -------------------------------------------------------------------------------------- 66
2.1.6.
Circuite integrate --------------------------------------------------------------------------------- 71
2.2. REGITRI ------------------------------------------------------------------------------------------------ 74
2.2.1.
Regitri cu ncrcare paralel ------------------------------------------------------------------ 74
2.2.2.
Regitri de deplasare----------------------------------------------------------------------------- 75
2.2.3.
Numrtoare binare ----------------------------------------------------------------------------- 77
2.2.4.
Regitri de incrementare ------------------------------------------------------------------------ 79
2.3. STRUCTURA DE BAZ A UNUI CALCULATOR ------------------------------------------------------- 81
2.3.1.
Regitrii principali ai unui sistem de calcul -------------------------------------------------- 81
2.3.2.
Unitatea de contorizare i control ------------------------------------------------------------- 82
2.3.3.
Transferul datelor pe magistral --------------------------------------------------------------- 82
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
51
2.1.
2.1.1.
Circuite logice
Pori logice. CLC. CLS
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
Nume
52
Expresie logic
Simbol grafic
a
b
I LOGIC
x=a b
sau x = a b
SAU LOGIC
a
b
NU LOGIC
x=a+b
x = a
ab
a+b
Anca Vasilescu
vasilex@info.unitbv.ro
Expresie logic
Simbol grafic
a
b
x = (a b)
a
b
x = (a + b)
a
b
x = ab + ab =
=ab
ARHITECTURA CALCULATOARELOR
53
NXOR
a
b
NOR exclusiv
(echivalen)
x = ab + ab =
= (a b)
(coinciden)
Funciile uzuale introduse anterior sunt definite de urmtoarele tabele
de valori:
a
(a b)
(a+b)
ab
(a b)
a+0=a
(10) a 0 = 0
(2)
a+1=1
(11) a 1 = a
(3)
a+a=a
(12) a a = a
(4)
a + a = 1
(13) a a = 0
(5)
a+b=b+a
(14) ab = ba
(6)
a + (b + c) = (a + b) + c
(7)
a(b + c) = ab + ac
(16) a + bc = (a + b)(a + c)
(8)
(a + b) = ab
(17) (ab) = a + b
(9) (a) = a
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
1
2
1
2
n
54
CLC
.
.
.
.
.
.
CLC aritmetice
2.1.2.
2.1.2.1.
bn
+
Tn
Anca Vasilescu
vasilex@info.unitbv.ro
sn
bn-1 an-1
Tn-1
+
sn-1
Tn-2
...
T1
T0
+
s1
a0
b0
a1
b1
+
2
s0
ARHITECTURA CALCULATOARELOR
55
b0
T0
+
2
s0
a+b
a0
b0
s0
T0
10
=>
Anca Vasilescu
vasilex@info.unitbv.ro
logic
semisumator
se
reprezint
prin
ARHITECTURA CALCULATOARELOR
56
a0
b0
s0
T0
bi
Ti
Ti-1
+
si
bi
Ti-1
si
Ti
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
57
ai
bi
si
Ti-1
Ti
ai bi
i -2
+ + PiPi 1 P1G0.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
58
G0 P0 G1 P1 G2 P2 G3 P3
a0
b0
s0
s1
a1
b1
s2
a2
b2
s3
a3
b3
G0 P0 G1 P1 G2 P2 G3 P3
2.1.2.2.
CLC scztor
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
59
an
bn
In
bn-1 an-1
I n-1
I n-2
dn
I1
...
dn-1
b0
a1
b1
I0
d1
a0
2
d0
a0
2
d0
Anca Vasilescu
vasilex@info.unitbv.ro
a0
b0
d0
I0
ARHITECTURA CALCULATOARELOR
60
logic
semiscztor
a0
b0
se
reprezint
prin
d0
I0
bi
I i-1
Ii
di
bi
I i-1
di
Ii
ARHITECTURA CALCULATOARELOR
61
i
I i = aibiI i-1 + aibiIi-1 + aibiI i-1 + aibiI i-1 =
= (aibi + aibi) I i-1 + aibi (Ii-1 + I i-1) =
= (ai bi) I i-1 + aibi =
= aibi + I i-1(ai bi).
Corespunztor, circuitul logic scztor complet se reprezint prin
urmtoarele pori logice:
ai bi
ai
bi
di
I i-1
Ii
aibi
2.1.2.3.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
62
y=xc
x, c = 0
y =
.
x , c = 1
Astfel, putem denumi intrarea c ca fiind intrare de comutare (sau de
condiie) deoarece valoarea ei este cea care decide dac pe ieirea din
poarta XOR avem valoarea de pe intrare sau complementara (negarea) ei.
Cu acestea, se poate construi un circuit care s efectueze att adunare
ct i scdere, pe care l vom numi circuit sumator cu comutare. Pentru
operarea pe rangul i, acest circuit va consta din urmtoarele pori logice:
ai
si / di
bi
Ti-1 / I i-1
(0/1)c
(ai c)bi
Ti / I i
(ai bi) c
ARHITECTURA CALCULATOARELOR
63
CLC decodoare
2.1.3.
D1 = abc
D2 = abc
D3 = abc
c
D4 = abc
D5 = abc
D6 = abc
D7 = abc
a a b b c c
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
64
abc
D0
D1
D2
D3
D4
D5
D6
D7
000
001
010
011
100
101
110
111
D1 = abc
D2 = abc
D3 = abc
c
D4 = abc
D5 = abc
D6 = abc
D7 = abc
Enable
2.1.4.
a a b b c c
CLC multiplexoare
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
65
I0s1s0
I0
I1
I1s1s0
I2
I3
I2s1s0
I3s1s0
s0
s1
I0 I1 I2 I3 s 0 s0 s1 s1
s0
I0
s1s0
I1
s1s0
I2
s1s0
I3
s1s0
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
2.1.5.
66
CLS bistabile
S
>C
Q
Q'
ARHITECTURA CALCULATOARELOR
67
Porile logice care asigur funcionarea acestui bistabil sunt dou pori
NOR interconectate. Prin interconectare nelegem c ieirile sunt repuse pe
intrri prin bucle de reacie. In figura urmtoare buclele de reacie sunt
figurate cu linie punctat.
S
Qt
Qt+1
fr modificare de stare
punere pe 0 (resetare)
0(*)
stare nedeterminat
0(*)
(comenzi interzise)
punere pe 1 (setare)
ARHITECTURA CALCULATOARELOR
68
Qt+1
Qt
fr modificare de stare
resetare = punere pe 0
setare = punere pe 1
Q
Q
S
D
>C
Q
Q
ARHITECTURA CALCULATOARELOR
69
Qt+1
resetare = punere pe 0
setare = punere pe 1
Q
Q
(S)
(R)
Qt
Qt+1
fr modificare de stare
punere pe 0 (resetare)
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
70
punere pe 1 (setare)
trecere n starea
complementar
Qt+1
Qt
Fr modificare de stare
Resetare = punere pe 0
Setare = punere pe 1
Qt
Trecere n starea
complementar
T
>C
Q
Q
>C
K
Q
Q
ARHITECTURA CALCULATOARELOR
71
Qt+1
Qt
Fr modificare de stare
Qt
Trecere n starea
complementar
(S)
Q
C
(R)
J
K
CLS
CLC
>
2.1.6.
Circuite integrate
ARHITECTURA CALCULATOARELOR
72
MSI
10-200 pori
LSI
200-cteva
includ
procesoare,
sute de pori chipuri de memorie,
module programabile
VLSI
folosite n decodoare,
sumatoare, regitri
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
73
ECL
MOS
Rezumat.
Acest paragraf are ca obiectiv principal definirea principalelor circuite
logice care intr n structura unui circuit elementar de memorie (bistabil), a
unui registru (vezi paragraful al doilea) i/sau n structura unei UAL
elementare. Tipurile de circuite sunt prezentate gradat, de la simplu la
complex, aa cum se poate vedea i din lista de cuvinte cheie.
Pentru toate aceste prezentri teoretice de modele, n culegerea de
probleme sunt date exemple concrete de utilizare i interconectare a
circuitelor. Structura culegerii de probleme urmrete paragraf cu paragraf
cursul, astfel nct studenii pot rezolva problemele pas cu pas, pe msur ce
sunt parcurse la curs elementele teoretice. Ultimul paragraf al culegerii de
probleme conine o serie de exemple de sintez, unele fiind chiar modele
concrete de circuite interne ale calculatorului.
Cuvinte cheie.
circuit logic
poart logic, poart logic elementar, poart logic uzual
CLC, CLC aritmetic (sumator, scztor, sumator cu comutare),
decodor, multiplexor
CLS, CLS bistabil (SR, D, JK, T)
circuit integrat
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
74
Regitri
2.2.
2.2.1.
D
I0
>C
D
I1
Clock
Anca Vasilescu
vasilex@info.unitbv.ro
A2
Q
>C
D
I3
A1
>C
D
I2
A0
Q
>C
A3
Q
ARHITECTURA CALCULATOARELOR
75
Regitri de deplasare
2.2.2.
Serial Input
D
>C
D
>C
D
>C
Serial Output
>C
Clock
ARHITECTURA CALCULATOARELOR
76
la aceeai surs. Atfel, toi bistabilii vor primi la acelai moment impulsul de
tact care determin deplasarea informaiei.
Intrarea Serial Input conine informaia care se va memora n primul
bistabil, iar ieirea Serial Output va conine vechiul coninut al ultimului bistabil
al registrului de deplasare analizat.
Detaliem acest tip de registru prezentnd structura intern a unui
registru pe 4 bii care poate executa sau o deplasare, sau o ncrcare paralel
(simultan), n funcie de valorile puse pe intrrile de selecie ale circuitului.
Registrul const din patru multiplexoare conectate la patru bistabili de tip D.
S0
S1
Serial Input
I0
S0
S1
4x1
0 MUX0
4x1
MUX2
A2
A3
>C
1
2
3
4x1
0 MUX 3
Anca Vasilescu
vasilex@info.unitbv.ro
>C
S0
S1
Clock
A1
1
2
3
S0
S1
Serial Input
I3
>C
4x1
0 MUX1
I2
A0
1
2
3
S0
S1
I1
1
2
3
D
>C
ARHITECTURA CALCULATOARELOR
77
S0
Intrarea selectat
de fiecare MUX
Fr modificare de stare
Incrcare paralel
Cele dou intrri Serial Input introduc valori noi n registru pe poziiile
eliberate de operaia de deplasare.
2.2.3.
Numrtoare binare
ARHITECTURA CALCULATOARELOR
78
A0
A1
A2
A3
>C
Count Enable
J
>C
J
>C
J
>C
K
Output carry
Clock
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
79
Regitri de incrementare
2.2.4.
+
2
T3
A3
I2
T2
+
2
A2
I0
I1
T1
+
2
A1
T0
+
2
A0
Rezumat.
Considernd cunoscute structurile de circuite introduse anterior, n
acest paragraf sunt descrise structurile interne la nivel de poart logic pentru
principalii regitri de microoperaie.
Pentru fiecare astfel de registru se va insista n mod special pe
nelegerea modului de funcionare ca circuit secvenial. De asemenea, un
pas important n nelegerea acestor modele const n identificarea rolului
fiecrui circuit elementar n ansamblul constructiv al unui registru i, n plus,
studentul trebuie s poat rspunde concret, n fiecare caz n parte, la
ntrebri de genul: care este rolul n circuit a fiecrei componente, se poate
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
80
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
81
2.3.
2.3.1.
Simbol
Nr. de
bii
Nume
Funcie
DR
16
Data register
AR
12
Address register
AC
16
Accumulator
Registru de prelucrare
IR
16
Instruction register
PC
12
Program counter
TR
16
Temporary register
INPR
Input register
OUTR
Output register
ARHITECTURA CALCULATOARELOR
2.3.2.
82
2.3.3.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
83
S1
S0
4x1
MUX 3
4x1
MUX 0
4x1
MUX 2
4x1
MUX 1
D2 C2 B2 A2
D1 C1 B1 A]
D0 C0 B0 A0
3 2 1 0
3 2 1 0
3 2 1 0
3 2 1 0
Registrul D
Registrul C
Registrul B
Registrul A
D3 C3 B3 A3
S0
Register selected
Rezumat.
In acest paragraf sunt enumerai principalii regitrii care intr n
structura unui calculator elementar. Detalierea unor aspecte legate de
structura i rolul n sistem a acestor regitrii va face obiectul capitolului al
treilea i al patrulea.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
84
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
85
CAPITOLUL 3
Unitatea central de prelucrare
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
86
CUPRINS
CAPITOLUL 3 ---------------------------------------------------------------------------------------------------- 85
3.1. TRANSFERUL DATELOR (ENGL., DATAPATH) ------------------------------------------------------- 87
3.2. ORGANIZAREA STIVEI --------------------------------------------------------------------------------- 91
3.3. MICROOPERAIE. INSTRUCIUNE. PROGRAM ---------------------------------------------------- 95
3.4. CODURILE INSTRUCIUNILOR ----------------------------------------------------------------------- 96
3.5. MODURI DE ADRESARE------------------------------------------------------------------------------ 100
3.6. CLASIFICAREA INSTRUCIUNILOR ---------------------------------------------------------------- 102
3.6.1.
Instruciuni pentru transferul datelor -------------------------------------------------------- 104
3.6.2.
Instruciuni pentru manipularea datelor ---------------------------------------------------- 104
3.6.3.
Instruciuni pentru controlul programului -------------------------------------------------- 105
3.7. PRELUCRAREA INSTRUCIUNILOR UNUI PROGRAM -------------------------------------------- 111
3.8. MICROPROCESORUL -------------------------------------------------------------------------------- 111
3.8.1.
Caracteristici ----------------------------------------------------------------------------------- 112
3.8.2.
Setul de instruciuni ale microprocesorului ------------------------------------------------- 114
3.8.3.
Modelarea funcionrii unui procesor ------------------------------------------------------- 115
3.8.3.1.
Maina cu trei adrese --------------------------------------------------------------------- 115
3.8.3.2.
Maina cu o adres ----------------------------------------------------------------------- 118
3.8.4.
Structura intern de baz a unui microprocesor I 80x86 --------------------------------- 122
3.9. COPROCESOARE MATEMATICE -------------------------------------------------------------------- 125
3.10. MULTIPROCESARE ----------------------------------------------------------------------------------- 125
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
87
3.1.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
88
Input
R1
R2
R3
R4
R5
R6
6666
R7
666
Load
(7 linii)
MUX A
SELA
MUX B
Bus A
3x8
Decodor
SELB
Bus B
OPR
UAL
Output
SELA
SELB
SELD
OPR
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
89
Registrul selectat de
Coninutul
pentru
SELA
SELB
SELD
000
Input
Input
nimic
001
R1
R1
R1
010
R2
R2
R2
011
R3
R3
R3
100
R4
R4
R4
101
R5
R5
R5
110
R6
R6
R6
111
R7
R7
R7
Coninutul
pentru OPR
Operaia
Simbolul
00000
Transfer A
TSFA
00001
Increment A
INCA
00010
Add A + B
ADD
00101
Substract A B
SUB
00110
Decrement A
DECA
01000
AND A i B
AND
01010
OR A i B
OR
01100
XOR A i B
XOR
01110
Complement A
COMA
10000
Shift right A
SHRA
11000
Shift left A
SHLA
Rezumat.
Acest paragraf conine un exemplu de datapath (cale a datelor) pentru
comunicare ntre UAL i regitri. Scopul acestui exemplu este dublu: pe de o
parte s familiarizeze studenii cu un ansamblu complex de componente
logice care include i linii de comunicare (magistrale) i, pe de alt parte, s
exemplifice conceptul de cuvnt de control (structur i utilizare). Acest al
doilea obiectiv este important n perspectiva nelegerii codului de instruciune,
respectiv a formatului de descriere a programului de executat la nivelul
procesorului.
Verificare.
1. Pentru exemplul de cale a datelor (engl. datapath) prezentat anterior,
rspundei la urmtoarele cerine:
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
90
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.2.
91
Organizarea stivei
EMTY
SP
1
0
DR
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
92
111111 + 1 = 1000000
i SP reine biii cel mai puin semnificativi, adic 000000.
Analog, cnd 000000 este decrementat cu 1, rezultatul este 111111.
Pentru analizarea acestor situaii particulare, se folosesc doi regitri
speciali, fiecare de 1 bit, numii FULL i EMTY. Registrul FULL este setat pe 1
cnd stiva este plin, iar EMTY este setat pe 1 cnd stiva este vid.
Registrul de date DR reine ceea ce se va scrie n stiv la urmtoarea
operaie push sau ceea ce s-a citit din stiv la ultima operaie pop.
Funcionarea stivei const n precizarea operaiilor elementare pentru
push i pop.
Iniial, SP este ters, deci are valoare 0, EMTY este setat pe 1 i FULL
este setat pe 0. Astfel, SP pointeaz cuvntul de la adresa 0.
Dac stiva nu este plin atunci este permis o operaie push prin:
(SP) < (SP) + 1
[SP] < (DR)
IF (SP) = 0 THEN FULL < 1
EMTY < 0
Dac stiva nu este goal atunci este permis o operaie pop prin:
(DR) < [SP]
(SP) < (SP) 1
IF (SP) = 0 THEN EMTY < 1
FULL < 0
Observaie. Prin SP ne referim la dresa registrului SP, prin (SP) ne
referim la coninutul registrului SP, iar prin [SP] ne referim la coninutul de la
adresa coninut de registrul SP.
Memoria rezervat pentru stiv poate fi o unitate individual sau
poate fi implementat ntr-un RAM ataat UCP. Implementarea unei stive n
UCP se face prin asignarea unei zone de memorie pentru operaiile pe stiv i
prin folosirea unui registru de prelucrare care s ndeplineasc funciile lui SP.
In reprezentarea de pe pagina urmtoare memoria SC este mprit n
trei segmente: segment de program, segment de date i stiva.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
93
PC
Program
(instructiuni)
2000
AR
Date
(operanzi)
3000
SP
Stiva
3997
3998
3999
4000
4001
DR
ARHITECTURA CALCULATOARELOR
94
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.3.
95
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
96
Rezumat.
Acest paragraf definete conceptele de instruciune i program, n
perspectiva paragrafelor ulterioare i, n plus, pentru nelegerea noiunii de
cod ca mod de reprezentare a unui program. Astfel, n funcie de
cunotinele i de preferinele programatorului, acesta poate opta pentru una
dintre variantele de scriere a codului surs al programului su: cod binar, cod
octal, cod simbolic sau cod n limbaj de programare de nivel nalt.
3.4.
Codurile instruciunilor
ARHITECTURA CALCULATOARELOR
97
15
12 11
OpCode
Memory
4096 x 16
Address
Instruction Format
Instructions
(program)
15
0
Binary Operand
Operands
(data)
Processor
Register
AC
ARHITECTURA CALCULATOARELOR
98
12 11
OpC
ode
0
Address
Exemplul 3.
Dac o operaie nu are nevoie de operand din memorie atunci zona de
adres din codul instruciunii poate fi folosit n alte scopuri, de exemplu
pentru a preciza operaii suplimentare recunoscute de sistem. Se obine astfel
o instruciune cu referin la un registru de prelucrare (register reference
instruction).
In acest caz, n zona de adres a codulului instruciunii nu mai avem o
adres ci o operaie sau un test de efectuat asupra registrului de prelucrare.
15
12 11
OpCode
Register operation
Rezumat.
Coninutul acestui paragraf este central n contextul capitolului al
treilea. Aici se definete codul de instruciune cu cele dou cmpuri ale
sale: zona de cod al operaiei i zona de adres.
Exemplele care se dau n acest paragraf sunt eseniale pentru
nelegerea modurilor de adresare. Astfel, fiecare exemplu reprezint o
situaie particular, concret, pentru combinaiile de valori (semnificaii) pe
care le pot avea cele dou zone ale codului de instruciune: zona de cod i
zona de adres.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
99
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.5.
100
Moduri de adresare
ARHITECTURA CALCULATOARELOR
101
aplicat pe
executat de
acest punct
caz n care
ARHITECTURA CALCULATOARELOR
102
procesorul este cel care execut efectiv programmul, sau prin software, n
cazul execuiei prin interpretor. Aceast echivalen ntre procesoarele
hardware i interpretoare are consecine foarte importante pentru structurarea
i proiectarea sistemelor de calcul. Astfel, dup specificarea limbajului main
L al unui nou calculator, echipa de proiectare poate decide dac va construi
un procesor hardware care s execute direct programele scrise n limbajul L
sau dac va scrie un interpretor care s interpreteze programle scrise n L
(adic s le traduc n limbajul main al unui procesor hardware deja
existent). Sunt posibile i construcii hibride, cu o parte de execuie hardware
i o parte de interpretare software.
Extragerea instruciunilor din memorie este un punct critic n viteza de
execuie a acestora. Pentru a rezolva aceast problem, calculatoarele aveau
posibilitatea de a extrage n avans instruciuni din memorie, astfel nct
acestea s fie rapid disponibile atunci cnd erau necesare. Aceste instruciuni
erau pstrate ntr-un set de registre numit tamponul pentru extragere n
avans. In principiu, extragerea n avans mparte execuia instruciunii n dou
etape: extragerea i execuia propriu-zis. Conceptul benzii de asamblare a
procesorului (engl. pipeline) extinde strategia: n loc s se mpart execuia
instruciunii n doar dou pri, de multe ori aceasta este mprit n mai
multe etape, de fiecare etap ocupndu-se o component hardware dedicat
acesteia, toate etapele putnd s fie executate n paralel. De exemplu, o
band de asamblare cu 5 segmente (etape) ar putea fi delimitat astfel:
1. unitatea de extragere a instruciunii;
2. unitatea de decodificare a instruciunii;
3. unitatea de extragere a operanzilor;
4. unitatea de execuie a instruciunii;
5. unitatea de scriere a rezultatului.
Rezumat.
In funcie de coninutul concret al fiecreia dintre zonele din codul de
instruciune, n programul propriu-zis al procesorului, se deosebesc modurile
de adresare. In acest paragraf am dat o clasificare a modurilor de adresare n
trei categorii:
(A) adresare fr adres
1. modul implicit
2. modul direct
(B) adresare n mod registru
1. adresare indirect
2. adresare absolut
(C) adresare cu registru de calcul
1. adresare relativ
2. adresare indexat
3. adresare cu registru de baz.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
103
Cuvinte cheie.
mod de adresare
banda de asamblare a procesorului
Verificare.
1. Care este diferena dintre un interpretor i un compilator?
2. Identificai cele cinci etape ale pipeline-ului intern pentru un program de
control scris pentru exemplul de datapath de la nceputul capitolului.
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.6.
104
Clasificarea instruciunilor
3.6.1.
3.6.2.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
105
3.6.3.
ARHITECTURA CALCULATOARELOR
106
A
8
C7
8-bit ALU
C8
V
F7 F0
F7
8
Output F
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
107
ARHITECTURA CALCULATOARELOR
108
mprirea la zero;
De cele mai multe ori, n urma tratrii ntreruperii interne, controlul este
transmis SO, fr a mai relua activitatea programului suspendat.
Intreruperile externe sau interne sunt nsoite de semnale ale
componentelor hardware ale SC. Fa de acestea, n SC pot aprea i
evenimente iniiate de executarea unor instruciuni. Acestea vor fi ntreruperi
software. Corespunztor, avem rutine care deservesc apariia ntreruperilor
interne sau externe, care vor fi activate la apariia evenimentului, fr a se putea
prevedea momentul apariiei. Vom spune despre handler-ele din aceast
categorie c sunt activate prin evenimente. n schimb, cealalt parte a handlerelor ofer aceleai servicii ca o bibliotec de subprograme, apelabile de ctre
programele utilizator. Activarea lor are loc atunci cnd sunt solicitate prin
program. Handler-ele din aceast categorie sunt activate prin instruciuni
speciale de apel de ntreruperi.
La apariia unei ntreruperi SC trebuie, n ordine:
1) s determine tipul evenimentului care a generat ntreruperea (intern,
extern);
2) s afle care este sursa (cauza) ntreruperii;
3) s determine adresa RTI (a rutinei de tratare a ntreruperii), adic n ce
manier se poate identifica handler-ul corespunztor.
Rezolvarea acestor probleme presupune c pentru fiecare tip de
eveniment i pentru fiecare cauz posibil a unei ntreruperi s existe cte un
handler specific. Metoda cea mai folosit pentru localizarea rapid a RTI este
vectorizarea ntreruperilor. Aceasta const n a asocia, pentru fiecare
ntrerupere, o locaie de memorie cu adres fix. n aceast locaie fix se trece
adresa RTI corespunztoare ntreruperii. Deci, n momentul apariiei unei
nteruperi, mai nti se preia din locaia de memorie asociat ntreruperii adresa
handlerului corespunztor ei i apoi se cedeaz controlul de execuie handlerului.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
109
generat
4)
5)
ntreruperea,
aceasta
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
110
Cuvinte cheie.
instruciune
registru de stare
subrutin
ntrerupere, vectorizarea ntreruperilor, tratarea ntreruperilor
Verificare.
1. Ce este o subrutin? De ce este potrivit utilizarea stivei pentru
gestionarea apelului i revenirii dintr-o subrutin?
2. Ce este o ntrerupere? Ce se nelege prin vectorizarea ntreruperilor?
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.7.
111
IN
RAM
UAL UCC
RAM
UAL UCC
RAM
UAL UCC
UAL UCC
RAM
RAM
UAL UCC
RAM
OUT
UAL UCC
Verificare.
1. Identificai n structura fizic a sistemului de calcul unitile funcionale
corespunztoare componentelor implicate n acest paragraf.
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
112
Microprocesorul
3.8.
Caracteristici
3.8.1.
Anul
Lg cuvnt
-MHz-
-Mips-
1978
16
5-10
0,33
ARHITECTURA CALCULATOARELOR
113
I 8088
1981
16
0,33
I 80286
1982
16
1,2
I 80386 SX
1985
32
20
2,5
32
20 i 30
32
33
16,5
I 80486 DX
32
> 33
20
I 80486 DX/2
32
50 i 66
54
I 80486 DX/4
32
100
75
64
66
112
I 80386 DX
I 80486 SX
Pentium
1989
1993
Calculator personal
I 8086
IBM PC
I 8088
IBM PC XT
I 80286
IBM PC AT 286
I 80386 SX
IBM PC AT 386 SX
I 80386 DX
IBM PC AT 386 DX
I 80486 SX
IBM PC AT 486 SX
I 80486 DX
IBM PC AT 486 DX
I 80486 DX/2
I 80486 DX/4
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
114
Nici 8088, nici 8086 nu puteau adresa mai mult de 1MO de memorie.
Astfel, la nceputul anilor 80, Intel a proiectat 80286, o versiune mbuntit ,
compatibil cu 8086. urmtorul pas a fost un adevrat procesor pe 32 bii i
anume 80386, compatibil cu procesoarele anterioare. Aceast compatibilitate
era oun plus pentru cei care doreau s ruleze n continuare vechile soft-uri i
un inconvenient pentru cei care ar fi preferat o arhitectur simpl, modern,
curat, fr impedimentele greelilor i tehnologiile trecutului.
Incercnd s rspund cerinelor pieii, n 1989 Intel scoate procesorul
80486: o versiune mai rapid a lui 80386, cu coprocesorul matematic inclus i
cu o memorie cache de 8KO inclus pe cip. Procesorul 486 mai avea
incorporat i suportul pentru multiprocesare, pentru a permite productorilor
de calculatoare s construiasc sisteme cu mai multe UCP.
Pentru generaia urmtoare de procesoare, Intel a avut surpriza s
descopere c, de fapt, numerele (ca 80486) nu pot fi mrci nregistrate.
Astfelc, urmtoarea generaie de procesoare se va numi Pentium, de la
grecescul (cinci). Spre deosebire de 80486 care avea o singur band
de asamblare intern (pipeline), Pentium are dou astfel de benzi, deci este
de ori mai rapid. Urmtoarea generaie de procesoare este Pentium Pro, o
rupere clar fa de trecut pentru c noul Pentium Pro avea o organizare
intern total diferit i putea s execute pn la cinci instruciuni simultan. In
plus, memoria cache intern avea dou nivele: 8KB pentru instruciuni i 8KB
pentru date pe un nivel i nc 256KB pe al doilea nivel.
In continuarea seriei, noul procesor Intel a fost Pentium II, n fapt un
Pentium Pro cu extensii speciale pentru multimedia (MMX, MultiMedia
eXtension). Aceste instruciuni aveau rolul de a accelera calculele necesare
pentru procesarea semnalelor audio i video, nlturnd astfel nevoia unor
coprocesoare speciale multimedia.
La nceputul anului 1998, Intel a introdus o linie nou de produse
numit Celeron o variant a procesorului Pentium II ieftin, cu performani
sczute, destinat PC-urilor de duzin.
3.8.2.
ARHITECTURA CALCULATOARELOR
115
RISC
3.8.3.
1.
2.
3.
4.
5.
1.
2.
3.
4.
5.
6.
ARHITECTURA CALCULATOARELOR
116
cod
adr1
adr2
adr3
cod
adr1
adr2
adr3
Adunare
C:=A+B
Scdere
C:=AB
Inmulire
C:=A*B
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
117
Imprire
C:=A/B
Radical de ord 2
C:= A
||
Valoare absolut
C:=|A|
[]
Partea ntreag
C:=[A]
>
3. Instruciunile speciale ale mainii cu trei adrese sunt: CIT, TIP i STOP.
CIT
TIP
STOP
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.8.3.2.
118
Maina cu o adres
2. registrul index, I
3. registrul de baz, B
cod
adr
ARHITECTURA CALCULATOARELOR
119
a)
b)
c)
d)
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
120
10
Adunare
A:=A+X
12
Scdere
A:=AX
13
Inmulire
A:=A*X
14
Imprire
A:=A/X
15
Radical de ord 2
A:= X
16
||
Valoare absolut
A:=|X|
17
[]
Partea ntreag
A:=[X]
SN
Anca Vasilescu
vasilex@info.unitbv.ro
<
ARHITECTURA CALCULATOARELOR
121
20
Salt la X dac A 0
21
>
22
Salt la X dac A 0
23
Salt la X dac A = 0
24
Salt la X dac A 0
ADR
26
CIT
27
TIP
28
STOP
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
122
Registre
generale
Registre de
segment
Contor de
program
Sumator
adrese
20 biti
Interfata cu
memoria
interna
16 biti
Comanda de
magistrala
16 biti
Registre
temporare
UAL
Comanda
UAL
8 biti
Registru 6
Bytes
Registru de
stare
7
8
AH
AL
BH
BL
CH
CL
DH
DL
ARHITECTURA CALCULATOARELOR
123
14
13
12
11
10
OF
DF
IF
TF
SF
ZF
AF
PF
CF
X - rezervai;
CF - indicator de transport din MSB al rezultatului;
PF - indicator de paritate;
AF - indicator de transport de la bitul 4 la bitul 5;
ZF - indicator de rezultat nul;
SF - indicator de semn negativ;
TF - indicator de ntrerupere intern;
IF - indicator de ntrerupere extern permis;
DF - indicator de decrementare / incrementare a regitrilor SI sau DI dup
execuia unei operaii;
OF - indicator de depire aritmetic.
Registrele de segment ale microprocesorului permit adresarea
memoriei interne, fiecare avnd o capacitate de 16 bii. Acetia sunt:
CS - Cod Segment - segmentul pentru program (cod surs);
DS - Data Segment - segmentul pentru date;
SS - Stack Segment - segmentul pentru stiv;
ES - Extra Segment - segmentul pentru date auxiliare.
Contorul de program, PC sau IP (Instruction Pointer) are o capacitate
de 16 bii i conine o adres relativ (offset) a instruciunii curente din
segmentul de program CS.
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
124
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
3.9.
125
Coprocesoare matematice
3.10.
Multiprocesare
Anca Vasilescu
vasilex@info.unitbv.ro
ARHITECTURA CALCULATOARELOR
126
ARHITECTURA CALCULATOARELOR
127
NOTIE
Anca Vasilescu
vasilex@info.unitbv.ro