ISC 2013
- Подробности
- Опубликовано: 24.06.2013 19:06
16 по 20 июня в Германии в городе Лейпциге прошла конференция ISC 2013. ISC является старейшим и наиболее значимым событием, определяющим развитие высокопроизводительных вычислений в мире.
16 по 20 июня в Германии в городе Лейпциге прошла конференция ISC 2013. ISC является старейшим и наиболее значимым событием, определяющим развитие высокопроизводительных вычислений в мире.
|
Схема коммутатора шины SPBUS |
Завершена разработка простой пакетной шины (Simple Packet Bus - SPBUS), которая позволяет обеспечить взаимодействие сотен различных устройств внутри кристалла. Шина SPBUS полностью написана на VHDL без использования закрытых лицензируемых IP блоков. Разработанная шина является исключительно компактной с точки зрения использования аппаратных ресурсов ПЛИС или СБИС, при этом обеспечивает задержки при передаче данных менее 50 тактов.
Хотя мы и называем SPBUS шиной, терминологически верно говорить "дерево коммутаторов". Каждый коммутатор SPBUS имеет по 3 входных и 3 выходных порта. Каждое устройство на кристалле или узел оснащено собственным коммутатором. Один входной порт и один выходной порт каждого коммутатора подключены к текущему узлу, остальные порты служат для обмена данными с коммутаторами, расположенными на соседних узлах.
Данные передаются по шине методом типа червоточина (wormhole). Суть этого метода заключается в том, что когда первая часть пакета не может быть передана дальше, посылающей стороне отправляется сигнал о том, что необходимо остановить передачу до тех пор, пока путь не освободится. Данный сигнал ограничивает посылку сообщений на определенное время. Такой тип управления называется управлением с обратным давлением. Данный подход позволяет минимизировать количество буферной памяти в коммутаторах.
Шина разработана с учётом принципа GALS – Globally Asynchronous Locally Synchronous. Данный принцип подразумевает разделение сети на домены с независимым контролем тактирования. Для передачи данных через границы тактовых доменов используются блоки двухпортовой памяти. С целью упрощения системы двухпортовой сделана локальная память вычислительных узлов.
На разрабатываемой платформе добавлена поддержка php. Без ложной скромности можем сказать, что это первый PHP-скрипт на Minix3, запущенный на не x86-платформе!
Мы портировали на нашу процессорную систему ОС Minix3 и её основные сервисы. С переходом на Minix помимо многозадачности у нас появилась возможность работать с файловой системой и сетевыми интерфейсами. Кроме того, теперь у нас есть полноценная стандартная библиотека языка С (ранее использовалась её сокращённая версия).
Следует отметить, что официально ОС Minix3 поддерживается только на x86-совместимых процессорах. Версии данной ОС для других архитектур встречаются редко и носят скорее экспериментальный характер. Поэтому для запуска данной ОС на нашей системе была проделана значительная работа.
Для справки: ОС Minix3 изначально разработана Эндрю Таненбаумом в образовательных целях, но впоследствии благодаря своей простоте и надёжности стала использоваться и в промышленных вычислительных системах.
Наконец-то! Нами собран и отлажен в ПЛИС первый 10-ядерный процессор.
Основные характеристики:
- Частота ядер - 50 MHz.
- Производительность на ядро, измеренная на тесте dhrystone, - 53 DMIPS.
- Объем локальной памяти данных - 8 кБайт.
- Локального кеша команд - 8 кБайт на ядро.
- Внутренняя шина шириной - 128 бит.
- Частота шины - 50 МГц.
Для макета процессора мы использовали плату ML505 Evaluation Platform на Xilinx Virtex-5 XC5VLX50T. Поддерживается 256 МБайт общей внешней DDR2 памяти и 100 Mbit Ethernet интерфейс. Проект занимает 76% доступных LUT и 90% BRAM.
Для прототипирования многоядерных процессоров в ПЛИС мы искали ядро, удовлетворяющее таким требованиям как: открытая модифицируемая архитектура, gcc совместимость, минимальный размер в ПЛИС, архитектура RISC 32-бит, отличная “раскладка” на ПЛИС Xilinx, производительность не менее 1 DMIPS/MHz.
Мы пересмотрели более десятка Soft-процессоров, в том числе Amber, OpenRISC, Plasma, YARI, LatticeMico32, Aquarius, RAMP Gold, LEON3, LEON2, aeMB, ZPU, MB-Lite, Secret-Blaze. Нами выбрана основа для построения RISC ядря общего назначения. Это MBLite.
Максимальная частота MBLite на Virtex5 составила 180 МГц, размер ядра 1100 6-выводных LUT, на dhrystone он показал 106 DMIPS / 100 МГц и отличную плотность упаковки без деградации производительности: до 20-ти ядер на XC5VLX50T.
Hello world!
Нам кажется, что современные процессоры устроены "как-то не так", в них слишком много унаследованного, что тянется из тех далеких лет, когда нас и на свете не было. Мы считаем, что в процессоре должны быть сотни вычислительных ядер, что энергоэффективность важнее производительности, производительность должна достигаться за счет специализации вычислительных блоков и параллельной обработки. Мы хотим начать "с нуля" и через 10 лет стать разработчиком многоядерных процессоров мирового уровня.
У нашего проекта пока нет больших собственных средств, мы не так здорово, как бы хотелось, понимаем, что нас ждет, но у нас есть огромное желание работать и, как нам кажется, необходимая квалификация. Итак, мы начинаем работу над оригинальной микропроцессорной архитектурой с сотнями и тысячами вычислительных ядер. В ней все будет устроено так, как нужно! Сначала мы разработаем прототип на ПЛИС...
Следите за ходом проекта в наших новостях!