


Почему 32-битный процессор может адресовать только 4 гигабайта оперативной памяти? Продолжаем.
Мой предыдущий такой вопрос оброс ответами типа "так устроен комп", "потому что не хватает битов для более широкого адресного пространства" или "в 32-битных версиях windows больше 3.25 гигабайта оперативной памяти стоять не может" и был заброшен мною. Потому что я подумал, что неправильно задал вопрос.
Задаю его по-другому :
32-битный процессор может адресовать 2^32 блоков оперативной памяти. Почти все 32-битные процессоры используют машинное слово объемом 32 бита. Для прямой адресации каждое машинное слово в ОЗУ должно иметь свой собственный адрес.
В регистре объемом 32 бита можно записать адрес одного из 2^32 элементов. Если принимать на веру, что максимально возможный объем оперативной памяти для 32-битного процессора - это 4 гигабайта, то тогда наименьшим адресуемым блоком является байт [(2^32)/(2^30)=2^2=4].
У меня было предположение, что контроллер ОЗУ адресует только блоки по байту.
Почему именно байт, а не машинное слово - 4 байта? Или я где-то не там ищу ответ ?
Вот черт, самое главное забыл : мне абсолютно не нужно увеличивать оперативку у себя. Я не хочу советов по поводу способов её увеличения, чтобы процессор мог адресовать больше четырех гигов.
Мне это просто интересно )
В вашем случае наименьший блок - машинное слово, а не 1 байт. Так же как ед. инф. байт, а не бит. Кластер на диске состоит из неделимых секторов по 512 байт, а не из отдельных байтов или битов. Возьмите маленикий файл, в неск. байт, правой кн. мыши выберите "свойства". Увидите "размер файла" и размер места на диске. Это, второе число, - в кластерах по 4, 8, 16, 32, 64 Кб. (в зависимости от споба форматирования) .
Так же и с опер. памятью. Минимум - слово. Работать с отдельными байтами и битами, без некот. ухищрений, напрямую невозможно. В любом сл. за 1 такт генерируется 32 бита. Не больше и не меньше.
Технологии у процессоров бывают разные. Когда ещё были первые 8 битные процессоры они адресовали всего 256 байт памяти. Позже стали делать адресацию с помощью двух байт. То есть 8-битный проц мог адресовать 64 кб памяти. Но это не прижилось из-за лишних задержек при работе с памятью.
Вы слишком много думаете) . Тратите энергию мысли не на то совсем. Какая вам разница? У меня вин7 64 видит всю оперативную память, а вторая система хп- только 3,2 гига. Я просто знаю что это так и этого достаточно) . Вообще полно замороченных форумов на процессорную тематику.
собственно зачем задан этот вопрос? у вас 32х битный процессор и вы хотите добавить оперативки? так замените проц на любой 64 битный они мощнее тем более полно дешовых проц архитектуры x86-64 и добавьте оперативки
потому что он 32 битный а до сути ты долго будешь добиваться и зачем тебе этот гемор есть проги разблокирующие 32