ОБЗОР ПРОЦЕССОРОВ I80X86 ПРОЦЕССОР i80386 i80386 был создан в 1985 году. i80386 был создан при полной ясности всех требований, предъявляемых к микропроцессорам и компьютерам. i80386 имел все положительные качества своих предшественников. Все микрокоды i80286 входили во множество микрокоманд i80386. Поэтому старое программное обеспечение могло использоваться с i80386. Но вместе с тем у i80386 были дополнительные возможности. Особенно привлекала возможность работать без ограничения связанного с сегментацией памяти. Размеры регистров и шины данных были увеличены до 32 бит. Информация передавалась и обрабатывалась в два раза быстрее, чем у 16-битного i80286 С самого начала разработчики 80386 ставили перед собой задачу создать быстрый чип. При его создании использовалась CHMOS технология. Первые i80386 начали работать с наивысшей частотой, достигнутой для i80286. Затем появилась 20 Мгц модель. В 1985 году предел был отодвинут до 25 Мгц. А вскоре и до 33 Мгц С увеличением шины данных до 32 бит, число адресных линий также было увеличено до 32. Само по себе это расширение позволило микропроцессору прямо обращаться к 4Гб физической памяти. Кроме того, он мог работать с 16 триллионами байт виртуальной памяти. Микропроцессор имел все необходимое для реализации последнего. Огромное преимущество давал способ организации памяти i80386. К ней можно было обращаться, как к одному большому полю, доступному для программ. То есть структуры данных и программы могли быть объемом в целую память. Разделение памяти на сегменты возможно, но не обязательно. Сегменты могут быть произвольны, а не ограничены по64К Кроме того, i80386 снабжен 16 байтами кэш-памяти. Это специально встроенное поле памяти используется для хранения нескольких команд микропроцессора. Независимо от производимых микропроцессором расчетов, специальная схема загружает в эту память код программного обеспечения, прежде чем в нем появится необходимость. Эта небольшая кэш-память помогает процессору работать более проворно без задержек, связанных с ожиданием загрузки очередной команды из оперативной памяти Для того чтобы обеспечить совместимость с предыдущими микропроцессорами и с огромной библиотекой DOS-программ i80386 был разработан таким образом, чтобы быть, как можно больше похожим на i8086 и i80286. Как и его предшественники, i80386 позволял работать в защищенном режиме с ограничением адресуемой памяти в 1М. В этом режиме он загружал и выполнял все программы, разработанные на процессорах предшествующих поколений С реального режима i80386 мог быть переведён в защищенный режим, где он функционировал подобно 80286, за исключением объёма памяти. В этом режиме в распоряжении программиста было больше памяти, и он мог более гибко манипулировать ею, потому что мог изменять размеры сегмента В противоположность i80286 - i80386 мог переходить из одного режима в другой без перезагрузки машины, а посредством команд программного обеспечения Новый режим, названный виртуальным режимом 8086 (Virtual mode), давал i80386 особенно большие свободы по использованию многозадачных ОС. В этом режиме этот процессор работал не как один 8086, а как неограниченное их количество в одно и тоже время. Этот режим позволял процессору разбивать память на множество виртуальных машин, каждая из которых работала так, как будто она была отдельным компьютером на 8086 чипе
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ i80286
Микропроцессор i80286 предусматривает 24-разрядную адресацию, 16-разрядный интерфейс памяти, расширенный набор команд, функции ПДП и прерываний, аппаратное умножение и деление чисел с плавающей запятой, объединенное управление памятью, 4-уровневую защиту памяти, виртуальное адресное пространство на 1 гигабайт (1 073 741 824 байта) для каждой задачи и два режима работы: режим реальной адресации, совместимый с микропроцессором i8086, и режим защищенной виртуальной адресации Режим реальной адресации В режиме реальной адресации физическая память микропроцессора представляет собой непрерывный массив объемом до одного мегабайта. Микропроцессор обращается к памяти, генерируя 20-разрядные физические адреса. 20-разрядный адрес сегмента памяти состоит из двух частей: старшей 16-разрядной переменной части и младшей 4-разрядной части, которая всегда равна нулю. Таким образом, адреса сегментов всегда начинаются с числа, кратного 16. В режиме реальной адресации каждый сегмент памяти имеет размер 64 Кбайта и может быть считан, записан или изменен. Если операнды данных или команд попытаются выполнить циклический возврат к концу сегмента, может произойти прерывание или возникнуть исключительная ситуация; например, если младший байт слова смещен на FFFF, а старший байт равен 0000. Если в режиме реальной адресации информация, содержащаяся в сегменте, не использует все 64 КБайт, неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памяти
Режим защиты Режим защиты предусматривает расширенное адресное пространство физической и виртуальной памяти, механизмы защиты памяти, новые операции по поддержке операционных систем и виртуальной памяти. Режим защиты обеспечивает виртуальное адресное пространство на 1 гигабайт для каждой задачи в физическом адресном пространстве на 16 Мегабайт. Виртуальное пространство может быть больше физического, т.к. любое использование адреса, который не распределен в физической памяти, вызывает возникновение исключительной ситуации, требующей перезапуска Как и режим реальной адресации, режим защиты использует 32-разрядные указатели, состоящие из 16-разрядного искателя и компонентов смещения. Искатель, однако, определяет индекс в резидентной таблице памяти, а не старшие 16 разрядов адреса реальной памяти. 24-разрядный базовый адрес желаемого сегмента памяти получают из таблиц памяти. Для получения физического адреса к базовому адресу сегмента добавляется 16-разрядное смещение. Микропроцессор автоматически обращается к таблицам, когда в регистр сегмента загружается искатель. Все команды, выполняющие загрузку регистра, обращаются к таблицам памяти без дополнительной программной поддержки. Таблицы памяти содержат 8-байтовые значения, называемые описателями
Сопроцессор i80287
Математический сопроцессор i80287 позволяет ему выполнять скоростные арифметические и логарифмические операции, а также тригонометрические функции с высокой точностью. Сопроцессор работает параллельно с микропроцессором, это сокращает время вычислений, позволяя сопроцессору выполнять математические операции, в то время как микропроцессор занимается выполнением других функций. Сопроцессор работает с семью типами числовых данных, которые делятся на следующие три класса: - двоичные целые числа (3 типа); - десятичные целые числа (1 тип); - действительные числа (3 типа). Сопроцессор предлагает расширенный набор регистров, команд и типов данных для микропроцессора. Сопроцессор имеет восемь 80-разрядных регистров, которые эквивалентны емкости сорока 16-разрядных регистров в микропроцессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты, что сокращает расход памяти, повышает быстродействие, а также улучшает возможности доступа к шине. Пространство регистров можно использовать как стек или как постоянный набор регистров. При использовании пространства в качестве стека работа ведется только с двумя верхними стековыми элементами. В следующей таблице показано представление больших и малых чисел в каждом типе данных. ТИПЫ ДАННЫХ Тип данных Число битов Число верных значащих цифр
Целое слово 16 4
Короткое целое 32 9
Длинное целое 64 19
Упакованное десятичное короткое 80 18
Действительное длинное 32 6-7
Действительное временное 64 15-16
Действительное 80 19
Микропроцессор 80386 дает разработчику систем большое число новых и эффективных возможностей, включая производительность от 3 до 4 миллионов операций в секунду, полную 32-битную архитектуру, 4 гигабитное (2 байт) физическое адресное пространство и внутреннее обеспечение работы со страничной виртуальной памятью Несмотря на введение в него последних достижений микропроцессорной техники, 80386 сохраняет совместимость по объектному коду с программным обеспечением, в большом количестве написанным для его предшественников, 8086 и 80286. Особый интерес представляет такое свойство 80386, как виртуальная машина, которое позволяет 80386 переключаться в выполнении программ, управляемых различными операционными системами, например, UNIX и MS-DOS. Это свойство позволяет производителям оригинальных систем непосредственно вводить прикладное программное обеспечение для 16-битных машин в системе на базе 32-битных микропроцессоров Объединяя в себе производительность супермини ЭВМ и низкую стоимость и функциональную гибкость микропроцессора, 80386 может открыть новые рынки для микропроцессорных систем Применения, недопустимые прежде из-за невысокого быстродействия микропроцессоров или не