NEC V20 — это микропроцессор , разработанный и произведенный компанией NEC . Он совместим как по выводам , так и по объектному коду с Intel 8088 , с архитектурой набора команд (ISA), аналогичной архитектуре Intel 80188 с некоторыми расширениями. [2] V20 был представлен в марте 1984 года. [1] [2]
Кристалл V20 содержал 63 000 транзисторов ; более чем в два раза больше, чем у процессора 8088 (29 000). [1] Чип был разработан для рабочего цикла тактовой частоты 50 % по сравнению с рабочим циклом 33 %, используемым в 8088. [3] V20 имеет две внутренние шины данных шириной 16 бит, что позволяет осуществлять две передачи данных одновременно. . [4] Подобные различия означали, что V20 обычно мог выполнить больше инструкций за заданное время, чем Intel 8088, работающий на той же частоте. [2]
V20 был изготовлен по 2-микронной КМОП-технологии. [5] [3] Ранние версии работали на частотах 5, 8 и 10 МГц . [6] : 2 В 1990 году модернизация технологии производства привела к появлению моделей V20H и V20HL с улучшенными характеристиками и сниженным энергопотреблением. [5] В более поздних версиях добавлены скорости 12 и 16 МГц. V20HL также были полностью статичными, что позволяло останавливать их часы.
Внутренняя ширина V20 была описана как 16-битная . Он использовал 8-битную внешнюю шину данных, которая была мультиплексирована на те же контакты, что и младший байт адресной шины. Его 20-битная адресная шина могла адресовать 1 МБ памяти.
Сообщалось, что V20 совместим с сопроцессором Intel 8087 с плавающей запятой (FPU). [7] NEC также разработала собственный FPU, μPD72091 , выпуск которого был отменен до того, как он был запущен в производство. Вслед за этим они выпустили обновленную конструкцию μPD72191, но неясно, сколько было произведено этой второй части, если таковая вообще была выпущена. [8]
V30, почти идентичный процессор с 16-битной внешней шиной данных, дебютировал 1 марта 1984 года. [9] [5] Он был совместим по выводам и объектному коду с Intel 8086.
ISA V20 включает в себя несколько инструкций, не выполняемых 8088, а также инструкции для манипуляций с битами, пакетных операций BCD, умножения и деления. Они также включают новые инструкции реального режима от Intel 80286. [10]
Инструкции ADD4S
, SUB4S
и CMP4S
могли складывать, вычитать и сравнивать огромные упакованные десятичные числа в двоичном коде , хранящиеся в памяти. Инструкции ROL4
и ROR4
поворот четырехбитных полубайтов . Другое семейство состояло из инструкций TEST1
, SET1
, CLR1
и NOT1
, которые проверяют, устанавливают, очищают и инвертируют отдельные биты своих операндов, но гораздо менее эффективны, чем более поздние эквиваленты i80386BT
, BTS
, BTR
и BTC
; их кодировки также несовместимы. Было две инструкции для извлечения и вставки битовых полей произвольной длины ( EXT
, INS
). И, наконец, появились два дополнительных префикса повтора, REPC
и REPNC
, дополнявшие оригинал, REPE
и REPNE
инструкции по сканированию строки байтов или слов (с инструкциями SCAS
и CMPS
), при этом условие меньше или не меньше оставалось истинным. [11]
V20 предлагал режим, имитирующий процессор Intel 8080 . BRKEM
Выдается инструкция для запуска эмуляции 8080 . Операнд инструкции указывает номер прерывания, вектор которого содержит сегмент: смещение, с которого должна начаться эмуляция. В завершение RETEM
выдается инструкция в коде 8080. Одной из нечасто используемых функций является функция CALLN
(native call), которая выдает вызов прерывания типа 8086, который позволяет коду x86 (который возвращается с использованием IRET
) смешиваться с кодом 8080.
Другой режим переводит процессор в состояние энергосбережения с помощью HALT
инструкции. [6] [7]
В 1982 году Intel подала в суд на NEC из-за микроPD8086 и μPD8088 последней. Этот иск был урегулирован во внесудебном порядке: NEC согласилась лицензировать разработки у Intel. [12]
В конце 1984 года Intel снова подала иск против NEC, утверждая, что микрокод в V20 и V30 нарушает ее патенты на процессоры 8088 и 8086. [13] Инженер-программист NEC Хироаки Канеко изучил как аппаратную конструкцию процессоров Intel, так и оригинальный микрокод Intel.
В своем постановлении суд установил, что микрокод в хранилище управления представляет собой компьютерную программу и поэтому защищен авторским правом. [14] Кроме того, они обнаружили, что Intel утратила свои авторские права, пренебрегая обеспечением надлежащей маркировки всех чипов сторонних производителей. Суд также установил, что NEC не просто копировала микрокод Intel и что микрокод в V20 и V30 достаточно отличался от микрокода Intel, чтобы не нарушать патенты Intel.
Судья по делу принял доказательства NEC в чистых помещениях . Он также одобрил использование NEC обратного проектирования при создании микрокода NEC Rev.2, не комментируя это в отношении кода Rev.0. [14] : 212–221.