Intel 80386

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

Intel 80386
KL Intel i386DX.jpg Процессор Intel 80386DX 16 МГц с серым керамическим теплораспределителем.
Общая информация
ЗапущенОктябрь 1985 г.
Снято с производства28 сентября 2007 г.
Общий производитель (и)
  • Intel
  • AMD
  • IBM
Производительность
Макс. CPU тактовая частота от 12 МГц до 40 МГц
Ширина данных32 бита (386SX: 16 бит)
Ширина адреса32 бита (386SX: 24 бита)
Архитектура и классификация
Мин. размер элемента от 1,5 мкм до 1 мкм
Набор команд x86-32
Физические характеристики
Транзисторы
  • 275000
Сопроцессор Intel 80387
Пакет (ы))
  • 132-контактный PGA, 132-контактный PQFP ; Вариант SX: 88-контактный PGA, 100-контактный BQFP с шагом 0,635 мм
Разъем (-ы)
История
ПредшественникIntel 80286
ПреемникIntel 80486
Образ кристалла процессора Intel A80386DX-20

Intel 80386, также известный как i386 или просто 386, 32-битный микропроцессор, представленный в 1985 году. Первые версии имели 275 000 транзисторов и были ЦП многих рабочих станций и высокопроизводительных персональные компьютеры того времени. Как исходная реализация 32-битного расширения архитектуры 80286, набор команд 80386, модель программирования и двоичное кодирование по-прежнему являются общим знаменателем для все 32-битные процессоры x86, которые в зависимости от контекста называются архитектурой i386, x86 или IA-32.

32-битный 80386 может правильно выполнять большую часть кода, предназначенного для более ранних 16-битных процессоров, таких как 8086 и 80286, которые были повсеместно распространены на ранних ПК. (Следуя той же традиции, современные 64-битные процессоры x86 могут запускать большинство программ, написанных для старых процессоров x86, вплоть до исходных 16-битных 8086 1978 года.) С годами последовательно более новые реализации той же архитектуры стали в несколько сотен раз быстрее, чем исходный 80386 (и в тысячи раз быстрее, чем 8086). Сообщается, что процессор 80386 с частотой 33 МГц может работать со скоростью около 11,4 MIPS.

Процессор 80386 был представлен в октябре 1985 года, а производство чипов в значительных количествах началось в июне 1986 года. Материнские платы для 80386- Компьютерные системы на базе поначалу были громоздкими и дорогими, но производство 80386 было оправдано. Первый персональный компьютер на базе 80386 был разработан и изготовлен Compaq и впервые стал основным компонентом в стандарте де-факто IBM PC-совместимого. был обновлен компанией, отличной от IBM.

. В мае 2006 г. Intel объявила, что производство 80386 прекратится в конце сентября 2007 г. Хотя он давно устарел как процессор ПК, Intel и другие компании продолжали производить чип для встроенных систем. Такие системы, использующие 80386 или одну из многих производных, распространены, среди прочего, в аэрокосмической технологии и в электронных музыкальных инструментах. Некоторые мобильные телефоны также использовали (более поздние полностью статические CMOS варианты) процессор 80386, например, BlackBerry 950 и Nokia 9000 Communicator. Linux продолжал поддерживать процессоры 80386 до 11 декабря 2012 г.; когда ядро ​​ вырезало специфичные для 386 инструкции в версии 3.8.

Содержание

  • 1 Архитектура
    • 1.1 Типы данных 80386
  • 2 Пример кода
  • 3 Варианты чипа
    • 3.1 80386SX
    • 3.2 i386SL
  • 4 Важность бизнеса
  • 5 Совместимость
  • 6 Ранние проблемы
  • 7 Обновления с совместимостью выводов
  • 8 Модели и варианты
    • 8.1 Ранние модели 5 В
      • 8.1.1 80386DX
      • 8.1.2 RapidCAD
    • 8.2 Версии для встроенных систем
      • 8.2.1 80376
      • 8.2.2 i386EX, i386EXTB и i386EXTC
      • 8.2.3 i386CXSA и i386SXSA (или i386SXTA)
      • 8.2.4 i386CXSB
  • 9 Устаревание
  • 10 См. Также
  • 11 Примечания и ссылки
  • 12 Внешние ссылки

Архитектура

Блок-схема микроархитектуры i386
Intel 80386 регистров
1...5...7...0(битовая позиция)
Главные регистры (8/16/32 бит)
EAXAXALAрегистр накопителя
EBXBXBLBрегистр ase
ECXCXCLCрегистр счета
EDXDXDLDрегистр ata
Индексные регистры (16/32 бита)
ESISISource I ndex
EDIDIDestination I ndex
EBPBPBase P ointer
ESPSPStack P ointer
Программный счетчик (16/32 бит)
EIPIPIинструкция P ointer
Селекторы сегментов (16 бит)
CSCode S egment
DSData S egment
ESExtra S egment
FSFSegment
GSGSegment
SSStack S egment
Регистр состояния
765432109876543210(битовая позиция)
V R0NIOPL O D I T S Z 0A 0P 1C EFlags

Процессор был значительным развитием архитектуры x86 и расширил длинную линейку процессоров, восходящую к Intel 8008. Предшественником 80386 был Intel 80286, 16-битный процессор с системой управления памятью и защиты на основе сегмента. 80386 добавил трехэтапный конвейер команд, расширил архитектуру с 16-бит до 32-бит и добавил встроенный блок управления памятью . Эта единица трансляции разбиения на страницы значительно упростила реализацию операционных систем, использующих виртуальную память. Он также предлагал поддержку отладки регистров.

80386 имел три режима работы: реальный режим, защищенный режим и виртуальный режим. Защищенный режим , дебютировавший в 286, был расширен, чтобы позволить 386 адресовать до 4 ГБ памяти. Совершенно новый виртуальный режим 8086 (или VM86) сделал возможным запуск одной или нескольких программ реального режима в защищенной среде, хотя некоторые программы были несовместимы.

Возможность настройки 386 для работы так, как будто у него плоская модель памяти в защищенном режиме, несмотря на то, что он использует сегментированную модель памяти во всех режимах, была, пожалуй, самой большой. важное изменение функций для семейства процессоров x86 до тех пор, пока AMD не выпустила x86-64 в 2003 году.

В 386 было добавлено несколько новых инструкций: BSF, BSR, BT, BTS, BTR, BTC, CDQ, CWDE, LFS, LGS, LSS, MOVSX, MOVZX, SETcc, SHLD, SHRD.

Были добавлены два новых сегментных регистра (FS и GS) для программ общего назначения, одно машинное слово состояния 286 превратилось в восемь управляющих регистров CR0 – CR7. Регистры отладки DR0 – DR7 были добавлены для аппаратных точек останова. Для доступа к ним используются новые формы инструкций MOV.

Главным архитектором при разработке 80386 был Джон Х. Кроуфорд. Он отвечал за расширение архитектуры 80286 и набора инструкций до 32-разрядных, а затем руководил разработкой микропрограммы для чипа 80386.

Линейки процессоров 80486 и P5 Pentium были потомками дизайна 80386.

Типы данных 80386

Следующие типы данных напрямую поддерживаются и, таким образом, реализуются одной или несколькими машинными командами 80386 ; эти типы данных кратко описаны здесь:

  • бит (логическое значение ), битовое поле (группа до 32 бит) и битовая строка (длиной до 4 Гбит).
  • 8-битное целое число (байт) со знаком (диапазон -128..127) или без знака (диапазон 0..255).
  • 16-битное целое число со знаком (диапазон -32,768..32,767) или без знака (диапазон 0..65 535).
  • 32-битное целое число со знаком (диапазон -2..2-1) или без знака (диапазон 0..2-1).
  • 64-битное целое число со знаком (диапазон -2..2-1) или без знака (диапазон 0..2-1).
  • Смещение, 16- или 32-битное смещение, относящееся к место в памяти (с использованием любого режима адресации).
  • Указатель, 16-битный селектор вместе с 16- или 32-битным смещением.
  • Символ (8-битный символьный код).
  • Строка, последовательность 8-, 16- или 32-битных слов (длиной до 4 Гбит).
  • BCD, десятичные цифры (0..9), представленные неупакованными байтами.
  • Упакованный BCD, две цифры BCD в одном байте (диапазон 0..99).

Пример кода

Следующая сборка 80386 y исходный код предназначен для подпрограммы с именем _strtolower, которая копирует строку символов с завершающим нулем ASCIIZ из одного места в другое, преобразуя все буквенные символы в нижний регистр. Строка копируется по одному байту (8-битный символ) за раз.

00000000 00000000 55 00000001 89 E5 00000003 8B 75 0C 00000006 8B 7D 08 00000009 8A 06 0000000B 46 0000000C 3C 41 0000000E 7C 06 00000010 3C 5A 00000012 7F 02 00000014 04 20 00000016 88 07 00000018 47 00000019 3C 00 0000001B 75 EC 0000001D 0000001E C3 0000001F
; _strtolower:; Скопируйте строку ASCII с завершающим нулем, преобразовав; все буквы в нижнем регистре. ; ; Параметры входного стека; [ESP + 8] = src, адрес исходной строки; [ESP + 4] = dst, адрес целевой строки; [ESP + 0] = адрес возврата; _strtolower proc push ebp; Установить кадр вызова mov ebp, esp mov esi, [ebp + 12]; Установить ESI = src mov edi, [ebp + 8]; Установить EDI = dst loop mov al, [esi]; Загрузить AL from [src] inc esi; Увеличить src cmp al, 'A'; Если AL < 'A', jl copy ; Skip conversion cmp al,'Z' ;If AL>'Z', jg copy; Пропустить преобразование add al, 'a' - 'A'; преобразовать AL в строчную копию mov [edi], al; сохранить AL в [dst] inc edi; увеличить dst cmp al, 0; если AL <>0, jne loop ; Повторить цикл выполнено pop ebp; Восстановить предыдущий кадр вызова ret; Возврат к процессу конца вызывающего объекта

В примере кода используется регистр EBP (базовый указатель) для создания кадра вызова, области в стеке который содержит все параметры и локальные переменные для выполнения подпрограммы. Этот вид соглашения о вызовах поддерживает реентерабельный и рекурсивный код и используется в языках типа Algol с конца 1950-х годов. Предполагается, что плоская модель памяти, в частности, что сегменты DS и ES адресуют одну и ту же область памяти.

Варианты микросхем

80386SX

Версия процессора Intel 80386SX для поверхностного монтажа в компьютере Compaq Deskpro. Он не подлежит обновлению, если не будет выполнена доработка платы горячего воздуха Die Intel 80386SX 80386SL с 1990 года

В 1988 году Intel представила 80386SX, который чаще всего называют как 386SX, урезанная версия 80386 с 16-битной шиной данных, в основном предназначенная для недорогих ПК, предназначенных для домашнего, образовательного и малого бизнеса, в то время как 386DX остался высокопроизводительный вариант, используемый на рабочих станциях, серверах и других ресурсоемких задачах. Внутренний процессор оставался полностью 32-битным, но 16-битная шина была предназначена для упрощения компоновки печатной платы и снижения общей стоимости. 16-битная шина упрощала конструкцию, но снижала производительность. К адресной шине было подключено только 24 контакта, поэтому адресация ограничивалась 16 МБ, но в то время это не было критическим ограничением. Различия в производительности были связаны не только с разной шириной шины данных, но и с повышенной производительностью кэш-памятью, часто используемой на платах с исходным чипом.

Исходный 80386 был впоследствии переименован в 80386DX, чтобы избежать путаницы. Однако впоследствии Intel использовала суффикс «DX» для обозначения возможности операций с плавающей точкой 80486DX. 80387SX был частью 80387, который был совместим с 386SX (то есть с 16-битной шиной данных). 386SX был упакован в корпус QFP для поверхностного монтажа и иногда предлагался в разъеме для модернизации.

i386SL

i386SL был представлен как энергоэффективная версия для портативных компьютеров. Процессор предлагал несколько вариантов управления питанием (например, SMM ), а также различные «спящие» режимы для экономии энергии батареи. Он также содержал поддержку внешнего кэша размером от 16 до 64 кБ. Дополнительные функции и методы реализации схем привели к тому, что этот вариант имел в 3 раза больше транзисторов, чем i386DX. I386SL сначала был доступен с тактовой частотой 20 МГц, позже была добавлена ​​модель 25 МГц.

Важность для бизнеса

Первой компанией, разработавшей и изготовившей ПК на базе Intel 80386, было Compaq. Расширив стандарт 16/24-бит IBM PC / AT до 32-битной вычислительной среды, Compaq стала первой третьей стороной, реализовавшей крупный технический прогресс в области аппаратного обеспечения на платформе ПК. IBM предлагали использовать 80386, но у нее были права на производство более ранней модели 80286. Поэтому IBM решила полагаться на этот процессор еще на пару лет. Ранний успех ПК Compaq 386 сыграл важную роль в легитимации индустрии «клонов ПК» и уменьшении роли IBM в ней.

До 386 года сложность производства микрочипов и неуверенность в надежности поставок делали желательным, чтобы любой массовый полупроводник производился из нескольких источников, то есть производился двумя или более производителями, вторым и последующими. компании, производящие продукцию по лицензии компании-источника. Какое-то время (4,7 года) процессор 386 был доступен только у Intel, поскольку Энди Гроув, генеральный директор Intel в то время, принял решение не поощрять других производителей производить процессоры в качестве второстепенных. Это решение имело решающее значение для успеха Intel на рынке. 386 был первым значительным микропроцессором с одним источником. Использование модели 386 из одного источника позволило Intel лучше контролировать ее разработку и существенно увеличить прибыль в последующие годы.

AMD представила свой совместимый процессор Am386 в марте 1991 года после преодоления юридических препятствий, положив конец 4,7-летней монополии Intel на 386-совместимые процессоры. С 1991 года IBM также произвела 386 микросхем по лицензии для использования только в ПК и платах IBM.

Совместимые

Intel i386, упакованные IBM
  • AMD Am386 SX и Am386DX были почти точными клонами 80386SX и 80386DX. Судебные споры привели к задержкам производства на несколько лет, но часть AMD 40 МГц в конечном итоге стала очень популярной среди компьютерных энтузиастов как недорогая и малопотребляющая альтернатива 486SX 25 МГц. Потребляемая мощность была дополнительно снижена в «моделях ноутбуков» (Am386 DXL / SXL / DXLV / SXLV), которые могли работать с напряжением 3,3 В и были реализованы в полностью статической схеме CMOS.
  • Чипы и технологии. Super386, 38600SX и 38600DX были разработаны с использованием обратного проектирования. Они плохо продавались из-за технических ошибок и несовместимостей, а также из-за позднего появления на рынке. Следовательно, они были недолговечными продуктами.
  • Cyrix Cx486SLC / Cx486DLC можно было (упрощенно) описать как своего рода гибридный чип 386/486, включающий небольшое количество встроенного кэша. Он был популярен среди компьютерных энтузиастов, но плохо работал с OEM-производителями. Процессоры Cyrix Cx486SLC и Cyrix Cx486DLC были совместимы по выводам с 80386SX и 80386DX соответственно. Эти процессоры также производились и продавались Texas Instruments.
  • IBM 386SLC и 486SLC / DLC были вариантами дизайна Intel, которые содержали большое количество встроенных компонентов. кэш-память чипа (8 кБ, а позже 16 кБ). Соглашение с Intel ограничивало их использование только собственной линейкой компьютеров IBM и модернизируемых плат, поэтому они не были доступны на открытом рынке.

Ранние проблемы

Intel изначально планировала дебютировать 80386 на частоте 16 МГц.. Однако из-за низкой производительности вместо этого была введена частота 12,5 МГц.

На раннем этапе производства Intel обнаружила предельную схему, которая могла приводить к тому, что система возвращала неверные результаты из 32-битных операций умножения. Не все уже изготовленные процессоры были затронуты, поэтому Intel проверила свои запасы. Процессоры, в которых было обнаружено отсутствие ошибок, были помечены двойной сигмой (ΣΣ), а затронутые процессоры были помечены как «ТОЛЬКО 16-битное ПО». Эти последние процессоры продавались как хорошие комплектующие, так как в то время 32-битные возможности не были актуальны для большинства пользователей. Такие фишки сейчас крайне редки и стали коллекционными.

Математический сопроцессор i387 не был готов к выпуску 80386, и поэтому многие из ранних материнских плат 80386 вместо этого предоставляли сокеты и аппаратную логику для используйте 80287. В этой конфигурации FPU работал асинхронно с процессором, обычно с тактовой частотой 10 МГц. Оригинальный Compaq Deskpro 386 - пример такой конструкции. Однако это раздражало тех, кто зависел от производительности с плавающей запятой, поскольку преимущества производительности 80387 над 80287 были значительными.

Обновления, совместимые с контактами

Типичные процессоры обновления 386 от Cyrix и Texas Instruments

Позже Intel предложила модифицированную версию своего 80486DX в упаковке 80386 под торговой маркой Intel RapidCAD. Это обеспечило возможность обновления для пользователей с 80386-совместимым оборудованием. Обновление состояло из пары микросхем, которые заменили как 80386, так и 80387. Поскольку конструкция 80486DX содержала FPU, микросхема, которая заменила 80386, содержала функции с плавающей запятой, а микросхема, которая заменила 80387, обслуживала очень маленькая цель. Однако последний чип был необходим для обеспечения сигнала FERR на материнской плате и, по-видимому, функционировал как обычный блок с плавающей запятой.

Третьи стороны предложили широкий спектр обновлений для систем SX и DX. Самые популярные из них были основаны на ядре Cyrix 486DLC / SLC, которое, как правило, предлагало существенное улучшение скорости за счет более эффективного конвейера команд и внутреннего кэша SRAM L1. Кэш обычно составлял 1 КБ, а иногда и 8 КБ в варианте TI. Некоторые из этих микросхем обновления (например, 486DRx2 / SRx2) продавались самими Cyrix, но чаще всего их можно было найти в наборах, предлагаемых такими специалистами по обновлению, как Kingston, Evergreen и Improve-It Technologies. Некоторые из самых быстрых модулей обновления ЦП были представлены семейством IBM SLC / DLC (примечательным своей кэш-памятью L1 объемом 16 КБ) или даже самим Intel 486. Многие комплекты обновления 386 рекламировались как простые заменяемые компоненты, но часто требовали сложного программного обеспечения для управления кэш-памятью или удвоением часов. Частично проблема заключалась в том, что на большинстве материнских плат 386 линия A20 полностью контролировалась материнской платой, а ЦП не знал, что вызывало проблемы на ЦП с внутренними кэшами.

В целом было очень сложно настроить обновления для получения результатов, заявленных на упаковке, и обновления часто были нестабильными или несовместимыми.

Модели и варианты

Ранние модели 5 В

80386DX

Intel 80386DX, 25 МГц

Исходная версия, выпущенная в октябре 1985 года.

  • Возможность работы с 16 - или 32-битные внешние шины
  • Кэш: зависит от материнской платы
  • Пакет: PGA -132 или PQFP-132
  • Процесс: Первые типы CHMOS III, 1,5 мкм, позже CHMOS IV, 1 мкм
  • Размер матрицы: 104 мм² (приблизительно 10 мм × 10 мм) в CHMOS III и 39 мм² (6 мм × 6,5 мм) в CHMOS IV.
  • Количество транзисторов: 275000
  • Указанная максимальная частота: 12 МГц (ранние модели), более поздние 16, 20, 25 и 33 МГц
80386SX 16 МГц

RapidCAD

Специально упакованный Intel 486 DX и фиктивный блок с плавающей запятой (FPU), разработанный в качестве совместимой по выводам замены процессора Intel 80386 и 80387 FPU.

Версии для встроенных систем

80376

Это была встроенная версия 80386SX, которая не поддерживала реальный режим и пейджинг в MMU.

i386EX, i386EXTB и i386EXTC

Intel i386EXTC, 25 МГц

Управление системой и питанием, а также встроенные периферийные и вспомогательные функции: два контроллера прерываний 82C59A; Таймер, Счетчик (3 канала); Асинхронный (2 канала); Синхронный (1 канал); Сторожевой таймер (аппаратный / программный);. Может использоваться с FPU 80387SX или i387SL.

  • Шина данных / адреса: 16/26 бит
  • Пакет: PQFP -132, SQFP -144 и PGA-168
  • Процесс : CHMOS V, 0,8 мкм
  • Заданная максимальная частота:
    • i386EX: 16 МГц при 2,7 ~ 3,3 В или 20 МГц при 3,0 ~ 3,6 В или 25 МГц при 4,5 ~ 5,5 В
    • i386EXTB: 20 ​​МГц при 2,7 ~ 3,6 В или 25 МГц при 3,0 ~ 3,6 В
    • i386EXTC: 25 МГц при 4,5 ~ 5,5 В или 33 МГц при 4,5 ~ 5,5 В

i386CXSA и i386SXSA ( или i386SXTA)

Intel i386CXSA, 25 МГц

Режим прозрачного управления питанием, встроенный MMU и TTL-совместимые входы (только 386SXSA). Может использоваться с FPU i387SX или i387SL.

  • Шина данных / адреса: 16/26 бит (24 бита для i386SXSA)
  • Корпус: BQFP -100
  • Напряжение: 4,5 ~ 5,5 В (25 и 33 МГц); 4,75 ~ 5,25 В (40 МГц)
  • Процесс: CHMOS V, 0,8 мкм
  • Указанная максимальная частота: 25, 33, 40 МГц

i386CXSB

Прозрачное управление питанием режим и встроенный MMU. Может использоваться с FPU i387SX или i387SL.

  • Шина данных / адреса: 16/26 бит
  • Корпус: BQFP -100
  • Напряжение: 3,0 В (16 МГц) или 3,3 В (25 МГц)
  • Процесс: CHMOS V, 0,8 мкм
  • Заданная максимальная частота: 16, 25 МГц

Устаревание

Windows 95 была единственной записью в Windows 9x Серия официально поддерживает 386, требуя по крайней мере 386DX, хотя рекомендуется 486 или лучше; Windows 98 требует 486DX или выше. В семействе Windows NT, Windows NT 3.51 была последней версией с поддержкой 386.

Debian GNU / Linux удалил поддержку 386 с выпуском 3.1 (Sarge) в 2005 году. Ссылаясь на бремя обслуживания, связанное с примитивами SMP, разработчики ядра Linux прекратили поддержку кодовой базы разработки в декабре 2012 года, позже выпустив версию ядра 3.8.

Среди BSD выпуски 5.x FreeBSD были последними, которые поддерживали 386; поддержка 386SX была сокращена с выпуском 5.2, а оставшаяся поддержка 386 была удалена с выпуском 6.0 в 2005 году. OpenBSD удалила поддержку 386 с версии 4.2 (2007), DragonFly BSD с выпуск 1.12 (2008 г.) и NetBSD с выпуском 5.0 (2009 г.)

См. также

Примечания и ссылки

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

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