Date post: | 07-Nov-2015 |
Category: |
Documents |
Upload: | drajneanu-gelu |
View: | 215 times |
Download: | 0 times |
Sisteme cu microprocesoareCursul 2
1
Structura generala a unui calculator
Componentele unui sistem de calcul Modelul clasic de calculator (J. von Neumann)
Unitatea de control (UC) Unitatea aritmetico-logica (UAL) Memoria (M) Dispozitiv(e) de intrare (DI)
2
Dispozitiv(e) de intrare (DI) Dispozitiv(e) de iesire (DE)
M
UCDI
DE
UAL
Date de intrare + program
Date de iesire
UCP=UC+UAL
Unitatea Centrala de prelucrare
Componentele unui sistem de calcul Sistem de calcul bazat pe un
microprocesor
PMemorie Memorie
3
P
Interfata I/E Interfata I/E Interfata I/E
Memorie Memorie
Unitatea Centrala de Prelucrare (UCP) Unitatea de Comanda (UC)
Responsabila pentru: Citirea instructiunilor Decodificarea instructiunilor Generarea de semnale pentru executia
instructiunilor Este un circuit secvential (automat de stare)
Unitatea Aritmetico-logica (UAL)Efectueaza operatii aritmetice si logice:
UCP
UC
GF GT RI
DI + BCC NP
RS
4
Efectueaza operatii aritmetice si logice: Aritmetice: +,-,/,*, mod, comparare Logice: SI, SAU, NU, Deplasari/rotatii stanga/dreapta
Este (in general) un circuit combinational Registre
Registre generale (RG) Pentru pastrarea temporara a datelor Pentru efectuarea de operatii aritmetice si
logice Registre speciale (RS):
De adresare De stare De testare De control
RS
RG
R1 Rn
Magistralasistem
R2
UAL
Unitatea de Comanda (UC) Este creierul calculatorului Se compune din:
Generatorul de tact GT Genereaza senalul de ceas
Generatorul de faze GF Genereaza fazele de executie
Unitatea de decodificare instructiuni (DI)
UC
GF
GT
RI
NP Adresa
Instructiune
5
Unitatea de decodificare instructiuni (DI) si blocul de comanda si control (BCC)
Interpreteaza instructiunile si genereazasemnalele de comanda necesare pentruexecutia lor
Registrul de instructiuni RI Pastreaza instructiunea curenta
Numaratorul de program NP Pastreaza adresa instructiunii
urmatoare Registrul de stare program RS
DI + BCC
RS
Comenzi
Unitatea aritmetico-logica Ac registru acumulator
Pastreaza un operand si rezultatul operatiei
R registru pentru al doilea operand
R Ac
n n
6
operand RS registru de stare
UAL n
n n
Operatie
RS
Unitatea Aritmetico-Logica
Sumator pe un bit Si = Ai + Bi + Ti-1 Ti = Ai*Bi +Ti-1*(Ai + Bi)
7
Ti-1 Ti
Si
Ai
Bi
Sumator paralel pe n biti
n-1
Bn-1 An-1
1
B1 A1
0
B0 A0
8
n-1
Sn-1
Tn-1 Tn-2
1
S1
T1 T0
0
S0
T-1
Operatie de adunare cu operanzi in 2 registre
Pas Operaie Comenzi
1 terge registrul Anscrie registrul D B (operand 1)
Ad = 0, CLKA = (impuls)
CLKB =
2 Transfer B A , D B (operand 2) Ad = 1, CLKA = , CLKB =
3 A A + B Ad = 1, CLKA =
9
3 Ad = 1, CLKA =
0
D0
1
D1
A1
n-1
Dn-1
A n-1 A0
B0B1Bn-1
CLKB
Ad
CLKA
Circuit de adunare si scadere in complement fata de 2
La scadere al doilea operand se complementeaza
D0D1Dn-1
B0B1Bn-1
CLKB
10
01
A1
n-1
A n-1 A0
B0B1Bn-1
CLKA
Ad / Sub
T0T1Tn-1
Unitate logica pe un bit
Ai-1 Bi-1Ai Bi
11
MUX 4:1
Ci-1
Cod operatie
MUX 4:1
Ci
Operatia de inmultire
1100 * 12 *1010 10
00001100
0000
Algoritm de nmulire modificat:00000000 Acumulator (AC)
0 0000000 0 Depl. dr.1 1100 Adunare
0001100 0 Produs parial
12
00001100
1111000 = 78H = 120
0001100 0 Produs parial000110 00 Depl. dr.
0 00011 000 Depl. dr.1 1100 Adunare
1111 000 Produs final
Implementarea operatiei de inmultire
(n+1)
X
B0B1Bn-1 . . .BS
13
Dispozitiv de controlShift right
Q0Q1Q n-1 . . .A0A1An-1. . .AS
Q S
Y
Clear
Write
Write
Test
Shift right
Write
Algoritm de inmultire1. nscriere operanzi n registre B X, Q Y,
terge acumulatorul A 02. Complementare operanzi dac semnul este
negativ 3. Test Q0
Q = 0, deplasare dreapta A i Q
14
Q0 = 0, deplasare dreapta A i Q Q0 = 1, adunare A = B + A i deplasare dreapta A
i Q4. Se repet pasul 3 pn cnd Yn-1 ajunge n Q0.
Dup ultima eventual adunare nu se mai facedeplasare.
5. AS = BS + QS6. Complementare rezultat dac AS = 1
Circuit de impartire
X
Q0Q1Q n-1 . . .A0A1An-1. . .AS
Q S
15
Suma, Diferenta Dispozitiv de control
B0B1Bn-1 . . .BS
Y
Ad / Sc
Secventa de impartire1. ncarc dempritul n A i Q
ncarc mpritorul n B2. Memoreaz AS + BS n QS. Dac
AS = 1, complementeaz A, QBS = 1, complementeaz B
3. Teste:a. A B, depire de capacitate
16
a. A B, depire de capacitateb. B = 0, mprire cu 0c. A = 0 i Q < B, rezultat = 0
4. Deplasare A, Q la stnga i pune 0 n Q05. Se scade B din A i rezultatul se pune n A. Dac
AS = 0, deplasare stnga A, Q i pune 1 n Q0AS = 1, adun B la A, deplasare stnga A, Q i pune 0 n Q0
6. Repet pasul 5 de n ori7. Rotunjirea rezultatului. Dac A B, se adaug 1 la complementul
registrului Q8. Dac QS = 1 se complementeaz registrul Q
Adunarea in virgula flotanta1. ncrcare operanzi2. Se compar exponenii (5 cazuri):
ex = ey, se adun mantisele si se copiaz exponentulex > ey i (ex ey) < numrul poziiilor binare din mantis, atunci
mantisa my se aliniaz prin deplasare la dreapta cu ex-ey poziii i se adun mx cu my
ex >> ey i (ex ey) numrul poziiilor binare din mantis, atunci se copiaz X n rezultat
17
se copiaz X n rezultatex < ey i (ey ex) < numrul poziiilor binare din mantis, atunci
mantisa mx se aliniaz prin deplasare la dreapta cu ey-ex poziii i se adun mx cu my
ex
Circuit de adunare in Virgula flotantaX
exp mantissaSAShift
Load
Exp AIncrement
18
Y
exp mantissaSBShiftLoad
Dispozitiv de control
Exp BIncrement
Inmultirea si impartirea in virgula flotanta nmulirea se realizeaz prin urmtoarea secven:
Adunare exponeni Multiplicare mantise Realiniere mantis rezultat si decrementare exponent
mprire: Scdere exponeni mprire mantise
19
mprire mantise Realiniere mantise
/
expmantissa A
A
mantissa B
Inc/Dec A
ShiftLeft/right A
Ad/ Sc
S
expBInc/Dec B
S
Comand device
Shiftleft/right B
Proiectarea unui calculator simpluEtape de proiectare:1. Se stabilesc destinaia i domeniul de utilizare al
calculatorului;2 Se definete setul de instruciuni i formatul instruciune;3 Se definete schema bloc a unitii centrale;4 Se descompune fiecare instruciune n faze i microoperaii;5 Se determin ecuaiile microcomenzilor generate de unitatea
20
5 Se determin ecuaiile microcomenzilor generate de unitateade comanda;
6 Se construiete schema logica a modulelor GF i BCC;7 Se construiesc schemele logice pentru alte module: RI, NP,
RG, UAL, RS, GT;8 Proiectarea memoriei;9 Proiectarea interfeelor de intrare/ ieire.10 Se reiau etapele 2, 3 i 4 pn la obinerea unor rezultate
optime conform criteriilor stabilite n etapa 1.
Calculator simplu:Pasi de proiectare Destinatia:
Calculatoare de uz general Sisteme de calcul cu destinatie speciala:
Sisteme incapsulate Sisteme de procesare a semnalelor Sisteme de control
Sisteme de calcul de inalta performanta:Sisteme paralele
21
Sisteme paralele
Setul de instructiuni: Formatul instructiunilor: (lungime si campuri)
Fix: variabil
Tipuri de operatii: Aritmetice Logice De transfer De salt Operatii cu stiva