+ All Categories
Home > Documents > Curs_microprocesoare 2

Curs_microprocesoare 2

Date post: 07-Nov-2015
Category:
Upload: drajneanu-gelu
View: 215 times
Download: 0 times
Share this document with a friend
Description:
Structura generala a unui calculator
21
Sisteme cu microprocesoare Cursul 2 1 Structura generala a unui calculator
Transcript
  • 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


Recommended