Gestionarea mașină (UA) poate fi construit în două moduri.
Gestionarea Machine cu logică rigidă - o rețea logică cu o memorie specială care pune în aplicare o comandă de firmware. Structura rețelei este determinată de firmware care urmează să fie executate de către această unitate. În acest fel puteți minimiza cantitatea de echipamente, care este mult mai important, pentru a asigura cea mai bună performanță posibilă. Dar proiectarea unui astfel de control este o chestiune de lungă și complicată, iar reprogramarea UA într-un alt loc de muncă imposibilă.
UA firmware-ul sau de control automat cu logica programabil, este construit folosind o memorie internă specială mikroprogramm.V această memorie sunt înregistrate toate firmware-ul necesar și de la circuitul de comandă este necesară numai organizarea de citire a firmware-ului. Proiectarea mașină de firmware mult mai ușor ca module hardware standard utilizate în ea. Singura problemă specială care urmează să fie rezolvate în cadrul teoriei automatelor, rămâne sinteza abstractă și compilarea tabelelor de memorie de programare. Dezavantajele firmware-ului de control este o parte redundanță de echipamente și viteză mai mică.
De fapt, cele două principii de construcție a V sunt combinate în proporții diferite, și în cele supercalculatoare cele mai productive utilizate de circuitul logic, și în mici - managementul dominat de firmware. În viitor, vom aborda problema de a construi firmware-ului UA, dar aici avem în vedere doar circuitul de comandă.
Noi definim unele concepte generale și funcționalitatea dispozitivului de comandă. Definirea, în primul rând, conceptul de micro-ops, precum și cu ea inter-legate de micro-ops și concepte de firmware.
Programul este un set de instrucțiuni scrise într-o anumită secvență, care oferă o soluție la această problemă specială pe un computer.
Echipa - o instrucțiune pentru a efectua următoarea etapă în calcule, precum și desemnarea corespunzătoare a acestui manual.
Funcționare - o acțiune care urmează să fie efectuate pe un computer sau procesor sub influența echipei. Astfel, fiecare comandă corespunde operațiunii efectuate de către procesor.
Practic, orice operațiune de procesor nu este o acțiune elementară. Se compune dintr-o secvență de mai multe alte acțiuni elementare, numite micro-operații. Astfel, una sau mai multe compatibile în microoperations timp executate pentru un interval de timp elementar, care este o perioadă de temporizare (ceas) și puls numit tact.
Astfel, operația efectuată de către procesorul sub influența unei comenzi, este o serie de micro-operații. Fiecare dintre micro-op sau mai multe dintre ele efectuate într-un singur ciclu de ceas, pus în aplicare în dispozitive de calculator sau de micro-procesor sub influența. În consecință, fiecare echipă are propriul set de microinstrucțiuni. Acest set de microinstrucțiuni sau microinstrucțiuni care implementează comanda, numit firmware.
Se observa din cele de mai sus că, în fiecare ciclu de la orice procesor este de a fi format are propria sa microinstrucțiunii sau microinstrucțiuni, care oferă micro-ops necesare. Fig. 3.4 este o diagramă în care axa orizontală este afișată secvența ciclurilor și verticală - procesorul camerei circuitului de comandă în executarea anumitor comenzi. Fiecare ciclu de ceas și fiecare circuit de control este atribuit un anumit nivel al semnalului de comandă. De exemplu, un singur strat este semnalul permisiv si zero - prohibitive. Trebuie remarcat faptul că, pentru anumite circuite pentru a permite pot fi luate și nivelul zero.
Fig. 3.4. procesor Diagrama de semnal de control al distribuției pentru circuitele de comandă și ceasuri: u 1, u 2, u 3 - codurile de comandă
Diagrama arată că, în fiecare ciclu de control al circuitului procesorului (numărul total de ele poate fi de 40 - 60 și mai mult) să fie alimentat propriul set de semnale de control de autorizare sau de interzicere unele micro-operație. Acest set de semnale de control și numit microinstrucțiunii sau cuvânt de control. Se crede că în acele cicluri în care există semnale mai permisive pentru a efectua mai multe acțiuni elementare - micro-op. Dar, în același timp, în fiecare ciclu, există doar un singur cuvânt de control, și anume, a implementat un micro-op.
Astfel, pentru orice comandă în procesorul să fie format set de semnale de control distribuite în spațiu (pentru circuite de control) și timp (în cicluri). Acest set de semnale de control și reprezintă un firmware care implementează comanda.
Generarea semnalelor de control pentru toate circuitele de comandă în fiecare ciclu se realizează unitatea de comandă a procesorului. După cum vom vedea, problema formării de semnale de control este complexă și greoaie, dacă ținem cont aici că în procesorul există un număr suficient de mare de circuite de control și de numărul mare de comenzi (130 sau mai mult), iar fiecare comandă este executat pentru mai multe cicluri (5 - 10 sau mai mult). De asemenea, dispozitivul de comandă trebuie să reacționeze la semnalele de control extern.
În prezent, pentru a construi dispozitivul de comandă în procesoarele utilizate două principii: 1) bazate pe implementarea hardware, sau logica de control „hard“ și 2), pe baza implementării firmware-ului sau logica „flexibilă“ de control. Să luăm în considerare pe scurt ambele aceste principii. Dar, mai întâi, trebuie să ia în considerare unele dintre componentele comune care sunt utilizate în punerea în aplicare atât construcția principiilor unitare de control.
decodor de instrucțiuni este necesară pentru orice controler de nod procesor. Această unitate funcțională combinațional pentru decriptarea Opcode de comandă pentru utilizarea în alt dispozitiv de control al nodurilor.
În dispozitivul de comandă, și se bazează pe o logică „tare“, și se bazează pe logica „flexibilă“ adesea folosit așa-numita matrice logică programabilă (PLA). Această rețea logică constând din două etape: poarta matrice „I“ asociat cu o serie de elemente logice „SAU“, conexiunile dintre elementele sunt stabilite o dată prin jumperii „arde“ individuale „inutile“.
Luați în considerare structura simplificată a nodului (fig. 3.5). Elemente de „AND“ si „OR“ este prezentat schematic în figură, iar intrările lor (variabile de intrare) - puncte de conexiune. Pentru că nu numai valori directe, ci și inverse ale variabilelor de intrare (x 1, x 2 xn) la intrările de invertoare incluse PLA.
După cum se știe, orice funcție poate fi reprezentat sub forma normală disjunctivă, folosind un circuit combinațional cu două nivele constând din elementele de „AND“ si „OR“. Ca exemplu putem scrie funcția y 1, y 2, implementat în conformitate cu conexiunile prezentate în Fig. 3.5:
Fig. 3.5. O diagramă bloc simplificată a unei matrice logice programabile
Elemente de conexiuni de intrare necesare „și“ și „SAU“ incluse în matricea acestor elemente, efectuate în fabrică - programarea Mascat, sau programarea de către utilizator - atunci când se aplică PLA, cu circuite unice sau multiple de programare.
Din exemplul de mai sus, precum și principiul general de construcție a PLA, rezultă că variabilele de ieșire y 1 - ym poate fi asociată cu aproape orice set de variabile de intrare x 1 - xn și funcțiile lor „și“ și „SAU“.
Multe procesoare moderne au un nod, care se numește coada de comandă. coada de comandă este un dispozitiv de stocare pentru stocarea unei viitoare să fie executat comanda.
Completarea comenzilor de memorie tampon se realizează în intervale de timp, când magistrala de date a procesorului nu este ocupat de acestea pentru a face schimb de date cu memoria principală sau dispozitive externe. Comenzile de proba din prelucrarea coada de comandă se realizează în măsura punerii în aplicare a acestora. Acest lucru asigură creșterea performanței generale procesorului, deoarece, practic, nici un timp suplimentar necesar pentru a prelua instrucțiuni de la o memorie cu acces aleator - următoarea comandă este deja în memoria tampon internă a procesorului. Timpul total pe comandă de probă cu referire la memorie cu acces aleator este cheltuit numai în acele cazuri în care transferul controlului se face în punerea în aplicare a ramurilor de program condiționale. În aceste cazuri, reinițializat coadă și încărcați-l cu o secvență de comandă nouă. În acest caz, prima de a alege o echipă din RAM odată ce acesta devine disponibil pentru a rula. O variantă a punerii în aplicare a coada de comandă este o memorie de așa-numita memorie cache este situat direct pe cadrul procesorului. În unele memorie cache moderne procesor este folosit aici ca o memorie tampon nu numai pentru fluxul de instrucțiuni, dar, de asemenea, pentru fluxul de date. Capacitatea memoriei tampon atinge 256 bytes sau mai mult.