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

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

Операторы н типы данных процессора iAPX-432

Таблица 8-7

Типы данных

Оператор

Переслать

Сохранить

Сбросить

Загрузить единицы

Логическое И

Логическое ИЛИ

Логическое «исключающее

ИЛИ»

Инверсия

Сложить

Вычесть

Умножить

Разделить

Вычислить остаток

Инкремент

Декремент

Изменить знак

Найти абсолютное значение

Извлечь квадратный корень

Выделить бит

Вставить бит

Проверить старший бит

Проверить на равенство

» » неравенство

» » равенство нулю

» » неравенство ну-

» » больше

» » больше или рав-

» » плюс

» » минус

Преобразовать в символ

» в короткое по-

рядковое

» в порядковое

» в короткое це-



продолжение табл. 8-7

Оператор

Типы данных

Преобразовать в символ

в целое

в короткое

действительное

в действитель-

во временное дей-

ствительное

Примечание. В таблице приняты следующие обозначения: X - оператор есть для данного типа данных; * - оператор есть для данного типа данных и операций, где один из операндов - временное действительное; - оператора нет, он бесполезен даже при его наличии; пробел - оператора нет.

цессор выполняет считывание из командного сегмента блоками по 32 бита.

Общий формат команды показан на рис. 8-17. Смещение в команде имеет два подполя: базу и индекс. Содержимое их трактуется либо прямо (подполе содержит само значение), либо косвенно (подполе содержит указатель значения). Прямое обращение в обоих подполях экви-иалентно однокомпонентному смещению, которое используется для обращения к неструктурированным данным (скалярам). Косвенное обращение допускается объединять с прямым обращением для управления доступом к структурированным данным. Четыре комбинации прямого и косвенного обращения называются режимами адресации: базовая прямая и индексная прямая (для обращения к скалярам); базовая косвенная и индексная прямая (для обращения к записям); базовая прямая и индексная косвенная (для обращения к статическим массивам) ; базовая косвенная и индексная косвенная (для обращения к динамическим массивам).

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

Процессор данных автоматически масштабирует индекс, умножая его на 1, 2, 4, 8 или 16 в зависимости от того, занимает ли адресуемый операнд байт, двойной байт, слово, двойное слово или расширенное слово.

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

А=В*С трехадресное умножение, все величины являются скалярами;

A[I]=B[J]/C[K] -трехадресное деление, все величины представляют собой элементы статических массивов;



P.Q=A[I *C - трехадресиое умножение смешанного типа: элемен» ту Q записи Р присваивается значение произведения 1-го элемента статического массива А и скаляра С.

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

Процессор рассчитай иа сегментную организацию памяти огромной емкости: 16М сегментов по 64К байт в каждом. Длина адреса составляет 40 бит, а адресное пространство - более 1 триллиона байт.

Аппаратные средства, операционная система и язык системного программирования опираются на концепцию «объекта» - структуру данных переменной длины, представляющую более высокую ступень по сравнению с данными, которые распознаются и обрабатываются обычными процессорами.

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

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

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

В процессоре iAPX-432 сделан еще один шаг вперед: функции управления системой (плаиироваиие процессоров, управление памятью и взаимодействие процессов) реализованы аппаратно в отличие от программной реализации в большинстве современных ЭВМ. Следовательно, процессор должен оперировать структурами данных, ассоциируемых с упомянутыми выше функциями. Главными из таких структур данных, называемых объектами, являютси объект-процесс, объект-процессор и объект - порт связи.

Система использует метку для контроля типа объекта до использования его в своих действиях. Объекты во многих отношениях напоми-иают примитивы, поскольку объект представляет собой структуру данных, содержащую организованную определенным образом информацию;



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