January 24th, 2016

Инженер из Санкт-Петербурга / аспирант ГУАП Кирилл Зац описал интерфейс расширения процессора

Вот пример инициативности: молодой инженер из Санкт-Петербурга / аспирант ГУАП Кирилл Зац без документации, только на основе чтения кода, разобрался с протоколом расширения процессора CorExtend / UDI (User Defined Instructions) в MIPSfpga, после чего написал статью с описанием протокола и парой своих примеров реализации UDI модуля на смеси из Verilog и VHDL.

Черты протокола:

1. Добавленные в процессор команды полностью интегрированы с главным конвейером процессором, т.е. не требуют необоснованных задержек, но при необходимости могут и вставлять задержки (stalls)

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

3. Блок дополнительных команд может содержать внутреннюю память / internal state

4. Блок дополнительных команд может использовать данные о режиме процессора (kernel/user), а также сам вызывать исключения

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

Добавленные команды могут использоваться для написания программ со стандартной GNU toolchain.

Ссылка - http://zatslogic.blogspot.ru/2016/01/using-mips-microaptiv-up-processor.html

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

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

Спасибо, Кирилл!





Collapse )





Collapse )

Как вы готовы помочь становлению экосистемы открытых исследований в России и всем мире?

Я готов(а) написать какой-нибудь сопроцессор и выставить его студентам для примера
0(0.0%)
Я готов(а) написать кэши с MESI протоколами и выставить их студентам для примера
0(0.0%)
Я готов(а) визуализовать работу CPU чтобы студенты видели как команды двигаются по конвейеру на экране большого компьютера
1(33.3%)
Я готов(а) присоединить к MIPSfpga какую-нибудь периферию
0(0.0%)
Я готов(а) перенести на MIPSfpga какой-нибудь RTOS
0(0.0%)
Я готов(а) спортировать MIPSfpga на какую-нибудь плату
0(0.0%)
Я готов(а) нарисовать лого вебсайта http://silicon-russia.com
0(0.0%)
Я готов(а) помочь в организации какого-нибудь семинара на тему добавлений сопроцессоров
0(0.0%)
Я еще не готов(а)
2(66.7%)