Мое простое понимание заключается в следующем.
Память (RAM) состоит из битов, групп по 8, которые образуют байты, каждый из которых может быть адресован, и, следовательно, байтово адресуемой памяти.
Адресная шина хранит расположение байта памяти.
Если адресная шина имеет размер 32 бита, это означает, что она может содержать до 2 32 цифр и, следовательно, может ссылаться на 2 32 байта памяти = 4 ГБ памяти и любая память больше этой бесполезной.
Шина данных используется для отправки значения для записи в / считывания из памяти. Если у меня есть шина данных размером 32 бита, это означает, что максимум 4 байта могут быть записаны в / считаны из памяти за один раз. Я не вижу связи между этим размером и максимально возможным объемом памяти.
Но я прочитал здесь, что:
Несмотря на то, что большинство систем имеют адресацию байтов, для процессора имеет смысл перемещать как можно больше данных. Это делается с помощью шины данных, а размер шины данных - это то, откуда берутся имена 8-битная система, 16-битная система, 32-битная система, 64-битная система и т. Д. Когда шина данных имеет ширину 8 бит, она может передавать 8 бит за одну операцию памяти. Когда шина данных имеет ширину 32 бита (что наиболее распространено на момент написания), самое большее 32 бита можно переместить за одну операцию памяти.
Это говорит о том, что размер шины данных дает ОС имя 8 бит, 16 бит и так далее. Что не так с моим пониманием?
источник
Ответы:
Как правило, размер шины данных определяется размером регистров процессора. Зачастую размер регистров процессора определяет тип ОС (64 против 32). Размеры физической шины технически могут отличаться от этого (например, 8088), но это настолько редко, что автор вашей цитаты, вероятно, связывает их вместе.
Как правило, размер указателя также соответствует размеру регистра, но ширина шины физического адреса может быть больше (как у 1686-битного 8086 при 20) или меньше (как у 64-битного AMD на 48)
источник
Это размер регистра и обработка памяти внутри процессора.
Используя хитрости, один 16-битный процессор имел 20-битную адресную шину, поэтому он не является внешней памятью процессора.
источник
Там нет «чистой» 32- или 64-битной системы, и поэтому термины в любом случае являются лишь приблизительными.
Например , принять ваше заявление «Память (RAM) состоит из битов, группы 8 , которые образуют байт, каждый из которых могут быть решены» . Это не очень часто. ПК имеют ОЗУ на модулях DIMM, а их ширина составляет 64 бита. Еще в 90-х у вас были SIMM, и они были шириной 32 бита.
В некоторых системах модули DIMM должны или могут быть сопряжены («объединенные» / «двухканальные»), что составляет 128-битную шину данных. Эта концепция предшествует так называемым «64-битным» процессорам AMD и Intel.
Эти группы из 64 битов из одного DIMM действительно могут быть разделены на 8 байтов. Это довольно прозрачно для вашего процессора. Он также может разбивать 64 бита на 4 * 16 бит, 2 * 32 бита или просто использовать все 64 бита как одну переменную.
Однако самый важный вопрос - это ширина адреса. Каждый байт в памяти имеет свой собственный адрес, но не каждый бит. Это означает, что 64 бита, которые вы получаете от одного DIMM, имеют 8 адресов. Самый низкий из них всегда кратен 8. Теперь, сколько разных адресов поддерживает ЦП? Есть два общих ответа, по крайней мере, в теории. Некоторые процессоры поддерживают 2 32 разных адреса, некоторые поддерживают 2 64 . Это различие является наиболее распространенным различием между 32- и 64-битными системами.
На практике 64-разрядные системы сегодня поддерживают менее 2 64 байт оперативной памяти. Это было бы недоступно и в любом случае не подходило бы для обычного ПК. Эта память будет весить несколько миллионов тонн!
источник
Оба на самом деле.
Биты ЦП обычно являются ссылкой на размер его внутренних регистров. 32-битный ЦП имеет 32-битные регистры, которые могут или не могут быть разделены на порции.
Имеет смысл иметь 32-битный ЦП с 32-битной шиной данных, потому что вы можете передавать все данные из памяти непосредственно в регистры, но вы можете иметь любой размер шины данных. Таким образом, 32-битный процессор обычно имеет 32-битную шину данных, чтобы упростить передачу данных с него и на него.
А также имеет смысл иметь 32-битную адресную шину по двум причинам. Большая адресная шина затруднит косвенную адресацию, потому что у вас не будет достаточно большего регистра для хранения адреса памяти, или ЦП потребуется специализированный регистр для адресации памяти, обратите внимание, что старые процессоры, такие как Intel 8080, были 8-разрядными и имели 16 битная адресная шина. Напротив, адресная шина, меньшая, чем регистр, является просто пустой тратой ресурсов. Есть микроконтроллеры, которые используют меньшую адресную шину.
источник