Calcolatori elettronici/Le architetture a pipeline: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Calcolatori elettronici}} Per migliorare le prestazioni del processore, oltre ad aumentarne la frequenza, si può modificarne l'architettura. I processori si differenziano in bas...
 
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 17:
Il set di istruzioni deve comprendere istruzioni semplici, e le istruzioni devono avere un codice operativo di dimensione regolare in modo che la decodifica sia veloce. C'è un unico modo di indirizzamento, che si basa su un registro e una costante.
 
Tutte le istruzioni lavorano sui registri, tranne le istruzioni <ttcode>LOAD</ttcode> e <ttcode>STORE</ttcode> che rispettivamente leggono e scrivono tra la memoria e un registro. In questo modo si evitano istruzioni che effettuano accessi pesanti alla memoria. I RISC dispongono di un numero significativo di registri (~100).
 
Tipicamente l'[[Calcolatori elettronici/Unità di controllo|unità di controllo]] è cablata e non microprogrammata, grazie al fatto che la gestione dell'unità di elaborazione è più semplice. Un'unità di controllo cablata è inoltre più veloce e più piccola di una microprogrammata.
Riga 31:
Se alcune istruzioni richiedono di operare sul risultato dell'istruzione precedente, oppure le istruzioni in esecuzione in parallelo condividono degli operandi:
* <span style="text-decoration:underline;">soluzione hardware:</span> il processore aspetta che l'istruzione precedente finisca di accedere al dato condiviso;
* <span style="text-decoration:underline;">soluzione software:</span> il compilatore aggiunge delle istruzioni <ttcode>NOP</ttcode> → l'hardware è più semplice.
 
===Istruzioni di salto===
Nella pipeline vengono caricate le istruzioni in modo consecutivo → quando l'istruzione di salto scrive il nuovo valore nel PC, l'istruzione consecutiva nel frattempo è già stata caricata in pipeline:
* <span style="text-decoration:underline;">soluzione software:</span> il compilatore aggiunge delle istruzioni <ttcode>NOP</ttcode> in fase di compilazione;
* <span style="text-decoration:underline;">soluzione hardware:</span> il processore deve annullare l'esecuzione delle istruzioni in pipeline da saltare.