ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 28
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.
Программа – последовательность команд, отображающих все действия, необходимые для решения задачи по некоторому алгоритму.
Машинный такт – период тактовой частоты работы процессора.
Машинный цикл – количество машинных тактов, требуемых для выполнения одной команды.
По характеру выполняемых операций различают следующие основные группы команд:
-
арифметические операции над числами с фиксированной или плавающей точкой; -
команды двоично-десятичной арифметики; -
логические (поразрядные) операции; -
пересылка операндов; -
операции ввода-вывода; -
передача управления; -
управление работой центрального процессора.
Машинная команда состоит из операционной и адресной частей. Эти части могут состоять из нескольких полей. В общем виде машинная команда имеет следующую структуру:
Операционная часть содержит код, задающий вид операции (сложение, умножение, передача и т.д.).
Адресная часть содержит информацию об адресах операндов, результата операции и следующей команды.
3.1Формат машинных команд в таблицах
Система машинных команд является важнейшей частью архитектуры компьютера, так как с их помощью производится непосредственное управление работой процессора. Каждая команда ассемблера = 1 команде машины.
-
Команды, которые не содержат операндов, занимают в памяти 1 байт.
ret
| | | | | | | |
0 7
-
Команды с одним операндом (одноадресные)
Операнд в 16-ти разрядном регистре. Машинная команда занимает 1 байт, который делится на 2 поля: биты 0-4 хранят код операции (КОП), а биты 5-7 - код регистра.
| | коп | | | | reg | |
0 7
В таблице приведены соответствия кодов в r/m и названий для 16-разрядных регистров.
Таблица 1 | ||||||||
Код | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Регистр | AX | CX | DX | BX | SP | BP | SI | DI |
Операнд в 8-разрядном либо в 16-разрядном регистре. Команда занимает 2 байта.
Однобитное поле w определяет длину операнда. Поле mod (3 бита) показывает, находится ли операнд в регистре или в памяти. Если mod = 11, то операнд содержится в регистре, а три остальные комбинации (00, 01, 10) относятся к памяти. Когда операнд - в регистре, поле r/m показывает конкретный регистр (таблицы 1 и 2); а если операнд - в памяти, это поле определяет, где он находится (таблица 3).
mod = 11
r/m - код регистра
w = 0 - 8-разрядный регистр
w = 1 - 16-разрядный регистр
В таблице приведены соответствия кодов в r/m и названий для 8-разрядных регистров.
Таблица 2 | ||||||||
Код | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Регистр | AL | CL | DL | BL | AH | CH | DH | BH |
Пример:
inc cl
Косвенная адресация. Формат команды - 2 байта. mod = 00.
Таблица 3 | ||
r/m | Базовый регистр | Индексный регистр |
000 001 010 011 100 101 110 111 | BX BX BP BP - - BP BX | SI DI SI DI SI DI - |
Структура команды определяется составом, назначением и расположением полей в команде.
Формат команды – это структура команды с разметкой номеров разрядов, определяющих границы отдельных полей команды.
4.Возможные структуры машинных команд
Четырехадресная структура
содержит наиболее полную информацию о выполняемой операции, включает поле кода операции и четыре адреса для указания ячеек памяти двух операндов, ячейки результата операции, и ячейки, содержащей адрес следующей команды. Такой порядок выборки команд называется принудительным. Он использовался в первых моделях вычислительных машин, имеющих небольшое число команд и очень незначительный объем ОП, поскольку длина такой команды зависит от разрядности адресов операндов и результата.
Трехадресная структура
используется в вычислительных машинах, построенных так, что после выполнения команды по адресу K (команда занимает L ячеек памяти) выполняется команда по адресу K+L. Такой порядок выборки команд называется естественным. Он нарушается только специальными командами передачи управления. При естественном порядке выборки адрес следующей команды формируется в устройстве, называемом счетчик адреса команд. В этом случае команда становится трехадресной.
Двухадресная структура
используется в вычислительных машинах, построенных так, что результат операции будет всегда помещаться в фиксированный регистр процессора, например на место первого операнда. В этом случае адрес результата может явно не указываться.
Одноадресная структура
подразумеваемые адреса имеют результат операции и один из операндов. При этом один из операндов и результат операции размещаются в одном фиксированном регистре. Выделенный для этой цели внутренний регистр процессора получил название аккумулятор. Адрес другого операнда указывается в команде.
Безадресная структура фиксирует адреса обоих операндов и результата операции, например при работе со стековой памятью.
Обычно в вычислительной машине используется несколько форматов команд разной длины (чаще всего безадресные, одноадресные и двухадресные).
Вывод
Важно подчеркнуть два аспекта проблемы. Во-первых, как и любой исполнитель я думаю кампютэр это оружия в руках праграмистов(хакери).21 первом веке не вазможно преставит без кампютеров без телефонов уних увсех имеетса собственная система команд. А во-вторых, эта система является базовой для реализации всех остальных уровней программного обеспечения.
Предложенное в статье объяснение понятия тактовой частоты не является традиционным, но оно достаточно просто для понимания и хорошо согласуется с устройством процессоров. При изучении программного обеспечения
Литературы
См., например, эксперименты 3.6.2 в: Еремин Е.А. Популярные лекции об устройстве компьютера. СПб.: BHV-Петербург, 2003, .
4. Википедия - http://ru.wikipedia.org
Подробному описанию учебных моделей посвящен сайт http://educomp.runnet.ru/.