Вычисление размера памяти по адресу и размеру слова?

В настоящее время я готовлюсь к экзамену по компьютерной архитектуре и нашел этот вопрос в Интернете.

Цифровой компьютер имеет блок памяти с 26 битами на слово. набор инструкций состоит из 756 различных операций. Все инструкции иметь часть кода операции (код операции) и часть адреса (позволяющую только один адрес). Каждая инструкция хранится в одном слове памяти.

1-Сколько бит необходимо для кода операции? 10 бит

2- Сколько бит осталось для адресной части инструкции? 16 бит

3- Каков максимально допустимый размер памяти? 65536 бит

4- Какое самое большое беззнаковое двоичное число может быть вмещается в одно слово памяти? 67108864

Я понимаю, почему 1 и 2 правильные, но я не понял 3 и 4

Разве вопрос 3 не должен быть (2 ^ 16) x 26 бит?

И разве вопрос 4 не должен быть (2 ^ 26) - 1?

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

Peter Cordes 29.12.2020 14:28
Краткое изложение информатики: Алгоритмы, теория и машины Лекция 11-1 (Сортировка и поиск)
Краткое изложение информатики: Алгоритмы, теория и машины Лекция 11-1 (Сортировка и поиск)
Чтобы найти принятого человека в списке, существует множество способов поиска по списку
0
1
1 804
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В части 4 вы вычисляете максимальное непосредственное значение, которое может быть частью командного слова. Но вопрос задавался об использовании всего 26-битного слова для числа в качестве данных. (Кроме того, вы сделали 2^15, так что самое большое 16-битное целое число со знаком, но вопрос задан для беззнакового, где все биты n имеют положительное разрядное значение).

Что касается части 3, да, ваш ответ выглядит правильным. Предполагая, что косвенная адресация отсутствует (что позволило бы вам использовать 26-битные адреса), тогда полезный объем памяти = размеру, который может адресовать инструкция. Итак, 2^16 = 65536 слов. Вы уверены, что данный ответ действительно означал 65536 бит, а не слова?

извините, это была опечатка, но не могли бы вы еще раз объяснить вопросы 3 и 4? Также в вопросе 3 вы сказали, что мой ответ правильный, но почему вы сказали, что 2 ^ 16 = 65536 слов? Мой ответ был 2 ^ 16 * 26, что составляет 1703936 слов.

seen20 15.12.2020 18:29

@seen20: Нет, 1703936 слов были бы неправильными, но это не то, что вы сказали в своем вопросе. Вы рассчитали 2 ^ 16 = 65536 слов * 26 бит/слово, что составляет 1703936 бит, что соответствует этим предположениям. 2^16 = 64K = 65536 — число, которое встречается довольно часто; 16-битная ширина для вещей не редкость.

Peter Cordes 15.12.2020 20:34

@seen20: Если бы я хотел сказать больше о вопросе 3 или 4, я бы сказал; если вам нужно объяснение еще раз, прочитайте мой ответ еще раз и подумайте, почему я сказал то, что сделал. Если есть какой-то конкретный аспект, который вы не поняли, будьте конкретны.

Peter Cordes 15.12.2020 20:42

Чтобы понять, q3 составляет 1703936 бит, потому что 2 ^ 16 адресов могут содержать 26 бит, верно? И q4, разве мы не должны начинать с 0, поэтому ответ (2 ^ 26)-1 я прав или не прав?

seen20 16.12.2020 16:09

@seen20: Вы имеете в виду, что каждый из 2 ^ 16 адресов может содержать 26 бит? Да, при условии, что память адресуется по словам. (Но поскольку это не указано, я думаю, вы можете выбрать дизайн для этой части ISA. Другая возможность - это машина с «байтовой» адресацией с 13-битными байтами, поэтому выровненные слова можно найти только по четным адресам. например, это почему стандартная 32-битная машина, такая как MIPS32 или Pentium, может адресовать только 4 ГБ памяти, а не 4 ГБ * 4-байтовые слова.Но если вы стремитесь к максимально возможной памяти, вы бы не выбрали это.)

Peter Cordes 16.12.2020 17:31

@seen20: q4: правильно, 2 ^ 26 - 1 = 67108863. Хорошо, данный ответ для q4 неверен. Максимальное представляемое значение для некоторого количества битов никогда не может быть четным при использовании стандартной двоичной кодировки позиционных значений.

Peter Cordes 16.12.2020 17:36

подведем итог: q3 — это 1703936 бит, потому что каждый адрес может содержать 26 бит, а q4 — это 67108863, потому что мы начинаем с 0, верно? Кроме того, я не очень хорошо разбираюсь в этом вопросе в q4, все, что я знаю, это то, что мы должны сделать (2 ^ 26)-1, но я понятия не имею, почему мы это сделали, я знаю, что вы ответили на него, но не могли бы вы объяснить это еще раз, пожалуйста ? Также вы можете объяснить q3 еще раз? потому что я, может быть, все неправильно понимаю, извините, если побеспокоил вас, но у меня экзамены близко, и я должен понять

seen20 16.12.2020 19:42

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

Peter Cordes 16.12.2020 19:49

Другие вопросы по теме