2010-07-19 1 views
5

Я считаю, что наибольшая разница заключается в скорости и оптимизации математических функций и, конечно же, от размера внутренних шин, но можете ли вы разместить больше различий между этими платформами?Каковы различия между программированием микроконтроллеров с 8, 16 и 32 битами?

+0

Возможно, вы захотите задать этот вопрос на chiphacker.com –

+3

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

+0

Не забывайте о гарвардской архитектуре, есть один размер для инструкций и другой для данных. – RMAAlmeida

ответ

9

Это сложный вопрос. Различные семейства микронов различаются по своим возможностям. Количество бит относится только к ширине канала данных, что ограничивает точность математики, хотя многие микрофоны будут либо эмулировать математику более высокого порядка, либо иметь специальную HW, которая может выполнять математические функции с более высокой точностью.

Историческая разница была цена: 8-битная была самой дешевой, 32-битная была дорогой. Это по-прежнему справедливо в целом, но цена на 16-битные части значительно снизилась.

Большинство 8-разрядных процессоров являются старыми и работают на старых архитектурах, поэтому они, как правило, медленнее. Они также сделаны дешевле, так как именно там конкуренция находится в 8-битной точке, и это заставляет их стремиться к медлительности. Они также имеют ограниченное ограничение на поддерживаемое ОЗУ/другое хранилище, но фактическое количество зависит от семейства.

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

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

6

Термин 8/16/32 бит может использоваться для обозначения устройств с различными комбинациями шины данных, адресной шины, регистра и ширины набора инструкций; поэтому само по себе это бедная таксономия. Вы должны сравнить конкретные устройства и связанные с ними компиляторы, чтобы сделать какие-либо конкретные выводы.

С точки зрения программного обеспечения размеры данных и диапазон адресов являются наиболее очевидными вариантами. Например, в C размер int может различаться и обычно составляет 16 бит для 8 и 16-битных компиляторов.

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

Несмотря на то, что 16 и 8-разрядные устройства не имеют отношения к ширине архитектуры, вряд ли будут включать FPU или MMU или даже кэш-память, тогда как они более распространены в 32-разрядных устройствах.

Смежные вопросы