Come funziona una CPU: esecuzione di un’istruzione logica o artitmetica #0.4.5

Immaginiamo che il processore abbia un’istruzione analoga alla ”addi” del MIPS, più nello specifico ad una ”addi $r5, $r6, 23”.

Negli articoli precedenti abbiamo visto:

Da dove salta fuori l’immediato (ovvero la costante 23)? L’immediato è insito nel codice macchina dell’istruzione (in ogni processore è così). L’istruzione prevede di trasferire R6 in Y e di prendere i bit dell’IR che contengono l’immediato per trasferirli sul Bus interno. L’ALU riceve R6 ed i bit dell’IR ai propri ingressi, produce un risultato in Z che viene poi immagazzinato da R5.

Sequenza di microistruzioni:

  • R6out;
  • Yin;
  • (IRimm)out;
  • Add;
  • Zin;
  • Zout;
  • R5in;

istruzione

Consideriamo ora l’istruzione ”lw $r5, 8($r1)”.

La sequenza di mircroistruzioni necessarie è: Fetch (l’insieme di microistruzioni della fase di Fetch, precedentemente descritte), trasferimento di R1 sul Bus interno, acquisizione dell’immediato 8 dall’IR e suo trasferimento sul Bus interno, comunicazione alla ALU dell’esecuzione dell’istruzione di somma, acquisizione del risultato e sua memorizzazione in Z, trasferimento del valore contenuto in Z nel MAR attraverso il Bus interno, trasferimento del valore sull’ABus esterno dicendo alla Memoria di effettuare una lettura, attesa del segnale MFC, acquisizione del valore prodotto dalla Memoria e suo trasferimento in MDR, trasferimento del valore contenuto in MDR in R5.

La sequenza di segnali di controllo è:

  •  R1out;
  • Yin;
  • (IRimm)out;
  • Add;
  • Zin;
  • Zout;
  • MARin;
  • MARout;
  • RD (read del contenuto della parola corrispondente all’indirizzo sull ABus);
  • Aspetta MFC;
  • SEL = 0(per prendere il valore dal Data Bus esterno e metterlo in MDR);
  • MDRin;
  • MDR2out;
  • R5in;

Un’istruzione di tipo j comporta l’acquisizione dell’indirizzo dell’istruzione a cui saltare e sua conseguente scrittura sul PC.

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.