#cpu-architecture #pci-e
#архитектура процессора #pci-e
Вопрос:
Давайте возьмем пример пакета записи: предположим, что процессор записал значение
0x12345678
в физический адрес0xfdaff040
, используя 32-разрядную адресациюЭтот пример взят с этого сайта (я не понял объяснений в исходном сообщении)
- Почему адрес начинается со второго бита
[31 : 2]
- Почему адрес не тот же
Комментарии:
1. Адрес не совпадает просто из-за несоответствия в оригинале между диаграммой и текстом.
Ответ №1:
Адрес выровненного 32-разрядного блока всегда имеет два нулевых бита в конце адреса. Вы можете думать об этом либо как о записи адреса блока в 32-разрядный слот, либо как о записи адресов, разделенных на четыре, до бит 2-31 адреса. Результат в любом случае один и тот же, поскольку деление на четыре эквивалентно смещению двух разрядных позиций вправо.
Комментарии:
1. Другими словами, это (32b) словесный адрес , а не байтовый адрес .
2. И поскольку отправляется по меньшей мере 32 бита, разрешающие байты слова
first_be
иlast_be
используются для указания, какие байты допустимы.