Кіріспе
RISC нұсқаулар жиынтығы PRISM (Parallel Reduced Instruction Set Machine) – Digital Equipment Corporation (DEC) әзірлеген 32 биттік RISC нұсқаулар жиынтығы архитектурасы (ISA). Бұл 1982–1985 жылдар аралығындағы DEC-тің бірнеше ғылыми-зерттеу жобаларының нәтижесі болды, ал жобаның енгізілуіне кешігу тудырған талаптар мен жоспарланған қолданыстар үнемі өзгеріп тұрды. Соңында бұл процеске Unix жұмыс станцияларының жаңа желісі үшін дизайнды пайдалану туралы шешім қабылданды. MicroPrism нұсқасының арифметикалық-логикалық құрылғысының (ALU) жобалау жұмысы 1988 жылдың сәуірінде аяқталды және үлгілер жасалды, бірақ жылжымалы нүктелік құрылғы (FPU) және жад басқару құрылғысы (MMU) сияқты басқа компоненттердің дизайны жазда DEC басшылығы MIPS негізіндегі жүйелерді бағалау ниетімен жобаны тоқтату туралы шешім қабылдағанда әлі толыққан жоқ. PRISM архитектурасы үшін MICA атты операциялық жүйе әзірленді, ол PRISM-де VAX/VMS және ULTRIX жүйелерін алмастыруға тиіс болған. PRISM жобасын тоқтату DEC үшін маңызды салдарға әкелді. Көптеген команда мүшелері келесі жылы компанияны тастап кетті, оның ішінде Дэйв Катлер Microsoft компаниясына өтіп, Windows NT әзірлеуін басқарды. MIPS негізіндегі жұмыс станциялары DEC-тің Ultrix пайдаланушылары арасында орташа деңгейде сәттілікке жетті, бірақ Sun Microsystems сияқты компаниялармен бәсекелесуде көп жетістікке ие болмады. Ал DEC-тің VAX желісі жаңа RISC дизайндары тіпті VAX 9000 моделінен де жоғары өнімділік көрсеткендіктен, уақыт өте келе бәсекеге қабілетін жоғалтты. Компания VAX-тың болашағын зерттегенде, PRISM сияқты процессор, бірнеше қосымша өзгерістермен, барлық нарықтарды қамти алатынына келісім тапты. PRISM тоқтатылғаннан кейін, 1989 жылы DEC Alpha бағдарламасы басталды.
PRISM (Parallel Reduced Instruction Set Machine) was a 32 bit RISC instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). It was the outcome of a number of DEC research projects from the 1982–1985 time frame, and the project was subject to continually changing requirements and planned uses that delayed its introduction. This process eventually decided to use the design for a new line of Unix workstations. The arithmetic logic unit (ALU) of the microPrism version had completed design in April 1988 and samples were fabricated, but the design of other components like the floating point unit (FPU) and memory management unit (MMU) were still not complete in the summer when DEC management decided to cancel the project in favor of MIPS based systems. An operating system codenamed MICA was developed for the PRISM architecture, which would have served as a replacement for both VAX/VMS and ULTRIX on PRISM. PRISM's cancellation had significant effects within DEC. Many of the team members left the company over the next year, notably Dave Cutler who moved to Microsoft and led the development of Windows NT. The MIPS based workstations were moderately successful among DEC's existing Ultrix users but had little success competing against companies like Sun Microsystems. Meanwhile, DEC's cash cow VAX line grew increasingly less performant as new RISC designs outperformed even the top of the line VAX 9000. As the company explored the future of the VAX they concluded that a PRISM like processor with a few additional changes could address all of these markets. Starting where PRISM left off, the DEC Alpha program started in 1989.
Өмірбаян
1977 жылы ұсынылған VAX, DEC үшін үлкен табысқа жеткізіп, IBM-нен кейін әлемдегі екінші нөмірлі компьютер өндірушісі ретінде бекітті. VAX өзінің бай нұсқаулар жиынтығы архитектурасы (ISA) үшін танымал болды, ол күрделі микрокодта іске асырылды. VMS операциялық жүйесі осы ISA-ның үстіне орналастырылды, бұл үзілістерді басқару және жад беттеуі үшін қолданылатын жад моделіне қатысты белгілі бір талаптарға әкелді. 1980 жылдардың басында VAX жүйелері көптеген технологиялық компаниялардың есептеу орталығына айналды, RS 232 кабельдері арқылы VT 100 терминалдарына қосылып, ғылым және инженерлік бөлімдерін жұмыс істеуге мүмкіндік берді. Бұл сәтті жағдай Мур заңымен бекітілген жартылай өткізгіш өндірісінің үздіксіз жақсаруымен бұзылды. 1980 жылдардың басында ертедегі VAX машиналарымен салыстырылатын өнімділікке ие, бірақ үстел үстіндегі піцца қорабының өлшеміне сыятын көптеген 32 биттік микропроцессорлар пайда болды. Sun Microsystems сияқты компаниялар Motorola 68000 сериясына негізделген Unix жұмыс станцияларын ұсынды, олар үлкен көп пайдаланушылы VAX машинасының орнына, тіпті жоғары өнімділікті ұсынатын, бірақ әрбір қажетті пайдаланушыға сатып алуға жеңіл болатын құрылғыларды ұсынды. DEC-тің өзінің микропроцессорлық командалары VAX-тің жаңа нұсқаларын төмен бағамен ұсынса да, олардың жүйелерінің баға-өнімділік көрсеткіші төмендеді. 1980 жылдардың соңында DEC өзін техникалық нарықтан шеттетуге тап болды.
RISC
1970 жылдары IBM өздерінің компьютерлік жүйелерінің өнімділігін зерттеуді жүргізді және таңғалысы ретінде, компьютер уақытының 80% тек бес операцияны орындауға жұмсалғанын анықтады. Олардың ИСА-сындағы жүздеген басқа нұсқаулар микрокодты пайдалану арқылы іске асырылды, бірақ олар көбінесе қолданылмады. Микрокодтың болуы нұсқауларды түсіндіру кезінде кешігуге әкелді, сондықтан тікелей шақырғанда да, осы бес нұсқаудың біреуі микрокодсыз болғандағыдан баяу жұмыс істеді. Бұл IBM 801 дизайнына, алғашқы заманауи RISC процессорына әкелді. Соған сәйкес, 1979 жылы Дейв Паттерсон Калифорния университетінен (Беркли) демалысқа жіберілді, ол DEC-тің батыс жағалау командасына VAX микрокодын жақсартуға көмектесу үшін. Паттерсон кодтау процесінің күрделілігіне таңырды және оны іске асыру мүмкін емес деп қорытты. Алдымен ол микрокодтауды жақсарту жолдары туралы мақала жазды, бірақ кейіннен ойын өзгертті және микрокодтың өзі мәселе екендігіне келді. Ол жақын арада Берклидегі RISC жобасын бастады. RISC-тің пайда болуы компьютер индустриясында оның артықшылықтары туралы ұзақ пікірталас тудырды. Паттерсон тұжырымдаманың аргументтерін алғаш рет 1980 жылы жариялағанда, DEC қарсы пікір жариялады. 1980-ші жылдардың ортасына қарай процессорды жобалаумен айналысатын барлық компаниялар RISC тәсілін зерттей бастады. Кез келген ресми қызығушылық болмаса да, DEC де ерекшелік емес еді. 1982-1985 жылдар аралығында DEC-тің әртүрлі бөлімдерінде RISC чипін жасауға кемінде төрт рет әрекет жасалды. DEC-тің Пало-Альтодағы Батыс зерттеу зертханасынан (WRL) шыққан Titan 1982 жылы басталған, Unix жүйесінде жұмыс істеуге арналған, жоғары өнімділікке ие ECL-ге негізделген жоба болды. SAFE (Streamlined Architecture for Fast Execution) – сол жылы басталған 64 биттік дизайн, оны Алан Коток (Spacewar! атымен танымал) және Дейв Орбитс VMS жүйесін іске қосу үшін жасады. HR 32 (Hudson, RISC, 32 bit) 1984 жылы Рич Витек және Дэн Доберпул Хадсон, MA зауытында VAX машинасымен бірге копроцессор ретінде пайдалану үшін бастады. Сол жылы Дейв Катлер Вашингтон штатының Беллвью қаласындағы DECwest-те CASCADE жобасын бастады.
By the mid 1980s practically every company with a processor design arm began exploring the RISC approach. In spite of any official disinterest, DEC was no exception. In the period from 1982 to 1985, no fewer than four attempts were made to create a RISC chip at different DEC divisions. Titan from DEC's Western Research Laboratory (WRL) in Palo Alto, California was a high performance ECL based design that started in 1982, intended to run Unix. SAFE (Streamlined Architecture for Fast Execution) was a 64 bit design that started the same year, designed by Alan Kotok (of Spacewar! fame) and Dave Orbits and intended to run VMS. HR 32 (Hudson, RISC, 32 bit) started in 1984 by Rich Witek and Dan Dobberpuhl at the Hudson, MA fab, intended to be used as a co processor in VAX machine. The same year Dave Cutler started the CASCADE project at DECwest in Bellevue, Washington.
PRISM бағдарламасы
Ақырында, 1985 жылы Катлерден бір RISC жобасын анықтау сұранып, бас сәулетші ретінде Рич Витекті таңдады. 1985 жылдың тамызында жоғары деңгейдегі жобаның алғашқы нұсқасы дайындалды және егжей-тегжейлі жобалау жұмысы басталды. PRISM спецификациясын бес адамнан тұратын команда бірнеше ай бойы әзірледі: Дэйв Катлер, Дэйв Орбитс, Рич Витек, Дилеп Бхандаркар және Уэйн Кардоза. Осы алғашқы кезеңде дизайн үнемі өзгертіліп отырды, себебі компания ішінде 32 немесе 64 биттік болатыны, коммерциялық немесе техникалық жүктемелерге бағытталатыны және тағы басқа мәселелер талқыланды. Осы үнемі болатын өзгерістердің нәтижесінде ISA-ның соңғы спецификациясы 1986 жылдың қыркүйегіне дейін толыққан жоқ. Сол кезде негізгі идеяның екі нұсқасын жасау туралы шешім қабылданды, DECwest Crystal деп аталатын «жоғары деңгейдегі» ECL нұсқасын жасады, ал жартылай өткізгіштерді дамыту тобы CMOS нұсқасы microPRISM-ді жасады. Бұл жұмыс 1985-86 жылдары 98% аяқталды және Пит Бенуаның үлкен VAX кластеріндегі симуляцияларымен күшті қолдау көрсетілді. Осы кезеңде DEC инженерлерінің арасында RISC шынымен жылдам ба, әлде оның өнімділігін көрсету үшін қолданылатын бес жолды қарапайым бағдарламаларда ғана жылдам ба деген күмән болды. Crystal дизайны негізінде, 1986 жылы ол сол кездегі ең жылдам машинамен, VAX 8800-мен салыстырылды. Қорытынды айқын болды: белгілі бір инвестиция үшін RISC дизайндары VAX-тан 2 есеге артық өнім береді. 1987 жылдың ортасында екі дизайн да 64 биттік болуы керек деген шешім қабылданды, бірақ бұл тек бірнеше апта ғана сақталды. 1987 жылдың қазан айында Sun Sun 4 таныстырды. 16 МГц SPARC, Паттерсонның RISC дизайнының коммерциялық нұсқасы, 20 МГц Motorola 68020 процессорын қолдана отырып, бұрынғы Sun 3 моделінен төрт есе жылдам жұмыс істеді. Осы шығарылымнан кейін DEC PRISM-нің мақсатын қайтадан өзгертіп, оны тек жұмыс станциялары үшін бағыттады. Нәтижесінде microPRISM 32 биттік жүйе ретінде қайта жобаланды, ал Crystal жобасы тоқтатылды. Бұл жобаны кешіктіріп, мерзімнен қалыстырды. 1988 жылдың басына қарай жүйе әлі де толыққан жоқ; CPU дизайны аяқталған, бірақ VAX үшін қазіргі Rigel чипсетіне негізделген FPU және MMU әлі де жобаланып жатыр. Команда осы бөліктермен жұмысты тоқтатып, толыққандай процессорға назар аударуға шешім қабылдады. Жобалау жұмысы 1988 жылдың наурыз айында аяқталды және сәуір айында өндіріске жіберілді.
Күшін жою
PRISM кезеңінде DEC компаниясының болашақ бағыты туралы ауқымды пікірталас болды. Жаңа RISC негізіндегі жұмыс станциялары енгізілген сайын VAX өнімділігінің артықшылығы төмендеді және баға/өнімділік арақатынасы толығымен күйреп қалды. Компанияның түрлі топтары ең тиімді жауап беру жолын талқылады. Бір топ VAX-ты жоғары деңгейге көшіріп, төмен деңгейлі нарықты Sun сияқты жұмыс станцияларын жеткізушілерге беруді ұсынды. Бұл VAX 9000 бағдарламасына әкелді, ол іштей "IBM өлтірушісі" деп аталды. Басқалары PRISM немесе стандартты процессорды пайдаланып жұмыс станциялары нарығына өтуді ұсынды. Тағы бір топ VAX-ты RISC процессорында қайта құруды ұсынды. Арзан, бірақ жылдам бәсекелес машиналарға ұдайы жеңіліске ұшырағандықтан, Пало-Альтодағы, Орталық Инженерлік бөлімнен тыс, шағын зерттеу тобы жұмыс станциялары мен UNIX/Ultrix-ке назар аударды және жаңа жұмыс станциялары отбасын құру үшін тікелей қолжетімді RISC процессорларын пайдалану мүмкіндігін қарастырды. Топ жан-жақты зерттеу жүргізіп, ақырында MIPS R2000 процессорын таңдады. Олар әзірлеу машинасына ие болып, жүйеге Ultrix-ты прототиптік түрде орнатуға кірісті. MIPS компаниясымен алғашқы кездесуден бастап прототиптік машина жасауға 90 күн жұмсалды. DEC нұсқасының толыққанды өндірісі 1989 жылдың қаңтарында басталуы мүмкін болды, ал PRISM негізіндегі машина дайын болуына кем дегенде бір жыл керек еді. Бұл мәселе DEC бас кеңсесінде көтерілгенде компания екіге бөлінді – қай бағыт дұрыс екендігін анықтау қиын болды. Боб Супникке алдағы жобаны қарау үшін бұл мәселені зерттеу тапсырылды. Ол PRISM жүйесі жылдамырақ болғанымен, MIPS әдісі арзанға түсетіні және нарыққа тезірек шығатынына тоқталды. 1988 жылдың шілдесінде компанияның Атқару комитетінде өткен қатыгез пікірталас барысында компания Prism жобасын тоқтатуға және MIPS жұмыс станциялары мен жоғары деңгейлі VAX өнімдерін дамытуға шешім қабылдады. Нәтижесінде DECstation 3100 жұмыс станциясы пайда болды. Осы уақытқа дейін микроPRISM үлгілері қайтарылып, олардың көпшілігі жұмыс істейтіні анықталды. Олар сондай-ақ R2000 процессордың 16-20 МГц жылдамдығымен салыстырғанда 50-80 МГц жылдамдықпен жұмыс істей алатындығын көрсетті. Осы байқауларға негізделген өнімділік болжамдары басқа өндірушілердің қолданыстағы және жарияланған RISC өнімдерінен асып түсетін елеулі жақсартуды көрсетті. Алайда, жобалау тоқтатылған және мұндай жиілікте жұмыс істеу үшін қажетті кэш интерфейсі чипі болмады, ол тоқтатылған жобаның бір бөлігі болғандықтан, жылжымалы нүктелік операциялардың өнімділігі туралы болжамдар тек теориялық сипатта болды.
Мұра
1988 жылдың шілдесіндегі кездесу кезінде компания RISC тәсілі негізінен жұмыс станциялары үшін арналған екенін мойындады. Бірақ PRISM-нің өнімділігі соңғы VAX машиналарымен салыстырылатын болды, ал RISC тұжырымдамасының дамуына мүмкіндіктер мол еді. Кездесу аяқталғанда Кен Олсен Супникке Digital компаниясының VMS жүйелерінің өнімділігін RISC негізіндегі Unix жүйелерімен бәсекелестікке қабілетті деңгейде ұстау жолдарын зерттеуді тапсырды. Осы мәселені зерттеу үшін инженерлер тобы "RISCy VAX" немесе "Extended VAX" (EVAX) деп аталатын топ құрды. PRISM және MICA жобалары тоқтатылғаннан кейін, Дейв Катлер Digital компаниясынан Microsoft компаниясына өтті, онда ол болашақ Windows NT жүйесін жасауға жетекшілік етті. Катлердің NT архитектурасы MICA-ның көптеген ерекшеліктерінен үлкен ықпал алды.
Дизайн
PRISM архитектурасы бүтін сандар операциялары тұрғысынан MIPS жобаларына ұқсас болды. Нұсқаулардың 32 бітінің ішінде, ең жоғары 6 біті мен ең төменгі 5 біті нұсқауды білдірді, ал қалған 21 біт сөздің тұрақты мәнді немесе регистрлердің орналасқан жерін кодтауға арналды. MIPS-тегі отыз екі регистрге қарағанда, алпыс төрт 32 биттік регистрлер қосылды, бірақ пайдалану жағынан басқаша айырмашылық жоқ. PRISM және MIPS-тің екеуінде де басқа маңызды RISC дизайны – Беркли RISC-нің айрықша ерекшелігі болған регистрлік терезелер болған жоқ. PRISM дизайны нұсқаулар жиынтығының бірнеше ерекшеліктерімен көзге түсті. Атап айтқанда, PRISM құрамына Epicode (процессордың кеңейтілген нұсқаулық коды) кірді, ол операциялық жүйеге әртүрлі іске асыруларда тұрақты ABI ұсынуға бағытталған бірқатар "арнайы" нұсқауларды анықтады. Epicode-қа пайдалануға 22 32 биттік регистрлер жиынтығы берілді. Сонымен қатар, кейіннен векторлық өңдеу нұсқаулары жиынтығы да қосылды, оған қосымша он алты 64 биттік векторлық регистрлер қолдау көрсетті, оларды әртүрлі мақсаттарда пайдалануға болады.