# CDC 3000

La CDC 3000 era una serie di sistemi prodotti dalla Control Data Corporation durante la metà degli anni 60, questi sistemi furono i successori dei CDC 1604 e dei CDC 924. Col tempo vennero prodotte due linee di sistemi, quella di fascia alta e quella di fascia bassa. CDC dismise la produzione dei sistemi 3000 all'inizio degli anni 70.
La linea di fascia alta della serie 3000 aveva parole di 48 bit. La prima macchina fu il CDC 3600 che venne presentato nel giugno del 1963. In seguito vennero presentati il CDC 3400 e il CDC 3800 nel dicembre del 1965. Queste macchine vennero sviluppate per applicazioni scientifiche ma vennero presto oscurate dalle macchine della linea CDC 6000 con parole di 60 bit.
La serie di fascia bassa della linea 3000 utilizzava parole a 24 bit. Queste erano basate sul precedente CDC 924, una versione a 24 bit del CDC 1604. Il primo CDC 3000 a basso costo fu il CDC 3200 che venne presentato nel maggio 1964. In seguito venne presentato il CDC 3100 (febbraio 1965) e il CDC 3300 (dicembre 1965). L'ultima macchina della serie fu il CDC 3500 che venne presentato nel 1967 e utilizzava circuiti integrati invece di componenti discreti. Le macchine 3300 e 3500 avevano la possibilità di utilizzare istruzioni in virgola mobile e istruzioni specializzate per compiti commerciali. Queste macchine erano progettate per svolgere compiti commerciali.
La serie 300 utilizzava spesso istruzioni di 24 bit in modo da poterne inserire due per parola, sebbene alcune istruzioni dovessero essere di 48 bit per poter accedere in modo agevole alla memoria. I modelli di fascia bassa della serie 3000 avevano solo un sottoinsieme del set di istruzione della serie 3000 e nella fattispecie le istruzioni a 24 bit. Quindi era possibile scrivere programmi per ogni modello 3000 o solo per quelli di fascia alta a seconda del set di istruzioni utilizzato. Inoltre le istruzioni erano compatibili con quelle del 1604 e 924 sebbene questi sistemi trattassero in modo diverso la rilocazione e le istruzioni commerciali. Tutti i sistemi 3000 utilizzavano delle memorie magnetiche.

## Architettura

I modelli di fascia bassa utilizzavano un'architettura a 24 bit. Le istruzioni erano lunghe 24 bit e avevano due registri per le operazioni, A e Q. Erano presenti quattro registri per gli indici, da R0 a R3 sebbene R0 fosse posto a 0 in hardware. Non esistevano registri per le condizioni interne del processore. Potevano essere gestiti direttamente 32.768 parole (24 bit) in memoria direttamente accessibili, e la gestione di più banchi commutabili era gestita. Configurazioni con due o con tre banchi era comune.
Ogni istruzione aveva un opcode di 6 bit, 1 per specificare il metodo di indirizzamento, due per indicare il registro degli indirizzi e 15 per l'indirizzo.
L'aritmetica era a complemento ad uno e quindi esisteva lo zero e lo zero negativo. I registri A e Q potevano essere combinati per creare un registro a 48 bit per certe operazioni aritmetiche.
Il processore del 3300 era in grado di eseguire circa 1 milione di operazioni per secondo, quindi aveva lo status di supercomputer nel 1965.

## Software

Il primo sistema operativo del 3300 era chiamato RTO OS. Tuttavia questo venne rimpiazzato rapidamente dal MSOS (Mass Storage OS). Il primo sistema operativo per CDC 3300 e CDC 3500 era il MASTER. Il MASTER aveva la gestione degli interrupt, gestiva un'ampia memoria e suppertava il multitasking.
Il sistema operativo chiamato REAL-TIME SCOPE venne sviluppato per le macchine di fascia bassa. Una versione basata sui dischi di SCOPE venne resa disponibile per la serie di fascia alta.
I linguaggi Fortran, COBOL e ALGOL erano disponibili. Il linguaggio assemby chiamato COMPASS era fornito da CDC.
Il sistema APL per la serie 3000 di fascia alta venne sviluppato dall'University of Massachusetts. L'APL venne reso disponibile anche agli altri utilizzatori della linea 3000.

## Set di caratteri

I sistemi operativi per i CDC 3xxx normalmente utilizzava 6 bit e quindi poteva gestire 64 simboli, che non comprendevano caratteri in minuscolo. Il set di caratteri conteneva l'estensione a 6 bit della codifica BCD spesso chiamata BCDIC (BCD interchange code). IBM in seguito estese il codice a 8 bit per creare "extended BCDIC", spesso chiamato codice EBCDIC. Il codice non prevedeva caratteri di controllo come il ritorno a capo o il fine linea, questi erano realizzati con la struttura del file.

## Curiosità

Oregon State University utilizzò un CDC 3300 da metà degli anni 60 fino al 1980. Utilizzava un sistema operativo chiamato OS3 (Oregon State Open Shop Operating System).
La U.S. Internal Revenue Service utilizzò per diversi anni dei sistemi CDC 3000
Versioni a velocità ridotta dei 3100, 3200 e 3300 vennero sviluppate per il mercato dell'est europa. Questi erano dipinti di grigio e vennero venduti come CDC 2100, 2200 e 2300.