Кіріспе

1980-жылдардағы жаңашыл микропроцессорлар сериясы

Транспроцессор – 1980-жылдардағы жаңашыл микропроцессорлар сериясы, параллель есептеулер үшін жасалған. Осы мақсатта, әрбір транспроцессорда өздігінен жадысы және басқа транспроцессорлармен дерек алмасуға арналған тізбекті байланыс арналары болды. Оларды Ұлыбританияның Бристоль қаласында орналасқан Inmos жартылай өткізгіш компаниясы жобалап, өндірген. 1980-жылдардың соңында көптеген адамдар транспроцессорды компьютер индустриясының болашағы үшін маңызды жаңалық деп есептеді. Транспроцессор осы үміттерді толыққанды іске асырмаса да, оның архитектурасы компьютерлік архитектура саласында жаңа идеялардың пайда болуына зор ықпал етті, олардың кейбіреулері қазіргі заманғы жүйелерде түрлендірілген күйде қолданылуда.

Өмірбаян

1980 жылдардың басында дәстүрлі орталық процессорлар (CPU) өнімділік шегіне жеткендей көрінді. Осыған дейін өндіріс қиындықтары чипке сыятын схемалардың мөлшерін шектеді. Өндіріс процесін жақсарту бұл шектеуді көп бөлігінде жойды. Он жыл ішінде чиптер дизайнерлер пайдалана білетіннен де көп схемаларды сыйдыра алды. Дәстүрлі күрделі командалар жинағын қолданатын (CISC) компьютерлердің дизайны өнімділік платосына жетті, және оны жеңуге болатыны белгісіз болды. Алға жылжудың жалғыз жолы – параллелизмді арттыру, яғни бірнеше CPU-дың бір уақытта бірнеше тапсырманы шешу үшін бірлесіп жұмыс істеуін пайдалану сияқты. Бұл машиналардың бір мезгілде бірнеше тапсырманы орындау қабілетіне байланысты болды, бұл процеске көп тапсырмалылық делінеді. Бұрынғы микропроцессорлар үшін мұндай тапсырманы орындау әдетте өте қиын болған, бірақ соңғы үлгілер оны тиімді түрде орындай алды. Болашақта бұл барлық операциялық жүйелердің (ОЖ) қасиеті болатыны анық болды. Көп тапсырмалылық дизайнының бір әсері – процестерді физикалық түрде әртүрлі CPU-ларда орындау мүмкіндігі, мұндай жағдайда ол көп процессорлылық деп аталады. Көп процессорлылыққа арналған төмен құнмен жасалған CPU машинаның жылдамдығын көбірек CPU-ларды қосу арқылы арттыруға мүмкіндік береді, бұл бір жылдам CPU дизайнын пайдаланудан әлдеқайда арзан болуы мүмкін. Алғашқы транспотер дизайнын компьютер ғалымы Дэвид Мэй және телекоммуникация кеңесшісі Роберт Милн жасаған. 1990 жылы Мэй Саутгемптон университетінен құрметті ғылым докторы (DSc) дәрежесін алды, содан кейін 1991 жылы Корольдік қоғамның мүшесі болып сайланды және 1992 жылы Физика институтының Паттерсон медалімен марапатталды. 1987 жылы "Инмос" компаниясының жетекші инженері Тони Фьюдж T414 транспотеріндегі жұмысы үшін Принц Филипп дизайнерлер сыйлығымен марапатталды.

Дизайн

Транспьютер – параллельді есептеу жүйелерінде пайдалану үшін арнайы жасалған алғашқы жалпы мақсаттағы микропроцессор. Мақсат – толыққанды параллельді компьютер құру үшін сымдармен қосылатын, қуаты мен құны жағынан әртүрлі чиптер отбасын жасау еді. Атауы ("транзистор" және "компьютер" сөздерінен құралған) жеке транспьютерлердің атқаратын рөлін көрсету үшін таңдалды: олардың саны бұрынғы жобаларда транзисторлар қолданылғандай, үлкен интеграцияланған жүйеде негізгі құрылыс блоктары ретінде пайдаланылатын болады. Бастапқы жоспар бойынша транспьютерлердің бірлігінің құны бірнеше доллар ғана болуы керек еді. Inmos оларды компьютердің негізгі процессоры ретінде жұмыс істеуден бастап, сол машинадағы дискілердің арна контроллері ретінде жұмыс істеуге дейін, іс жүзінде барлық қолдану саласында пайдалануды көздеді. Дәстүрлі машинада, мысалы, дискілік контроллер дискіге қол жеткізілмеген кезде өңдеу мүмкіндігі бос тұрады. Ал транспьютер жүйесінде, осындай транспьютерлердің бос циклдарын басқа тапсырмалар үшін пайдалануға болады, бұл машиналардың жалпы өнімділігін едәуір арттырады. Транспьютер үлкен көлемдегі чиптік жадыға ие болды, бұл оны жадтағы процессорға айналдырды. Тіпті бір транспьютердің өзі микроконтроллерлерге тән функция ретінде, өздігінен жұмыс істеу үшін қажетті барлық схемаларды қамтитын болды. Мақсат – транспьютерлерді күрделі шина немесе негізгі платасыз, мүмкіндігінше оңай қосуға мүмкіндік беру еді. Оларға қуат беру және қарапайым синхронды сигнал беру жеткілікті болды, ал қалғаны – кездейсоқ сәйкес жад (RAM), RAM контроллері, шина қолдауы және тіпті нақты уақыт операциялық жүйесі (RTOS) кіріктірілген. Осылайша, соңғы транспьютерлер сол кезде дамып келе жатқан SoC нарығындағы қайта пайдалануға болатын микро ядролар (RMC) болды.

Сәулет

Бастапқы транспаптер өте қарапайым және ерекше архитектураны пайдаланып, шағын аумақта жоғары өнімділікке қол жеткізді. Деректер жолын басқарудың негізгі әдісі ретінде микрокод қолданылды, бірақ сол кездегі басқа конструкциялардан айырмашылығы, көптеген командалар орындалу үшін бір ғана циклды қажет етті. Команданың операциялық кодтары микрокодтық жадқа (ROM) кіру нүктелері ретінде қолданылды және ROM-нан шыққан сигналдар тікелей деректер жолына берілді. Көп циклды командалар үшін деректер жолы бірінші циклді орындағанда, микрокод екінші цикл үшін төрт мүмкін нұсқаны декодтады. Осы нұсқалардың қайсысы қолданылатыны туралы шешім бірінші циклдің соңына қарай қабылдануы мүмкін. Бұл архитектураны жалпылама сақтай отырып, өте жылдам жұмыс істеуге мүмкіндік берді. 20 МГц сағаттық жиілігі сол дәуір үшін өте жоғары болды және дизайнерлер мұндай жылдам сағаттық сигналды тақтада таратудың мүмкіндігіне қатты алаңдады. 5 МГц баяу сыртқы сағат қолданылды және фазалық құлыпталған цикл (PLL) арқылы қажетті ішкі жиілікке дейін көбейтілді. Ішкі сағаттың төрт бір-бірімен келіспейтін фазасы болды және дизайнерлер олардың кез келген комбинациясын пайдалануға еркін болды, сондықтан транспаптер 80 МГц жылдамдықта жұмыс істеді деуге болады. Динамикалық логика дизайнның көп бөліктерінде аумақты азайту және жылдамдықты арттыру үшін қолданылды. Өкінішке орай, бұл әдістерді автоматты тесттік үлгілерді жасаумен және сканерлік сынақтармен біріктіру қиын болды, сондықтан олар кейінгі конструкцияларда қолданылмады. Prentice Hall транспаптердің жалпы принциптері туралы кітап жариялады.

Сілтемелер

Транспутердің негізгі дизайны "os link" деп аталатын тізбектік байланыстарды қамтиды, олардың көмегімен ол әрқайсысы 5, 10 немесе 20 Мбит/с жылдамдықпен төрт басқа транспутёрмен байланыса алатын, бұл 1980-жылдарға өте жылдам еді. Кез келген мөлшердегі транспутёрлерді байланыстар арқылы (ондаған метрге дейін созылатын) біріктіріп, бір есептеу фермасын құруға болады. Гипотетикалық үстел компьютерінде екі "төменгі деңгейдегі" транспутёрлер кіріс/шығыс (I/O) тапсырмаларын кейбір тізбектік байланыстарында (тиісті аппараттық құралдарға қосылған) орындай алатын, сондай-ақ олар CPU ретінде жұмыс істейтін үлкенірек құрылғыларымен байланыса алатын. Осылай құрастырылған жүйенің мөлшері шектеулі болды. Әрбір транспутёр басқасына тікелей байланыс арқылы қосылғандықтан, алысқа орналасқан транспутёрге хабар жіберу үшін хабар желідегі әрбір чип арқылы жіберілуі керек еді. Бұл әр "секіріс" кезінде кешігуді тудырып, үлкен желілерде ұзақ кешігуге әкелді. Бұл мәселені шешу үшін Inmos сондай-ақ 32 транспутёрді (немесе коммутаторларды) одан да үлкен желілерге қосатын нөлдік кешігулі коммутаторды ұсынды.

Жүгірту

Транспутерлер жадыдан жүктелуі мүмкін, бұл көптеген компьютерлерге тән, бірақ оларды желілік байланыстар арқылы да жүктеуге болады. Чиптердегі BootFromROM деген арнайы түйреуіш, қай әдіс қолданылуы керектігін көрсетеді. Егер чип қайта қосылғанда BootFromROM белсенді болса, ол жадтың жоғарғы бөлігіндегі екі байттық нұсқаудан өңдеуді бастайды, бұл әдетте жүктеу кодына кері секіру үшін қолданылады. Егер бұл түйреуіш белсенді болмаса, чип кез келген желілік байланыста байттарды күтеді. Алғашқы байт, одан кейін келетін кодтың ұзындығын көрсетеді. Келесі байттар төменгі жадқа көшіріліп, содан кейін сол байттар саны алынғанда оған секіріледі. Жүйенің жалпы идеясы, бірнеше қосылған транспутерлерден тұратын жүйені жүктеу үшін бір транспутер орталық орган ретінде жұмыс істеуі керек болды. Таңдалған транспутерде BootFromROM тұрақты түрде белсенді болады, ол қосылғанда ROM-нан жүктеу процесін бастайды. Басқа транспутерлер BootFromROM-ды деактивациялап, жай ғана күтеді. Жүктеуші орталық транспутерді жүктейді, ол желідегі басқа транспутерлерге жүктеу кодын жібере бастайды және әрқайсысына жіберілген кодты өзгерте алады, мысалы, қатты дискілерге қосылған транспутерге құрылғы драйверін жібереді. Жүйе сонымен қатар PEEK және POKE үшін 0 және 1 деген ерекше код ұзындықтарын қамтиды. Бұл жүктеме жасалмаған транспутердегі жадты қарап шығуға және өзгертуге мүмкіндік береді. Жадыны қарап шығып, содан кейін жад адресін немесе деректердің бір сөзін және адресін жібергеннен кейін, транспутер қайтадан жүктеуді күтуге оралады. Бұл механизм көбінесе қателерді жою үшін қолданылады.

Жоспарлаушы

Қосымша схемалар желілер арқылы трафикті жоспарлап берді. Коммуникацияны күтіп тұрған процестер желілік схема оқу немесе жазу амалдарын аяқтағанда автоматты түрде тоқтап, транспьютерде жұмыс істейтін басқа процестерге өңдеу уақыты берілетін болды. Нақты уақыт пен көппроцессорлық жұмысты жақсарту үшін екі деңгейлі басымдық қарастырылды. Бір транспьютерде іске қосылған бағдарламалардың арасындағы байланыс жадыдағы виртуалды желілік байланыстар арқылы осы логикалық жүйемен жүзеге асырылды. Сондықтан, кез келген дерек кірістіру немесе шығару сұрауы бар бағдарламалар операция аяқталғанша автоматты түрде тоқтатылды, мұндай міндет әдетте аппараттық құралдарды басқару үшін операциялық жүйеге жүктеледі. Транспутердегі операциялық жүйелерге жоспарлауды жүзеге асыру қажет болмады, себебі чиптің өзінде операциялық жүйе бар деп санауға болады.

Даму

Көптеген транспаутер жүйелерін прототиптеу, құрастыру және конфигурациялаудың оңай тәсілін ұсыну үшін Inmos 1987 жылы TRAM (TRAnsputer Module) стандартын енгізді. TRAM негізінен транспаутерден және, қажет болған жағдайда, сыртқы жадтан және/немесе перифериялық құрылғылардан тұратын, қуат, транспаутер байланыстарын, сағатты және жүйелік сигналдарды қамтамасыз ететін қарапайым стандартталған қосылымдармен жабдықталған, құрылымдық дочерняя плата болды. TRAM-ның әртүрлі өлшемдері анықталды, ең кішкентай 1-ші өлшемді TRAM (3.66 дюйм x 1.05 дюйм) бастап 8-ші өлшемге (3.66 дюйм x 8.75 дюйм) дейін. Inmos компаниясы Industry Standard Architecture (ISA), MicroChannel немесе VMEbus сияқты әртүрлі хост-шиналарға арналған TRAM негізгі платаларын шығарды. TRAM байланыстары 10 Мбит/с немесе 20 Мбит/с жылдамдықпен жұмыс істейді.

Бағдарламалық жасақтама

Транспутерлер жүйелі үдерістерді (CSP) үдерістік есептеуінің негізіндегі occam бағдарламалау тілі арқылы бағдарламалануға арналған. Транспутер Occam-ды орындау үшін арнайы құрылды, бұл қазіргі заманғы CISC-тің Pascal немесе C сияқты тілдерді орындауға бағытталған дизайнынан ерекшеленеді. Occam тілінің өзегінде қатарлы орындау және арнаға негізделген процестер аралық немесе процессорлар аралық байланыс мүмкіндіктері қарастырылған. Чипке енгізілген параллелизм және тілдің онымен тікелей өзара әрекеттесуі құрылғы контроллерлері сияқты жүйелерге код жазуды өте жеңілдетті; тіпті ең қарапайым код I/O үшін серийлік порттарды қадағалай алатын және дерек болмағанда автоматты түрде күйге түсетін болды. Транспутерге арналған алғашқы Occam әзірлеу ортасы Inmos D700 Транспутерлік әзірлеу жүйесі (TDS) болды. Бұл редактор, компилятор, байланыстырушы және (кейіннен) қателерді жою құралын біріктіретін дәстүрден тыс интеграцияланған әзірлеу ортасы еді. TDS – Occam тілінде жазылған транспутерлік қосымша. TDS мәтіндік редакторының ерекшелігі – ол код блоктарын жасыру және ашу арқылы код құрылымын түсінікті етуге мүмкіндік беретін бүктемелі редактор болды. Алайда, бейтаныс бағдарламалау тілі мен осыған сәйкес бейтаныс әзірлеу ортасының үйлесімі транспутердің бастапқы танымалдылығына оң әсер етпеді. Кейін Inmos дәстүрлі Occam кросс-компиляторларын, Occam 2 Toolsets-ті шығарды. Inmos және үшінші тарап өндірушілер C, FORTRAN, Ada, Forth және Pascal сияқты кең таралған бағдарламалау тілдерінің нұсқаларын да ұсынды. Бұл әдетте Occam сияқты қатарлы орындау және арнаға негізделген байланысты, бірақ аз жетілдірілген тәсілмен қамтамасыз ететін тілдік кеңейтімдерді немесе кітапханаларды қамтыды. Транспутердің виртуалды жадты қолдаудың болмауы Unix операциялық жүйесінің кең таралған нұсқаларын жүктеуге кедерілді, бірақ Unix-ке ұқсас операциялық жүйелердің (мысалы, Minix және Whitesmiths-тен Idris) нұсқалары жасалды. Helios деп аталатын Unix-ке ұқсас кеңейтілген таратылған операциялық жүйе Perihelion Software компаниясымен көп транспутерлік жүйелер үшін арнайы әзірленді.

Қолданылу

Алғашқы транспаутерлер 1983 жылы жарияланып, 1984 жылы шығарылды. Микроконтроллер сияқты құрылғылар ретіндегі рөліне сай келіп, олар бортында RAM және енгізілген RAM контроллерін қамтыды, бұл қосымша аппаратты қажет етпей-ақ көбірек жадты қосуға мүмкіндік берді. Басқа конструкциялардан өзгеше, транспаутерлер I/O желілерін қамтымады: олар қолданыстағы тізбектік байланыстарға қосылған аппараттық құралдар арқылы қосылуы керек еді. Бір "Оқиға" желісі болды, ол дәстүрлі процессордың үзіліс желісіне ұқсас. Оқиға арнасы ретінде қарастырылғанда, бағдарлама оқиға арнасынан 'мәлімет алады' және оқиға желісі белгіленгеннен кейін ғана жұмысын жалғастырады. Барлық транспаутерлер сыртқы 5 МГц сағаттық кірістен жұмыс істеді; бұл процессор сағатын қамтамасыз ету үшін еселенді. Транспаутерде жадты басқару бірлігі (MMU) немесе виртуалды жад жүйесі болған жоқ. Транспаутер түрлерін (жойылған T9000-нан басқа) үш топқа бөлуге болады: 16 биттік T2 сериясы, 32 биттік T4 сериясы және 64 биттік IEEE 754 қалқыма нүктелік қолдауы бар 32 биттік T8 сериясы.

T2: 16-бит

16 биттік транспаутердің прототипі S43 болды, онда жоспарлаушы және DMA басқарылымымен блоктарды сілтемелер арқылы беру болмады. Алғашқыда T212 және M212 (соңғысы бортында дискілік контроллермен) 16 биттік өнімдер болып табылды. T212 процессор сағатының 17,5 және 20 МГц жиілігімен қол жетімді болды. T212, T222-мен алмастырылды, чиптегі RAM-і 2 КБ-тан 4 КБ-қа дейін кеңейтілді, ал кейіннен T225 пайда болды. Бұл оқиғаны тоқтату нүктесін қолдауды қамтамасыз етті ("J 0" командасын кеңейту арқылы) сонымен қатар T800 командалар жиынтығынан қосымша командалар енгізілді. T222 және T225 екеуі де 20 МГц жиілікте жұмыс істеді.

T4: 32 биттік

1985 жылдың қазан айында ұсынылған T414 процессоры 900 000 транзисторға баламалы және 1,5 микрометрлік элементтік өлшеммен жасалған. Бұл 32 биттік архитектура, ол 32 биттік деректерді өңдеуге және 4 ГБ негізгі жадты қолдануға мүмкіндік берді. Алғашқы 32 биттік нұсқа T424 болуы жоспарланған, бірақ өндіріс келеспеушіліктері салдарынан, ол 2 КБ бортындағы жадпен T414 ретінде қайта жобаланды, ал жоспарланған көлемі 4 КБ еді. T414 15 және 20 МГц жиіліктік нұсқаларында қол жетімді болды. Жадының көлемі кейіннен T425 моделінде (20, 25 және 30 МГц жиіліктерінде) 4 КБ-қа дейін қайта қалпына келтірілді, сонымен қатар J 0 үзіліс нүктесін қолдау және қосымша T800 командалары енгізілді. 1989 жылдың қыркүйегінде ұсынылған T400 – кіріктірілген жүйелер нарығына бағытталған, 2 КБ жады мен төрт емес, екі байланысқа ие, 20 МГц T425 процессордың төмен бағалы түрі.

T8: жылжымалы нүкте

1987 жылы шығарылған екінші буын T800 транспаутері кеңейтілген нұсқаулар жинағына ие болды. Ең маңызды жаңалық – 64 биттік қалқыма нүктелік процессор (FPU) және IEEE 754 1985 жылғы қалқыма нүктелік стандартын іске асыруға арналған үш қосымша тіркегіш болды. Оған сонымен қатар 4 КБ бортындағы жад және 20 немесе 25 МГц жиілікті нұсқалары қол жетімді болды. T801 және T805 келесі буындарында breakpoint қолдауы қосылды, ал T801 өнімділікті арттыру үшін жеке адрестік және деректер шиналарымен жабдықталды. T805 кейіннен 30 МГц нұсқасында да қол жетімді болды. Көбірек жад, жылдам және көптеген байланыстар, қосымша нұсқаулар мен жақсартылған микрокодқа ие болатын жаңартылған T810 жоспарланған, бірақ ол 1990 жыл шамасында жобадан алынды. Inmos транспаутер процессорларына арналған C004 32 жолдық байланыс коммутаторы және транспаутер байланыстарын 8 биттік деректер шинасына қосуға мүмкіндік беретін C011 және C012 «байланыс адаптерлері» сияқты түрлі қосымша микросхемаларды да өндірді.

T400

Inmos-тың бастапқы стратегиясының бір бөлігі – процессорларды (CPU) өте кішкентай және арзан ету, оларды басқа логикалық схемалармен бір құрылғыда біріктіруге болатындай етіп жасау еді. Бүгінде кең таралған «чиптегі жүйе» (SoC) тұжырымы 1980 жылдардың басында дерлік естілмеген. 1983 жыл шамасында екі жоба басталды: M212 және «телеойыншық». M212 стандартты T212 ядросына негізделген, ST 506 және ST 412 Shugart стандарттарына арналған дискілік контроллер қосылған. «Телеойыншық» видео ойын консолінің негізі болуы тиіс еді және бұл Inmos пен Sinclair Research компанияларының бірлескен жобасы болды. T212 және T414/T424 транспаутерлерінде аппараттық DMA қозғалтқыштары болды, соның арқасында басқа процестерді орындаумен бірге деректерді беру мүмкін болды. CPU деректерді беруді өзі жүзеге асыратын T400 деп аталатын дизайнның бір түрі жасалды, оны кейінірек сол атпен шыққан транспаутермен шатастырмау керек. Бұл құрылғының мөлшерін едәуір қысқартты, себебі 4 байланыс қозғалтқышы шамамен бүкіл CPU-дың көлемімен тең болды. T400 сол кезде «силицийдегі жүйелер» (SOS) деп аталатын құрылғыларда ядро ретінде пайдалануға арналған, ал қазір бұл «чиптегі жүйе» (SoC) деп белгілі және осы атауымен жақсы таныс. Осы дизайн «телеойыншықтың» бір бөлігі болуы тиіс еді. Жоба 1985 жылы тоқтатылды.

T100

Бұрынғы SoC жобаларының жетістігі шектеулі болғанымен (M212 бір кезде сатылды), көптеген инженерлер концепцияға берік сенімді болды және 1987 жылы T100 деген жаңа жоба басталды. Бұл жоба транспаутер процессордың 8 биттік нұсқасын күй машиналарына негіделген конфигурацияланатын логикамен үйлестірді. Транспаутер командалар жиынтығы 8 биттік командаларға негізделген, сондықтан оны 8-ге еселі кез келген сөз өлшемімен оңай пайдалануға болады. T100 жобасының нарығы Futurebus сияқты шина контроллерлері және стандартты байланыс адаптерлерін (C011 және т.б.) жаңарту болып жоспарланған. Алайда, T840 (кейіннен T9000 негізіне айналған) жобасы басталғанда бұл жоба тоқтатылды.

TPCORE

TPCORE – бұл операциялық жүйе байланыстарын қамтитын, өрісте бағдарламаланатын қақпа массивінде (FPGA) іске асырылған транспаутердің нұсқасы.

T9000

Inmos T8 сериялы транспаптерлердің өнімділігін T9000 (әзірлеу кезінде H1 кодымен белгіленген) енгізу арқылы арттырды. T9000, T800-мен көптеген ерекшеліктерді бөлісті, бірақ дизайнның бірнеше бөлігін аппараттық құрылғыға көшірді және суперскалярлық қолдау үшін жаңа мүмкіндіктер қосты. Алдыңғы модельдерден өзгеше, T9000 RAM орнына 16 КБ жоғары жылдамдықты кэшті (рандомды алмастырумен) пайдаланды, сонымен қатар оны жад ретінде қолдануға мүмкіндік берді және осының бәрін басқару үшін MMU сияқты функционалдылықты (PMI деп аталды) қамтыды. T9000 жылдамдықты арттыру үшін, бұрынғы нұсқалардағы үш орнына, стектегі ең жоғарғы 32 орынды кэштейтін болды. T9000 одан да жоғары жылдамдық үшін бес кезеңді конвейерді қолданды. Қызықты жаңалық – групер, ол кэштен нұсқауларды жинап, оларды 8 байтқа дейін үлкен пакеттерге біріктіріп, конвейерді жылдамдатуға мүмкіндік берді. Бұл пакеттер бір циклде орындалды, тіпті олар жылдам процессорда жұмыс істейтін бір үлкен нұсқау сияқты болды. Байланыс жүйесі жаңа 100 МГц режиміне жаңартылды, бірақ бұрынғы жүйелерден айырмашылығы, байланыс енді кері үйлесімді болмады. Бұл жаңа пакеттік байланыс протоколы DS Link деп аталды және кейін IEEE 1355 сериялық өзара байланыс стандартының негізін құрады. T9000 сонымен қатар VCP (Virtual Channel Processor) деп аталатын сілтеме маршрутизациялау аппараттарын қосты, ол байланыстарды нүктеден нүктеге емес, нағыз желіге айналдырды, байланыстарда кез келген сандағы виртуалды арналарды құруға мүмкіндік берді. Бұл бағдарламалардың байланыстардың физикалық орналасуын білуі қажет емес екенін білдірді. DS Link қолдау чиптерінің бірнеше түрі әзірленді, соның ішінде C104 32 жолды қиылыс коммутаторы және C101 сілтеме адаптері. T9000-ды әзірлеудегі ұзақ кешігулер салдарынан, одан жылдам жүк/сақтау дизайндары оны шығаруға дайын болған кезде одан да жақсы өнім көрсетті. Ол өзінің T800-ді он есе басып озу мақсатына жетуге үнемі сәтсіздікке ұшырады. Жоба аяқталғанда, ол 50 МГц жиілікте шамамен 36 MIPS ғана көрсетті. Өндірістің кешігуіне байланысты, T9000 үшін ең жақсы хост архитектурасы – проектор деген әзіл пайда болды. Бұл Inmos үшін тым ауыр болды, себебі олар дамуды жалғастыру үшін жеткілікті қаржылық қаражаты болмады. Осы кезде компания SGS Thomson (қазір STMicroelectronics) компаниясына сатылды, олардың назарында кіріктірілген жүйелер нарығы болды, және ақырында T9000 жобасы тоқтатылды. Дегенмен, кейіннен T9000 үшін әзірленген технологияларды пайдалана отырып, кіріктірілген қосымшаларға арналған 32 биттік транспаптер, ST20 сериясы, толыққанды қайта құрылды. ST20 ядросы тұтқалар мен GPS-ке арналған чипсеттерге енгізілді.

ST20

Транспутник емес болса да, ST20 T4 және T9 процессорларының үлкен әсеріне тап болды және T450 процессорларының негізін қалады, оны соңғы транспутник деп санауға болады. ST20-ның мақсаты сол кезде дамып келе жатқан SoC нарығында қайта пайдалануға болатын ядро болу еді. ST20-ның бастапқы атауы Қайта пайдаланылатын Микро Ядро (RMC) болды. Архитектурасы микрокодпен басқарылатын деректер жолы бар бастапқы T4 архитектурасына негізделген. Дегенмен, бұл толыққанды жаңа жобалау болды, дизайн тілі ретінде VHDL пайдаланылды және оңтайландырылған (және қайта жазылған) микрокод компиляторы қолданылды. Жоба 1990 жылы T9 процессорларының көптеген қолданулар үшін тым үлкен болатыны анықталғанда жоспарланды. Нақты жобалау жұмыстары 1992 жылдың ортасында басталды. Бірнеше сынақ жобалары жасалды, олар өте қарапайым RISC стиліндегі процессордан бастап, бағдарламалық жасақтама арқылы іске асырылған күрделі нұсқаулары бар процессорға дейін, тіпті Tomasulo алгоритміне ұқсас күрделі суперскалярлық жобаға дейін жетті. Соңғы жоба бастапқы T4 ядросына өте ұқсас болды, бірақ орындалу жылдамдығын арттыру үшін қарапайым нұсқаулар топтастыру және жұмыс кеңістігі кэші қосылды.

Бала асырап алу

Транспутер қазіргі заманғы көптеген конструкциялармен салыстырғанда қарапайым болғанымен, қуатты еді, бірақ CPU және микроконтроллер рөлінде универсалды қолданылу мақсатына жақындамады. Микроконтроллер нарығында баға ең маңызды фактор болған 8-биттік машиналар басымдық құрды. Осы жағдайда, тіпті T2 да көптеген пайдаланушылар үшін тым қуатты және қымбат болды. Компьютерлік жұмыс станциялары саласында транспутер өте жылдам болды (20 МГц жиілікте секундтына 10 миллион нұсқау (MIPS) орындады). Бұл 1980-ші жылдардың басында тамаша көрсеткіш еді, бірақ жылжымалы нүктелі процессор (FPU) бар T800 шығарылған кезде, басқа RISC конструкциялары оны басып өтті. Егер машиналар жоспарланғандай бірнеше транспутерлерді қолданғанда, жағдайды жақсартуға болар еді, бірақ T800-дің әрқайсысы шамамен 400 долларға сатылды, бұл баға мен өнімділік арақатынасының нашар екенін көрсетті. Транспутерге негізделген жұмыс станцияларының аз ғана саны жасалды, олардың ең танымалсы – Atari Transputer Workstation. Транспутер 1980-ші жылдардың соңында бірнеше сатушылар транспутерлік жүйелерді шығарған кезде, параллель есептеу саласында сәттілікке жетті. Олардың қатарында Inmos компаниясының бұрынғы қызметкерлері құрған Meiko Scientific, Floating Point Systems, Parsytec және Parsys компаниялары бар. Бірнеше британдық академиялық мекемелер транспутерлік параллель жүйелерді қолдану бойынша зерттеулер жүргізді, соның ішінде Бристоль политехникалық институтының Бристоль транспутер орталығы және Эдинбург университетінің Эдинбургтік бір мезгілдегі суперкомпьютерлік жобасы. Сонымен қатар, DESY-дегі Хадрондық электронды сақиналы коллайдері (HERA) үшін жоғары энергиялық физикалық ZEUS экспериментінің деректерді жинау және екінші деңгейлі триггер жүйелері бірнеше подсистемаға бөлінген 300-ден астам синхронды сағатталған транспутерлер желісіне негізделген. Бұл жүйелер арнайы детектордың электронды құрылғыларынан деректерді оқып, физикалық оқиғаларды іріктеу үшін қайта құру алгоритмдерін іске қосты. Транспутердің параллель өңдеу мүмкіндіктері 1990-шы жылдардың басында әлемдегі ең ірі баспа компаниясы RR Donnelley & Sons компаниясымен бейне өңдеу үшін коммерциялық түрде пайдаланылды. Баспаға дайындау үшін цифрлық кескіндерді жылдам түрлендіру мүмкіндігі компанияға бәсекелестерінен айтарлықтай артықшылық берді. Бұл жобаны RR Donnelley Technology Center-де Майкл Бенгстон басқарды. Бірнеше жылдан кейін, тіпті үстелдік компьютерлердің өңдеу қабілеті компания үшін арнайы көппроцессорлық жүйелердің қажеттілігін жойды. Неміс компаниясы Jäger Messtechnik өзінің алғашқы ADwin деректерді нақты уақыт режимінде жинау және басқару өнімдері үшін транспутерлерді қолданды. Француз компаниясы 144 T800 және T400 транспутерлері бар Archipel Volvox суперкомпьютерін құрды. Оны UNIX жүйесінде жұмыс істейтін Silicon Graphics Indigo2 және Volvox артқы панельдерімен байланысатын арнайы карта басқарды. Транспутерлер Siemens / Tektronix K1103 сияқты протоколдық анализаторларда, сондай-ақ радар сияқты қолданбаларға сәйкес келетін массивтік архитектураға ие болған әскери салаларда да қолданылды, ал сериялық байланыстар (1980-ші жылдары жоғары жылдамдықты) қосалқы жүйелік байланыстарда шығындарды және салмақты азайтуға көмектесті. Транспутер виртуалды шындыққа қатысты өнімдерде де пайда болды, мысалы, Бристольдегі Division Limited компаниясы жасаған ProVision 100 жүйесі, ол Intel i860, 80486/33 және Toshiba HSP процессорларының комбинациясын, сондай-ақ T805 немесе T425 транспутерлерін қамтыды, бұл PC, Sun SPARCstation немесе VAX жүйелері сервер ретінде қол жеткізе алатын рендерлеу жүйесін іске асырды. Astrium Satellites және CNES компанияларымен әзірленген және Picard сияқты спутниктерде қолданылатын Myriade, шағын спутниктік платформа T805 негізінде жұмыс істейді, шамамен 4 MIPS өнімділігін береді және 2015 жылға дейін өндірісте болады деп жоспарланған. Коммуникациялар мен есептеулердің асинхронды жұмыс істеуі, мысалы, Бэйннің "Асинхронды полиномиалды нөлді табу" алгоритмі сияқты асинхронды алгоритмдерді дамытуға мүмкіндік берді. Асинхронды алгоритмдер саласы және қазіргі алгоритмдердің асинхронды іске асырылуы экзамасштабты есептеулерге көшуде маңызды рөл атқарады. Жоғары энергиялы транзиторлық Explorer 2 (HETE 2) ғарыш кемесі 4× T805 транспутерлері мен 8× DSP56001 процессорларын қолданды, бұл шамамен секундтына 100 миллион нұсқау (MIPS) өнімділігін қамтамасыз етті.

Мұра

Ішкі параллелизмнің өсуі дәстүрлі CPU дизайндарын жақсартудың маңызды күші болды. Транспутерде қолданылғандай тікелей жіптік параллелизмді пайдаланбастан, CPU дизайны нұсқаулар деңгейіндегі жасырын параллелизмді пайдаланды, код тізбектерін деректерге тәуелділіктері үшін тексеріп, әртүрлі орындау бірліктеріне бірнеше тәуелсіз нұсқауларды жіберді. Бұл суперскалярлық өңдеу деп аталады. Суперскалярлық процессорлар ретті түрде құрылған код фрагменттерін орындауды оңтайландыруға жарайды. Суперскалярлық өңдеу және болжамды орындаудың үйлесімі Паскаль, Фортран, C және C++ тілдерінде жазылған кодтардың өнімділігін айтарлықтай арттырды. Қолданыстағы кодтың өнімділігін тұрақты түрде жақсартуға байланысты, бағдарламалық жасақтаманы тапсырма деңгейіндегі параллелизмді жақсы көрсететін тілдерде немесе кодтау стильдерінде қайта жазуға ынталандыру аз болды. Дегенмен, бір-бірімен ынтымақтаса жұмыс істейтін процессорлардың моделі 21-ғасырдағы суперкомпьютерлерді құруда басымдық танытқан кластерлік есептеу жүйелерінде кездеседі. Транспутер архитектурасынан айырмашылығы, бұл жүйелердегі өңдеу бірліктері әдетте үлкен көлемде жадқа және дискілік кеңістікке қол жеткізе алатын суперскалярлық процессорларды, сондай-ақ дәстүрлі операциялық жүйелер мен желілік интерфейстерді қолданады. Мұндай жүйелердегі түйіндердің күрделілігіне байланысты, параллелизмді үйлестіруге арналған бағдарламалық жасақтама архитектурасы көбінесе транспотер архитектурасынан гөрі ауыр болады. Транспутердің бастапқы мақсаты сақталды, бірақ 20 жылдан астам уақыт бойы транзисторлардың санының екі еселенуімен жасырылды. Мінезді микропроцессорларды жасаушылар үлкен физикалық ресурстарды пайдаланудың қажеттілігін сезінбеді, дәл сол кезде технологияның шектелуі басталды. Электр қуатын тұтыну және одан туындайтын жылуды тарату қажеттіліктері сағаттық жиілікті одан әрі арттыруды мүмкін етпейді. Осы факторлар индустрияны Inmos ұсынған шешімдерге ұқсас жаңа шешімдерге итермеледі. Әлемдегі ең қуатты суперкомпьютерлердің кейбіреулері, Колумбия университетінің жобаларына негізделген және IBM Blue Gene ретінде салынған, транспотерлік арманның нақты көрінісі болып табылады. Олар салыстырмалы түрде төмен өнімділікке ие бірдей SoC-тердің үлкен жиынтығынан тұрады. Соңғы трендтер транзисторлық дилемманы тіпті Inmos үшін де қиялдау қиын болған жолдармен шешуге тырысады. CPU-ға компоненттерді қосудан және бір жүйеге бірнеше чиптерді орналастырудан басқа, қазіргі процессорлар бір чипке бірнеше ядроны орналастырады. Транспутерді жасаушылар тіпті бір ядроны да транзисторлық бюджетке сыйдыруға күресті. Бүгінде транзистор тығыздығының 1000 есе өскеніне байланысты, дизайнерлер оларды оңай орналастыра алады. Соңғы коммерциялық жетістіктердің бірі XMOS компаниясынан келді, ол транспотер мен Inmos-қа ұқсас көп ядролы, көп жіптік процессорлар отбасын жасады. Чиптегі желі (NoC) тәсілін қолданатын көп ядролы/көп ядролы процессорлардың жаңа класы пайда болып келеді, мысалы Cell процессоры, Adapteva Epiphany архитектурасы, Tilera және т.б. Транспутер мен Inmos Ұлыбританияның Бристоль қаласын микроэлектроникалық дизайн мен инновация орталығы ретінде дамытуға көмектесті.