# ACS-1

L'ACS-1 e l'ACS-360 furono due supercomputer sviluppati da IBM. Questi facevano parte del progetto Advanced Computing Systems, un progetto avviato nel 1961 e terminato nel 1969. Sebbene i due computer non furono mai terminati e quindi non furono commercializzati sistemi ACS, il progetto permise di esplorare nuove innovative tecniche di elaborazione che furono utilizzate in molti altri progetti e che si trovano in praticamente tutti i sistemi ad alte prestazioni attuali. Molte idee nate in questo progetto influenzarono lo sviluppo del sistema IBM RS/6000 e del recente paradigma explicitly parallel instruction computing (EPIC) utilizzato da Intel e HP nei processori Itanium.

## Storia

Il progetto ACS venne avviato nel 1961 con il nome di Project Y. L'obiettivo del progetto era la costruzione di una macchina cento volte più rapida del sistema Stretch. Inizialmente il progetto venne sviluppato presso i laboratori IBM Watson Research Center. Molti pionieri dell'informatica parteciparono al progetto, tra i maggiori si distinsero John Cocke, Herb Schorr, Frances Allen, Gene Amdahl, e Lynn Conway.
Nel maggio 1968 IBM decise di modificare il progetto e includere nelle specifiche la compatibilità con i sistemi S/360 e quindi cambiò il nome al sistema che da ACS-1 divenne ACS-360. Durante il periodo di massimo lavoro il progetto veniva seguito da più di 200 persone tra ingegneri e staff di supporto..
La richiesta di compatibilità con la linea S/360 rese problematico lo sviluppo del progetto dato che il set di istruzioni di questi sistemi mal si conciliavano con le soluzioni tecniche sviluppate per il progetto ACS, rendendo il progetto complesso e deprimendone le prestazioni. Nel maggio 1969 IBM decise di cancellare il progetto, tuttavia molte delle innovazioni sviluppate per il progetto furono incluse nella serie di macchine IBM RS/6000 (ora nota come linea IBM System p). Le idee sviluppate per il progetto influenzarono lo sviluppo di molte architetture e macchine successive.

## Influenze

Sebbene né l'architettura ACS-1 né l'architettura ACS-360 furono completate, IBM spinse gli ingegneri a sviluppare e utilizzare le tecniche nate in questo progetto per la realizzazione di altri supercomputer. Tra le tecniche nate si notano alcune soluzioni che sono alla base della filosofia di sviluppo dei moderni processori RISC e delle moderne architetture per calcolatore. Tra le molte tecniche sviluppate si segnalano:
* Forte riduzione del numero di porte logiche per ogni stadio della pipeline in modo da ridurre il ciclo di clock ed aumentare quindi la frequenza di funzionamento del sistema.
* Stretta integrazione tra processore e memoria per ridurre le latenze
* Memoria cache per ridurre i tempi di I/O
* Compilatori con integrate tecniche di ottimizzazione del codice
* Sistema operativo con memoria virtuale integrata
* Decodifica di più istruzioni in parallelo (primo sistema a farlo)
* Utilizzo della branch target buffer (primo sistema ad averla)
* Implementazione multithreading in hardware (primo sistema IBM)
* Scheduling dinamico delle istruzioni/esecuzione fuori ordine
* Rinominazione dei registri in hardware
* Istruzioni predicative
* Predizione delle diramazioni
* Level-sensitive Scan Design (primo sistema IBM)
* Hard disk a testina fissa
* Circuiti LSI ad alta velocità raffreddati ad aria
* Programmi di simulazione avanzata per lo sviluppo dei processori