Formatul instrucțiunilor

   Pentru a rezolva o problemă, calculatorul trebuie să cunoască în fiecare moment atît operația pe care urmează să o execute, cît și datele care participă în operație. Aceste operații sunt comunicate calculatorului prin intermediul instrucțiunilor.
Instrucțiunea calculatorului reprezintă o succesiune de cifre binare prin care de indică procesorului operația de executat și amplasamentul (locul) operanzilor.
   Succesiunea binară respectivă, denumită uneori și cuvînt instrucțiune, este împărțită în cîmpuri, fiecare cîmp avînd o semnificație precisă. Numărul și semnificația cîmpurilor poartă denumirea de formatul instrucțiunii. În figura de mai jos sunt prezentate formatele în calculatoarele moderne.
Formatul instrucțiunilor cu 3 (a), 2 (b) și o singură adresă (c)
   În general, pentru executarea unei operații este necesar ca instrucțiunea să conțină 3 adrese (a). Primele 2 adrese sunt folosite pentru obținerea celor 2 operanzi asupra cărora se va efectua operația specificată de cîmpul Codul instrucțiunii. Rezultatul operației va fi depus pe adresa specificată de cîmpul Adresă rezultat.
   Să analizăm un exemplu. Presupunem că operațiile aritmetice și logice sunt codificate după cum urmează (pentru simplitate vom utiliza echivalentele zecimale ale cîmpurilor binare respective):
   01 - adunarea;
   02 - scăderea;
   03 - operația logică ȘI;
   04 - operația logică SAU.
   Instrucțiunea:
     01 100 110 215
va impune procesorul să adune numerele din locațiile 100 și 110 și să depună suma obținută în locația 215.
   Instrucțiunea:
     02 100 110 215
comunică procesorului că din numărul înscris în locația 100 se scade numărul din locația 110. Rezultatul obținut va fi depus în locația 215.
   În mod similar, instrucțiunea
     03 200 300 100
specifică operația logică ȘI asupra biților cuvintelor din locațiile 200 și 300. Rezultatul operației va fi depus în locația 100.
   Se observă că într-o instrucțiune nu se specifică valoarea operanzilor, ci adresele locațiilor în care pot fi găsiți operanzii respectivi. Acest fapt permite utilizarea unuia și aceluiași program pentru prelucrarea oricăror date inițiale. Faptul că instrucțiunile lucrează cu adrese al căror conținut trebuie prelucrat, și nu cu însuși conținutul, constituie un principiu fundamental al calculatoarelor numerice, care permite ca un program să fie elaborat și introdus în calculator independent de datele concrete asupra cărora se aplică.
   În formatul cu 3 adrese (a), adresele sunt specificate explicit. Pentru o reprezentare mai compactă a instrucțiunilor se utilizează specificarea implicită a unor adrese. În acest caz, cuvîntul instrucțiune nu conține un cîmp special pentru adresa implicită.
   Dacă rezultatul obținut în urma executării unei instrucțiuni se depinde pe adresa unuia dintre operanzi, formatul respectiv va avea numai 2 adrese (b). Prin urmare, adresa rezultatului este specificată implicit. De exemplu, instrucțiunea
     01 100 110
va impune procesorul să adune numerele din locațiile 100 și 110 și să depună suma obținută în locația 100. Evident, după înscrierea sumei, numărul inițial din locația 100 va fi suprimat.
   S-a constatat că formatul cu 2 adrese, în prezent cel mai răspîndit, permite scrierea de programe avînd un număr de instrucțiuni comparabil cu cel obținut atunci cînd s-ar utiliza mai multe adrese.
   Formatul cu o singură adresă (c) se utilizează în calculatoarele procesorul cărora include un registru special, denumit acumulator. În acumulator se păstrează primul operand și se depune rezultatul executării operației respective. Prin urmare, adresa primului operand și adresa rezultatului sunt specificate implicit. De exemplu, instrucțiunea cu o singură adresă
     01 100
va aduna numărul din acumulator cu numărul din locația 100, iar suma obținută va fi depusă în acumulator. Respectiv, numărul inițial din acumulator va fi suprimat.
   Instrucțiunile cu o singură adresă sunt eficiente din punctul de vedere al lungimii cuvîntului și al rapidității calculatorului. Totuși un program scris cu instrucțiuni avînd o singură adresă va conține mai multe instrucțiuni decît în cazul în care se folosesc instrucțiuni cu 2 sau 3 adrese.
   Menționăm că toate calculatoarele moderne pot avea instrucțiuni de diferite formate. Informația referitoare la formatul fiecărei instrucțiuni se indică în cîmpul Codul instrucțiunii.

Niciun comentariu:

Trimiteți un comentariu