Serie CDC 6000: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Riga 28:
Il processore centrale del CDC 6400 aveva un'unità aritmetica unificata in grado di eseguire un'operazione alla volta. A seconda della tipologia di istruzione questa poteva richiedere da cinque cicli di clock (somma intera a 18 bit) fino a 68 cicli di clock (somme di una stringa a 60 bit). Il CDC 6500 era formalmente identico al 6400 ma aveva due processori del CDC 6400 e quindi aveva una potenza di calcolo quasi doppia del 6400.
 
Il CDC 6600 come il 6400 aveva un solo processore centrale,. Tuttavia questo era molto più prestante di quello utilizzato dal 6400. Il processore era formato da 10 unità di esecuzione indipendenti e sviluppate per eseguire delle operazioni specifiche. Le unità erano divise in una di gestione dei salti, una di logica booleana, uno shifter, un sommatore intero, un sommatore in virgola mobile, un divisore in virgola mobile, due moltiplicatori in virgola mobile e due sommatori incrementali a 18 bit. La più veloce era l'unità di somma incrementale che impiegava 3 cicli di clock, mente la più lenta era l'unità di divisione dei numeri in virgola mobile che richiedeva 29 cicli di clock.
The CDC 6600 computer, like the CDC 6400, has just one central processor. However, its central processor offered much greater efficiency. The processor was divided into 10 individual ''functional units'' - each of which was designed for a specific type of operation. The function units provided were: branch, Boolean, shift, long integer add, floating add, floating divide, two floating multipliers, and two ''increment'' (18-bit integer add) units. Functional unit latencies were between a very fast 3 clock cycles (increment add) and 29 clock cycles (floating divide).
 
Il processore del 6600 poteva iniziare l'esecuzione di un'istruzione per ogni ciclo di clock se erano disponibili le risorse (dati e unità funzionali). La gestione delle risorse disponibili era svolta dallo [[scoreboarding]]. Inoltre il processore aveva una pipeline a 8 stadi in gradi di contenere fino a 32 istruzioni e quindi in grado in grado di racchiudere al suo interno i cicli più piccoli eliminando gli accessi alla memoria principale.
The 6600 processor could issue a new instruction every clock cycle - assuming that various processor (functional unit, register) resources were available. These resources were kept track of by a ''scoreboard'' mechanism. Also contributing to keeping the issue rate high was an ''instruction stack'' - which [[cache]]d the contents of several instruction words. Small loops could reside entirely within the stack - eliminating memory latency from instruction fetches.
 
Sia il 6400 che il 6600 avevano un clock di 10 MHz (100 ns). Data la natura seriale del processore del 6400 le sue prestazioni dipendevano in maniera significativa dall'ordine delle istruzione da eseguire ma comunque era di circa 1 [[MIPS]]. La somma in virgola mobile richiedeva 11 cicli mentre la moltiplicazione ne utilizzava 57 di cicli. Il numero di operazioni in virgola mobile dipendevano molto dalle operazioni utilizzata ma si attestavano in un programma generico su circa 200.000 al secondo. Il 6600 era molto più veloce. Con un buon compilatore e con un'adeguata schedulazione delle istruzioni il sistema poteva sviluppare fino a 10 milioni di operazioni per secondo. La somma in virgola mobile richiedeva 4 cicli mentre la moltiplicazione in virgola mobile richiedeva 10 cicli (il sistema aveva due unità per le moltiplicazioni per processarne due istruzioni in parallelo) Il 6600 poteva sviluppare fino a 2-3 [[megaflops]].
Both the 6400 and 6600 CPUs had a cycle time of 100 ns (10 mhz). Due to the serial nature of the 6400 CPU, its exact speed was heavily dependant on instruction mix, but generally around 1 [[instructions per second|MIP]]. Floating adds were fairly fast at 11 clocks, however floating multiply was very slow at 57 clocks. Thus its floating point speed would depend heavily on the mix of operations and could be under 200k [[FLOPS]]. The 6600 was, of course, much faster. With good compiler instruction scheduling, the machine could approach its theoretical peak of 10 MIPS. Floating point adds took 4 clocks, and floating point multiplies took 10 clocks (but there were two multiply functional units - so two operations could be processing at the same time.) The 6600 could therefore have a peak floating point speed of 2-3 MFLOPS.
 
Il 6700 combinava il meglio dei precedenti sistemi. Come il 6500 aveva due processori centrali, una era il processore del 6400/6500 con la gestione aritmetica unificata il secondo processore era quello del 6600. La combinazione rendeva il CDC 6700 il più potente sistema della linea CDC 6000.
The CDC 6700 computer combined the best futures of the other three computers. Like the CDC 6500, it had two central processors. One was a CDC 6400/CDC 6500 central processor with the unified arithmetic section; the other was the more efficient CDC 6600 central processor. The combination made the CDC 6700 the fastest and the most powerful of the four CDC 6000 series.
 
==Central memory==