TechTarget Tech InDepth

Accumulatori e CPU: quale ruolo nelle future applicazioni di calcolo

Nel calcolo a più fasi tradizionale, memorizzavano risultati parziali per agevolare l’ottenimento di quello finale. Con l’arrivo delle CPU moderne, gli accumulatori sono stati ribattezzati e hanno cambiato ruolo. Restano elementi importanti per velocizzare operazioni di computazione complesse ma sempre soggetti a evoluzioni legate all’ondata di innovazione in corso.

Pubblicato il 13 Set 2022

Accumulatori e CPU

Più che di accumulatore, oggi si parla in generale di registro. Questo termine, però, ne indica una particolare tipologia: quella per la memorizzazione intermedia a breve termine di dati aritmetici e logici nell’unità centrale di elaborazione (CPU) di un computer.

Il suo ruolo è quello di contenere i risultati di ciascuna operazione parziale durante l’effettuazione di calcoli a più fasi. Questi dati vengono progressivamente sovrascritti dopo ogni operazione, ma devono essere temporaneamente custoditi per garantire l’ottenimento del risultato finale.

In un’operazione che prevede la somma di più numeri, per esempio, l’accumulatore conterrà il risultato dell’addizione tra i primi due numeri, poi sostituito da quello ottenuto aggiungendo il successivo. Si prosegue così fino ad arrivare al totale finale, che verrà però scritto nella memoria principale o in un altro registro.

Accumulatore nei sistemi di calcolo tradizionali: utilizzo e vantaggi

Una CPU con un’architettura accumulator-based memorizza sempre i risultati intermedi dei calcoli in questo registro speciale, anche se ne ha molti altri. Quando si parla di 1-operand machine ci si riferisce a una macchina che usa gli accumulatori per velocizzare i calcoli. Senza di essi, infatti, in una operazione a più fasi, la CPU sarebbe costretta a scrivere il risultato di ogni calcolo nella memoria principale per poi rileggerlo per utilizzarlo nello step successivo. Un iter potenzialmente scomodo e lungo, soprattutto quando i passaggi diventano numerosi.

La memoria principale di un computer è più grande di un accumulatore e si basa su una tecnologia più lenta e meno costosa. L’accedervi richiede più tempo e rallenta sia la velocità di elaborazione che le prestazioni, i risultati vengono quindi generati a una velocità inferiore. È utilizzando un accumulatore per la memoria intermedia che li si può ottenere in tempi ragionevoli e competitivi.

FIGURA 1: Funzionamento di un accumulatore. È simile a quello di un registro ed è dedicato alla memorizzazione intermedia a breve termine dei dati aritmetici e logici nella cache di una CPU.

Evoluzione e futuro degli accumulatori

Agli albori dell’informatica, l’accumulatore era parte integrante dei sistemi di calcolo perché rappresentava un elemento indispensabile per conservare temporaneamente i valori intermedi per i requisiti di elaborazione inferiori.

Il primo computer elettronico digitale programmabile al mondo, l’ENIAC (Electronic Numerical Integrator And Computer) aveva più di una dozzina di accumulatori integrati nella sua CPU. Anche altri primi computer erano macchine ad accumulatori, tra cui:

  • IBM 701
  • IBM 650
  • IBM 7070
  • PDP-6 e PDP-10 di Digital Equipment Corp. (DEC)
  • Hewlett-Packard (HP) 2100

Con il progredire della tecnologia informatica e delle CPU, l’accumulatore è diventato un elemento obsoleto. Le architetture di calcolo più recenti e i progetti multicore tendono a evitare il termine accumulatore sostituendolo con “general-purpose register”.

Le CPU moderne sono poi spesso macchine a 2-operand o 3-operand, con non uno ma più registri per gli operand aggiuntivi. Questi elementi vengono utilizzati sia come origine che come destinazione dei calcoli, per cui non sono considerate macchine ad accumulo.

Nei computer moderni, qualsiasi general-purpose register può funzionare come accumulatore, in quanto offre una maggiore flessibilità. In alcuni speciali processori, però, gli accumulatori sono tuttora utilizzati in modo tradizionale per la memorizzazione di dati intermedi.

Ruolo degli accumulatori in applicazioni non informatiche

Il termine accumulatore è utilizzato anche in molte applicazioni e attività non informatiche.

  • In Ingegneria elettrica definisce un dispositivo di accumulo di energia come una batteria ricaricabile o un ultracapacitore.
  • Nel Trading azionario definisce un contratto o un accordo che prevede l’acquisto o la vendita di azioni.
  • Nel Gioco d’azzardo definisce una scommessa che preveder più puntate.
  • In Idraulica definisce un dispositivo di accumulo di energia.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 5