Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема_3.doc
Скачиваний:
10
Добавлен:
13.11.2019
Размер:
299.52 Кб
Скачать

1.3. Команда: определение, классификация, выполнение

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

Компьютерная программа представляет собой последовательность отдельных команд.

В общем случае, команда хранится в памяти в двоичном коде и содержит следующую информацию:

  • код выполняемой операции;

  • адреса операндов;

  • указания по размещению получаемого результата.

Длина команд может быть различной (от двух до четырех байтов). В адресной части команды адреса операндов могут быть указаны различным образом:

  • сам операнд (число или символ);

  • адрес операнда (номер байта, начиная с которого расположен операнд);

  • адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда).

Классификация команд по количеству операндов:

  • одноадресные;

  • двухадресные;

  • трехадресные.

Пример.

Команда сложения (Add) может иметь от одного до трех операндов.

1. Одноадресная команда Add a – содержимое переменной (ячейки) a сложить с содержимым сумматора, результат оставить в сумматоре.

2. Двухадресная команда Add a,b – сложить содержимое переменных (адресов) a и b, а результат поместить в ячейку b.

3. Трехадресная команда Add a,b,c – сложить содержимое переменных (адресов) a и b, сумму поместить по адресу c.

Выполнение команды (можно проследить по схеме рис. 1) разбивается на следующие этапы:

  • из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;

  • выбранная команда передается в устройство управления на регистр команд;

  • устройство управления расшифровывает адресное поле команды;

  • по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;

  • УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;

  • результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;

  • все предыдущие этапы повторяются до достижения команды завершения программы.

2. Представление информации в компьютере

2.1. Представление целых чисел

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

Форму представления информации

Целые числа могут представляться в компьютере со знаком или без знака.

Целые числа без знака. Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002 до 111111112. В двухбайтовом формате от 00000000 000000002 до 11111111 111111112, соответственно, могут изменяться в диапазоне:

Формат в байтах

Двоичный диапазон

Десятичный диапазон

1

0 ... 28–1

0 ... 255

2

0 ... 216–1

0 ... 65535

Примеры:

а) число 7210 = 10010002 в однобайтовом формате:

Номера разрядов

7

6

5

4

3

2

1

0

Биты числа

0

1

0

0

1

0

0

0

в) число 65535 в двухбайтовом формате:

Номера разрядов

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Биты числа

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Целые числа со знаком. Обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа, соответственно, могут изменяться в диапазоне:

Формат в байтах

Двоичный диапазон

Десятичный диапазон

1

–27 ... 27–1 

–128 ... +127 

2

–215 ... 215–1 

–32768 ... +32767

4

–231 ... 231–1 

–2147483648 ... +2147483647

Кодирование целых чисел со знаком

Для кодирования целых чисел применяются три формы записи:

  • прямой код;

  • обратный код;

  • дополнительный код.

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

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

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково – с цифрой 0 в знаковом разряде:

Пример 1.

110 =12

12710=11111112

0

0

0

0

0

0

0

1

0

1

1

1

1

1

1

1

Цифра 0 в старшем (левом) разряде означает знак «+» кодированного числа.

Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.

1. Прямой код. В знаковом разряде помещается цифра 1, а в разряды цифровой части числа – двоичный код его абсолютной величины.

Пример 2.

–110 = –12

–12710= –11111112

1

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

Цифра 1 в старшем (левом) разряде означает знак «–» кодированного числа.

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

Пример 3.

–110 = –12

–12710= –11111112

0 0000001

0 1111111

1

1

1

1

1

1

1

0

1

0

0

0

0

0

0

0

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.

Пример 4.

–110 = –12

–12710= –11111112

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

1

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]