Architetture dei processori/Arithmetic Logic Unit: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m + categoria |
Nessun oggetto della modifica |
||
Riga 5:
L'Arithmetic Logic Unit (ALU) è un'unità dedita allo svolgimento di operazioni matematiche ed è formata da un insieme di porte logiche opportunamente collegate. Queste porte logiche nel loro complesso provvedono ad eseguire tutte le operazioni aritmetiche e logiche gestite dal microprocessore.
Le prime ALU erano in grado di eseguire nativamente solo le operazioni più semplici (addizione, sottrazione e shifting di bit ecc.) e le operazioni logiche booleane (AND, OR, XOR e NOT). Le operazioni più complesse come le operazioni di moltiplicazioni o divisione venivano emulate
Per esempio nei primi processori per realizzare le divisioni veniva utilizzata l'unità di sottrazione per emulare la divisione. Questa soluzione pur essendo molto semplice ed economica da implementare era molto lenta. Nei primi processori le somme e le moltiplicazioni venivano realizzate con semplice reti logiche formate da porte AND o OR. Queste reti erano veloci da realizzare ma fornivano i risultati lentamente dato che i riporti dovevano propagarsi e nelle implementazioni più semplici i riporti per propagarsi in modo completo lungo tutta la rete impiegavano un tempo pari al numero di bit da processare. Le implementazioni successive invece utilizzano reti logiche più complesse che effettuano una serie di precalcoli sui dati e sui riporti in modo da parallelizzare le operazione ed rendere le ALU più veloci. Ovviamente questi circuiti sono più complessi e quindi più costosi da realizzare.
|