Documente Academic
Documente Profesional
Documente Cultură
ARHITECTURA
CALCULATOARELOR
INDRUMAR de LABORATOR
2
CUPRINS
Bibliografie ..................................................................................................................................... 59
3
4
Laborator 1. PREZENTAREA CALCULATORULUI
I PRINCIPIUL DE FUNCIONARE
Orice calculator electronic actual este format din subsisteme inconectate ntre ele, care,
orict de evoluate ar fi, corespund modelului original Von Neumann. Acest model a rezultat
din faptul c un calculator trebuie s conin 5 componente care s corespund celor 5 principii
prezentate mai anterior:
1. un mediu de intrare care s asigure preluarea datelor i instruciunilor;
2. un mediu de memorare n care s fie stocate datele i programul aferent din care s se
citeasc operanzi i instruciuni i n care s se poat introduce, n ordinea dorit, rezultatele;
3. un mediu de prelucrare care s efectueze operaii aritmetice i logice asupra
operanzilor citii n memorie;
4. un mediu de control capabil s interpreteze instruciunile extrase din memorie i s
controleze procesul de desfurare a operaiilor, n funcie de rezultatele obinute pe parcurs
i
5. un mediu de ieire care s permit extragerea rezultatelor.
Astfel Von Neumann a gndit o structur n 5 uniti funcionale corespunztoare celor 5
medii:
1. Unitatea de Intrare IU (Input Unit);
2. Unitatea de Memorie MU (Memory Unit);
3. Unitatea Aritmetico-Logic ALU (Aritmetic and Logic Unit);
4. Unitatea de control UC (Control Unit) i
5. Unitatea de ieire OU (Output Unit).
Aceast structur se mai numete i structura n 5 unitia calculatorului. Unitile sunt
interconectate ntre ele conform schemei simple reprezentat n figura 1.8, preluat din
https://en.wikipedia.org/wiki/von Neumannarchitecture [37].
n figura 1.2 este prezentat mai detaliat aceast structur, cu modul de interconectare al
celor 5 uniti i sunt exemplificate fluxurile de date, informaii, instruciuni i comenzi.
5
Figura 1.2. Structura n 5 uniti a calculatorului.
6
Modul de lucru
Identificarea unitilor componente ale calculatorului i prile lor funcionale.
Figura 1.4. Structura funcional pe componente ale unui calculator
CPU Memoria
Controlere de Intrare/Ieire
Dispozitive I/O
Tem de lucru:
1. Identificai care sunt componentele de baz ale unui calculator, prin scrierea
denumirilor acestora pe o coal de hrtie. Facei o descriere pe scurt a fiecrei
componente.
2. Dndu-se toate componetele necesare, s se asambleze un calculator, urmrind
etapele de mai jos:
a. Se vor plasa componentele calculatorului pe o mas ntins.
b. Mai nti se deschide carcasa i se introduce placa de baz
(motherboard/mainboard), asigurnd-o cu uruburile ei.
c. Se instaleaz microprocesorul (Intel sau AMD) n soclul (socket-ul)
corespunztor de pe placa de baz. A se acorda mare atenie la instalarea
procesorului, deoarece pinii acestuia (cazul AMD) sau pinii soclului (cazul
Intel) sunt foarte apropiai i orice greeal de instalare va conduce la
defectarea procesorului.
d. Se instaleaz plcuele de memorie RAM n sloturile corespunztoare de pe
placa de baz.
e. Se introduce i se asigur Hard disk-ul n interiorul carcasei cu ajutorul unor
uruburi, apoi se conecteaz cu conector de tip IDE sau SATA pe placa de
baz.
f. n acelai mod se introduce i se conecteaz unitatea optic de CD/DVD-
ROM.
g. Se instaleaz placa video (dac este extern) pe un slot video de tip PCI
Express. Dac nu este extern este necesar ca placa de baz s aib n dotare
o plac video integrat. Multe dintre procesoarele actuale au integrate pe
7
aceeai pastil de silicon i un procesor grafic, denumit GPU (Graphical
Processing Unit, unitate de procesare grafic), ceea ce conduce la
performane mai mari i consum redus de energie, aceasta datora tehnologiei
avansate de fabricaie de sub 45 nm.
h. Se instaleaz orice alt plac extern pe porturile PCI/PCI Express din
dotarea plcii de baz. Spre exemplu, se pot instala plci de captur TV, plci
de sunet sau modem-uri.
i. Se conecteaz firele din dotarea carcasei pentru operarea led-urilor de
monitorizare (Power On/Off, Reset Switch, HDD led, Power led etc.) i
pentru porturile USB ale carcasei.
j. Se introduce n carcas sursa de alimentare cu energie i se asigur cu
uruburile din dotare. Apoi se conecteaz toate cablurile de la surs n
porturile corespunztoare de pe placa de baz (alimentare plac i procesor) i
la unitile de intrare/ieire (Hard disk, CD/DVD).
k. Se conecteaz monitorul la calculator prin cablul corespunztor (VGA, DVI,
HDMI).
l. Se conecteaz perifericele de intrare/ieire, precum mouse-ul, tastatura sau
imprimanta.
m. Se conecteaz toate echipamentele necesare la o priz multipl cu tensiunea
de 220 V (sursa de alimentare, monitorul i imprimanta).
n. Se verific toate conexiunile i dac totul este corespunztor se poate porni
calculatorul urmrind mesajele pe monitor.
8
Laborator 2. REPREZENTAREA NUMERELOR N VIRGUL FIX
I N VIRGUL MOBIL. OPERAII ARITMETICE
9
Bazele 8 i 16 se folosesc de specialiti pentru scrierea i citirea numerelor, pentru
reprezentarea intern a calculatorului. Aceste numere reprezint puteri ale lui 2 i conversia
din baza 2 n aceste baze se poate face cu uurin.
Cifrele bazei 8 sunt {0, 1, ..., 7} iar cifrele bazei 16 sunt {0, 1, ..., 9} i literele {A, B, C,
D, E, F} unde literele A F corespund valorii zecimale de la 10 la 15, aa cum se poate
urmri n reprezentarea primelor 16 cifre din zecimal n bazele de numeraie 2, 8 i 16
reprezentat din tabelul anterior.
Valoarea cifrei din poziia i este dat de bi . Se consider n cifre la partea ntreag i
mcifre la partea zecimal.
Exemplu: numrul (541.25)10, indicele 10 reprezint baza, k = 10, n = 3, m = 2. Acest
numr este reprezentat ca:
5 102 + 4 101 + 1 100 + 2 101 + 5 102 =
= (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10 = (541.25)10 .
Exemplu: numrul (1012.01)2, indicele 2 indic faptul c baza n care este reprezentat
acest numr este 2, k = 2, n = 4, m = 2. Reprezentarea lui este:
1 23 + 0 22 + 1 21 + 0 20 + 0 21 + 1 22 =
= (8)10 + (0)10 + (2)10 + (0)10 + (0/2)10 + (1/4)10= (12.25)12.
Aceast modalitate de conversie dintr-o baz arbitrar n baza 10 se numete metoda
polinomial.
n aceast modalitate de reprezentare a numerelor n baza 2 se folosesc noiunile de cel
mai semnificativbit (MSB-bitul din stnga, prin convenie) respectiv cel mai puin
semnificativbit (LSB-bitul din dreapta prin convenie).
Cea mai simpl metod de conversie din baza 10 n baza 2 este s convertim separat
partea ntreag i apoi partea zecimal. De exemplu pentru a converti 29.375 din baza 10 n
baza 2 se procedeaz n dou etape:
i. conversia ntregului;
ii. conversia prii fracionare.
Conversia prii ntregi se face prin mpriri succesive la baza n care se face conversia i
reinerea resturilor, de aceea metoda se numete metoda resturilor. Primul rest obinut
reprezint cifra cea mai puin semnificativ (LSB) a numrului ntreg convertit. La a dou
mprire dempritul este ctul de la mprirea precedent. Procesul se continu pn se
obine ctul zero. Orice numr nteg din baza 10 poate fi convertit n orice alt baz, prin
mpriri succesive la baza n care se face conversia.
Pentru exemplificare se convertete (29.375)10 n baza 2.
10
Mai nti se convertete partea ntreag prin mpriri succesive:
ntreg Rest
29:2 14 1 LSB
14:2 7 0
7:2 3 1
3:2 1 1
1:2 0 1 MSB
(29)2 = (11101)
Conversia prii fracionare se face prin nmuliri succesive. Multiplicatorul este baza n
care se face conversia. inem seama c partea fracionar este mai mic dect 1 iar prin
nmulirea cu 2 se va obine un rezultat mai mic dect 2, aa c partea ntreag a acestui
rezultat va fi chiar cifra cea mai semnificativ a prii fracionare a numrului n baza 2. La
operaia urmtoare se nmulete cu 2 partea fracionar a rezultatului obinut anterior i
operaia se repet pn se obine partea fracionar 0 sau pn la obinerea numrului de cifre
dorit. Pentru exemplul ales se prezint calculul mai jos. aa cum se poate urmri n exemplul
de mai jos:
Partea
ntreag MSB
.375 2 0+75
0
.75 2 1+5 1
.5 2 1+0 1 LSB
(.375)l0 = (.011)2
Verificare:
Valoarea numrului n baza 10 se calculeaz dup relaia (2.2.1): (numrul)10 = b1 21+
b2 22 + b3 23 + ... + bi 2i + ... unde bi reprezint cifrele din reprezentarea numrului n
binar, de pe poziia i.
(0.011)2 = 0 21+ 1 22+ 1 24 = 0+1/4+1/8 = 0.25 + 0125 = (0.375)10
Rezultatul conversiei lui (29.375)10 n baza 2 este aadar (11101.011)2 .
Pentru a converti un numr din baza 2 n baza 8 se formeaz grupe de cte 3 cifre binare
ncepnd de la punctul zecimal spre stnga i spre dreapta. Dac ultima grup nu este
complet se adaug zero. Fiecare astfel de triplet se convertete direct n baza 8, n cifra
corespunztoare. De exemplu: (10110)2 = (010)2(110)2 = (2)8(6)8 = (26)8 .
Pentru a converti un numr n baza 16 se procedeaz n mod similar, dar se creeaz grupe
de cte 4 cifre binare, aa cum se poate vedea n exemplul: (10110110)2 = (1011)2(0110)2 =
(B)16(6)16 = (B6)16 .
11
pentru numere ntregi cu semn sau fr semn, ct i pentru numerele subunitare. Dac
procesorul calculatorului lucreaz n virgul fix cu numere subunitare, la introducerea
datelor fiecrui numr ise ataeaz un factor de scar, prin care s-l transforme ntr-un
numr subunitar. Aliniamentul virgulei este fcut de programul de ncrcare n memorie. n
compilatoarele scrise pentru virgul fix, factorul de scar este tratat de compilator, astfel
nct utilizatorul limbajelor de nivel nalt nu trebuie s in seama de acest aspect la
efectuarea operaiilor [49].
Pentrunumerele cu semn, ntotdeauna pe prima poziie binar din partea stnga se
reprezint semnul, convenia fiind ca bitul 0 s reprezinte semn pozitiv iar bitul 1 semn
negativ.
Reprezentarea numerelor ntregi cu semn urmeaz regula din figura 2.1 a), iar a celor
subunitare regula din figura 2.1.b).
12
Pentru adunare se aeaz numerele unul sub altul i se ncepe de la dreapta, innd seama
de transporturile rezultate din depirea de pe poziia anterioar.
1 1 1 1 transport (carry out)
A + 1 0 1 1 1
B 1 0 0 0 1
S = 1 0 1 0 0 0
Valoarea sumei este (101000)2, respectiv 25 + 23 = 32 + 8 = 40.
ntr-adevr (23)10 + (17)10 = (40)10
13
Pentru a nmulii numerele binare A i B se fac nti produsele pariale (P i) ale lui A cu
fiecare cifr binar a lui B, luate de la dreapta la stnga i apoi se nsumeaz rezultatele
pariale ntre ele. Produsele pariale ale fiecrei cifre din B cu A sunt i ele simple:
dac cifra din B este un 0, atunci i produsul parial este 0 i nu are efect asupra
adunrii;
dac cifra din B este un 1, atunci produsul parial al lui A cu 1 este chiar A.
Exemplu: vom nmuli numerele A i B folosite n exemplul de la adunare:
A 1 0 1 1 1
B 1 0 0 0 1
P0 1 0 1 1 1
P1 0 0 0 0 0
P4 1 0 1 1 1
P = 1 1 0 0 0 0 1 1 1
14
(43)10 : (7)10 = (6)10 frrest.
Exemplu de mprire n binar cu rest:
Vom mpri numrul A la numrul B unde:
valoarea lui A este:
(45)10 = (1 0 1 1 0 1)2 = 25 + 23 + 22 + 20 = 32 + 8 + 4 + 1
valoarea lui B este:
(7)10 = (1 1 1)2 = 22 + 21 + 20 = 4 + 2 + 1.
* mprumut
A : 1 0 1 1 0 1 Ctul
B 1 1 1
1 1 1 1
0 1 0 0 0 1
1 1 1
0 0 1 1 0
Valoarea ctului este este 0 1 1, adic: 2 + 2 = 4 + 2 = 6.
2 1
15
16
Laborator 3 i 4. PORTI LOGICE FUNDAMENTALE REALIZATE IN
CIRCUIT MAKER. COMBINATII DE PORTI LOGICE
17
21 - Utilitar pentru a crea un macro;
22 - Ajutor (Help);
23 - Utilitar pentru exportarea circuitului.
Programul ofera o serie de facilitati pentru realizarea unui circuit nou de studiu sau
pentru a modifica un circuit vechi, adaptat unor cerinte specifice. Programul ofera o serie de
circuite demonstrative care pot fi utilizate pentru a usura lucrul la realizarea circuitelor de
studiu si pentru a intelege modul de functionare al acestui program si al circuitelor
fundamentale realizate cu componente electronice.
Pentru a realiza o schema de masura sau un circuit nou, utilizand programul Circuit
Maker, variantaStudent, se apeleaza la meniul Device pentru alegerea elementelor pentru
schema. Se utilizeaza butonul Device Class(Selectorul de dispozitive ), selectand mai intai
categoria (Digital sau Analog), apoi Major Device Class, mai apoi Tipul de dispozitiv si in
final, Simbolul dispozitivului, dintre cele oferite de biblioteca programului, dupa cum se poate
urmari in figura 1.2. Se pozitioneaza dispozitivele pe locurile unde dorim amplasarea lor,
conform proiectului schemei circuitului ales. Programul ofera inca o serie de facilitati
referitor la dispozitivele alese, dupa cum se poate urmari in figura, posibilitatea de a alege
chiar o anumita componenta cu un anumit cod.
Se realizeaza un circuit trasand linii, care sa uneasca simbolurile dispozitivelor
selectate, utilizand pentru aceasta facilitatea butonului Wire tool (butonul notat cu 6 in figura
1.1).Trasarea este posibila numai atunci cand langa componenta de unde va porni linia este
activat un mic dreptunghi (semnalizat cu rosu). Se procedeaza in mai multe etape, pentru
fiecare linie pe care dorim s-o trasam.
O linie gresita se poate sterge utilizand acelasi cursor, pozitionat pe fir. In momentul in
care aceasta este marcata cu coloarea rosie, se face un singur clik si linia dispare. In mod
identic se procedeaza pentru stergerea unei componente amplasate intr-o pozitie incorecta,
utilizand butonul 5 (Select, Move or Delet component, wire or text) sau butonul 8 (Delete).
Componentele se pot muta in interiorul circuitului, utilizand butonul 5.
Un circuit vechi poate fi modificat in mod asemanator, stergand componente, fire
existente si adaugand altele noi.
Pe circuitul realizat se poate introduce un text explicativ cu ajutorul butonului 7 (Add
text ).
18
3.3 Studiul portilor logice standard
3.3.1. Utilizand programul Circuit Maker, Student Version, se selecteaza, dintre dispozivele
digitale oferite de program, circuitele logice simple: NU, SI, SAU, SI-NU, SAU-NU, XOR si XOR-
NU. Folosind facilitatile oferite de program (fire, comutatoare etc.) se realizeaza circuite logice
pentru fiecare functie logica elementara prezentata la punctul 8.2, conform exemplului din figura 8.7,
asa cum este indicat la punctul 1.3.1 din laboratorul nr. 1. Pentru indicarea starii logice la iesire in
functie de nivelul semnalului de la intrare, se utilizeaza diodele luminiscente amplasate la iesirea
circuitelor.
Se aleg valorile tensiunilor aplicate la intrare pentru starea logica 1 si starea logica 0, care
corespund celor doua pozitii ale comutatorului (inchis, respectiv deschis).
Nota: Atentie la alegerea comutatoarelor, de preferat modelul prezentat in exemplul din figura 8.7.
3.3.2. Sa se scrie expresiile functiilor la iesire si sa se completeze tabele de adevar pentru
fiecare functie.
Sa se urmareasca semnalizarile diodelor luminiscente si sa se compare cu tabelul de adevar
calculat.
In figura 3.3 este realizat un circuit demonstrativ pentru urmarirea modului de functionare a
circuitelor logice elementare studiate in lucrare. Diodele luminiscente indica starea logica la iesire in
functie de nivelul semnalului de la intrare. Pentru exemplul considerat, la intrarea starii logice 1 ii
corespunde o tensiune de 5 V, iar starii logice 0 ii corespunde o tensiune 0, respectiv comutatorul
deschis.
19
Pentru indicarea starii logice la iesire, in functie de nivelul semnalului de la intrare se
utilizeaza diodele luminiscente amplasate la iesirea circuitelor, asa cum se poate urmari in figura. L1,
..., L4 reprezinta diode luminiscente, care indica functiile f1, ..., f4, astfel pentru starea 0 a functiei
fi dioda Li este stinsa (apare alba pe ecran), iar pentru starea 1 este aprinsa (rosu) pe ecran.
20
Figura 3.5. Circuit logic cu elemente NU si NOR
3.5.2. Sa se scrie expresiile functiilor f 1, f 2, f 3, f 4 si a functiei calculate de circuitul intreg si sa se
completeze tabelul de adevar de mai jos:
a1 a2 a3 f1 f2 f3 f4
0 0
0 1
0
1 0
1 1
0 0
0 1
1
1 0
1 1
21
22
Laborator 5. DECODIFICATOR, DEMULTIPLEXOR,
CODIFICATOR, MULTIPLEXOR.
5.1. Decodificator
5.1.1. Se realizeaza schema unui decodificator cu ajutorul programului Circuit Maker,Student
Version.
Pentru aceasta se aleg elementele pentru schema utilizand butonul Selectorul de dispozitive,
selectand mai intai Clasa -Digitalbases, apoi Tipul de dispozitiv si mai apoi Simbolul dispozitivului, dintre
cele oferite de biblioteca programului. Se realizeaza un circuit, trasand linii care sa uneasca simbolurile
selectate. Se pozitioneaza pe fiecare intrare un comutator Switch, alegand unul dintre cele oferite de baza
de comutatoare a programului, utilizand butonul Switel logic simple.
5.1.2. Se stabilesc valorile tensiunilor pentru cele doua nivele logice: Pentru semnal logic
1 tensiunea este de 5 V, iar pentru semnal logic 0 tensiunea este de 0 V. Valoarea tensiunii de intrare
se fixeaza la 10 V.
5.1.3. Se verifica realizarea functiilor la iesire comutand corespunzator comutatoarele si
urmarind aprinderea LED-urilor L1, L2, L3, L4 din schema realizata (din figura 5.1).
5.2. Demultiplexor
5.2.1. Se realizeaza schema unui demultiplexor cu doua intrari, a si b, plus o intrare de validare
E (si respectiv 4 iesiri, f0, f1, f2, f3), cu ajutorul aceluiasi program, alegand elementele pentru schema,
dintre cele oferite de program. Se realizeaza un circuit, trasand linii care sa uneasca simbolurile
selectate, se pozitioneaza pe fiecare intrare un comutator.
5.2.2. Se stabilesc valorile tensiunilor pentru cele doua nivele logice: pentru nivel logic
1 tensiunea este de 5 V, iar pentru nivel logic 0 tensiunea este de 0 V. Valoarea tensiunii de intrare se
fixeaza la 10 V.
5.2. Se verifica realizarea functiilor la iesire, comutand corespunzator comutatoarele si
urmarind aprinderea LED-urilor L1, L2, L3, L4 din schema 5.2.
23
Figura 5.2. Demultiplexor cu 2 intrari de date
5.2.4. Sa se realizeze in laborator un demultiplexor cu trei intrari de date si o intrare de
validare. Sa se intocmeasca tabelul de adevar corespunzator, urmarind semnalizarile LED-urilor de
pe iesire.
5.3. Codificator
5.3.1. Se realizeaza schema unui codificator cu 10 intrari (si respectiv 4 iesiri), cum este cea
din figura 5.9, cu ajutorul programului Circuit Maker, Student Version. Pentru aceasta se aleg
elementele pentru schema, dintre cele oferite de program, in acelasi mod ca la decodificator. Se
realizeaza un circuit, trasand linii care sa uneasca simbolurile selectate, se pozitioneaza pe fiecare
intrare un comutator.
5.3.2. Valorile tensiunilor celor doua nivele logice sunt: pentru nivelul logic 1 tensiunea este
de 5 V, iar pentru nivelul logic 0 tensiunea este de 0 V. Valoarea tensiunii de intrare se fixeaza la 10
V. Se verifica realizarea functiilor la iesire, comutand corespunzator comutatoarele si urmarind
aprinderea LED-urilor L1, L2, L3, L4 din schema 5.3.
24
5.4. Multiplexor
5.4.1. Se realizeaza schema unui multiplexor cu doua intrari de date, a si b, plus o intrare de
validare E si una de selectie si, respectiv, o singura iesire cu ajutorul programului Circuit Maker, Student
Version,alegand elementele necesare in acelasi mod ca la decodificator. Se realizeaza un circuit, trasand
linii, care sa uneasca simbolurile selectate, se pozitioneaza pe fiecare intrare un comutator.
5.4.2. Se stabilesc valorile tensiunilor pentru cele doua nivele logice: pentru nivelul logic
1 tensiunea este de 5 V, iar pentru nivelul logic 0 tensiunea este de 0 V. Valoarea tensiunii de intrare se
fixeaza la 10 V.
5.4. Se verifica realizarea functiilor la iesire, comutand corespunzator comutatoarele si
urmarind aprinderea LED-ului L din schema 5.4.
Se urmareste realizarea urmatorului tabel de adevar.
A b E S W
1 0 1 0 A
0 1 1 1 B
1 0 0 FM FM
0 1 0 FM FM
25
26
Laborator 6. STUDIUL CIRCUITELOR BASCULANTE BISTABILE
27
6.2. Circuite basculante bistabile R-S
Circuitul basculant bistabil (CBB), numit i flip-flop, este reprezentat n figura 6.2. Este un circuit
basculant care rmne permanent n oricare din cele dou stri, schimbarea din una n cealalt fiind
posibil numai sub aciunea unui semnal (impuls) extern. Impedanele de cuplaj pentru CBB sunt
rezistente. Uneori se folosesc i capaciti conectate n paralel care au rolul de a reduce timpul de
basculare, numite capaciti de accelerare. CBB preia eantioane din semnalele de intrare i i
modific semnalele de ieire numai n momente determinate de semnalul extern. CBB sunt elemente
de baz n realizarea circuitele digitale complexe (memorii, microprocesoare). Cel mai folosit circuit
de tip bistabil este circuitul basculant de tip R-S. Se numete bistabil R-S sau latch simplu (se poate
traduce prin zvor ntruct circuitul poate fi zvort ntr-o anumit stare la primirea unei comenzi
externe). Un CBB de tip R-S poate fi format din dou pori NOR sau din dou pori NAND, intrrile
fiind cuplate intersectat la ieiri aa cum este reprezentat n figura 6.2 a) i b).
a) b)
Figura 6.2. Circuite basculante bistabile realizate
cu pori logice. a) NOR i b) NANDI.
Operaiile logice pe care le poate efectua un bistabil cu pori NOR reprezentat n figura 6.2 a) pot fi
exprimate prin relaiile urmtoare i tabelul de stri de mai jos [15]
Q S QR
Q R QS .
R S Q Q
0 0 0 0(FM)
0 1 1 0
1 0 0 1
1 1 * *
Urmrind fiecare din cele dou bucle de reacie, se poate urmri c pentru S 1 (i R 0) se
obine [15]:
Q S QR 1 Q 1 1 Q Q ( 1)
Q R Q S 0 Q 1 0 0 0 ( 1 ).
La analiza funciei bistabilului R-S trebuie s se in seama c n momentul aplicrii semnalelor,
CBB poate s se afle ntr-una din cele dou stri (stabile) deci trebuie s se ia n consideraie toate
combinaiile posibile pentru ieirea activ Qt 1 n funcie de strile Qt existente n momentul aplicrii
comenzilor.
pentru bistabili sunt valabile urmtoarele observatii:
a) aplicarea semnalului 0 la ambele intrri nu modific starea bistabilului
b) aplicarea semnalului S 1 simultan cu R 0 determin Qt 1 1, indiferent de starea
bistabilului nainte de aplicarea comenzii. Aceast trecere a bistabilului n starea Q 1 se numete
poziionare;
c) aplicarea semnalului R 1 simultan cu S 0 determin circuitul s treac sau s rmn pe
poziia 0, operaie numit tergere;
28
d) aplicarea simultan a semnalelor 1 la ambele intrri, S i R, genereaz o stare nedeterminat, de
aceea comanda R S 1 este interzis, adic S i R nu pot fi simultan 1 , respectiv nu putem avea
dou impulsuri active la intrare .
n mod similar poate fi analizat un bistabil R-S realizat cu pori NAND reprezentat n figura 6.2 b)
Qt 1 S R Qt
Qt 1 R S Qt .
De regul, n cazul circuitelor de tip NAND, comutarea se face prin 0 logic (adic pe front
negativ), aplicndu-se semnalele R i respectiv S la intrrile bistabilului. Ca urmare, pentru a
memora bitul 1 (adic Q 1) se vor aplica la intrri semnalele S 0 i R 1 i invers, respectiv
S 1 i R 0 pentru a obine bitul 0. n acest caz este interzis aplicarea simultan a comenzilor
R 0 i S 0, deci condiia obligatorie este:
R S 0 sau R S 1.
Pentru obinerea ecuaiilor logice ale ieirilor se apeleaz la minimizarea funciilor logice Qt 1 i
respectiv Qt 1
6.3.1. Programul Circuit Maker, Student Version ofera ca circuit demonstrativ circuitul basculant
bistabil prezentate n figura 6.3. Sa se compare acest circuit cu cel teoretic.
6.3.2. Sa se studieze modul de basculare si sa se vizualizeze semnalele de pe colectorii
circuitului basculant bistabil. Sa se observe modul in care o iesire este permanent in 1 iar cealalta in
0, in contratimp, iar comutarea se face sub actiunea semnalului extern, pe frontul pozitiv al
impulsului de tact.
Sa se reprezinte cele doua semnale de iesire pe acelasi grafic
6.3.3. Sa se masoare amplitudinea semnalului se iesire si sa se calculeze 0,1 Vmax si 0,9 Vmax.
Sa se masoare timpii de comutaie .Se noteaza valorile pentru a fi comparate cu cele de la tranzistorul
bipolar si de la celelalte circuite basculante.
29
Figura 6.3. Circuit basculant bistabil:Schema de masura pentru
semnalele de iesire ale cu evidentierea punctelor de masura;
Figura 6.4. Semnalele de iesire, suprapuse Circuit basculant bistabil; c) Cele doua semnale de intrare,
suprapuse (sunt mentinute si formele semnalelor de iesire, dar cu culori foarte deschise)
Figura 6.5.:Cele doua semnale de intrare, suprapuse (sunt mentinute si formele semnalelor de iesire, dar cu culori foarte
deschise) pentru circuit basculant bistabil
30
Laborator 7. TIPURI DE CIRCUITE BASCULANTE BISTABILE
31
7.3. Circuit basculant bistabil J-K
7.3.1. Circuit Maker, Student Version ofera ca circuit demonstrativ un numarator realizat
cu circuite basculant bistabil de tip J-K sub denumirea MIXED 93, prezentat in figura 7.3,a.
Acest circut poate fi folosit pentru a vizualiza forma semnalului la iesirea din fiecare bistabil.
7.3.2. Sa se studieze modul in care CBB J-K elimina capcana de
0 si 1 si pe cea a confirmarii simultane a ambelor intrari de comanda.
7.3.3. Vizualizati forma semnalului de iesire la fiecare din cele
4 CBB de tip J-K si comparati-o cu cea de la intrare. Care este semnalul de tact aplicat CBB
2, 3 si 4? Ce se observa?
In figura 7.3,b este prezentata, pentru demonstratie, forma semnalului la iesirea primului
bistabil impreuna cu semnalul de tact. S-a masurat frecventa acestui semnal. Se observa ca
perioada semnalului de iesire este dublul perioadei semnalului de tact. Interpretati!
a)
b)
Figura 7.3. Bistabili J-K: a) Circuit logic; b) Semnalul la iesire comparativ cu cel de tact
32
Laborator 8. ARHITECTURA SETULUI DE INSTRUCTIUNI
Procesoarele pot fi clasificate dup numrul maxim de adrese din memoria principal n
cmpurile instruciunilor lor. Instruciunile cu doi operanzi necesit cel mult trei adrese n
memorie. Pentru rezolvarea unei anumite probleme, i evident un timp mai lung de execuie.
Instruciunile lungi, cu adrese multiple, dei conduc la programe mai scurte, necesit circuite
electronice complexe pentru decodificare i prelucrare.
33
Figura 8.1. Etapele ciclului instruciunii.
5. UC determin adresa efectiv a operandului sau adresele efective ale operanzilor,
folosind informaia din registrul de adres.
6. CPU citete data (datele) din memorie de la adresa calculat ca adres efectiv i o
extrage ca fiind operandul. Faza se numete FETCH OPERAND. Data este transferat n
ALU. Uneori operanzii sunt stocai n interiorul CPU n registrele locale ale ALU.
7. UC comand ALU s efectueze funcia sau operaia specific de OPCODE prin
procesarea operanzilor i determinarea rezultatelor. Aceasta este faza de execuie propriu-
zis, cea codificat n instruciune.
8. Rezultatul este memorat la destinaia corespunztoare, n memorie sau n registrele
speciale ale CPU.
Se determin urmtoarea instructiune i ciclul se reia de cte ori este nevoie pentru a
executa ntreaga succesiune de instruciuni din program.
Anumite etape din ciclul instruciune pot lipsi pentru anumite instruciuni, de exemplu din
instruciunile fr operanzi lipsesc etapele 5 i 6. n cazul instruciunilor cu operanzi multipli
aceste etape se repet de un anumit numr de ori.
n cazul instruciunilor de salt nu sunt necesari paii 4, 5 i 8, iar n instruciunile de
comparare pasul 8 lipsete, ntruct rezultatul nu trebuie memorat.
Totdeauna faza FETCH este unic, iar faza EXECUTE este diferit n funcie de tipul
instruciunii concrete ce trebuie executat.
Un ciclu instruciune se execut din punct de vedere al CPU ntr-un ciclu main de
ordinul micro sau chiar nanosecunde.
34
Viteza de procesare se msoar n kHz sau multiplii acestuia, sau numrul de
instruciuni/secund (MIPS milioane de instruciuni pe secund), sau prin numrul de
operaii n virgul mobil (FLOP).
Microprocesorul convenional din seria Intel x86 are urmtoarele registre pentru lucrul
curent: AX, BX, CX i DX (respectiv extensiile pe 32 bii, EAX, EBX, ECX i EDX), astfel:
Registrele de uz general pe 32 bii
31 0
EAX
EBX
ECX
EDX
ESI Source Index
EDI Destination Index
EBP Base Pointer
ESP Stack Pointer
Denumiri alternative pentru (sub)registrele generale de 8 i 16 bii
31 16 15 8 7 0
AX
Denumiri alternative
AH AL
EAX
BX
Denumiri alternative
BH BL
EBX
CX
Denumiri alternative
CH CL
ECX
DX
Denumiri alternative
DH DL
EDX
Denumire alternative BP
EBP
Denumire alternative SI
ESI
Denumire alternative DI
EDI
Denumire alternative SP
ESP
35
Principial, pentru lucrul uzual se lucreaz cu registrele de 16 bii, cele generale putnd fi
mprite n cte dou registre de 8 bii: cel care reine octetul inferior, notat cu sufixul L (de
la Low)i cel care reine octetul superior, notat cu sufixul H (de la High).
Microprocesoarele de diverse tipuri au mai multe registre, cu mai mult de 16 bii (cele
din seriile I-386, I-486 i Pentium ). Registrele de mai sus au de fapt la aceste procesoare un
numr de 32 de bii, dar pot fi folosite ca registre de 16 bii cu notatiile de mai sus. n cazul n
care se dorete folosirea lor ca registre de 32 de bii, denumirea lor va fi precedat de litera E
(de la "extended"), iar n preambulul programului va trebui pus directiva .386, pentru a
preciza c este folosit un procesor de la I-386 n sus.
De asemenea, microprocesoarele conin 4 registre de segment: CS, DS, ES, SS.
Registrele de segment pe 16 bii
15 0
CS Code Segment
DS Data Segment
ES Extra Segment
SS Stack Segment
F
Registre
S
suplimentare pentru
G
extensia de 32 bii
S
36
surs: r8,r16,r32,rs,n,nn,nnnn
(registre generale de 8, 16, 32 bii, registre de segment i constante de 8, 16 i 32 bii)
Exemplul 8.1:
MOV AX, 33H ;ncarc n AX constanta hexa 0033H
MOV DX, 1122H ;ncarc n DX constanta hexa 1122H
MOV CL, AL ;ncarc n CL coninutul lui AL
MOV BL, DH ;ncarc n BL coninutul lui DH
MOV AH, DL ;ncarc n AH coninutul lui DL
Mod de lucru :
Toate constantele numerice specificate mai jos sunt hexazecimale, deci n cazul n
care nu se pune directiva .radix 16 n zona de nceput a programului, constantele vor fi
urmate de sufixul h.
Rularea programelor se va face cu TD (depanatorul Turbo Debugger) n modul pas cu
pas (cu tasta F7) i dup fiecare instruciune se va urmri n fereastra de afiare a registrelor
modificarea coninutului acestora.
Se vor scrie i testa urmtoarele programe:
P 8.1. Program de scriere n registrele AL, BL, CL i DL a constantelor 99,AA, BB,
respectiv CC.
P8.2. Se va completa programul anterior pentru a transfera coninutul registrului AL n
registrele BL, BH, CL, i DH.
P 8.3. Program de scriere n registrele AX, BX, CX i DX a constantelor 1122, 3344,
5566, respectiv 7788.
P 8.4. Se va completa programul anterior pentru a transfera coninutul registrului
registrului BX n registrul DX, i al registrului CX n AX.
P 8.5. Program care s transfere constanta 1234 n registrul DS i constanta 5678 n
registrul DX.
P 8.6. S se scrie n registrele AL i BL, constantele 99 i AA i se va face apoi
interschimbarea coninutului acestora.
Operanzi: dst,src:r8,r16,r32
Restrictii:Nu exist instruciuni de tip:
-XCHG rs,rs (interzis XCHG pentru interschimbarea a dou registre de segment)
-XCHG cs,* (interzis XCHG pentru interschimbarea registrului de segment de cod cu
orice alt tip de registru)
37
Mod de lucru :
P 8.7. Se vor ncarca urmtoarele registre astfel:
AL cu 11
BL cu 22
CX cu 3344
DX cu 5566
dup care se va interschimba coninutul celor de 8 bii i coninutul celor de 16 bii.
Sintaxe generale:
ADD dst,src - Adunare : dst=dst+src;
ADC dst,src - Adunare cu transport (CF): dst=dst+src+CF
SUB dst,src - Scdere: dst=dst src;
SBB dst,src - Scdere cu transport (carry) sau mprumut (borrow):
dst=dst-src-CF;
n toate operaiile aritmetice, se folosete implicit convenia complementului fa de
2. Astfel, numerele pozitive au bitul cel mai semnificativ (MSB) 0, iar cele negative au
MSB 1. Numerele negative vor avea valoarea diferenei ntre valoarea lor absoluta i 28n ,
unde n este numrul de octei folosii.
Exemple:
25h=0012.0101 este un numr pozitiv, avnd echivalentul zecimal 37;
0B3Ch= 0000.1011.0011.1100 este un numr pozitiv, cu echivalent zecimal 2876;
0A7h=1012.0111 este un numr negativ (dac este considerat de un octet), cu valoare
absoluta 167 i valoare n complement fa de 2 care se calculeaza conform formulei
167-28 = -89;
0CEACh = 1100.1112.1012.1100 este un numr negativ de doi octei, cu valoare
absoluta 52908 i valoare n complement fa de 2 care se calculeaza conform
formulei 52908-216 = -12628;
Se observ c un eventual 0 n faa numrului scris n format hexazecimal nu nseamna
c acesta are semn pozitiv. Conteaz numai primul bit al octetului cel mai semnificativ.
Aceste transformri se pot face cu utilitarul Calculator din Windows, avnd opiunea
View - > Scientific.
Mod de lucru:
P 8.9. Se vor ncarca registrele cu constantele: AX=1122, BX=3344, CX=5566,
DX=7788 i se va efectua urmtoarea succesiune de operaii:
AL+66
AL+BL
AL-CL
AL-22
AL+BL+CL+DL
38
P 8.12. Se vor ncarca registrele cu constantele: AX=1122, BX=3344, CX=5566,
DX=7788 i se va efectua urmtoarea succesiune de operaii:
AX+6666
AX+BX
AX-CX
AX-22
AX+BX+CX+DX
P 8.11 Se vor ncarca dou numere de 32 de bii n registre n felul urmtor:
- primul numr 11223344 n AX (octeii superiori) i BX (octeii inferiori)
- al doilea numr 55667788 n CX (octeii superiori) i DX (octeii inferiori) n
continuare se va efectua adunarea celor dou numere. Rezultatul trebuie s fie 6688AACC
P 8.12 Acelai program ca la 8.11, numerele fiind 55667788 i 99AABBCC. Rezulatul
trebuie s fie EF113354.
P 8.13 Acelai program ca la 8.11 dar, numerele fiind 55667788 i 11223344, se va
efectua scderea lor. Rezultatul trebuie s fie 44444444.
P 8.14 Acelai program ca la 8.13, numerele fiind 22334455 i 66778899. Rezultatul
trebuie s fie BBBBBBBC.
39
40
Laborator 9. PRELUCRAREA INFORMAIEI NTR-O
UNITATE ARITMETICO-LOGIC (ALU)
41
PAR: reprezint cel mai puin semnificativ bit al rezultatului care, dac rezultatul este
interpretat ca numr ntreg, reprezint paritatea numrului (0 pentru numr par i 1 pentru
numr impar);
OVF: reprezint depirea capacitii de reprezentare a numerelor ntregi (cu numerele
negative reprezentate prin complementul fa de 2); este un fel de Carry pentru numerele
ntregi cu semn.
Setul de funcii al ALU pentru exemplul din figura 6.2 este limitat la urmtoarele:
AND: Qi = LiRi, pentru i = 0,1, (n 1);
OR: Qi= Li + Ri, pentru i = 0,1, (n 1);
XOR: Qi= Li Ri, pentru i = 0,1, (n 1);
ADD: adun modulo 2n cei doi operanzi (dou numere ntregi);
SUB: scade modulo 2n cei doi operanzi (dou numere ntregi);
INC: incrementeaz modulo 2n operandul din stnga;
LEFT: ieirea ia valoarea operandului din stnga;
SHL: reprezint deplasarea logic cu o poziie la dreapta a operandului din stnga
(cel mai puin semnificativ bit se pierde).
ALU uzuale realizeaz i alte funcii, de exemplu decrementarea (DEC), rotirea (ROT),
NOT etc.
42
Figura 9.2. Organizarea intern a unei ALU.
43
011 LEFT Trece operandul L
100 XOR Funcia XOR bit cu bit
101 ADD Adunarea operanzilor
110 SUB Scderea operandului R din operandul L
111 INC Incrementarea operandului L
44
Suport toate cele 16 operaii logice cu dou variabile: SAU-exclusiv (XOR),
comparare, I (AND), I-negat (NAND), SAU (OR), SAU-negat (NOR), precum i
alte 10 operaii logice.
n figura 9.4 se prezint circuitul integrat cu semnificaia pinilor de conexiune, iar n figura
9.5 avem diagrama logic a cicuitului ALU pe 4 bii.
45
Figura 9.6 Realizarea unui circuitului echvalent unitii ALU pe 4 bii
Dup realizarea circuitului, se poate verifica funcionarea i corectitudinea operaiilor unitii ALU
pe 4 bii conform tabelului de funcii logice de mai jos:
Tabel funcii logice ALU 4 bii (circuit SN54/74LS181)
46
Laborator 10. FUNCIONAREA UNITILOR DE MEMORARE
NTR-UN CALCULATOR. TRANSFERURI DE DATE
I OPERAII ARITMETICE CU MEMORIA
47
Orice operand pus ntre paranteze drepte reprezint o adresa de memorie . De exemplu
[3A21] reprezint coninutul locaiei de memorie cu adresa efectiv 3A21, iar [BX+DI] reprezint
coninutul locaiei de memorie a carei adresa efectiv este dat de suma ntre registrele BX i DI.
Este permis i scrierea RG[const] cau const[RG] unde RG este un registru general iar const
este un deplasament (numr sau etichet ) care se adun la coninutul acestui registru. Acest forma
este echivalent cu [RG+const], deci scrierea de termeni alaturai are semnificaie de sumare i nu de
nmulire.
48
Pentru a avea acces la vizualizarea segmentelor de memorie n timpul execuiei i
depanrii, se vor alege opiunile corespunztoare din meniul VIEW.
49
Modul de lucru:
Indicaii:
Ambele locaii sunt plasate n segmentul de date i se pot vizualiza n zona Dump din
fereastra inferioar a Turbo Debugger.
50
Laborator 11. TRANSFERURI PE 1 OCTET I PE 2 OCTEI
Registru
Registru de segment implicit
general
SP SS
BP SS
BX DS
SI DS
DI ES
BP+SI sau BP+DI SS
BX+SI sau BX+DI DS
IP CS
Exemplu:
MOV AL, [BX+3000] transfer numai n AL octetul de la adresa 3000 din
segmentul de date. Nu este nevoie de prefix deoarece operandul AL este de 8 bii i rezulta
implicit un transfer de un octet.
MOV AX, [SI+3000] transfer n AL octetul de la adresa 3000 din segmentul de
date i n AH octetul de la adresa 3001 din segmentul de date (ntotdeauna n octetul superior
coninutul locaiei de memorie cu adresa mai mare). Nu este nevoie de prefix deoarece
operandul AX este de 16 bii i rezult implicit un transfer de doi octei.
ADD word ptr [BX+3000],59 adun la cuvntul (numr de 16 bii) coninut n
locaiile 3001 i 3000 din segmentul de date, numrul 59. Dac nu s-ar specific lungimea
"word ptr", s-ar face adunarea pe un singur octet ntre coninutul locaiei 3000 i constanta 59.
ADD byte ptr [BP+3000],59 adun la octetul coninut n locaia 3000 din
segmentul de stiv, numrul 59, fr vreo influenta asupra locaiei 3001. Dac nu s-ar
specifica lungimea, operaia s-ar efectua tot pe un octet, dar asamblorul ar afia totui o
avertizare legat de lungimea operanzilor.
51
11.2.Modul de lucru :
Se vor scrie i testa urmtoarele programe, folosindu-se pe cat posibil numai adrese
efective:
P 1 Program care ncarc n AX constanta 3344 i o trimite n memorie la adresa 20h.
Se va observ n ce fel apar octeii acestei constante n memorie.
P 2 Trimite n memorie la adresa 20 constanta 1122 i la 30 constanta 44
P 3. Program care:
ncarc constanta 33EE n AX
o trimite n memorie la adresa 30
ncarc constanta 22 n AL
adun aceast constant la numrul din locaiile ncarcate anterior cu constanta
33EE.
Indicaii:
Pentru a avea rezultatul adunrii pe 16 bii, va trebui folosit registrul AX, dup ce se
ncarc AH cu 00.
n memorie, la adresa DS:30 vor apare octeii 10.34, adic numrul 3410, rezultatul
adunrii lui 33EE cu 22.
52
Laborator 12. MODURI DE ADRESARE
Exemplu:
adresa1 equ 20h
adresa2 equ adresa1+2
adresa3=30h
.
.
mov AL,DS:[adresa1] ; ncarc n AL continutul
;locaiei de memorie de la adresa 20h
;din cadrul segmentului de date
mov SI[adresa2],ch ;ncarc CH n adresa 22h
;din cadrul segmentului de date
mov AH,[BP+adresa3] ;ncarc n AH de la
;adresa 30h din cadrul segmentului de
;stiv
53
12.2 Adresarea direct
Exemplu:
.model small
.stack 100h
.DATA
locaie db 33,44,55,66 ;Stabilete adresa
;"locaie" la nceputul
;segmentului de date
.code
MOV AX,@data ;ncarc adresa segmentului de date
MOV DS,AX ;n registrul DS
MOV AL,locatie+2 ;ncarc n AL octetul de la a
;locaia 02 din DS
MOV locatie+1, byte ptr AL ;ncarc n locaia 01
;coninutul lui AL
.
.
.
Se observ c nu este necesar punerea operandului de adresa n paranteze, prin
eticheta declarat dup directiva .DATA nelegndu-se implicit coninutul unei locaii de
memorie.
Observaie: Instruciunile care urmeaz imediat dup directiva .code din exemplul de
mai sus ( cele cu caractere bold) sunt necesare ntotdeauna atunci cnd se declar un segment
de date. Asamblorul i linkeditorul plaseaz acest segment acolo unde au memorie liber i
adresa acestui segment trebuie incrcat explicit n registrul de segment de date, DS. Cum
acest registru nu admite o ncrcare direct cu o constant, aceast adres, cunoscut de
asamblor prin simbolul @dat se ncarc nti ntr-un registru general i apoi se transfer n
registrul DS. Se poate folosi i forma de referire la o variabil sau constant din segmentul de
date (forma nerecomandat totui n astfel de cazuri):
54
Programul Turbo Debugger, dac are implicit afiata o fereastra Dump, dup rularea
instruciunii MOV DS,AX va afia automat zona respectiv cu registrul de segment ES.
Pentru a afia chiar segmentul de date, trebuie dat o noua comanda Dump din submeniul
View, atunci cnd fereastra CPU este activata (dac nu este, se da un click pe aceasta
fereastra). n noua fereastra dump se vor observa datele declarate.
Exemplu:
MOV AL, [BX] ;ncarc n AL coninutul ;locaiei de memorie a carei
adresa efectiv este ;coninut n BX i adresa de segment coninut n ;registrul implicit DS.
MOV [BP],CX ;ncarc coninutul lui CL n ;locaia de memorie a carei
adresa efectiv este ;coninut n BP i adresa de segment coninut n ;registrul implicit SS,
iar coninutul lui CH n locaia ;de memorie urmtoare.
Exemplu:
MOV AL,[DI+31] ; Transfer n AL coninutul locaiei a carei adresa este dat de
coninutul lui DI la care se adun 31, iar adresa de segment este dat de DS.
MOV [BP+1226],CX; Transfer pe CL n locaia a carei adresa este dat de
coninutul lui BP la care se aduna 1226, iar adresa de segment este dat de SS, iar CH n
locaia urmtoare.
Aceste instruciuni se mai pot scrie i :
MOV AL,31[DI] respectiv
MOV 1226[BP],CX
Modul de adresare prin registru cu deplasare se recomand pentru adresarea
elementelor irurilor i tabelelor. De exemplu, dac s-a definit anterior constanta numeric
TAB ( de exemplu TAB EQU 2100) se poate adresa elementul de tabel cu numrul coninut
n registrul SI printr-o instruciune de genul ADD BX, TAB[SI].
55
Modul de adresare prin registru cu deplasare se recomand pentru adresarea
elementelor irurilor i tabelelor. De exemplu, dac s-a incrcat anterior constanta numeric
TAB ntr-un registru de baza ( de exemplu MOV BX,2100) se poate adresa elementul de
tabel cu numrul coninut n registrul SI printr-o instruciune de genul MOV CX,[BX+SI].
Exemplu:
MOV CL,[BP+SI] sau MOV CL,[BP][SI]
SBB DX,[BX+DI] sau SBB DX,[BX][DI]
Exemplul:
MOV CX,[BX+SI+2C]
SUB DX,[BP+SI+2455]
De exemplu, pentru o matrice cu 5 linii i 6 coloane, care ncepe la adresa 20h, dac se
dorete accesarea elememtului al treilea din linia a patra, vom scrie:
MAT=20h
MOV BX, 18
MOV SI,3
MOV CL, MAT[BX+SI]
12.3Modul de lucru
56
Se va scrie la adresa 30 coninutul lui CH
Se va scrie la adresa 31 coninutul lui DX
P2.Se va realiza un program care are urmtoarele date iniiale: constantele de un octet
A=11 i B=22 i constantele de doi octei C=3344 i D=5566.Se va calcula in BX expresia
(C+D)-(A+B).
P 3.Se vor ncarca registrele n felul urmtor: AX=2233, CX= 99AA, DL=10 BX=20.
Suma dintre AX i CX se va trimite n memorie la adresa format din suma ntre BX i DL iar
diferenta lor la adresa imediat urmtoare.
Indicaii:
- AX trebuie salvat nainte de sumare;
-DL nu poate fi adunat direct cu BX i nici nu poate fi folosit la formarea AE.
-n memorie, la adresa DS:0030 va apare irul: DD.BB.89.88
P 4.Se vor ncarca registrele n felul urmtor: AX=1122, BX= 3344, CX=5566 i
DX=7788. Sa se fac permutarea cicular a acestor registre (AX ia valoarea lui BX, BX a lui
CX, CX a lui DX iar DX a lui AX). Se vor folosi pentru stocarea temporar n memorie a
unui registru modul imediat, modul direct i modul indirect.
P 5.Folosind instrunciunea de adunare a unui registru cu o constant, se vor ncarc 4
locaii succesive de memorie ncepnd de la 10, cu numere cresctoare de un octet, ncepnd
cu 1.
P 6. Acelasi program ca la punctul.5, dar cu numere pe doi octei ncepnd cu 1000.
P 7. Acelasi program ca la punctul 5, dar cu numere pe un octet multipli de 5.
57
58
Bibliografie
59
32. http://en.wikipedia.org/wiki/Konrad_Zuse
33. http://en.wikipedia.org/wiki/ENIAC
34. http://www.archives.upenn.edu/faids/upd/eniactrial/upd8_10.html
35. http://en.wikipedia.org/wiki/John_von_Neumann
36. http://inventors.about.com/od/computersandinternet/a/Eckert-And-Mauchly.htm
37. http://en.wikipedia.org/wiki/Von_Neumann_architecture
38. http://en.wikipedia.org/wiki/Harvard_architecture
39. http://en.wikipedia.org/wiki/Computer_Modern
40. http://en.wikipedia.org/wiki/Quantum_computer
41. http://www.livescience.com/20718-computer-history.html
42. http://en.wikipedia.org/wiki/Shor%27s_algorithm
43. http://en.wikipedia.org/wiki/IEEE_floating_point
44. http://cs.ucv.ro/staff/cpatrascu/SIE/Lucrarea%203.pdf
45. http://ro.wikipedia.org/wiki/UNICODE
46. https://www.Lookup.Tables.com
47. https://www.google.ro/search?q=ebcdic+table&source=lnms&tbm=isch&s.
48. http://steve.hollasch.net/cgindex/coding/ieeefloat.html
49. http://ro.wikipedia.org/wiki/Baz%C4%83_de_numera%C8%9Bie
50. http://ro.wikipedia.org/wiki/Sistem_binar
51. http://www.scribd.com/doc/93164759/Circuit-Maker-2000-User-Manual CircuitMaker-
Integrated Schematic Capture and Circuit Simulation Copyright 1988-1998 MicroCode
Engineering, Inc.
52. http://en.wikipedia.org/w/index.php?title=Computer_memory&oldid=477489497
53. http://en.wikipedia.org/wiki/File virtual_memory.sv
54. http://en.wikipedia.org/wiki/Content-addressable_memory
55. http://en.wikipedia.org/wiki/hard_drive_en.svg
56. http://en.wikipedia.org/wiki/Seagate_Technology#2010s
57. http://en.wikipedia.org/wiki/Solid_state_drive
58. http://en.wikipedia.org/wiki/Flash_memory
59. http://en.wikipedia.org/wiki/File:2bit_ALU.svg
60. http://en.wikipedia.org/wiki/Central_processing_unit
61. http://en.wikipedia.org/wiki/File:Computer_system_bus.svg
62. http://en.wikipedia.org/wiki/Interrupt
63. http://support.amd.com/en-us/search/tech-docs
64. http://support.amd.com/TechDocs/52259_KB_G-Series_Product_Data_
Sheet.pdf
65. INTEL, Reliability Report, RR, martie, 2007
66. INTEL 486 TM-DX Microprocessor, 1990
67. http://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures
68. http://en.wikipedia.org/wiki/File:Intel_Core2_arch.svg
69. http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-
architectures-software-developer-manual-325462.pdf
70. Instruction Set Reference A-M, Order Number 253666;
71. http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/
72. http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2008/10/
24594_APM_v3.pdf
73.http://biblioteca.regielive.ro/arhitectura-calculatoarelor
60