Pokročilý vědecký počítač TI - TI Advanced Scientific Computer
Advanced Scientific Computer ( ASC ) je superpočítač navržený a vyráběný firmou Texas Instruments (TI) v letech 1966 a 1973. ASC je centrální procesorovou jednotku (CPU) podporováno zpracování vektoru , technika, zvyšujícího účinnost, která byla klíčem k jeho high-performance. ASC, spolu se superpočítačem Control Data Corporation STAR-100 (který byl představen ve stejném roce), byly prvními počítači, které byly vybaveny vektorovým zpracováním. Potenciál této techniky však nebyl plně realizován ani ASC, ani STAR-100 kvůli nedostatečnému porozumění této technice; byl to superpočítač Cray Research Cray-1 , ohlášený v roce 1975, který by plně realizoval a popularizoval vektorové zpracování. Úspěšnější implementace vektorového zpracování v Cray-1 by vymezila ASC (a STAR-100) jako vektorové procesory první generace, přičemž Cray-1 patří do druhého.
Dějiny
Společnost TI začala jako divize společnosti Geophysical Service Incorporated (GSI), která prováděla seismické průzkumy pro společnosti zabývající se průzkumem ropy . GSI byla nyní dceřinou společností TI a TI chtěla použít nejnovější počítačovou technologii ke zpracování a analýze seismických datových souborů. Projekt ASC začal jako Advanced Seismic Computer . Jak se projekt vyvíjel, společnost TI se rozhodla rozšířit svůj rozsah. Název „Seismic“ byl v názvu nahrazen výrazem „Scientific“, což umožnilo projektu zachovat označení ASC.
Původně software, včetně operačního systému a kompilátoru FORTRAN , byl vyroben na základě smlouvy společností Computer Usage Company pod vedením George R. Trimble, Jr., ale později jej převzala samotná TI. Southern Methodist University v Dallasu vyvinul kompilátor ALGOL pro ASC.
Architektura
ASC byl založen na jediné vysokorychlostní sdílené paměti, ke které přistupovalo CPU a osm řadičů I / O kanálů , v organizaci podobné průkopnickému CDC 6600 od Seymour Cray . Do paměti se přistupovalo pouze pod kontrolou řídicí jednotky paměti (MCU). MCU byla obousměrná, 256bitová na kanál paralelní síť, která mohla podporovat až osm nezávislých procesorů, s devátým kanálem pro přístup k „hlavní paměti“ (označované jako „rozšířená paměť“). MCU také fungoval jako řadič mezipaměti , který nabízí vysokorychlostní přístup k polovodičové paměti pro osm portů procesoru a zpracovává veškerou komunikaci do 24bitového adresního prostoru v hlavní paměti. MCU byl navržen tak, aby pracoval asynchronně, což mu umožnilo pracovat při různých rychlostech a škálovatelnosti v řadě výkonnostních bodů. Například hlavní paměť mohla být vytvořena z pomalejší, ale méně nákladné základní paměti , i když to nebylo v praxi používáno. Při nejrychlejším provozu by mohl udržet přenosovou rychlost 80 milionů 32bitových slov za sekundu na port, s celkovou přenosovou rychlostí 640 milionů slov za sekundu. To bylo nad možnosti i těch nejrychlejších vzpomínek na éru.
CPU mělo taktovací cyklus 60 ns (taktovací frekvence 16,67 MHz) a jeho logika byla postavena z logických integrovaných obvodů spřažených s emitorem 20 bran původně vyvinutých společností TI pro superpočítač ILLIAC IV . CPU mělo pro svou dobu extrémně vyspělou architekturu a organizaci podporující mikrokódované aritmetické a matematické instrukce, které fungovaly na skalářích, vektorech nebo maticích. Zařízení pro zpracování vektorů měla architekturu paměti k paměti; odkud byly vektorové operandy čteny z paměti a výsledný vektor zapsán do paměti. CPU může mít jeden, dva nebo čtyři vektorové pruhy, což umožňuje CPU produkovat jeden až čtyři vektorové výsledky každý cyklus, v závislosti na počtu nainstalovaných vektorových pruhů. Vektorové pruhy byly také použity pro skalární instrukce a každý pruh mohl držet až 12 skalárních instrukcí za letu současně. CPU se čtyřmi pruhy umožňoval celkem až 36 instrukcí napříč celým CPU.
Procesor měl čtyřicet osm 32bitových registrů, což bylo v té době obrovské množství. 16 z registrů bylo použito pro adresování, 16 pro skalární operace, 8 pro posuny indexů a 8 pro specifikaci různých parametrů pro vektorové instrukce. Data byla mezi registry a pamětí přesouvána podle pokynů pro načítání / ukládání, které mohly přenášet najednou ze 4–64 bitů (dva registry).
Většina vektorových procesorů měla tendenci být omezena šířkou pásma paměti, to znamená, že mohla zpracovávat data rychleji, než je mohla získat z paměti. To zůstává hlavním problémem i u moderních návrhů SIMD, a proto bylo v moderních počítačových designech (i když převážně neúspěšně) vynaloženo značné úsilí na zvýšení propustnosti paměti. V ASC to bylo poněkud vylepšeno jednotkou lookahead, která předvídala nadcházející přístupy do paměti a neviditelně je načítala do skalárních registrů pomocí paměťového rozhraní v CPU zvaného jednotka vyrovnávací paměti (MBU).
„Periferní procesor“ byl samostatný systém určený výhradně k rychlému spuštění operačního systému a programů v něm spuštěných a také k přenosu dat do CPU. PP byl sestaven z osmi „virtuálních procesorů“ (VP), které byly navrženy tak, aby zpracovávaly pouze instrukce a základní celočíselnou aritmetiku. Každý VP měl svůj vlastní programový čítač a registry a systém tak mohl spouštět osm programů současně, omezených pouze přístupy do paměti. Udržování osmi spuštěných programů umožnilo systému zamíchat spouštění programů na CPU v závislosti na tom, jaké údaje byly v té době k dispozici na paměťové sběrnici, čímž se minimalizoval „mrtvý čas“, kdy CPU muselo čekat na data z paměti.
PP také zahrnoval sadu šedesáti čtyř 32bitových komunikačních registrů (CR). Jednotky CR uchovávaly stav požadovaný pro komunikaci mezi různými částmi ASC: CPU, VP a řadiči kanálů .
Sada instrukcí ASC obsahuje bitově reverzní instrukci, která byla určena k urychlení výpočtu rychlých Fourierových transformací (FFT). V době, kdy byl ASC ve výrobě, byly vyvinuty lepší algoritmy FFT, které nevyžadovaly tuto operaci. TI nabídl odměnu první osobě, která přišla s platným použitím této instrukce, ale nikdy nebyla získána.
Příjem trhu
Když byly stroje ASC poprvé k dispozici na začátku 70. let, překonaly téměř všechny ostatní stroje, včetně CDC STAR-100 , a za určitých podmínek odpovídaly tomu jednorázovému ILLIAC IV . Když bylo v roce 1975 oznámeno Cray-1, bylo jich nainstalováno jen sedm . Cray-1 věnoval téměř celý svůj design trvalému vysokorychlostnímu přístupu k paměti, včetně více než milionu 64bitových slov polovodičové paměti a cyklu čas, který byl pětinový oproti ASC (12,5 ns). Ačkoli ASC byl v některých ohledech více rozšiřitelný design, na trhu superpočítačů je preferována rychlost a Cray-1 byl mnohem rychlejší. Prodej ASC skončil téměř přes noc, a přestože byl upgradovaný ASC navržen s dobou cyklu pětin oproti původnímu, společnost Texas Instruments se rozhodla opustit trh.
Aplikace pro vektorové zpracování
Prototyp ASC č. 1 byl systém s jedním potrubím a byl z důvodu proprietárních informací vychováván v Austinu v Texasu mimo hlavní závod TI. Později byl upgradován na dvě roury a přejmenován na ASC # 1A. Poté byla použita divizí GSI divize TI pro zpracování seismických dat. ASC # 2 byl pronajat společnosti Shell Oil Company v Nizozemsku a byl také použit pro seismické zpracování dat. ASC # 3 byl instalován v Redstone Arsenal v Huntsville v Alabamě pro vývoj technologie Anti Ballistic Missile Interception. Se Smlouvou o solení byl systém později přesunut do armádního sboru ženistů ve Vicksburgu v Mississippi pro analýzu napětí přehrady. ASC # 4 byl použit NOAA na Princetonské univerzitě pro vývoj modelů předpovědi počasí. Systémy ASC # 5 a # 6 byly instalovány v hlavním závodě TI v Austinu a GSI je také používaly pro seismické zpracování dat. ASC # 7 šel do Naval Research Lab ve Washingtonu, DC pro studium fyziky plazmy.
Reference
- Peter M. Kogge (1981). Architektura zřetězených počítačů . Taylor & Francis . str. 159–162.