TI Advanced Scientific Computer

Advanced Scientific Computer ( ASC ) är en superdator designad och tillverkad av Texas Instruments (TI) mellan 1966 och 1973. ASC:s centrala processorenhet (CPU) stödde vektorbehandling , en prestandahöjande teknik som var nyckeln till dess höga prestanda. ASC, tillsammans med Control Data Corporation STAR-100 (som introducerades samma år), var de första datorerna med vektorbehandling. Denna tekniks potential förverkligades dock inte fullt ut av varken ASC eller STAR-100 på grund av en otillräcklig förståelse av tekniken; det var Cray Research Cray-1 , som tillkännagavs 1975 som till fullo skulle förverkliga och popularisera vektorbearbetning. Den mer framgångsrika implementeringen av vektorbehandling i Cray-1 skulle avgränsa ASC (och STAR-100) som första generationens vektorprocessorer, med Cray-1 tillhörande den andra.

Historia

TI började som en division av Geophysical Service Incorporated (GSI), ett företag som utförde seismiska undersökningar för oljeprospekteringsföretag . GSI var nu ett dotterbolag till TI, och TI ville använda den senaste datortekniken för bearbetning och analys av seismiska datamängder. ASC-projektet startade som Advanced Seismic Computer . Allt eftersom projektet utvecklades beslutade TI att utöka sin omfattning. "Seismic" ersattes av "Scientific" i namnet, vilket gjorde att projektet kunde behålla beteckningen ASC.

gjordes programvaran, inklusive ett operativsystem och en FORTRAN- kompilator, under kontrakt av Computer Usage Company , under ledning av George R. Trimble, Jr. men togs senare över av TI själv. Southern Methodist University i Dallas utvecklade en ALGOL-kompilator för ASC.

Arkitektur

ASC:n var baserad på ett enda höghastighets delat minne, som åtkoms av CPU och åtta I/O-kanalkontroller , i en organisation som liknar Seymour Crays banbrytande CDC 6600 . Minnet åtkoms endast under kontroll av minnesstyrenheten (MCU). MCU:n var ett tvåvägs, 256-bitars per kanal parallellt nätverk som kunde stödja upp till åtta oberoende processorer, med en nionde kanal för åtkomst till "huvudminne" (kallas "utvidgat minne"). MCU:n fungerade också som en cache- kontroller, och erbjöd höghastighetsåtkomst till ett halvledarbaserat minne för de åtta processorportarna och hanterade all kommunikation till 24-bitars adressutrymmet i huvudminnet. MCU:n designades för att fungera asynkront, vilket gör att den kan arbeta med en mängd olika hastigheter och skala över ett antal prestandapunkter. Till exempel kunde huvudminnet konstrueras av långsammare men billigare kärnminne , även om detta inte användes i praktiken. Som snabbast kunde den upprätthålla överföringshastigheter på 80 miljoner 32-bitars ord per sekund per port, för en total överföringshastighet på 640 miljoner ord per sekund. Detta var långt bortom kapaciteten hos ens de snabbaste minnen från eran.

CPU:n hade en 60 ns klockcykel (16,67 MHz klockfrekvens) och dess logik byggdes av 20- grinds emitterkopplade logiska integrerade kretsar som ursprungligen utvecklades av TI för superdatorn ILLIAC IV . CPU:n hade en extremt avancerad arkitektur och organisation för sin tid, som stödde mikrokodade aritmetiska och matematiska instruktioner som fungerade på skalärer, vektorer eller matriser. Vektorbehandlingsfaciliteterna hade en minne-till-minne-arkitektur; där vektoroperanderna lästes från och den resulterande vektorn skrevs till minnet. CPU:n kan ha en, två eller fyra vektorbanor, vilket gör att CPU:n kan producera ett till fyra vektorresultat varje cykel, beroende på antalet installerade vektorbanor. Vektorbanorna användes också för skalära instruktioner, och varje fil kunde hålla upp till 12 skalära instruktioner under flygning samtidigt. CPU:n, med fyra banor, tillät upp till 36 instruktioner totalt över hela CPU:n.

Processorn hade fyrtioåtta 32-bitars register, ett enormt antal för den tiden. 16 av registren användes för adressering, 16 för skalära operationer, 8 för indexförskjutningar och 8 för att specificera de olika parametrarna för vektorinstruktioner. Data flyttades mellan registren och minnet genom ladda/lagra instruktioner, som kunde överföra från 4–64 bitar (två register) åt gången.

De flesta vektorprocessorer tenderade att vara minnesbandbreddsbegränsade, det vill säga de kunde bearbeta data snabbare än de kunde få det från minnet. Detta förblir ett stort problem även på moderna SIMD-designer, vilket är anledningen till att avsevärda ansträngningar har lagts ned på att öka minneskapaciteten i moderna datordesigner (även om det till stor del misslyckats). I ASC förbättrades detta något med en lookahead-enhet som förutspådde kommande minnesåtkomster och laddade in dem i de skalära registren osynligt, med hjälp av ett minnesgränssnitt i CPU:n som kallas minnesbuffertenheten (MBU).

"Peripheral Processor" var ett separat system dedikerat helt till att snabbt köra operativsystemet och program som körs inom det, samt att mata data till CPU:n. PP:n byggdes av åtta "virtuella processorer" (VPs), som var designade för att endast hantera instruktioner och grundläggande heltalsaritmetik. Varje VP hade sin egen programräknare och register, och systemet kunde därmed köra åtta program samtidigt, begränsade endast av minnesåtkomster. Genom att hålla åtta program igång tillät systemet att blanda exekveringen av program på CPU:n beroende på vilken data som fanns tillgänglig på minnesbussen vid den tiden, vilket minimerade "dödtid" där CPU:n fick vänta på data från minnet.

PP inkluderade också en uppsättning av sextiofyra 32-bitars kommunikationsregister (CR). CRs lagrade det tillstånd som krävs för kommunikation mellan de olika delarna av ASC:n: CPU, VP:er och kanalkontroller .

ASC-instruktionsuppsättningen inkluderar en bit-omvänd instruktion som var avsedd att påskynda beräkningen av snabba Fourier-transformationer ( FFT). När ASC var i produktion hade bättre FFT-algoritmer utvecklats som inte krävde denna operation. TI erbjöd en belöning till den första personen som kom på en giltig användning för denna instruktion, men samlades aldrig in.

Marknadsmottagning

När ASC-maskiner först blev tillgängliga i början av 1970-talet överträffade de nästan alla andra maskiner, inklusive CDC STAR-100 , och under vissa förhållanden matchade de engångsmodellen ILLIAC IV . Men inklusive förtydligande bara sju hade installerats när Cray-1 tillkännagavs 1975. Cray-1 ägnade nästan hela sin design åt bibehållen höghastighetsåtkomst till minne, [ behövs] [ citat 64- behövs ] över en miljon bitord i halvledarminne och en cykeltid som var en femtedel av ASC:n (12,5 ns). Även om ASC på något sätt var en mer utbyggbar design, föredras hastighet på superdatormarknaden, [ förtydligande behövs ] och Cray-1 var mycket snabbare. ASC-försäljningen slutade nästan över en natt, och även om en uppgraderad ASC hade designats med en cykeltid som var en femtedel av originalet, bestämde sig Texas Instruments för att lämna marknaden.

Vektorbearbetningsapplikationer

ASC #1-prototypen var ett enrörssystem och togs upp i Austin, Texas, utanför TI:s huvudfabrik av proprietära informationsskäl. Den uppgraderades senare till två rör och döptes om till ASC # 1A. Den användes sedan av TI:s GSI-avdelning för seismisk databehandling. ASC #2 hyrdes ut till Shell Oil Company i Nederländerna och användes även för seismisk databehandling. ASC #3 installerades vid Redstone Arsenal i Huntsville, Alabama, för utveckling av teknik för antiballistisk missilavlyssning. I och med SALT-fördraget omplacerades systemet senare till Army Corps of Engineers i Vicksburg, Mississippi, för analys av dammspänning. ASC #4 användes av NOAA vid Princeton University för att utveckla väderprognosmodeller. ASC-system #5 och #6 installerades vid TI:s huvudanläggning i Austin och användes även av GSI för seismisk databehandling. ASC #7 gick till Naval Research Lab i Washington, DC för plasmafysikstudier.

externa länkar