NEC V20 — это микропроцессор , разработанный и произведенный компанией NEC . Он совместим как по выводам, так и по объектному коду с Intel 8088 , с архитектурой набора инструкций (ISA), аналогичной архитектуре Intel 80188 с некоторыми расширениями. [2] V20 был представлен в марте 1984 года. [1] [2]
Кристалл V20 включал 63 000 транзисторов , что более чем вдвое превышает 29 000 у ЦП 8088. [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
(call native), которая выдает вызов прерывания типа 8086, что позволяет IRET
смешивать код x86 (который возвращает с помощью ) с кодом 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