Рубрики

ВОРОТА | GATE-CS-2016 (набор 2) | Вопрос 41

Рассмотрим процессор с 64 регистрами и набор инструкций размером двенадцать. Каждая команда имеет пять различных полей, а именно: код операции, два идентификатора регистра источника, один идентификатор регистра назначения и непосредственное двенадцатибитное значение. Каждая инструкция должна храниться в памяти с выравниванием байтов. Если в программе 100 инструкций, объем памяти (в байтах), занятый текстом программы, составляет ____________

[Обратите внимание, что это был вопрос «Заполнить бланки»]
(А) 100
(Б) 200
(С) 400
(D) 500

Ответ: (D)
Пояснение: одна инструкция делится на пять частей,

  • (1) : код операции — так как у нас есть набор инструкций размером 12, код операции инструкции может быть идентифицирован 4 битами, как 2 ^ 4 = 16, и мы не можем идти меньше.
  • (2) и (3) : два идентификатора регистра источника. Поскольку всего имеется 64 регистра, они могут быть идентифицированы 6 битами. Как они два т.е. 6 бит + 6 бит.
  • (4) : один идентификатор регистра назначения — снова это будет 6 бит.
  • (5) : 12-битное непосредственное значение — 12-битное.

Добавляя их все, что мы получаем,

= 4 + 6 + 6 + 6 + 12 
= 34 bit 
= 34/8 byte 
= 4.25 byte 

Как указано, каждая инструкция должна храниться в памяти с выравниванием байтов, 4.25 не является выравниванием байтов, адрес памяти должен быть 0,1,2,3,4,5,6,7 …… .. поэтому должно быть 5 байт.

Поскольку есть 100 инструкций, у нас есть размер 5 * 100 = 500 байтов.

Следовательно (D) 500 является ответом.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2016 (набор 2) | Вопрос 41

0.00 (0%) 0 votes