Кіріспе
Intel микропроцессор архитектурасы iAPX 432 (Intel Advanced Performance Architecture) – 1981 жылы ұсынылған, қолданыстан тоқтатылған компьютерлік архитектура. Бұл Intel компаниясының алғашқы 32 биттік процессор дизайны. Архитектураның негізгі процессоры, жалпы деректерді өңдеуші, сол кездегі техникалық шектеулерге байланысты екі жеке интегралдық схемадан тұрады. Кейбір ертедегі 8086, 80186 және 80286 негізіндегі жүйелер мен нұсқаулықтар да маркетингтік мақсаттармен iAPX префиксін қолданғанмен, iAPX 432 және 8086 процессорлары мүлдем бөлек жобалар болып табылады, олардың нұсқау жиынтығы да толығымен өзгеше. Жоба 1975 жылы 8800 деген атпен басталды (8008 және 8080 процессорларынан кейін) және Intel-дің 1980-жылдардағы маңызды дизайны болуы тиіс еді. 8086 процессорынан айырмашылығы, ол келесі жылы 8080 процессорының ізбасары ретінде жобаланған, iAPX 432 Intel-дің бұрынғы дизайндарынан түбегейлі өзгеше болды, басқа нарықтық сегментке арналған және 8080 немесе x86 өнімдерімен ешқандай байланысы болмады. iAPX 432 жобасы Intel үшін коммерциялық сәтсіздікке ұшырады және 1986 жылы тоқтатылды.
The iAPX 432 (Intel Advanced Performance Architecture) is a discontinued computer architecture introduced in 1981. It was Intel's first 32 bit processor design. The main processor of the architecture, the general data processor, is implemented as a set of two separate integrated circuits, due to technical limitations at the time. Although some early 8086, 80186 and 80286 based systems and manuals also used the iAPX prefix for marketing reasons, the iAPX 432 and the 8086 processor lines are completely separate designs with completely different instruction sets. The project started in 1975 as the 8800 (after the 8008 and the 8080) and was intended to be Intel's major design for the 1980s. Unlike the 8086, which was designed the following year as a successor to the 8080, the iAPX 432 was a radical departure from Intel's previous designs meant for a different market niche, and completely unrelated to the 8080 or x86 product lines. The iAPX 432 project is considered a commercial failure for Intel, and was discontinued in 1986.
Сипаттама
iAPX 432 «микромейнфрейм» деп аталды, ол толығымен жоғары деңгейдегі тілдерде бағдарламалауға арналған. Нұсқаулар жиынтығы архитектурасы да толығымен жаңа болды және Intel-дің бұрынғы 8008 және 8080 процессорларынан едәуір өзгеше болды, себебі iAPX 432 бағдарламалау моделі – көзге көрінетін жалпы мақсаттағы тіркелімдері жоқ стек машинасы. Ол толығымен Ada тілінде жазылған объектіге бағытталған бағдарламалауды қолдайды, ал Ada сонымен қатар қолданбалы бағдарламалау үшін негізгі тіл ретінде қарастырылды. Кейбір аспектілерде оны жоғары деңгейдегі компьютерлік архитектура деп қарастыруға болады. Бұл қасиеттері мен ерекшеліктері сол дәуірдегі көптеген процессорларға, әсіресе микропроцессорларға қарағанда күрделірек аппараттық және микрокодтық дизайнға әкелді. Дегенмен, ішкі және сыртқы шиналар (көбінесе) 16 биттен аспайды, және сол дәуірдегі басқа 32 биттік микропроцессорларда (мысалы, 68000 немесе 32016) болған сияқты, 32 биттік арифметикалық нұсқаулар 16 биттік АЛУ арқылы, кездейсоқ логика және микрокод немесе басқа да ретті логика түрлері арқылы іске асырылады. 8080-ге қарағанда iAPX 432 кеңейтілген адрестік кеңістігі деректерді сызықтық адрестеу әлі де 16 биттік смещенияны ғана қолдана алатындығымен шектелді, бұл Intel-дің алғашқы 8086 негізіндегі жобаларына, соның ішінде қазіргі 80286-ға ұқсас (80386 архитектурасының жаңа 32 биттік сегмент смещениялары 1984 жылы егжей-тегжейлі сипатталды). Сол кездегі жартылай өткізгіш технологиясын пайдаланып, Intel инженерлері бұл жобаны тиімді бірінші нұсқаға айналдыра алмады. Бұл, ертерек жасалған Ada компиляторының оңтайландырудың болмауымен бірге, өте баяу, бірақ қымбат компьютерлік жүйелерге әкелді, олар жаңа 80286 чипінің жылдамдығының шамамен 1/4 жылдамдығында (1982 жылдың басында) бірдей такт жиілігінде стандартты тесттерді орындады. Бастапқыда 10 МГц-ке дейін такт жиілігімен жоспарланған, сатылатын құрылғылар 4 МГц, 5 МГц, 7 МГц және 8 МГц максималды такт жылдамдықтарымен, 8 МГц-те секундтына 2 миллион нұсқаудың ең жоғары өнімділігімен белгіленді.
Даму
Intel 432 жобасы 1976 жылы басталды, 8 биттік Intel 8080 аяқталғаннан кейін бір жыл өткен соң және олардың 16 биттік 8086 жобасы басталғанға дейін бір жыл бұрын. 432 жобасы бастапқыда 8800 деп аталды. iAPX 432 әзірлеу тобын Билл Латтин басқарды, ал Джастин Ратнер жетекші инженер болды (бірақ бір дереккөз бойынша Полак кейіннен суперскалярлылыққа маманданған және Intel Pentium Pro i686 чипінің бас архитекторы болды). "Нью-Йорк Таймс" газетінің мәліметінше, "i432" өзінің бәсекелесі Motorola 68000-ға қарағанда 5-10 есе баяу жұмыс істеді.
The iAPX 432 development team was managed by Bill Lattin, with Justin Rattner as the lead engineer (although one source Pollack later specialized in superscalarity and became the lead architect of the i686 chip Intel Pentium Pro. According to the New York Times, "the i432 ran 5 to 10 times more slowly than its competitor, the Motorola 68000".
Қоқыс жинау
432-де жұмыс істейтін бағдарламалық қамтамасыз ету енді қажет болмайтын объектілерді мәжбүрлі түрде босатуды қажет етпейді. Оның орнына, микрокод Эдсгер Дикстраның ұшқында параллель қоқыс жинау алгоритмінің (белгілеу және тазалау стиліндегі жинаушы) белгілеу кезегінің бір бөлігін іске асырады. Жүйелік объектілер тізіміндегі жазбалар коллектордың қажеттілігіне сәйкес әрбір объектіні ақ, қара немесе сұр деп белгілеуге арналған биттерді қамтиды. iMAX 432 операциялық жүйесі қоқыс жинаушының бағдарламалық бөлігін қамтиды.
Нұсқаулық форматы
Орындалатын нұсқаулар жүйелік "нұсқау объектісінде" сақталады. Нұсқаулар биттерге қатысты реттелгендіктен, нұсқау объектісіне 16 биттік ығысу арқылы 65 536 битке (8 192 байтқа) дейін нұсқауларды сақтауға болады. Нұсқаулар оператордан тұрады, ол класс пен опкодтан құралады, сондай-ақ нөлден үшке дейінгі операндтарға сілтемелерден тұрады. "Өрістер процессорға декодтау үшін қажетті реттеліс бойынша ақпаратты ұсыну үшін ұйымдастырылған". Жиі қолданылатын операторлар аз биттермен кодталады. Нұсқау 4 немесе 6 биттік класс өрісімен басталады, ол операндар санын, нұсқаудың ретін және әрбір операндың ұзындығын көрсетеді. Бұдан кейін, 0-ден 4-ке дейінгі биттік формат өрісі келеді, ол операндтарды сипаттайды (егер операндтар болмаса, формат болмайды). Содан кейін форматта көрсетілгендей, нөлден үшке дейін операндтар келеді. Нұсқау 0-ден 5-ке дейінгі биттік опкодпен аяқталады, егер ол болса (кейбір классдарда тек бір нұсқау болады, сондықтан опкод жоқ). "Формат өрісі бағдарламашыға ЖІӨ-ні нөл, бір, екі немесе үш адрес архитектурасы ретінде көруге мүмкіндік береді". Формат өрісі операндтың дерек сілтемесі немесе операнд стегінің жоғарғы немесе ең жоғарғы элементі екенін көрсетеді.