Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
250
Добавлен:
02.05.2014
Размер:
1.76 Mб
Скачать

Структура и виды команд

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

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

Машинная программа– это алгоритм, заданный в виде последовательности машинных команд.

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

Машинная команда состоит из двух частей: операционной и адресной.

Операционная частькоманды – это группа разрядов в команде, предназначенная для указания кода операции.

Адресная частькоманды – это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти компьютера, предназначенных для оперативного хранения данных, задействованных при выполнении команды. Часто эти адреса называют адресамиоперандов, т.е. чисел, участвующих в операции.

По количеству адресов, записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.

Трехадреснаякоманда:

КОП

а1

а2

а3

КОП – код операции;

а1 и а2 – адреса ячеек (регистров), где расположены данные, участвующие в операции;

а3 – адрес ячейки (регистра), куда нужно поместить результат операции.

Двухадреснаякоманда:

КОП

а1

а2

а1 – адрес ячейки (регистра), где расположено первое из данных, участвующее в операции, и куда нужно поместить результат операции

а2 – адрес ячейки (регистра), где расположено второе из данных, участвующее в операции.

Одноадреснаякоманда:

КОП

а1

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

Безадреснаякоманда содержит только код операции, а данные для нее должны быть заранее помещены в определенные регистры машины.

Состав машинных команд

Стандартный набор современных ПК содержит около 240 машинных команд. Их можно разделить на группы по видам выполняемых операций:

  • операции пересылки данных внутри компьютера;

  • арифметические операции над данными;

  • логические операции над данными;

  • операции обращения к внешним устройствам компьютера;

  • операции передачи управления;

  • обслуживающие и вспомогательные операции.

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

Основной цикл работы компьютера

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

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

При выполнении каждой команды компьютер проделывает определенные стандартные действия:

  1. согласно содержимого счетчика адреса команд, считывается очередная команда программы (ее код обычно заносится на хранение в регистр команд УУ);

  2. счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды ( в простейшем случае к текущему значению счетчика прибавляется некоторая константа, определяющаяся длиной команды);

  3. считанная в регистр команд операция расшифровывается, извлекаются необходимые данные и над ними выполняются требуемые действия;

  4. действия 1-3 циклически повторяются до команды останова или наступления прерывания;

  5. после выборки команды останова компьютер прекращает работу программы.

Это алгоритм работы линейного алгоритма. При изменении порядка вычислений для реализации развилки или цикла, достаточно в счетчик команд занести требуемый адрес (именно так происходит условный или безусловный переход).

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