В настоящее время я готовлюсь к экзамену по компьютерной архитектуре и нашел этот вопрос в Интернете.
Цифровой компьютер имеет блок памяти с 26 битами на слово. набор инструкций состоит из 756 различных операций. Все инструкции иметь часть кода операции (код операции) и часть адреса (позволяющую только один адрес). Каждая инструкция хранится в одном слове памяти.
1-Сколько бит необходимо для кода операции? 10 бит
2- Сколько бит осталось для адресной части инструкции? 16 бит
3- Каков максимально допустимый размер памяти? 65536 бит
4- Какое самое большое беззнаковое двоичное число может быть вмещается в одно слово памяти? 67108864
Я понимаю, почему 1 и 2 правильные, но я не понял 3 и 4
Разве вопрос 3 не должен быть (2 ^ 16) x 26 бит?
И разве вопрос 4 не должен быть (2 ^ 26) - 1?
В части 4 вы вычисляете максимальное непосредственное значение, которое может быть частью командного слова.
Но вопрос задавался об использовании всего 26-битного слова для числа в качестве данных. (Кроме того, вы сделали 2^15
, так что самое большое 16-битное целое число со знаком, но вопрос задан для беззнакового, где все биты n
имеют положительное разрядное значение).
Что касается части 3, да, ваш ответ выглядит правильным. Предполагая, что косвенная адресация отсутствует (что позволило бы вам использовать 26-битные адреса), тогда полезный объем памяти = размеру, который может адресовать инструкция. Итак, 2^16 = 65536 слов. Вы уверены, что данный ответ действительно означал 65536 бит, а не слова?
извините, это была опечатка, но не могли бы вы еще раз объяснить вопросы 3 и 4? Также в вопросе 3 вы сказали, что мой ответ правильный, но почему вы сказали, что 2 ^ 16 = 65536 слов? Мой ответ был 2 ^ 16 * 26, что составляет 1703936 слов.
@seen20: Нет, 1703936 слов были бы неправильными, но это не то, что вы сказали в своем вопросе. Вы рассчитали 2 ^ 16 = 65536 слов * 26 бит/слово, что составляет 1703936 бит, что соответствует этим предположениям. 2^16 = 64K = 65536 — число, которое встречается довольно часто; 16-битная ширина для вещей не редкость.
@seen20: Если бы я хотел сказать больше о вопросе 3 или 4, я бы сказал; если вам нужно объяснение еще раз, прочитайте мой ответ еще раз и подумайте, почему я сказал то, что сделал. Если есть какой-то конкретный аспект, который вы не поняли, будьте конкретны.
Чтобы понять, q3 составляет 1703936 бит, потому что 2 ^ 16 адресов могут содержать 26 бит, верно? И q4, разве мы не должны начинать с 0, поэтому ответ (2 ^ 26)-1 я прав или не прав?
@seen20: Вы имеете в виду, что каждый из 2 ^ 16 адресов может содержать 26 бит? Да, при условии, что память адресуется по словам. (Но поскольку это не указано, я думаю, вы можете выбрать дизайн для этой части ISA. Другая возможность - это машина с «байтовой» адресацией с 13-битными байтами, поэтому выровненные слова можно найти только по четным адресам. например, это почему стандартная 32-битная машина, такая как MIPS32 или Pentium, может адресовать только 4 ГБ памяти, а не 4 ГБ * 4-байтовые слова.Но если вы стремитесь к максимально возможной памяти, вы бы не выбрали это.)
@seen20: q4: правильно, 2 ^ 26 - 1 = 67108863. Хорошо, данный ответ для q4 неверен. Максимальное представляемое значение для некоторого количества битов никогда не может быть четным при использовании стандартной двоичной кодировки позиционных значений.
подведем итог: q3 — это 1703936 бит, потому что каждый адрес может содержать 26 бит, а q4 — это 67108863, потому что мы начинаем с 0, верно? Кроме того, я не очень хорошо разбираюсь в этом вопросе в q4, все, что я знаю, это то, что мы должны сделать (2 ^ 26)-1, но я понятия не имею, почему мы это сделали, я знаю, что вы ответили на него, но не могли бы вы объяснить это еще раз, пожалуйста ? Также вы можете объяснить q3 еще раз? потому что я, может быть, все неправильно понимаю, извините, если побеспокоил вас, но у меня экзамены близко, и я должен понять
@seen20: да для q3. Да, количество уникальных значений для n бит равно 2^n
, и, поскольку мы всегда начинаем с 0 при использовании обычных двоичных разрядов (en.wikipedia.org/wiki/Binary_number#Representation), наибольшее число равно 2^n -1
. Точно по той же причине, по которой 4 десятичных разряда позволяют представлять числа до 9999 = 10^4 - 1, с наибольшим числом, когда каждая цифра имеет максимальное разрядное значение. (9 по основанию 10, 1 по основанию 2)
Это самый общий бессмысленный заголовок, он ничего не говорит будущим читателям о том, о чем идет речь, даже не о том, что речь идет об ответах на вопросы викторины. эти что?