Предположим, у меня есть произвольный шестнадцатеричный диапазон, для целей этого примера
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). Но в каждом месте, на которое можно указать, может быть что угодно. Может быть, только один бит, может быть, гигабайт.
Поэтому обращение к диапазону адресов в байтах без указания того, на что указывает каждый адрес, для меня не имеет никакого смысла. Я что-то здесь упускаю? Может кто-нибудь помочь мне понять, почему выражение байта шестнадцатеричного диапазона адресов имеет смысл?
Спасибо. Рад попытаться уточнить все, что я сказал по запросу.