Pull to refresh
345
59.5
Юрий Панчул / Yuri Panchul @YuriPanchul

Проектировщик CPU, GPU, сетевых микросхем

Send message

Добавляем инструкции в микропроцессор MIPS, которые работают в конвейере как его собственные

Reading time8 min
Views12K
Можно ли добавить в микропроцессор инструкции (команды)? Если вы используете микросхемы ПЛИС / FPGA с реконфигурируемой логикой и микропроцессорное ядро, которые синтезирутся из описания на языках Verilog и VHDL, то можете. Причем это будет «честное», настоящее расширение системы команд, а не трюк типа программной эмуляции инструкции в обработчике исключения от зарезервированной команды, и не «микрокод», популярный в исторических процессорах 1970-х годов.

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

Главная проблема с модификацией исходников дизайна процессора на Verilog или VHDL — трудоемкость. Нужно понять, как работает логика различных блоков и избежать нежелательных побочных эффектов. К счастью, существует способ расширения процессора, который превращает семестровый студенческий проект в нечто, что студент может спроектировать за одну лабораторную работу. Этот способ — интерфейс CorExtend / UDI (User Defined Instructions) в микропроцессорном ядре MIPS microAptiv UP, которое используется в пакете для образования MIPSfpga.

В рамках университетской программы MIPSfpga компании Imagination Technologies можно скачать настоящий индустриальный код на Verilog процессора MIPS microAptiv UP.
https://community.imgtec.com/university/resources/

Одним из распространенных применений UDI является манипуляции битами в алгоритмах шифрования. Другой пример — создание специальных инструкций для ускорения алгоритмов ЦОС Accelerating DSP Filter Loops with MIPS® CorExtend® Instructions.

Однако в наборе документации к MIPSfpga интерфейс между ядром и CorExtend описан недостаточно подробно. Подробная документация предоставляется только лицензиатам ядер. В этой статье представлено мое описание данного интерфейса на основе изучения исходного кода. Его можно также скачать в формате pdf MIPS microAptiv UP Processor CorExtend UDI interface protocol guide.

CorExtend занимает следующее место в RTL иерархии ядра m14k microAptiv.

CorExtend RTL Hierarchy
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments4

Про программистов

Reading time2 min
Views51K
Не смог удержаться — очередной шедевр от 420 к «Часу кода».
Создатели (мультфильма) поддерживают идею увеличения популяции программистов и призывают зрителей по мере сил этому способствовать. Компания Edison всеми руками за такую движуху, ибо чем больше программистов на свете, тем круче.



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

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

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

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

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

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

А другой мальчик был такой умный,
Читать дальше →
Total votes 103: ↑65 and ↓38+27
Comments76

MIPSfpga: вне канона

Reading time10 min
Views16K

В течении последних трёх недель в МИЭТ, МГУ, МИФИ, МФТИ и других российских ВУЗах прошли семинары по процессору на ПЛИС MIPSfpga. В рамках семинаров прошли лабораторные работы на которых демонстрировалось как применять MIPSfpga на практике.
В публикации я расскажу о своих экспериментах с MIPSfpga, которые выходят за рамки лабораторных работ, рассмотрю возможности интеграции процессорного ядра MIPSfpga с IP-блоками opencores.org. Также поведаю о портировании MIPSfpga на некоторые платы на базе ПЛИС Altera (приведены значения Fmax и показатели использования ресурсов ПЛИС).
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments6

Когда всё дело в количестве. Нелинейная арифметика больших партий электронных устройств

Reading time11 min
Views16K


Мечта любого разработчика независимо от опыта и сферы деятельности — сделать проект для крупной компании, который выйдет в массовое производство. Даже если не получится разжиться с этого серьёзными дивидендами сразу, то впоследствии такой проект будет вашей визитной карточкой. Переход от макетного образца к изделию, выпускаемому серийными партиями очень сложный процесс, особенно для тех кто проходит его первый раз. Особенно для изделия, имеющего сложную электронную начинку. Вероятность успеха такого проекта сильно увеличивается в случае, если и проектировщик и инвестор хорошо осознают все шаги на предстоящем им пути.
image
Двигаясь от опытного образца к серийному изделию мы попадаем в область действия “нелинейной математики” с большим количеством факторов, которые необходимо учитывать чтобы правильно рассчитать объём вложений. Данный вывод кажется очевидным, но на практике я часто сталкиваюсь с любовью к недопустимым упрощениям в расчётах. В дальнейшем приводит к серьёзным финансовым проблемам, трениям в команде, зачастую финалом становится крах проекта.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments44

Information

Rating
123-rd
Location
Sunnyvale, California, США
Date of birth
Registered
Activity