Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AeronauticaComunicatiiElectronica electricitateMerceologieTehnica mecanica


Proiectarea si simularea in CircuitMaker a unui interpretor de comenzi pentru limbajul L1

Electronica electricitate



+ Font mai mare | - Font mai mic



Proiectarea si simularea in CircuitMaker a unui interpretor de comenzi pentru limbajul L1

1. Obiectivele lucrarii



Dupa parcurgerea acestei lucrari de laborator, studentii vor fi capabili sa proiecteze un automat special, capabil sa interpreteze comenziile specifice limbajului L1. Iar pentru implementarea in Circuit Maker este nevoie ca sa fie parcursi o serie de pasi care presupun realizarea si interpretarea unor organigrame, codificarea variabilelor, realizarea unui microprogram, etc.

2. Desfasurarea lucrarii

Despre Limbajul L1:

Acest limbaj este interpretat de un automat special si anume de o masina de decizie binara. L1 este alcatuit din doua instructiuni:

- o instructiune de test, definita printr-o adresa ADR si o variabila de test xi fiecare asemenea microinstructiune are o intrare si doua iesiri care conduc la urmatoarele instructiuni de executat: una la , cand , cealalta la , cand . Acest proces poate fi scris sub forma simbolica (mnemonica):

IF xi THEN ADR1 ELSE ADR0

- o instructiune de asignare este definita printr-o adresa si o asignare de tip sincron . Prin este desemnat un registru, iar este o combinatie binara de iesire. Fiecare asemenea microinstructiune are o intrare si o iesire catre adresa instructiunii urmatoare. Mnemonica acestei instructiuni este:

DO REGOUT GO TO ADR +

Figura 13.1 Instructiunile limbajului L1

Realizarea unui comparator pentru doua numere binare de 2 biti:

Figura 13.2 Secventierea ciclului pentru un comparator binar


Pentru a scrie microinstructiunile in memorie trebuie sa avem:

− codificari pentru variabila de test si pentru asignarile ;

− o organizare a elementelor componente din fiecare microinstructiune. Aceasta va fi reprezentata de formatul instructiunii si consta dintr-un anumit numar de campuri.

O codificare minimala binara a celor 4 variabile de test necesita 2 biti pentru a obtine indicele (indexul) , ca in Figura 13.4.

Combinatiile de iesire pot fi reprezentate cu cel putin 2 biti, dar vom alege o reprezentare 1 din 3 cu 3 biti, (Figura 13.5).

Cele 9 instructiuni ale programului necesita cel putin 4 biti de adrese . Trebuie sa distingem cele 2 tipuri de microinstructiuni ale limbajului L1, iar aceasta se poate face cu ajutorul codului operatiei sub forma unui singur bit : identifica o instructiune de test iar o asignare.


Acum, putem defini un format pentru fiecare instructiune, ca in Figura 13.6. Utilizand acest format, microprogramul (in binar) pentru comparator este prezentat in Figura 13.7.

Necesitatea ca microinstructiunile sa fie executate de o masina proiectata special impune anumite restrictii ale formatelor. Astfel, pentru exemplul nostru, cele doua tipuri de microinstructiuni trebuie sa aiba aceeasi lungime (11 biti) si trebuie sa existe corespondente intre locatiile campurilor ( si trebuie sa fie in aceleasi pozitii in memorie). Rezulta ca, anumiti biti nu vor fi definiti si vor corespunde variabilelor de tip 'don't care' ( − ). Daca pentru variabile 'don't care' se considera valoarea 0, atunci microprogramul convertit in hexazecimal pentru comparatorul anterior este cel din Figura 13.8.

Aplicatii

a)      Sa se implementeze in CircuitMaker un comparator pentru doua numere binare de 2 biti folosind interpretorul pentru limbalul L1 descris in Figura 13.9.

Obs. Tabelul operatiilor pentru INT1 este prezentat in Figura 13.10



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1245
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