Appunti Wiki
Advertisement
Nota disambigua
Il titolo di questa voce non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è A3. I processori.
Blue Glass Arrow RTL  A2. Il progetto di circuiti logiciCrystal Clear app kfm home  Calcolatori elettroniciBlue Glass Arrow  A4. Architettura 8086
Gli appunti che seguono sono contenuti nella sottopagina /sub (modifica · cronologia · aggiorna)

2 Il processore è un dispositivo capace di:

L'importanza di ciascuna di queste capacità dipende dalla destinazione d'uso del processore.

Elaborazione delle istruzioni[]

Exquisite-kfindPer approfondire, vedi la pagina Ciclo di fetch-execute su Wikipedia.

Fase di fetch[]

5 L'instruction set è l'insieme delle operazioni che il processore è in grado di eseguire. A ogni operazione corrisponde una certa istruzione in memoria (es. ADD). Durante la fase di fetch il processore legge una di queste istruzioni dalla memoria tramite un bus esterno:

  1. il Program Counter (PC) contiene l'indirizzo di memoria della nuova istruzione da leggere;
  2. l'Address Register (AR) passa il nuovo indirizzo dal PC alla memoria;
  3. la memoria restituisce la porzione di codice corrispondente all'indirizzo specificato dal processore;
  4. 10 il Data Register (DR) memorizza[1] nell'Instruction Register (IR) la porzione di codice proveniente dalla memoria, pronta ad essere decodificata ed eseguita dal processore;
  5. il PC viene aggiornato all'indirizzo dell'istruzione successiva a quella letta.

Fase di esecuzione[]

L'unità di controllo, tramite il bus interno, dopo aver ricevuto l'istruzione dall'IR, ha il compito di pilotare i vari moduli, cioè fornire segnali di controllo ad essi, per le operazioni ad es. di caricamento degli operandi, esecuzione delle istruzioni, acquisizione dei risultati, ecc. La ALU è il modulo che esegue una serie di operazioni aritmetiche/logiche su operandi. I registri AC forniscono gli operandi alla ALU e ricevono i risultati delle operazioni.

9 All'interno di ogni istruzione si possono identificare delle microistruzioni elementari (es. accesso ai registri, fetch, ecc.), ciascuna delle quali richiede un colpo di clock.

37 Il tempo di esecuzione di un'istruzione, misurato in colpi di clock, dipende da:

  • tipo di istruzione: quale istruzione eseguire (es. MOV, ADD)?
  • tipo di operandi: l'operando si trova nei registri (accesso più veloce) o in memoria (ritardo del fetch)?
  • modo di indirizzamento: l'indirizzo passato è diretto (es. VAR) o richiede una somma (es. vett[DI])?

7 Gli operandi di una generica istruzione possono essere contenuti nei registri (Rx) o nella memoria (M[xx]), a seconda di ciò che è richiesto dall'operazione letta dalla memoria. I registri sono dei moduli di memoria costituiti da flip-flop che risiedono all'interno del processore. Anche se il numero di registri è finito, il tempo di accesso a un registro è molto minore del tempo di accesso a una cella di memoria, a causa dei colpi di clock necessari durante l'operazione di fetch. Il compilatore di C decide automaticamente se utilizzare i registri o la memoria, privilegiando quando possibile i primi: nel caso in cui l'operando si trova in memoria, durante la fase di esecuzione dell'operazione è necessario effettuare un ulteriore fetch per l'operando.

29 Per ridurre i tempi di esecuzione, mentre l'execution unit esegue un'operazione la bus interface unit si occupa del fetch dell'istruzione successiva.

Note[]

  1. Il DR viene usato in generale per il trasferimento di dati tra la memoria e il processore: un ulteriore segnale di controllo indica se l'operazione che deve effettuare la memoria è la lettura o la scrittura.
Blue Glass Arrow RTL  A2. Il progetto di circuiti logiciCrystal Clear app kfm home  Calcolatori elettroniciBlue Glass Arrow  A4. Architettura 8086
Advertisement