Содержание к диссертации
Введение
1 Аналитический обзор методов снижения энергопотребления 16
1.1. Источники рассеиваемой мощности в кмоп сбис 16
1.2. Классификация методов уменьшения величины рассеиваемой мощности в кмоп сбис 20
1.3. Концепции разработки методов оптимизации энергопотребления в микроэлектронных системах-на кристалле 28
1.3.1. Энергосбережение на технологическом уровне 28
1.3.2. Снижение потребления энергии на схемотехническом уровне. 30
1.3.3. Сниоісение потребления энергии на уровне логики 34
1.3.4. Снижение потребления энергии на уровне протоколов 34
1.3.5. Снизісение потребления энергии на архитектурном уровне 35
1.3.6. Снижение потребления энергии на программном уровне 36
1.4. Асинхроиные схемы 37
1.4.1. Классы асинхронных схем 37
1.4.2. Принципы работы асинхронных схем 41
1.4.3. С-элемент 43
1.4.4. Методы синтеза асинхронных функциональных блоков
1.5. Квантовые клеточные автоматы 51
1.6. Выводы 57
2 Методология построения цифровых асинхронных компонентов систем-на-кристалле 59
2.1. Схемотехническое формирование асинхронных функциональных блоков 59
2.1.1. Описание метода схемотехнического формирования блоков... 59
2.1.2. Исследование эффективности создаваемых асинхронных схем 66
2.2. Модели энергопотребления асинхронных функциональных блоков КМОП СБИС 70
2.2.1. Аналитические модели для оценки энергопотребления и задержек сигналов 70
2.2.2. Сравнение оценок предложенной модели с результатами моделирования 107
2.3. Выводы 112
3 Снижение энергопотребления на архитектурном уровне
3.1. Метод оптимизации аппаратных за тра т в системе-на-кристалле 114
3.2. Применение метода оптимизация аппаратных затрат при проектировании асинхронной системы
3.2.1. Архитектуры турбодекодера 115
3.2.2. Оптимизированная асинхронная архитектура декодера 118
3.2.3. Анализ энергопотребления и эффективности декодирования 124
3.3. Метод оптимизации межблочных транзакций и ра определения задач в системах-на -кристалле 128
3.3.1. Описание метода 128
3.3.2. Модели оценки энергоэффективности межсоединений в системе-на-кристалле 137
3.4. Выводы 141
4 Проектирование вычислитеных устройств на основе квантовых клеточных автоматов 143
4.1. Метод построения логических схем на основе мажоритарных элементов квантовых клеточных автоматов 143
4.2. Разработка и исследование конструкций элементов асинхронной логики на основе квантовых клеточных Abtoma то В 154
4.3. Выводы 164
5 Методология автоматизированного проектирования энергосберегающих компонентов микроэлектронных систем-на-кристалле 165
5.1 Методология проектирования асинхронных систем. 165
5.2. Метод проектирования асинхронных сф-блоков вычислительных систем с использованием языка C+ + 174
5.3. Метод построения vhdl-описаний сф-блоков для повторного использования на основе описаний на языке systemc 181
5.4. Выводы 185
Заключение 187
Список использованных источников
- Концепции разработки методов оптимизации энергопотребления в микроэлектронных системах-на кристалле
- Исследование эффективности создаваемых асинхронных схем
- Анализ энергопотребления и эффективности декодирования
- Разработка и исследование конструкций элементов асинхронной логики на основе квантовых клеточных Abtoma то В
Введение к работе
Актуальность темы
В ходе развития информационного общества и технологий в повседневную жизнь все больше проникают портативные носимые электронные устройства. К этому классу устройств можно отнести устройства мобильной связи и глобальной навигации, ноутбуки, карманные компьютеры, мультимедийные аксессуары, беспроводные датчики состояния здоровья спортсменов и многие другие.
Число разрабатываемых приложений удваивается с каждым годом, стремясь удовлетворить запросы потребителей инновационных решений. Различные технические новшества требуют все больше и больше энергии, что напрямую сказывается на длительности автономной работы портативных устройств. Высокие требования к качеству передаваемого голоса, скорости обработки и передачи аудио- и видеосигналов привели к необходимости увеличения объемов памяти, а также рабочей частоты процессора. Все это, конечно же, отражается на потребляемой энергии, а ее уровень становится одним из самых важных факторов при создании портативной электронной техники. В частности, в некоторых современных приложениях требования к эффективности энергопотребления становятся жизнеопределяющими. Ограниченные возможности энергозатрат приводят, особенно в случае использования радиосредств, к необходимости более тесного, локального взаимодействия между элементарными модулями сети и реализации стратегии согласованных групповых действий для выполнения поставленной задачи. Другими словами, в сенсорных сетях, для массового использования, элементарные модули должны быть очень маленькими и очень дешёвыми. Так, одной из целей разработчиков на ближайшие годы ставится достижение габаритов элементарного модуля порядка одного кубического миллиметра, энергопотребления менее милливатта и стоимости менее одного доллара.
Очевидны тенденции к непрерывному росту сложности данных устройств и, соответственно, повышению потребностей в обеспечении их достаточным количеством энергии. Удовлетворение современных требований к компактности, надежности и продолжительности непрерывной работы напрямую зависит от уровня энергопотребления электронных компонентов описанного класса устройств.
Учитывая непрерывное, хотя и относительно медленное, усовершенствование технологий создания энергоемких элементов питания, а также, с другой стороны, увеличение энергетических потребностей сложных портативных устройств можно предположить, что данные устройства всегда будут иметь конечное время непрерывной работы, которое необходимо будет продлять за счет различных методов оптимизации энергопотребления. Также с уменьшением габаритов должны уменьшаться и источники питания (миниатюрные аккумуляторы, солнечные батареи с небольшой площадью и т.п.), что при прочих равных условиях снижает их емкость или мощность. Помимо всего прочего, необходимость продления времени работы практически любых портативных автономных устройств между процессами зарядки, вероятно, не исчезнет никогда, даже с учетом успешного развития технологий источников питания.
Разработчики, кроме обеспечения цифровых устройств всей современной функциональностью, должны сделать их достаточно экономичными с точки зрения потребления энергии и работоспособными в широком диапазоне операционных и технологических факторов.
Методы снижения потребляемой мощности позволят устройствам работать без специального термального обслуживания, что приведет к более дешевым корпусам и малым размерам. Поскольку высокое энергопотребление влияет на надежность КМОП-схем, то, соответственно, снижение мощности повысит их запас прочности (живучести).
Реализация всех функциональных модулей вычислительных систем с использованием энергосберегающих технологий позволит создавать на одном кристалле функционально законченные устройства с высокой степенью интеграции, что значительно увеличит функциональную насыщенность, снизит массогабаритные параметры конечного продукта, увеличит его производительность.
В таких условиях энергопотребление становится одним из ограничивающих факторов, сдерживающих дальнейшее развитие портативной электронной техники.
В итоге актуальность разработки методов проектирования микроэлектронных цифровых устройств с низким энергопотреблением можно определить следующими основными факторами:
наличием множества приложений (портативные компьютеры, средства навигации, средства связи, цифровая аудио- и видеотехника), которые должны сочетать высокую надежность и требуемое быстродействие с низким потреблением энергии для достижения заданной продолжительности автономной работы;
необходимостью снижать потребляемую мощность для решения проблемы отвода тепла, т.к. это определяет массогабаритные показатели устройств;
необходимостью решения проблемы проведения эффективного тестирования сложных функциональных цифровых устройств, при котором значительно возрастает рассеиваемая мощность.
Задачу проектирования вычислительных микроэлектронных систем с малым энергопотреблением возможно эффективно решить только с применением методов снижения потребления энергии на всех уровнях иерархии проекта. Ошибка на любом из уровней иерархии может свести на нет все успешные результаты на остальных. Например, проект CADRE (процессор цифровой обработки сигналов для мобильных телефонов), был хорошо оптимизирован на архитектурном и программном уровнях, но на схемном и логическом уровнях оказался неэффективен.
Состояние вопроса
Слабым местом, которое существенно ограничивает возможности увеличения энергоэффективности современных микропроцессоров и систем-на-кристалле является цепь синхронизации. Высокая рабочая частота, большие сопротивление и емкость линий связи приводят к тому, что в цепях синхронизации современных сверхбольших интегральных схем (СБИС) рассеивается до 50% от общей мощности. Одним из перспективных решений данной проблемы является отход от самой концепции синхронизации и применение в проектировании цифровых устройств принципов асинхронной логики.
В настоящее время наиболее известными элементами, применяемыми для разработки самотактируемых, нечувствительных к задержкам схем, являются элементы NCL-логики (NULL Convention Logic). К недостаткам методов построения функциональных блоков на основе NCL-логики можно отнести: избыточность по числу транзисторов, относительное низкое быстродействие и высокое статическое и динамическое энергопотребление. Методы минтермного синтеза (Delay Insensitive Minterm Synthesis - DIMS) позволяют формировать схемы асинхронных логических блоков с помощью пороговых элементов, что также приводит к избыточности и, соответственно, низкой энергоэффективности.
Формирование логических схем без использования традиционных C-элементов и NCL-элементов позволит сократить длину пути прохождения сигнала, суммарную паразитную емкость, статическое и динамическое рассеяние энергии за счет уменьшения числа транзисторов, входящих в схему.
Сокращение аппаратных затрат не всегда ведет к сокращению энергопотребления системы. Один и тот же алгоритм можно реализовать аппаратно, программно или совместно аппаратно-программно. При аппаратной реализации достаточно большой вклад в рассеяние общесистемной мощности вносят блоки статической оперативной памяти. При программной реализации возможен резкий рост числа переключений элементов, что добавляет заметную часть динамической мощности и снижение быстродействия. Поэтому, как правило, оптимум энергоэффективности может быть достигнут при компромиссном аппаратно-программном решении, в частности, за счет минимизации объемов необходимой оперативной памяти.
В связи с ростом интеграции разработчики СБИС имеют возможность объединять на одном кристалле десятки больших сложных функциональных блоков (СФ-блоков - IP-ядер) различного назначения, в том числе и микропроцессорные ядра. Одними из ключевых направлений развития систем-на-кристалле являются разработки по созданию структурированных систем коммуникации - сетей-на-кристалле (Network on a Chip – NoC). Сеть-на-кристалле является коммуникационной системой IP-ядер на основе пакетной передачи данных и административного управления. За счет масштабируемости коммуникации NoC обеспечивают гибкое повторное использование разнородных IP-ядер.
Методы проектирования NoC на сегодня не позволяют учитывать совместно геометрические размеры топологии блоков, модели энергоэффективности соединений и трафик в системе. Сокращения числа транзакций и улучшения энергоэффективности систем-на-кристалле можно достичь с помощью оптимизации топологической архитектуры внутрикристальной сети.
Задачу оптимизации межблочных транзакций и распределения задач в NoC предлагается решить с помощью генетических алгоритмов, которые отличаются от других оптимизационных алгоритмов тем, что предполагают одновременный поиск в различных областях пространства решений. Элементы случайности позволяют преодолевать барьеры локальных оптимумов. Выбор способа кодирования модели оптимизационной задачи, а также набора генетических операторов, во многом определяет эффективность и качество применяемых генетических алгоритмов. Поэтому, разработка способа кодирования моделей и разработка генетических операторов для оптимизации межблочных транзакций, является актуальной в научном и практическом плане задачей.
Создание вычислительных устройств на основе квантовых клеточных автоматов позволяет резко сократить энергопотребление за счет их высокой энергоэффективности, обусловленной квантовыми эффектами. При этом недостаточно развиты и изучены методы эффективного построения топологии функциональных блоков, а также возможности их реализации на базе принципов асинхронной логики.
Существующие методологии разработки схем асинхронной логики позволяют реализовать маршрут автоматизированного проектирования микроэлектронных систем от функционального описания до топологии, однако сквозной маршрут проектирования асинхронных блоков в полностью автоматическом режиме пока недостижим. Поэтому, решением этого может быть создание методологии и программных средств автоматического проектирования асинхронных систем на различных иерархических уровнях.
Цель работы
Целью диссертационной работы является разработка и исследование методов повышения энергоэффективности микроэлектронных систем на различных уровнях проектной иерархии – на схемотехническом, архитектурном, программном и технологическом, что позволит снизить их энергопотребление и, соответственно, увеличить длительность автономной работы.
Для достижения поставленной цели в работе решались следующие основные задачи по разработке и исследованию:
- методологии построения цифровых асинхронных компонентов систем-на-кристалле, включая схемотехнические основы создания асинхронных функциональных блоков с малым энергопотреблением;
- аналитических моделей для оценки энергопотребления и задержек сигналов асинхронными элементами и функциональными блоками;
- методов повышения энергоэффективности на архитектурном уровне, оптимизации межблочных транзакций и распределения задач в системах-на-кристалле для повышения их энергоэффективности, а также метода проектирования вычислительных устройств с малым энергопотреблением на основе квантовых клеточных автоматов;
- конструкций элементов асинхронной логики на основе квантовых клеточных автоматов;
- методологии и программных средств автоматизированного проектирования энергоэффективных асинхронных микроэлектронных систем-на-кристалле;
- методов проектирования асинхронных функциональных блоков с использованием языка C++ и построения VHDL-описаний функциональных блоков для повторного использования на основе описаний на языке SystemC.
Научная новизна:
- предложена методология построения цифровых асинхронных компонентов систем-на-кристалле, включая схемотехнические основы создания асинхронных функциональных блоков;
- получены аналитические модели для оценки энергопотребления и задержек сигналов асинхронными элементами и функциональными блоками, разработана методика нахождения оптимальных ширин каналов транзисторов для максимизации энергоэффективности;
- представлен метод повышения энергоэффективности микроэлектронных систем на архитектурном уровне;
- разработан метод оптимизации межблочных транзакций и распределения задач в системах-на-кристалле для повышения их энергоэффективности;
- предложен метод проектирования вычислительных устройств с малым энергопотреблением на основе квантовых клеточных автоматов;
- создана методология автоматизированного проектирования асинхронных микроэлектронных систем-на-кристалле;
- разработан метод проектирования асинхронных функциональных блоков с использованием языка C++.
Решение ряда новых задач повышения энергоэффективности, представленных в работе, стало возможно благодаря известным достижениям микро- и наноэлектроники и не противоречит их положениям, базируется на строго доказанных выводах прикладных наук, таких как математический анализ, математическая статистика, теория оптимизации и планирование эксперимента. Созданные методы, маршруты и программные проектирования систем-на-кристалле согласуются с опытом их разработки.
Предложенные теоретические положения и новые технические решения опробованы на основе вычислительных экспериментов.
Результаты исследований анализировались и сопоставлялись с известными экспериментальными данными других исследователей.
Практическая значимость
В соответствии с предложенными в диссертационной работе методами разработаны:
алгоритмы и программы схемотехнического и топологического проектирования асинхронных функциональных блоков, а также оценки энергоэффективности синтезированных блоков;
конструкции элементов цифровых функциональных блоков, а также элементов асинхронной логики на основе квантовых клеточных автоматов;
маршрут проектирования СБИС на основе библиотеки элементов AMS-0,8 мкм для САПР Leonardo Spectrum;
маршрут проектирования заказных СБИС от уровня поведенческого представления на языке VHDL до структурного описания в формате EDIF;
маршрут сквозного проектирования специализированных СБИС на основе ПЛИС и заказных интегральных схем от поведенческого VHDL- и С++-описания до топологии;
БИС арбитра шин многопроцессорной вычислительной системы на основе БМК серии 5503ХМ2, на основе ПЛИС, а также в виде проекта заказной интегральной схемы на библиотеке элементов HP-0,5 мкм;
функциональное ядро пространственной высоко- и низкочастотной фильтрации высокопроизводительного видеопроцессора;
функциональное ядро виртуального логического анализатора ПЛИС;
сложно-функциональный блок пространственной фильтрации для определения амплитуд перепадов яркостей на изображении для системы-на-кристалле на ПЛИС;
БИС декодера сверточных турбокодов по алгоритму MAP для спутниковой телекоммуникационной системы INMARSAT;
проект статического ОЗУ для технологии кремний-на-изоляторе 0,8 мкм;
компилятор (программное средство для синтеза) топологии статического ОЗУ для систем-на-кристалле.
Применение всех разработанных автором методов, моделей и маршрутов проектирования позволило создать вычислительные микроэлектронные системы с малым энергопотреблением.
Выполнены исследовательские и опытно-конструкторские работы по отработке предложенных методов повышения энергоэффективности на архитектурном и схемотехническом уровнях проектной иерархии систем-на-кристалле.
Предложенные идеи архитектурного преобразования функциональных блоков использованы при проектировании систем микроэлектронной техники.
Разработанные в диссертационной работе положения, методы и маршруты проектирования микроэлектронных систем позволили повысить качественные результаты при создании новых образцов микроэлектронной техники в проектных организациях электронной промышленности РФ.
В диссертации решена крупная научная проблема снижения энергопотребления микроэлектронной техники, имеющая хозяйственное значение, а также изложены научно обоснованные технические решения, внедрение которых внесет значительный вклад в развитие микроэлектронной промышленности страны и повышение ее обороноспособности.
Внедрение результатов работы
Результаты работы использованы в научных исследованиях и разработках ГУ НПК «Технологический центр» МИЭТ (ТУ) (г.Москва), Научно-образовательного центра «Нанотехнологии» Южного федерального университета (г.Таганрог), ОАО НКБ ВС (г.Таганрог), ГКБ «Связь» (г.Ростов-на-Дону), использованы в НИР, выполненных по заданиям Министерства образования и науки РФ, а также внедрены в учебный процесс подготовки студентов Технологического института Южного федерального университета в г.Таганроге.
Апробация результатов работы
Основные результаты диссертационной работы обсуждались и были одобрены на Всероссийских научно-технических конференциях с международным участием “Актуальные проблемы твердотельной электроники и микроэлектроники” (ПЭМ-97, ПЭМ-98) (Дивноморское, 1997, 1998 гг.), на XXVI Юбилейной Международной конференции и дискуссионном научном клубе «Новые информационные технологии в науке, образовании, телекоммуникации и бизнесе» (IT+SE’98) (Ялта-Гурзуф, 1998 г.), на XXXXIII-XXXXVI научно-технических конференциях ТРТУ (Таганрог, 1998 – 2001 гг.), Всероссийской НТК «Компьютерные технологии в науке, проектировании и производстве» (Нижний Новгород, 1999 г.), на Международных научно-технических конференциях “Актуальные проблемы твердотельной электроники и микроэлектроники” (ПЭМ-99, ПЭМ-2000) (Дивноморское, 1999, 2000 гг.), на 3-й международной НТК «Электроника и информатика - XXI век» (Москва, 2000 г.), на XLVIII научно-технической конференции ТРТУ (Таганрог, 2003), International Conference On ASIC (ASICON 2003, Пекин, 2003), Второй Всероссийской научно-технической конференций (МИЭТ, Москва, 2003), XLIX научно-технической и научно-методической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ (Таганрог, 2004), IX международной научно-технической конференции «Актуальные проблемы твердотельной электроники и микроэлектроники» (ПЭМ-2004, Дивноморское, 2004), LI научно-технической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ (Таганрог, 2005), Х Международной НК и школы-семинара «Актуальные проблемы твердотельной электроники и микроэлектроники» (ПЭМ-06, Таганрог, 2006), Конференции «Проблемы разработки перспективных микроэлектронных систем – 2006» (МЭС-06, Москва, 2006), Конференции «Автоматизация проектирования дискретных систем» (CAD DD’07, Минск, 2007), LV научно-технической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТТИ ЮФУ (Таганрог, 2009).
Основные положения и результаты, выносимые на защиту:
- методология построения цифровых асинхронных компонентов систем-на-кристалле, включая схемотехнические основы создания асинхронных функциональных блоков;
- аналитические модели для оценки энергопотребления и задержек сигналов асинхронными элементами и функциональными блоками;
- метод повышения энергоэффективности микроэлектронных систем на архитектурном уровне;
- метод оптимизации межблочных транзакций и распределения задач в системах-на-кристалле для повышения их энергоэффективности;
- метод проектирования вычислительных устройств с малым энергопотреблением на основе квантовых клеточных автоматов;
- методология автоматизированного проектирования асинхронных микроэлектронных систем-на-кристалле;
- метод проектирования асинхронных функциональных блоков с использованием языка C++.
Публикации
По результатам диссертационной работы опубликовано 39 печатных работ (из них: 12 в изданиях рекомендованных ВАК и одна монография), 17 отчетов по НИР и 2 свидетельства об официальной регистрации программ.
Структура и объем работы
Диссертация состоит из введения, пяти глав с выводами и заключения, а также списка литературы и приложения. Работа изложена на 226 страницах машинописного текста, 88 рисунках, 6 таблицах и содержит список литературы из 309 позиций.
Концепции разработки методов оптимизации энергопотребления в микроэлектронных системах-на кристалле
Достоверность разработанных аналитических моделей была проверена путем сопоставления с эталонным SPICE-моделированием на моделях 5-го уровня. Расхождение в оценке нетрассированных соединений с трассированными достигает 50 %.
Эффективность предложенного метода проектирования
функциональных блоков на основе квантовых клеточных автоматов доказана результатами сравнительного анализа с существующими методами проектирования на основе мажоритарных элементов. Сокращение числа элементов в среднем достигает 3 раз. Снижение времени проектирования до 14 раз.
Эффективность предложенного подхода построения конструкции элементов асинхронной логики на основе квантовых клеточных автоматов доказана результатами сравнительного анализа с существующими методами проектирования на основе мажоритарных элементов.
Достоверность результатов проектирования на основе разработанных методов проверена путем моделирования функционирования конструкций с помощью известных моделей и специализированных программных средств.
Эффективность предложенного метода трансляции функциональных описаний на языке C++ в HDL-описания с учетом особенностей асинхронной логики доказана результатами сравнительного анализа с существующими методами проектирования систем-на-кристалле, которые либо не предназначены для разработки асинхронных систем, либо не позволяют прямую трансляцию с исполнимых спецификаций. Сокращение времени проектирования достигает в среднем 50%.
Эффективность предложенного маршрута сквозного проектирования асинхронных систем, интегрирующего в себе разработанные и известные методы была показана апробацией на примере проектов микроконтроллера, турбодекодера, криптопроцессора и др. Сокращение времени проектирования асинхронных систем достигает в среднем 90%.
Разработанный маршрут проектирования асинхронных систем, а также методы формирования высокоуровневых описаний функциональных блоков позволил повысить качество и скорость процесса разработки систем-на-кристалле с малым энергопотреблением.
Применение всех разработанных автором методов, моделей и маршрутов проектирования даст возможность создавать вычислительные микроэлектронные системы с ультра-малым энергопотреблением.
Результаты работы использованы в научных исследованиях и разработках ГУ НПК «Технологический центр» МИЭТ (ТУ) (г.Москва), Научно-образовательного центра «Нанотехнологии» Южного федерального университета (г.Таганрог), ОАО НКБ ВС (г.Таганрог), ГКБ «Связь» (г.Ростов-на-Дону), использованы в НИР, выполненных по заданиям Министерства образования и науки РФ, а также внедрены в учебный процесс подготовки студентов Технологического института Южного федерального университета в г.Таганроге.
Основные результаты диссертационной работы обсуждались и были одобрены на Всероссийских научно-технических конференциях с международным участием "Актуальные проблемы твердотельной электроники и микроэлектроники" (ПЭМ-97, ПЭМ-98) (Дивноморское, 1997, 1998 гг.), на XXVI Юбилейной Международной конференции и дискуссионном научном клубе «Новые информационные технологии в науке, образовании, телекоммуникации и бизнесе» (IT+SE 98) (Ялта-Гурзуф, 1998 г.), на XXXXIII-XXXXVI научно-технических конференциях ТРТУ (Таганрог, 1998 - 2001 гг.), Всероссийской НТК «Компьютерные технологии в науке, проектировании и производстве» (Нижний Новгород, 1999 г.), на Международных научно-технических конференциях "Актуальные проблемы твердотельной электроники и микроэлектроники" (ПЭМ-99, ПЭМ-2000) (Дивноморское, 1999, 2000 гг.), на 3-й международной НТК «Электроника и информатика - XXI век» (Москва, 2000 г.), на XLVIII научно-технической конференции ТРТУ (Таганрог, 2003), International Conference On ASIC (ASICON 2003, Пекин, 2003), Второй Всероссийской научно-технической конференций (МИЭТ, Москва, 2003), XLIX научно-технической и научно-методической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ (Таганрог, 2004), IX международной научно-технической конференции «Актуальные проблемы твердотельной электроники и микроэлектроники» (ПЭМ-2004, Дивноморское, 2004), LI научно-технической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТРТУ (Таганрог, 2005), X Международной НК и школы-семинара «Актуальные проблемы твердотельной электроники и микроэлектроники» (ПЭМ-06, Таганрог, 2006), Конференции «Проблемы разработки перспективных микроэлектронных систем - 2006» (МЭС-06, Москва, 2006), Конференции «Автоматизация проектирования дискретных систем» (CAD DD 07, Минск, 2007), LV научно-технической конференций профессорско-преподавательского состава, аспирантов и сотрудников ТТИ ЮФУ (Таганрог, 2009).
По результатам диссертационной работы опубликовано 39 печатных работ (из них: 12 в изданиях рекомендованных ВАК и одна монография), 17 отчетов по НИР и 2 свидетельства об официальной регистрации программ.
Основные положения и результаты, выносимые на защиту: - методология построения цифровых асинхронных компонентов систем-на-кристаллеэ включая схемотехнические основы создания асинхронных функциональных блоков; - аналитические модели для оценки энергопотребления и задержек сигналов асинхронными элементами и функциональными блоками; - метод повышения энергоэффективности на архитектурном уровне; - метод оптимизации межблочных транзакций и распределения задач в системах-на-кристалле для повышения их энергоэффективности; - метод проектирования вычислительных устройств с малым энергопотреблением на основе квантовых клеточных автоматов; - конструкции элементов асинхронной логики на основе квантовых клеточных автоматов; - методология автоматизированного проектирования асинхронных микроэлектронных систем-на-кристалле; - метод проектирования асинхронных функциональных блоков с использованием языка C++.
Диссертация посвящена разработке методов повышения энергоэффективности цифровых систем и состоит из 5 глав. В главе 1 приведена классификация источников рассеиваемой мощности и обзор методов снижения энергопотребления. В главе 2 описана разработка методологии схемотехнического проектирования асинхронных элементов, позволяющей повысить энергоэффективность вычислительных систем-на-кристалле. Методы снижения энергопотребления в цифровых устройствах на архитектурном уровне рассмотрены в главе 3. Глава 4 содержит описание методов проектирования вычислительных устройств на основе квантовых клеточных автоматов. В главе 5 предлагаются методология и маршруты автоматизированного проектирования асинхронных вычислительных систем с малым энергопотреблением.
Исследование эффективности создаваемых асинхронных схем
В настоящее время наиболее известными элементами, применяемыми для разработки самотактируемых, нечувствительных к задержкам схем, являются элементы NCL-логики (NULL Convention Logic) [16, 109]. Функциональные блоки, включая комбинационную логику и триггеры строятся на основе т-из-п NCL-элементов с логическим гистерезисом [109]. Переменная m означает порог срабатывания (переключения) элемента. Прообразом данной логики являются С-элементы Мюллера. На рис. 14,а показан двухвходовой С-элемент, который, фактически, является частным случаем обобщенного порогового m-из-п элемента с логическим гистерезисом (рис. 14,6). При п 1, элемент m-из-п соответствует п-входовому С-элементу Мюллера.
В рамках данной работы разработано семейство методов (для различных типов реализаций асинхронных элементов) синтеза самотактируемых функциональных блоков, у которых каждый информационный сигнал является парафазным.
Элемент с логическим гистерезисом может служить детектором фронтов двух взаимосвязанных сигналов DATA (есть данные) и NULL (отсутствие данных), т.е. регистрировать присутствие информации на входах [110]. Данные передаются от одного асинхронного регистрирующего элемента к другому в определенной кодировке. Асинхронные комбинационные схемы проектируются подобно синхронным схемам, но конвейерная обработка данных в них достигается путем использования регистрирующих элементов, определяющих поступление новых данных или подтверждающих данные, установленные на выходе схемы. Такие элементы помогают сформировать асинхронный протокол обмена данными между компонентами проекта. Таким образом, самотактируемая логика в очень широких пределах не чувствительна к задержкам, температуре, напряжению питания и параметрам техпроцесса изготовления кристалла.
Предлагаемые методы проектирования асинхронных блоков позволяют сократить число используемых транзисторов в схеме и повысить ее быстродействие. Асинхронные блоки формируются без использования С-элементов Мюллера и NCL-элементов. Также предлагаемые методы отличаются от методов минтермного синтеза (Delay Insensitive Minterm Synthesis - DIMS [111]) тем, что с их помощью схемы логических блоков формируются не на основе пороговых элементов, а на основе комбинаций транзисторных цепочек.
Предлагается отдельно синтезировать схемы двух компонент формирования сигналов информационного выхода Q1 и Q0 на основе таблицы истинности, описывающей функцию блока. Методы применимы для всех четырех рассмотренных типов реализаций асинхронных элементов. Асинхронные блоки, построенные по предложенной методологии, могут иметь множество информационных входов и только один информационной выход [112].
Основные этапы построения схемы, эскиз которой приведен на рис. 16: - на основе исходной таблицы истинности, описывающей тристабильные состояния информационных сигналов блока составляется расширенная таблица истинности, описывающая бистабильные состояния пары выводов информационных сигналов блока; "нули" для Q1=0 - составляются цепочки последовательно соединенных р-канальных транзисторов, устанавливающих сигналы Q1 и Q0 в состояние 0. На данном этапе строятся части схемы с именами «nulls to 0 of Q1» и «nulls to 0 of Q0». В последовательные цепочки включаются транзисторы, входы которых по расширенной таблице истинности находятся в состоянии 0 при нахождении Q1 и Q0 в состоянии 0. Далее последовательные цепочки транзисторов соответствующих компонент (см. рис. 16) объединяются параллельно; - составляются цепочки последовательно соединенных п-канальных транзисторов, устанавливающих сигналы Q1 и Q0 в состояние 1. На данном этапе строятся части схемы с именами «nulls to 1 of Q1» и «nulls to 1 of Q0». В последовательные цепочки включаются транзисторы, входы которых по расширенной таблице истинности находятся в состоянии 1 при нахождении Q1 и Q0 в состоянии 1. Далее последовательные цепочки транзисторов соответствующих компонент (см. рис. 16) объединяются параллельно; - производится оптимизация (минимизация) полученных схем, путем удаления избыточных транзисторов и их цепочек. На данном этапе транзисторные цепочки представляются орграфом, в котором узлами являются транзисторы, а ребрами - их соединения. Ребра направлены в одну выбранную сторону. После этого из графа, путем анализа путей из направленных ребер, удаляются петли и объединяются дублирующие друг друга узлы. Теоретически схема функции, сформированная подобным образом, может содержать любое количество входов. Но для схем с большим числом транзисторов (больше 8), соединенных последовательно, сопротивление такой цепочки может оказаться значительным и существенно повлиять на задержку. Поэтому, при построении больших схем, следует обращать особое внимание на паразитные параметры их цепей.
В качестве примера рассмотрим синтез схем полусумматора (аналога NCL-полусумматора, показанного на рис. 15).
Исходя из того, что полусумматор имеет два информационных выхода, то необходимо синтезировать две компоненты отдельно формирующие сигналы С и S (рис. 17), поскольку в рассматриваемом методе асинхронный блок может иметь только один информационный выход.
Анализ энергопотребления и эффективности декодирования
Блоки памяти в декодере (буфер данных, перемежитель/деперемежитель, стек) для сокращения энергии обращения могли быть реализованы в виде регистров. Однако, как показал анализ, при большой длине блока данных (в разработанной архитектуре 2608) целесообразно использовать традиционную статическую память с асинхронным обращением и подтверждением выхода.
Для оценки требуемого суммарного объема памяти всего МАР-декодера необходимы следующие исходные параметры: длина блока данных (N), степень кодового ограничения (К), количество SISO-декодеров (D), количество буферов данных (В), количество перемежителей/деперемежителей (INT), разрядность метрик состояний (RSM), разрядность метрик ветвей (RBM), разрядность входных символов (RS), разрядность априорной информации (RLAM). Тогда суммарный объем памяти в декодере можно выражается таким образом: V = D VD+B 3 RS N+ INT 3 RS N+ INT RLAM N, где VD - общий объем блоков хранения метрик в одном SISO-декодере, который различен для разных архитектурных реализаций. Для однооконной реализации общий объем блоков хранения метрик в одном SISO-декодере, в большинстве случаев (с учетом того, что необходимые данные, не хранящиеся в памяти, рассчитываются «на лету»), равен VD=N RSM (2K"1-1)+N RBM (2K"1-1).
В многооконной системе параллельный расчет метрик осуществляют отдельные функциональные модули, которые имеют свои локальные вычислительные и «запоминающие» ресурсы. Например, в архитектуре, предложенной в [142] объем памяти оценивается выражением (с перерасчетом и приведением к упомянутым обозначениям параметров): VD1=N 3 RS+N RLAM+2 N 2 RSM (2K" -1).
В разработанной архитектуре SIS О-декодера общий объем памяти: VD2=N RSM (2K-1-1). Исходя из этого, объем памяти для отдельно взятого SISO-декодера при длине блока данных 2608, степени кодового ограничения 5, разрядности метрик состояний и ветвей 8, суммарной разрядности входных символов 12 и разрядности априорной информации 8 достигает в предложенном варианте 24% от объема памяти в традиционной архитектуре.
Энергопотребление параметризуемой и масштабируемой архитектуры декодера было проанализировано с помощью модели, учитывающей размер модулей расчета метрик, разрядность данных, количество символов в пакете, степень кодирования, кодовое ограничение, количество итераций.
В ранних исследованиях [143] показано, что в параллельной реализации SISO-декодера более 70% от общего объема потребляемой мощности расходуется памятью метрик состояний, 20% - памятью априорной информации, а остальное (около 10%) - блоками расчета метрик. Суммарная площадь блоков памяти, согласно тем же исследованиям, составляет в SISO-декодере около 80%. Это подтверждает утверждение, что при разработке малопотребляющих архитектурах декодоров в первую очередь целесообразно сокращать объемы блоков памяти и количество обращений к ним.
Уровень энергозатрат блоков декодера может быть оценен на основе оценки их внутренней сложности и профилирования активности. Результаты профилирования отображены в табл. 5.
Задержка декодирования пакета для предложенной архитектуры оценивается выражением: D = 2 N (2 I+l) tp, где tp - средняя задержка в критическом пути.
Если сравнить D с задержкой декодирования уже упомянутой архитектуры из [142], то она будет примерно в 3 больше.
Получена модель энергопотребления блоками памяти, которая была подстроена на основе результатов SPICE моделирования, полученных на схемах, экстрагированных из топологии ОЗУ: Е = 3.8e-4 w + 1.95е-5 а + 2.5e-6 w a + 4.4e-4 log2 а + 5.1е-3, где аргументами модели являются: ширина слов w и их количество а. Данная модель показывает хорошую корреляцию с аналогичной моделью из работы [142], которая также была получена для технологии 0,18 мкм.
Разработка и исследование конструкций элементов асинхронной логики на основе квантовых клеточных Abtoma то В
В связи с прогрессом технологий в ближайшее время проектировщики СБИС будут иметь возможность объединять на одном кристалле до пятидесяти больших СФ-блоков (Intellectual Property — IP-ядер) различного назначения, в том числе и микропроцессорные ядра [146]. Поэтому разработчикам САПР СБИС необходимо применять новые методологии и алгоритмы для оперирования столь высокими уровнями интеграции. Ключевыми направлениями развития будущих систем-на-кристалле станут разработки по созданию структурированных систем коммуникации и повторного использования ІР-ядер.
Первыми шагами на пути развития систем коммуникации явились разработки сетей-на-кристалле (Network on a Chip — NoC), которые станут одной из структур будущих систем-на-кристалле [147]. Сеть-на-кристалле является коммуникационной системой ІР-ядер на основе пакетной передачи данных и административного управления. NoC подобна компьютерным сетям, например, таким, как локальные компьютерные сети Ethernet.
За счет масштабируемости коммуникации NoC обеспечивают гибкое повторное использование разнородных ІР-ядер.
Для применения NoC в конкретном приложении необходимо [147]: - определить основную архитектуру сети и выбрать протокол обмена данными в ней; - разработать набор базовых средств управления компонентными ресурсами (IP-ядрами) для их взаимодействия друг с другом; - задать основные характеристики архитектуры сети — ее размер и типы компонентных ресурсов. Определить связь каждого IP-ядра с сетью. - определить связь каждой вершины графа задач (ГЗ) со своим компонентным ресурсом в архитектуре; - запрограммировать или сконфигурировать каждое IP-ядро под заданный набор задач, используя базовые средства управления компонентными ресурсами.
Для определения связи каждой вершины ГЗ со своим компонентным ресурсом в архитектуре необходимо решить задачу покрытия многозадачного графа сети.
Однозадачным графом является граф, в котором всегда существует путь между любыми двумя его вершинами. Этот путь может быть цепочкой из вершин и ребер без учета их направленности.
Многозадачным графом называется граф, который представляет собой набор однозадачных графов. Многозадачный граф позволяет описать параллельно выполняющиеся задачи, каждая из которых описывается своим однозадачным графом.
В рамках данной работы разработан алгоритм покрытия многозадачного графа сети и размещения разногабаритных СФ-блоков на поле кристалла. Целями алгоритма являются: - нахождение соответствия вершин многозадачного графа с узлами NoC при условии, что каждая из задач (однозадачный граф) должна выполняться не дольше заданного времени; - каждая из задач должна выполняться за минимально возможное время. Вторая цель включает в себя требование минимальности суммарной длины связей между СФ-блоками.
Исходная архитектура сети имеет матричный вид (рис. 57), т.е. это прямоугольная сеть, места пересечения в которой представляют собой узлы NoC. Каждый узел это IP-ядро из заданной библиотеки, состоящей из L ядер. На рис. 57 обозначение К соответствует средствам управления компонентными ресурсами.
Для алгоритма необходимы следующие данные: - размерности матричной архитектуры (X, Y) при условии 1 L XxY; - многозадачный граф, заданный как набор из S параллельных однозадачных графов, с общим количеством m вершин и п ребер. Каждая вершина Vj выполняет функцию f; из заданного набора функций F = { : 0 і m}. Каждое ребро Ei имеет разрядность данных wj (0 j n), т.е. размер слов при передаче между двумя вершинами, соединенных этим ребром; 131 — временные ограничения на S параллельных однозадачных графов: Do,...,D(S_i). В начале работы алгоритма времена выполнения функций F каждым типом IP-ядра из библиотеки устанавливаются в определенные значения. Если IP-ядро j не может выполнить функцию fj, то время выполнения для него устанавливается равным бесконечности.
Каждое IP-ядро к (0 к L) имеет заданную размерность входных данных равную 1к и выходных - Ок.
В связи со специфичностью решаемой задачи целевая функция для алгоритма имеет некоторые особенности, поскольку трудно определить единственную целевую функцию, учитывающую временные требования для каждого однозадачного графа.
Целевая функция должна включать в себя оценки всех однозадачных графов и, поэтому, может быть представлена следующим образом: TF = max {T0/D0, ..., Ts.,/Ds.,}5 (46) где ТІ - время критического пути однозадачного графа і. Время критического пути однозадачного графа определяется как сумма задержек на ребрах и вершинах, принадлежащих критическому пути. Задержки на вершинах равны времени выполнения функций F. Задержками на ребрах являются времена прохождения данных между вершинами.
При данном определении целевой функции TF она должна быть минимизирована и ее значение не должно превышать 1.
Поскольку передача данных в NoC пакетного типа, то задержки на ребрах являются не постоянной величиной, и зависят, кроме разрядности передаваемых данных, от сложившегося трафика на текущий момент времени. В связи этим следует использовать оценку времени прохождения данных для выбранного ребра по модели OSI (Open System Interface) [147]: Tj = WjX [k0/Oxl,yl + kex(xl-x2+yl-y2) + кДхг г], (47) где Tj - задержка на ребре j; Wj - разрядность слова j; k0, kg, ki - константы, зависящие от скоростей передачи и переключения каналов в сети. Из выражения (47) можно получить среднюю оценку задержки на ребрах графа: Tj = Wcpx [k0/Ocp + ke х Ej + кїЯср], (48) где wcp - средняя разрядность слов, Оср - средняя разрядность выходов вершин, 1ср - средняя разрядность входов вершин, Ej - длина между двумя вершинами ребра j.
Для мультимодальных и многомерных задач не существует ни одного универсального метода, который позволял бы достаточно быстро найти абсолютно точное решение. Однако одним из эффективных подходов к выполнению оптимизационного поиска являются генетические алгоритмы, которые являются стохастическими и эвристическими оптимизационными методами. Данные алгоритмы представляет собой комбинацию переборного и градиентного методов поисковой оптимизации. Механизмы генетических операторов, можно сказать, реализуют перебор вариантов, а отбор лучших решений - градиентный спуск.
Генетические алгоритмы фактически производят выборку значительного числа гиперплоскостей в областях поиска с высокой приспособленностью особей (с лучшими решениями).
Предлагаемый алгоритм поиска решений основан на моделировании генетической эволюции и, поэтому, необходимо определить для него способ кодирования хромосом и соответствующие генетические операторы [148, 149].
Кодирующая хромосома должна включать в себя информацию о точном соответствии вершин многозадачного графа и типов IP-ядер. Поскольку архитектура NoC матричного типа, то кодирующая хромосома Н может представлять из себя строку, в которой каждый ген g является типом ІР-ядра, а их порядковый номер - положением в матрице графа: Н = {gj : 0 g; L; і = l...XxY}.