_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Обзор x86 процессоров

Обзор x86 процессоров

Страница: 2/3

Для того чтобы обеспечить совместимость с  предыдущими микропроцессорами и с огромной библиотекой DOS-программ i80386 был разработан таким образом, чтобы быть, как можно больше похожим на i8086 и i80286. Как и его предшественники, i80386 позволял работать в защищенном режиме с ограничением адресуемой памяти в 1М. В этом режиме он загружал и выполнял все программы, разработанные на процессорах предшествующих поколений.

      С реального режима i80386 мог быть переведён в защищенный режим,  где он функционировал подобно 80286, за исключением объёма памяти. В  этом режиме в распоряжении программиста было больше памяти, и он мог более гибко манипулировать ею, потому что мог изменять размеры сегмента.

      В противоположность  i80286 - i80386 мог переходить из одного режима в другой без перезагрузки машины, а посредством команд программного обеспечения.

      Новый режим, названный виртуальным режимом 8086 (Virtual mode), давал i80386 особенно большие свободы по использованию многозадачных ОС. В этом режиме этот процессор работал не как один 8086, а как неограниченное их количество в одно и тоже время. Этот режим позволял процессору разбивать память на множество виртуальных машин,  каждая из которых работала так, как будто она была отдельным компьютером на 8086 чипе.

 

                   2. ОСНОВНЫЕ ХАРАКТЕРИСТИКИ i80286

 

 

      Микропроцессор i80286 предусматривает 24-разрядную адресацию, 16-разрядный интерфейс памяти, расширенный набор команд,  функции ПДП и прерываний, аппаратное умножение и деление чисел с плавающей запятой, объединенное управление памятью, 4-уровневую защиту памяти, виртуальное адресное пространство на 1 гигабайт (1 073 741 824 байта) для каждой задачи и два режима

работы: режим реальной адресации, совместимый с микропроцессором i8086, и режим защищенной виртуальной адресации.

 

     

                       2.1 Режим реальной адресации

 

      В режиме реальной адресации физическая память микропроцессора представляет собой непрерывный массив объемом до одного мегабайта.  Микропроцессор обращается к памяти, генерируя 20-разрядные физические адреса. 20-разрядный адрес сегмента памяти состоит из двух  частей: старшей 16-разрядной переменной части и младшей 4-разрядной части, которая всегда равна нулю. Таким образом, адреса сегментов всегда начинаются с числа, кратного 16. В режиме реальной адресации  каждый  сегмент  памяти  имеет размер 64 Кбайта и может быть считан, записан или изменен. Если операнды данных или команд попытаются выполнить циклический возврат к концу сегмента, может произойти прерывание или возникнуть исключительная ситуация; например, если младший байт слова смещен на FFFF, а старший байт равен 0000. Если в режиме реальной адресации информация, содержащаяся в сегменте, не использует все 64 КБайт, неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памяти.

 

 

                      2.2  Режим защиты

 

      Режим защиты предусматривает расширенное адресное пространство физической и виртуальной памяти, механизмы защиты памяти, новые операции по поддержке операционных систем и виртуальной памяти. Режим защиты обеспечивает виртуальное адресное пространство на 1 гигабайт для каждой задачи в физическом адресном пространстве на 16 Мегабайт.  Виртуальное пространство может быть больше физического, т.к. любое использование адреса, который не распределен в физической памяти, вызывает возникновение исключительной ситуации, требующей перезапуска.

      Как и режим реальной адресации, режим защиты использует 32-разрядные указатели, состоящие из 16-разрядного искателя и компонентов смещения. Искатель, однако, определяет индекс в резидентной таблице памяти, а не старшие 16 разрядов адреса реальной памяти. 24-разрядный базовый адрес желаемого сегмента памяти получают из таблиц памяти.  Для получения физического  адреса к базовому адресу сегмента добавляется 16-разрядное смещение. Микропроцессор автоматически обращается к таблицам, когда в регистр сегмента загружается искатель. Все команды, выполняющие загрузку регистра, обращаются к таблицам памяти без дополнительной программной поддержки. Таблицы памяти содержат 8-байтовые значения, называемые описателями.

 

                      2.3 Сопроцессор i80287                     

 

 

      Математический сопроцессор i80287 позволяет ему выполнять скоростные арифметические и логарифмические операции, а также тригонометрические функции с высокой точностью. Сопроцессор работает параллельно с микропроцессором, это сокращает время вычислений, позволяя сопроцессору выполнять математические операции,  в то время как микропроцессор занимается выполнением других функций. Сопроцессор работает с семью типами числовых данных, которые делятся на следующие три класса:                                                                                     

- двоичные целые числа (3 типа);                                                                                     

- десятичные целые числа (1 тип);                                                                                            

- действительные числа (3 типа).                                                                                     

                                                                                            

 

                 2.3.1 Условия программирования i80287

                                                                                            

     Сопроцессор предлагает расширенный набор регистров, команд и типов данных для микропроцессора. Сопроцессор имеет восемь 80-разрядных регистров, которые эквивалентны емкости сорока 16-разрядных регистров в микропроцессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты, что сокращает расход памяти, повышает быстродействие, а также улучшает возможности доступа к шине.                                                                                         

      Пространство  регистров можно использовать как стек или как постоянный набор регистров. При использовании пространства в качестве стека  работа ведется только с двумя верхними стековыми элементами. В следующей таблице показано представление больших и малых чисел в каждом типе данных.                                                                                         

                                                                                            

                           ТИПЫ ДАННЫХ                                                                                       

                                                                                                    

 Тип данных

Число битов

Число верных значащих цифр

Целое слово

       16

                     4

Короткое целое

       32

                     9

Длинное целое

       64

                     19

Упакованное десятичное короткое

       80

                     18

Действительное длинное

       32

                    6-7

Действительное временное

       64

                  15-16            

Действительное

       80

                     19

 

                      3. Основные характеристики i80386

    

      Микропроцессор 80386 дает разработчику систем большое

число новых и эффективных возможностей, включая производительность  от 3 до 4 миллионов операций в секунду, полную 32-битную архитектуру, 4 гигабитное (2 байт) физическое адресное пространство и внутреннее обеспечение работы со страничной виртуальной памятью.

     Несмотря на введение в него последних достижений микропроцессорной техники, 80386 сохраняет совместимость по объектному коду с программным обеспечением, в большом количестве

написанным для его предшественников, 8086 и 80286. Особый интерес  представляет такое свойство 80386, как виртуальная машина, которое  позволяет  80386  переключаться  в  выполнении программ,  управляемых  различными  операционными  системами, например, UNIX и MS-DOS. Это свойство позволяет  производителям  оригинальных  систем  непосредственно вводить прикладное программное обеспечение для 16-битных машин в системе на базе 32-битных микропроцессоров.

      Объединяя в себе производительность супермини ЭВМ и низкую  стоимость  и  функциональную  гибкость  микропроцессора, 80386 может открыть новые рынки для микропроцессорных систем.

      Применения, недопустимые прежде из-за невысокого быстродействия  микропроцессоров или не экономности использования супермини ЭВМ,  стали  теперь  практически  осуществимы  благодаря 80386.  Такие  новейшие применения, как машинное зрение, распознавание речи, интеллектуальные работы и экспертные  системы, бывшие до недавнего времени в основном на стадии эксперемента, теперь могут быть предложены на рынке.

     Для  тго, чтобы удовлетворить требованиям будущих применений, мало иметь 32-битные регистры, команды и шины. Эти основные свойства являются лишь отправной точкой для  80386.

    

                     3.1 32-битная архитектура

     

     32-битная архитектура 80386 обеспечивает программные ресурсы,  необходимые для поддержки "больших " систем, характеризуемых операциями с большими числами, большими  структурами данных,  большими программами (или большим числом программ) и т.п. Физическое адресное пространство 80386 состоит из 2 байт или 4 гбайт; его логическое адресное пространство состоит  из 2 байт или 64 терабайт (тбайт). Восемь 32-битных общих регистров  80386  могут быть взаимозаменяемо использованы как операнды команд и как переменные различных  способов  адресации.

      Типы данных включают в себя 8-, 16- или 32-битные целые и порядковые,  упакованные и неупакованные десятичные, указатели, строки бит, байтов, слов и двойных слов. Микропроцессор 80386

имеет полную систему команд для  операций  над  этими  типами

данных,  а также для управления выполнением программ. Способы

адресации 80386 обеспечивают эффективный доступ  к  элементам

стандартных  структур данных: массивов, записей, массивов записей и записей, содержащих массивы.

    

                  3.2 Высокопроизводительная технология

    

     32-битная архитектура не гарантирует высокой производительности. Реализация потенциала архитектуры требует новейшей микроэлектронной  технологии, точного разделения функций и внимания к внешним операциям кристалла, в особенности к взаимодействию процессора с памятью. Включение этих свойств обеспечивает 80386 самую высокую произвидительность по сравнению с любым другим существующим микропроцессором.

     Микропроцессор 80386 реализован с помощью технологии фирмы Intel CH MOSIII - технологического процесса, объединяющего в себе возможности высокого быстродействия технологии HMOS с малым потреблением технологии кмоп. Использование геометрии 1,5 мкм и слоев металлизации дает 80386 более 275000 транзисторов на кристаллле.

      Микропроцессор  80386  разделен  внутри на 6 автономно и

параллельно работающих блоков с соответствующей синхронизацией. Все внутренние шины, соединяющие эти блоки, имеют разрядность 32 бит. Конвейерная организация функциональных блоков в 80386 допускает временное наложение выполнения различных стадий команды и позволяет одновременно выполнять несколько операций. Кроме конвейерной обработки всех команд, в  80386  выполнение ряда важных операций осуществляется специальными аппаратными узлами. Блок умножения/деления 80386 может выпонять 32-битное умножение за 9-41 такт синхронизации, в зависимости от числа значащих цифр; он может разделить 32-битные операнды за  38  тактов (в случае чисел без знаков) или за 43 такта (в случае чисел со знаками). Регистр группового сдвига 80386 может за один такт сдвигать от 1 до 64 бит.

      Во многих 32-битных применениях, в таких как,  например,

перепрограммируемые  ЭВМ коллективного пользования, требуется

преобразование логических адресов в физические и защита памяти с помощью блока управления памятью, БУП. В других применениях, например, в системах управления в реальном времени, это не требуется.  Для  большинства  микропроцессорных  систем  с 32-битной архитектурой  такое разделение функций реализуется путем использования дополнительного корпуса блока  управления памятью. В отличие от них буп 80386 входит в состав процессора, как один из двух функциональных блоков конвейерной структуры. Операционная система, управляющая работой БУП, позволяет, например, системе реального времени  обходить  страничное преобразование.  Введение управления памятью внутрь кристалла дает повышенную производительность в системах, использующих БУП и не приводит к ее снижению в тех систмах, которые БУП не используют. Такие характеристики стали возможны благодаря

снижению задержек распространения, использованию внутреннего

полупериодного тактирования и параллельной работы.

      Еще одно свойство, необходимое в одних применениях и не

требующееся в других, это обработка больших чисел, в  особенности  в  арифметических операциях с плавающей запятой с одинарной и двойной точностью. Операнды с плавающей запятой имеют большую длину, а необходимый набор команд для операций над ними является довольно сложным; для реализации стандартного набора операций с плавающей запятой в соответствии со стандартом IEEE754 требуется несколько тысяч транзисторов. В этих целях в 80386 имеется аппаратное обеспечение совместной работы с отдельным математическим сопроцессором.  К  80386  может быть  подключен  математический  сопроцессор либо 80287, либо более производительный 80387.  Для  прикладного  программного обеспечения  сопроцессоры прозрачны; они лишь расширяют архитектуру 80386 с помощью регистров, типов данных  и  операций, требуемых  стандартом IEEE754. Комбинация 80386 и 80387 может исполнять 1,8 миллион операций.

     32-битный процессор, работающий с частотой 16 мгц, имеет

большее быстродействие, чем большинство быстродействующих памятей, вследствии чего его производительность может быть  ограничена  временами доступа к памяти. 80386 был спроектирован так, чтобы с максимальной эффективностью использовать как наиболее  быстродействующие статистические ОЗУ, так и  недорогие динамические  ОЗУ.  Для  обращения к быстрой памяти, например типа кэш, 80386 вырабатывает двухтактный  магистральный  цикл для  адреса/данных.  (Памяти типа кэш 80386 могут иметь любой объем от минимального полезного 4 кбайт до максимального, охватывающего все физическое адресное пространство).  Обращение к более медленной памяти (или к устройствам ввода/вывода) может  производиться с использованием конвейерного формирования адреса для увеличения времени установки данных  после  адреса до  3  тактов при сохранении двухтактных циклов в процессоре. Вследствие внутреннего конвейерного форморования адреса  при исполнении команды, 80386, как правило, вычисляет адрес и определяет  следующий  магистральный цикл во время текущего магистрального цикла. Узел конвейерного формирования адреса передает эту опережающую информацию в подсистему памяти, позволяя, тем самым, одному банку памяти  дешифрировать  следующий магистральный  цикл,  в то время как другой банк реагирует на текущий магистральный цикл.

 

           3.3 Обеспечение работы с виртуальной памятью

    

     Виртуальная память позволяет ставить максимальный  объем программы или группы программ в зависимость от имеющегося адресного  пространства на диске, а не от объема физической памяти (ОЗУ), которая в настоящее время  приблизительно  в  400 раз  дороже. Из вытекающей отсюда гибкости выигрывают изготовители оборудования (которые могут поставлять изделия, отличающиеся лишь в конфигурациях памяти и в уровне производительности), программисты (которые могут предоставлять  управление хранением программ операционным системам и избегать написания  программ  с перекрывающимися структурами) и  конечные пользователи (которые могут вводить новые и большие по объему прикладные программы, не опасаясь нехватки памяти).

     Виртуальная память реализуется операционной  системой  с

соответствующей аппаратурной поддержкой. Микропроцессор 80386

обеспечивает работу с системами виртуальной памяти с сегментной  или  страничной организацией. Сегментная виртуальная память больше подходит для небольших 16-битных систем, в  которых  объем сегмента не превышает 64 кбайт. 80386 обеспечивает работу с сегментами объемом до 4 гбайт; поэтому в большинстве больших систем на базе 80386 системы виртуальной памяти будут использовать  возможность  страничного  запроса.  Для  каждой страницы  80386  вырабатывает биты присутствия, занятости или регистрации обращения, которые необходимы для эффективной реализации виртуальной памяти со страничными запросами. В  случае  обращения  к несуществующей странице 80386 автоматически делает переход к операционной системе, если операционная система считала с диска отсутствующую страницу, 80386  выполняет команду  повторно. Высокая производительность в работе с виртуальной памятью обеспечивается в 80386 использованием  внутренней  кэш-памяти  для  хранения  страничной информации. Эта кэш-память (называемая буфером просмотра трансляции, TLB) содержит информацию о распределении адресов 32 страниц, использовавшихся последними. Страницы виртуальной памяти 80386 имеют об'ем 4 кбайт, храня одновременно распределение 128  кбайт памяти, буфер TLB позволяет 80386 преобразовать адреса внутри кристалла,  не  обращаясь к хранящейся в памяти таблице страниц. В типичных системах 98-99% поиска адресов будет осуществляться через буфер TLB.

    

                      3.4 Механизмы защиты

    

      Выполняя  3-4  миллиона  операций в секунду, 80386 имеет достаточно  вычислительной  мощности  для  обеспечения  самых

сложных систем, состоящих из сотен или тысяч программных  модулей. В таких системах вопрос заключается не в том, будут ли ошибки, а в том как их накти и повозможности быстро устранить и  насколько их действие может быть ограничено. Такие системы могут быть быстро отлажены и сделаны более надежными при  серийном освоении, если процессор будет проверять каждую команду по критерию защиты. При этом степень и тип используемой защиты зависит от конкретного применения. Обычно простые системы реального времени работают достаточно хорошо без использования защиты. Различные требования к защите могут быть наиболее полно удовлетворены с помощью набора выборочно  используемых функций защиты, введенных в 80386:

-        разделение адресных пространств задач;

-        введение 0-4 уровней привилегий ;

-        использование привилегированных команд (например,HALT);

-        разделение  сегментов по типам (например, кодовый сег       

   мент или сегмент данных);

-        введение прав доступа к сегментам и страницам  (например, право только чтения или только исполнения);

-        проверка границ сегмента.

      Для  сохранения максимельной производительности все проверки защиты в 80386 выполняются одновременно  с  выполнением

команды.

    

              3.5 Совместимость с микропроцессорами 8086/80286

    

     Два поколения процессоров семейства 86 предшествуют процессору 80386 - 80286 и 8086, с каждым из них 80386 совместим на уровне двоичных кодов. Благодаря такой совместимости экономятся  программные затраты, обеспечивается быстрый выход на рынок и доступ к обширной библиотеке  программного  обеспечения, написанного для машин на базе микропроцессоров семейства х86.

     Микропроцессор 80386, конечно, может выполнять программы для 8086, он также может одновременно выполнять программы для 80286 и 80386. Однако наиболее важным свойством совместимости 80386 представляется свойство, называемое VIRTUAL 86 ( виртуальный  86),  устанавливающее  защищенную  структуру для 8086 внутри системы задач 80386.  Дополняя  свойство  виртуального 8086 страничной организацией памяти, 80386 может закрепить за каждой  задачей  виртуального 8086 1 мбайтное адресное пространство в любой области  физического  адресного  пространства 80386.  Более того, если операционная система 80386 обеспечивает работу с виртуальной  памятью,  то  задачи  виртуального 8086  могут  переноситься  с диска и обратно как любые другие задачи. Таким образом, свойство виртуального  8086  позволяет

80386  одновременно  выполнять программы, написанные для трех поколений семейства 86.

    

                      3.6 Способы адресации

    

      Микропроцессор 80386 обеспечивает регистровую и непосредственную адресацию операндов, содержащихся, соответственно, в регистрах или командах. Eще более важным является способность 80386 обеспечивать различные способы адресации необходимые для эффективного обращения к таким элементам структур данных  в памяти как массивы, записи (структуры), массивы записей и записи, содержащие массивы. При этом программа определяет  поле смещения в логическом адресе по одному из способов адресации памяти в 80386. Процессор 80386 вычисляет поле смещения логического адреса по следующей формуле:

     смещение = база + (идекс X масштаб) + отклонение

      Для  вычисления  смещения  могут быть использованы любые

или все переменные базы, индекса и отклонения. Переменные базы и индекса являются величинами, хранящимися в общих  регисрах, а величина отклонения содержится в команде. Для хранения базы  или индекса может быть использован любой общий регистр.

Величина в индексном регистре может быть отмаштабирована (умножена) коэффициэнтом 1,2,4 или 8, что дает возможность делать ссылки на элементы массива или записи соответствующей длины. Величина  отклонения может иметь разрядность 8 или 32 бит  и  интерпретируется процесспром как величина со знаком в дополнительном коде.

     Разумные комбинации базы, индекса и отклонения дают следующие способы адресации памяти 80386:

-          прямая: используется только отклонение;

-          регистривая косвенная: используется только база;

-          базовая: используется база + отклонение;

-          индексная: используется индекс (в масштабе);

-          индексная с отклонением: используется индекс (в 

   масштабе)+отклонение;

-          базовая индексная: используется база + индекс (в масштабе);

-          базовая  индексная  с отклонением: используется база + индекс 

   (в масштабе) + отклонение;

 

                     3.7 Главные типы данных

    

     В табл. 3.7.1 перечислены типы данных и команды, обеспечиваемые процессором 80386. В этой таблице приведены только наиболее употребимые команды. Варианты  команд,  такие как  (в случае циклического сдвига) циклический сдвиг вправо и циклический сдвиг через перенос, также опущены.

 

                                                 Таблица 3.7.1

                                                 

                Главные типы данных и команды

 

 

   Тип      

 Разрядность 

Команды           

Целое,      

порядковое  

            

            

            

            

            

            

            

            

            

 8, 16, 32 бит

              

              

              

              

              

              

              

              

              

              

Пересылка,обмен, преобразование, проверка,  сравнение,перевод, сдвиг,    двойной сдвиг, циклический сдвиг, отрицание, логическое "и", "или", исключающее "или".

Сложение, вычитание, умножение, деление, увеличение на 1, уменьшение на 1, перевод (пересылка с расширением знака/ноля)

Неупакованное

десятичное  

 1 цифра      

              

Коррекция для сложения,     

вычитания, умножения,деления

Упакованное 

десятичное  

 2 цифры      

              

Коррекция для сложения,     

вычитания                   

Строка      

(байтов,слов,

двойных слов)

 0-4гбайт слов,

 двойных слов 

              

Пересылка, загрузка,        

запоминание, сравнение,     

просмотр, повтор            

Строка бит  

            

            

            

 1-4гбит      

              

              

              

Проверка, проверка и установ-

ка,  проверка и гашение, про-

верка и дополнение, просмотр,

вставление, изъятие         

Локальный   

указатель   

  32 бит      

              

 (см. Порядковое)           

                             

Глобальный  

указатель   

  48 бит      

              

 Загрузка