In cosa si misura la memoria del computer?

Originariamente, la memoria era misurata in parole, che sarebbe tipicamente la larghezza dei dati dei registri nel computer. I computer di prima generazione (a valvole) e di seconda generazione (transistorizzati) di solito avevano lunghezze di parole abbastanza ampie, come 36 bit (IBM 701, 704, 709/7090). L'IBM 7090 aveva 32K parole di memoria centrale (RAM), equivalente a 144 KB oggi. Su queste macchine, spesso due istruzioni erano impacchettate in ogni parola.

Alcuni primi business computer avevano variazioni di memoria decimale, come l'UNIVAC I (1000 parole di 12 caratteri a 6 bit) e l'IBM 650 (4000 parole, ciascuna un numero firmato a 10 cifre o cinque caratteri).

Digital Equipment (DEC) introdusse il primo minicomputer (PDP-8) nel 1964, con 4K parole di memoria da 12 bit ciascuna. Ogni istruzione richiedeva anche una parola. Due caratteri a 6 bit (solo maiuscoli) potevano stare in una parola.

IBM cambiò il gioco lo stesso anno quando introdusse la sua linea di computer mainframe IBM System/360. Ognuno aveva una memoria divisa in caratteri a 8 bit che chiamavano byte. (I byte erano stati precedentemente usati per nominare pezzi di memoria a 6 bit sulle macchine precedenti). Ogni byte poteva anche contenere un carattere EBCDIC a 8 bit, che IBM usava al posto dell'ASCII.

Le memorie sulle loro macchine introdotte negli anni '60 variavano da 8KB (8192 byte) a 4.096 KB (4.194.304 byte), o 4 MB. Una parola ora si riferiva a 32 bit, con 16 bit chiamati mezza parola. Le istruzioni erano di lunghezza variabile (da due a sei byte, o da una a tre mezze parole).

L'UNIVAC 1107 (seconda generazione) e 1108 (terza generazione) però usavano ancora una memoria a 36 bit, sei caratteri maiuscoli per parola. A causa del passaggio ai caratteri a 8 bit da parte di IBM, il 1108 supportava anche quattro caratteri ASCII per parola, usando un formato non standard a 9 bit.

Da quando sono arrivati i microprocessori nel 1971, la memoria RAM è stata quasi universalmente misurata in byte a 8 bit, kilobyte (KB, o 1024 byte), megabyte (MB, o 1024 KB o 1024*1024 byte) e gigabyte (GB, o 1024 MB o 1024*1024*1024 byte). Un giorno vedremo petabyte (PB, o 1024 TB).

Prima ho menzionato solo la memoria RAM. Anche se la maggior parte dei microcomputer usa l'architettura von Neumann, dove programmi e dati risiedono nella stessa memoria (come il vostro desktop o laptop), molti microcontrollori usati nei sistemi embedded usano l'architettura Harvard, in cui la memoria programmi e dati sono separati. In questo caso, la larghezza della memoria delle istruzioni non deve essere la stessa della RAM.

Per esempio, la larghezza di molti dei microcontrollori PIC a 8 bit della Microchip usa istruzioni a 14 bit. Per esempio, il PIC16F887 ha 8K (8192) parole di memoria flash di programma a 14 bit, che è equivalente a (14/8*8192)/1024 = 14 KB. Ha anche 368 byte (non KB) di RAM.

main-qimg-bc0486f77afee0fcb52d258f17379bde