Нет прямой корреляции с максимальным объемом памяти, которую может поддерживать система, и размером регистров адресов.
16-разрядные компьютеры 30 лет назад вполне могли поддерживать более 64 килобайт. С другой стороны, современные 64-битные процессоры, как правило, имеют полосы только для 52 бит (или меньше), но даже при этом типичный компьютер не может почти поддерживать 2^52 байта памяти.
Типичные 64-битные компьютеры сегодня могут в теории адресов 16 exibytes, но современные процессоры поддерживают только 4 петабайта фишинга и 256 терабайт виртуальной памяти для каждого процесса. Типичные настольные материнские платы поддерживают максимум 128GiB, если вы покупаете дополнительные дорогостоящие DIMMS. С доступным DIMMS, вы ограничены примерно вдвое меньше (есть только так и так много слотов).
Операционные системы обычно позволяют основным объемом памяти в сотни гигабайт только (например, 512 ГиБ для Windows 8 предприятий/профессиональные и 128GiB иначе, или как мало, как 16GiB для Windows 7 Home Premium)
I'M не очень опытный в этом, но опираясь на то, что вы говорили. 2^16 было бы числом уникальных адресов, которые мог бы хранить регистр, но если каждый кусочек памяти имеет 2 байта (16 бит), не будет ли это 2^16 x 2 байта? 65536 адресов x 2 байта/адрес = 131.072 байт памяти? – ps2goat
Размер памяти зависит от размера адресной шины, то есть 16 или 32 или 64 бит. Таким образом, максимальная основная память поддерживается 2^16 или 2^32 или 2^64. –
@ ps2goat: Tricky part is, «byte» может быть (и в некоторой степени, * был *) определен как наименьшая адресуемая единица памяти в системе. Совершенно логично иметь 16-битные байты; это всего лишь около вездесущности 8-битных байтов, которые, по мнению людей, байт всегда должен быть 8 бит. – cHao