Подтвердить что ты не робот

Сколько памяти можно получить с помощью 32-битной машины?

Что подразумевается под 32-битной или 64-разрядной машиной?

Его архитектура процессора... 32-битная машина может читать и записывать 32-битные данные одновременно с 64-разрядной машиной...

Какова максимальная память, доступная 32-битной машине?

Это 2^32=4Gb (4Gigabit = 0.5 GigaByte)

Это означает, что RAM 4Gb?

Если я рассмотрю тот же способ для 64-битной машины, тогда у меня может быть баран 16ExbiBytes.. это возможно?

Правильно ли мои концепции?

4b9b3361

Ответ 1

Да, 32-разрядная архитектура ограничена адресацией не более 4 гигабайт памяти. В зависимости от операционной системы это число можно сократить еще больше из-за зарезервированного адресного пространства.

Это ограничение можно удалить на некоторых 32-разрядных архитектурах с помощью PAE (расширение физического адреса), но оно должно поддерживаться процессором. PAE позволяет обрабатывать процессор для доступа к более чем 4 ГБ памяти, но он не изменяет объем виртуального адресного пространства, доступного для одного процесса - каждый процесс по-прежнему будет ограничен максимум 4 ГБ адресного пространства.

И да, теоретически 64-битная архитектура может адресовать 16,8 млн. терабайт памяти или 2 ^ 64 байта. Но я не верю, что текущие популярные реализации полностью поддерживают это; например, архитектура AMD64 может обрабатывать только до 1 терабайта памяти. Кроме того, ваша операционная система также будет устанавливать ограничения на количество поддерживаемой адресной памяти. Многие версии Windows (в частности, версии, предназначенные для домашнего или другого использования не для сервера) произвольно ограничены.

Ответ 2

Что обычно подразумевается под 32-разрядной или 64-разрядной машиной, это размер внешних видимых ( "архитектурных" ) целых регистров общего назначения.

Это очень мало связано с тем, как аппаратное обеспечение построено. Например, рассмотрим (устаревший) Intel Pentium Pro. Обычно он считается "32-разрядным" процессором, хотя он поддерживает до 36-битных физических адресов, имеет шину данных с 64-разрядной шиной, а внутренние вычисления по всем поддерживаемым типам операндов выполняются в одном наборе регистров ( которые, следовательно, имеют ширину 80 бит, для поддержки самого большого типа с плавающей точкой).

По крайней мере, в случае процессоров Intel, хотя большая физическая адресация была доступна в течение длительного времени, наибольший объем памяти, непосредственно видимый в адресном пространстве любого процесса на 32-разрядном процессоре, также ограничен 4 гигабайта (32-разрядная адресация). 36-разрядная физическая адресация позволяет адресовать до 64 гигабайт оперативной памяти, но только 4 гигабайта могут быть видны в любой момент времени.

Изменение на 64-битные машины в основном связано с изменением того, что стало видимым для пользователя (или для кодирования на уровне языка ассемблера). Опять же, то, что вы видите, редко идентично реальному. Например, большинство 64-битных кодов воспринимают указатели/адреса как 64 бита, но фактические процессоры не поддерживают такие большие адреса. Текущие процессоры поддерживают 48-битные виртуальные адреса и (по крайней мере, насколько я заметил) максимум 40 бит физической адресации. С другой стороны, они разработаны так в будущем, когда большая память становится практичной, они могут расширить физическую адресацию до 48 бит, не затрагивая программное обеспечение вообще. Даже когда они увеличивают 48-разрядную виртуальную адресацию, в типичном случае это затронет только небольшое количество ядра операционной системы (нормальный код не изменяется, поскольку он уже предполагал, что адреса имеют 64 бита).

Итак, нет: 64-разрядная машина действительно не поддерживает до 64 бит физической адресации, но большинство типичных 64-разрядных программ должно оставаться совместимым с будущим процессором, который поддерживал прямую адресацию этого большого объема оперативной памяти.

Ответ 3

в основном 32-битная архитектура может адресовать 4 ГБ, как вы ожидали. Существует несколько методов, которые позволяют процессору обрабатывать больше данных, таких как AWE или PAE.

Ответ 4

Возвращаясь к действительно базовой идее, у нас есть 32 бита для наших адресов памяти. Это составляет 2 ^ 32 уникальных комбинаций адресов. По соглашению каждый адрес указывает на 1 байт данных. Таким образом, мы можем получить доступ к общим данным объемом 2 ^ 32 байта.

В 32-битной ОС каждый регистр хранит 32 бита или 4 байта. 32 бита (1 слово) информации обрабатываются за такт. Если вы хотите получить доступ к определенному 1 байту, концептуально мы можем "извлечь" отдельные байты (например, байт 0, байт 1, байт 2, байт 3 и т.д.), Выполнив побитовые логические операции.

например. для получения "dddddddd", возьмите "Aaaaaaaabbbbbbbbccccccccdddddddd" и логическое И с "00000000000000000000000011111111".

Ответ 5

Да, на 32-битной машине максимальный объем используемой памяти составляет около 4 ГБ. Фактически, в зависимости от ОС это может быть меньше из-за того, что зарезервированные части адресного пространства: В Windows вы можете использовать только 3,5 ГБ, например.

На 64-битном уровне вы действительно можете адресовать 2 ^ 64 байта памяти. Не то чтобы у вас их когда-либо было, - но опять же, давно было сказано то же самое о том, что когда-либо понадобится больше 640 килобайт памяти...

Ответ 6

Нет, ваши концепции не правы. И для правильного выбора вам нужен ответ на вопрос, на который вы неправильно ответили:

Что подразумевается под 32-битной или 64-разрядной машиной?

  

Ответ на вопрос: "что-то существенное в ЦП составляет 32 бит или 64 бит". Итак, вопрос в том, что это такое значимое? Многие говорят, что ширина шины данных определяет, является ли машина 32-разрядной или 64-разрядной. Но ни один из последних 32-разрядных процессоров не имеет 32-битных или 64-битных шинных данных. большинство 32-битных систем будут иметь 36 бит, по крайней мере, для поддержки большего количества ОЗУ. Большинство 64-разрядных процессоров имеют не более 48-битной шины данных, потому что это уже большая часть памяти.

  

Таким образом, согласно мне, 32-битная или 64-разрядная машина определяется размером ее регистров общего назначения, используемых в вычислении, или "натурального размера слова", используемого компьютером.

Обратите внимание, что 32-разрядная ОС - это другое дело. У вас может быть 32-разрядная ОС, работающая на 64-битном компьютере. Кроме того, вы можете иметь 32-разрядное приложение, работающее на 64-битной ОС. Если вы не понимаете разницу, задайте другой вопрос.

Таким образом, максимальный объем ОЗУ, который может обрабатывать процессор, составляет 2 ^ (ширина шины данных в битах), учитывая, что в процессоре включен правильный режим адресации.

Кроме того, нет ничего, что помешало бы кому-либо ввести мультиплексирование между шинами данных и банками памяти, которые будут выбирать банк, а затем адрес ОЗУ (в два этапа). Таким образом, вы можете адресовать еще больше ОЗУ. Но это непрактично и крайне неэффективно.

Ответ 7

В принципе, термин "бит-бит" не зависит от вашего компьютера. Вот почему нам не нужно менять наши процессоры или другое оборудование, чтобы перейти с 32-битной системы на 64-битную (или наоборот).

32-битный и 64-разрядный - это способность адресации операционной системы, работающей на вашем компьютере.

Однако, это все еще не означает, что x-bit операционная система способна адресовать 2 ^ x ГБ памяти. Потому что "B" в "GB" означает "байт", а не "бит". 1 байт равен 8 бит.

На самом деле 32-битная система не может даже адресовать пространство памяти 2 ^ 32/8 = 2 ^ 29 ГБ, в то время как некоторая память должна быть зарезервирована для ОС.

Это что-то чуть ниже 3 ГБ.