Учебный курс "Многоядерные процессоры"
12.07.2010 на сайте Интернет-Университета Информационных Технологий опубликован курс "Многоядерные процессоры", созданный старшим преподавателем кафедры Вычислительной техники и электроники, к.ф.-м.н. А.В. Калачевым.
Курс посвящен обзору состояния дел в области многоядерных процессоров. Представлены основные многоядерные процессоры и архитектуры, разработанные на конец 2009 года, кратко рассмотрены основные приемы программирования многоядерных систем. Материал курса составлен на основе статей и отчетов ряда экспертов, работах исследовательских групп, технических материалов и анонсов компаний-производителей. Курс включает 17 лекций, охватывающих процессоры для широкого спектра систем и приложений — от микромощных встраиваемых систем до серверных приложений.
Лекции, включенные в курс:
1. Предпосылки, вызовы, модели мира современных высокопроизводительных вычислений Лекция посвящена основным проблемам развития средств вычислительной техники и причинам, обусловливающим современный подход к построению микропроцессорных систем. 2. Классификация современных приложений и многоядерных систем Дается приблизительное разбиение приложений на классы/кластеры в соответствии с их требованиями. Обсуждаются вопросы и подходы к классификации многоядерных процессоров. 3. Высокопроизводительные многоядерные процессоры для встраиваемых приложений В лекции рассмотрены многоядерные процессоры компаний Tilera (Tile64/64Pro, Tile-Gx) и ClearSpeed (CSX700). Данные процессоры являются одними из интересных представителей многоядерных процессоров, имеют мощные средства разработки и отладки приложений. 4. Многоядерные процессоры с низким энергопотреблением Лекция посвящена двум интересным разработкам, нацеленным на минимизацию энергопотребления процессора при сохранении высокой производительности. Демонстрируются два различных подхода к управлению производительностью и энергопотреблением: с одной стороны — локальное управление тактовой частотой и напряжением питания ядра, с другой самосинхронная схемотехника с полным отключением ядер во время простоя или ожидания данных. 5. Графический процессор G80 В лекции рассмотрены архитектурные особенности графического процессора G80. 6. Проект Larrabee Данная лекция посвящена одному из проектов фирмы Intel — многоядерному процессору Larrabee. Процессор позиционируется как многофункциональный графический сопроцессор, ориентированный на архитектуру х86. 7. Проект ATAC Лекция знакомит с альтернативной технологией построения многоядерных систем на кристалле — ATAC. Архитектура ATAC основывается на ячеистом принципе построения многоядерных процессоров, с тем отличием, что ячейками в данном случае выступают кластеры, которые состоят из нескольких вычислительных ядер, объединенных накристалльной сетью. Ячейки объединяются широковещательной оптической шиной. Интересным моментом является интеграция оптоэлектронных модулей и оптических каналов в рамках КМОП-технологии. Предусматривается возможность масштабирования количества ядер до нескольких тысяч. 8. Мультиядерные процессоры ARM-архитектуры Лекция посвящена обзору мультиядерных процессоров одной из наиболее популярных на сегодняшний день архитектур — ARM. Мультиядерные процессоры данной архитектуры сочетают в себе масштабируемость производительности, низкое энергопотребление, эффективную систему команд и широкий спектр поддерживающих технологий и продуктов. Все эти качества делают их перспективной базой для высокопроизводительных мобильных устройств. 9. Мультиядерные процессоры на базе MIPS-совместимых ядер Лекция посвящена обзору мультиядерных процессоров на основе MIPS и совместимых с ними ядер. Мультиядерные процессоры данной архитектуры помимо достаточно высокой энергоэффективности и высокой производи тельности добавляют аппаратную поддержку нескольких потоков. 10. Мультипроцессор Cell В лекции описывается один из самых известных мультиядерных процессоров — мультипроцессор Cell. Основные области применения процессора на сегодняшний день — мультимедийные центры, игровые консоли. 11. Процессоры AMD Данная лекция посвящена процессорам одного из крупнейших игроков рынка процессоров — фирмы AMD. Особое внимание уделено четырех- и шестиядерным решениям AMD. Дается также краткая история и систематизация многообразия процессорных ядер и микроархитектур процессоров. 12. Процессоры архитектуры SPARC Лекция посвящена одному из самых "молодых" процессоров SPARC-архитектуры — UltraSPARC T2. Процессоры SPARC практически с момента появления данной архитектуры были нацелены на аппаратную поддержку нескольких потоков. На данный момент они позиционируются как "сервер на кристалле", интегрируют не только контроллеры памяти, но и сетевые интерфейсы и криптографические модули. Процессоры SPARC и в настоящее время лидируют по количеству одновременно поддерживаемых потоков одним ядром. 13. Процессоры Intel В лекции рассматриваются особенности одной из новых архитектур многоядерных процессоров фирмы Intel — архитектуры Nehalem. Данная архитектура включает в себя ряд усовершенствований по сравнению с предыдущими архитектурами, устранен ряд узких мест. 14. Состояние отечественных разработок в области высокопроизводительных вычислений Лекция посвящена обзору состояния работ в области многоядерных процессоров, выполняемых в России. 15. Сравнительные характеристики процессоров Приводится сравнение характеристик процессоров по показателям: разрядность, производительность, потребляемая мощность, размеры, классы задач, на которые рассчитаны, стоимость. Приводится также примерная классификация рассмотренных выше процессоров. 16. Приемы и технологии программирования многоядерных процессоров В лекции дается краткая характеристика проблем, возникающих при параллельном программировании и при программировании многоядерных процессоров, в частности. Кратко описаны основные модели программирования многоядерных процессоров, лежащие в основе различных инструментов разработки и управлении процессорными ядрами в операционных системах. 17. Средства программирования многоядерных процессоров В лекции приводится краткое описание специализированных библиотек и расширений языков программирования.
Лекции курса доступны по адресу: http://www.intuit.ru/department/hardware/mcoreproc/
В основе опубликованного курса - лекции дисциплины "Многоядерные процессоры и их программирование", изучаемой магистрами направления "Информатика и вычислительная техника" в первом семестре.