Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Система команд процессора 8086 — 8088.




Эти процессоры выполняют набор команд:

- команды пересылки данных;

- арифметические и логические команды;

- команды со строками;

- команды передачи управления;

- команды управления процессором.

Каждая команда содержит 1 или 2 байта кода инструкции, за которыми может следовать 1, 2 или 4 байта операнда. Перед кодом инструкции возможно применение префиксов cs/ds, es/ss, указывающих на использование заданных сегментных регистров вместо префикса REP указывающего на необходимость повтора инструкции указанные в регистре cx число раз и префикса LOCK, блокирующего системную шину на время выполнения инструкции.

Математический сопроцессор Intel 8087 предназначен для расширения вычислительных возможностей центрального процессора. Он включает кроме арифметических, логических тригонометрические экспоненциальные и логарифмические инструкции.

Процессор 80187 и 80188. Они являются 16-разрядными процессорами, шина адреса — 20 бит, шина данных — 16 бит (80187) 8 бит (80188). Зато эти процессоры имеют встроенные контроллеры прерываний, контроллеры ПДП, трехканальный таймер и генератор синхронизации.

Процессор 80286. Второе поколение 16-разрядных процессоров, выпущен в 1982 году. Многопользовательский и многозадачный процессор. Основное отличие от прежних моделей — это наличие нового механизма управления адресацией памяти, которая обеспечивает 4-уровневую систему защиты и поддержку виртуальной памяти. Процессор может работать в двух режимах:

1) режим реальной адресации (реальный режим), полностью совместимы с 8086. В этом режиме возможна адресация всего 1Мб памяти.

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

За счет особой архитектуры увеличено быстродействие процессора. При небольшой тактовой частоте (12,5МГц) он работает в 6 раз быстрее чем 8086 с частотой 5Мгц.

I80386.

Изменения:

1) Отказ от жесткого ограничения в 64 кб.

2) два режима работы: реальный и защищенный. В защищенном режиме длина сегмента может достигать 4 Гб.

3) Поддерживает режим виртуальной памяти, объем которой может составлять 64 Тб.

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

5) Введена четырехуровневая защита памяти и систем ввода/вывода при многозадачной работе процессора.

6) Так как процессор может работать в двух режимах, то возникает необходимость переключаться с одного режима на другой. Переключение между режимами в отличии от 8086 и 80286 происходит быстро (без выключения МПС), с помощью простой последовательности команд, аппаратного сброса процессора не требуется. Процессор может работать с 8, 16 и 32 –битными операндами, строками байт, слов и двойных слов.

7) В архитектуру процессора введены средства отладки и тестирования.

8) Разрядность регистров данных (РОН) ax, bx, cx, dx и регистров адресов si, di, bp, sp увеличена до 32 бит. В их обозначении появилась буква e, что означает расширенный. Например eax, esi. Регистры данных и адресов, входящие в состав РОН могут заменять друг друга (отход от идеологии специализации регистров).

9) Регистры селекторов адресов оставлены 16 –разрядными.

10) Добавлено два новых регистра – fs и js. fs – регистр флагов, расширен до 32 разрядов регистр-счетчик команд eip. Стал 32 разряда регистр флагов, в него добавлено 6 новых бит.

11) Регистры сегментов процессора содержать 16-битные указатели (в реальном режиме) или селекторы (в защищенном режиме) 6-и сегментов.

12) Появился новый регистр – регистр дескрипторов. Всего 6 регистров дескрипторов, и они связаны с сегментными регистрами. Регистры дескрипторов программно недоступны. В защищенном режиме в регистры дескрипторов загружается 32-битный базовый адрес сегмента, и атрибуты сегментов.

13) В составе 80386 появились 4 управляющих регистра: cr0, cr1, cr2, cr3. В этих регистрах хранятся признаки состояния процессор общие для всех задач. Кроме того процессор 80386 содержит системные адресные регистры для хранения ссылок на сегменты и таблицы в защищенном режиме, регистры отладки и регистры тестирования.

14) Так как память делится не только на сегменты, но и на страницы, процессор обязан выделять эти области (страницы) в массиве памяти. В реальном режиме сегменты имеют строго фиксированный размер. В защищенном режиме сегменты имеют переменный размер.

15) Страницы – это области логической памяти объемом 4 кб, каждая из страниц может отображаться на любую область физической памяти. Таким образом память делится на три адресных пространства: логическая, линейная и физическая.

16) Режимы адресации. 80386 может использовать как 16-битные, так и 32-битные режимы адресации. При 32-битном режиме адресации задействованы следующие регистры: базовый регистр bx или bp, индексный регистр si или di, смещение (0, 8 или 32 бита).

17) Прерывания:

a. Аппаратные:

i. Маскируемые.

ii. Немаскируемые.

b. Программные (обрабатываются как исключения) исключения подразделяются на 3 вида:

i. Отказ – исключение, которое обнаруживается и обслуживается до выполнения команды вызывающей ошибку.

ii. Ловушка – это исключение, которое обнаруживается и обслуживается после выполнения команды вызывающей это исключение.

iii. Аварийное завершение – это исключение, которое не позволяет точно установить команду вызвавшую его. Аварийное завершение говорит о серьезной ошибке, вызванной например аппаратным сбоем или неисправностью в системе, а так же если повреждены системные таблицы или таблицы дескрипторов.

18) Процессор выпускался в стовыводный корпус, имеется возможность подключение внешнего сопроцессора 80387-го.

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

1) Использовать сегмент не по назначению;

2) Нарушать права доступа- нельзя пытаться записать инфу в сегмент, предназначенную только для чтения, нельзя обращаться к сегменту не имея на то соответствующих привелегий, нельзя адресовать элементы, расположенные за границей сегмента;

3) Нельзя изменять дескрипторы сегментов не имея на то соответствующих привелегий;

Защищённый режим предусматривает средства переключения задач. Состояние каждой задачи, т.е. состояние всех регистров проца хранится в специальном сегменте «состояния задачи» на который указывает селектор в регистре задачи. При переключении задачи достаточно загрузить в регистр задачи новый селектор и состояние предыдущей задачи автоматически сохранится, а в процессор загрузится состояние новой или ранее прерванной задачи. В защищённом режиме предусматривается 4-уровневая система привелегий, которая предназначена для выполнения привелегированных команд и доступа к дескрипторам. 0 уровень привелегий соответствует неограниченным правам доступа(ядро операционной системы). Уровень 3 даёт минимальные права и отводится к прикладным задачам. Уровень 1 системные сервисы. Уровень 2-

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

Страничный механизм.

Для организации работы процессора с виртуальной памятью основная память разбивается на страницы объёмом по 4 кбайта. Каждому такому кадру присваивается номер. Для примера возьмём основную память размером 32 кбайта. Разобьём по 4 кбайта. Получается 8 кадров.

0 страница-от 0 до 4095

1 страница- от 4096 до 8191 байт

2 страница от 8192 до 12287 байт и т. Д.

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

 

     
     
     
     
     
     
     
     
     
     
     
     
     
     

 

Бит присутствия может иметь значение 0 или 1. Если 0, то такой страницы нет, если 1- то есть. Системный контролер упраления памятью проверяет находится ли нужная страница в текущий

момент в памяти.

12-битное смещение перенести в 12 разрядный выходной регистр. 12 разрядный адрес основной памяти.

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

Есть 2 варианта замещения страниц – глянь в нете!

 

При сегментации весь объём памяти разбивается на сегменты различного объёма. Объём сегментации, например данных, абсолютно не зависит от объёма сегмента команд, стека.

1 способ сегментации- это подкачка и разбитие на страницы. При необходимости обращение к сегменту, которого в данный момент нет в памяти, он переносится в основную память. Если для него нет места, тогда один или несколько сегментов возвращаются на диск. Допустим в памяти в записаны сегменты: 1) 4к 2) 8к 3)8к 4)7к.

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

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

 

Процессор 486 и Pentium.

2 режима работы: реальный и защищённый. В реальном режиме работает как быстрый 8086 с несколько расширенным набором команд. Защищённый режим работы аналогичен 386, переключения из одного режима работы программным путём командой MOV. Эта команда меняет один бит режима в управляющем регистре процессора. Физическое пространство 4Гб, шина адреса 32 разряда, виртуальный адрес, используемый в программе, представляет собой пару – адрес сегмента + смещение внутри сегмента. Смещение хранится в одном из полей команды, адрес сегмента в одном из 6 сегментных регистров. Конвеерная архитектура здесь применяется, это означает, что любая команда выполняется не одним, а несколькими блоками, объединёнными конвеерами. 486 имеет конвеер из 5 ступеней. 486 процессоры и дальнейшие марки выполнение команд производят нелинейно, а приоритетным способом. Наиболее простые команды отдаются ядру процессора, а т.к ядро процессора работает на очень высокой частоте, то эти команды будут выполнятся гораздо быстрее, при этом появляется возможность параллельно обрабатывать несколько команд. Ядро процессора легче «переносит» высокие частоты процессора, поэтому в современных процессорах ядро изготовлено схемотехнически простым, зато оно может работать очень быстро. Конвееры – плюсы и минусы: 1) для нормальной работы конвеера потока команд нужно обеспечить непрерывным, если произойдёт заминка на каком-либо этапе всё «замрёт». Для устранения этого недостатка используется 2 метода: внеочередное исполнение и предсказание ветвлений. Внеочередное исполнение – команды, поступающие позже, выполняются раньше.
Механизм предсказания ветвлений основан на том, что операционная система запоминает (если поступают команды перехода куда произошёл переход первый раз, после чего будет предполагать, что и в следующий раз переход осуществится туда же). Если переход сделан 10 раз, то ошибку сделает система только на 11 раз. В реальных задачах встречаются циклы с гораздо большим количеством повторений. А если ещё и знать, какие команды идут за операции перехода, то можно начинать их декодировать на конвеере гораздо раньше до того, как сама операция начнёт совершаться. Процессор pentium 4 состоит из 12 ступеней конвеера.


Усовершенствование конвеерных команд.
Для того, чтобы найти команду, которую необходимо выполнить вне очереди, нужно знать где её искать. Для поиска команды есть способы: в современных процессорах есть блоки резервации. В этом блоке хранятся команды уже декодированные и готовые к исполнению (окно команд). Процессоры Pentium 4 могут сразу принять, декодировать сразу 120 команд. Для ускорения вычислений АЛУ работает на удвоенной частоте. Применение сопроцессоров для вычисления чисел с плавающей запятой. Производительность процессора сильно зависит от поступления скорости команд на конвеер, то возможен ещё один вариант для увеличения производительности – сократить количество команд, выполняемых процессором, но это сделать просто механическим образом нельзя. Т.к. физически нельзя убрать некоторые команды, то разработчики интел создали инструкцию, когда в качестве одной команды выступает большой массив данных. Наибольшее распостранение такого вида инструкции получили в 3-хмерных компьютерных играх, распознавание речи, мульти-приложениях. Появилась память под названием кэш 1и 2 уровня. В кэш памяти 1-го уровня располагаются декодированные команды. Объём 12 кбайт – устраняются задержки, связанные с раскодированием команд. Кэш память 2-го уровня 256 кбайт, передача данных обеспечивается 48 Гбит в секунду. Эта память используется процессором для хранения частоиспользуемых данных. Благодаря высокой частоте данные из кэш памяти 2-го уровня загружаются гораздо быстрее, чем из основной памяти. Процессором пентиум АМД кэш 2 уровня находится на ядре процессора и работает на его частоте.

Суперскалярная архитектура.

2 параллельноработающих конвеера, позволяют обрабатывать 2 инструкции одновременно. Названия U и V. U конвеер это АЛУ с полным набором инструкций, может выполнять все действия, в том числе с плавающей запятой. Vконвеер выполняет только простейшие действия.

Pentium PRO.
Присутствует тройная суперскалярная архитектура. За один такт может выполнить 3 команды. Шина адресов 36 разрядов, шина данных 64 разряда. Объем памяти адресуемой 64 Гб. Кэш L1 включает в себя команды и данные. Прямо на кристалле процессора расположен КЭШ L2. Здесь присутствует динамическое исполнение, то есть в первую очередь выполняются команды, результат выполнения которых не зависит от результатов предыдущих операций. Выдача результатов операций выполняется в той последовательности, в котором излагается программный код. Динамическое исполнение: глубокий анализ ветвлений, этим занимается специальный сопроцессор, использующий оптимизируемые алгоритмы прогноза. Динамический анализ потока данных – специальный модуль может проверить несколько инструкций и выполнить в том порядке, который более оптимален.
Интеллектуальное выполнение.

Это свойство процессора выполнять команды с опережением командного счётчика.

Построение модуля памяти МПС.

Классификация систем памяти.
Вся память делится на следующие типы:
1. ПЗУ.
2. ОЗУ.
ПЗУ делится на несколько типов: постоянное запоминающее устройство с масочным программированием; ПЗУ с возможностью перепрограммирования;
Дешифратора задача: расшифровать адрес и активизировать ту строку матрицы, порядковый номер которой соответствует коду адреса.
В виде запоминающего элемента используют при масочном программировании обычно диоды либо в ОЗУ транзисторы.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...