Почему 24-битные регистры? - PullRequest
       80

Почему 24-битные регистры?

5 голосов
/ 23 февраля 2010

В своей работе я имею дело с различными микроконтроллерами, микропроцессорами и процессорами DSP. Многие из них имеют 24-битные регистры и счетчики.

Я знаю, как их использовать, это не мой вопрос.

Мой вопрос: почему у них 24-битный регистр! почему бы не сделать его 32-битным? и, как я знаю, это не проблема размера, потому что регистры уже 32 бит, но имеют максимум 0xFFFFFF.

Обеспечивает ли это более простую реализацию HW? Более быстрые расчеты? Или это просто «хммм, давайте поместим 24-битные регистры, чтобы сделать работу программистов более сложной»?

Ответы [ 4 ]

7 голосов
/ 23 февраля 2010

Я предполагаю, что большинству приложений DSP просто не нужны 32-битные биты. Цифровое аудио использует 24-битную верность больше всего. Реализация 32-битной системы потребует большего количества транзисторов, что приведет к более высоким затратам.

Почему 32 бита было бы проще для программиста?

Кроме того, вы заявляете, что регистры имеют максимум 0xFFFFFF, что делает их 24-битными по определению , а не 32-битными, как вы предлагаете.

4 голосов
/ 25 февраля 2010

Нет особых причин для 8/16/32/64 бит. Есть 24-битные DSP, 18-битные PIC, 36-битные PDP ... Каждый бит стоит времени, денег и энергии, поэтому достаточно иметь достаточно битов. Не нужно переусердствовать. Достаточно взглянуть на оригинальные ПК с 20 адресными строками, хотя указатели памяти могут иметь длину до 32 бит.

2 голосов
/ 08 сентября 2010

Для аудио обычно требуется 16-битный вывод. Так как во время обработки вы теряете некоторую точность, они выбирают разумный размер, который несколько больше, чем 16-битный, который бывает 24-битным.

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

2 голосов
/ 23 февраля 2010

Отметив ответ Томаса, некоторые DSP имеют режим регистрации, в котором переполнение блокирует значение в самом высоком состоянии. Если данные являются 24-битными и переносятся на 25-й бит, они должны блокироваться там, а не при 32-битном переключении.

...