TI Advanced Scientific Computer - TI Advanced Scientific Computer
The Advanced Scientific Computer ( ASC ) er en supercomputer designet og fremstillet af Texas Instruments (TI) mellem 1966 og 1973. ASC s centrale behandlingsenhed (CPU) understøttet vektorbehandlingsindretningen , en præstationsfremmende teknik, der var nøglen til dens højtydende. ASC var sammen med Control Data Corporation STAR-100 supercomputer (som blev introduceret det samme år) de første computere, der havde vektorbearbejdning. Imidlertid blev denne tekniks potentiale ikke fuldt ud realiseret af hverken ASC eller STAR-100 på grund af utilstrækkelig forståelse af teknikken; det var Cray Research Cray-1 supercomputeren, der blev annonceret i 1975, og som fuldt ud ville realisere og popularisere vektorbehandling. Den mere vellykkede implementering af vektorbearbejdning i Cray-1 ville afgrænse ASC (og STAR-100) som førstegenerations vektorprocessorer, hvor Cray-1 hører til i den anden.
Historie
TI startede som en division af Geophysical Service Incorporated (GSI), et firma, der udførte seismiske undersøgelser for olieefterforskningsselskaber . GSI var nu et datterselskab af TI, og TI ønskede at anvende den nyeste computerteknologi til behandling og analyse af seismiske datasæt. ASC-projektet startede som Advanced Seismic Computer . Da projektet udviklede sig, besluttede TI at udvide dets anvendelsesområde. "Seismic" blev erstattet af "Scientific" i navnet, så projektet kunne bevare betegnelsen ASC.
Oprindeligt blev softwaren, inklusive et operativsystem og en FORTRAN- kompilator, udført under kontrakt af Computer Usage Company under ledelse af George R. Trimble, Jr. men senere overtaget af TI selv. Southern Methodist University i Dallas udviklede en ALGOL-kompilator til ASC.
Arkitektur
ASC var baseret på en enkelt højhastigheds delt hukommelse, som CPU og otte I / O- kanalcontrollere havde adgang til, i en organisation svarende til Seymour Crays banebrydende CDC 6600 . Der blev adgang til hukommelse udelukkende under kontrol af hukommelsesstyringsenheden (MCU). MCU var et tovejs, 256-bit per kanal parallelt netværk, der kunne understøtte op til otte uafhængige processorer med en niende kanal til adgang til "hovedhukommelse" (kaldet "udvidet hukommelse"). MCU fungerede også som en cache- controller, der tilbyder højhastighedsadgang til en halvlederbaseret hukommelse til de otte processorporte og håndterer al kommunikation til 24-bit adresseområdet i hovedhukommelsen. MCU'en er designet til at fungere asynkront, så den kan arbejde i forskellige hastigheder og skalaer på tværs af et antal præstationspunkter. For eksempel kunne hovedhukommelsen konstrueres af langsommere, men billigere kernehukommelse , selvom dette ikke blev brugt i praksis. På det hurtigste kunne det opretholde overførselshastigheder på 80 millioner 32-bit ord pr. Sekund pr. Port til en samlet overførselshastighed på 640 millioner ord pr. Sekund. Dette var langt ud over evnerne til selv de hurtigste minder fra æraen.
CPU'en havde en 60 ns urcyklus (16,67 MHz urfrekvens), og dens logik blev bygget fra 20- gate emitter-koblede logiske integrerede kredsløb, der oprindeligt blev udviklet af TI til ILLIAC IV supercomputeren. CPU'en havde en ekstremt avanceret arkitektur og organisation i sin æra, der understøtter mikrokodede aritmetiske og matematiske instruktioner, der fungerede på skalarer, vektorer eller matricer. Vektorbehandlingsfaciliteterne havde en hukommelse-til-hukommelsesarkitektur; hvor vektoroperanderne blev læst fra, og den resulterende vektor blev skrevet til hukommelsen. CPU'en kan have en, to eller fire vektorbaner, så CPU'en kan producere et til fire vektorresultater hver cyklus afhængigt af antallet af installerede vektorbaner. Vektorbanerne blev også brugt til skalarinstruktioner, og hver bane kunne holde op til 12 skalarinstruktioner under flyvning samtidigt. CPU'en, med fire baner, tillod op til 36 instruktioner i alt på tværs af hele CPU'en.
Processoren havde 48 32-bit registre, et stort antal for tiden. 16 af registre blev brugt til adressering, 16 til skalaroperationer, 8 til indeksforskydninger og 8 til specificering af de forskellige parametre til vektorinstruktioner. Data blev flyttet mellem registre og hukommelse ved at indlæse / gemme instruktioner, som kunne overføre fra 4-64 bit (to registre) ad gangen.
De fleste vektorprocessorer havde tendens til at være begrænset med hukommelsesbåndbredde, dvs. de kunne behandle data hurtigere, end de kunne få det fra hukommelsen. Dette er også fortsat et stort problem på moderne SIMD-design, hvorfor der er lagt en betydelig indsats i at øge hukommelseskapaciteten i moderne computerdesign (dog stort set uden held). I ASC blev dette forbedret noget med en lookahead-enhed, der forudsagde kommende hukommelsesadgange og indlæste dem usynligt i de skalære registre ved hjælp af en hukommelsesgrænseflade i CPU kaldet hukommelsesbufferenheden (MBU).
Den "perifere processor" var et separat system dedikeret til hurtigt at køre operativsystemet og programmer, der kører inden for det, samt tilførsel af data til CPU'en. PP blev bygget ud af otte "virtuelle processorer" (VP'er), som kun var designet til at håndtere instruktioner og grundlæggende heltal aritmetik. Hver VP havde sin egen programtæller og registre, og systemet kunne således køre otte programmer på samme tid, kun begrænset af hukommelsesadgang. At holde otte programmer kørende tillod systemet at blande udførelse af programmer på CPU'en afhængigt af, hvilke data der var tilgængelige på hukommelsesbussen på det tidspunkt, hvilket minimerede "dødtid", hvor CPU måtte vente på data fra hukommelsen.
PP inkluderede også et sæt på 64 32-bit kommunikationsregistre (CR'er). CR'erne lagrede den nødvendige tilstand til kommunikation mellem de forskellige dele af ASC: CPU, VP'er og kanalstyringer .
ASC-instruktionssættet inkluderer en bit-reverse instruktion, der var beregnet til at fremskynde beregningen af hurtige Fourier-transformationer (FFT'er). Da ASC var i produktion, var der udviklet bedre FFT-algoritmer, der ikke krævede denne operation. TI tilbød en belønning til den første person, der kom med en gyldig brug af denne instruktion, men blev aldrig indsamlet.
Markedsmodtagelse
Da ASC-maskiner først blev tilgængelige i begyndelsen af 1970'erne, overgik de næsten alle andre maskiner, inklusive CDC STAR-100 , og under visse betingelser svarede de til den engangs ILLIAC IV . Imidlertid var kun syv blevet installeret, da Cray-1 blev annonceret i 1975. Cray-1 dedikerede næsten hele sit design til vedvarende højhastighedsadgang til hukommelse, inklusive over en million 64-bit ord halvlederhukommelse og en cyklus. tid, der var en femtedel af ASC (12,5 ns). Selvom ASC på nogle måder var et mere udvideligt design, foretrækkes markedets hastighed i supercomputeren, og Cray-1 var meget hurtigere. ASC-salget sluttede næsten natten over, og selvom en opgraderet ASC var designet med en cyklustid på en femtedel af originalen, besluttede Texas Instruments at forlade markedet.
Applikationer til behandling af vektorer
ASC nr. 1-prototypen var et 1-rørssystem og blev opdraget i Austin, Texas, uden for stedet fra TIs hovedanlæg af beskyttede informationsmæssige grunde. Det blev senere opgraderet til to rør og omdøbt til ASC # 1A. Det blev derefter brugt af TIs GSI-division til seismisk databehandling. ASC nr. 2 blev lejet til Shell Oil Company i Holland og blev også brugt til seismisk databehandling. ASC # 3 blev installeret i Redstone Arsenal i Huntsville, Alabama, til udvikling af anti-ballistisk missil-aflytning. Med SALT-traktaten blev systemet senere omdistribueret til Army Corps of Engineers i Vicksburg, Mississippi, til analyse af dæmningsspænding. ASC # 4 blev brugt af NOAA ved Princeton University til udvikling af vejrudsigtsmodeller. ASC-systemer nr. 5 og nr. 6 blev installeret på TIs hovedanlæg i Austin og blev også brugt af GSI til seismisk databehandling. ASC nr. 7 gik til Naval Research Lab i Washington, DC for plasmafysikstudier.
Referencer
- Peter M. Kogge (1981). Arkitekturen af rørledte computere . Taylor & Francis . s. 159–162.