Материал: Захаров, Сайфутдинов - Вычислительная техника

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

АЛУ выполняет арифметические и логические операции над входными регистрами, результат операции помещается в один из входных регистров или блок внутренних регистров. Этот процесс называется циклом тракта данных.

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

УУв составе ЭВМ выполняет следующие функции:

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

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

согласование, синхронизация работы узлов и устройств ЭВМ;

контроль за работой ЭВМ и индикация состояний ее элементов.

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

6.5. Формы представления чисел в ЭВМ

Информация в памяти ЭВМ записывается в форме цифрового двоичного кода. С этой целью ЭВМ содержит большое количество ячеек памяти и регистров (от лат. regestum — внесенное, записанное) для хранения двоичной информации. Большинство этих ячеек имеет одинаковую длину п, т. е. они используются для хранения п бит двоичной информации (бит — один двоичный разряд). Информация, хранимая в такой ячейке, называется словом. Двоичное слово, состоящее из 2 байт, представлено на рис. 6.7.

126

Старший бит

 

 

Бит

 

 

 

 

 

 

Младший бит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

1

1

 

1

0

0

1

1

0

 

1

1

0

1

 

 

 

Байт

 

 

 

 

 

 

 

Байт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Слово

Рис. 6.7. Бит, байт и слово

Ячейки памяти и регистры состоят из элементов памяти. Каждый из таких электрических элементов может находиться в одном из двух устойчивых состояний: конденсатор заряжен или разряжен, транзистор находится в проводящем или непроводящем состоянии, специальный полупроводниковый материал имеет высокое или низкое удельное сопротивление и т. п. Одно из таких физических состояний создает высокий уровень выходного напряжения элемента памяти, а другое — низкий. Обычно это электрическое напряжение порядка 4—5 В и 0 В соответственно, причем первое обычно принимается за двоичную единицу, а второе — за двоичный ноль (возможно и обратное кодирование).

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

В ЭВМ применяются две формы представления двоичных чисел:

естественная форма, или форма с фиксированной запятой (точкой);

нормализованная форма, или форма с плавающей запятой (точкой).

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

Представлениецелыхчисел ивыполнениеарифметическихоперацийнадними

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

Воднобайтовом формате принимают значения от 000000002 до 111111112.

Вдвухбайтовом формате — от 00000000 000000002 до 11111111 111111112.

127

 

 

 

 

Таблица 6.1

 

 

 

 

 

Формат числа

 

 

Диапазон

в байтах

 

 

 

запись с порядком

 

обычная запись

 

 

 

 

 

1

0

... 28 – 1

 

0... 255

2

0

... 216 – 1

 

0 ... 65535

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

байта (табл. 6.2).

 

 

 

 

 

 

 

Таблица 6.2

 

 

 

 

 

Формат числа

 

 

Диапазон

 

в байтах

 

 

 

 

запись с порядком

обычная запись

 

 

 

 

 

1

 

– 27 ... 27 – 1

– 128

... 127

2

 

– 215…-215 – 1

– 32768

... 32767

4

 

– 231... 231 – 1

– 2147483648

... 2147483647

В вычислительной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, дополнительный код, обратный код.

Прямой код. Прямой n-разрядный двоичный код отличается от двоичного тем, что в нем отводится один, как правило, самый старший разряд для знака, а оставшиеся n – 1 разрядов — для значащих цифр. Значение знакового разряда равно 0 для чисел А2 > 0, и 1 — для чисел A2 < 0 (рис. 6.8).

 

 

 

 

 

 

Число 110 = 12

 

 

 

 

 

 

 

Число 12710 = 11111112

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

 

0

 

0

0

 

0

1

0

 

1

 

1

1

1

1

 

1

1

 

 

Знак числа «+»

 

 

 

 

 

 

 

а

 

Знак числа «+»

 

 

 

 

 

 

 

 

 

Прямой код числа – 1

 

 

 

 

 

Прямой код числа – 127

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

0

 

0

 

0

0

 

0

1

1

 

1

 

1

1

1

1

 

1

1

 

 

Знак числа «–»

 

 

 

 

 

 

б

 

Знак числа «–»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6.8. Представление чисел в прямом коде:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) положительных, б) отрицательных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

128

 

 

 

 

 

 

 

 

 

 

 

 

Для прямого кода справедливо следующее соотношение:

n 2

А10 ( 1)азн аi 2i , i 0

где n – разрядность кода; азн – значение знакового разряда.

Например, десятичная запись числа, представленного в прямом коде как 1101, будет иметь вид

А10 = (– 1)1 [1 20 + 0 21 + 1 22] = – 5.

Дополнительный код. Использование чисел со знаком (прямого кода представления чисел) усложняет структуру ЭВМ. В этом случае операция сложения двух чисел, имеющих разные знаки, должна быть заменена на операцию вычитания меньшей величины из большей и присвоения результату знака большей величины. Поэтому в современных ЭВМ, как правило, отрицательные числа представляют в виде дополнительного или обратного кода, что при суммировании двух чисел с разными знаками позволяет заменить вычитание на обычное сложение и упростить тем самым конструкцию арифметико-логического устройства компьютера.

Обратный код. Для представления отрицательных чисел используется также обратный код, который получается инвертированием всех цифр двоичного кода абсолютной величины числа: нули заменяются единицами, а единицы — нулями. При этом необходимо помнить, что все операции с отрицательными числами выполняются в формате машинного слова. Это значит, что к двоичному числу слева дописываются нули до нужного количества разрядов. Например, для 8-разрядного машинного слова:

 

 

 

 

Число: – 1

 

 

 

 

 

 

Число: – 127

Код модуля числа: 00000001

Код модуля числа: 01111111

Обратный код числа: 11111110

Обратный код числа: 10000000

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

1

1

1

1

1

1

1

 

0

 

1

0

0

0

0

0

0

Для обратного кода справедливо следующее соотношение:

n 2

А10 азн ( 2n 1 1) аi0 2i , i 0

где п — разрядность машинного слова.

129

азн =

0, для положительных чисел

1, для отрицательных чисел

 

Например, десятичная запись отрицательного числа, представленного в обратном коде как 1010, будет иметь вид

А10 = 1 (– 23 + 1) + [0 20 + 1 21 + 0 22] = – 7 + 2 = – 5.

Для положительных чисел азн = 0 и представление числа полностью совпадает с представлением в прямом и дополнительном кодах.

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

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

Выполнение арифметических операций над кодами

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

1. Х и Y положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:

Десятичная запись

Двоичные коды

+

3

 

+

0 0000011

7

 

0 0000111

 

10

 

 

0 0001010

Получен корректный результат.

2. X положительное, Y отрицательное и по абсолютной величине больше, чем X.

Например:

Десятичная запись Двоичные коды

+

3

+

0 0000011

Обратный код числа

– 10

 

–10

 

1 1110101

 

– 7

 

1 1111000

Обратный код числа

– 7

 

 

 

130