МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Процессоры. История развития. Структура. Архитектура

    исторический интерес. Но именно на них “выехали” миллионы РС,

    обеспечивающих живучесть и подстегивающих развития всего семейства.

    1.1. Процессоры i8086/8088

    Процессоры 8086, выпущенные фирмой Intel в 1978 году, относятся к первому

    поколению 16-битных процессоров. Годом позже появилась его модификация

    1088. Оба эти процессора выполняют 8/86-битные логические и арифметические

    операции, включая умножение и деление, операции с строками и операции ввода-

    вывода. Процессоры имеют 20-разрядную шину адреса, которая позволяет

    адресовать до 1 Мб памяти. Шина данных у 8086 16-разрядная, у 8088

    разрядность внешней шины данных сокращена до 8 бит. Это сокращение,

    сделанное с целью удешевления системы в целом, оборачивается некоторым

    снижением производительности: 8086 за счет большей разрядности шины

    работает примерно на 20-60% быстрее, чем 8088 с той же тактовой частотой.

    Функциональные различия этих процессоров, обусловлены разной разрядностью

    шины, появляются только в способе подключения 8- и 16-разрядных внешних

    устройств. С программной точки зрения эти процессоры идентичны, их система

    команд и набор процессоров включены во все процессоры РС- совместимых

    компьютеров. От родоначальника - процессора 8086 – пошло общее обозначения

    семейства: х86. Процессоры поддерживают аппаратные и программные прерывания

    и допускают разделяемое использование шины совместно с другими

    процессорами или контроллерами (например к, прямого доступа к памяти – DMA)

    . Также предусмотрено использование математического сопроцессора 8087,

    существенно повышающего производительность вычислений.

    В процессорах применима конвейерная архитектура, позволяющая выполнить

    выборку кодов инструкций из памяти их декодирование во время выполнения

    внутренних операций. Конвейер повышает производительность процессора за

    счет сокращения времени простоя его операционных узлов. Конвейер

    процессора 8086 имеет 6-байтную внутреннюю очередь инструкций. Блок

    предварительной выборки при наличии 2 свободных байт в очереди старается ее

    заполнить в то время, когда внешняя шина процессора не занята операциями

    обмена. Очередь у процессора 8088 сокращена до 4 байт, а предварительная

    выборка осуществляется уже при наличии одного свободного байта. Это отличия

    оптимизируют конвейер с учетом разрядности шины данных. Очередь обнуляется

    при выполнении любой команды передачи управления, даже при переходе на

    следующий адрес. Этим свойством часто пользуются при программировании

    управления устройствами ввода-вывода, требующими задержки между соседними

    операциями обмена.

    Процессор имеет 14 регистров разрядностью 16 бит, операнды могут иметь

    8 или 16 бит и представлять знаковые и беззнаковые и двоично-десятичные

    числа. Система команд имеет 24 режима адресации операндов. Среднее время

    выполнения команды занимает 12 тактов синхронизации, один цикл обмена на

    внешней шине занимает 2 такта (без тактов ожидания). Тактовая частота

    процессора 8088, применяемого в превых РС, была 4,77 МГц, в последствии

    появились процессоры с частотой 8 и 10 МГц (применялись в Turbo XT).

    1. 1. 1. Организация памяти 8086/88

    Память для процессоров 8086/8088 представляется в виде линейной

    последовательности байт. Для обращения к памяти процессор (совместно с

    внешней схемой) формирует шинные сигналы MEMWR# (Memory Write) и MEMRD#

    (Memory Read) для операции записи и считывания соответственно. Охват

    пространства размером 1 Мб обеспечивается 20-разрядной шиной адреса.

    Логическая память разбивается на сегменты размером 65 Кб. Физический адрес

    памяти (поступающий на шину адреса разрядностью 20 бит) состоит из двух 16-

    битных частей – адрес сегмента Seg и исполнительного адреса ЕА (executive

    address), суммируемых со смещением на 4 бита (рис 2.1).

    Рис. 2.1. Формирование физического адреса памяти процессором 8086/8088

    Процессор может обращаться к одному байту памяти, так и слову, или

    двойному слову. При размещении слова в памяти с адресом, соответствующим

    адресу слова, содержит его младшую часть (Low), следующий байт содержит

    старшую часть (High). Слово может размещаться в памяти как по четному

    (Even), так и по не нечетному (Odd) адресу. Двойное слово обычно

    используется для хранения полного адреса, и в нем располагается сначала

    слово смещения (в порядке L, H), а затем сегмента (в том же порядке).

    Сегментация памяти в порядке L, H являются характерной чертой процессоров

    Intel.

    Все пространство памяти разбивается на параграфы – области из 16

    смежных байт, начиная с нулевого адреса. Вполне очевидно, что любой сегмент

    может начинаться только на границе параграфа (четыре младших бита адреса –

    нулевые).

    1.1.2. Адресация ввода-вывода

    Для обращения к устройствам ввода-вывода процессор имеет отдельные команды

    IN и OUT, результатом выполнения которых является формирование шинных

    сигналов IORD# (Input/ Output Write) для чтения или записи одного или двух

    байт. Данные при чтении могут помещаться только в регистр AL или AX и

    выводятся из этих же регистров. В циклах ввода-вывода используется только

    16 младших бит шины адреса (старшие биты при этом нулевые), что позволяет

    адресовать до 64 Кб регистров ввода-вывода. Адрес устройства задается либо

    в команде (только младший байт, старший – нулевой), либо берется из

    регистра DX (полный 16-битный адрес).

    1.1.3. Система команд

    Набор команд 8086/88 включает следующие основные группы:

    . инструкции пересылки данных

    . арифметические и логические инструкции;

    . инструкции со строками;

    . инструкции передачи управления;

    . инструкции управления процессором;

    Каждая команда имеет один или два байта инструкции, за которыми может

    следовать 1, 2 или 4 байты операнда. Перед кодом инструкции возможно

    применение префиксов CS;, DS;, ES;, SS;, указывающих на использование

    заданных сегментных регистров вместо обычного, префикса REP, указывающего

    на необходимость повтора инструкции указанное в регистре СХ число раз, и

    префикса LOCK, блокирующего системную шину на время выполнения инструкции.

    С позиции сегодняшнего дня можно считать, что система команд 16-разрядного

    процессора 8086/88 является подмножеством команд 32-разрядных процессоров

    80х86.

    2. . Процессоры 80186/80188

    Процессоры i80186/80188 и их модификации 80С186/80С188 не представляют

    нового представления архитектуры: как и 8085/8088, они являются

    процессорами с 16-разрядной внутренней архитектурой и программно

    совместимыми с 8086ю Разрядность шины адреса - 20 бит, шины данных у 80186

    – 16 бит, у 80188 – 8 бит. Эти процессоры имеют встроенные периферийные

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

    генератор синхронизации. За счет архитектурных улучшений сокращенно число

    тактов, требуемых для выполнения некоторых команд. Процессоры 80С186/80С188

    имеют средства управления энергопотреблением, есть их модификации со

    встроенными последовательными портами и контроллерами регенерации

    динамической памяти. Встроенная периферия этих процессоров имеет

    программный интерфейс, не совместимы с IBM РС - спецификациями. Эти

    процессоры используются во встраиваемых контроллерах и компьютерах, не

    требующих 100% IBM – совместимости (возможно обеспечение совместимости на

    уровне MS DOS).

    1.2.1. Математический сопроцессор 8087

    Сопроцессор 8087, официально (фирмой Intel) называемый NPX (Numeric

    Processor eXtension), предназначен для расширения вычислительных

    возможностей центрального процессора (CPU) 8086/8088, 80186/80188. Его

    применение к системе команд 8086 добавляется 68 мнемоник, включающих

    арифметические, тригонометрические, экспоненциальные и логарифмические.

    3. Процессор 80286

    Процессор 80286, выпущенный в 1982 году, представляет второе поколение 16-

    разрядных процессоров. Он имеет специальные средства для работы в

    многопользовательских и многозадачных системах. Самым существенным отличием

    от 8086/88 является механизм управления адресации памяти, который

    обеспечивает четырехуровневую систему защиты и поддержки виртуальной

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

    переключения задач (Task switching). Процессор имеет расширенную систему

    команд, которая кроме команд управления защитой включает все команды 8086 н

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

    режимах:

    8086 Real Address Mode – режим реальной адресации (или просто реальный

    режим - Real Mode), полностью совместимый с 8086. В этом режиме возможна

    адресация до 1 Мбайт физической памяти (на самом деле, за счет “удачной”

    ошибки, почти на 64 Кб больше).

    Protect Virtual Address Mode – защищенный режим виртуальной адресации

    (или просто защищенный режим - Protect Mode). В этом режиме процессор

    позволяет адресовать до 16 Мбайт физической памяти, через которые при

    использовании страничной адресации могут отображаться до 1 Гб виртуальной

    памяти каждой задачи. Система команд в этом режиме также включает набор

    команд 8086, расширенный для обеспечения аппаратной реализации функций

    супервизора многозадачной ОС и виртуальной памяти. Переключение в

    защищенный режим осуществляется одной командой (с предварительно

    подготовленными таблицами дескрипторов) достаточно быстро. Обратное

    переключение в реальный режим возможно только через аппаратный сброс

    процессора.

    По составу и назначению в реальном режиме регистры 80286 в основном

    совпадают с регистрами 8086/88. Изменения касаются назначения бит регистра

    8086, процессор 80286 имеет 16-битную шину данных и очередь команд 6 байт.

    За счет архитектуры сокращенно время выполнения операций: процессор 20286 с

    тактовой частотой 12,5 МГц работает более чем в 6 раз быстрее чем 8086 с

    тактовой частотой 5 МГц. Предусмотрена возможность использования

    высокопроизводительного процессора 80287, программно совместимого с 8087.

    Под управлением MSDOS процессор 80286 обычно используют в реальном

    режиме работы. Защищенный режим используют ОС типа XENIX, UNIX, OS/2,

    NetWare286 и оболочка MS Windows. Хотя его преимущества в РС реализованы

    лишь частично (он в основном использовался как быстрый процессор 8086),

    именно с этим процессором связан настоящий “бум” на рынке РС.

    1.3.1. Организация памяти 80286

    Как и у процессоров 8086/8088, для обращения к памяти процессор (совместно

    с внешней схемой) формирует шинные сигналы MEMWR# (Memory Write) и MEMRD#

    (Memory Read) для операции записи и считывания соответственно. Шина адреса

    разрядностью 24 бита позволяет адресовать 16 Мб физической памяти, но в

    реальном режиме доступен только 1 Мб, начинающийся с младших адресов. С

    программной точки зрения память также организуется в виде сегментов, но

    управление сегментацией имеет существенные различия для реального и

    защищенного режимов.

    В реальном режиме по адресации памяти декларируется полная

    совместимость с процессором 8086, который своей 16-битной адресной шиной

    охватывает пространство в 1 Мб. На самом деле на радость разработчиков

    программного обеспечения РС, 80286 имеет ошибку, “узаконенною” и в

    следующих поколения процессоров. При вычислении физического адреса возможно

    возникновение переполнения, которое с 20-битной шиной адреса просто

    игнорируется. Например, Seg=FFFFh и EA=FFFF, физический адрес, вычисленный

    по формуле PA=16*Seg+EA=10FFEF, процессором 8086 трактуется как 0FFEF –

    адрес, принадлежащий первому мегабайту. Однако на выходе А20 процессора

    80286 в этом случае устанавливается единичное значение, что соответствует

    адресу ячейки из второго мегабайта физической памяти. Для обеспечения

    полной программной совместимости с 8086 в схему РС был введен специальный

    вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса.

    Не оценив потенциальной выгоды от этой ошибки, управление вентилем

    узаконили через программно-управляемы бит контроллера клавиатуры 8042.

    Когда оперативная память подешевела, а “аппетит” программного обеспечения

    вырос, в эту небольшую область (64К-16 бит) стали помещать некоторые

    резидентные программы или даже часть операционный системы, а для ускорения

    управлением вентилем появились более быстрые способы (Gate A20 Fast

    Control).

    В отличии от 8086 процессор 80286 имеет средства контроля за переходом

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

    к слову, имеющему смещение FFFh (его старший байт выходит за границу

    сегмента), или выполнения инструкции, все байты которой не умещаются в

    одном сегменте, процессор вырабатывает прерывание – исключение 13 (0Dh) –

    Segment Overrun Exception. При попытке выполнения инструкции ES-CAPE с

    операндом памяти, не умещаемся в сегменте, вырабатывается исключение 9 –

    Processor Extension Segment Interrupt.

    В защищенном режиме работают не все режимы адресации, допустимые для

    8086 и реального режима 80286. Отличия касаются определения сегментов:

    . сегментные регистры CS, DS, SS и ES хранят не сами базовые адреса

    сегментов, а селекторы, по которым из таблицы, хранящейся в ОЗУ,

    извлекаются дескрипторы сегментов;

    . дескриптор описывает базовый адрес, размер сегмента (1-64 Кб) и его

    атрибуты;

    . базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает

    адресацию 16 Мб физической памяти.

    Селекторы, загружаемые в 16-битные сегментные регистры, имеют три поля:

    RPL (биты 0, 1), TI (бит 2) и INDEX (биты 3-15):

    RPL (Requested Privilege Level) – запрошенный уровень привилегий;

    TI (Table Indicator) – индикатор использования GDT – глобальный (TI=0) или

    LDT – локальной (TI=1) таблицы дескрипторов;

    INDEX – номер дескриптора в таблице.

    Дескрипторы хранятся в слове и занимают по четыре смежных слова (8

    байт). При загрузке нового значения селектора дескрипторы считываются из

    ОЗУ и кэшируются во внутренних программно не доступных (и невидимых)

    регистрах процессора. До смены значения селектора при обращения к памяти

    используются значения дескрипторов только из кэш-регистров. Обращение к

    дескрипторам выполняются как заблокированные шинные циклы, что обеспечивает

    целостность дескрипторов и при наличии других контроллеров шины.

    Для функций передачи управления и переключения задач определенны

    специальные типы дескрипторов

    1.3.2. Ввод-вывод

    Как и 8086, процессор 80286 позволяет адресовать до 64К однобайтных или 32К

    двухбайтных регистров в пространстве, отдельном от памяти (команды ввода-

    вывода вызывают шинные циклы с активными сигналами IORD#, IOWR#). В

    адресном пространстве ввода-вывода область 00F8-00FF зарезервирована для

    использования сопроцессором. При операциях ввода-вывода старшие биты

    адреса (линии А[16:20]) не используются. Адрес устройства либо задается в

    команде (только младший байт, старший – нулевой), либо берется из регистра

    DX (полный 16-битный адрес). Строковые команды REP INSB/INSW, REP

    OUTSB/OUTSW обеспечивают блочный ввод-вывод со скоростью, превышающей

    аналогичные операции со стандартным контроллером DMA.

    В защищенном режиме инструкции ввода-вывода являются

    привилегированными. Это означает, что они могут исполнятся задачами только

    с определенным уровнем привилегий, определяемым полем IOPL регистра флагов.

    Несанкционированная попытка выполнения этих инструкций вызывает исключение

    13 – нарушения защиты (знаменитое сообщение “General Protection Error”).

    1.3.3. Начальный сброс и переход в защищенный режим

    По высокому уровню сигнала на входе RESET процессор прекращает выполнение

    инструкций и перестает управлять локальной шиной. После аппаратного сброса

    процессор переходит к выполнению команды, считанной по физическому адресу

    FFFF0h. Сброс (и только сброс!) переводит процессор в реальный режим и

    устанавливает значения некоторых регистров.

    Только после сброса и до первой команды межсегментного перехода или

    вызова на шине адреса в реальном режиме бита А[20:23] в циклах выборки

    команд имеют единичное значения. Из этого следует, что по крайней мере на

    начальный период времени после сигнала RESET компьютер должен иметь образ

    BIOS в адресах FFFFF0-FFFFFFh, в то время как РС на 8086/88 ROM BIOS

    располагалась под границей 0FFFFFh. Перемещение BIOS из первого мегабайта

    памяти в старшие адреса “навсегда” невозможно, поскольку векторы

    прерывания, ссылающиеся на сервисы BIOS, в реальном режиме могут

    адресоваться только к памяти в диапазоне адресов 0-0FFFFh (0-10FFEF при

    открытом вентиле Gate A20). Таким образом, у РС/AT на процессоре 80286 (и

    старше) ROM BIOS отображается по крайней мере на две области памяти,

    расположенные под верхними границами первого и последнего мегабайтов

    физической памяти.

    Перевод процессора в защищенный режим осуществляется загрузкой в MSW

    слова с единичным значением бита РЕ (Protect Enable). Перед этим в памяти

    должны быть проинициализированы необходимые таблицы дескрипторов IDT и

    GDT, а в базовые регистры IDT и GDT должны быть занесены их физические

    адреса (24-битные) и размер. После выполнения инструкции LMSW,

    устанавливающий бит РЕ, сразу должна выполнятся команда внутрисегментного

    перехода JMP для очистки очереди инструкций, декодированных в реальном

    режиме.

    Для установки регистров процессора в начальное состояние защищенного

    Страницы: 1, 2, 3, 4, 5


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.