Intel 386
Процессор Intel 80386
🕛 16.06.2008, 14:00
# 16 октября 1985 года# 275 тысяч транзисторов
# 16 - 33 MHz
# первый 32-разрядный Processor без FPU
Не в пример 80286, который был, по видимому, предназначен удивить мир без DOS, следующее детище Intel - микpопpоцессоp 80386 развязал руки к использованию DOS. Intel 80386 был создан в 1985 году. Его создатели учли тяжелые уроки 80286 и мечты программистов. У него выше тактовая частота, большая производительность. И в целом он был более универсален, чем 286.
После появления 80386, 80286 смотрелся как тупиковая ветвь - но слишком поздно. Дело в том, что некоторые потребители Intel начали дорабатывать недостатки 80286 даже раньше, чем Intel8086, так как в разработке идеи 80286 использовалась база 8080, хотя, может быть,чуть амбициозно. 8086 появился в результате переосмысления целей разработки. Только позже оригинальные идеи были воплощены в 80286.
Напротив, Intel 80386 был создан при полной ясности всех требований, предъявляемых к микpопpоцессоpам и компь ютеpам. Intel 80386 имел все положительные качества своих предшественников. Все микрокоды его предшественника Intel 80286 входили в множество микрокоманд 80386. Поэтому старое программное обеспечение могло использоваться с Intel 80386. Но вместе с тем у 80386 были дополнительные возможности. Особенно привлекала возможность работать без ограничения связанного с сегментацией памяти.
Intel 80386 был мощнее своих предшественников. Размеры его регистров и шины данных были увеличены до 32 бит. Информация передавалась и обрабатывалась в два раза быстрее, чем у 16-битного 80286. С самого начала Программисты 80386 ставили перед собой задачу создать быстрый чип. При его создании использовалась CHMOS технология. Первые 80386 начали работать с наивысшей частотой, достигнутой для 80286. Затем появилась 20 Мгц модель. В 1985 году предел был отодвинут до 25 Мгц. А вскоре и до 32 Мгц.
С увеличением шины данных до 32 бит, число адресных линий также было увеличено до 32. Само по себе это расширение позволило микpопpоцессоpу прямо обращяться к 4Гб физической памяти. Кроме того он мог работать с 16 триллионами байт виртуальной памяти. Микpопpоцессоp имел все необходимое для реализации последнего.
Огромное преимущество давал способ организации памяти 80386. К ней можно было обращаться, как к одному большому полю, доступному для программ. То есть структуры данных и программы могли быть объемом в целую память. Разделение памяти на сегменты возможно, но не обязательно. Сегменты могут быть произвольны, а не ограничены по 64К.
Кроме того Intel80386 снабжен 16 байтами сверхоперативной кеш-памяти. Это специально встроенное поле памяти используется для хранения нескольких команд микpопpоцессоpа. Независимо от производимых микpопpоцессоpом расчетов, специальная схема загружает в эту память код программного обеспечения, прежде чем в нем появится необходимость. Эта небольшая кеш-память помогает Processorу работать более проворно без задержек, связанных с ожиданием загрузки очередной команды из оперативной памяти.
Для того,чтобы обеспечить совместимость с предыдущими микpопpоцессоpами и с огромной библиотекой DOS-программ Intel80386 был разработан таким образом, чтобы быть как можно больше похожим на 8086 и 80286. Как и его предшественники,Intel80386 позволял работать в защищенном режиме с ограничением адресуемой памяти в 1М. В этом режиме он загружал и выполнял все программы, разработанные на Processorах предшествующих поколений.
С реального режима Intel80386 мог быть переведён в защищенный режим , где он функционировал подобно 80286 , за исключением объёма памяти.В этом режиме в распоряжении программиста было больше памяти , и он мог более гибко манипулировать ею , потому что мог изменять размеры сегмента. В противоположность Intel80286-80386 мог переходить из одного режима в другой без перезагрузки машины , а посредством команд программного обеспечения.
Новый режим , названный виртуальным режимом 8086 (Virtual 8086 mode), давал Intel80386 особенно большие свободы по использованию DOS . В этом режиме этот Processor работал не как один 8086 , а как неограниченное их количество в одно и тоже время . Этот режим позволял Processorу разбивать память на множество виртуальных машин, каждая из которых работала так , как будто она была отдельным компьютером на 8086 чипе.
Каждая из этих виртуальных машин могла запускать свою собственную программу, которая была полностью изолирована от всех остальных.Это означало , что вы можете одновременно выполнять несколько DOS-программ на одном компьютере. Вне экзотической архитектуры Intel80386 такая система была очень сложной и капризной , кроме того , требовалось , чтобы программное обеспечение таких систем было специально написано по определённым стандартам , удовлетворяющим требованиям многозадачного режима . Intel80386 делал реализацию программного обеспечения многозадачного режима почти тривиальной , потому что самая тяжёлая работа выполнялась на уровне технического обеспечения . Готовые DOS-программы выполнялись на Intel80386 в многозадачной среде без всяких доработок .
Intel80386 является великолепным микроProcessorом и вы вправе надеяться найти его в каждом персональном компьютере . Использование более старого чипа можно рассматривать как шаг назад. И действительно , существуют только две причины , почему используются другие чипы . Одна из них - стоимость . Сразу после презентации Intel80386 его стоимость превышала 500$ , тогда как 8086 стоил в некоторых случаях даже меньше 10$ . То есть вы могли купить целый компьютер за ту же цену , что и один 80386 . Частично такой высокой цене способствовала Intel , которая не продавала лицензию на производство 80386 другим Корпорациям (за исключением IBM ). В таких условиях Intel могла диктовать свои условия на рынке , регулируя спрос и предложения количеством выпускаемых чипов . Очевидно , что компьютер на Intel80386 будет более дорогим по сравнению с другими, реализованными на других микроProcessorах .
Intel80386 имел наиболее болезненную историю своего внедрения по сравнению с другими микpопpоцессоpами. Вскоре после его создания были обнаружены ошибки, связанные с его работой при выполнении 32-битных математических операций. Эта поблема не была выявлена в первых PC совместимых компьютеpах, реализованных на этом чипе, потому что DOS использует 16-битные операции. Ошибки всплыли на верх только после того, когда 80386 стал работать в 32-битном режиме.
Ошибки были быстро обнаружены и исправлены. Микросхемы, Вышелные после апреля 1987 года, не имеют описанного недостатка. По решению фирмы все доработанные чипы маркировались двойным символом сигма. Некоторые но не все ранее Вышелные микpопpоцессоpы, были промаркерованы "только для 16-битных операций".
Сушествует модификации Processorа Intel 80386 SX и DX. SX и DX обозначает "облегченную" и полную веpсию одного и того же пpоцессоpа. Для 386 ваpиант SX был сделан с 16-pазpядным интеpфейсом, что позволяло экономить на обвязке и устанавливать память по два SIMM, а не по четыpе, как для DX. Пpи pаботе с 16-pазpядными пpогpаммами 386SX почти не отстает от 386DX на той же частоте, однако на 32-pазpядных пpогpаммах он pаботает ощутимо медленнее из-за pазделения каждого 32-pазpядного запpоса к памяти на два 16-pазpядных. Hа самом же деле большинство компьютеpов с 386DX pаботают быстpее компьютеpов с SX даже на 16-pазpядных пpогpаммах - благодаpя тому, что на платах с 386DX чаще всего установлен аппаpатный кэш, котоpого нет на большинстве плат с SX. Внутpенняя аpхитектуpа 386SX - полностью 32-pазpядная,и пpогpаммно обнаpужить pазницу между SX и DX без запpоса кода пpоцессоpа, измеpения скоpости pаботы магистpали или pазмеpа буфеpа пpедвыбоpки в общем случае невозможно.