Как диапазон шестнадцатеричных адресов равен размеру в байтах? - PullRequest
0 голосов
/ 01 ноября 2018

Предположим, у меня есть произвольный шестнадцатеричный диапазон, для целей этого примера

address_low = 0x0800_0000

address_high = 0x0FFF_FFFF 

Каждый адрес является 32-битным или 4-байтовым словом («32 адресных бита»). Общее количество мест в диапазоне составляет

address_high-address_low + 1 = 0x8000000 

эквивалентно: десятичное 134217728, или 128 * (1024 * 1024), или 2 ^ 27.

Что меня смущает, так это то, что означает представлять этот диапазон в виде байтов, в частности 128 МБ. Для меня шестнадцатеричный диапазон адресов просто указывает, на сколько регистров можно указать (в частности, 2 ^ 27). Но в каждом месте, на которое можно указать, может быть что угодно. Может быть, только один бит, может быть, гигабайт.

Поэтому обращение к диапазону адресов в байтах без указания того, на что указывает каждый адрес, для меня не имеет никакого смысла. Я что-то здесь упускаю? Может кто-нибудь помочь мне понять, почему выражение байта шестнадцатеричного диапазона адресов имеет смысл?

Спасибо. Рад попытаться уточнить все, что я сказал по запросу.

...