- •Лекция № 2
- •Введение
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структуры вычислительных машин
- •1.7 Представление информации в эвм
- •Как выполняется команда
- •1.7 Представление целых чисел в эвм
- •Диапазоны значений целых чисел без знака
- •Понятие команды
- •Диапазоны значений целых чисел со знаком
- •1.8 Выполнение арифметических операций над целыми числами с учетом их разрядности Сложение и вычитание
- •Умножение и деление
- •1.9 Представление вещественных чисел в эвм
- •Примеры нормализованного представления:
- •1.10 Выполнение арифметических операций над вещественными числами с учетом их разрядности
- •Сложение и вычитание
- •Умножение
- •Деление
Понятие команды
Команда - это описание элементарной операции, которую должен выполнить компьютер.
В общем случае, команда содержит следующую информацию:
код выполняемой операции;
указания по определению операндов (или их адресов);
указания по размещению получаемого результата.
В зависимости от количества операндов, команды бывают:
одноадресные;
двухадресные;
трехадресные;
переменноадресные.
Команды хранятся в ячейках памяти в двоичном коде.
В современных компьютерах длина команд переменная (обычно от двух до четырех байтов), а способы указания адресов переменных весьма разнообразные.
В адресной части команды может быть указан, например:
сам операнд (число или символ);
адрес операнда (номер байта, начиная с которого расположен операнд);
адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.
Рассмотрим несколько возможных вариантов команды сложения (англ. add - сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями:
одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре)
add |
x |
двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y)
add |
x |
y |
трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z)
add |
x |
y |
z |
Как выполняется команда
Выполнение команды можно проследить по схеме, изображенной на рис. 4.1.
Как пpавило, этот процесс разбивается на следующие этапы:
из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;
выбранная команда передается в устройство управления на регистр команд;
устройство управления расшифровывает адресное поле команды;
по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;
УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;
результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;
все предыдущие этапы повторяются до достижения команды "стоп".
1.7 Представление целых чисел в эвм
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 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 |
б) это же число в двухбайтовом формате:
Номера разрядов |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Биты числа |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
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 |
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак "плюс" кодируется нулем, а "минус" - единицей.
