stringtranslate.com

NS32000

NS32000 , иногда известный как 32k , представляет собой серию микропроцессоров , производимых National Semiconductor . Первый представитель семейства появился на рынке в 1982 году, кратко известный как 16032, прежде чем стать 32016. [1] Это был первый микропроцессор общего назначения на рынке, который использовал 32-битные данные внутри: Motorola 68000 имел 32-битные регистры и инструкции для выполнения 32-битной арифметики, но использовал 16-битный ALU для арифметических операций с данными, и, таким образом, требовал в два раза больше времени для выполнения этих арифметических операций. [2] [3] Однако 32016 содержал много ошибок и часто не мог работать на своей номинальной скорости. Эти проблемы, а также наличие в остальном похожего 68000, который был доступен с 1980 года, привели к малому использованию на рынке.

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

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

Концепция дизайна

Микропроцессор NS32008

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

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

Первоначальное семейство процессоров состояло из ЦП NS16032 и маломощного варианта NS16C032, оба имели 16-битный путь данных и, таким образом, требовали двух машинных циклов для загрузки одного 32-битного слова. Оба могли использоваться с блоком управления памятью NS16082 , который обеспечивал поддержку 24-битной виртуальной памяти для физической памяти объемом до 16 МБ. NS16008 был урезанной версией с 8-битным внешним путем данных и без поддержки виртуальной памяти, которая имела уменьшенное количество выводов и, таким образом, была несколько проще в реализации. [3] Ранние анонсы семейства включали NS16016 с 16-битной шиной данных, и как NS16008, так и NS16016 должны были иметь режим эмуляции для Intel 8080 , работающего на скорости, в четыре раза превышающей скорость этого процессора. [5]

В то же время National Semiconductor также анонсировала две будущие версии, NS32032 и NS32132. Первая была по сути версией NS16032 с 32-битной внешней шиной данных, что позволяло ей считывать данные с удвоенной скоростью. Этот проект должен был быть выпущен в 1984 году. NS32132 была версией с 29-битными внутренними адресами и 32-битными внешними, что позволяло ей адресовать полные 4 ГБ памяти. Она должна была быть выпущена в 1985 году. [3]

Все они также могут быть использованы с блоком с плавающей точкой NS16081. [3]

Архитектура

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

(Дополнительные системные регистры не перечислены).

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

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

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

32016

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

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

Первоначальная дорожная карта продукта предусматривала части 6 МГц и 10 МГц в 1983 году и части 12 МГц и 14 МГц в 1984 году. [3] Однако сообщения в прессе в 1984 году указывали на трудности в соблюдении этой дорожной карты, поскольку, как сообщается, потребовалось пять месяцев, чтобы увеличить частоту частей с 6 МГц до 8 МГц, и представители оценивали еще «два, три или пять месяцев», чтобы увеличить частоту до 10 МГц. Сообщалось, что две неуказанные микросхемы из пяти в чипсете были причиной этих проблем. [7] В статье начала 1985 года о рабочей станции Whitechapel MG-1 на базе 32016 отмечалось, что блок управления памятью 32081 «страдал от ошибок» и был расположен на собственной плате, предоставляющей аппаратные исправления. [8] В 1986 году Texas Instruments анонсировала «полностью квалифицированный набор микросхем 10 МГц TI32000 32-битного микропроцессора», состоящий из центрального процессора TI32016 и блока управления памятью TI32082 в качестве 48-контактных устройств, блока управления синхронизацией TI32201 и блока с плавающей точкой TI32081 в качестве 24-контактных устройств, а также блока управления прерываниями TI32202 в качестве 40-контактного устройства, с набором микросхем из пяти устройств «по цене 289 долларов США в партиях по 100 единиц». [9]

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

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

Микропроцессор NS32016
NS32081 ФПУ

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

32032

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

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

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

32332, 32532

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

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

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

рыба-меч

Производная от 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 . Особенно следует отметить NS32CG16. Ключевое отличие между ним и NS32C016 заключается в интеграции дорогостоящего TCU (блока управления синхронизацией), который генерирует необходимые двухфазные часы из кристалла, и удалении поддержки сопроцессора с плавающей точкой, что освободило место микрокода для полезного набора инструкций BitBLT, что значительно повышает производительность в операциях лазерного принтера, делая этот чип с 60 000 транзисторами быстрее, чем MC68020 с 200 000 транзисторами. NS32CG160 — это CG16 с таймерами и периферийными устройствами DMA, в то время как чипы NS32FV/FX16x имеют дополнительную функциональность DSP поверх ядра CG16 BitBLT для рынка факсов/автоответчиков. Позже их дополняет NS32GX32 на основе NS32532. В отличие от предыдущих чипов, не было никакого дополнительного оборудования. NS32GX32 — это NS32532 без MMU, продаваемый по привлекательной цене для встраиваемых систем. В начале это был просто перемаркированный чип. Неясно, был ли чип перепроектирован для более дешевого производства.

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

Машины, использующие серию NS32000

Наследие

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

Ссылки

  1. ^ Каталог программного обеспечения Series 32000. National Semiconductor Corporation. 1984. Получено 8 ноября 2021 г. Недавно мы переименовали наши 32-разрядные микропроцессорные продукты из семейства NS16000 в Series 32000. Эта программа вступила в силу сразу после подписания соглашения с Texas Instruments, Inc. в качестве нашего второго источника для Series 32000.
  2. ^ Старнс, Томас В. (апрель 1983 г.). «Философия дизайна Motorola MC68000». Byte . Том 8, № 4. Получено 19 июня 2018 г.
  3. ^ abcdefg Лиди, Гленн (апрель 1983 г.). «Семейство микропроцессоров National Semiconductor NS16000». BYTE . Том 8, № 4. стр. 53–66 . Получено 22 августа 2020 г.
  4. ^ Тилсон, Майкл (октябрь 1983 г.). «Перенос Unix на новые машины». BYTE . Том 8, № 10. С. 266–276 . Получено 31 января 2015 г.
  5. ^ Коул, Бернард Конрад (ноябрь 1981 г.). «Достижения в проектировании ЦП». Interface Age . стр. 94–97 . Получено 2 марта 2023 г.
  6. ^ ab Libes, Sol (июнь 1983 г.). "Супермикропроцессоры - отчет о состоянии". Personal Computer World . Том 6, № 6. стр. 190. Получено 17 октября 2020 г.
  7. ^ "Acorn рассеивает сомнения в суперчипе". Acorn User . № 24. Июль 1984. С. 7. Получено 28 августа 2020 .
  8. Pountain, Dick (февраль 1985 г.). «Осуществление мечты». Byte UK . Vol. 10, no. 2. pp. 379–382, 384. Получено 18 декабря 2020 г.
  9. ^ "Компоненты". Computerworld . 16 июня 1986. стр. 130. Получено 9 февраля 2022 г.
  10. ^ Руководство по данным семейства TI32000. Texas Instruments Incorporated. 1985. стр. 2–24 . Получено 8 ноября 2021 г. Все регистры адресов-данных доступны для всех инструкций. Таким образом, компилятор имеет свободу в использовании регистров и не должен выполнять много работы по ведению домашнего хозяйства. Архитектура также позволяет использовать регистры адресов-данных в качестве аккумуляторов, регистров данных и указателей адресов. Это представляет собой большое улучшение по сравнению с машинами, которые позволяют использовать только несколько регистров в качестве указателей адресов, создавая узкое место в вычислениях адресов, очень важной функции в программировании на языках высокого уровня.
  11. ^ Рада, Кол (18 июня 1984 г.). «32-разрядная гибкая рабочая станция: ответ одного поставщика для пользователей». Computerworld . стр. 35–37, 39–40 . Получено 10 марта 2022 г.
  12. ^ "NS32532-20/NS32532-25/NS32532-30 Высокопроизводительный 32-разрядный микропроцессор" (PDF) . National Semiconductor . 1995.
  13. ^ Техническое руководство CPU 32016. CompuPro. 1984. Получено 9 марта 2022 г.
  14. ^ "IBM PC UNIX Coprocessor". Byte . Апрель 1985. С. 441. Получено 24 июня 2022 .
  15. ^ "Opus: UNIX Music To PC Ears". Обзор UNIX . Февраль 1986. С. 83. Получено 24 июня 2022 г.
  16. ^ Мохофф, Николас (15 июня 1984 г.). «Thirty-Two Bit Micros Power Workstations». Computer Design . стр. 97–100, 102, 104–106, 108–110, 112. Получено 5 марта 2024 г.
  17. ^ "Несколько операционных систем сосуществуют в многопроцессорной системе". Computer Design . Март 1984. С. 30, 32. Получено 5 марта 2024 .
  18. ^ "Syte исчезает из вида". Computer Design . Ноябрь 1984. С. 8. Получено 5 марта 2024 .
  19. ^ M32632 32-битный процессор (OpenCores.org)
  20. ^ Производительность M32632 (cpu-ns32k.net)

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

Технические паспорта