Может ли 32-битный MCU иметь линии данных более 32?
Мне было интересно, что является причиной маркировки MCU как 32-битной или 64-битной. В упрощенной архитектуре, такой как архитектура Гарварда или Неймана, раньше это была шина данных. Но на рынке я видел микроконтроллеры, которые имеют 64-битные линии данных и продаются как 32-битные микроконтроллеры. Может кто-нибудь объяснить?
1 ответ
Неверно, что битовая ширина процессора была определена шириной шины данных. Intel 8088 (использовался в оригинальном IBM PC) был 16-битным устройством с 8-битной шиной данных, а Motorola 68008 (Sinclair QL) был 32-битным устройством с 8-битной шиной.
Это в первую очередь определяется характером набора команд (ширина операндов) и шириной регистра (обязательно одинаковыми).
Когда большинство устройств имели одинаковую ширину шины и инструкции / регистра (т.е. до 1980 года), не было необходимости проводить различие, и было неясно, относится ли оно к ширине шины или регистра / установки, и это не имело большого значения, когда узкая ширина шины были введены автобусные версии устройств широкого обучения / регистрации, что представляло собой маркетинговую дилемму. QL широко рекламировался как имеющий 32-битный процессор, несмотря на его 8-битную шину, в то время как 8088 иногда упоминался как 8/16-битная часть. 68008 мог тривиально выполнять 32-битные операции в одной инструкции - тот факт, что для получения операнда потребовалось 4 такта шины, был прозрачен для программного обеспечения, а общее число циклов команд и выборки данных было все еще намного меньше, чем 8-битный процессор для выполнения той же 32-битной операции.
Другой интересной архитектурой в этом контексте является архитектура ARM v4, которая поддерживает 16-битный режим, известный как "Thumb", в дополнение к 32-битному режиму ARM. В режиме Thumb и инструкция, и набор регистров являются 16-битными. Это имеет более высокую плотность кода, чем режим ARM. Там, где используется интерфейс внешней памяти, большинство компонентов ARM v4 поддерживают как 16-, так и 32-битную внешнюю шину - либо ARM, либо Thumb могут использоваться с любой, но при реализации 16-битной шины режим Thumb обычно работает более эффективно, чем 32-битная. битовая инструкция установлена из-за одного цикла шины на команду или выборку операнда.
Учитывая растущее разнообразие наборов команд / регистров архитектур и ширины шины, теперь имеет смысл охарактеризовать архитектуру по ее набору команд / регистров.