русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 3020; Нарушение авторских прав


В группе команд управления процессором различают три типа: операции с флагами, установки ЦП в особые состояния и синхронизации с сопроцессорами.

Операции с флагами.Включают семь мнемокодов команд: STC (установка флага переноса CF), CMC (дополнение флага переноса CF), CLC (сброс флага переноса CF), STD (установ­ка флага направления DF), CLD (сброс флага направления DF), STI и CLI (соответственно установка и сброс флага разрешения прерывания IF).

Назначение перечисленных команд очевидно. Так, команды STC CMC и CLC позволяют задавать требуемое исходное зна­чение флага CF при различных арифметических и логических преобразованиях данных и сдвигах. Команды STD и CLD ис­пользуются при обработке строк для задания направ­ления обработки: от первого элемента строки к последнему или наоборот. Наконец, команды STI и CLI служат для управления системой прерываний и позволяют соответственно разрешить или запретить прерывание на любом участке программы.

Команды установки ЦП в особые состояния.Включают два мнемокода: HLT (останов) и WAIT (ожидание), которые пере­водят процессор соответственно в состояние ожидания или оста­нова.

Находясь в любом из этих состояний, процессор не выполня­ет никаких действий до тех пор, пока не будут поданы определенные внешние воздействия. Из состояния останова процессор может быть выведен двумя спо­собами: путем начального сброса (сигналом по входу RESET) либо внешним прерыванием (сигнал запроса по входу INTR). При первом способе процессор перейдет к выполнению основной программы сначала, во втором - к выполнению программы об­служивания прерывания соответствующего уровня. При выпол­нении команды HLT содержимое указателя команд IP автомати­чески увеличивается на единицу, так что после выполнения программы обслуживания прерывания процессор перейдет к вы­полнению следующей за HLT команды.



Основной способ вывода процессора из состояния ожидания состоит вподаче сигнала отрицательной полярности на вход TEST. Таким образом, время нахождения в состоянии ожидания определяется моментами подачи команды WAIT и появлением активного нуля на входе TEST. Управление ожиданием с помо­щью этого механизма позволяет осуществлять синхронизацию, т. е. сопряжение во времени работы процессора с различ­ными внешними устройствами (например, с сопроцессорами либо с устройствами, обладающими меньшим быстродействием). В слу­чае, когда сигнал на входе TEST активен в момент подачи ко­манды WAIT, процессор будет находиться в состоянии ожида­ния в течение трех тактов ГТИ.

Второй способ вывода процессора из состояния ожидания за­ключается в подаче запроса прерывания по входу INTR. Однако в этом случае процессор выходит из состояния ожидания только временно. По команде WAIT не происходит автоматического на­ращивания указателя команд IP, вследствие чего после выпол­нения соответствующей программы обслуживания прерывания процессор вновь перейдет к выполнению команды WAIT, т. е. пе­рейдет в состояние ожидания. Важно отметить, что при возобновлении работы процессора после ожидания (по сиг­налу TEST = 0) внешние прерывания не будут обслуживаться до тех пор, пока не выполнится следующая за WAIT команда.

Команды синхронизации с сопроцессорами.Команды служат целям проектирования многопроцессорных систем на основе ЦП. Хотя система команд ЦП достаточно развита, в ней отсутствуют некоторые команды, характерные для высокопроизводительных систем. Как обычно, недостающие команды процессора можно реализовать с помощью соответст­вующих подпрограмм. Однако более эффективным решением яв­ляется использование сопроцессоров - специализированных про­цессоров, предназначенных для расширения функций основного процессора. Например, отсутствующие в системе команд опера­ции над числами с плавающей запятой могут быть выполнены спомощью сопроцессора Intel 8087.

Для организации совместной работы основного процессора системы с сопроцессорами служит команда ESC. Первый байт формата команды содержит код операции ESC, равный 11011, и трехразрядное поле х; второй байт имеет структуру постбайта, в котором поле reg обозначено как у (рис 1.9). Поле х указывает номер того сопроцессора многопроцессор­ной системы, который должен выполнить операцию, а поле у - номер (код) этой операции. Для организации взаимодействия основного процессора с сопроцессорами последние должны сле­дить за появлением в потоке команд основного процессора команды ESC, которая укажет, какой сопроцессор и какую операцию должен выполнять. В общем случае поля х и у позволя­ют задать 64 комбинации 6-разрядных двоичных кодов, что при необходимости произвольным образом изменяет стандартное назначение полей х и у. Например, можно построить систему с одним сопроцессором, который выполняет 64 различные опера­ции, либо с восемью сопроцессорами, каждый из которых бу­дет выполнять до восьми операций, и т. д.

Рис. 1.9. Фрагмент программы умножения чисел с плавающей запятой

Поля mod и rim второго байта команды ESC используются для задания адреса операнда. По содержимому этих полей ос­новной процессор извлекает операнд из памяти и выставляет его значение на ШД в качестве операнда для сопроцессора. Та­ким образом, основной процессор выдает всю необходимую ин­формацию для работы соответствующего сопроцессора: момент включения в работу (появление кода операции ESC), номер сопроцессора (поле х), код операции (поле у) и операнд (вы­ставлен на ШД).

Контрольные вопросы

 

1. Каково назначение блока преобразования адресов в ЦП?

2. Дайте сравнительную характеристику способов адресации.

3. Чем определяется время формирования исполнительного адреса?

4. Каковы основные отличия работы ЦП в минимальном и максимальном режимах?

5. В чем заключается назначение системного контроллера Intel 8288?

6. 7. В чем состоит различие в использовании флагов CF и OF?

8. В чем сходство и различие выполнения команд MUL и IMUL, а также DIV и IDIV?

9. В чем состоит основное назначение команды SCAS?

10. Какие ограничения присущи командам передачи управления?

11. Перечислите все префиксы, которые можно использовать с командой MOV.

12. Объясните главное различие в состояниях останова и ожидания, в которые ЦП попадает после выполнения команды HLT и WAIT, соответственно?

13. Какие команды выполняют удвоение и деление пополам чисел со знаком?

14. Сколько восьмиразрядных РОН вы знаете? Перечислите их имена.

15. Как используется регистр ВР для доступа к содержимому стека?

16. Что принято называть программной моделью процессора?



<== предыдущая лекция | следующая лекция ==>
Команды передачи управления | Архитектуры оперативной памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.