Научная статья на тему 'ИСПОЛЬЗОВАНИЕ GALS-АРХИТЕКТУРЫ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ СИНХРОСИГНАЛАМИ ДЛЯ ПОВЫШЕНИЯ ЭНЕРГОЭФФЕКТИВНОСТИ ЦИФРОВЫХ УСТРОЙСТВ'

ИСПОЛЬЗОВАНИЕ GALS-АРХИТЕКТУРЫ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ СИНХРОСИГНАЛАМИ ДЛЯ ПОВЫШЕНИЯ ЭНЕРГОЭФФЕКТИВНОСТИ ЦИФРОВЫХ УСТРОЙСТВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
35
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ-НА-КРИСТАЛЛЕ / МИКРОКОНТРОЛЛЕР / ПРОЦЕССОР ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ / СНИЖЕНИЕ ПОТРЕБЛЯЕМОЙ МОЩНОСТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусев Станислав Валентинович, Алексеев Алексей Алексеевич, Шумилин Сергей Сергеевич

Представлен двухъядерный микроконтроллер на основе процессорных ядер RISC и DSP для использования во встраиваемых мобильных приложениях. Особенностью микроконтроллера является применение GALS-архитектуры, что вместе со специальными средствами управления синхросигналами позволяет оптимизировать потребление мощности для различных задачThe dual-core microcontroller based on RISC and DSP processor cores has been presented. The main feature of this system is the application of the GALS architecture, allowing together with special clock control units to optimize the power consumption for two different tasks.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ GALS-АРХИТЕКТУРЫ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ СИНХРОСИГНАЛАМИ ДЛЯ ПОВЫШЕНИЯ ЭНЕРГОЭФФЕКТИВНОСТИ ЦИФРОВЫХ УСТРОЙСТВ»

УДК 581.326.77[621.3.049.77]

Использование GALS-архитектуры с динамическим управлением синхросигналами для повышения энергоэффективности цифровых устройств

С.В.Гусев, А.А.Алексеев

Национальный исследовательский университет «МИЭТ» С.С.Шумилин

ЗАО «ПКК Миландр» (г. Москва)

Представлен двухъядерный микроконтроллер на основе процессорных ядер RISC и DSP для использования во встраиваемых мобильных приложениях. Особенностью микроконтроллера является применение GALS-архитектуры, что вместе со специальными средствами управления синхросигналами позволяет оптимизировать потребление мощности для различных задач.

Ключевые слова: системы-на-кристалле, микроконтроллер, GALS, процессор цифровой обработки сигналов, снижение потребляемой мощности.

С ростом степени мобильности современных цифровых устройств и количества возлагаемых на них функций потребление мощности становится одним из важнейших параметров при разработке элементной базы. Во всех современных системах-на-кристалле для снижения потребления мощности используется программное отключение синхросигналов неактивных модулей. Кроме того, применяются и другие аппаратные методы, например различные режимы пониженного энергопитания. В частности, в микроконтроллерах серии STM32F101xx и STM32F103xx компании STM реализованы три специальных режима, позволяющих регулировать потребление кристалла. Кроме того, система управления синхросигналами позволяет отключать синхросигналы от большинства неиспользуемых модулей устройства [1, 2]. Используемое в этих микроконтроллерах ядро ARM Cortex M3 дает возможность управлять не только синхросигналами, но и питанием периферийных модулей.

Аналогичным образом организовано управление энергопотреблением и в серии микроконтроллеров 1986ВЕ. Количество режимов пониженного питания в них расширено до четырех, включая возможность сохранения состояния процессора при работе от альтернативного источника. В системе имеются также делители частоты, позволяющие существенно оптимизировать потребление мощности периферийных модулей [3, 4].

В настоящей работе представлен двухъядерный процессор 1901ВЦ1Ф, ориентированный на встраиваемые мобильные приложения и построенный по необычной для этого типа процессоров GALS-архитектуре (Global Asynchronous Local Synchronous). Преимущества подобной архитектуры заключаются в возможности снижения потребления глобальных цепей тактирования за счет уменьшения размеров доменов, управ© С.В.Гусев, А.А.Алексеев, С.С.Шумилин, 2011

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

Вся система разделена на две подсистемы RISC и DSP (рис.1). Основой подсистемы RISC является 32-разрядное ядро, разработанное специально для встраиваемых мобильных приложений, а функцию ядра DSP выполняет 16-разрядный процессор с системой команд, совместимой с процессором TMS320С54. Обе подсистемы асинхронны по отношению друг к другу, а сами являются классическими синхронными. Для этого в систему для каждой из частей встроен отдельный умножитель частоты. Микроконтроллер обладает широким набором периферийных модулей, позволяющих использовать его в различных устройствах, но прежде всего он ориентирован на мобильные системы обработки информации, в частности радиостанции.

Рис.1. Структура микроконтроллера 1901ВЦ1Ф

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

Ядро RISC является ведущим в системе, ему доступно все адресное пространство, в том числе все регистры и память подсистемы DSP, кроме регистров ядра DSP. Именно на подсистему RISC возложена функция управления всеми синхросигналами, сбросами и режимами, т.е. управление энергопотреблением всей системы. Для этого в подсистеме реализованы гибкие возможности отключения синхросигналов периферийных модулей системы, управления умножителями частоты RISC и DSP, сброса отдельных неиспользуемых частей системы, а также имеется несколько режимов пониженного энергопотребления. Синхросигналы могут быть программно отключены от каждого периферийного модуля подсистемы RISC, подсистемы DSP в целом либо только от памяти, ядра или периферии подсистемы DSP (рис.2). При этом с активными частями подсистемы DSP ядро RISC может продолжать работать.

Рис.2. Дерево синхросигналов микроконтроллера 1901ВЦ1Ф

Особенностью микроконтроллера является возможность снижения тактовой частоты менее активной подсистемы. Например, в некоторой частной реализации устройства на базе микроконтроллера подсистема DSP используется для обработки быстрого потока данных и, соответственно, должна работать на максимальной частоте. Подсистема RISC выполняет функцию, для которой быстродействие не критично, поэтому нецелесообразно использовать для RISC-процессора ту же частоту, что и для DSP. Или наоборот, если ядро RISC должно обеспечить быстрое взаимодействие со множеством внешних устройств, а время обработки информации подсистемой DSP не имеет значения, то имеется возможность понизить до минимума частоту подсистемы DSP, тем самым сократив потребление. Частота каждой из подсистем может быть уменьшена более чем на 90%. Таким образом, по сравнению с аналогичной двухъядерной системой, имеющей классическую синхронную архитектуру, для задач, требующих максимального быстродействия только одной подсистемы, потребляемая энергия может быть сокращена на более чем 45%. Эта особенность является следствием использования GALS-архитектуры при проектировании микроконтроллера.

Для случаев, когда подсистема RISC неактивна и должна включаться только по какому-либо событию, в подсистеме реализованы режимы пониженного потребления: SLEEP, SLEEPDEEP, STANDBY. В режиме SLEEP все периферийные модули подсистемы RISC-системы и вся подсистема DSP остаются активными. Выход из этого режима осуществляется по прерываниям от других частей системы. Например, подсистема DSP, выполнив свою задачу, может «пробудить» ядро RISC при помощи прерывания. Подсистема RISC после загрузки в память DSP новой задачи может снова перейти в режим SLEEP, сократив свое потребление до минимума. Режим SLEEPDEEP отличается от SLEEP тем, что из всех периферийных модулей подсистемы RISC активны только некоторые модули, отвечающие за взаимодействие с аналоговыми блоками системы (АЦП, ЦАП) и за общее управление системой. При этом подсистема DSP остается активной и организовать управление ею можно так же, как и в случае режима SLEEP. В режиме STANDBY синхросигналы отключаются от всей системы, кроме часов реального времени. Подсистема DSP в этом режиме неактивна. Данный режим использу-

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

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

Кроме управления синхросигналами со стороны RISC реализована система управления сбросами DSP части устройства. Возможен общий сброс всей подсистемы, сброс ядра, периферии или памяти. Если сбросить, например, ядро, можно производить запись-чтение в ОЗУ DSP, если сбросить ядро и память, можно работать только с периферийными модулями.

При включении питания вся подсистема DSP находится в сбросе. Предполагается, что перед началом работы с ядром DSP подсистема RISC загрузит в ОЗУ программ DSP нужную программу и только после этого снимет сброс с ядра подсистемы DSP. После завершения заданной функции подсистема DSP может оповестить об этом RISC и ядро RISC в случае отсутствия очередных задач обработки потоков данных может отключить подсистему DSP. Если RISC загружена непрерываемой задачей, работает на очень медленной частоте или находится в одном из режимов пониженного потребления, может пройти существенное время, прежде чем уже неактивная подсистема DSP будет отключена. Для того чтобы ядро DSP могло само себя отключать после завершения работы, в подсистеме реализованы специальные режимы IDLE1 IDLE2 и IDLE3. Режим IDLE1 запрещает синхросигнал ядра DSP. У подсистемы RISC при этом остается возможность загрузить следующую задачу в память программ подсистемы DSP, выгрузить результат обработки данных либо работать со всей периферией DSP. Режим IDLE2 запрещает работу ядра DSP и памяти. Этот режим используется в случае, если RISC работает с какой-либо периферией. Режим IDLE3 выключает синхросигнал всей подсистемы DSP, за исключением немногих механизмов, оставляющих ядру RISC возможность возобновить работу с подсистемой. Выход из любого режима IDLE осуществляется при помощи прерываний или от периферии, в случае если она функционирует, либо от подсистемы RISC.

Основной трудностью при проектировании GALS-систем является обеспечение взаимодействия между асинхронными по отношению друг к другу частями системы. В микроконтроллере 1901ВЦ1Ф эта задача решается при помощи специального модуля, обеспечивающего корректную передачу управляющих сигналов и данных между подсистемами. Управляющие сигналы представляют собой однобитные цепи и могут быть пересинхронизированы на частоту принимающей подсистемы. Данные между подсистемами передаются по 32-разрядной шине стандарта AHB, по которой RISC является ведущей, т.е. может производить чтение либо запись. Запись 32-разрядных векторов данных в подсистему DSP организована при помощи асинхронного FIFO и может проводиться на частоте более медленной части устройства без потерь на пересинхронизацию (рис.3).

Для обеспечения корректного взаимодействия между устройствами при чтении данных из подсистемы DSP необходима организация флагов приема и готовности данных (протокол квитирования). В случае четырехфазного протокола квитирования

Рис.3. Пересинхронизация данных между подсистемами

низкий уровень сигнала запроса данных или ответа (получение данных) - это исходное состояние, а высокий уровень воспринимается как наличие запроса или готовность данных соответственно. При этом для обеспечения одного цикла чтения необходимо четыре избыточных цикла пересинхронизации, два из которых требуются на возврат системы в исходное состояние.

В микроконтроллере 1901ВЦ для чтения данных из подсистемы DSP использован двухфазный протокол квитирования (рис.4). Информация о необработанном запросе кодируется как сумма по модулю сигналов запроса и ответа. Например, в начальном состоянии оба сигнала равны нулю. Запрашивая данные, RISC переводит сигнал запроса в единицу. Когда данные готовы, DSP устанавливает сигнал ответа в единицу, после чего RISC может забрать запрошенные данные. В таком состоянии система переходит в режим ожидания до следующего цикла чтения. Уровни сигналов запроса и ответа при этом не важны. В результате потери при пересинхронизации составляют

Request_

Acknowledge___

)("ADDRO )(ADDR1

~X DATAO

a

Request

Acknowledge

X ADDR0 XADDR1

X DATA0 XDATAI

0

Рис. 4. Диаграммы протоколов квитирования для чтения данных из подсистемы DSP: a - четырехфазный; б - двухфазный протокол квитирования

только два такта. Кроме того, для ускорения последовательного чтения в модуле организован буфер предвыборки, осуществляющий предвыборку слова, следующего за запрошенным, что позволяет без потерь читать большие последовательные массивы данных из памяти DSP.

Таким образом, при пересинхронизации данных потери возникают только при однократных разрозненных операциях чтения памяти подсистемы DSP. При этом подсистема DSP оснащена необходимыми периферийными модулями, позволяющими ей автономно выполнять задачи обработки и ввода-вывода потоков данных и сократить транзакции между подсистемами до минимума. В процессоре 1901ВЦ1Ф за счет использования GALS-архитектуры совместно со специальными устройствами управления синхросигналами потребление электроэнергии для задач, не требующих полной загрузки всех частей системы, может быть сокращено более чем на 45%. При этом потери производительности системы за счет решений использованния в модуле пересинхронизации, оптимального распределения задач между подсистемами и реализации в каждой подсистеме необходимого для автономного выполнения функций набора периферийных модулей сведены к минимуму.

Литература

1. Староверов К. Микроконтроллеры на основе ядра ARM Cortex M3 // Новости электроники. -2008. - № 1. - С. 9-15.

2. Олейник. В. Новое семейство микроконтроллеров с ядром ARM от STMicoelectronics // CHIP NEWS. - 2006. - № 8. - С. 62-67.

3 Шумилин С. Новая серия отечественных 32-разрядных высокопроизводительных микроконтроллеров семейства 1986 на базе процессорного ядра ARM Cortex_M3 // Компоненты и технологии. - 2008. -№ 10. - С. 60-64.

4. Ермак М. Российские микроконтроллеры с ядром Cortex M3 // Компоненты и технологии. - 2010. -№ 9. - С. 54-57.

Статья поступила 17 января 2010 г.

Гусев Станислав Валентинович - инженер кафедры проектирования и конструирования интегральных микросхем МИЭТ. Область научных интересов: принципы и методы синхронной и асинхронной обработки данных в системах-на-кристалле. E-mail: Gusev.Stanislav@ic-design.ru

Алексеев Алексей Алексеевич - аспирант кафедры интегральной электроники и микросистем МИЭТ. Область научных интересов: методы тестирования систем-на-кристалле.

Шумилин Сергей Сергеевич - начальник отдела разработки цифровых интегральных микросхем ЗАО «ПКК Миландр» (г. Москва). Область научных интересов: методы повышения производительности систем-на-кристалле.

i Надоели баннеры? Вы всегда можете отключить рекламу.