Muunnin - Transputer

Image
T414 -muuntajasiru
Image
IMSB008 -perusalusta, johon on asennettu IMSB419- ja IMSB404 -moduulit

Transputer on sarja uraauurtava mikroprosessorit 1980-luvulta, jossa on integroitu muisti ja sarjaliikenne linkkejä, jotka on tarkoitettu rinnakkaislaskentaan . Ne suunnitteli ja valmisti Inmos , puolijohdeyhtiö, joka sijaitsee Bristolissa , Yhdistyneessä kuningaskunnassa .

Joitakin aikoja 1980 -luvun lopulla monet pitivät transputeria seuraavana suurena tietotekniikan tulevaisuuden suunnitteluna. Vaikka Inmos ja transputer eivät saavuttaneet tätä odotusta, transuter-arkkitehtuuri oli erittäin vaikuttava uusien ideoiden herättämisessä tietokonearkkitehtuurissa , joista monet ovat nousseet esiin eri muodoissa nykyaikaisissa järjestelmissä.

Tausta

1980 -luvun alussa perinteiset keskusyksiköt (CPU) näyttivät saavuttavan suorituskykyrajan. Siihen asti valmistusongelmat rajoittivat piirin määrää, joka mahtui sirulle. Valmistusprosessin jatkuvat parannukset kuitenkin poistivat tämän rajoituksen. Vuosikymmenen kuluessa siruista voisi löytyä enemmän piirejä kuin suunnittelijat tiesivät käyttää. Perinteiset monimutkaiset ohjesarjatietokoneet (CISC) saavuttivat suorituskyvyn tasangon, eikä ollut selvää, että se voitaisiin voittaa.

Näytti siltä, ​​että ainoa tie eteenpäin oli lisätä rinnakkaisuuden käyttöä, useiden suorittimien käyttöä, jotka toimivat yhdessä ratkaistakseen useita tehtäviä samanaikaisesti. Tämä riippui siitä, että tällaiset koneet pystyivät suorittamaan useita tehtäviä kerralla, prosessia, jota kutsutaan monitehtäväksi . Tämä oli yleensä ollut liian vaikeaa käsitellä aiempia CPU -malleja, mutta uudemmat mallit pystyivät toteuttamaan sen tehokkaasti. Oli selvää, että tulevaisuudessa tämä olisi ominaisuus kaikille käyttöjärjestelmille .

Useimpien moniajojen suunnittelun sivuvaikutus on, että se mahdollistaa usein myös prosessien suorittamisen fyysisesti eri suorittimilla, jolloin sitä kutsutaan moniprosessoinniksi . Moniprosessointia varten rakennettu edullinen suoritin voi nostaa koneen nopeutta lisäämällä lisää suorittimia, mahdollisesti paljon halvemmalla kuin käyttämällä yhtä nopeampaa CPU-suunnittelua.

Ensimmäiset transputer -mallit olivat tietotekniikan tutkija David Mayn ja televiestintäkonsultin Robert Milnen ansiota. Vuonna 1990 May sai kunniatohtorin arvon Southamptonin yliopistosta , ja vuonna 1991 hänet valittiin Royal Society -jäseneksi ja Patherson -mitali Fysiikan instituutista vuonna 1992. Tony Fuge , silloinen Inmosin johtava insinööri , sai Prinssi Philip Designers Prize -palkinto vuonna 1987 työstään T414 -muuntajan parissa.

Design

Transuter (nimi " trans istor" ja " tietokone ") oli ensimmäinen yleiskäyttöinen mikroprosessori, joka on suunniteltu erityisesti käytettäväksi rinnakkaisjärjestelmissä . Tavoitteena oli valmistaa siruja, joiden teho ja kustannukset vaihtelevat ja jotka voidaan kytkeä yhteen muodostaen täydellinen rinnakkaistietokone. Nimi valittiin osoittamaan yksittäisten lähettimien roolia: niiden numeroita käytettäisiin perusrakenneosina, aivan kuten transistorit olivat aiemmin.

Alun perin suunnitelma oli tehdä transuterista vain muutama dollari yksikköä kohden. Inmos näki heidät käytetään lähes kaikkea, toimimasta tärkein CPU tietokone toimii kanavan ohjain varten levyasemien samassa koneessa. Perinteisessä koneessa esimerkiksi levyohjaimen prosessorikyky olisi käyttämättömänä, kun levyä ei käytetä. Sitä vastoin muuntajajärjestelmässä minkä tahansa näiden lähettimien varajaksoja voitaisiin käyttää muihin tehtäviin, mikä lisää huomattavasti koneiden yleistä suorituskykyä.

Jopa yhdellä transputerilla olisi kaikki tarvittavat piirit toimiakseen itse, ominaisuus, joka liittyy yleisemmin mikro -ohjaimiin . Tarkoituksena oli mahdollistaa lähettimien liittäminen yhteen mahdollisimman helposti ilman monimutkaista väylää tai emolevyä . Virta ja yksinkertainen kellosignaali oli toimitettava, mutta vähän muuta: satunnaismuisti (RAM), RAM-ohjain, väylätuki ja jopa reaaliaikainen käyttöjärjestelmä (RTOS).

Arkkitehtuuri

Alkuperäinen transputer käytti hyvin yksinkertaista ja melko epätavallista arkkitehtuuria saavuttaakseen suuren suorituskyvyn pienellä alueella. Se käytti mikrokoodia päämenetelmänä datapolun ohjaamiseen, mutta toisin kuin muut sen aikaiset mallit, monet ohjeet kesti vain yhden syklin. Opetus opcodes käytettiin merkintä viittaa mikrokoodi lukumuisti (ROM) ja lähdöt ROM syötettiin suoraan datatiehen. Monisyklisten ohjeiden osalta, kun datapolku suoritti ensimmäisen syklin, mikrokoodi dekoodasi neljä mahdollista vaihtoehtoa toiselle jaksolle. Päätös siitä, mitä näistä vaihtoehdoista todella käytetään, voitaisiin tehdä ensimmäisen jakson lopussa. Tämä mahdollisti erittäin nopean toiminnan pitäen arkkitehtuurin yleisenä.

Kellotaajuus on 20 MHz oli melko korkea aikakauden ja suunnittelijat olivat hyvin huolissaan käytännöllisyys jakaa tällaisen nopean kellosignaalin taululle. Käytettiin hitaampaa ulkoista kelloa, 5 MHz, ja tämä moninkertaistettiin tarvittavaan sisäiseen taajuuteen käyttämällä vaihelukittua silmukkaa (PLL). Sisäisellä kellolla oli itse asiassa neljä päällekkäistä vaihetta, ja suunnittelijat saivat vapaasti käyttää mitä tahansa näiden yhdistelmää, joten he voisivat väittää, että siirtolaite todella toimi 80 MHz: llä. Suunnittelun monissa osissa käytettiin dynaamista logiikkaa alueen pienentämiseksi ja nopeuden lisäämiseksi. Valitettavasti näitä menetelmiä on vaikea yhdistää automaattisen testikuvion luomisen skannaustestauksen kanssa, joten ne jäivät suosimatta myöhempää suunnittelua varten.

Prentice-Hall julkaisi kirjan transuterin yleisistä periaatteista.

Linkit

Transputerin perusrakenne sisälsi sarjaliitännät, jotka tunnetaan nimellä "os-link", joiden avulla se pystyi kommunikoimaan jopa neljän muun lähettimen kanssa, kukin nopeudella 5, 10 tai 20 Mbit/s-mikä oli erittäin nopeaa 1980-luvulla. Mikä tahansa määrä transputers voitaisiin kytkeä yhteen linkin päälle (jotka voisivat olla kymmeniä metrejä), jolloin muodostuu yksi laskenta tilalla . Hypoteettisessa pöytäkoneessa saattaa olla kaksi "matalan pään" lähettimestä, jotka käsittelevät tulo-/lähtötehtäviä (I/O) joillakin sarjaliitännöillä (kytketty sopivaan laitteistoon) samalla kun he puhuivat yhden isomman serkkunsa kanssa suorittimena toisella.

Tällä tavalla rakennetun järjestelmän koolla oli rajoituksia. Koska jokainen transputeri oli linkitetty toiseen kiinteässä pisteestä pisteeseen -asettelussa, viestien lähettäminen kauempana olevalle transputerille edellytti, että viestit välitetään jokaisella linjan sirulla. Tämä aiheutti viiveen jokaisella "hyppyllä" linkin yli, mikä johti pitkiin viiveisiin suurissa verkoissa. Tämän ongelman ratkaisemiseksi Inmos toimitti myös nollapistekytkimen, joka liitti jopa 32 lähetintä (tai kytkintä) vielä suurempiin verkkoihin.

Käynnistys

Lähettimet voivat käynnistyä muistista, kuten useimpien tietokoneiden tapauksessa, mutta ne voidaan myös käynnistää verkkolinkkien kautta . Erikoispiiri siruissa, BootFromROM, ilmoitti, mitä menetelmää sen tulisi käyttää. Jos BootFromROM vahvistettiin sirun nollaamisen yhteydessä, se aloittaisi käsittelyn kahden tavun käskystä muistin yläosasta, jota normaalisti käytettiin taaksepäin hyppäämiseen käynnistyskoodiin. Jos tätä PIN -koodia ei vahvistettu, siru odottaa sen sijaan tavujen vastaanottamista mille tahansa verkkolinkille. Ensimmäinen vastaanotettu tavu oli seurattavan koodin pituus. Seuraavat tavut kopioitiin vähäiseen muistiin ja siirryttiin sitten, kun tavumäärä oli vastaanotettu.

Järjestelmän yleisenä ajatuksena oli, että yksi transponderi toimii keskusviranomaisena käynnistäessään järjestelmän, joka sisältää useita kytkettyjä lähettimiä. Valitulla transpaattorilla olisi BootFromROM pysyvästi vahvistettu, mikä saa sen käynnistämään käynnistysprosessin ROM -levyltä käynnistyksen yhteydessä. Muilla lähettimillä BootFromROM olisi sidottu alhaiseksi, ja ne odottavat vain. Kuormaaja käynnistää keskussiirtolaitteen, joka sitten alkaa lähettää käynnistyskoodin muille verkon lähettimille, ja voi mukauttaa kullekin lähetetyn koodin, esimerkiksi lähettämällä laiteajurin kiintolevyihin liitettyyn transputeriin.

Järjestelmä sisälsi myös "erikoispituudet" 0 ja 1, jotka oli varattu PEEKille ja POKElle . Tämä mahdollisti RAM -muistin tarkastamisen ja vaihtamisen käynnistämättömässä transuterissa. Kurkistuksen jälkeen, jota seuraa muistiosoite tai pusku, jossa on osoite ja yksittäinen sanasana, siirtolaite palaa odottamaan käynnistysnauhaa. Tätä mekanismia käytettiin yleensä virheenkorjaukseen.

Ajastin

Lisätty piirien ajoitettu liikenne linkkien yli. Viestintää odottavat prosessit keskeytyvät automaattisesti, kun verkkopiiri lopettaa lukemisen tai kirjoittamisen. Muille transponderilla käynnissä oleville prosesseille annettaisiin sitten tämä käsittelyaika. Se sisälsi kaksi prioriteettitasoa parantaa reaaliaikaisen ja useita suorittimia toimintaa. Samaa loogista järjestelmää käytettiin kommunikoimaan yhdellä transuterilla toimivien ohjelmien välillä, joka toteutettiin virtuaalisina verkkolinkkeinä muistissa. Joten ohjelmat, jotka pyytävät mitä tahansa tuloa tai lähtöä, keskeytyvät automaattisesti, kun toiminto on valmis, ja tämä tehtävä yleensä vaati käyttöjärjestelmän toimimaan laitteiston sovittelijana. Transputerin käyttöjärjestelmien ei tarvinnut käsitellä ajoitusta; sirun voidaan katsoa sisältävän käyttöjärjestelmän.

Käyttöohjeet

Jos haluat sisällyttää tämän toiminnon yhdelle sirulle, transputerin ydinlogiikka oli yksinkertaisempi kuin useimmat suorittimet. Vaikka jotkut ovat kutsuneet sitä RISC (RISC), koska sen melko harva luonne, ja koska se oli silloin toivottavaa markkinoinnin muotisana , se oli raskaasti microcoded , oli kuitenkin rajallinen rekisterijoukkoon, ja monimutkainen muistista-muistiin ohjeet, kaikki sijoittaa sen tiukasti CISC -leiriin. Toisin kuin rekisterin raskaan kuormituksen/tallennuksen RISC- suorittimet, transputerilla oli vain kolme datarekisteriä, jotka toimivat pinoina. Lisäksi työtilan osoitin osoitti perinteiseen muistipinoon, johon on helppo päästä käsiksi ohjeiden Load Localja Store Local. Tämä mahdollisti erittäin nopean kontekstin vaihtamisen yksinkertaisesti vaihtamalla työtilan osoittimen toisen prosessin käyttämään muistiin (menetelmä, jota käytetään monissa nykyaikaisissa malleissa, kuten TMS9900 ). Kolme rekisteripinon sisältöä ei säilytetty tiettyjen ohjeiden, kuten hyppyjen, ohi, kun transputeri pystyi vaihtamaan kontekstin.

Transputer käskykannan koostui 8-bittinen ohjeet koottu opcode ja operandin palat . Ylempi napostella sisälsi 16 mahdollisesta ensisijainen käskykoodit, joten se on yksi harvoista kaupallistettu minimaalinen käskykannan tietokone . Alempi napostella sisälsi yhden välittömän vakio operandin, joita tavallisesti käytetään offset suhteessa työtilan (muistipinon) osoittimen. Kaksi etuliiteohjetta mahdollistivat suurempien vakioiden rakentamisen lisäämällä niiden alemmat nibletit seuraavien ohjeiden operandeihin. Muita ohjeita tuettiin käskykoodilla Operate ( Opr), joka dekoodasi vakiooperandin laajennetuksi nollaoperandin opcodeksi, mikä mahdollisti lähes loputtoman ja helpon käskyjoukon laajennuksen, kun transputerin uudemmat toteutukset otettiin käyttöön.

16 `` ensisijaista '' yksitoimista ohjetta olivat:

Mnemoninen Kuvaus
J Hyppy - lisää välitön operandi käskyosoittimeen
LDLP Lataa paikallinen osoitin-lataa työtilaan liittyvä osoitin rekisteripinon yläosaan
PFIX Etuliite - yleinen tapa lisätä alempaa naposteltavaa seuraavien ensisijaisten ohjeiden mukaan
LDNL Lataa ei-paikallinen-lataa arvon siirtymä osoitteesta pinon yläosaan
LDC Kuormitusvakio - lataa vakiooperaani rekisteripinon yläosaan
LDNLP Lataa ei-paikallinen osoitin-latausosoite, siirtymä pinon yläosasta
NFIX Negatiivinen etuliite - yleinen tapa kieltää (ja mahdollisesti lisätä) alempi napostelu
LDL Lataa paikallinen - kuormitusarvon siirtymä työtilasta
ADC Lisää vakio - lisää vakiooperaani rekisteripinon yläosaan
SOITTAA PUHELIMELLA Aliohjelmapuhelu - paina opetusosoitinta ja hyppää
CJ Ehdollinen hyppy - riippuen rekisteripinon yläosassa olevasta arvosta
AJW Säädä työtilaa - lisää operandi työtilan osoittimeen
EQC Yhtä vakio - testaa, onko rekisteripinon yläosa sama kuin vakiooperaani
STL Säilytä paikallinen - säilytä jatkuvasti etäisyydellä työtilasta
STNL Säilytä ei-paikallinen-säilytä osoitteessa, joka on poikki pinon yläosasta
OPR Käytä - yleinen tapa laajentaa käskyjoukkoa

Kaikki nämä ohjeet ovat vakioita, jotka edustavat siirtymää tai aritmeettista vakioita. Jos tämä vakio oli alle 16, kaikki nämä ohjeet koodattiin yhteen tavuun.

Ensimmäiset 16 'toissijaista' nollaoperatiivista käskyä (käyttäen ensisijaista OPR-käskyä) olivat:

Mnemoninen Kuvaus
REV Käänteinen - vaihda rekisteripinon kaksi ylintä kohdetta
PAUNAA Lataa tavu
BSUB Tavu alaindeksi
ENDP Lopeta prosessi
DIFF Ero
LISÄTÄ Lisätä
GCALL Yleinen puhelu - vaihda pinon yläosa ja ohjeosoitin
SISÄÄN Syöttö - vastaanota viesti
PROD Tuote
GT Suurempi kuin - ainoa vertailuohje
WSUB Sanan alaindeksi
ULOS Lähtö - lähetä viesti
SUB Vähentää
STARTP Aloita prosessi
OUTBYTE Lähtötavu-lähetä yksitavuinen viesti
ULOSANA Lähtösana-lähetä yksisanainen viesti

Kehitys

Image
Tyhjä B008 -emolevy
Image
TRAMien valinta

Antaakseen helpon tavan prototyyppien laatimiseen, rakentamiseen ja konfigurointiin moni-transuterilaitteita varten Inmos esitteli TRAM (TRAnsputer Module) -standardin vuonna 1987. TRAM oli lähinnä rakennuspalikoiden tytärlevy, joka käsitti muuntajan ja valinnaisesti ulkoisen muistin ja/tai oheislaitteet , yksinkertaisilla standardoiduilla liittimillä, jotka tarjoavat virtaa, siirtolaiteyhteyksiä, kelloa ja järjestelmän signaaleja. Erilaisia ​​TRAM -kokoja määriteltiin peruskoon 1 TRAM (3,66 x 1,05 tuumaa) ja koko 8 (3,66 x 8,75 tuumaa). Inmos tuotti valikoiman TRAM -emolevyjä eri isäntäbusseille , kuten Industry Standard Architecture (ISA), MicroChannel tai VMEbus . TRAM -yhteydet toimivat nopeudella 10 Mbit/s tai 20 Mbit/s.

Ohjelmisto

Transputers oli tarkoitus ohjelmoida ohjelmointikieli Occam , joka perustuu yhteydessä peräkkäinen prosessit (CSP) prosessi hammaskiven . Transputer suunniteltiin sellaisia Occamin erityisesti yli nykyaikainen CISC malleja rakennettiin toimimaan kieliä kuten Pascal tai C . Occam tuki samanaikaisuutta ja kanavapohjaista prosessien välistä tai prosessorien välistä viestintää olennaisena osana kieltä. Kun sirulle on rakennettu rinnakkaisuus ja viestintä ja kieli vuorovaikutuksessa sen kanssa, koodin kirjoittaminen esimerkiksi laiteohjaimille tuli vähäpätöiseksi; jopa alkeellisin koodi voisi katsella sarjaportteja I/O: lle ja nukkua automaattisesti, kun tietoja ei ole.

Transputerin alkuperäinen Occam -kehitysympäristö oli Inmos D700 Transputer Development System (TDS). Tämä oli epätavallinen integroitu kehitysympäristö, joka sisälsi editorin, kääntäjän, linkkerin ja (kuoleman jälkeisen) virheenkorjauksen. TDS oli transkuterisovellus, joka on kirjoitettu Occam -kielellä. TDS -tekstieditori oli merkittävä siinä mielessä, että se oli taitettava editori , joka mahdollisti koodilohkojen piilottamisen ja paljastamisen, jotta koodin rakenne olisi ilmeisempi. Valitettavasti tuntemattoman ohjelmointikielen ja yhtä vieraan kehitysympäristön yhdistelmä ei tehnyt mitään transuterin varhaisen suosion kannalta. Myöhemmin Inmos julkaisi tavanomaisempia Occam- ristikääntäjiä , Occam 2 -työkalusarjoja .

Sekä Inmos että ulkopuoliset toimittajat julkaisivat myöhemmin toteutuksia useimmista valtavirran ohjelmointikielistä, kuten C, FORTRAN , Ada ja Pascal. Näihin sisältyi yleensä kielilaajennuksia tai kirjastoja, jotka tarjoavat vähemmän tyylikkäällä tavalla Occamin kaltaista samanaikaisuutta ja kanavapohjaista viestintää.

Transputerin tuen puute virtuaalimuistille esti Unix- käyttöjärjestelmän valtavirran varianttien siirtämisen , vaikka Unixin kaltaisten käyttöjärjestelmien portteja (kuten Minix ja Idris from Whitesmiths ) tuotettiin. Kehittynyt Unixin kaltainen hajautettu käyttöjärjestelmä , HeliOS , on myös suunniteltu erityisesti Perihelion-ohjelmiston multitransvertterijärjestelmille .

Toteutukset

Ensimmäiset lähettimet julkistettiin vuonna 1983 ja julkaistiin vuonna 1984.

Mikro-ohjaimen kaltaisten laitteiden roolinsa mukaisesti ne sisälsivät sisäisen RAM-muistin ja sisäänrakennetun RAM-ohjaimen, joka mahdollisti lisää muistia ilman lisälaitteita. Toisin kuin muut mallit, lähettimet eivät sisältäneet I/O -linjoja: ne oli lisättävä laitteistoon, joka oli liitetty olemassa oleviin sarjayhteyksiin. Siellä oli yksi tapahtumarivi, samanlainen kuin perinteisen prosessorin keskeytyslinja. Kanavaksi katsottuna ohjelma voi "syöttää" tapahtumakanavalta ja jatkaa vasta tapahtumarivin vahvistamisen jälkeen.

Kaikki lähettimet toimivat ulkoisella 5 MHz: n kellotulolla; tämä kerrottiin prosessorin kellon aikaansaamiseksi.

Muuntaja ei sisältänyt muistinhallintayksikköä (MMU) tai virtuaalista muistijärjestelmää .

Lähetinmuunnelmat (paitsi peruutettu T9000) voidaan luokitella kolmeen ryhmään: 16-bittinen T2- sarja, 32-bittinen T4- sarja ja 32-bittinen T8- sarja, jossa on 64-bittinen liukuluku IEEE 754 -tuki.

T2: 16-bittinen

Image
Inmos T225 kuolee

Prototyyppinen 16-bittinen muuntaja oli S43 , josta puuttui ajoitin ja DMA-ohjattu lohkonsiirto linkkeissä . Kun lanseerattiin, T212 ja M212 (jälkimmäisessä on sisäinen levyohjain) olivat 16-bittisiä tarjontaa. T212 oli saatavana 17,5 ja 20 MHz: n suorittimen kellonopeuksilla. T212 korvasi T212: n , kun sirun RAM-muistia laajennettiin 2 kt: sta 4 kt: ksi ja myöhemmin T225 . Tämä lisätty debugging- keskeytyskohta tuki (laajentamalla ohje "J 0") sekä joitakin lisäohjeita T800 -käskysarjasta. Sekä T222 että T225 toimivat 20 MHz: n taajuudella.

T4: 32-bittinen

Image
Inmos T425 kuolee

Kun lanseerattiin, T414 oli 32-bittinen tarjonta. Alun perin ensimmäinen 32-bittinen versio oli T424 , mutta valmistusongelmat merkitsivät sitä, että tämä muotoiltiin uudelleen T414: ksi, jossa oli 2 kt: n RAM-muisti aiotun 4 kt: n sijaan. T414 oli saatavana 15 ja 20 MHz: n lajikkeina. Myöhemmin RAM palautettiin 4 kt: ksi T425: ssä (20, 25 ja 30 MHz: n lajikkeissa), mikä lisäsi myösJ 0keskeytyskohdan tuki ja ylimääräiset T800 -ohjeet. T400 , julkaistiin syyskuussa 1989 oli edullinen 20 MHz T425 johdannaisen 2 KB ja kaksi neljän sijasta linkkejä, jotka on tarkoitettu sulautettujen järjestelmien markkinoilla.

T8: liukuluku

Image
Inmos T805 kuolee

Toisen sukupolven T800- muuntaja, joka esiteltiin vuonna 1987, sisälsi laajennetun käskysarjan. Tärkein lisäys oli 64-bittinen liukulukuyksikkö (FPU) ja kolme liukulukurekisteriä IEEE754-1985-liukulukustandardin mukaisesti. Siinä oli myös 4 kt sisäistä RAM-muistia ja se oli saatavana 20 tai 25 MHz: n versioina. Breakpoint -tuki lisättiin myöhempiin T801- ja T805 -laitteisiin , joista ensimmäisessä on erilliset osoite- ja dataväylät suorituskyvyn parantamiseksi. T805 oli myös myöhemmin saatavana 30 MHz: n osana.

Suunniteltiin parannettua T810: tä, jossa olisi ollut enemmän RAM -muistia, enemmän ja nopeampia linkkejä, lisäohjeita ja parannettu mikrokoodi, mutta tämä peruutettiin noin vuonna 1990.

Inmos tuotti myös erilaisia ​​tukisiruja siirtoprosessoreille, kuten C004 32-suuntainen linkkikytkin ja C011- ja C012- linkkisovittimet, jotka mahdollistivat transuter-linkkien liittämisen 8-bittiseen dataväylään.

T400

Osa alkuperäistä Inmos -strategiaa oli tehdä suorittimista niin pieniä ja halpoja, että ne voitaisiin yhdistää muiden laitteiden kanssa yhdessä laitteessa. Vaikka järjestelmä sirulla (SoC), kuten niitä yleisesti kutsutaan, ovat nykyään kaikkialla läsnä, käsite oli lähes ennenkuulumaton jo 1980 -luvun alussa. Vuonna 1983 aloitettiin kaksi hanketta, M212 ja TV-lelu . M212 perustui tavalliseen T212 -ytimeen, johon on lisätty levyohjain ST 506- ja ST 412 Shugart -standardeille. TV-lelun piti olla videopelikonsolin perusta ja se oli Inmosin ja Sinclair Researchin yhteinen hanke .

T212- ja T414/T424 -lähettimien linkit sisälsivät laitteistollisia DMA -moottoreita, jotta siirto voisi tapahtua samanaikaisesti muiden prosessien suorittamisen kanssa. Suunnittelun muunnelma, nimeltään T400, jota ei pidä sekoittaa myöhempään samannimiseen muuntajaan, suunniteltiin silloin, kun suoritin käsitteli nämä siirrot. Tämä pienensi laitteen kokoa huomattavasti, koska 4 linkkimoottoria olivat suunnilleen samankokoisia kuin koko suoritin. T400 oli tarkoitettu käytettäväksi ytimenä niin kutsutuissa järjestelmissä piijärjestelmissä (SOS), joita nyt kutsutaan ja tunnetaan paremmin sirujärjestelmänä (SoC). Tämä muotoilu oli osa TV-lelua. Hanke peruutettiin vuonna 1985.

T100

Vaikka aikaisemmat SoC-projektit olivat menestyneet vain vähän (M212 myytiin jonkin aikaa), monet suunnittelijat uskoivat edelleen lujasti konseptiin ja vuonna 1987 aloitettiin uusi projekti, T100, joka yhdisti 8-bittisen version CPU, jossa on konfiguroitava logiikka, joka perustuu tilakoneisiin. Transputer-käskysarja perustuu 8-bittisiin ohjeisiin, ja sitä voidaan helposti käyttää minkä tahansa sanakoon kanssa, joka on 8-bittinen monikerta. T100: n kohdemarkkinoiden oli oltava väyläohjaimet, kuten Futurebus, ja päivitys vakioyhteyssovittimille (C011 jne.). Projekti lopetettiin, kun T840 (josta myöhemmin tuli T9000: n perusta) aloitettiin.

TPCORE

TPCORE on FPGA: ssa toimivan transuterin, myös os-linkkien, toteutus.

T9000

Inmos paransi T8-sarjan lähettimien suorituskykyä ottamalla käyttöön T9000 (koodinimi H1 kehityksen aikana). T9000 jakoi useimmat ominaisuudet T800: n kanssa, mutta siirsi useita malleja laitteistoon ja lisäsi useita ominaisuuksia superskalaarista tukea varten. Toisin kuin aikaisemmat mallit, T9000: ssa oli todellinen 16 kt: n nopea välimuisti (käyttäen satunnaista korvausta) RAM-muistin sijaan, mutta se salli myös sen käytön muistina ja sisälsi MMU: n kaltaiset toiminnot kaiken tämän käsittelemiseksi (nimeltään PMI ) . Nopeuden lisäämiseksi T9000 tallentaa välimuistiin pinon 32 parasta sijaintia kolmen sijasta, kuten aiemmissa versioissa.

T9000 käytti viisivaiheista putkilinjaa entistä nopeammin. Mielenkiintoinen lisäys oli ryhmittelylaite, joka keräsi ohjeet välimuistista ja ryhmitti ne suuremmiksi, enintään 8 tavun paketeiksi, jotta putki syötettäisiin nopeammin. Ryhmät valmistuivat sitten yhdellä syklillä, ikään kuin ne olisivat yksittäisiä suurempia ohjeita, jotka toimivat nopeammalla suorittimella.

Linkkijärjestelmä päivitettiin uuteen 100 MHz: n tilaan, mutta toisin kuin aiemmat järjestelmät, linkit eivät enää olleet alaspäin yhteensopivia. Tätä uutta pakettipohjaista yhteysprotokollaa kutsuttiin DS-Linkiksi , ja se muodosti myöhemmin perustan IEEE 1355- sarjaliitäntästandardille. T9000 lisäsi myös linkkien reitityslaitteiston nimeltä VCP (Virtual Channel Processor), joka muutti linkit pisteestä pisteeseen todelliseksi verkostoksi, mikä mahdollisti minkä tahansa määrän virtuaalisten kanavien luomisen linkkeihin. Tämä tarkoitti sitä, että ohjelmien ei enää tarvinnut olla tietoisia yhteyksien fyysisestä asettelusta. Lisäksi kehitettiin useita DS-Link- tukisiruja , mukaan lukien 32-suuntainen poikkipalkki C104 ja linkkisovitin C101 .

Pitkät viiveet T9000: n kehityksessä merkitsivät sitä, että nopeammat lataus-/myymäläsuunnitelmat olivat jo parempia kuin sen julkaisuhetkellä. Se ei jatkuvasti saavuttanut omaa suorituskykytavoitettaan - voittaa T800 kymmenkertaisesti. Kun projekti lopulta peruutettiin, se saavutti edelleen vain noin 36 MIPS -taajuutta 50 MHz: llä. Tuotannon viivästykset johtivat siihen, että T9000: n paras isäntäarkkitehtuuri oli piirtoheitin.

Tämä oli liikaa Inmosille, jolla ei ollut kehityksen jatkamiseen tarvittavaa rahoitusta. Tuolloin yritys oli myyty SGS-Thomsonille (nykyään STMicroelectronics ), jonka painopiste oli sulautettujen järjestelmien markkinoilla, ja lopulta T9000-projekti hylättiin. Kuitenkin täysin uudelleensuunniteltu sulautettuihin sovelluksiin tarkoitettu 32-bittinen muuntaja , ST20- sarja, valmistettiin myöhemmin käyttäen jotakin T9000: lle kehitettyä tekniikkaa. ST20-ydin sisällytettiin piirisarjoihin digisovittimia ja Global Positioning System (GPS) -sovelluksia varten.

ST20

Vaikka ST20 ei ole pelkästään transputeri, T4 ja T9 vaikuttivat voimakkaasti ja muodostivat perustan T450: lle, joka oli epäilemättä viimeinen muuntimista. ST20: n tehtävänä oli olla uudelleenkäytettävä ydin tuolloin kehittyvillä SoC -markkinoilla. ST20: n alkuperäinen nimi oli Reusable Micro Core (RMC). Arkkitehtuuri perustui löyhästi alkuperäiseen T4-arkkitehtuuriin, jossa oli mikrokoodiohjattu datapolku. Se oli kuitenkin täydellinen uudelleensuunnittelu käyttäen VHDL -suunnittelukieltä ja optimoitua (ja uudelleen kirjoitettua) mikrokoodikääntäjää. Hanke suunniteltiin jo vuonna 1990, kun havaittiin, että T9 olisi liian suuri moniin sovelluksiin. Varsinainen suunnittelutyö alkoi vuoden 1992 puolivälissä. Tehtiin useita koesuunnitelmia , jotka ulottuvat hyvin yksinkertaisesta RISC-tyylisestä suorittimesta, jossa on monimutkaisia ​​ohjeita, jotka on toteutettu ohjelmistoissa ansojen kautta, melko monimutkaiseen superskalaariseen suunnitteluun, joka on samanlainen kuin Tomasulo-algoritmi . Lopullinen muotoilu näytti hyvin samanlaiselta kuin alkuperäinen T4 -ydin, vaikka joitakin yksinkertaisia ​​ohjeiden ryhmittelyjä ja työtilan välimuisti lisättiin suorituskyvyn helpottamiseksi.

Hyväksyminen

Vaikka muuntaja oli yksinkertainen, mutta tehokas verrattuna moniin nykyaikaisiin malleihin, se ei koskaan saavuttanut tavoitettaan saavuttaa yleismaailmallinen käyttö sekä CPU- että mikro -ohjainrooleissa. Mikrokontrollerimarkkinoilla markkinoita hallitsivat 8-bittiset koneet, joissa hinta oli vakavin huomio. Täällä jopa T2: t olivat liian tehokkaita ja kalliita useimmille käyttäjille.

Vuonna tietokoneen työpöydällä ja työasema alalla transputer oli melko nopeasti (toimii noin 10 miljoonaa käskyä sekunnissa (MIPS) 20 MHz). Tämä oli erinomaista suorituskykyä 1980-luvun alussa, mutta siihen aikaan kun liukulukuyksiköllä (FPU) varustettu T800 lähetettiin, muut RISC-mallit olivat ylittäneet sen. Tätä olisi voitu lieventää suurelta osin, jos koneet olisivat käyttäneet useita lähettimiä suunnitellusti, mutta T800: t maksoivat noin 400 dollaria, kun ne esiteltiin, mikä tarkoitti huonoa hinta/suorituskykyä. Harvat transuteriin perustuvat työasemajärjestelmät on suunniteltu; merkittävin todennäköisesti Atari Transputer Workstation .

Transputer oli menestyksekkäämpi massiivisen rinnakkaislaskennan alalla, jossa useat myyjät tuottivat transuteriin perustuvia järjestelmiä 1980-luvun lopulla. Näitä olivat Meiko Scientific (entisten Inmosin työntekijöiden perustama), Floating Point Systems , Parsytec ja Parsys. Useat Britannian korkeakoulut perustettu tutkimustoimintaa soveltamisessa transputer perustuvan rinnakkaisten järjestelmien, kuten Bristol ammattikorkeakoulun n Bristolin Transputer Centre ja University of Edinburgh n Edinburgh samanaikainen supertietokone Project. Myös DESY : n Hadron Elektron Ring Ring Anlage (HERA) -törmäilijälle tarkoitetun High Energy Physics ZEUS -kokeilun tiedonhankinta- ja toisen tason laukaisujärjestelmät perustuivat verkostoon, jossa oli yli 300 synkronoitua kelloa, jotka oli jaettu useisiin osajärjestelmiin. Nämä hallitsivat sekä mukautetun ilmaisinelektroniikan lukemista että suorittivat fysiikan tapahtumavalinnan rekonstruointialgoritmeja.

Maailman suurin painoyhtiö RR Donnelley & Sons otti transponterin rinnakkaiskäsittelyominaisuudet kaupallisesti käyttöön kuvankäsittelyyn 1990 -luvun alussa. Kyky muuttaa digitaalisia kuvia nopeasti valmistellessaan tulostusta antoi yritykselle merkittävän edun kilpailijoihinsa nähden. Tätä kehitystä johti Michael Bengtson RR Donnelley Technology Centerissä. Muutaman vuoden kuluessa jopa pöytätietokoneiden prosessointikyky lopetti yritykselle räätälöityjen monikäsittelyjärjestelmien tarpeen.

Saksalainen yritys Jäger Messtechnik käytti lähettimiä varhaisissa ADwin-reaaliaikaisissa tiedonhankinta- ja ohjaustuotteissaan.

Ranskalainen yritys rakensi Archipel Volvox -supertietokoneen, jossa oli jopa 144 T800- ja T400 -lähetintä. Sitä hallitsi Silicon Graphics Indigo2, jossa oli UNIX, ja erityinen kortti, joka liitettiin Volvox -taustalevyihin.

Lähettimiä käytettiin myös protokolla-analysaattoreissa, kuten Siemens/Tektronix K1103, ja sotilaallisissa sovelluksissa, joissa ryhmäarkkitehtuuri soveltui sovelluksiin, kuten tutka ja sarjayhteydet (jotka olivat nopeita 1980-luvulla), jotka sääsivät hyvin kustannuksia ja painoa järjestelmän viestintä.

Transputeri esiintyi myös virtuaalitodellisuuteen liittyvissä tuotteissa , kuten Bristolin Division Limitedin valmistamassa ProVision 100 -järjestelmässä, jossa on yhdistelmä Intel i860- , 80486 /33- ja Toshiba HSP -prosessoreita sekä T805- tai T425 -lähettimiä, jotka toteuttavat renderointimoottorin, joka voitaisiin sitten käyttää kuin palvelin , jonka PC , Sun SPARCstation tai VAX järjestelmiä.

Myriade , eurooppalainen pienoissatelliittialusta , jonka ovat kehittäneet Astrium Satellites ja CNES ja jota käyttävät satelliitit, kuten Picard , perustuvat T805: een, joka tuottaa noin 4 MIPS: ää, ja sen on määrä olla tuotannossa noin vuoteen 2015 asti.

Viestinnän ja laskennan asynkroninen toiminta mahdollisti asynkronisten algoritmien, kuten Banen "Asychronous Polynomial Zero Finding" -algoritmin, kehittämisen. Asynkronisten algoritmien kentällä ja nykyisten algoritmien asynkronisella toteutuksella on todennäköisesti keskeinen rooli siirtymässä exascale -tietojenkäsittelyyn .

High Energy Transient Explorer 2 (HETE-2) avaruusaluksen käytetään 4 x T805 transputers ja 8 x DSP56001 jolloin saatiin noin 100000000 käskyä sekunnissa (MIPS) suorituskykyä.

Legacy

Kasvava sisäinen rinnakkaisuus on ollut yksi liikkeellepaneva voima perinteisten suoritinmallien parantamisessa. Suoran langatason rinnakkaisuuden (kuten transuterissa käytetään) sijasta CPU-suunnittelut käyttivät implisiittistä rinnakkaisuutta käskytasolla tarkastamalla koodisekvenssit tietoriippuvuuksien varalta ja antamalla useita riippumattomia ohjeita eri suoritusyksiköille. Tätä kutsutaan superskalaariseksi käsittelyksi. Superskalaariset prosessorit soveltuvat peräkkäin rakennettujen koodifragmenttien suorituksen optimointiin. Superskalaarisen prosessoinnin ja spekulatiivisen suorituksen yhdistelmä paransi konkreettisesti suorituskykyä nykyisissä koodikappaleissa, jotka kirjoitettiin enimmäkseen Pascal-, Fortran-, C- ja C ++ -kielellä. Ottaen huomioon nämä merkittävät ja säännölliset suorituskyvyn parannukset olemassa olevaan koodiin ei ollut juurikaan kannustimia kirjoittaa ohjelmistoja uusille kielille tai koodaustyyleille, jotka paljastavat enemmän tehtävätason rinnakkaisuutta.

Siitä huolimatta malli yhteistyössä toimivista samanaikaisista prosessoreista löytyy edelleen klusteripohjaisista tietokonejärjestelmistä , jotka hallitsevat supertietokoneiden suunnittelua 21. vuosisadalla. Toisin kuin muunninarkkitehtuuri, näiden järjestelmien prosessointiyksiköt käyttävät tyypillisesti superskalaarisia suorittimia, joilla on pääsy huomattavaan määrään muistia ja levytilaa, ja joissa on tavanomaisia ​​käyttöjärjestelmiä ja verkkoliitäntöjä. Monimutkaisemmista solmuista johtuen ohjelmistoarkkitehtuuri, jota käytetään rinnakkaisuuden koordinoimiseksi tällaisissa järjestelmissä, on tyypillisesti paljon raskaampi kuin transuter -arkkitehtuurissa.

Transputerin perimmäinen motiivi säilyy, mutta se oli peitetty yli 20 vuoden ajan toistuvalla kaksinkertaistamalla transistorimäärät. Väistämättä mikroprosessorisuunnittelijat lopulta lopettivat suurempien fyysisten resurssien käytön lähes samanaikaisesti, kun teknologian skaalaus alkoi saavuttaa rajansa. Sähkönkulutus ja siten lämmönpoistotarpeet lisäävät kellotaajuuden nousua mahdottomaksi. Nämä tekijät johtivat teollisuuden kohti ratkaisuja, jotka eivät juurikaan eroa Inmosin ehdottamista ratkaisuista.

Maailman tehokkaimmat supertietokoneet, jotka perustuvat Columbian yliopiston suunnitelmiin ja jotka on rakennettu IBM Blue Gene -malliksi , ovat transuter-unelman todellisia inkarnaatioita. Ne ovat valtavia kokoonpanoja identtisiä, suhteellisen heikon suorituskyvyn omaavia SoC-laitteita.

Viimeaikaiset suuntaukset ovat myös yrittäneet ratkaista transistoriongelman tavoilla, jotka olisivat olleet liian futuristisia jopa Inmosille. Sen lisäksi, että lisätään komponentteja CPU -muottiin ja asetetaan useita muotteja yhteen järjestelmään, modernit prosessorit asettavat yhä useamman ytimen yhteen muottiin. Trans -suunnittelijat kamppailivat sovittaakseen edes yhden ytimen transistoribudjettiinsa. Nykyään suunnittelijat, jotka työskentelevät 1000-kertaisella kasvulla transistoritiheyksissä, voivat tyypillisesti sijoittaa monia. Yksi viimeisimmistä kaupallisista tapahtumista on syntynyt XMOS- yritykseltä , joka on kehittänyt sulautettujen moniydinprosessorien monisäikeisten prosessorien perheen, jotka resonoivat voimakkaasti transputerin ja Inmosin kanssa. On syntymässä moniytiminen/monipisteinen prosessoriluokka, joka lähestyy verkkoa sirulla (NoC), kuten soluprosessori , Adapteva Epiphany -arkkitehtuuri, Tilera jne.

Transuter ja Inmos auttoivat luomaan Bristolin , Iso -Britannian , mikroelektronisen suunnittelun ja innovoinnin keskukseksi.

Katso myös

Viitteet

Ulkoiset linkit