Программная модель процессора
Выполнение программы сводится к выполнению машинных команд в заданной последовательности. Каждая команда прямо или косвенно должна однозначно определять следующую информацию::
- Операцию, которую процессор должен выполнить над данными. Данные, участвующие в операции и результат операции принято называть операндами. Процессор может выполнять строго определенный набор операций. Каждой операции присвоен свой уникальный номер, называемый кодом операции (КОП).
- Исполнительные адреса операндов.
- Адрес следующей команды.
Для указания этой информации каждой команде при разработке процессора назначается свой формат. Формат команды определяет ее разбиение на отдельные смысловые поля, длину этих полей и способ кодирования информации в каждом из полей.
В предельном случае команда должна содержать пять полей, показанных на Рис.2. Поле КОП определяет код операции, а остальные четыре поля – адреса операндов и следующей команды
Процессор содержит два основных устройства, показанных на Рис.3, на которые возлагается выполнение команд в заданной последовательности.
Устройство управления (УУ) предназначено для декодирования команды, которое заключается в извлечении информации из полей команды в соответствии с форматом, определения адресов операндов и адреса следующей команды.
Операционное устройство (ОУ) предназначено для выполнения над операндами операции, предписанной полем КОП.
Рассмотрим основные фазы выполнения машинной программы.
1. Для запуска программы в устройство управления заносится адрес первой команды.
2. По адресу команды из памяти считывается содержимое ячейки памяти и передается в устройство управления.
3. Устройство управления выделяет поля команды.
4. На основании адресной части определяются адреса операндов.
5. По адресам операндов считывается содержимое указанных ячеек памяти и направляется в операционное устройство.
6. Операционное устройство выполняет заданную операцию.
7. Результат операции сохраняется в ячейке памяти по указанному адресу.
8. Устройство управления определяет адрес следующей команды.
Рассмотренные действия повторяются с пункта 2 до выполнения специальной команды СТОП, предписывающей завершение программы.
Помимо результата многие команды формируют признак результата ПР. Типичными признаками результата являются:
- Результат равен нулю
- Результат меньше нуля
- Результат больше нуля
В систему команд могут включаться специальные команды сравнения, основным назначением которых является формирование признака результата. Типичными признаками для команд сравнения являются признаки:
- Операнды равны по значению
- Значение первого операнда меньше значения второго операнда
- Значение первого операнда больше значения второго операнда.
Сформированный признак результата может анализироваться специальными командами управления для принятия решения в процессе вычисления адреса следующей команды в ветвящихся алгоритмах.
Процессор может иметь свою собственную память, используемую для кратковременного хранения информации. Она состоит из специальных электронных узлов – регистров. Разрядность регистров обычно совпадает с разрядностью машинного слова. Регистры доступны программе и могут использоваться ею. для хранения промежуточных результатов. Такого рода регистры называются регистрами общего назначения (РОН). Каждый регистр имеет номер, который может указываться в качестве адреса в команде. Адреса регистров не совпадают с адресами основной памяти.
По сравнению с основной памятью, объем которой может достигать нескольких Гб, объем регистровой памяти невелик, порядка десятков РОН.. Время же считывания и записи информации для РОН на несколько порядков меньше, чем для ячейки основной памяти.
Основная память может быть распределена для одновременного размещения в ней нескольких программ. Регистры же выделяются в монопольное использование выполняющейся в данный момент программы
Команды с четырьмя адресными полями наиболее удобны с точки зрения программиста, но реализовать команды такого формата в аппаратуре процессора при ограниченной длине машинного слова практически невозможно.
Рассмотрим пример. Пусть ЭВМ имеет основную память объемом 1Мб, а процессор способен выполнять до двухсот различных операций, Длина каждого адресного поля составит 20 бит (220 = 1Мб), а поля КОП – 8бит. Длина команды 8+4*20 =88 бит. C другой стороны, машинное слово современных процессоров, как правило, не превышает 32 бита. Современные ЭВМ имеют значительные объемы памяти, измеряемые сотнями мегабайт и гигабайтами, что еще более обостряет проблему.
Сокращение длины команды достигается двумя способами:
· Сокращение количества адресных полей.
· Сокращение длины адресных полей.
При первом способе некоторые адреса определяются по умолчанию (косвенно) и в команде не указываются. Сокращение количества адресных полей оборачивается увеличением количества команд в программе.
При втором способе в команде указывается не исполнительный адрес, а так называемый логический адрес (АЛ). Логический адрес содержит информацию, на основе которой можно вычислить исполнительный адрес. Сокращение длины адресных полей в общем случае приводит к увеличению времени выполнения программы, т.к. необходимо дополнительные действия по вычислению адресов.
Дата добавления: 2019-02-08; просмотров: 1034;