Вчера, когда я размышлял над Why can’t OS use entire 64-bits for addressing?, я нашел еще одну интересную вещь. Например, возьмем процессор Intel Core 2 Duo.Нужно немного уточнить адресные строки процессора
Из «4.2 Алфавитный указатель сигналов» от Intel Core 2 Duo Processor E8000 and E7000 Series - Datasheet Я узнал, что он имеет 36 адресных линий & 64 строки данных. В листе данных указаны адресные строки как A [35: 3] и строки данных как D [63: 0].
Что именно это подразумевает? Это мое понимание (с несколькими неотвеченными вопросами) сверху:
- Поскольку имеется 36 адресных линий. Общая адресуемая память составляет 2^36 = 64 ГБ, а каждая физическая память (байт) адресуется 36-разрядным номером.
- Так как A [2: 0] не упоминается. Это означает, что MMU (пейджинговый блок будет более конкретным) после перевода виртуального адреса на физический адрес (с помощью таблиц адресов) он помещает только 33 самых значимых бита в адресные строки A [35: 3]. ОЗУ отправляет все 8 возможных байтов (с 3 LSB, A [2: 0]) i.e .. для любого запроса в этом 8-байтовом диапазоне. ОЗУ отправляет те же 8-байтовые данные. правильно? Я думаю, это сделано для эффективности.
- Что будет дальше? Я имею в виду, что MMU нужны 1 байт данных, но оперативная память отправила 8 байтов. Как он справится с этим?
- Является ли эта ширина шины адреса 36-бит, так как intel enabled PAE?
- Я не могу найти шину адресной шины и шины данных в новых спецификациях процессора (Intel® Core™ i7 Processor Extreme Edition). :(Помогите!
Подумайте об этом - шина данных имеет ширину 64 бит (8 байтов). На самом деле это не вопрос программирования, поэтому вы можете взять его на superuser.com. –
@Paul R: Мышление не проблема. Проблема в том, насколько далеко мое мышление верное. Вот почему вместо того, чтобы сразу задать свой вопрос. Я написал то, что думаю – claws