4

Память может быть адресной или байтовой (2 байта, 4 байта и т. Д.) Адресуемой (пожалуйста, исправьте меня, если я ошибаюсь здесь).В каких случаях память является байт или адресным адресом и почему

Это зависит от архитектуры процессора от адреса (адрес байта или адреса)? Если да, то в каких случаях мы идем для адресной памяти байтов, и в каких случаях мы обращаемся за адресной памятью?

И в чем причины этого? Другими словами, почему адрес памяти может быть адресован (в случаях, когда это так) и почему слово адресуемое (в случае его возникновения) и его причины. Я видел несколько вопросов по адресной памяти байтов на этом сайте, но никто не ответил на эти вопросы.

+0

Современные процессоры общего назначения имеют тенденцию быть байтовыми. DSP могут быть адресованными по словам. Некоторые исторические процессоры были адресованными по словам, иногда со странными размерами слов (IIRC, PDP-11 были Unix и C, изначально были написаны, имели 18-битные слова и адресно-адресуемую память). – ninjalj

+0

Возможный дубликат http://stackoverflow.com/q/1586944/570609 – kch

ответ

4

Очевидно, что различное программное обеспечение должно работать с данными/переменными разных типов и размеров, и часто бывает необходимо работать с несколькими разными в одном и том же коде.

Возможность доступа к этим переменным напрямую и в целом, независимо от размера, упрощает программирование, так как вам не нужно склеивать, скажем, 4 8-битных байта, чтобы сформировать 32-битное значение или аналогично извлечь отдельные 8-битные значения из 32-разрядной памяти.

Существуют процессоры, которые не очень гибкие с точки зрения размеров поддерживаемых данных. Например, процессоры цифровых сигналов с фиксированной точкой. Некоторые могут только получить доступ к памяти как 16-битные слова и 32-битные двойные слова. Я думаю, что отсутствие в них 8-разрядной байтовой адресации не является большой проблемой, потому что ожидается, что они будут обрабатывать много обработки сигналов, а не быть универсальными и подходят для вычислений общего назначения, а образцы сигналов редко являются 8-разрядными (это слишком грубо), чаще всего они 16-бит.

Поддержка меньшего размера данных и других функций аппаратного обеспечения делает это оборудование более простым и дешевым (в том числе с точки зрения потребляемой энергии), что становится важным, если мы говорим о тысячах и миллионах устройств.

Различные проблемы требуют разных решений, следовательно, разнообразия.