Б41
Б41 (англ. B41) — российский 16-разрядный микроконтроллер, разработанный зеленоградской фирмой Kedah Electronics Engineering в 2004 году.
Общие сведенияПравить
Микроконтроллер В41 реализован в виде заказной СБИС и относится к классу изделий «Система на кристалле». Основу микроконтроллера составляет 16-разрядное процессорное ядро с общим адресным пространством для программ и данных и CISC системой команд с развитым механизмом адресации. Интерпретация CISC команд осуществляется при помощи встроенных мини-программ внутреннего RISC-подобного ядра. Разрядность шины адреса в текущей реализации составляет 24 разряда, в то же время архитектура процессора позволяет расширить разрядность шины адреса до 32 разрядов.
Минимальный адресуемый элемент памяти, к которому допускается обращение — 16-разрядное слово. Для доступа к отдельным байтам в памяти используются специальные команды. Всё адресное пространство разбито на непересекающиеся сегменты по 64 К слов. Доступ к памяти внутри сегмента осуществляется в командах с помощью регистров-указателей или непосредственно, с использованием прямой адресации. Доступ к конкретным сегментам осуществляется с помощью сегментных регистров, содержимое которых фактически является расширением адреса, заданного в указателе или непосредственно при использовании прямой адресации.
Регистры периферийных устройств представлены в общем адресном пространстве микроконтроллера как ячейки памяти и размещены в конце адресного пространства нулевого сегмента. Для доступа к регистрам периферийных устройств используется основной набор команд процессора.
Механизм обработки прерываний микроконтроллера построен на основе переключения полных контекстов (наборов регистров). Один контекст представляет собой набор из 16 регистров. В этот набор входят 4 указателя общего назначения, указатель верхушки стека, два регистра-счётчика, регистр статических флагов, регистр состояния, указатель инструкций и шесть сегментных регистров, которые обеспечивают адресацию к памяти за пределами одного сегмента.
При обработке прерывания от периферийного устройства контроллер прерываний переключает процессор на соответствующий контекст (назначенный для этого устройства), и далее исполнение программы производится в соответствии с содержимым нового контекста. Таким образом, исключаются затраты на сохранение содержимого указателя инструкций и регистра состояния в стеке, на загрузку нового содержимого этих регистров, а также на сохранение в стеке других регистров, которые должны использоваться в обработчике прерываний.
В состав микроконтроллера входит 16-разрядный DSP-модуль, который обеспечивает выполнение операций целочисленного умножения с накоплением (48-разрядный сумматор) и деления.
Набор интерфейсов общего назначенияПравить
- 16-разрядное 4-х контекстное процессорное ядро B41-core
- MAC-модуль (16-разрядное умножение, умножение с накоплением и деление)
- Контроллер прерываний
- Криптографический модуль
- Пермутатор (для Bluetooth устройств)
- CVSD-кодек
- Интерфейс радиомодуля (RMI)
- Последовательный синхронный интерфейс SPI
- Цифровой аудио интерфейс PCM
- 2-х проводной интерфейс I2C
- Последовательный асинхронный интерфейс UART
- Ведущий JTAG-порт
- 4 параллельных байтовых порта ввода-вывода
- Мультиплексор выводов
- 4 программируемых 16-разрядных таймера
- Системный таймер 256 Гц
- Сторожевой таймер WDT
- Блок синхронизации (управление генераторами и тактовой частотой)
- Регистр управления режимом Sleep.
- Интерфейс внешней памяти (блок EMI)
- Встроенное ПЗУ с начальным загрузчиком (1Kx16)
- Встроенное ОЗУ ёмкостью 32Kx16(64КБ)
Особенности архитектурыПравить
Процессорное ядро B41 спроектировано с использованием механизма интерпретации CISC команд при помощи встроенных мини-программ внутреннего RISC-подобного ядра. Поэтому с точки зрения программиста процессорное ядро представляет собой традиционную CISC платформу, для которой характерна развитая система команд с широким набором способов адресации, позволяющих выполнение операций над операндами, размещёнными не только в регистрах процессора, но и непосредственно в памяти. Другой особенностью процессорного ядра является 4-х контекстная архитектура.
Процессорное ядро B41 имеет следующие характеристики:
- Единое адресное пространство для программ и данных
- Разрядность шины данных, АЛУ и адресных регистров — 16 разрядов
- Разрядность сегментных регистров — 8 разрядов в текущей версии, max = 16 разрядов
- Разрядность адресной шины — 24 разряда в текущей версии, max = 32 разряда
- Адресация команд и данных — словная (16 разрядов)
- Сегментная (страничная) организация адресного пространства с непересекающимися сегментами. Размер адресуемой памяти определяется реальной разрядностью сегментных регистров (от 0 до 16 разрядов)
- Система команд с развитым механизмом адресации операндов
- Количество РОН: 7 на контекст
- Количество сегментных регистров: 6 на контекст
- 4-х контекстная архитектура (4 набора регистров, включая указатели стека, инструкций и регистры состояний)
- Переход на обработку прерывания с аппаратным включением связанного с прерыванием контекста (обеспечивает немедленную реакцию на прерывание)
- Механизм многократного выполнения текущей команды (мини-программный цикл)
- Механизм ветвления по флагам пользователя
- Число тактов выполнения команды типа «регистр — регистр»: 1.
Программное обеспечениеПравить
В качестве средств разработки и отладки прикладного программного обеспечения для микроконтроллера B41 поставляется комплект разработчика B41 SDK. В состав B41 SDK входят отладочный монитор-загрузчик B41 Loader, оптимизирующий компилятор с языка GNU GCC C/C++, Binutils(as, ld,…), операционная система B41OS (недоступная ссылка).
Группа разработчиковПравить
Сергей Богуш, Равиль Волков, Олег Жихарев, Михаил Дябин, Игорь Панкратов, Игорь Черентаев , Дмитрий Желобаев, Илья Бернгардт, Михаил Игнатов, Игорь Смирнов, Андрей Смирнов.
СсылкиПравить
- Микроконтроллер B41: система на кристалле для портативных радиоустройств (рус.).
- Радиоконтроллеры семейства B41-RC. Радиомодем и управляющий контроллер в одном модуле (рус.).
На эту статью не ссылаются другие статьи Википедии. |