Определяет ли что адресное пространство процессора?

#intel #cpu-architecture #memory-address #address-space

#intel #архитектура процессора #адрес памяти #адресное пространство

Вопрос:

Мое замешательство основано на этих 3 мыслях —

  1. Это 2 ^ (количество всех адресных контактов, доступных на процессоре)?

  2. Это 2 ^ (размер одного конкретного регистра)?

  3. Это аппаратная схема, которая понимает все адреса в диапазоне адресов? Тогда что это?

Я не спрашиваю здесь о виртуальном адресном пространстве, я не знаю, как оно называется, возможно, это физическое адресное пространство всех физических устройств, включая ОЗУ. Кроме того, даже если я получу правильный ответ, я хотел бы спросить, почему мой процессор имеет 2 ^ 39 бит (512 ГБ) адресного пространства памяти и 64 КБ 3 памяти ввода-вывода. Эта информация записана в документации Intel для моей системы в пакете (intel core i3-4005U со встроенным lynx point-m PCH).

Вы можете отредактировать мой вопрос, если я задаю его неправильно. Спасибо.

Ответ №1:

Размер физического адресного пространства для процессора — это произвольный выбор, сделанный разработчиками. Ширина тегов кэша и записей TLB должна быть достаточно большой, потому что кэши физически помечены (включая L1d в большинстве процессоров, включая все Intel) и другие внутренние вещи, которые имеют дело с физическими адресами. (Например, буфер хранилища для сопоставления адресов загрузки с ожидаемыми хранилищами. А также для сопоставления хранилищ с адресами кода в полете.)

Все процессоры Haswell-client используют одну и ту же микроархитектуру ядра, поэтому, хотя чипу для ноутбука это не нужно, некоторые настольные компьютеры с одним сокетом, отличные от Xeon, могут. (Я думаю, это правда; экономия небольшого объема пространства и / или мощности за счет изменения ширины тегов кэша на 1 или 2 бита может быть правдоподобной, но IDK, если Intel это сделает; Я думаю, что они действительно хотят проверить дизайн только один раз.)

Помните, что память устройства (включая карту PCIe, такую как VGA или вычислительную карту Xeon Phi) обычно отображается в физическое адресное пространство, чтобы процессор мог получить к ней доступ с помощью загрузок / хранилищ (после указания виртуальных страниц в этих областях физического адресного пространства). PCIe использует ссылки фиксированной ширины и отправляет адреса как часть «пакетов» сообщений; для дополнительных адресов дополнительные контакты не требуются.

Контроллеры DDR3 DRAM имеют несколько адресных строк на каждом канале для отправки адресов строк / столбцов; возможно, можно оставить один вывод неиспользованным. Это очень похоже на другие версии DDR; В Википедии есть диаграмма некоторых сигналов в статье DDR4: https://en.wikipedia.org/wiki/DDR4_SDRAM#Command_encoding

Комментарии:

1. @bipulkalita: как я уже сказал, теги кэширования в кэшах L1d / L1i, L2 и L3, iTLB и dTLB, а также TLB 2-го уровня, а также записи буфера хранения и их компараторы, самоизменяющиеся обнаружения кода и, возможно, некоторые фактические данные, связанные с вводом-выводом, в «system agent» hopна кольцевой шине. realworldtech.com/haswell-cpu ширина физического адреса не имеет большого значения, но взгляните на блок-схему и имейте в виду все, что связано с физическими адресами.

2. @bipulkalita: Я не думаю, что необходимо отслеживать каждое использование физических адресов внутри процессора Haswell. Основные факторы (и некоторые другие второстепенные, которые пришли мне в голову) — это те, которые я перечислил в своем первом комментарии, особенно ширина тега кэша. Ключевым моментом является то, что оно не привязано к ширине регистра или внешним контактам процессора или даже к тому, сколько DRAM он может поддерживать.

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

4. Количество адресных контактов в пакете определяется максимальным объемом физической памяти, поддерживаемым на канал, и количеством каналов.

5. @HadiBrais: Конечно, это не произвольно в этом смысле, но это напрямую не подразумевается ни одним из факторов, предложенных в вопросе. Создание хорошего / успешного продукта — это вопрос правильного выбора для множества «произвольных» вариантов. например, ширина конвейера, размеры кэша, дизайн ALU, ширина регистра, обработка угловых случаев, связанных с обратной совместимостью…