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

кандидата технических наук
Путря, Федор Михайлович
город
Москва
год
2009
специальность ВАК РФ
05.27.01
цена
450 рублей
Диссертация по электронике на тему «Исследование и разработка методов увеличения производительности интегральных схем многоядерных микропроцессоров на основе повышения эффективности коммутационной логики»

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

На правах рукописи

Путря Фёдор Михайлович

ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ УВЕЛИЧЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ИНТЕГРАЛЬНЫХ СХЕМ МНОГОЯДЕРНЫХ МИКРОПРОЦЕССОРОВ НА ОСНОВЕ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ КОММУТАЦИОННОЙ ЛОГИКИ

Специальность 05.27.01 - Твердотельная электроника, радиоэлектронные компоненты, микро и наноэлектроника, приборы на квантовых эффектах.

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

0034646 Ю

Москва - 2009

003464610

Работа выполнена на кафедре «Интегральной электроники и микросистем» в Московском государственном институте электронной техники (техническом университете)

Научный руководитель

доктор технических наук, доцент Крупкина Татьяна Юрьевна

Официальные оппоненты: доктор технических наук, профессор

Беневоленский Сергей Борисович

кандидат технических наук Широ Евгений Георгиевич

Ведущая организация

ЗАО «МЦСТ»

Защита диссертации состоится "21" апреля 2009 г. в 16 часов на заседании диссертационного совета Д 212.134.01 при Московском государственном институте электронной техники (техническом университете), по адресу: 124498, Москва, Зеленоград, проезд 4806, д.5

С диссертацией можно ознакомиться в библиотеке МИЭТ Автореферат разослан "Д? " А 2009 г

Соискатель

Ф.М. Путря

Ученый секретарь диссертационного совета доктор технических наук

Т.Ю. Крупкина

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

Другой современной тенденцией развития электроники является создание систем на кристалле (СНК) - готовых устройств, реализованных на одной интегральной схеме, содержащих как вычислительные ядра общего назначения и специализированные вычислительные блоки, так и набор периферийных контроллеров, а также универсализация таких систем, позволяющая расширить спектр применения каждой отдельно взятой СНК. По ряду причин в последнее время увеличения производительности вычислительных систем добиваются наращиванием числа вычислительных ядер, размещаемых на одном кристалле. Однако на практике увеличение числа ядер не даёт желаемого прироста производительности, в результате чего эффективность многоядерных систем, которую можно определить как отношение производительности системы на реальных приложениях к её пиковой производительности, падает с ростом числа ядер. Это связано не только со сложностями, возникающими при оптимизации программного обеспечения под многоядерную архитектуру, выражающимися в неполной загрузке всех вычислительных ресурсов системы, но и с неэффективностью собственно аппаратной части системы, приводящей к частым простоям вычислительных ядер при обмене данными в системе. Для системы с большим числом вычислительных ядер (8 и более) оптимальной является архитектура с ассиметричным доступом к памяти, основным недостатком которой является большое время доступа ядер к удаленным участкам памяти. С увеличением числа ядер и сложности системы растет время, требуемое для обмена данными между ее элементами, обусловленное как увеличением времени доступа ядер к общей накристальной памяти, так и увеличением числа конфликтов между вычислительными ядрами при обращении к разделяемым ресурсам системы.

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

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

Одной из задач, возникающих в процессе разработки коммутационной логики для новой многоядерной системы, является оценка производительности системы и влияния способа соединения элементов системы на ее производительность. Обычно для вновь создаваемой системы, не имеющей близких аналогов, точно оценить ее производительность на реальных приложениях удается только после изготовления кристалла. Это обусловлено тем, что высокоуровневая модель многоядерной системы, как правило, дает описание только её функциональных возможностей, не учитывая при этом ряда особенностей аппаратной реализации системы, существенно влияющих на её производительность, таких, например как топологические расстояния между элементами. Моделирование ЛТЬ-описания многоядерной системы позволяет установить точную производительность разрабатываемой системы, однако является очень медленным процессом, что исключает возможность определения производительности системы на реальных приложениях до физического изготовления кристалла. Кроме того для такого моделирования требуется разработка полного ЮЬ-описания системы, что является трудоёмким процессом. Таким образом, у разработчика системы на этапе выбора её архитектуры нет возможности произвести полноценное сравнение нескольких вариантов систем с различной архитектурой с учётом реальных расстояний между элементами системы. Также затруднена оценка влияния на производительность системы изменения расстояний между элементами, которое может иметь место на стадии разработки топологии. Поэтому актуальным является создание средства, позволяющего производить оценку производительности широкого спектра многоядерных архитектур с учетом ряда топологических и функциональных параметров системы, таких как расстояния между элементами и длина вычислительного конвейера используемых в системе ядер.

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

соответственно тестирование нового варианта коммутационной логики. Это является серьезной проблемой в силу большой трудоемкости данных процедур, что помимо прочего может повлечь возникновение ошибок при проектировании коммутационной логики. Таким образом, актуальной и решаемой в данной работе является задача автоматизации процесса создания ЯТЬ-описания многоядерной системы.

Еще одной проблемой современных вычислительных систем является задача обмена данными системы с периферийными устройствами. Большая вычислительная мощность современных СНК не приносит пользователю существенной пользы, если скорости обмена системы с внешней средой не хватает для того, чтобы полностью обеспечить все вычислительные ресурсы системы потоком входных данных, либо вовремя выгрузить из системы обработанные данные. В этом случае производительность всей системы в целом будет ограничиваться скоростью обмена данными системы с внешними устройствами. Поэтому при проектировании СНК важной задачей становится обеспечение высокопроизводительного обмена данными проектируемой системы с внешними устройствами. При этом участие собственно вычислительных ядер в процессе передачи таких объёмов данных должно быть минимизировано с целью сохранения вычислительных ресурсов системы, используемых для выполнения основной задачи. Тенденция к универсализации СНК приводит к тому, что проектируемая система должна поддерживать возможность обмена данными по множеству внешних интерфейсов. Использование отдельных (реализованных на отдельной аппаратуре) контроллеров для каждого из этих интерфейсов ведет к перерасходу площади, и что более критично - нехватке выводов кристалла. Соответственно, актуальной, с точки зрения достижения главной цели -повышения вычислительной мощности системы является задача организации высокоскоростного обмена данными системы с широким спектром внешних устройств без отвлечения на это ее вычислительной мощности и с минимальным расходом на эти цели внешних выводов кристалла.

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

Целью работы является исследование и разработка методов повышения производительности многоядерных систем путем оптимизации процессов обмена данными как между внутренними элементами системы, так и между системой и периферийными устройствами, а также автоматизация процесса создания ЯТЬ-описания разрабатываемой системы.

Для достижения поставленной цели необходимо было решить следующие задачи:

1. Провести анализ основных причин снижения эффективности многоядерных систем при увеличении числа вычислительных ядер, среди которых: простой вычислительных ядер при обращении к памяти с большим временем доступа; неэффективность стандартных алгоритмов арбитража в случае одновременных пакетных и одиночных обращений к памяти от различных ядер; отвлечение вычислительной мощности системы на процесс обмена данными с внешними устройствами

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

3. Исследовать зависимость эффективности коммутационной логики от используемого в ней алгоритма арбитража и от характеристик потоков обращений

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

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

6. Автоматизировать процесс проектирования ЛТЬ-описания многоядерной системы.

7. Разработать универсальный контроллер последовательных интерфейсов, способный осуществлять обмен данными с периферийными устройствами с минимальным отвлечением вычислительной мощности системы.

Научная новизна работы заключается в следующих результатах:

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

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

3. Установлена зависимость пропускной способности коммутационной логики от используемого в ней алгоритма арбитража и характеристик потоков обращений.

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

5. Создана принципиально новая структурная схема контроллера последовательной шины, обеспечивающая функциональное совмещение множества последовательных интерфейсов. Практическая ценность.

1. Разработан комплекс схемотехнических решений, позволяющих увеличить пропускную способность коммутации, и скорость обмена данными между отдельными элементами системы, который применен в системах на кристалле «1892ВМ7Я» и «NVComOl», разработанных в ГУП НПЦ «ЭЛВИС», что обеспечило 25% увеличение производительности данных систем для приложений ЦОС (в системах применен предложенный в работе комплекс схемотехнических решений, за исключением механизма буферизации чтения).

2. Разработанный универсальный контроллер последовательных шин применен в разработанной в ГУП НПЦ «ЭЛВИС» микросхеме «NVComOl», что значительно расширило спектр применения данной системы за счет увеличения числа поддерживаемых ей периферийных интерфейсов без увеличения числа внешних выводов кристалла и существенных аппаратных затрат.

3. Разработанное программное обеспечение для оценки производительности многоядерных систем и параметризированное описание многоядерной системы позволили автоматизировать процесс разработки RTL-описания многоядерных систем на кристалле

Положения, выносимые на защиту.

1. Принцип размещения элементов очереди обращений (представляющей собой буферную память типа FIFO), позволяющий более рационально использовать площадь кристалла

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

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

3. Программное средство для оценки производительности многоядерных систем.

4. Метод автоматизации процесса проектирования ЯТЬ-описания многоядерной системы и созданный на его основе программный пакет, использующий для создания ЯТЬ-описания системы параметризированное исходное описание системы, предназначенное для обработки препроцессорами, и специально разработанное средство для оценки производительности проектируемой многоядерной системы.

5. Структура универсального контроллера последовательных интерфейсов, обеспечивающая за счет введения в него блока логики обмена и блока управления выводами возможность совмещения в одном устройстве функций нескольких контроллеров последовательных шин, что существенно экономит аппаратные ресурсы и число используемых выводов кристалла. Одновременно за счет введения блоков генерации управляющих сигналов и буферизации как записи, так и чтения минимизируется отвлечение вычислительных ресурсов системы на передачу данных. Личный вклад. Все результаты, изложенные в диссертации и

сформулированные в положениях, выносимых на защиту, получены автором лично.

Апробация работы. Основные результаты работы докладывались и представлялись на следующих научно-технических конференциях: Международная научно-техническая конференция "Электроника и информатика", МГИЭТ(ТУ), 2005 г; Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2005г; Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2006г; Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика", МГИЭТ(ТУ), 2007 г.; Всероссийская молодёжная конференция "Электроника", МГИЭТ(ТУ), 2007г. (диплом победителя); научная конференция "Современные проблемы

фундаментальных и прикладных наук", МФТИ, 2007г. (диплом победителя); Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика", МГИЭТ(ТУ), 2008 (диплом победителя); Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2008г; Форум диссертационных работ при Всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем", Москва, 2008г;

Результаты данной работы были внедрены и использованы в системах на кристалле «1892ВМ7Я» и «ЫУСош01», разработанных в ГУП НПЦ «ЭЛВИС», предназначенных для цифровой обработки сигналов, решения задач обработки аудио и видео, а так же навигации и связи.

Публикации. По теме диссертационной работы опубликовано 15 научных работ, в том числе 7 статей в периодических печатных изданиях, 3 из которых опубликованы в журналах, входящих в перечень ВАК, 5 тезисов доклада (3 доклада отмечены дипломом победителя), 1 патент на изобретение, 1 научно-технический отчет по НИР (исполнитель), 1 научно-технический отчет по НИОКР (руководитель).

Структура и объём работы. Диссертационная работа состоит из введения, 4 глав, заключения и списка литературы из 102 наименований. Общий объём диссертации составляет 159 страниц, в том числе 4 таблицы и 59 рисунков.

СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе проведён анализ существующих многоядерных процессоров и систем, а также ряда исследовательских проектов. Обосновано влияние эффективности коммутационной логики, связывающей вычислительные ядра с памятью, между собой и с внешними устройствами, на производительность всей системы. Проведено сравнение подходов к организации коммутационной логики в многоядерных системах, показано, что для систем с большим числом ядер (8 и более) оптимальной является архитектура с ассиметричным доступом к памяти. В таких системах каждое вычислительное ядро обладает участком локальной памяти, обращения к которому производятся максимально быстро (рис. 1). Использование малого времени доступа к локальной памяти позволяет добиться высокой производительности системы для оптимизированных под такую архитектуру приложений. С ростом числа ядер увеличивается сложность коммутационной логики и задержки на ней. Однако время доступа к локальной памяти в ассиметричной системе не зависит от этих задержек и от числа ядер, в результате чего, в отличие от симметричных систем, такая

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

Рисунок 1 Система с ассиметричным доступом к памяти

Основным недостатком таких систем является вынужденный простой вычислительных ядер при обращениях к локальной памяти других вычислительных ядер (дальней памяти), причем с ростом числа ядер увеличивается сложность коммутационной логики и, соответственно растет время, требуемое для обращений к дальней памяти. Подобный простой вычислительных ядер негативно сказывается на производительности многоядерной системы. Усугубляется это тем, что в большинстве случаев программными методами не удаётся полностью избежать обращений к дальней памяти. Так, анализ эффективности разрабатываемого на фирме «ЭЛВИС» многоядерного процессора «1892ВМ7Я» показал, что для ряда алгоритмов ЦОС, в частности быстрого преобразования Фурье и дискретного косинусного преобразования, доля блокировок, обусловленных обращениями к дальней памяти может достигать 50%. В связи с этим важной задачей становится аппаратное решение проблемы простоя ядер при обращениях к дальней памяти.

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

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

- большой объем пересылаемых между элементами системы

данных;

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

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

Во второй главе представлена модель многоядерной системы, включающая в себя вычислительные ядра, модули арбитража, и ведомые устройства. Данная модель позволяет анализировать конфликтные ситуации, возникающие в многоядерной системе при обращении вычислительных ядер к разделяемым ресурсам. Число ведущих и ведомых устройств, а так же способ соединения элементов и алгоритм арбитража определяются как входные параметры данной модели. При этом алгоритм арбитража состоит из двух стадий: на первой стадии определяется момент запуска процедуры смены приоритета, на второй производится собственно смена приоритета (рис. 2). Данное свойство модели позволяет независимо оценивать влияние каждой из стадий на эффективность арбитража. Модель ведущего устройства представляет собой очередь, в которой, исходя из заданных параметров, характеризующих плотность обращений и среднюю длину пакета, распределены обращения к ведомым устройствам. Описанная выше модель была реализована в виде программы, написанной на языке С++. Входными данными для программы являются структура моделируемой системы, тип арбитража и характеристики потоков обращений. Выходными данными является информация о числе тактов, потребовавшихся каждому из ядер для отработки всех обращений к памяти. По окончании моделирования рассчитывается пропускная способность коммутационной логики В\У, определяемая как отношение числа элементов в очереди обращений N<3 к числу тактов, затраченных на передачу всех обращений от всех ведущих

В'М = N(3 / 1Мчг * 100% (1)

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

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

С использованием предложенной методики и разработанного ПО было произведено сравнение стандартных алгоритмов арбитража. Результаты моделирования показали, что на эффективность арбитража больше всего влияет выбор алгоритма первой стадии. Так, алгоритм арбитража при котором смена приоритета происходит редко (крайний случай - статический арбитраж), эффективен для случая, когда характеристики потоков обращений от всех ядер одинаковы, либо различаются незначительно (рис. За, сплошная линия). Однако если с разделяемым ресурсом ведется интенсивный обмен данными, например с использованием ПДП, то применение подобного арбитража приводит к

значительному простою вычислительного ядра, выполняющего одиночные обращения к этому же ресурсу (рис. 36, сплошная линия). Для арбитража, при котором смена приоритетов происходит часто, ситуация прямо противоположная (рис.3 пунктирная линия).

») ¡13

X £ 1»

§ X 1}

ч

я

6 К 63

§ »

1 4Э

с ¿г

25

\ -. \

"-К..

—статическим

- смена приоритета каждый такт

-статическим смена приоритета каждый такт

Рисунок 3 Зависимость усредненной пропускной способности от плотности потоков обращений для двух стандартных алгоритмов арбитража, а) - анализ для случая пакетного обмена данными, б) -анализ устойчивости к эффекту оттеснения потоков малой плотности

Для устранения данных недостатков стандартных алгоритмов был разработан новый алгоритм арбитража, в реальном времени определяющий характеристики потоков обращений и автоматически переключающийся к алгоритму арбитража наиболее эффективному в конкретной ситуации. С точки зрения аппаратной реализации критической частью данного алгоритма является определение плотности потоков, поскольку для этого требуется аппаратная реализация операции деления, которая является затратной как с точки зрения площади кристалла, занимаемой делителем, так и с точки зрения быстродействия. Для решения данной проблемы в предлагаемом алгоритме используется не определение точной плотности потоков, а индикация превышения плотностью потока некоторого порогового значения. Для этих целей в логике арбитража используются счетчик тактов, разрядность которого определяет размер окна истории обращений (НБГСШМах) и счетчик холостых тактов (тактов, в течении которых обращений от конкретного ведомого не поступало). Если к моменту переполнения счетчика тактов счетчик холостых тактов не превысил определенного порогового значения (2егМт), значит плотность потока обращений превысила пороговое значение Веп1лт, определяемое как

Беп1лт = (1 - 2егМт/Н01СШМах) * 100% (2)

Более подробно алгоритм индикации высокой плотности представлен на рис. 4. Информация о превышении каждым из потоков обращений порогового значения плотности используется для переключения к алгоритму с такой частотой смены приоритетов, которая позволяет

максимально эффективно разрешить конфликты в системе в текущей ситуации. Разработанное ЯТЬ-описание модуля арбитража, использующего приведенный алгоритм было синтезировано, проведена оптимизация, в результате которой было проанализировано влияние ряда особенностей аппаратной реализации алгоритма на его эффективность, а также установлено, что для эффективной работы алгоритма достаточно разрядности счетчиков, обеспечивающей хранение истории обращений, лишь в два раза превышающей максимальную длину передаваемого пакета. Кроме того установлено оптимальное значение пороговой плотности, равное 75%.

Рисунок 4 Алгоритм индикации высокой плотности потоков.

С использованием разработанной методики произведено сравнение предложенного алгоритма арбитража с рядом стандартных алгоритмов. Результаты сравнительного моделирования приведены на рис. 5 (1-статический, 2-со сменой приоритетов в каждом такте, 3-циклический с ограничителем, 4-циклический без ограничителя, 5-разработанный алгоритм на основе определения плотностей потоков обращений в реальном времени). Из результатов моделирования видно, что предложенный алгоритм арбитража позволил устранить обнаруженные недостатки стандартных алгоритмов.

Рисунок 5 Сравнение эффективности алгоритма арбитража с динамическим определением характеристик потоков (кривая 5) со стандартными алгоритмами, а) - анализ для случая пакетного обмена данными, б) - анализ устойчивости к эффекту оттеснения потоков

малой плотности

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

Предложенный метод размещения на кристалле элементов виртуальной очереди обращений, использующий ее элементы как часть топологического пути от вычислительного ядра к памяти даёт следующие эффекты:

• Более рациональное использование площади кристалла, поскольку такая очередь совмещает функции буферной памяти и межсоединения.

• Возможность буферизации обращений к памяти позволяет существенно сократить время простоя ядер при обращении к дальней памяти.

• За счет амортизирующего эффекта FIFO очереди достигается дополнительное снижение времени простоя ядер, обусловленное конфликтами при обращении к разделяемым ресурсам.

• Обеспечивается исключение эффекта блокировки всего потока одним впереди идущим обращением.

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

Число тактов, требуемых для прохождения обращения от ведущего устройства до локального арбитра целевого ведомого устройства (К), может быть рассчитано по формуле К = f * td (3)

где td - время прохождения сигнала по связи от ведущего устройства до локального арбитра, a f - рабочая тактовая частота схемы. В данной работе предлагается разбить каждую очередь, задействованную в реализации механизма виртуальных очередей, на К буферных элементов. В каждом таком буферном элементе содержится L = Q / К (4)

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

Фактически время доступа единичного обращения при этом остается неизменным, обращение за каждый такт проходит лишь через один буферный элемент, являющийся частью виртуальной очереди. Однако такая очередь обладает амортизирующим эффектом: блокировка ведущего устройства, обладающего низшим приоритетом, происходит только при полном заполнении какой-либо из таких очередей обращений, а не при каждой блокировке обращения. Таким образом, при активном обмене данными между устройствами за счет буферизации обращений большое время доступа к ведомому устройству не приводит к простою вычислительного ядра в случае, если инструкция чтения данных из дальней памяти и последующая инструкция, использующая читаемые данные,

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

0)

Рисунок 6 Распределение очередей обращений по всему расстоянию от ведущего устройства до ведомого устройства.

Глубина таких очередей и число буферных элементов в них непосредственно сказываются на производительности системы с ассиметричным доступом к памяти. Для оценки производительности системы с учетом расстояний между её элементами • и оценки влияния предлагаемых в работе распределенных очередей обращений было разработано средство, представляющее собой отдельное программное обеспечение, написанное на языке С++. Данное средство оценки производительности многоядерной системы позволяет производить гибкую настройку архитектуры моделируемой системы, учитывать такие особенности аппаратной реализации системы, как длина конвейера вычислительного ядра, длина межсоединений между элементами системы, а также способ передачи данных по этим межсоединениям. С его помощью было произведено сравнение производительности идеальной симметричной системы, в которой блокировки ядер при обращении к памяти возникают только в случае конфликтов между ядрами, и производительности ассиметричных систем, отличающихся числом тактов, требующихся для доступа к различным участкам памяти (число тактов определялось для различных технологических процессов по формуле (3), исходя из оценок задержек на линиях связи).

перемножение матриц

в идеальная SMP в NUMA без буферизации m NUMA с буферизацией записи

ш NUMA с буферизацией записи и чтения, с FIFO амортизацией, с учетом зависимостей по данным в NUMA с буферизацией записи и чтения, с FIFO амортизайией, без учета зависимостей по данным

БПФ

Рисунок 7 Сравнительные результаты производительности симметричной системы, ассиметричных систем без использования буферизации и ассиметричных систем построенных с использованием предложенных в работе распределенных очередей.

На рис. 7 представлены результаты моделирования - число тактов, потребовавшихся для исполнения тестов на всех исследуемых архитектурах для различных механизмов передачи данных по связям. Число тактов на рисунке нормировано по числу тактов, затраченному на исполнение тестов на идеальной симметричной системе (стоит отметить, что при использовании современных технологических процессов эффективность такой системы будет крайне низкой из-за большого времени вычитки данных из общей памяти). Из приведенных на рисунке данных видно, что число тактов требуемых для исполнения тестовых программ на ассиметричной архитектуре без буферизации ощутимо больше, чем для идеальной симметричной системы. При этом с переходом на более современный технологический процесс изготовления схемы с меньшими топологическими нормами всё большее влияние на производительность начинают оказывать задержки на линиях связи, кроме того увеличивается рабочая частота схемы. Всё это приводит к увеличению числа тактов, требуемых для доступа к памяти, т.е. увеличивается длина очереди обращений от ядра к памяти, а пропорционально ей и число тактов, требуемых для выполнения программ. Предлагаемый в работе метод распределения очередей обращений, обладающих эффектом FIFO амортизации, по всему расстоянию от ядра до памяти приводит к явному выигрышу в производительности по сравнению с ассиметричной системой

без буферизации. В случае моделей, построенных на основе оценок задержек на линиях связи для технологических процессов 0.13 и 0.09 мкм число тактов, требуемых для выполнения тестов сокращается почти в два раза, а для 0.18 мкм производительность системы даже приближается к идеальной симметричной системе. В выпущенном в ГУП НПЦ «ЭЛВИС» процессоре NVComOl, выполненном по 0.13 мкм технологии внедрены предложенные в данной работе методы повышения эффективности коммутационной логики, однако по ряду причин реализована только буферизация записи, но даже буферизация только записи позволила для задач ЦОС добиться 25% прироста производительности (рис. 7). Дополнительно эффект FIFO амортизации позволяет сократить время простоя ядер при конфликтах, связанных с одновременными обращениями к памяти, что дает возможность получить производительность даже большую, чем на идеальной симметричной системе, однако, для этого может потребоваться некоторая оптимизация кода исполняемой программы. Данная оптимизация заключается в разнесении зависимых инструкций в теле программы таким образом, чтобы между инструкцией, содержащей операцию чтения из памяти, и инструкцией, использующей читаемые из памяти данные, было 2*К инструкций.

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

Для снижения трудозатрат на разработку коммутационной логики для многоядерных процессоров процесс создания RTL-описания многоядерной системы был автоматизирован. Для автоматизации процесса проектирования было создано параметризированное исходное RTL описание, предназначенное для обработки препроцессором VPP и разработанным автором препроцессором Generate. В результате для создания RTL-описания системы разработчику необходимо определить её основные параметры - задать топологию сети, связывающую на верхнем уровне между собой кластеры (определяется, есть связи только с ближайшими соседями или есть дополнительные соединения), определить число кластеров в сети, тип и число вычислительных ядер в кластере, объем, тип и способ организации памяти внутри кластера, а также задать длины распределенных очередей и число буферных элементов, составляющих эти очереди.

Входные параметры для генерации системы

Топология сети, число модулей, число ядер в модуле, тип вычислительного ядра, длины очередей, тип и характеристики памяти...

Стадии препроцессора

Базы данных исходных кодов для генерации блоков с помощью препроцессоров VPP, Generate

Буферные элементы входная, выходная лотка, модули арбитража и коммутаторы

Заготовки для кластеров и вычислительных модулей

Заготовки для верхнего уровня сети

Рисунок 8 Процесс генерации многоядерной системы

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

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

Множеством фирм разработан ряд собственных последовательных интерфейсов: SPI, Microwire, I2S, C-BUS, FSB, SPORT. Большинство из таких интерфейсов, несмотря на функциональную схожесть, несовместимы друг с другом. Таким образом, с одной стороны требование универсализации СНК приводит к необходимости реализации на кристалле всех вариантов последовательных интерфейсов для обеспечения обмена данными системы с широким спектром устройств от различных производителей. А с другой стороны это приводит к серьезным аппаратным затратам и расходу существенной части выводов кристалла, требуемых на реализацию всех вариантов внешних интерфейсов.

В данной главе сформулированы функциональные требования к структуре универсального контроллера последовательных шин, позволяющего совместить в себе возможности целого ряда контроллеров последовательных интерфейсов. Представлена структурная схема, разработанная с учетом всех сформулированных требований (рис. 9). Часть функциональных блоков приведенной схемы (регистры управления и состояния, логика, обеспечивающая обмен данными с системной шиной) тактируется внутренним тактовым сигналом системы, передатчик и приёмник соответственно тактируются тактовыми сигналами передатчика и приёмника, которые в общем случае асинхронны друг другу и внутреннему тактовому сигналу системы. Переход между асинхронными доменами осуществляется через буферы чтения и записи. Блок управления выводами представляет собой чисто комбинационную логику, позволяющую независимо управлять направлением каждого из внешних выводов контроллера, в том числе выводов тактового и управляющего сигналов. Буферизация как в направлении приёма, так и в направлении передачи, а так же введение блоков автоматической генерации управляющих сигналов, позволяют минимизировать число необходимых обращений к порту со стороны вычислительного ядра в процессе обмена данными.

Блоки приема и передачи были модифицированы в целях обеспечения возможности передачи данных по большинству из существующих последовательных интерфейсов. Блоки приёма и передачи управляются набором стандартных сигналов, формируемых блоками генерации управляющих сигналов приёмника и передатчика, а блоки генерации тактовых сигналов, буферы чтения и записи, а также блок логики управления выводами являются блоками, не зависящими от реализуемого интерфейса. Это позволяет использовать один и тот же набор логики для обмена последовательными данными по целому ряду последовательных интерфейсов. При этом, чтобы добавить в набор функций контроллера возможность передачи данных по какому либо последовательному интерфейсу необходимо скорректировать только блок генерации управляющих сигналов. Разработанная структурная схема позволяет реализовать универсальный контроллер последовательных шин, обеспечивающий обмен данными с широким спектром устройств, легко добавлять поддержку новых последовательных интерфейсов (необходима коррекция только блоков генерации управляющих сигналов), при этом аппаратная сложность контроллера, реализованного по приведенной структурной схеме сопоставима по аппаратной сложности с обычным контроллером I2S (аппаратная сложность блоков приема и передачи лишь на 10-15% больше, чем у блоков приёма и передачи контроллера I2S).

Таким образом, если на кристалле реализовано несколько разных контроллеров последовательных интерфейсов (SPI, I2S, SPORT), то замена

этих контроллеров на предложенный универсальный контроллер позволит при таком же количестве используемых выводов, лишь с незначительным увеличением площади кристалла многократно повысить гибкость всей системы. Так в зависимости от конкретной ситуации все порты могут быть в одном случае настроены как порты SPI, в другом как порты I2S, в третьем это может быть набор из нескольких различных последовательных портов, наличие которых необходимо для конкретного применения системы. При этом даже приемник и передатчик одного порта могут быть настроены для приёма и передачи по различным последовательным интерфейсам.

Разработанная структурная схема программируемого контроллера последовательных шин защищена патентом РФ, а разработанный на её основе многофункциональный последовательный порт внедрен в микросхеме «NVComOl», выпущенной в ГУП НПЦ «ЭЛВИС».

TCLK

RCLK

▼ ТСБ * Г^СБ БЭР] Э5[1]

Рисунок 9 Структурная схема программируемого контроллера последовательных интерфейсов (пунктиром выделены: справа -приемник, слева - передатчик)

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

ЗАКЛЮЧЕНИЕ

1 Проведенный в работе анализ позволил выявить основные причины насыщения производительности многоядерных систем с ростом числа вычислительных ядер, среди которых главными являются

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

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

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

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

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

7 Автоматизирован процесс проектирования RTL-описания многоядерной системы, за счет создания параметризированного исходного описания системы, предназначенного для обработки препроцессорами и использования специально разработанного средства для оценки производительности проектируемой многоядерной системы.

8 Разработана структурная схема универсального контроллера последовательных интерфейсов, которая за счет введения блока логики обмена и блока управления выводами обеспечивает возможность

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

9 Предложенные в работе методы и схемотехнические решения (без использования буферизации чтения) были использованы при создании микросхем «1892ВМ7Я» и «NVComOl», выпускаемых ГУП НПЦ «ЭЛВИС», что позволило для задач ЦОС добиться 25% увеличения производительности данных микросхем.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ ОПУБЛИКОВАНЫ В СЛЕДУЮЩИХ РАБОТАХ:

1. Беляев A.A., Путря Ф.М. / Выбор оптимальной структуры функционально полного контроллера шины SPI с 32-зазрядным интерфейсом // Известия вузов. Электроника-№ 4 - 2006.- с 71-75

2. Путря Ф.М., Беляев A.A. / Глобальный коммутатор для многоядерного процессора с несимметричным доступом к памяти // Вопросы радиоэлектроники, серия ЭВТ. - выпуск 3. - 2008. - С. 28 - 39.

3. Кучинский A.C., Путря Ф.М. / Симулятор многоядерной вычислительной системы и примеры его применения // Известия вузов. ЭЛЕКТРОНИКА № 2 - 2008 г. с 72-77.

4. Беляев A.A., Путря Ф.М. / Проектирование СФ-блока контроллера шины SPI с интерфейсом АМВА // Международная научно-техническую конференция "Электроника и информатика" - 2005. - Часть 1, с 180.

5. Глушков A.B., Беляев A.A., Путря Ф.М., Алексеев И.Н., Миронова Ю.В. / Библиотека периферийных IP - ядер платформы МУЛЬТИКОР // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем" -2005.-с 530-535.

6. Путря Ф.М. / Оптимизация структуры контроллеров последовательных шин. Решение проблем нехватки выводов микросхемы и загрузки процессора при передаче данных // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем" - 2006. - с 274 -275.

7. Путря Ф.М., Меньшенин JI.B. / Многоядерный процессор на основе архитектуры с общим адресным пространством, разделенным на ближнюю и дальнюю память // Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика" - 2007. с 267.

8. Путря Ф.М. / Новые алгоритмы снижения простоя в многоядерных процессорах // Всероссийская молодёжная конференция "Электроника" -2007. с 26.

9. Путря Ф.М., Крупкина Т.Ю. / Повышение производительности многоядерных архитектур с несимметричным доступом к памяти за счет буферизации и FIFO амортизации обращений к памяти // Сборник трудов 50-й научной конференции МФТИ "Современные проблемы фундаментальных и прикладных наук", часть 1 - Радиотехника и кибернетика -2007. - С. 60 - 63.

Ю.Путря Ф.М., Кучинский A.C. / Программная модель для многокритериальной оценки производительности многоядерных вычислительных систем // Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика - 2008" - 2008 г. - с 207.

11. Путря Ф.М. / Исследование, разработка и оптимизация аппаратных средств обмена данными в многоядерных вычислительных системах // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем. Форум диссертационных работ." - 2008. - с 509 -515.

12. Путря Ф.М. / Метод автоматизации процесса разработки коммутационной среды для многоядерной системы с ассиметричным доступом к памяти // Сборник трудов "Проблемы разработки перспективных микроэлекгронных систем" - 2008. - с 201 -204.

13. Путря Ф.М. / программируемый контроллер последовательных шин // Решение о выдаче патента на изобретение от 24.12.2008 по заявке номер 2007132778 от 31.08.2007

14. Путря Ф.М. / НИР «Исследование методов построения, выбор оптимальной структуры и разработка интерфейсных СФ-блоков с повышенной пропускной способностью для процессоров и систем-на-кристалле» по проекту: ИТ-КП. 6/001 «Информационно-защищенная система создания отечественной электронной компонентной базы мирового уровня»

15. Путря Ф.М. / НИОКР по теме: «Разработка аппаратно-программных методов минимизации времени простоев в многоядерной системе при разработке ядер с общей памятью» по государственному контракту №5441р/7991 от 14 декабря 2007 года

Автореферат

Путря Фёдор Михайлович

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

Подписано в печать:

Формат 60x84 1/16. Уч.-изд.л/^Гираж/^'кз. Заказ3*3. Отпечатано в типографии ИПКМИЭТ.

124498, Москва, г. Москва, Зеленоград, проезд 4806, д.5, стр.1, МИЭТ.

Оглавление автор диссертации — кандидата технических наук Путря, Федор Михайлович

СОДЕРЖАНИЕ.

ВВЕДЕНИЕ.

ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ.

1 Анализ принципов построения многоядерных систем и выявление основных причин снижения их производительности.

1.1 Тенденции в производстве современных вычислительных систем, многоядерные процессоры.

1.2 Обзор существующих многоядерных решений.

1.3 Анализ и сравнение существующих методов коммутации для многоядерных систем.

1.4 Методы борьбы с эффектом дальней памяти: мультитредовость и увеличение регистрового файла.

1.5 Характерные черты перспективных многоядерных систем.

1.6 Проблема арбитража обращений к памяти в многоядерной системе

1.7 Организация обмена с внешними устройствами.

1.8 Выводы.

2 Алгоритм арбитража на основе динамического определения характеристик потоков обращений.

2.1 Структура модели многоядерной системы.

2.2 Методика комплексного сравнения алгоритмов арбитража.

2.2.1 Сравнение алгоритмов арбитража при обращении к одному разделяемому ресурсу.

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

2.3 Разработка программного обеспечения для комплексного сравнения алгоритмов арбитража на различных конфигурациях многоядерных систем.

2.4 Вариант аппаратной реализации алгоритма арбитража на основе динамического определения характеристик потоков обращений.

2.4.1 Индикация высокой плотности потоков.

2.4.2 Выбор условия переключения между механизмами запуска смены приоритета для арбитража с индикацией высокой плотности потоков

2.5 Комплексное сравнение разработанного алгоритма арбитража со стандартными алгоритмами.

2.5.1 Сравнение арбитража с индикацией высокой плотности потоков со стандартными алгоритмами в случае напряженного трафика.

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

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

2.6 Оценка влияния особенностей схемотехнической реализации арбитража на его эффективность.

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

2.8 Выводы.

3 Решение проблемы доступа к дальней памяти. Применение распределенных очередей.

3.1 Новый принцип размещения элементов очередей обращений на кристалле. Распределенные виртуальные очереди.

3.2 Разработка симулятора многоядерной системы.

3.2.1 Обоснование необходимости разработки симулятора многоядерной системы.

3.2.2 Возможности разработанного симулятора.

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

3.3 Автоматизация процесса проектирования миогоядерной системы

3.3.1 Использование препроцессоров для автоматизации процесса проектирования, разработка препроцессора Generate.

3.3.2 Структура параметризированного описания многоядерной системы.

3.3.3 Процесс генерации RTL-описания многоядерной системы.

3.4 Выводы.

4 Решение проблем увеличения скорости обмена данными с внешними устройствами и нехватки выводов кристалла, программируемый последовательный порт.

4.1.1 Выявленные функциональные требования к универсальному контроллеру последовательных шин.

4.2 Разработка структурной схемы совмещенного контроллера последовательной шины.

4.2.1 Блоки генерации тактовых и управляющих сигналов.

4.2.2 Использование блока логики обмена для аппаратной обработки данных и организации ускоренной записи в буфер чтения.

4.2.3 Выбор структуры блока приёма-передачи.

4.2.4 Блок управления выводами.

4.2.5 Структурная схема программируемого контроллера последовательных интерфейсов.

4.3 Выводы.

Введение 2009 год, диссертация по электронике, Путря, Федор Михайлович

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

Другой современной тенденцией развития электроники является создание систем на кристалле (СНК) - готовых устройств, реализованных на одной интегральной схеме, содержащих как вычислительные ядра общего назначения и специализированные вычислительные блоки, так и набор периферийных контроллеров, а также универсализация таких систем, позволяющая расширить спектр применения каждой отдельно взятой СНК. По ряду причин в последнее время увеличения производительности вычислительных систем добиваются наращиванием числа вычислительных ядер, размещаемых на одном кристалле. Однако на практике увеличение числа ядер не даёт желаемого прироста производительности, в результате чего эффективность многоядерпых систем, которую можно определить как отношение производительности системы на реальных приложениях к её пиковой производительности, падает с ростом числа ядер. Это связано не только со сложностями, возникающими при оптимизации программного обеспечения под многоядерную архитектуру, выражающимися в неполной загрузке всех вычислительных ресурсов системы, но и с неэффективностью собственно аппаратной части системы, приводящей к частым простоям вычислительных ядер при обмене данными в системе. Для системы с большим числом вычислительных ядер (8 и более) оптимальной является архитектура с ассиметричным доступом к памяти, основным недостатком которой является большое время доступа ядер к удаленным участкам памяти. С увеличением числа ядер и сложности системы растет время, требуемое для обмена данными между ее элементами, обусловленное как увеличением времени доступа ядер к общей накристальной памяти, так и увеличением числа конфликтов между вычислительными ядрами при обращении к разделяемым ресурсам системы.

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

Одной из задач, возникающих в процессе разработки коммутационной логики для новой многоядерной системы, является оценка производительности системы и влияния способа соединения элементов системы на ее производительность. Обычно для вновь создаваемой системы, не имеющей близких аналогов, точно оценить ее производительность на реальных приложениях удается только после изготовления кристалла. Это обусловлено тем, что высокоуровневая модель многоядерной системы, как правило, дает описание только её функциональных возможностей, не учитывая при этом ряда особенностей аппаратной реализации системы, существенно влияющих на её производительность, таких, например как топологические расстояния между элементами. Моделирование RTL-описания многоядерной системы позволяет установить точную производительность разрабатываемой системы, однако является очень медленным процессом, что исключает возможность определения производительности системы на реальных приложениях до физического изготовления кристалла. Кроме того для такого моделирования требуется разработка полного RTL-описания системы, что является трудоёмким процессом. Таким образом, у разработчика системы на этапе выбора её архитектуры нет возможности произвести полноценное сравнение нескольких вариантов систем с различной архитектурой с учётом реальных расстояний между элементами системы. Таюке затруднена оценка влияния на производительность системы изменения расстояний между элементами, которое может иметь место на стадии разработки топологии. Поэтому актуальным является создание средства, позволяющего производить оценку производительности широкого спектра многоядерных архитектур с учетом ряда топологических и функциональных параметров системы, таких как расстояния между элементами и длина вычислительного конвейера используемых в системе ядер.

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

Еще одной проблемой современных вычислительных систем является задача обмена даиными системы с периферийными устройствами. Большая вычислительная мощность современных СНК не приносит пользователю существенной пользы, если скорости обмена системы с внешней средой не хватает для того, чтобы полностью обеспечить все вычислительные ресурсы системы потоком входных данных, либо вовремя выгрузить из системы обработанные данные. В этом случае производительность всей системы в целом будет ограничиваться скоростью обмена данными системы с внешними устройствами. Поэтому при проектировании СНК важной задачей становится обеспечение высокопроизводительного обмена данными проектируемой системы с внешними устройствами. При этом участие собственно вычислительных ядер в процессе передачи таких объёмов данных должно быть минимизировано с целью сохранения вычислительных ресурсов системы, используемых для выполнения основной задачи. Тенденция к универсализации СНК приводит к тому, что проектируемая система должна поддерживать возможность обмена данными по множеству внешних интерфейсов. Использование отдельных (реализованных на отдельной аппаратуре) контроллеров для каждого из этих интерфейсов ведет к перерасходу площади, и что более критично - нехватке выводов кристалла. Соответственно, актуальной, с точки зрения достижения главной цели - повышения вычислительной мощности системы является задача организации высокоскоростного обмена данными системы с широким спектром внешних устройств без отвлечения на это ее вычислительной мощности и с минимальным расходом на эти цели внешних выводов кристалла.

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

Целью работы является исследование и разработка методов повышения производительности многоядерных систем путем оптимизации процессов обмена данными как между внутренними элементами системы, так и между системой и периферийными устройствами, а также автоматизация процесса создания RTL-описания разрабатываемой системы.

Для достижения поставленной цели необходимо было решить следующие задачи:

1. Провести анализ основных причин снижения эффективности многоядерных систем при увеличении числа вычислительных ядер, среди которых: простой вычислительных ядер при обращении к памяти с большим временем доступа; неэффективность стандартных алгоритмов арбитража в случае одновременных пакетных и одиночных обращений к памяти от различных ядер; отвлечение вычислительной мощности системы на процесс обмена данными с внешними устройствами

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

3. Исследовать зависимость эффективности коммутационной логики от используемого в ней алгоритма арбитража и от характеристик потоков обращений

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

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

6. Автоматизировать процесс проектирования RTL-описания многоядерной системы.

7. Разработать универсальный контроллер последовательных интерфейсов, способный осуществлять обмен данными с периферийными устройствами с минимальным отвлечением вычислительной мощности системы. Научная новизна работы заключается в следующих результатах:

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

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

3. Установлена зависимость пропускной способности коммутационной логики от используемого в ней алгоритма арбитража и характеристик потоков обращений.

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

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

Практическая ценность.

1. Разработан комплекс схемотехнических решений, позволяющих увеличить пропускную способность коммутации, и скорость обмена данными между отдельными элементами системы, который применен в системах на кристалле «1892ВМ7Я» и «NVComOl», разработанных в ГУП НПЦ «ЭЛВИС», что обеспечило 25% увеличение производительности данных систем для приложений ЦОС (в системах применен предложенный в работе комплекс схемотехнических решений, за исключением механизма буферизации чтения).

2. Разработанный универсальный контроллер последовательных шин применен в разработанной в ГУП НПЦ «ЭЛВИС» микросхеме «NVComOl», что значительно расширило спектр применения данной системы за счет увеличения числа поддерживаемых ей периферийных интерфейсов без увеличения числа внешних выводов кристалла и существенных аппаратных затрат.

3. Разработанное программное обеспечение для оценки производительности многоядерных систем и параметризированное описание многоядерной системы позволили автоматизировать процесс разработки RTL-описания многоядерных систем на кристалле Положения, выносимые на защиту:

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

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

3. Программное средство для оценки производительности многоядерных систем.

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

5. Структура универсального контроллера последовательных интерфейсов, обеспечивающая за счет введения в него блока логики обмена и блока управления выводами возможность совмещения в одном устройстве функций нескольких контроллеров последовательных шин, что существенно экономит аппаратные ресурсы и число используемых выводов кристалла. Одновременно за счет введения блоков генерации управляющих сигналов и буферизации как записи, так и чтения минимизируется отвлечение вычислительных ресурсов системы на передачу данных. Личный вклад. Все результаты, изложенные в диссертации и сформулированные в положениях, выносимых на защиту, получены автором лично.

Апробация работы. Основные результаты работы докладывались и представлялись на следующих научно-технических конференциях: Международная научно-техническая конференция "Электроника и информатика", МГИЭТ(ТУ), 2005 г; Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2005г; Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2006г; Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика", МГИЭТ(ТУ), 2007 г.; Всероссийская молодёжная конференция "Электроника", МГИЭТ(ТУ), 2007г. (диплом победителя); научная конференция "Современные проблемы фундаментальных и прикладных наук", МФТИ, 2007г. (диплом победителя); Всероссийская межвузовская научно-техническая конференция

Микроэлектроника и информатика", МГИЭТ(ТУ), 2008 (диплом победителя); Всероссийская научно-техническая конференция "Проблемы разработки перспективных микроэлектронных систем", Москва, 2008г; Форум диссертационных работ при Всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем", Москва, 2008г;

Результаты данной работы были внедрены и использованы в системах на кристалле «1892ВМ7Я» и «NVComOl», разработанных в ГУП НПЦ «ЭЛВИС», предназначенных для цифровой обработки сигналов, решения задач обработки аудио и видео, а так же навигации и связи.

Публикации. По теме диссертационной работы опубликовано 15 научных работ, в том числе 7 статей в периодических печатных изданиях, 3 из которых опубликованы в журналах, входящих в перечень ВАК, 5 тезисов доклада (3 доклада отмечены дипломом победителя), 1 патент на изобретение, 1 научнотехнический отчет по НИР (исполнитель), 1 научно-технический отчет по НИОКР (руководитель).

Структура и объём работы. Диссертационная работа состоит из введения, 4 глав, заключения и списка литературы из 102 наименований. Общий объём диссертации составляет 159 страниц, в том числе 4 таблицы и 59 рисунков.

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

4.3 Выводы

1 Проведен анализ ряда последовательных интерфейсов и реализованных в аппаратуре контроллеров последовательных шин.

2 Выявлены функциональные требования к структурной схеме контроллера, выполнение которых позволит объединить в одной аппаратуре контроллеры нескольких последовательных интерфейсов.

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

4 Предложен новый вариант структурной схемы контроллера последовательных интерфейсов, позволяющей реализовать универсальный контроллер последовательных шин, обеспечивающий обмен данными с широким спектром устройств (совместимость с интерфейсами I2S, SPI, Microwire, SPORT, С-Bus, FSB). Предложенная структурная схема обладает следующими особенностями:

• Аппаратная сложность контроллера, реализованного по предложенной схеме, лишь па 10-15% превосходит сложность обычного контроллера I2S с полной буферизацией.

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

6. Автоматизирован процесс проектирования RTL-описания многоядерной системы, за счет создания параметризированного исходного описания системы, предназначенного для обработки препроцессорами и использования специально разработанного средства для оценки производительности проектируемой миогоядерпой системы.

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

8. Предложенные в работе методы и схемотехнические решения (без использования буферизации чтения) были использованы при создании микросхем «1892ВМ7Я» и «NVComOl», выпускаемых ГУП НПЦ «ЭЛВИС», что позволило для задач ЦОС добиться 25% увеличения производительности данных микросхем.

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

Библиография Путря, Федор Михайлович, диссертация по теме Твердотельная электроника, радиоэлектронные компоненты, микро- и нано- электроника на квантовых эффектах

1. Gepner P., Kowalik М., Multi-Core Processors: New Way to Achieve High System Performance // Parallel Computing in Electrical Engineering, PAR ELEC 2006 -P. 9-13.

2. Корнеев В., Киселев А., Современные микропроцессоры. // СПб.:БХВ-Петербург- 2003.

3. Sterling, T.L., Zima, Н.Р., Gilgamesh: A Multithreaded Processor-In-Memory Architecture for Petaflops Computing // Supercomputing, ACM/IEEE Conference 2002 P. 48.

4. Venkateswaran N., Krishnan A., Kumar S. N., Shriraman A., Sridharan S., Memory in processor: a novel design paradigm for supercomputing architectures //ACM SIGARCH Computer Architecture Volume 32 , Issue 3 2004 - P. 19 -26

5. Hennessy J. L., Jouppi N. P., Computer technology and architecture: An evolving interaction // Computer, Volume 24, Issue 9 1991. - P. 18-29.

6. Rakesh Kumar, Keith I. Farkas, Norman P. Jouppi, A multi-core approach to addressing the energy-complexity problem in microprocessors // In Workshop on Complexity-Eective Design 2003.

7. Almasi G., Cascaval G., Castanos J. G., Denneau M., Lieber D., Moreira J. E., Warren H.S., Dissecting Cyclops: a detailed analysis of a multithreaded architecture // ACM SIGARCH Computer Architecture Volume 31 , Issue 1 2003 - P. 26 - 38

8. Dally William J., Towles Brian, Route Packets, Not Wires: On-Chip Interconnection Networks // DAC 2001, 2001. - P. 684- 689.151

9. PentiumD Processor 11 www.intel.com

10. Core2 Duo Processors // www.intel.com

11. Key Architectural Features AMD Athlon™ Dual-Core Processors // www.amd.com

12. Performance Guidelines or AMD Athlon™ 64 and AMD Opteron™ ccNUMA Multiprocessor Systems // www.amd.com

13. BIOS and Kernel Developer's Guide (BKDG) For AMD Family lOh Processors

14. Hammond L., Hubbert B, Siu M., Prabhu M., Chen M., Olukotun K., The Stanford Hydra CMP // IEEE MICRO Magazine- 2000 P.71-84.

15. Tremblay M., Majc-5200: A vliw convergent MPSOC // In Microprocessor Forum, 1999.

16. Poonacha Kongetira, Kathirgamar Aingaran, Kunle Olukotun, Niagara: A 32-way multithreaded spare processor // IEEE MICRO Magazine, Volume 25, Issue 2, -2005.-P.-21-29.17 http://www.research.ibm.com/power4

17. IBM. Power5: Presentation at microprocessor forum. 2003

18. Le H. Q., Starke W. J. IBM POWER6 microarchitecture. IBM J. Res. Dev., v. 51, №. 6, 2007.

19. Александров Ю., Беляев А., Глушков А., и др., Новая отечественная платформа СБИС "МУЛЬТИКОР" для высокоскоростной обработки информации и управления объектами // Цифровая обработка сигналов № 3 2001 - С. 25-38.

20. Петричкович Я., Технологии определяют все // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес № 1 — 2004 С. 4-10.

21. Солохина Т., Петричкович Я., Александров Ю., и др., Микросхемы базовых серий "МУЛЬТИКОР". Сигнальный микроконтроллер 1892ВМ2Т (МС-24). // Chip News № 2 2005 - С. 20-31.

22. Солохина Т., Петричкович Я., Александров Ю., и др., Микросхемы базовых серий "МУЛЬТИКОР". Сигнальный микроконтроллер 1892ВМ2Т (МС-24). II Chip News № 3 2005 - С. 20-26.

23. Солохииа Т., Александров Ю., Глушков А., Беляев А., Петричкович Я., Отечественные трехъяерные сигнальные микроконтроллеры с производительностью 1,5 GFLOPs // Цифровая обработка сигналов. Электронные компоненты № 6 2006 - С. 73-78.

24. Солохина Т., Александров Ю., Петричкович Я., Сигнальные контроллеры компании ЭЛВИС: первая линейка отечественных DSP // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес №7 2005 - С. 70-77.

25. Kahle J. A., Day М. N. Hofstee Н. P., Johns С. Я., Maeurer Т. R., Shippy D., Introduction to the cell multiprocessor // IBM Journal of Research and Development — 2005.

26. Hofstee H. Peter, Power efficient processor architecture and the cell processor // 11th International Symposium on High-Performance Computer Architecture (HPCA'05) 2005 - P. 258-262

27. Tile Processor Architecture. Technology Brief- 2007 // www.tilera.com

28. A Tera-scale Computing Research Overview // www.intel.com31 http://www-vlsi.stanford.edu/smartmemories/32 www.tensilica.com

29. Burger D., Keckler, S.W., Scaling to the end of silicon with EDGE architectures // Computer Volume 37, Issue 7 2004. - P. 44- 55.

30. Swanson Steven, Michelson Ken, Schwerin Andrew, Oskin Mark WaveScalar International Symposium on Microarchitecture (MICRO-36 2003) - 2003.

31. Rakesh Kumar, Keith Farkasy, Norman P, Jouppiy Partha, Ranganathany Dean M. Tullsen, Processor Power Reduction Via Single-ISA Heterogeneous Multi-Core Architectures // computer Architecture Letters, Vol 2, April 2003.

32. Hwang Soo-Yun, Jhang Kyoung-Sun, An improved implementation method of AHB BUSMATRIX // IEEE International SOC Conference 2005. - P. 211-214.

33. AMBA AXI Protocol specification // www.arm.com153

34. Kumar V.P. Reddy S.M. Augmented Shuffle-Exchange Multistage Interconnection Networks // IEEE Computer Magazine, vol. 20 1987. - P. 30-40.

35. Мак P. Shared-cache clusters in a system with a fully shared memory // IBM Journal of Research and Development 1997.

36. Ye T.T., Benini L., Micheli G., Packetized On-Chip Interconnect Communication Analysis for MPSoC // Proceedings of the conference on Design, Automation and Test in Europe Volume 1 - 2003 P. 10344

37. Т. T. Ye, L. Benini, G. De Micheli, "Analysis of power consumption on switch fabrics in network routers" Proceedings of the 39th Design Automation Conference, June 2002, pp. 524-529.

38. Ye T.T., Benini L., Micheli G., Packetization and routing analysis of on-chip multiprocessor networks // Journal of Systems Architecture: the EUROMICRO Journal archive Volume 50 , Issue 2-3 2004 P. 81-104.

39. Hu J., Marculescu R., Exploiting the Routing Flexibility for Energy/Performance Aware Mapping of Regular NoC Architectures // Proceedings of Design Automation and Test in Europe, March 2003, pp. 688-693.

40. Zhang M., Asanovic K, Victim replication: maximizing capacity while hiding wire delay in tiled chip multiprocessors // Computer Architecture, 2005. ISC A '05. Proceedings. 32nd International Symposium on 2005 - P. 336-345

41. Таненбаум Э. Архитектура компьютера / 4-е издание СПб.:Питер 2002.

42. Lenoski D., LaudonJ., Gharachorloo К, Weber W.-D., Gupta A., Hennessy J., Horowitz M., Lam M.S., The Stanford DASH Multiprocessor // Computer Volume 25, Issue 3- 1992.-P. 63-79.48 http://www.montalvosystems.com/

43. Mai, K.; Paaske, Т.; Jayasena, N.; Ho, R.; Dally, W.J.; Horowitz, M. Smart Memories: a modular reconfigurable architecture // Computer Architecture 2000. - P. 161 - 171.

44. Guz Zvika, Keidar Idit, Kolodny Avinoam, Weiser Uri C. Nahalal: Cache Organization for Chip Multiprocessors // IEEE ComputerArchitecture Letters Volume 6, Issue 1 2007.

45. Intel® Hyper-Threading TechnologyTechnical User's Guide // www.Intel.com

46. Thomas L. Sterling, Hans P. Zima Gilgamesh: A Multithreaded Processor In-Memory architecture for Petaflops Computing I. E. E. E Computer, June 1998

47. Wenisch T.F., Somogyi S., Hardavellas N. и др., Store-Ordered Streaming of Shared Memory // Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques 2005 - P. 75-86

48. Kavaldjiev, N.K. and Smit, G.J.M., Jansen, P.G. A Virtual Channel Router for On-chip Networks // IEEE Computer Society 2004 - P. 289-293.

49. Kumar R., Holistic design for multi-core architectures // University of California at San Diego ISBN:978-0-542-73443-4, Order Number:AAI322299 2006 -214 стр.

50. Wu X., YangJ., Shi L., Bus Buffer Evaluation of Different Arbitration Algorithms // SOC Conference, 2005. Proceedings. IEEE International 2005 - P. 261264

51. Yihan Li, Panwar S., Chao, H.J. The dual round robin matching switch with exhaustive service // High Performance Switching and Routing. Workshop. 2002 - P. 58-63.

52. Motorola M68HC11 Reference Manual // www.motorola.com (http://www.mcumaster.com/hcl 1/Block/SPI/spi.html)

53. Пат. PCT/US2004/037576. US. Lambrache Emil, Froemming Benjamin. 09.06.2005. WO 2005/052776 A160 http://www.rapidio.org/

54. Интерфейс SPI Microwire. Мир периферийных устройств ПК. 2004, №4, с52-53.

55. I2S bus specification (Phillips Semiconductors)

56. CMX881 Baseband Processor for PMR and Trunked Radios // www.cmlmicro.com

57. CMX981 Advanced Digital Radio Baseband Processor // www.cmlmicro.com155

58. ADSP-2126x SHARC Processor Peripherals Manual // www.analog.com

59. ADSP-BF537 Blackfin Processor Hardware Reference // www.analog.com

60. Nan Wang, MA. Bayoumi, Dynamic Fraction Control Bus: New SOC On-chip Communication Architecture Design // IEEE International SOC Conference 2005. - P. 199- 202.

61. Yihan Li, Panwar S., Chao, H.J. The dual round robin matching switch with exhaustive service // High Performance Switching and Routing. Workshop. 2002 - P. 58-63

62. Путря Ф.М. Новые алгоритмы снижения простоя в многоядерных процессорах // Всероссийская молодёжная конференция "Электроника" 2007. с 26.

63. Путря Ф.М., Исследование, разработка и оптимизация аппаратных средств обмена данными в многоядерных вычислительных системах // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем. Форум диссертационных работ." 2008. - с 509 -515.

64. Путря Ф.М., отчет по НИОКР по теме: «Разработка аппаратно-программных методов минимизации времени простоев в многоядерной системе при разработке ядер с общей памятью» по государственному контракту №5441р/7991 от 14 декабря 2007 года

65. Путря Ф.М., Мепыиепин JI.B. Многоядерный процессор на основе архитектуры с общим адресным пространством, разделенным на ближнюю и дальнюю память // Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика" 2007. с 267.

66. Kavaldjiev, N.K. and Smit, G.J.M., Jansen, P.G. A Virtual Channel Router for On-chip Networks // IEEE Computer Society 2004 - P. 289-293.74 http://www.covvare.com75 http://www.synopsvs.com

67. IEEE 1666 -2005 Standard Language Reference Manual // www.systcmc.org77 www.ibm.com

68. John D. Davis, Cong Fu, James Laudon, The RASE (Rapid, Accurate Simulation Environment) for Chip Multiprocessor // Computer Architecture News -September 2005 Vol. 33, No. 4 - P. 14-23

69. Путря Ф.М., Кучинский А.С., Программная модель для многокритериальной оценки производительности многоядерных вычислительных систем // Всероссийская межвузовская научно-техническая конференция "Микроэлектроника и информатика 2008" - 2008 г. с 207.

70. Воеводин В. В. II Вычислительная математика и структуры алгоритмов. Издательство Московского Университета 2006, 112 с.

71. IEEE Standard Verilog ® Hardware Description Language //http://ww\v. veriIog.com/IEEEVerilog.html

72. SystemVerilog 3.1a Language Reference Manual //http://www.systemverilog.org/

73. Solomatnikov A., Firoozshahian A., Qadeer W., Shacham O., Kelley K., Asgar Z., Wachs M., Hameed R., Horowitz M., Chip multi-processor generator // DAC. 2007 -P. 262-263

74. Shalan M., Shin E., Mooney V., DX-Gt: Memory management and crossbar switch generator for multiprocessor system-on-a-chip // 11th Workshop on Synthesis And System Integration of Mixed Information technologies 2003 - P. 357-364

75. Shalan M., Mooney V. J., A dynamic memory management unit for embedded real-time system-on-a-chip // Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems 2000 - P. 180 - 186.

76. Shalan M., Mooney V. J., Hardware support for real-time embedded multiprocessor system-on-a-chip memory management // Proceedings of the tenth international symposium on Hardware/software codesign — 2002 — P. 79-84.

77. Shin E. iS., Mooney V.J., Riley G. F., Round-robin arbiter design and generation // Proceedings of the 15th international symposium on System Synthesis -2002 P. 243 - 248.

78. Preparata F. P., Vuillemin J., The Cube-Connected Cycles: A Versatile Network for Parallel Computation // Comm. of the ACM 1981 - P. 300-309.

79. Путря Ф.М., Беляев A.A., Глобальный коммутатор для многоядерного процессора с несимметричным доступом к памяти // Вопросы радиоэлектроники, серия ЭВТ. выпуск 3. - 2008. - С. 28 - 39.

80. Путря Ф.М. Метод автоматизации процесса разработки коммутационной среды для многоядерной системы с ассиметричным доступом к памяти // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем" 2008. -с 201 -204.

81. Кучинский А. С., Путря Ф.М., Симулятор многоядериой вычислительной системы и примеры его применения // Известия вузов. ЭЛЕКТРОНИКА № 2 2008 г. с 72-77.

82. Serially Interfaced, 8-Digit LED Display Drivers MAX7219/MAX7221 // http://www.maxim-ic.com/

83. Crews M., Yuenyongsgool Y., Practical design for transferring signals between clock domains // EDN 2/20/2003

84. Беляев A.A., Путря Ф.М. Выбор оптимальной структуры функционально полного контроллера шины SPI с 32-зазрядным интерфейсом // Известия вузов. Электроника-№ 4 2006.- с 71-75

85. Беляев А.А. Путря Ф.М. Проектирование СФ-блока контроллера шины SPI с интерфейсом АМВА // Международная научно-техническую конференция "Электроника и информатика" 2005. - Часть 1, с 180.

86. Глушков А.В., Беляев А.А., Путря Ф.М., Алексеев КН., Миронова Ю.В. Библиотека периферийных IP ядер платформы МУЛЬТИКОР // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем" - 2005. - с 530 -535.

87. Путря Ф.М. Оптимизация структуры контроллеров последовательных шин. Решение проблем нехватки выводов микросхемы и загрузки процессора при передаче данных // Сборник трудов "Проблемы разработки перспективных микроэлектронных систем" 2006. - с 274 -275.

88. Путря Ф.М. ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПОСЛЕДОВАТЕЛЬНЫХ ШИН // Решение о выдаче патента на изобретение от 24.12.2008 по заявке номер 2007132778 от 31.08.2007