Calcolatori elettronici/I processori

Da WikiAppunti.
Jump to navigation Jump to search
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è A3. I processori.
/I processori}}  [[{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}/Il progetto di circuiti logici{{#ifcategory:Traduzioni|/I processori||/I processori}}|A2. Il progetto di circuiti logici]]/I processori}}  [[{{#ifcategory:Traduzioni|/I processori|Calcolatori elettronici|/I processori}}|{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}]][[{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}/Architettura 8086{{#ifcategory:Traduzioni|/I processori||/I processori}}|A4. Architettura 8086]]  /I processori}}

2 Il processore è un dispositivo capace di:

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

Elaborazione delle istruzioni[modifica | modifica sorgente]

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

Fase di fetch[modifica | modifica sorgente]

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[modifica | modifica sorgente]

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[modifica | modifica sorgente]

  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.
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è A3. I processori.
/I processori}}  [[{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}/Il progetto di circuiti logici{{#ifcategory:Traduzioni|/I processori||/I processori}}|A2. Il progetto di circuiti logici]]/I processori}}  [[{{#ifcategory:Traduzioni|/I processori|Calcolatori elettronici|/I processori}}|{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}]][[{{#ifcategory:Traduzioni||Calcolatori elettronici|/I processori}}/Architettura 8086{{#ifcategory:Traduzioni|/I processori||/I processori}}|A4. Architettura 8086]]  /I processori}}