Я имею дело со следующей проблемой:Инструкция Кодирование в отношении языка MARIE Ассамблеи
A 1 адрес компьютера, чья команда может содержать не более одного операнда адреса. MARIE - пример такого компьютера. Обычно каждая команда хранится как одно слово в памяти. Предположим следующие детали машины.
(i) Слово содержит n бит, а k бит (k < n) используются для кодирования каждого кода операции. Остальные разряды используются для указания адресов (адресов) памяти.
(ii) В ISA имеется 100 различных кодов операций.
(iii) Самая большая программа требует 128M слов (128x2^20) памяти для запуска.
(a) Какое минимальное значение k требуется? Каково минимальное значение n ? Сохраняя минимальное значение k, каково максимальное число кодов операций , которые могут использоваться?
(b) Если размер каждого слова должен быть целым числом байтов, то каково должно быть значение минимального значения n? Что такое самая большая память, которую можно использовать в этом компьютере?
До сих пор я придумал, но я немного сомневаюсь в своем ответе: a) Минимальное количество k равно 7, чтобы иметь 100 кодов операций, которые вам понадобятся 7 бит в поле кода операции. Минимальное число n равно 9 (я не уверен, что это 9 или 8, поскольку в вопросе говорится, что «Сохранение минимального значения k, k является битами кода операции»). Я также не уверен, что этот вопрос неявно говорит о том, что слово имеет 16 бит или есть еще.
Для b Я смущен относительно природы вопроса, говорит ли он, что новое слово будет иметь 8 бит или это слово сделано из битов? Ex: 1 слово (16 бит) - это 2 целых байта. Также я немного смущен относительно того, какой максимальный размер программы используется для (128 М слов) при попытке решить эту проблему.
Ах, я понимаю. Я нашел этот вопрос очень расплывчатым и не понимал этого, но это делает много смысла. Благодаря! – JmanxC