Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


AUTOMATE - Dispozitiv de impartire binara. Unitate de comanda UC microprogramata

hardware



+ Font mai mare | - Font mai mic



AUTOMATE

Dispozitiv de impartire binara. Unitate de comanda UC microprogramata.



Realizarea microprogramata a unitatii de comanda a unui sistem numeric se bazeaza pe utilizarea unei memorii PROM. Cuvintele acestei memorii reprezinta fiecare o microinstructiune a programului. Ele sunt compuse in principal din cuvinte de test, de adresa si de comanda.

Se defineste o metoda de sinteza pentru UC a sistemelor numerice, dupa care se aplica diferitele etape ale acestei metode la sinteza UC a sistemului numeric care realizeaza impartirea a 2 numere binare.

1) Metoda

O UC microprogramata este de fapt o unitate de tratare a adreselor din memoria de microprogram. Metoda de sinteza a UC se aseamana cu cea a UE in privinta realizarii si se incheie printr-o etapa de programare.

Realizarea microprogramata a UC a unui sistem numeric care realizeaza un algoritm dat este caracterizata de repertoriul sau de microinstructiuni (microinstructiuni de test si comanda, microinstructiuni de test, microinstructiuni de comanda, microinstructiuni de apel de subprogram, microinstructiuni de retur dintr-un subprogram etc.). Ea se efectueaza plecand de la organigrama originara prin parcurgerea urmatoarelor etape:

Adaptarea eventuala a organigramei la repertoriul de microinstructiuni al UC alese;

Definirea variabilelor de comanda ale UE;

Redactarea programului originar si determinarea formatului si a campurilor microinstructiunilor;

Declararea registrilor si resurselor UC si descrierea functionala a acesteia cu ajutorul unei organigrame;

Construirea schemei UC si declararea eventuala a registrilor si resurselor aditionale;

Realizarea UC cu ajutorul unor componente combinationale si secventiale disponibile pe piata;

Adaptarea programului originar si programarea memoriei.

2) UC cu 2 microinstructiuni cu registru de adrese

2.1. Caiet de sarcini

Repertoriul de microinstructiuni constituie caietul de sarcini al UC. El permite determinarea formatului si a campurilor microinstructiunilor specificand totodata asocierea lor cu elementele organigramei.

Repertoriul propus in fig. 4 asociaza o microinstructiune de test binar fiecarui romb si o microinstructiune de comanda fiecarui dreptunghi. El se aplica direct organigramei originare a sistemului numeric care realizeaza impartirea a 2 numere binare (fig. 2 - seminar 1).

IF T = 0 THEN GOTO ADR0

ELSE GOTO ADR1

0

ADR    T

1 ADR0

ADR1

DO OP AND GOTO ADR1

ADR    OP

ADR1

Figura 4.

2.2. Variabilele de comanda a UE

Fiecare dreptunghi al organigramei originare (fig. 2 - seminar 1) contine o operatie a UE. Tinand cont de resursele si de registri adoptati pentru realizarea acestei unitati, se pune problema definirii variabilelor sale de comanda, pentru ca ea sa execute ansamblul operatiilor organigramei. Valorile care trebuie sa li se atribuie sunt precizate in tabela operatiilor UE (fig. 5). Ele rezulta din tabelele operatiilor proprii resurselor si registrilor utilizati.

Operatie

Descriere

OP0

NOP

OP1

F

OP2

A 0; B X; C Y; F 0; I

OP3

(A,B) (A,B) 2; B0

OP4

B0

OP5

A A + C

OP6

A A - C

OP7

A A + C; I I + 1

OP8

A A - C; I I + 1

Figura 5.

Op

AA

SHA

LDA

GB

SB

SHB

LDB

WSC

JF

KF

CLRI

LDI

PI

AAV

OP0

OP1

OP2

OP3

OP4

OP5

OP6

OP7

OP8

Figura 6.

Fiecare romb al organigramei corespunde unei instructiuni de test. In cursul executiei unei asemenea instructiuni, UE trebuie sa ramana inactiva. Ea efectueaza atunci o instructiune neutra NOP. Pentru a simplifica mai mult conceptia UC, admitem in plus ca toate variabilele sale de iesire (adica toate variabilele de comanda ale UE) sunt egale cu 0 in timpul unei instructiuni de test. Tabela operatiilor UE (fig. 5 si 6) contine deci in mod obligatoriu operatia NOP pe langa celelalte operatii deduse din organigrama.

Determinarea ansamblului minimal al variabilelor distincte C care trebuie sa fie generate de UC se face cu ajutorul unui graf de compatibilitati.

AA

AAV SHA

PI LDA

CLRI SB

KF SHB

JF LDB

WSC

Figura 7.

Procedam dupa cum urmeaza:

a. Cautam variabilele de comanda care pot ramane constante. Atribuirea unor valori particulare conditiilor indiferente din tabela operatiilor UE (fig. 5 si 6) reduce 2 variabile la starea de constante:


GB = 0

LDI = 0

b. Fiecare variabila care ramane va constitui un nod in graf.

c. Compatibilitatea a 2 variabile (faptul ca au valori egale pentru fiecare operatie in care sunt ambele specificate) e indicata printr-un arc neorientat care uneste cele 2 noduri.

d. Un poligon complet = un ansamblu de noduri care sunt toate conectate 2 cate 2.

e. Ansamblul minimal al poligoanelor complete corespunde ansamblului minimal al variabilelor distincte C. Cele 2 ansambluri minimale de poligoane complete din graful de compatibilitati din fig. 7 determina 2 ansambluri minimale de 8 variabile distincte.

C0 = AAV C0 = PI

C1 = PI C1 = JF

C2 = JF C2 = WSC = KF = CLRI

C3 = WSC = KF = CLRI C3 = LDB

C4 = LDB C4 = SB = AAV

C5 = LDA C5 = LDA

C6 = SHA = SHB C6 = SHA = SHB

C7 = AA = SB C7 = AA

Alegem prima solutie. In tabelul de mai jos sunt date valorile hexazecimale corespunzatoare cazului cand toate conditiile indiferente sunt alese 0.

Operatie

C7:0

OP0

OP1

OP2

OP3

OP4

OP5

A0

OP6

A1

OP7

A2

OP8

A3

Figura 8.

2.3. Programul originar si definirea microinstructiunilor

Redactarea acestui program se face transcriind organigrama originara a UC (fig. 2 - seminar 1) cu ajutorul repertoriului de microinstructiuni. Programul este cel ce va fi inscris in PROM.

Fiecare din etichetele NEXT specifica adresa microinstructiunii care ocupa linia urmatoare.

WAIT: DO OP1 AND GOTO NEXT

IF E = 0 THEN GOTO WAIT

ELSE GOTO EXECUTE

EXECUTE: DO OP2 AND GOTO NEXT

DO OP3 AND GOTO NEXT

DO OP6 AND GOTO LOOP

LOOP: IF A7 = 0 THEN GOTO SUBC

ELSE GOTO ADDC

ADDC: DO OP3 AND GOTO NEXT

DO OP7 AND GOTO TEST

TEST: IF I7 = 0 THEN GOTO LOOP

ELSE GOTO NEXT

IF A7 = 0 THEN GOTO INCB

ELSE GOTO NEXT

DO OP5 AND GOTO WAIT

SUBC: DO OP4 AND GOTO NEXT

DO OP3 AND GOTO NEXT

DO OP8 AND GOTO TEST

INCB: DO OP4 AND GOTO WAIT

Formatul si campurile celor 2 microinstructiuni din fig. 9 este determinat de:

numarul microinstructiunilor din repertoriu;

numarul variabilelor de test ale organigramei;

ansamblul minimal de variabile de comanda;

dimensiunea programului originar.

0 TEST ADR0 ADR1

12 11 10 9 8 7 6 5 4 3 2 1 0

Figura 9. Microinstructiunile

1 OP ADR1

12 11 10 9 8 7 6 5 4 3 2 1 0

Microinstructiunea de test binar este definita de un bit de cod MC = 0, un camp TEST pentru selectia variabilei de test continuta in romb si 2 campuri ADR0 si ADR1 care dau, respectiv, adresa instructiunii urmatoare pentru valoarea 0 si pentru valoarea 1a variabilei de test.

Microinstructiunea de comanda este definita de un bit de cod MC = 1, un camp OP care da starea variabilelor de comanda a UE pentru efectuarea operatiei continute in dreptunghi si un camp ADR1 care da adresa microinstructiunii urmatoare.

2.4. Declararea si descrierea functionala

Pentru a executa cele 2 microinstructiuni din fig. 9, UC face apel la:

registru: AR1x4 - ca registru de adresa (Address Register) al PROM-ului

resurse: M15x13 - memorie de microprogram;

T1x1 - multiplexor de test;

C1x8 - registru pentru anularea variabilelor de comanda la iesire.

Organigrama din fig. 10 descrie functionarea UC pentru fiecare din microinstructiuni, in functie de codul lor MC si pentru initializarea efectuata atunci cand variabila I = 1.


I, MC


00 01 1

T AR M(AR)ADR1 AR : = 0

C = M(AR)OP C =


AR M(AR)ADR1

C = 0

AR M(AR)ADR0

C = 0


M(AR)ADR1 - Continutul locatiei din memoria M de la adresa data de AR, partea ADR1 din aceasta locatie

Figura 10.

2.5. Schema si declaratie aditionala

Pe langa elementele anterioare schema UC mai are nevoie de:

AM1x4 - MUX de adresa, pentru a selecta una sau cealalta dintre cele 2 adrese furnizate de memorie (fig. 11).

M


I7 A7 E 12 0


7-4 3-0 11-4

T AM C

3 0 7 0

(selecteaza AM) AR

3 0


Figura 11.

2.6. Realizarea

Tabelul din figura 12 exprima operatiile descrise in organigrama UC tinand cont de AM. Realizarea UC se reduce la alegerea unui ansamblu de registri si resurse capabile sa execute aceste operatii.

Operatie

Descriere

OP1

AR AM; AM = M(AR)ADR1; C = 0

OP2

AR AM; AM = M(AR)ADR0; C = 0

OP3

AR AM; AM = M(AR)ADR1; C = M(AR)OP

OP4

AR : = 0; AM = ; C =

Figura 12.

AR - se foloseste registru de deplasare bidirectional (74194).

R A B C D L

CK

S0

S1 74194

CLR


QA QB QC QD

Operatie

Descriere

CLR

S1

S0

CLEAR

(QA, QB, QC, QD)

HOLD

(QA, QB, QC, QD) (QA, QB, QC, QD)

SHIFT RIGHT

(QA, QB, QC, QD) (R, QA, QB, QC)

SHIFT LEFT

(QA, QB, QC, QD) (QB, QC, QD, L)

LOAD

(QA, QB, QC, QD) (A, B, C, D)

AM si C - se foloseste MUX 2:1 pe 4 biti (74157) si 2 circuite SI cu 2 intrari (7408).

M - se folosesc 2 EPROM de 2048x8 biti (2516).

A = (A10, ., A0)


S 2516

PD


Q = (Q8, ., Q1)

Operatie

Descriere

PD

S

READ

Q = EPROM(A)

3-STATE

Q =

3-STATE POWER DOWN

Q =

Conform figurilor 10 si 12 si tinand cont de registrul si resursele alese vom defini starea variabilelor de comanda pentru executia fiecareia dintre operatii (figura 13).

Operatie

CLRAR

S1AR

S0AR

GAM

SAM

AC

I

MC

T

OP1

OP2

OP3

OP4

Figura 13.

Valorile corespunzatoare variabilei de initializare I, bitului de cod MC si variabilei de test T conduc la urmatoarele relatii logice:

CLRAR = I

S1AR = S0AR = 1

GAM = 0

SAM = MC + T

AC = MC

toate fiind functii de I, MC si T.

Multiplexorul de test T selecteaza variabilele E, A7 si I7 relative la microinstructiunile de test binar ale programului. Aceste operatii apar in detaliu in tabelul din figura 14, care precizeaza starea variabilelor de comanda ale MUX 8:1 de tip (74151), utilizat pentru efectuarea lor.

D0

D1

D2 Y

D3

D4 W = Y

D5

D6 74151

D7

A B C S

Dupa cum se vede din codificarea utilizata in tabel se pune in corespondenta starea campului TEST a microinstructiunii cu cea a variabilelor AT si BT ale MUX.

Operatie

Descriere

ST

CT

BT

AT

TEST

SELECT E

T = E

SELECT A7

T = A7

SELECT I7

T = I7

Figura 14.

2.7. Adaptarea si programarea

Adaptarea se reduce la adresare, adica la numerotarea in hexazecimal a microinstructiunilor plecand de la 0. Atribuind adresa 0 microinstructiunii initiale a programului originar si numerotand microinstructiunile in ordine, obtinem un program adaptat posibil pentru sistemul numeric dat.

DO OP1 AND GOTO 1

IF E = 0 THEN GOTO 0

ELSE GOTO 2

DO OP2 AND GOTO 3

DO OP3 AND GOTO 4

DO OP6 AND GOTO 5

IF A7 = 0 THEN GOTO B

ELSE GOTO 6

DO OP3 AND GOTO 7

DO OP7 AND GOTO 8

IF I7 = 0 THEN GOTO 5

ELSE GOTO 9

IF A7 = 0 THEN GOTO E

ELSE GOTO A

A DO OP5 AND GOTO 0

B DO OP4 AND GOTO C

C DO OP3 AND GOTO D

D DO OP8 AND GOTO 8

E DO OP4 AND GOTO 0

In figura 15 se prezinta programul in hexazecimal al memoriei M a UC pentru situatia in care campul nedefinit ( ) al microinstructiunii de test binar este ales egal cu 0. Redactarea acestui program se realizeaza pe baza programului adaptat al sistemului numeric, tinand cont de formatul microinstructiunilor (fig. 9), codificarea variabilelor de test (fig. 14) si codificarea variabilelor de comanda (fig. 8).

Dimensiunea programului este de 15x13 biti = 195 biti.

Adresa (in hexa)

Continut (in hexa)

1A15

01B6

1A28

01EA

A

1A00

B

190C

C

140D

D

1A38

E

Figura 15.

TEMA: Sa se deseneze schema unitatii de comanda UC cu 2 microinstructiuni cu registru de adresa.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1680
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved