Эмоциональная история процессоров для первых компьютеров с 70-х до начала 90-х

National Semiconductor 32016

Это первый настоящий 32-битный процессор, предложенный для использования в компьютерах ещё в 1982. Это процессор изначально планировался как VAX-11 на чипе, но из-за невозможности договориться с фирмой DEC фирме National Semiconductor (NS) пришлось сделать процессор только отдельными деталями похожий на архитектуру VAX-11.

С этого процессора начинается использование страничной виртуальной памяти – сегодня это доминирующая технология. Но поддержка виртуальной памяти не встроена в процессор, а требует сопроцессора. Отдельный сопроцессор требуется и для работы с вещественными числами.

Система команд NS32016 огромна и похожа на систему команд VAX-11, в частности, наличием отдельного стека для кадров подпрограмм и ортогональностью. Шина адреса 24-битная, что позволяет использовать до 16 МБ памяти. Особенностью 32016 является работа с флагами признаков. Помимо стандартных флагов переноса (который можно использовать и как признак для условного перехода), переполнения, знака, равенства (или нуля) есть ещё флаг L (less), означающий меньше – это как перенос для сравнений. Ситуация с переносом похожа на ту, что есть у процессоров Motorola 680x0. Флаг переполнения почему-то называется F. Есть флаги пошагового режима, привилегированного режима и (уникальность!) флаг выбора текущего стека. При выполнении арифметических инструкций флаги знака, нуля, меньшести (L) не ставятся, они устанавливаются только командами сравнения.

Можно использовать восемь 32-разрядных регистров общего назначения. Кроме того, есть ещё счетчик команд, два указателя стека, указатель стека кадров подпрограмм, указатель базы программы (это что-то уникальное), указатель базы модулей (также что-то очень редкостное), указатель на таблицу векторов прерываний, регистр конфигурации и регистр состояния. По быстродействию NS32016 оказался сравним с 68000.

Этот очень сложный процессор имел серьёзные аппаратные ошибки, которые устранялись годами.

32016 использовался с персональными компьютерами BBC Micro как второй процессор. Это была очень дорогая и престижная приставка для 1984 года. Можно было заказывать процессор с частотами 6, 8 и 10 МГц. С последними возникали некоторые технические проблемы и он был очень дорог. Программного обеспечения для 32016 было очень мало, только сделанная силами Acorn, чем-то похожая на Unix операционная система Panos и постоянный спутник Acorn бейсик. BBC Micro не использовали чип MMU – хотя его можно было подключить, программ для его использования не было. Арифметический сопроцессор подключать даже и не предусматривалось. Было ещё несколько редких и дорогих систем на базе 32016.

Наиболее масштабные планы, связанные с этим процессором, возможно были у основателя компании Commodore, Джека Трамела, которого называли королём недорогих компьютеров. Он после покупки Atari заявил, что собирается сделать недорогой персональный компьютер с возможностями супермини-компьютеров VAX. Считается, что он имел в виду использование процессора 32016 или его полного 32-битного варианта 32032. Однако после первых тестов, которые показали недостатки 32016, от этих планов отказались, предпочтя 68000.


Cтатья опубликована на geektimes, а также переведена на английский.