RS08 - это семейство 8-битных микроконтроллеров от NXP Semiconductors . Архитектура RS08, первоначально выпущенная Freescale в 2006 году, представляет собой версию центрального процессора (ЦП) Freescale MC68HCS08 с ограниченными ресурсами , члена семейства микропроцессоров 6800 . Он был реализован в нескольких микроконтроллерах для встроенных систем .
По сравнению с его родственниками HC08 и Freescale S08 , он имеет гораздо упрощенный дизайн. Буква «R» в номерах деталей означает «Уменьшенный»; Сам Freescale описывает это ядро как «ультра-бюджетное». Типичные реализации включают меньшее количество встроенных периферийных устройств и ресурсов памяти, имеют меньшие пакеты (самый маленький - пакет QFN 6, 3 мм x 3 мм x 1 мм) и стоят менее 1 доллара США. Цели упрощенной конструкции включают большую эффективность, большую экономичность для деталей с небольшим объемом памяти и меньший размер кристалла .
RS08 использует архитектуру фон Неймана с общей шиной программы и данных; возможно выполнение инструкций из памяти данных. Устройство не двоично совместимо с ядром S08, хотя коды операций и режимы адресации являются подмножеством S08. Это позволяет дизайнерам и инженерам легко переходить от ядра S08 к ядру RS08.
Режимы адресации Short и Tiny обеспечивают более эффективный доступ и управление наиболее часто используемыми переменными и регистрами. Эти инструкции имеют однобайтовые коды операций, что сокращает объем программной памяти, необходимый для их частого использования.
Размер кристалла на 30% меньше, чем у ядра S08. Ядро RS08 использует ту же структуру шины, что и S08, что делает возможным повторное использование памяти и периферийных модулей. Он предлагает интерфейс режима фоновой отладки, интерфейс однопроводной отладки, который позволяет интерактивно управлять процессором при установке в целевой системе.
Устройства [ править ]
Устройства (по состоянию на июль 2010 г.):
- MC9RS08KA1: 1 кбайт программируемой флэш- памяти программ.
- MC9RS08KA2: 2 КБ программируемой флэш-памяти программ.
- MC9RS08LE4: 4 Кбайт программируемой флэш-памяти программ, SCI.
- MC9RS08LA8: 8 кбайт программируемой флэш-памяти программ, SCI, SPI.
- MC9RS08KB12: 12 Кбайт программируемой флэш-памяти программ, I2C, SCI.
Архитектурные особенности [ править ]
- Ядро RS08 не управляет стеком . Во время вызовов подпрограмм он сохраняет адрес возврата в регистре связи счетчика теневой программы . Если подпрограмма, в свою очередь, вызывает другую подпрограмму, она может сохранить адрес возврата в локальной переменной, при необходимости вызвать подпрограммы и восстановить сохраненный адрес непосредственно перед возвратом.
- Регистр состояния ядра имеет биты флага переноса и нуля. Overflow и Negative, обычно встречающиеся в других ядрах, отсутствуют.
Обработка прерываний [ править ]
Прерывания не отправляются через векторы прерываний, как почти все другие процессоры Freescale. Прерывания RS08 могут пробудить процессор из состояния WAIT или STOP (когда выполнение временно останавливается), но в остальном не изменяют ход программы. По сути, RS08 выполняет любой поток программирования до конца. Эффект отдаленно похож на кооперативную многозадачность в операционных системах.
Хотя обработка внешних событий происходит синхронно, никаких накладных расходов из-за переключения контекста не требуется, и возможна работа с низким энергопотреблением . Арбитраж прерываний управляется исключительно программным обеспечением.
Библиография [ править ]
- Freescale Semiconductor. Справочное руководство RS08 Core (RS08RM). Ред. 1.0, 4/2006.
- Freescale Semiconductor. Лист данных MC9RS08KA2 (MC9RS08KA2). Ред. 1.0, 4/2006