Search
Write a publication
Pull to refresh
52
22.1
Андрей @MegaHard

программист

Send message

Процессор на коленке ч.5. Кэш

Level of difficultyMedium
Reading time14 min
Views3.7K


В прошлой статье приделали конвейер и теперь можно запускать программы, расположенные в локальной памяти процессора. Но с одной лишь локальной памятью далеко не уедешь, у маленького ПЛИСа её жалких 50 кБ, поэтому надо делать небольшое локальное хранилище, синхронизируемое с внешней памятью, то есть кэш. Есть отладочная плата с SD RAM, в идеальном случае хорошо бы добавить её поддержку, но для начала внешнюю память будет изображать внутренняя. Дополнительным эффектом от добавления кэша оказалось увеличение доступной памяти, потому что для чтения параллельно с двух адресов создавалось два набора памяти, а теперь чтение за один такт делается только с одного адреса.
Ветка реализации проекта лежит на гитхабе.

Читать дальше →

Процессор на коленке ч.4. Конвейер

Level of difficultyMedium
Reading time23 min
Views3.3K

В прошлой части добавили расширение M (умножение и деление), теперь будем собирать под ПЛИС Cyclone IV. При попытке собрать проект Quartus говорит, что с асинхронной памятью работать не будет, поэтому заменяем её на синхронную, и это сразу приводит к серьёзным последствиям.

Читать далее

Процессор на коленке ч.3. Алгоритм быстрого деления

Level of difficultyMedium
Reading time33 min
Views7.3K


В прошлой части запустили тестирование производительности для нашего процессора, теперь будем его ускорять с помощью модуля аппаратного умножения и деления. Не хотелось повышать информационную энтропию, выкладывая очередную статью про деление столбиком, поэтому в результате двух недель исследований удалось собрать нечто красивое и потенциально очень быстрое. Предыстория в статье может быть сложной, но сам алгоритм прост.
Читать дальше →

Процессор на коленке ч.2

Level of difficultyMedium
Reading time10 min
Views8.1K

В прошлой части собрали минимальное ядро, теперь хотелось бы его запустить. Для запуска нужен исполняемый файл, потом его надо загрузить в память процессора и запустить симуляцию. Ещё неплохо, чтобы в процессе работы можно было выводить что-то в консоль для отладки.
Читать дальше →

Процессор на коленке ч.1

Level of difficultyMedium
Reading time11 min
Views13K


Предыстория


Захотелось мне как-то перевести управление станком на ПЛИС, а для этого понадобилось ядро процессора. Поиск на opencores не особо помог, x86 лицензированный, ARM лицензированный, NIOS… ну, вы поняли. Если выдумывать свою систему команд, может получиться криво, и главное, где брать компилятор. В общем, всё было сложно, так что на время идею пришлось отложить.
С недавних пор ситуация изменилась, архитектура RISC-V пошла в массы.

Читать дальше →

Разгоняем оптрон до сотни

Reading time2 min
Views41K

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

Читать далее

Information

Rating
200-th
Location
Ростов-на-Дону, Ростовская обл., Россия
Registered
Activity