Если 32-разрядный микропроцессор имеет 24-разрядное адресное пространство, почему ответ для максимального количества адресов (2 ^ 24) дан в байтах, а не в битах?

718
Crazierinzane

Я работаю над этим для домашней работы, и, кажется, все мои одноклассники и различные онлайн-источники говорят, что простое вычисление 2 ^ 24-бит приводит к ~ 16 000 000 байтов вместо битов. Почему это? Насколько я понимаю, ответом будет ~ 16 000 000 бит, которые будут преобразованы в ~ 2 000 000 байтов, потому что 1 байт равен 8 битам.

0
Каждый адрес относится к целому байту, а не к биту. Память не * бит * -адресуемая, она * байт * -адресуемая. bwDraco 8 лет назад 4
@DragonLord, только если вы говорите о современных системах. Древние компьютеры (вспомним: эпоха PDP-10) были, как правило, адресно-текстовыми. Mark 8 лет назад 0

2 ответа на вопрос

0
grawity

As @DragonLord says, it's because you cannot address individual bits; each address points at the start of a byte, and all operations work with at least one byte units.

Similarly, if the machine was word-addressed (as some have been in the past), its memory size would also be expressed similarly:

The PDP-8's basic configuration had a main memory of 4,096 twelve-bit words

Ах, это как работать со статистическими наборами, где биты внутри адресуемых байтов являются элементами внутри наборов, а максимальное адресуемое пространство содержит семейство наборов? Crazierinzane 8 лет назад 0
0
Mokubai

Another reason to address bytes rather than bits is because it also gives an immediate boost to the amount of data that can be stored and accessed. It also improves overall memory bandwidth as data is always pulled from memory in a multiple of byte blocks instead of bit-by-bit. Accessing memory a single bit at a time is inefficient if you know that the minimum useful block you are going to need to do anything useful is a single byte.

Even back when computers had small amounts of memory and low address line counts the ability to pull a byte at a time would have been a performance boost, and having access to 16 megabytes would have meant much larger programs could be made than if you only had access to 16 megabits (2 megabytes) of memory.

Похожие вопросы