Таненбаум Э.- Архитектура компьютера. стр.330

3. Разработайте расширенный код операций, который позволяет закодировать в 36-разрядной команде следующее:

+ 7 команд с двумя 32-разрядными адресами и номером одного 3-разрядного регистра;

+ 500 команд с одним 15-разрядным адресом и номером одного 3-разрядного регистра;

+ 50 команд без адресов и регистров.

4. Пусть в машине поддерживаются 16-разрядные команды и 6-разрядные адреса. Одни команды содержат один адрес, другие — два. Если существует п двухадресных команд, то каково максимальное число одноадресных команд?

5. Можно ли разработать такой расширенный код операций, который позволял бы кодировать в 12-разрядной команде следующее (размер регистра составляет 3 бита):

♦ 4 команды с тремя регистрами;

♦ 255 команд с одним регистром; + 16 команд без регистров.

6. Пусть имеется одноадресная машина с регистром-сумматором. Вот значения некоторых слов памяти:

♦ слово 20 содержит число 40; + слово 30 содержит число 50;

+ слово 40 содержит число 60;

+ слово 50 содержит число 70;

Какие значения загрузят в регистр-сумматор перечисленные ниже команды?

LOAD IMMEDIATE 20 LOAD DIRECT 20 LOAD INDIRECT 20 LOAD IMMEDIATE 30 LOAD DIRECT 30 LOAD INDIRECT 30

7. Для каждого из четырех видов машин — безадресной, одноадресной, двухадресной и трехадресной — напишите программу вычисления следующего выражения:

X = (А + В х C)/(D - Ex F).

В наличии имеются следующие команды:

+ безадресные: PUSH М, POP М, ADD, SUB, MUL, DIV;

+ одноадресные: LOAD M, STORE M, ADD M, SUB M, MUL M, DIV M;

♦ двухадресные: MOV (X = 7), ADD (X = X + 7), SUB (X = X - 7), MUL (I = Ix 7), DIV (X = X/7);

♦ трехадресные: MOV (X = 7), ADD (X = 7 + Z), SUB (X = 7 - Z), MUL (X = 7x Z), DIV (X = 7/Z).

Здесь M — это 16-разрядный адрес памяти, а X, 7 и Z — либо 16-разрядные адреса, либо 4-разрядные регистры. Безадресная машина использует стек, одноадресная машина — регистр-аккумулятор, а оставшиеся две имеют 16 регистров и команды, которые оперируют всеми комбинациями ячеек памяти и регистров. Команда SUB X,Y вычитает 7 из X, а команда SUB X,Y,Z вычитает Z из 7 и помещает результат в X Если длина кодов операций равна 8 бит, а размеры команд кратны величине 4 бит, сколько битов нужно каждой машине для вычисления X?

8. Придумайте такой механизм адресации, который позволяет определять в 6-разрядном поле произвольный набор из 64 адресов, не обязательно смежных.

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

10. Переделайте следующие формулы из инфиксной записи в обратную польскую запись:

1) А + В+ C + D + E;

2) (А + В) х (С + D) + Е;

3) (AxB) + (CxD) + E\

4) (А - В) х (((С - D х E)/F)/G) х Я.

И. Какие из следующих пар формул в обратной польской записи математически эквивалентны?

1) АВ + С + иАВ С++;

2) АВ-С-иАВС--;

3) АВхС+иАВС + х.

12. Переделайте следующие формулы из обратной польской записи в инфиксную запись:

1) А В+ C + Dx;

2) А В/ CD/+;

3) ABCDE+xx/;


⇐ Предыдущая страница| |Следующая страница ⇒