NS32000

редактировать

NS32000, иногда известный как 32k, представляет собой серию микропроцессоры производства National Semiconductor. Первый член семейства, 32016, появился на рынке в 1982 году, что сделало его первым 32-битным микропроцессором общего назначения на рынке. Однако 32016 содержал большое количество ошибок и часто не мог работать на своей номинальной скорости. Эти проблемы, а также наличие аналогичного Motorola 68000, который был доступен в течение некоторого времени, привели к тому, что его почти не нашли на рынке.

За этим последовало несколько улучшенных версий, в том числе 32032 1985 года, который по сути представлял собой исправленную ошибку 32016 с внешней 32-битной шиной данных. Хотя он предлагал примерно на 50% лучшую скорость, чем 32016, он уступал 32-битной Motorola 68020, выпущенной годом ранее. Модель 32532, выпущенная в 1987 году, превзошла современную модель Motorola 68030 почти в два раза, но к этому времени наибольший интерес к микропроцессорам обратился к платформам RISC, и это в остальном отличный дизайн тоже почти не нашел применения.

National работала над дальнейшими улучшениями в 32732, но в конце концов отказалась от попыток конкурировать в области центрального процессора (CPU). Вместо этого базовая архитектура 32000 была объединена с несколькими системами поддержки и перезапущена как микроконтроллер Swordfish. Он имел некоторый успех на рынке до того, как в середине 1990-х был заменен архитектурой CompactRISC.

Содержание
  • 1 Концепция дизайна
  • 2 Архитектура
  • 3 32016
  • 4 32032
  • 5 32332, 32532
  • 6 Swordfish
  • 7 Прочее
  • 8 Машины, использующие NS32000 серия
  • 9 Наследие
  • 10 Ссылки
  • 11 Внешние ссылки
Концепция дизайна
Микропроцессор NS32008

История серии NS32000 восходит к усилиям National Semiconductor по созданию однокристальной реализации архитектура VAX-11. VAX хорошо известен своей высоко «ортогональной» архитектурой набора команд (ISA), в которой любая инструкция может применяться к любым данным. Например, инструкция ADDможет добавлять содержимое двух регистров процессора или одного регистра относительно значения в памяти, двух значений в памяти или использовать регистр как смещение относительно адрес. Эта гибкость считалась образцом дизайна в эпоху компьютеров со сложным набором команд (CISC).

National подала в суд на DEC в Калифорнии, чтобы убедиться в законности дизайна, но когда DEC переместила иск в Массачусетс, штат, где проживает DEC, иск был отклонен, и вместо этого была разработана архитектура Series 32000. Хотя новая архитектура набора команд не была совместима с VAX-11, она сохранила свою в высшей степени «ортогональную » философию проектирования.

Исходное семейство процессоров состояло из ЦП NS16032 и варианта с низким энергопотреблением NS16C032, оба из которых имели 16-разрядный путь данных, ЦП NS16008 с 8-разрядным каналом передачи данных и без поддержки виртуальной памяти, NS32032 с 32-битный путь данных и NS32132 с 32-битным путем к данным, 29-битной физической адресацией и 32-битной виртуальной адресацией (вместо 24-битной адресации, поддерживаемой другими продуктами). К микросхемам поддержки относятся блок управления памятью NS16082 и блок с плавающей запятой NS16081.

Архитектура
Регистры NS 32000
1...3...5...7...0(позиция бита)
Общие регистры
R0Rрегистр 0
R1Rрегистр 1
R2Rрегистр 2
R3Rрегистр 3
R4Register 4
R5Register 5
R6Register 6
R7Register 7
индексные регистры
0000 0000SP1Stack P ointer (пользователь)
0000 0000SP0Stack P ointer (прерывание)
0000 0000SBStatic B ase
0000 0000FPFrame P ointer
0000 0000INTBASEInt errupt Base
Счетчик программ
0000 0000ПКPпрограмма C счетчик
MODMod дескриптор ule
Регистр состояния программы
5432109876543210(битовая позиция)
I PSUNZ F LTC PSR

Процессоры имеют 8 32-битных регистров общего назначения, а также ряд регистров специального назначения:

  • Указатель кадра
  • Указатель стека (по одному для режимов пользователя и супервизора)
  • Статический базовый регистр для обращения к глобальным переменным
  • Связать базовый регистр для динамически l окрашенные модули (объектная ориентация)
  • Программный счетчик
  • Типичный регистр состояния процессора с младшим байтом пользователя и старшим системным байтом.

(Дополнительные системные регистры не указаны).

Набор инструкций во многом соответствует модели CISC с инструкциями с двумя операндами, операциями преобразования памяти в память, гибкими режимами адресации и переменной длиной байтовое кодирование инструкций. Режимы адресации могут включать до двух смещений и двух косвенных обращений к памяти на операнд, а также масштабированное индексирование, что делает самую длинную из возможных инструкций 23 байта. Фактическое количество инструкций намного меньше, чем у современных процессоров RISC.

В отличие от некоторых других процессоров, автоинкремент базового регистра не предусмотрен; единственное исключение - это режимы адресации «на вершине стека», которые извлекают источники и отправляют назначения. Однозначно размер смещения кодируется в его наиболее значимых битах: 0, 10 и 11 предшествующих 7-, 14- и 30-битных смещений со знаком. (Хотя в остальном процессоры всегда имеют прямой порядок байтов, смещения в потоке команд хранятся в порядке обратного порядка байтов).

Операнды общего назначения указываются с помощью 5-битного поля. К этому можно добавить индексный байт (определяющий индексный регистр и 5-битный базовый адрес) и до двух смещений переменной длины на операнд.

32016

Первый чип в серии первоначально назывался 16032, но позже был переименован в 32016, чтобы подчеркнуть его 32-битное внутреннее устройство. Это контрастирует с его основным конкурентом в этой области, Motorola 68000 1979 года (68k). 68k использовал 32-битные инструкции и регистры, но его арифметико-логический блок (ALU), который контролирует большую часть общей задачи обработки, был только 16-битным. Это означало, что для завершения операции ему приходилось дважды пропускать 32-битные данные через ALU. Напротив, NS32000 имеет 32-битный ALU, поэтому для выполнения 16-битных и 32-битных инструкций требуется одинаковое время.

32016 впервые был поставлен в 1982 году в 46-выводном корпусе DIP. возможно, был первым 32-битным чипом, который поступил в массовое производство и продажу (по крайней мере, согласно маркетингу National). Однако в отчете, опубликованном в июньской публикации 1983 года, было отмечено, что National «обещала объемы производства этим летом» из 16032 деталей, «отгружая образцы в течение нескольких месяцев», а выборку сопроцессора с плавающей запятой «в этом месяце» ". Хотя выпуск в 1982 году произошел после 68k примерно на два года, 68k еще не получил широкого распространения на рынке, и 32016 вызвал значительный интерес. К сожалению, в ранних версиях было много ошибок, и они редко могли работать с номинальной скоростью. К 1984 году, по прошествии двух лет, список ошибок все еще содержал элементы, указывающие неконтролируемые состояния, которые могли привести к остановке процессора и принудительному сбросу.

Первоначальная дорожная карта продукта предусматривала участки 6 МГц и 10 МГц в течение 1983 года и участки 12 МГц и 14 МГц в течение 1984 года. Однако сообщения прессы в 1984 году указали на трудности с соблюдением этой дорожной карты, поскольку, как сообщается, на это потребовалось пять месяцев. увеличить частоту частей с 6 МГц до 8 МГц, а представители оценивают дальнейшие «два, три или пять месяцев», чтобы увеличить частоту до 10 МГц. Сообщается, что две неуказанные микросхемы из пяти в наборе микросхем являются причиной этих проблем.

National изменила свою методологию проектирования, чтобы сделать возможным запуск детали в производство и систему проектирования, основанную на языке "Z". »был разработан совместно с Тель-Авивским университетом, недалеко от дизайн-центра« NSC »в Герцлии, Израиль. Язык "Z" похож на сегодняшние Verilog и VHDL, но имеет синтаксис, подобный Паскалю, и оптимизирован для схем двухфазных часов. Однако к тому времени, когда плоды этих усилий стали ощущаться в дизайне, на рынке уже было множество машин 68k, в частности, Apple Macintosh , а 32016 так и не получил широкого распространения.

32016 имеет 16-битную внешнюю шину данных, 24-битную внешнюю адресную шину и полный 32-битный набор команд. Он также включает интерфейс сопроцессора, позволяющий подключать сопроцессоры, такие как FPU и MMU, как одноранговые узлы к основному процессору. MMU основан на подкачке страниц по запросу виртуальной памяти, которая является наиболее необычной функцией по сравнению с подходом сегментированной памяти, используемым конкурентами, и стала стандартом для разработки микропроцессоров сегодня. Архитектура поддерживает механизм перезапуска инструкции при отказе страницы, который намного чище, чем подход Motorola для сброса внутреннего состояния при отказе страницы, который должен быть прочитан, прежде чем инструкция будет продолжена.

Микропроцессор NS32016 NS32081 FPU

Несмотря на то, что его часто сравнивали с набором инструкций 68k, сотрудники NSC отвергали его; одной из ключевых маркетинговых фраз того времени было «Элегантность - это все», сравнивающая высоко ортогональную серию 32000 с «кладжем». Одним из ключевых отличий является использование Motorola адресных регистров и регистров данных, при этом инструкции работают только с адресными регистрами или регистрами данных. В Series 32000 есть регистры общего назначения.

32032
Микропроцессор NS32032

32032 был представлен в 1984 году. Он почти полностью совместим с 32016, но имеет 32-битную шину данных (хотя и сохраняет 24-битную адресную шину) для несколько более высокая производительность. Также были 32008, 32016 с шириной шины данных, урезанной до 8 бит для недорогих приложений. Он философски похож на MC68008 и столь же непопулярен.

National также произвела ряд связанных микросхем поддержки, таких как NS32081 Floating Point Unit (FPU), NS32082 Memory Management Units (MMU), NS32203 Direct Доступ к памяти (DMA) и контроллеры прерываний NS32202. С полным комплектом плюс микросхемы памяти и периферийные устройства можно было построить 32-битную компьютерную систему, способную поддерживать современные многозадачные операционные системы, что раньше было возможно только на дорогих миникомпьютерах и мэйнфреймах.

32332, 32532

В 1985 году компания National Semi представила NS32332, значительно улучшенную версию 32032. Согласно спецификации, усовершенствования включают «добавление нового специализированного аппаратного обеспечения адресации (состоящего из высокоскоростного ALU, сдвигающего устройства и регистра адреса), очень эффективная увеличенная (20 байтов) очередь предварительной выборки инструкций, новый интерфейс / протокол шины системы / памяти, протокол подчиненного процессора повышенной эффективности и, наконец, усовершенствования микрокода ». Были также новый MMU NS32382, NS32381 FPU и (очень редко) интерфейс NS32310 для Weitek FPA. Совокупное повышение производительности NS32332 в результате этих усовершенствований сделало его только на 50% быстрее, чем исходный NS32032, и, следовательно, меньше, чем у основного конкурента, MC68020.

National Semi представила NS32532 в начале 1987 года. 20, 25 и 30 МГц, это была полная переработка внутренней реализации с пятиступенчатым конвейером, интегрированным кешем / MMU и улучшенной производительностью памяти, что сделало его примерно вдвое более производительным, чем у конкурирующего MC68030 и i80386. На этом этапе архитектуры RISC начали набирать обороты, и главными конкурентами стали теперь одинаково мертвые AM29000 и MC88000, который считался более быстрым, чем NS32532. Для операций с плавающей запятой NS32532 использовал существующий интерфейс NS32381 или NS32580 для FPA Weitek. NS32532 был основой одного из немногих полностью реализованных аппаратных проектов "общественного достояния" (то есть, в результате получилась реальная полезная машина, работающая под реальной операционной системой, в данном случае Minix или NetBSD ), PC532.

Полумифический NS32732 (иногда называемый NS32764), первоначально задуманный как высокопроизводительный преемник NS32532. Эта программа так и не вышла на рынок.

Swordfish

Производное от NS32732 под названием Swordfish было нацелено на встроенные системы и появилось примерно в 1990 году. Swordfish имеет интегрированный блок с плавающей запятой, таймеры, контроллеры DMA и другие периферийные устройства, обычно не доступные в микропроцессорах. Он имеет 64-битную шину данных и внутренне разогнан от 25 до 50 МГц. Главный архитектор Swordfish - руководил архитектурной группой, разрабатывающей Pentium. Внутренняя микроархитектура Pentium аналогична предыдущей Swordfish.

В центре внимания Swordfish были высококачественные лазерные принтеры Postscript , и производительность в то время была исключительной. Конкурирующие решения могли отображать примерно одну новую страницу в минуту, но демонстрационный блок Swordfish мог печатать шестнадцать страниц в минуту, ограничиваясь только механикой лазерного двигателя. На каждой странице он печатал, сколько времени он работал на холостом ходу, ожидая завершения работы двигателя.

Кубик Swordfish огромен, и в конце концов было решено полностью отказаться от проекта, и продукт так и не пошел в производство. Уроки Swordfish были использованы для проектов CompactRISC. Вначале были и CompactRISC-32, и CompactRISC-16, разработанные с использованием «Z». National никогда не выпускала на рынок чипы с ядром CompactRISC-32. Исследовательский отдел National работал с Мичиганским университетом над разработкой первой синтезируемой модели Verilog, и Verilog использовался с CR16C и далее.

Прочее

Версии старой линейки NS32000 для недорогих продуктов, такие как NS32CG16, NS32CG160, NS32FV16, NS32FX161, NS32FX164 и NS32AM160 / 1/3, все основанные на NS302CG16, были введен с 1987 года и позже. Эти процессоры добились определенного успеха на рынке лазерных принтеров и факсов, несмотря на острую конкуренцию со стороны AMD и Intel RISC <29.>фишки. Особо следует отметить NS32CG16. Ключевым отличием между этим и NS32C016 является интеграция дорогостоящего TCU (Timing Control Unit), который генерирует необходимые двухфазные часы из кристалла, и удаление поддержки сопроцессора с плавающей запятой, что освободило пространство микрокода для полезных Набор команд BitBLT, который значительно улучшает производительность лазерных принтеров, делая этот транзисторный чип на 60000 быстрее, чем 200000 транзистор MC68020. NS32CG160 - это CG16 с таймерами и периферийными устройствами DMA, а микросхемы NS32FV / FX16x имеют дополнительные функции DSP поверх ядра CG16 BitBLT для рынка факсов / автоответчиков. Позже они были дополнены NS32532 на базе NS32GX32. В отличие от предыдущих чипов, лишнего железа не было. NS32GX32 - это NS32532 без MMU, продаваемый по привлекательной цене для встроенных систем. Вначале это была просто замеченная микросхема. Неясно, был ли переработан чип для более дешевого производства.

Существуют таблицы данных для NS32132, очевидно, предназначенные для многопроцессорных систем. Это NS32032 с расширенным арбитром. Использование шины NS32032 составляет около 50 процентов из-за его очень компактного набора команд или очень медленного конвейера, как выразились бы конкуренты. Действительно, одно из предложенных приложений NS32032 было частью «отказоустойчивой системы транзакций», в которой использовались «два процессора 32032 параллельно и сравнивались результаты на альтернативных циклах памяти для обнаружения мягких ошибок». Микросхема NS32132 позволяет подключать пару процессоров к одной системе памяти без значительного изменения печатной платы. Системы-прототипы были созданы Diab Data AB в Швеции, но они не работали так же хорошо, как однопроцессорная система MC68020, разработанная той же компанией.

Машины, использующие серию NS32000
  • Acorn Cambridge Workstation - NS32016 (с хостом 6502)
  • Intermec (ранее A-Tech, а затем UBI) Принтер этикеток - NS32CG16
  • BBC Micro - Второй процессор NS32016 [1pting [2] [3]
  • Лазерный принтер Canon LBP-8 Mark III - NS32CG16
  • Whitechapel MG-1 - NS32016
  • Whitechapel MG200 - NS32332
  • Opus - Дополнительная плата ПК NS16032
  • Sequent Balance - Многопроцессорность NS32016, NS32032 и NS32332
  • ETH Zurich Ceres рабочая станция - NS32032
  • ETH Zurich Рабочая станция Ceres-2 - NS32532
  • ETH Zurich Ceres-3 рабочая станция - NS32GX32
  • VME532 - NS32532 VME Card (с кешем)
  • PC532 - NS32532
  • Tolerant Systems Eternity Series - NS32032 с процессором ввода-вывода NS32016
  • National Semiconductor ICM-3216 - NS32016
  • National Semiconductor ICM-332-1 - NS32332 с процессором ввода-вывода NS32016
  • National Semiconductor SYS32 / 20 - дополнительная плата для ПК NS32016 с Unix
  • Encore Multimax - NS32032, NS32332 и NS32532 Multiprocessor
  • Рабочая станция Trinity College - NS32332
  • Рабочая станция Tektronix 6130 и 6250 - NS32016 и NS32032
  • Siemens PC-MX2 - NS32016
  • Siemens MX300-05 / -10 / -15 / -30 - NS32332 (-05 / -10) или NS32532 (-15 / -30) под SINIX (MX300-55 и более поздние версии используют i486 )
  • Siemens MX500-75 / -85 - NS32532 (2-8x ЦП; Плата Sequent / MX500-90 использует 2-12x i486)
  • Compupro 32016 - NS32016 S-100 Card
  • Symmetric Computer Systems S / 375 [4] - NS32016, используется для кросс-разработки 386BSD
  • Syte Information Technology - графическая рабочая станция Unix
  • General Robotics Corp. Python - NS32032 N32016 Q-Bus card
  • Teklogix Сетевой контроллер 9020 - NS32332
  • сетевой контроллер Teklogix 9200 - NS32CG160
  • ЦП Labtam Unix System NS32032 и NS32332
  • Lauterbach Incircuit Emulator ICE (32-разрядный системный контроллер, первая версия в 1996 г. макс. 16 МБ ZIP20-RAM, Z180 для обслуживания Ethernet)
  • IBM RT PC - Некоторые ранние модели использовали FPU NS32081 в качестве сопроцессора для IBM ROMP микропроцессора
Legacy

В июне 2015 года Удо Мёллер выпустил полную реализацию Verilog процессора NS32000 на OpenCores. Полностью программно совместимый с ЦП NS32532 с N32381 FPU, он значительно быстрее при реализации на FPGA, работая с более высокой тактовой частотой и используя меньшее количество циклов на инструкцию.

Ссылки
Внешние ссылки

Datasheets

Последняя правка сделана 2021-05-31 07:21:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте