Главная -> Книги

(0) (1) (2) (3) (4) ( 5 ) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (5)

где М - нормализованная мантисса, наименьшим значением которой является код 0001, а Е - двоичное целое (характеристика) .

Рассмотрим пример представления числа /зг в процессорах СМ в форме с плавающей запятой. Двоичный код числа /з2 равен 0,00001; мантисса после нормализации путем сдвига кода влево на 4 разряда будет соответствовать коду 0,10000, а порядок равен -4. Характеристика с избытком 128 для данного порядка равна 0111100. Таким образом, число /з2 в форме с плавающей запятой при использовании скрытого бита имеет вид:

О 01111100 00 ООО ООО ООО ООО ООО ООО ООО

Знак ман- Характеристика Мантисса

тиссы

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

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

о / 0000 - для положительных чисел, I 1001 - для отрицательных чисел.



Рассмотрим пример сложения двух десятичных чисел ( + 52) и (-43) с использованием дополнительных кодов:

,0000, 0Ш1 0010 (+52) т 1001, 0101 0111

- (-43 в дополнительном коде)

,1001, 1010 1001 Двоичное сложение

" 0110 0110 Десятичная коррекция

0000, 0000 1001 (+9)

Для представления алфавитно-цифровой информации, включающей в себя буквы алфавита, цифры, математические, пунктуационные и другие специальные символы, в ЭВМ получили распространение 7- и 8-битные символьные коды.

2-2. СТРУКТУРА И ТИПЫ КОМАНД

Под командой понимают совокупность сведений, необходимых процессору для выполнения определенного действия при реализации программы. Множество команд, реализуемых в ЭВМ, образует ее систему команд, выбор которой является сложнейшей и важнейшей задачей проектирования ЭВМ, так как система команд определяет область и эффективность ее применения. Несмотря на то, что подавляющее большинство алгоритмов может быть реализовано посредством достаточно ограниченного и простого набора команд, большинство мини- и микро-ЭВМ имеет 60-120 базовых команд. Под базовой понимают команду, которая определяет выполняемую операцию без учета модификаций данной команды за счет использования различных режимов адресации, регистров общего назначения, являющихся источниками и приемниками результатов, и т. п. Например, МП КР580 имеет 78 базовых команд, а процессоры СМ - около 60, однако с учетом модификаций число команд соответственно равняется 244 и примерно 400, Это позволяет в ряде случаев существенно сокращать длину программ, а следовательно, уменьшать время решения задачи и емкость памяти. Таким образом, система команд определяет возможности машины.

Теоретически ограничения на число команд ЭВМ нет; например, при введении команд из нескольких слов можно выделить больше бит под код операции. Каждый дополнительный бит в коде операции удваивает число команд. Однако, как показывает практика программирования, при реализации обширной системы команд программисты



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

Проектирование системы команд оказывает влияние на структуру ЭВМ. Оптимальную систему команд иногда определяют как совокупность команд, которая удовлетворяет требованиям проблемно-ориентированных применений таким образом, что избыточность аппаратных и аппаратно-программных средств на реализацию редко используемых команд оказывается минимальной. В различных программах ЭВМ частота появления команд различна; например, по данным фирмы DEC в программах для ЭВМ семейства PDP-U наиболее часто встречается команда передачи MOV(B), на ее долю приходится приблизительно 32 % всех команд в типичных программах. Систему команд следует выбирать таким образом, чтобы затраты на редко используемые команды были минимальными.

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

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

Сокращение времени выполнения программ и емкости памяти достигается за счет увеличения сложности логики управления. Мини-ЭВМ «Электроника-100» является примером использования такого подхода.

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



(0) (1) (2) (3) (4) ( 5 ) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)