?

Log in

No account? Create an account
Инженер из Санкт-Петербурга / аспирант ГУАП Кирилл Зац описал интерфейс расширения процессора - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Инженер из Санкт-Петербурга / аспирант ГУАП Кирилл Зац описал интерфейс расширения процессора [Jan. 24th, 2016|10:28 pm]
Yuri Panchul
Вот пример инициативности: молодой инженер из Санкт-Петербурга / аспирант ГУАП Кирилл Зац без документации, только на основе чтения кода, разобрался с протоколом расширения процессора 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 и модифицирует программу для работы с такими командами.

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



































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

Я готов(а) написать какой-нибудь сопроцессор и выставить его студентам для примера
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%)
LinkReply

Comments:
[User Picture]From: ramlamyammambam
2016-01-25 06:47 am (UTC)
Это реально круто.
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 06:56 am (UTC)
Ну так распиарь у себя в журнале, пусть народ начнет с этим экспериментировать
(Reply) (Parent) (Thread)
[User Picture]From: ramlamyammambam
2016-01-25 07:01 am (UTC)
OK
(Reply) (Parent) (Thread)
[User Picture]From: allesanbr
2016-01-25 06:58 am (UTC)
у нас на такое денек нет
мы диодами ардуины мигаем
вот как раз закончил протокол писать чтобы в однобайтовом формате передавать десятибитное значение с индексацией то бишь с привязкой к переменной например пина, чтобы знать откуда прилетело.
(Reply) (Thread)
[User Picture]From: sergegers1
2016-01-25 09:06 am (UTC)
А чего ж он не прочёл доки?
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 02:34 pm (UTC)
А компанейские доки на это дело есть только с NDA и для кастомеров которые заплатили сотни тысяч долларов
(Reply) (Parent) (Thread)
[User Picture]From: sergegers1
2016-01-25 02:39 pm (UTC)
Буржуи-кровопийцы!
(Reply) (Parent) (Thread)
[User Picture]From: con_vertor
2016-01-25 09:08 am (UTC)
>Отрадно, что такое небольшое но очень полезное исследование сделал именно российский инженер, и теперь плодами его труда смогут воспользоваться студенты и университетские исследователи в самых разнообразных вузах, от Лондона до Токио и Калифорнии.
и Киева!..
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 02:39 pm (UTC)
Эту информацию будут наверняка использовать преподаватели и студенты в КГУ и возможно в КПИ.
(Reply) (Parent) (Thread)
[User Picture]From: docjeck
2016-01-25 10:59 am (UTC)
Голова!
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 08:50 pm (UTC)

Товарищ из Запорожья: как там у вас в городе с развитие

Товарищ из Запорожья: как там у вас в городе с развитием производства?
(Reply) (Parent) (Thread)
[User Picture]From: maxdz
2016-01-25 02:40 pm (UTC)
>и теперь плодами его труда смогут воспользоваться студенты и университетские исследователи в самых разнообразных вузах, от Лондона до Токио и Калифорнии.

You should definitely take him out of "KGB-landia" - before KGB impreasons him for espionage and disclosure of state-secrets.
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 04:47 pm (UTC)
Мне позавчера рассказывал преподаватель на Украине, что его студенты стали интересоваться подобными проектами, так как это помогает им остаться в аспирантуре и избежать призыва на АТО.
(Reply) (Parent) (Thread)
[User Picture]From: maxdz
2016-01-25 04:56 pm (UTC)
Good motivation too.

From other side in Russia the situation is pretty opposite. Those who work with IT-hardware - is a tasty prey for KGB to put on them "secrecy" and in such or other way keep imprisoned in Russia to consume in military production for food.
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2016-01-25 03:35 pm (UTC)
Это в самом деле Подвиг Геракла. Но вовсе не в том смысле, что имеется в виду в посте. Хороший профессионал за день разберется в деталях этого кода, не только упомянутой части. Но единственная «польза» от этого не слишком увлекательного занятия будет в том, что в коллекции профессионала появится примера код, чемпионский в области трэша (до этого лидером в моей личной коллекции был код на C c 25 параметрами в функции). Хотя пожалуй для тренировки нервной системы это хорошее упражнение. Так что если господин Кирилл Зац все это хладнокровно выдержал, ну что же, респект за это.
По хорошему там надо все переписать с нуля как положено, но у меня банально нет интереса к таким развлечениям, у моих коллег тоже нет - и немалой степени потому, что самое обидное, у фирмы Imagination нет.
(Reply) (Thread)
[User Picture]From: panchul
2016-01-25 04:09 pm (UTC)
*** до этого лидером в моей личной коллекции был код на C c 25 параметрами в функции ***

Вы действительно считаете что дизайн конвейерного процессора можно структурировать в виде модулей, интерфейс каждого из которого состоит из малого количества (нескольких) сигналов?

Или вы имеете в виду ханжество с упаковыванием большого количества сигналов в struct в System Verilog? (SystemVerilog interfaces я даже не рассматриваю - это глюкавая feature специального применения, которая не синтезируется afaik).

*** По хорошему там надо все переписать с нуля как положено ***

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

Как я писал:


http://www.silicon-russia.com/2016/01/04/mipsfpga-how-to-start/

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



Edited at 2016-01-26 06:46 am (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2016-01-26 08:53 am (UTC)
Конечно же, структуры данных в языках программирования это «ханжество». Долой их! И прочие достижения современных языков, в том числе SV (разумеется, имеются в виду строго синтезируемые). И это называется «революцией образования» ? Впрочем, такое уже не раз бывало в истории.

Сделаем немного философских обобщений для прояснения контекста и ухода от копания в скучных деталях. То, что произошло в Computer Science (например, в процессорных архитектурах) в начале 80-х есть по сути «Восстание масс» Хосе Ортега-и-Гассета. Cтарая процессорная «аристократия» изрядно устала и поистрепалась, прозевав момент, когда на сцену с шумом выскочили «младотурки» со своими идеями и принципами. А родили они, что смогли со своими ограниченными талантами и ресурсами, а именно RISC-архитектуры и, в частности , MIPS. Далее произошел некоторый водораздел. Реалисты (авторы ARM) честно признавались , что выбрали RISC архитектуру, потому что ничего другого не смогли бы реализовать в принципе на тот момент. А идеологи-графоманы (MIPS и отчасти SPARC) подвели под это дело «научную» базу , написав свой «Материализм и эмпириокритицизм», пятое пудовое издание которого явно не последнее и является по сути чуть не главным Западным учебником долгие годы.

И вот этот самый MIPSfpga тут не сам по себе показателен, а как маркер «Восстания масс» .
Отсюда и «А вот исходники процессора, который уже был лицензирован десятками или сотнями компаний - это полезно, чтобы студенты ознакомились с индустриальной жизнью». И все забывают, что речь идет об университетском образовании, а не о рабфаке.

Edited at 2016-01-26 09:02 am (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: Константин Морозов
2016-01-26 06:53 am (UTC)
А какие нужно иметь возможности, чтобы быть готовым а) помочь организовать семинар; б) присоединить к MIPSfpga какую-нибудь периферию?
(Reply) (Thread)
[User Picture]From: panchul
2016-01-26 07:04 am (UTC)

*** а) помочь организовать семинар ***

В основном инициатива. Я сам организовывал семинары прошлой осенью, но народ сейчас замыслил сделать в Москве и своими силами (расскажу когда будет больше деталей).

*** б) присоединить к MIPSfpga какую-нибудь периферию? ***

См. например датчик освещения - http://www.silicon-russia.com/2016/01/01/mipsfpga-plus-xilinx/
(Reply) (Parent) (Thread)
[User Picture]From: Константин Морозов
2016-01-26 08:04 am (UTC)
Для инициативы, наверное, нужно быть самому либо инженером, владеющим предметом, либо преподавателем?
...
Ну, тогда мы узнаем о деталях, когда они будут, это и нтересно :=)
...
А для работы с устройством, получается, я слишком далёк тогда из-за отсутствия владения материалом ))
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: panchul
2016-01-28 06:16 pm (UTC)
А что, в Массачусетсе есть музеи лучше Эрмитажа?
(Reply) (Parent) (Thread)