CDC 6600 - CDC 6600

CDC 6600
Přehled CDC 6600.png
3D vykreslování s postavou jako měřítkem
Design
Výrobce Control Data Corporation
Návrhář Seymour Cray
Datum vydání Září 1964
Prodané jednotky 100+
Cena 2 370 000 USD (ekvivalent 19 780 000 USD v roce 2020)
Kryt
Rozměry Výška: 2 000 mm (79 palců) Šířka skříně
: 810 mm (32
palců ) Délka skříně: 1 710 mm (67 palců)
Celková šířka: 4 190 mm (165 palců)
Hmotnost asi 12 000 lb (6,0 čistých tun; 5,4 t)
Napájení 30 kW při 208 V 400 Hz
Systém
Operační systém ROZSAH, KRONOS
procesor 60bitový procesor @ 10 MHz
Paměť Až 982 kilobajtů (131 000 x 60 bitů)
MIPS 2 MIPS
Předchůdce CDC 1604
Nástupce CDC 7600

Ortografický 2-pohledový výkres CDC 6600 se škálováním
CDC 6600. Za systémovou konzolí jsou dvě „ramena“ skříně ve tvaru znaménka plus s otevřenými kryty. Uvnitř jsou vidět jednotlivé moduly. Stojany držící moduly jsou sklopné, aby umožňovaly přístup k stojanům za nimi. Každé rameno stroje mělo až čtyři takové regály. Vpravo je chladicí systém.
Systémová konzole CDC 6600 . Tento design byl zásadní inovací v tom, že obrazovky a klávesnice nahradily stovky přepínačů a blikajících světel běžných v současných systémových konzolách. Tyto displeje byl řízen prostřednictvím softwaru, a to především zajistit zobrazení textu na výběr ze tří velikostí. Poskytl také způsob, jak kreslit jednoduchou grafiku. Na rozdíl od modernějších displejů byla konzola spíše vektorovým kreslícím systémem než rastrovým systémem . Konzoly měly jediné písmo , kde každý glyf byla řada vektorů. Automatické doplňování částí klíčových slov umožnilo rychlejší zadávání příkazů.

CDC 6600 byla vlajkovou lodí ze série 6000 na sálových počítačových systémů vyrobené Control Data Corporation . Obecně považován za první úspěšný superpočítač překonal předchozího rekordmana v oboru, IBM 7030 Stretch , třikrát. S výkonem až tři  megaFLOPS byl CDC 6600 nejrychlejším počítačem na světě v letech 1964 až 1969, kdy se tohoto stavu vzdal svému nástupci CDC 7600 .

První CDC 6600 byly dodány v roce 1965 do Livermore a Los Alamos . Rychle se staly nezbytným systémem špičkových vědeckých a matematických počítačů, přičemž systémy byly dodávány Courant Institute of Mathematical Sciences , CERN , Lawrence Radiation Laboratory a mnoha dalším. Celkem bylo dodáno nejméně 100 kusů.

CDC 6600 je vystaven v Computer History Museum v Mountain View v Kalifornii . Jediný běžící stroj řady CDC 6000 byl obnoven společností Living Computers: Museum + Labs .

Historie a dopad

První produkty CDC byly založeny na strojích navržených v ERA , o jejichž aktualizaci byl Seymour Cray požádán po přechodu na CDC. Po experimentálním stroji známém jako Malý znak v roce 1960 dodali CDC 1604 , jeden z prvních komerčních tranzistorových počítačů a jeden z nejrychlejších strojů na trhu. Vedení bylo potěšeno a připravilo plány pro novou sérii strojů, které byly více přizpůsobeny obchodnímu využití; například by obsahovaly pokyny pro zpracování znaků a uchovávání záznamů. Craye takový projekt nezajímal a stanovil si za cíl vyrobit nový stroj, který by byl 50krát rychlejší než 1604. Když byl požádán o vyplnění podrobné zprávy o plánech za jeden a pět let do budoucnosti, odepsal že jeho pětiletým cílem bylo „vyrobit největší počítač na světě“, „největší“ v té době byl synonymem „nejrychlejšího“ a jeho roční plán byl „být pětinou cesty“.

Vezmeme svůj základní tým do nových kanceláří okolních původního sídla CDC, začali experimentovat s vyššími verzemi kvalitativních „levné“ tranzistorů Cray užívaly v roce 1604. Po dlouhém experimentování, zjistili, že tam byl prostě žádný způsob, germanium bázi tranzistory mohly běžet mnohem rychleji než ty, které byly použity v roce 1604. „Obchodní stroj“, který původně vedení chtělo, nyní tvořený řadou CDC 3000 , je tlačil asi tak daleko, jak jen mohli. Cray se pak rozhodl, že řešením bude pracovat s tehdy novými tranzistory na bázi křemíku od společnosti Fairchild Semiconductor , které právě přicházely na trh a nabízely dramaticky vylepšený spínací výkon.

Během tohoto období se CDC rozrostlo ze startupu na velkou společnost a Cray byl stále více frustrován tím, co považoval za směšné požadavky na řízení. Věci se staly výrazně napjatějšími v roce 1962, kdy se nový CDC 3600 začal blížit produkční kvalitě, a zdálo se, že je přesně tím, co management chtěl, když to chtěli. Cray nakonec řekl generálnímu řediteli CDC Williamu Norrisovi, že se něco musí změnit, jinak společnost opustí. Norris cítil, že je příliš důležitý na to, aby prohrál, a dal Crayovi zelenou, aby zřídil novou laboratoř, kdekoli chtěl.

Po krátkém hledání se Cray rozhodl vrátit do svého rodného města Chippewa Falls ve Wisconsinu , kde koupil pozemek a založil novou laboratoř.

Ačkoli tento proces představoval poměrně dlouhé zpoždění v konstrukci jeho nového stroje, jakmile byl v nové laboratoři, bez zásahů managementu, věci začaly rychle postupovat. Do této doby se nové tranzistory staly docela spolehlivými a moduly s nimi postavené měly tendenci správně fungovat na první pokus. 6600 začal nabývat formy, přičemž Cray pracoval po boku Jima Thorntona, systémového architekta a „skrytého génia“ 6600.

Za dobu životnosti stroje bylo prodáno více než 100 CDC 6600. Mnoho z nich odešlo do různých laboratoří souvisejících s jadernými zbraněmi a dost jich se dostalo do univerzitních výpočetních laboratoří. Cray okamžitě obrátil pozornost k jeho výměně, tentokrát stanovil cíl desetinásobek výkonu 6600, dodávaného jako CDC 7600 . Pozdější počítače CDC Cyber 70 a 170 byly celkově velmi podobné CDC 6600 a byly téměř úplně zpětně kompatibilní.

6600 byl třikrát rychlejší než předchozí držitel rekordu, IBM 7030 Stretch ; to znepokojilo IBM . Tehdejší generální ředitel Thomas Watson mladší napsal svým zaměstnancům zprávu: „Minulý týden společnost Control Data ... oznámila systém 6600. Chápu, že v laboratoři, která tento systém vyvíjí, je pouze 34 lidí včetně školníka. Z toho 14 jsou inženýři a 4 jsou programátoři ... Na rozdíl od této skromné ​​snahy s našimi rozsáhlými vývojovými aktivitami nechápu, proč jsme ztratili vedoucí postavení v oboru tím, že jsme nechali někoho jiného nabídnout nejvýkonnější počítač na světě. “ Crayova odpověď byla sarkastická: „Vypadá to, že pan Watson odpověděl na svou vlastní otázku.“

Popis

Typické stroje té doby používaly k pohonu celého systému jeden procesor . Typický program nejprve načte data do paměti (často pomocí předtočeného kódu knihovny), zpracuje je a pak je zapíše zpět. To vyžadovalo, aby procesory byly poměrně složité, aby zvládly kompletní sadu instrukcí, k jejichž provedení by byly povolány. Složitý CPU znamenal velký CPU, což zavedlo zpoždění signalizace, zatímco informace mezi jednotlivými moduly vytvářely. Tato zpoždění stanovila maximální horní hranici výkonu, protože stroj mohl pracovat pouze při rychlosti cyklu, která umožňovala signálům dorazit na další modul.

Cray zvolil jiný přístup. V té době CPU obecně běžely pomaleji než hlavní paměť, ke které byly připojeny. Například procesoru může znásobit dvě čísla 15 cyklů, zatímco každý přístup k paměti trval pouze jeden nebo dva cykly. To znamenalo, že byla významná doba, kdy byla hlavní paměť nečinná. Právě v této nečinnosti 6600 exploatovalo.

CDC 6600 používal zjednodušený centrální procesor (CP), který byl navržen tak, aby prováděl matematické a logické operace co nejrychleji, což vyžadovalo, aby byl postaven co nejmenší, aby se zkrátila délka kabeláže a související zpoždění signalizace. To vedlo k (obvykle) hlavnímu šasi stroje ve tvaru kříže s plošnými spoji pro CPU uspořádanými blízko středu a výsledkem byl mnohem menší CPU. V kombinaci s vyššími rychlostmi přepínání křemíkových tranzistorů běžel nový CPU na 10 MHz (cyklus 100 ns), což je asi desetkrát rychleji než jiné stroje na trhu. Kromě toho, že hodiny jsou rychlejší, jednoduchý procesor prováděl instrukce v menším počtu hodinových cyklů; CPU by například mohlo dokončit násobení v deseti cyklech.

CPU podporovalo deset 12bitových 4 KiB periferních procesorů (PP), každý s přístupem ke společnému fondu 12 I/O kanálů , který zpracovával vstup a výstup a také řídil, jaká data byla odeslána do centrální paměti ke zpracování CP. PP byly navrženy pro přístup k paměti v dobách, kdy byl CPU zaneprázdněn prováděním operací. To jim umožnilo provádět vstup/výstup v podstatě zdarma, pokud jde o čas centrálního zpracování, což CPU maximálně zaměstnávalo.

6600 CP používal 60bitové slovo a jedničkovou komplementaci celých čísel, něco, co pozdější stroje CDC používaly do konce 80. let, což z nich dělalo poslední systémy kromě některých DSP využívajících tuto architekturu.

Později CDC nabídlo možnosti, pokud jde o počet a typ CP, PP a kanálů, např. CDC 6700 měl 6400 CP a 6600 CP.

Periferní procesory (charakteristika)

CPU však mohl provést pouze omezený počet jednoduchých pokynů. Typický CPU té doby měl složitou sadu instrukcí , která obsahovala instrukce pro zvládnutí všech běžných úkolů „úklidu“, jako je přístup do paměti a vstup/výstup . Cray místo toho implementoval tyto instrukce do samostatných, jednodušších procesorů věnovaných výhradně těmto úkolům, takže CPU měl mnohem menší sadu instrukcí. Jednalo se o první z toho, co se později začalo říkat redukovaný počítač s instrukční sadou (RISC).

Tím, že CPU, periferní procesory (PP) a I/O mohou pracovat souběžně, design výrazně zlepšil výkon stroje. Za normálních podmínek by stroj s několika procesory také stál mnohem více. Klíčem při návrhu 6600 bylo, aby byly I/O procesory, známé jako periferní procesory (PP), co nejjednodušší. PPS byly založeny na jednoduchém 12bitovým CDC 160-A , který běžel mnohem pomaleji než CPU, sbírat data, a přenášet ji jako nárazech do hlavní paměti při vysoké rychlosti přes vyhrazeného hardwaru.

Těchto 10 PP bylo implementováno virtuálně; hardware CPU byl pouze pro jeden PP. Tento hardware CPU byl sdílen a provozován na sadách registrů 10 PP, které reprezentovaly každý z 10 stavů PP (podobné moderním vícevláknovým procesorům). Válec registru PP by se „otáčel“, přičemž každá sada registrů PP by byla prezentována „slotu“, který by zabíral skutečný procesor PP. Sdílený CPU by vykonal celou nebo část instrukce PP, načež by se hlaveň znovu „otočila“, což by představovalo další sadu registrů PP (stav). K dokončení instrukce bylo zapotřebí více „otáček“ hlavně. K úplné „rotaci“ hlavně došlo za 1 000 nanosekund (100 nanosekund na PP) a instrukce mohla trvat jednu až pět „otáček“ hlavně, která měla být dokončena, nebo více, pokud šlo o instrukci pro přenos dat.

Architektura nastavená podle instrukcí

Základem procesoru 6600 je to, čemu by se dnes říkalo systém RISC , ve kterém je procesor naladěn na poměrně jednoduché pokyny s omezeným a přesně definovaným přístupem do paměti. Filozofií mnoha dalších strojů bylo používání instrukcí, které byly komplikované - například jedna instrukce, která by přinesla operand z paměti a přidala ho k hodnotě v registru. V 6600 by načítání hodnoty z paměti vyžadovalo jednu instrukci a její přidání by vyžadovalo druhou. Zatímco teoreticky je pomalejší kvůli dodatečným přístupům k paměti, skutečnost, že v dobře naplánovaném kódu by mohlo být souběžně zpracováváno více instrukcí, tento náklad snížilo. Toto zjednodušení také přimělo programátory, aby si byli velmi dobře vědomi svých přístupů do paměti, a proto záměrně kódovali, aby je co nejvíce omezili.

Modely

Řada CDC 6000 zahrnovala čtyři základní modely, CDC 6400 , CDC 6500 , CDC 6600 a CDC 6700. Modely řady 6000 se lišily pouze svými CPU, které byly dvojího druhu, 6400 CPU a 6600 PROCESOR. CPU 6400 měl spíše jednotnou aritmetickou jednotku než diskrétní funkční jednotky . Jako takový nemohl překrývat časy provádění pokynů. Například v CPU 6400, pokud instrukce přidání bezprostředně následovala po instrukci násobení, instrukci přidání nebylo možné spustit, dokud instrukce násobení nebyla dokončena, takže čistý čas provedení těchto dvou instrukcí by byl součtem jejich jednotlivých časů provedení. Procesor 6600 měl několik funkčních jednotek, které mohly pracovat současně, tj . „ Paralelně “, což CPU umožňovalo překrývat doby provádění pokynů. Například procesor 6600 by mohl začít provádět instrukci přidání v dalším cyklu CPU následujícím po začátku instrukce násobení (samozřejmě za předpokladu, že výsledkem instrukce násobení nebyl operand instrukce přidání), takže síť doba provedení dvou instrukcí by jednoduše byla (delší) dobou provedení instrukce násobení. CPU 6600 měl také zásobník instrukcí , jakousi mezipaměť instrukcí , což pomohlo zvýšit propustnost CPU snížením množství času nečinnosti CPU způsobeného čekáním na odezvu paměti na žádosti o načtení instrukcí. Tyto dva druhy CPU byly kompatibilní s instrukcemi, takže program, který běžel na kterémkoli z typů CPU, poběží stejným způsobem na druhém druhu, ale poběží rychleji na CPU 6600. Všechny modely řady 6000 byly skutečně plně kompatibilní. CDC 6400 měl jeden CPU (6400 CPU), CDC 6500 měl dva CPU (oba 6400 CPU), CDC 6600 měl jeden CPU (6600 CPU) a CDC 6700 měl dva CPU (jeden 6600 CPU a jeden 6400 CPU) PROCESOR).

Centrální procesor (CP)

Registry CDC 6x00
5 9 . . . 1 7 . . . 0 0 (bitová pozice)
Registry operandů (60 bitů)
X0 Zaregistrujte se 0
X1 Registrace 1
X2 Registrace 2
X3 Registrace 3
X4 Registrace 4
X5 Zaregistrujte se 5
X6 Zaregistrujte se 6
X7 Registrace 7
Registry adres (18 bitů)
  A0 Adresa 0
  A1 Adresa 1
  A2 Adresa 2
  A3 Adresa 3
  A4 Adresa 4
  A5 Adresa 5
  A6 Adresa 6
  A7 Adresa 7
Přírůstkové registry (18 bitů)
  B0 (všechny bity nula) Přírůstek 0
  B1 Přírůstek 1
  B2 Přírůstek 2
  B3 Přírůstek 3
  B4 Přírůstek 4
  B5 Přírůstek 5
  B6 Přírůstek 6
  B7 Přírůstek 7

Centrální procesor (CP) a hlavní paměť strojů 6400, 6500 a 6600 měly 60bitovou délku slova. Centrální procesor měl osm univerzálních 60-bit registrů X0 až X7, osm 18-bit adresa registry A0 až A7 a osm 18-bit „přírůstek“ registry B0 až B7. Hardware držel B0 trvale na nule. Mnoho programátorů považovalo za užitečné nastavit B1 na 1 a podobně to považovat za nedotčené.

CP neměl žádné pokyny pro vstup a výstup, které jsou prováděny prostřednictvím periferních procesorů (níže). Žádné operační kódy nebyly speciálně určeny pro načítání nebo ukládání paměti; k tomu došlo jako vedlejší účinek přiřazení k určitým registrům A. Nastavení A1 až A5 načetlo slovo na této adrese do X1 až X5; nastavení A6 nebo A7 uložilo slovo z X6 nebo X7. S A0 nebyly spojeny žádné vedlejší účinky. Samostatná jednotka pro načítání/ukládání hardwaru, nazývaná kaskadérský box , zpracovávala skutečný pohyb dat nezávisle na provozu toku instrukcí, což umožňovalo dokončení dalších operací při přístupu k paměti, což v nejlepším případě vyžadovalo osm cyklů.

6600 CP obsahoval deset paralelních funkčních jednotek, což umožňovalo zpracování více instrukcí současně. Dnes se tomu říká design superskalárního procesoru , ale na svou dobu to bylo jedinečné. Na rozdíl od většiny moderních návrhů CPU nebyly funkční jednotky propojeny; funkční jednotka by byla zaneprázdněna, kdyby jí byla „vydána“ instrukce, a zůstala by zaneprázdněna po celou dobu potřebnou k provedení této instrukce. (Naproti tomu CDC 7600 zavedl potrubí do svých funkčních jednotek.) V nejlepším případě by mohla být funkční jednotce vydána instrukce každých 100 ns hodinového cyklu. Systém přečetl a dekódoval instrukce z paměti tak rychle, jak to jen bylo možné, obecně rychleji, než by mohly být dokončeny, a odeslal je do jednotek ke zpracování. Jednotky byly:

  • násobení s plovoucí desetinnou čárkou (dvě kopie)
  • dělení s plovoucí desetinnou čárkou
  • plovoucí desetinnou čárkou přidat
  • "dlouhé" celočíselné přidání
  • inkrementátory (dvě kopie; provedené načtení/uložení paměti)
  • posun
  • booleovská logika
  • větev

Operacím s pohyblivou řádovou čárkou byla v této architektuře věnována pýcha : CDC 6600 (a kin) stojí prakticky sám za to, že je schopen provést 60bitové násobení s plovoucí desetinnou čárkou v čase srovnatelném s tím u větve programu. Nedávná analýza knihy Jamese Thorntona „Design počítače“, kterou provedl Mitch Alsup, odhalila, že jednotka 6600's Floating Point je dvoustupňová propojená konstrukce.

Sčítání pevných bodů a odčítání 60bitových čísel bylo řešeno v jednotce dlouhého sčítání pomocí doplňku těch pro záporná čísla. Násobení pevnou desetinnou čárkou bylo provedeno jako zvláštní případ v jednotce násobení s plovoucí desetinnou čárkou-pokud by byl exponent nulový, jednotka FP by provedla jednopřesné 48bitové násobení s plovoucí desetinnou čárkou a vymazala část s vysokým exponentem, což mělo za následek 48 -bitový celočíselný výsledek. Celočíselné dělení bylo provedeno makrem, převáděním do az plovoucí desetinné čárky.

Dříve provedené instrukce byly uloženy do osmislovné mezipaměti , nazývané „zásobník“. Skoky v zásobníku byly rychlejší než skoky mimo zásobník, protože nebylo nutné načítání paměti. Zásobník byl vypláchnut instrukcí bezpodmínečného skoku, takže bezpodmínečné skoky na koncích smyček byly konvenčně psány jako podmíněné skoky, které vždy uspěly.

Systém používal hodiny 10  MHz se čtyřfázovým signálem . Násobení s plovoucí desetinnou čárkou trvalo deset cyklů, dělení trvalo 29 a celkový výkon, s přihlédnutím ke zpožděním paměti a dalším problémům, byl asi 3  MFLOPS . S využitím nejlepších dostupných kompilátorů, pozdě v historii stroje, mohly programy FORTRAN očekávat zachování přibližně 0,5 MFLOPS.

Organizace paměti

Uživatelské programy mohou používat pouze souvislou oblast hlavní paměti. Část paměti, do které má vykonávající program přístup, je řízena registry RA (relativní adresa) a FL (délka pole), které nejsou přístupné uživatelskému programu. Když se uživatelský program pokusí přečíst nebo zapsat slovo do centrální paměti na adresu a , procesor nejprve ověří, že a je mezi 0 a FL-1. Pokud je, procesor přistupuje ke slovu v centrální paměti na adrese RA+a. Tento proces je známý jako přemístění na bázi báze; každý uživatelský program vidí jádrovou paměť jako souvislá bloková slova o délce FL, začínající adresou 0; ve skutečnosti může být program kdekoli ve fyzické paměti. Pomocí této techniky může být každý uživatelský program přesunut („přemístěn“) do hlavní paměti operačním systémem, pokud registr RA odráží jeho polohu v paměti. Uživatelský program, který se pokusí vstoupit do paměti mimo povolený rozsah (tj. S adresou, která není menší než FL), spustí přerušení a bude ukončen operačním systémem. Když k tomu dojde, operační systém může vytvořit jádrový výpis, který zaznamená obsah paměti programu a zaregistruje se do souboru, což vývojáři programu umožní vědět, co se stalo. Všimněte si rozdílu s virtuálními paměťovými systémy; v tomto případě musí být celý adresovatelný prostor procesu v jádrové paměti, musí být souvislý a jeho velikost nesmí být větší než skutečná kapacita paměti.

Všechny stroje kromě prvních sedmi strojů řady CDC 6000 bylo možné konfigurovat pomocí volitelného systému ECS (Extended Core Storage). ECS byl postaven z jiné palety základní paměti, než jaká byla použita v centrální paměti. Tato paměť byla pomalejší, ale dostatečně levná, aby mohla být mnohem větší. Primárním důvodem bylo, že paměť ECS byla zapojena pouze dvěma vodiči na jádro (kontrast s pěti pro centrální paměť). Protože prováděl velmi široké přenosy, jeho sekvenční přenosová rychlost byla stejná jako u malé jádrové paměti. CPU 6000 mohl přímo provádět přenosy blokové paměti mezi programem uživatele (nebo operačním systémem) a jednotkou ECS. Byly použity široké datové cesty, takže se jednalo o velmi rychlou operaci. Hranice paměti byly udržovány podobným způsobem jako centrální paměť, s mechanismem RA/FL udržovaným operačním systémem. ECS by mohl být použit pro různé účely, včetně obsahující pole uživatelských dat, která byla příliš velká pro centrální paměť, uchovávání často používaných souborů, odkládání a dokonce i jako komunikační cesta v komplexu více sálových počítačů.

Periferní procesory (PP)

Aby zvládl úkoly „úklidu“, které v jiných provedeních byly přiděleny CPU, zahrnoval Cray dalších deset procesorů, částečně založených na jeho dřívějším počítači CDC 160-A. Tyto stroje, nazývané periferní procesory nebo PP, byly samy o sobě plnohodnotnými počítači, ale byly naladěny na plnění úkolů I/O a běh operačního systému. (Podstatné části operačního systému běžely na PP; takže ponechala většinu výkonu centrálního procesoru k dispozici pro uživatelské programy.) K I/O kanálům měli přístup pouze PP . Jeden z PP (PP0) byl v celkové kontrole stroje, včetně řízení programu běžícího na hlavním CPU, zatímco ostatní by se věnovali různým I/O úkolům; PP9 byl věnován systémové konzole. Když program CP potřeboval k provedení funkce operačního systému, zadal požadavek na známé místo ( referenční adresa + 1) monitorované PP0. V případě potřeby PP0 přiřadí další PP k načtení potřebného kódu a zpracování požadavku. PP by poté vymazal RA+1, aby informoval program CP, že úkol byl dokončen.

Jedinečnou rolí PP0 při řízení stroje byl potenciální jediný bod selhání, v tom, že porucha zde mohla vypnout celý stroj, i když devět dalších PP a CPU stále fungovaly správně. Cray to vyřešil v návrhu nástupce 7600, kdy ovladačem mohl být kterýkoli z PP a CPU mohl k této roli znovu přiřadit kohokoli.

Každý PP obsahoval vlastní paměť 4096 12bitových slov. Tato paměť sloužila jak pro I/O ukládání do vyrovnávací paměti, tak pro ukládání programů, ale prováděcí jednotky byly sdíleny deseti PP v konfiguraci zvané Barrel a slot . To znamenalo, že prováděcí jednotky („slot“) budou provádět jeden instrukční cyklus z prvního PP, poté jeden instrukční cyklus z druhého PP atd. Způsobem každý s každým. To bylo provedeno jak za účelem snížení nákladů, tak proto, že přístup do paměti CP vyžadoval 10 hodinových cyklů PP: když PP přistupuje k paměti CP, data jsou k dispozici příště, když PP obdrží čas svého slotu.

Délka slova, znaky

Centrální procesor měl 60bitová slova, zatímco periferní procesory 12bitová slova. CDC používal termín „byte“ k označení 12bitových entit používaných periferními procesory; znaky byly 6bitové a instrukce centrálního procesoru byly buď 15 bitů, nebo 30 bitů s podepsaným 18bitovým adresním polem, přičemž druhé umožnilo přímo adresovatelný paměťový prostor 128 kB slov centrální paměti (převedeno na moderní termíny, s 8 -bitové bajty, toto je 0,94 MB). Podepsaná povaha registrů adres omezila individuální program na 128 kB slov. (Později stroje kompatibilní s CDC 6000 mohly mít 256 kB nebo více slov centrální paměti, což rozpočet dovoloval, ale jednotlivé uživatelské programy byly stále omezeny na 128 kB slov CM.) Pokyny centrálního procesoru začaly na hranici slova, když byly cílem skoku příkazu nebo podprogramu návratový skokový pokyn, takže někdy byly vyžadovány instrukce bez operace k vyplnění posledních 15, 30 nebo 45 bitů slova. Zkušení assembler programátoři mohli doladit své programy naplněním těchto no-op stání s instrukcemi misc, které by byly potřebné později v programu.

Na 6-bitové znaky , v kódování s názvem CDC zobrazení kódu , by mohly být použity pro uložení až 10 znaků ve slově. Dovolili znakovou sadu 64 znaků, což je dost na všechna velká písmena, číslice a některé interpunkce. Určitě stačilo napsat FORTRAN nebo vytisknout finanční nebo vědecké zprávy. Ve skutečnosti se používaly dvě varianty znakových sad zobrazovacího kódu CDC-64 znaků a 63 znaků. 64-znaková sada měla tu nevýhodu, že znak „:“ (dvojtečka) by byl ignorován (interpretován jako nulová výplň), pokud by to byl poslední znak ve slově. V systémech časového sdílení Kronos a NOS byla také použita doplňková varianta, nazývaná 6/12, zobrazovací kód , aby bylo umožněno plné využití znakové sady ASCII způsobem, který je do určité míry kompatibilní se starším softwarem.

Bez jakýchkoli pokynů k adresování bajtů bylo nutné zapsat kód, aby se sbalily a posunuly znaky do slov. Velmi velká slova a relativně malé množství paměti znamenaly, že programátoři často šetří paměť balením dat do slov na bitové úrovni.

Vzhledem k velké velikosti slova a s 10 znaky na slovo bylo často rychlejší zpracovávat slovní druhy znaků najednou, než je rozbalovat/zpracovávat/přebalovat. Například kompilátor CDC COBOL byl ve skutečnosti docela dobrý při zpracování desetinných polí pomocí této techniky. Tyto druhy technik se nyní běžně používají v pokynech „multimédií“ současných procesorů.

Fyzický design

Logický modul kordového dřeva CDC 6600 obsahující 64 křemíkových tranzistorů. Koaxiální konektory jsou testovací body. Modul je vodivě chlazen přes přední panel. Model 6600 obsahoval téměř 6000 takových modulů.

Stroj byl postaven ve skříni ve tvaru znaménka plus s čerpadlem a výměníkem tepla v nejvzdálenějších 18 palcích (46 cm) každého ze čtyř ramen. Chlazení bylo prováděno cirkulací Freonu uvnitř stroje a výměnou tepla na externí zdroj chlazené vody. Do každé paže se vešly čtyři šasi, každé asi 20 cm silné, zavěšené blízko středu a otevírající se trochu jako kniha. Křižovatka „plus“ byla vyplněna kabely, které propojovaly podvozek. Šasi bylo očíslováno od 1 (obsahující všech 10 PPU a jejich paměti, stejně jako 12 spíše minimálních I/O kanálů) do 16. Hlavní paměť pro CPU byla rozložena na mnoha šasi. V systému s pouze 64 000 slovy hlavní paměti bylo jedno z ramen „plus“ vynecháno.

Logika stroje byla zabalena do modulů o čtverci asi 2,5 palce (64 mm) a tloušťce asi 2,5 cm. Každý modul měl konektor (30 pinů, dvě svislé řady po 15) na jednom okraji a šest testovacích bodů na protějším okraji. Modul byl umístěn mezi dvě hliníkové studené desky, aby se odstranilo teplo. Modul se skládal ze dvou paralelních desek s plošnými spoji, přičemž součásti byly namontovány buď na jedné z desek, nebo mezi obě desky. To poskytlo velmi hustý balíček; obecně nelze opravit, ale s dobrými charakteristikami přenosu tepla. To bylo známé jako cordwood konstrukce .

Operační systém a programování

S podporou operačního systému 6600 byl bolavý bod - sklouznutí časových os. Stroje původně běžely na velmi jednoduchém systému řízení úloh známém jako COS ( Chippewa Operating System ), který byl rychle „sesazen“ na základě dřívějšího operačního systému CDC 3000 , aby bylo možné spustit něco k testování systémů pro dodání. Stroje však měly být dodány s mnohem výkonnějším systémem známým jako SIPROS (pro operační systém pro simultánní zpracování), který byl vyvíjen ve společnosti System Sciences Division v Los Angeles . Zákazníci byli ohromeni seznamem funkcí SIPROS a mnozí nechali SIPROS zapsat do svých dodacích smluv.

SIPROS se ukázalo jako velké fiasko. Časové harmonogramy vývoje nadále sklouzávaly, což stálo CDC velké částky zisku ve formě sankcí za zpoždění dodávky. Po několika měsících čekání se stroji připravenými k odeslání byl projekt nakonec zrušen. Programátoři, kteří pracovali na COS, měli v SIPROS malou důvěru a pokračovali v práci na zlepšování COS.

Vývoj operačního systému se poté rozdělil na dva tábory. Vývoj COS pod sankcí CDC byl proveden v laboratoři vývoje softwaru Sunnyvale v Kalifornii . Mnoho zákazníků nakonec převzalo dodávku svých systémů s tímto softwarem, tehdy známým jako SCOPE (dohledová kontrola provádění programu). SCOPE verze 1 byla v podstatě rozebraná COS; SCOPE verze 2 zahrnovala novou podporu zařízení a systému souborů; SCOPE verze 3 obsahovala trvalou podporu souborů, vzdálenou dávkovou podporu EI/200 a podporu sdílení času INTERCOM . SCOPE měl vždy značné problémy se spolehlivostí a údržbou.

Řada CDC 6000 SCOPE 3.1 se buduje sama a běží na emulátoru Desktop CYBER

Podzemní evoluce COS proběhla v montážním závodě Arden Hills v Minnesotě . MACE ([Greg] Mansfield And [Dave] Cahlander Executive) byl napsán převážně jedním programátorem mimo pracovní dobu, kdy byly k dispozici stroje. Jeho sada funkcí byla v podstatě stejná jako COS a SCOPE 1. Zachovala dřívější systém souborů COS, ale učinila významné pokroky v modularitě kódu, aby se zlepšila spolehlivost systému a přizpůsobivost novým úložným zařízením. MACE nikdy nebyl oficiálním produktem, i když mnoho zákazníků se dokázalo domluvit na kopii z CDC.

Neoficiální software MACE byl později zvolen nad oficiálním produktem SCOPE jako základ dalšího operačního systému CDC, Kronos , pojmenovaného podle řeckého boha času . Vypráví se, že Dave Mansfield zavolal do knihovny na univerzitě v Minnesotě a požádal o starodávné slovo s významem „čas“. Místo „Chronos“ si zapsal „Kronos“. Hlavním marketingovým důvodem jeho přijetí byl vývoj jeho funkce sdílení času TELEX a funkce vzdálené dávky BATCHIO. Kronos nadále používal souborový systém COS/SCOPE 1 s přidáním funkce trvalého souboru.

Pokus o sjednocení produktů operačního systému SCOPE a Kronos produkoval NOS (Network Operating System). NOS byl zamýšlen jako jediný operační systém pro všechny stroje CDC, což je skutečnost, kterou CDC silně propagovalo. Mnoho zákazníků SCOPE zůstalo softwarově závislých na architektuře SCOPE, takže CDC ji jednoduše přejmenovalo na NOS/BE (Batch Environment) a mohli tvrdit, že každý tedy provozoval NOS. V praxi bylo mnohem snazší upravit základnu kódu Kronos tak, aby přidávala funkce SCOPE, než naopak.

Prostředí montážního závodu také produkovalo další operační systémy, které nikdy nebyly určeny pro použití zákazníkem. Jednalo se o technické nástroje SMM pro testování hardwaru a KALEIDOSCOPE pro testování kouře softwaru . Dalším běžně používaným nástrojem pro terénní inženýry CDC během testování byl MALET (Maintenance Application Language for Equipment Testing), který sloužil ke zkouškám zátěžových testů součástí a zařízení po opravách nebo servisu techniků. Podmínky testování často používaly balíčky pevných disků a magnetické pásky, které byly záměrně označeny chybami, aby se určilo, zda chyby budou detekovány společností MALET a technikem.

Názvy SCOPE a COMPASS používala společnost CDC jak pro řady CDC 6000 , včetně 6600, tak pro řady CDC 3000 :

CDC 7600

CDC 7600 byla původně určena být plně kompatibilní se stávajícími 6000 řady strojů, jakož; začal život známý jako CDC 6800. Ale během jeho návrhu konstruktéři zjistili, že zachování úplné kompatibility se stávajícími stroji řady 6000 omezí, jak velkého zlepšení výkonu mohou dosáhnout, a rozhodli se obětovat kompatibilitu výkonu. Zatímco procesor CDC 7600 byl v zásadě instrukcí kompatibilní s CPU 6400 a 6600, což umožňovalo přenos kódu na úrovni zdrojového kódu jazyka na vysoké úrovni, hardware CDC 7600, zejména jeho periferních procesorových jednotek (PPU), byl zcela odlišný a CDC 7600 vyžadoval jiný operační systém. To se ukázalo být poněkud serendipitous, protože to umožnilo návrhářům zlepšit některé z charakteristik designu řady 6000, jako je jeho úplná závislost na periferních procesorech (PPs), zejména těch prvních (nazývaných PP0), pro řízení provozu. celého počítačového systému, včetně CPU (CPU). Na rozdíl od procesoru 6600 mohl procesor CDC 7600 ovládat vlastní provoz pomocí instrukce XJ (Central Exchange jump), která prohodila veškerý obsah registru s hlavní pamětí. Ve skutečnosti byly stroje řady 6000 touto schopností dovybaveny .

Viz také

Poznámky

Reference

externí odkazy

Evidence
Předchází
IBM 7030 Stretch
Nejvýkonnější počítač na světě
1964–1968
Uspěl
CDC 7600