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

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

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

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

Это обеспечивает более легкую реализацию HW? Более быстрые вычисления? Или это просто "hmmm, позволяет, помещает регистры на 24 бита для создания задания программистов более трудным"?

5
задан Jeff Atwood 5 June 2011 в 16:48
поделиться

3 ответа

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

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

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

7
ответ дан 18 December 2019 в 11:55
поделиться

Если вы создаете строки слева направо, вы просто начинаете новую строку, добавляя невидимую вырожденную полосу: Вы добавляете последнюю точку строки дважды, вставляя треугольники с нулевой площадью. Эти треугольники будут невидимы при тонировании граней. С помощью этого метода можно создать разрывы в полосе и, например, начать новую строку в большой плоскости.

Что касается первоначальной проблемы: вы уверены, что можете избавиться от проблем визуализации, разделив сетку? Это не очень похоже на правильный путь.

-121--1948880-

Smalltalk не объявляет типы. Обозреватель рефакторинга успешно выполняет корректные рефакторинги в коммерческом коде с 1995 года и включен почти во все текущие IDE Smalltalk. - Дон Робертс

-121--3037493-

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

2
ответ дан 18 December 2019 в 11:55
поделиться

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

4
ответ дан 18 December 2019 в 11:55
поделиться
Другие вопросы по тегам:

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