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

(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) (6)

KciviaHflbi

По функциональному назначению

По числу адресов

Передача данных

Обработка данных

Передача управления

Цспслнитеп!»-ные

По способу кодирования команд

Безадресньга (нульадресные)

Одноадресные

- Двухадресные

По длине команды

С фиксирован-ным полем КОП

с расширяю-щимсн полем

По способу адресации

Длиной в одно слово (байт)

Длиной в два слова (байта)

Длиной в три слова (байта)

Рис. 2-2. Классификация команд

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

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



15 12 11

Источник

Приемник

Приемник

Рис. 2-3. Форматы команд процессоров СМ: а - двухадресная команда; б - одноадресная

Таблица 2-1

Примеры кодирования двухадресных команд в процессорах СМ

НЫХ групп команд. На рис. 2-3, а приведен формат двухадресной (двух-операндной) команды процессоров СМ. Четырехбитный КОП (биты 15-12) кодирует ряд двухоперандных операций, приведенных в табл. 2-1. Биты (11-6) и (5-0) для команд данного типа определяют адреса источника и приемника данных. Как видно из табл. 2-1, комбинации 0000 и 1000 поля КОП определяют группы одноадресных команд (рис. 2-3, б), примеры которых иллюстрирует табл. 2-2. КОП 1 (биты 15-12), соответствующий кодам 0000 и 1000, определяет группу одноадресных команд, а КОП 2 (биты 11 - 6) кодирует конкретную операцию команд данной группы. Таким образом, команды, использующие один операнд, кодируются 10-битным КОП- (биты 15-6).

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

Мнемоника команды

Комментарий

0001

Передача данных

0010

Сравнение

Сложение

1110

Вычитание

0000 1000

Кодирование группы одноадресных команд

7 3

2 0

Источник

й)7 0

Адрес (операнд)

Адрес (операнд)

Адрес (операнд)

Рис. 2-4. Форматы команд МП КР580: а - однобайтная команда; б - двухбайтная; е - трехбайтная



регистра процессора, в котором хранится исполнительный адрес памяти. Для указания правила использования адресной части в командах большинства ЭВМ используются 2-3 бита, определяющие режим адресации. Однако некоторые ЭВМ, как, например, микро-ЭВМ СМ 1800, не имеют таких полей, и каждая команда использует только один режим адресации.

Таблица 2-2

Примеры кодирования одноадресных команд в процессорах СМ

К га Ш

аз ш о

Мнемоника коман-

Комментарий

0000

000001

Безусловный переход

0000

101000

Очистка приемника

0000

101001

Инвертирование

0000

101010

Инкремент

0000

101110

Декремент

0000

101100

Отрицание

0000 1000

ОХХХ Ох XX

Кодирование команды передачи управления

Примечание: знак X соответствует нулю или единице.

На рис. 2-4 приведены примеры команд МП КР580 длиной в один, два и три байта.

2-3. КОМАНДЫ ПЕРЕДАЧИ ДАННЫХ

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

Команды передачи кодов между регистрами процессоров. Типичный формат команд данной группы, являющихся двухадресными, приведен на рис. 2-3, а. Поле источника определяет адрес регистра, из которого передается данное, а поле приемника - адрес регистра, принимающего данное.

В процессорах СМ для обработки данных, представленных байтами, имеется команда перестановки байтов SWAB. Например, команда SWAB Rl меняет местами



(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)