Система команд процессора 8086 — 8088.
⇐ ПредыдущаяСтр 4 из 4 Эти процессоры выполняют набор команд: - команды пересылки данных; - арифметические и логические команды; - команды со строками; - команды передачи управления; - команды управления процессором. Каждая команда содержит 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 метода: внеочередное исполнение и предсказание ветвлений. Внеочередное исполнение – команды, поступающие позже, выполняются раньше.
Усовершенствование конвеерных команд. Суперскалярная архитектура. 2 параллельноработающих конвеера, позволяют обрабатывать 2 инструкции одновременно. Названия U и V. U конвеер это АЛУ с полным набором инструкций, может выполнять все действия, в том числе с плавающей запятой. Vконвеер выполняет только простейшие действия. Pentium PRO. Это свойство процессора выполнять команды с опережением командного счётчика. Построение модуля памяти МПС. Классификация систем памяти.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|