реклама на сайте
подробности

 
 
22 страниц V  « < 11 12 13 14 15 > »   
Reply to this topicStart new topic
> Свои процессоры, Разработка своих процессоров со своей системой команд
Копейкин
сообщение Dec 18 2014, 13:21
Сообщение #181


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Многоуважаемые проектировщики собственных процессоров.
Поделитесь, пожалуйта, информацией, где можно почитать про микрокоды,
для разработки собственного процессора.
Разработка, инструментарий, практические советы, внятные примеры...
Go to the top of the page
 
+Quote Post
yes
сообщение Dec 18 2014, 15:10
Сообщение #182


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



есть книжка в свободном доступе VHDL Coocbook
там в качестве примера процессор

но по хорошему, нужно брать на Opencores.org ядро процессорное и смотреть, как сделано. еще есть leon от gaisler-а - но это лучше для понимания как делать микропроцессорную систему, само ядро там, по-моему, сложно описано - трудно разбираться

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

для совсем простого - просто посмотреть Zylin ZPU проект
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 13 2015, 10:47
Сообщение #183


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III.
Приложение miniByte.rar включает:
miniByte.pdf – краткое описание структуры процессора и сиcтемы команд.
mb.exe - транслятор с ассемблера mb.asm в файл mb.mif
mb.asm – пример кода с выводом текста «HELLO» на LCD.

Процессор miniByte предназначен для программирования внутри ПЛИС, с возможностью изменять под задачу его архитектуру и систему команд.
Система команд miniByte схожа с 51 архитектурой, но сокращена до 32 команд с длинами в один или два байта.
Тактовая частота до 100 МГц, а команды выполняются за 1 или 2 такта. Память RAM и ROM емкостью по 4096*8 реализована на 2-х портовой внутренней памяти М9К. Стек в RAM произвольной длины. Систему прерывания пока не делал.

Синтез софт процессора на verilog и транслятор на С++ написал сам.
Для трансляции запустить mb.exe в том же директории, где и mb.asm. Создастся файл mb.mif, используемый далее в QII при загрузках в ROM.
Средствами QII 8.1 можно симулировать программу из mb.mif до уровня регистров.
После конфигурирования ПЛИС, процессор сбрасывается сигналом locked от мега-функции ALTPLL.
Прикрепленные файлы
Прикрепленный файл  miniByte.rar ( 379.98 килобайт ) Кол-во скачиваний: 54
 
Go to the top of the page
 
+Quote Post
alman
сообщение Feb 15 2015, 11:13
Сообщение #184


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 22-12-10
Из: Россия, Ростовская обл.
Пользователь №: 61 800



Цитата(Serhiy_UA @ Jan 13 2015, 13:47) *
Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III.


Конкуренция растёт. sm.gif
А я предлагаю 32-разрядный микропроцессор. Точнее, архитектуру. Вот, намедни сделал карту системы команд.



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

Когда (и если) заработает встроенная многозадачность, то проект будет достоин отдельной темы в этом подфоруме.

А вот так может выглядеть программа на ассемблере для этого процессора



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

Сообщение отредактировал alman - Feb 15 2015, 11:21
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Feb 16 2015, 06:35
Сообщение #185


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(alman @ Feb 15 2015, 14:13) *
Конкуренция растёт. sm.gif
8 –разрядный софт процессор не конкурент 32-разрядному. У них разное предназначение, скорее он мог бы быть младшим партнером. Для меня главное, что мой miniByte уже работает и его можно легко втыкать в ПЛИС взамен очень больших FSM.
Здесь мне интересны методы аппаратной реализации процессора в HDL, а также способы и детали программирования транслятора с ассемблера, ну и архитектура в целом. То есть, кто и как это все реализует…
У Вас, как я понимаю, задача аппаратной реализации операционной системы... Один мой знакомый, правда в Америке, что-то подобное делает.
Go to the top of the page
 
+Quote Post
~Elrond~
сообщение Mar 11 2015, 20:40
Сообщение #186


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 20-04-12
Из: Нижний Новгород
Пользователь №: 71 488



Serhiy_UA
Цитата
Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III.
А исходники самого проца (rtl) и ассемблера вы можете выложить?

Сообщение отредактировал ~Elrond~ - Mar 11 2015, 20:41
Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 12 2015, 07:04
Сообщение #187


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(~Elrond~ @ Mar 11 2015, 22:40) *
Serhiy_UA
А исходники самого проца (rtl) и ассемблера вы можете выложить?

это Вам не подходит?
на 2 поста выше...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
~Elrond~
сообщение Mar 12 2015, 07:51
Сообщение #188


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 20-04-12
Из: Нижний Новгород
Пользователь №: 71 488



Maverick
А вы вообще скачивали этот архив? Буду весьма благодарен, если вы найдёте там хоть один verilog файл. sm.gif
Go to the top of the page
 
+Quote Post
Timmy
сообщение Mar 12 2015, 08:36
Сообщение #189


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга sm.gif.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 12 2015, 08:45
Сообщение #190


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Timmy @ Mar 12 2015, 15:36) *
Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга sm.gif.

ну не факт. вот на таких чипах народ даже работал, минибайт по сравнению с этим супер пупер проц sm.gif


--------------------
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Mar 12 2015, 09:02
Сообщение #191


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Timmy @ Mar 12 2015, 11:36) *
Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга sm.gif.

Timmy, спасибо за замечание!
Проглядел, исправлю. Бывает, когда все делаешь сам.
Теперь вместо команды INC A, введу двухбайтную ADD A, Rx. Ведь аккумулятор инкрементируется и через ADD A, xy.
Проблем нет, я как раз и хотел обсуждения…

Сравнение с машиной Тьюринга забавно, а какая на самом деле там была система команд, кто знает?

Да, еще для затравки. Хотел сделать софт-процессор "полуБайт". То есть с данными в 4 бита. Пока только хочу... Тоже для микро применений.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 12 2015, 09:16
Сообщение #192


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Serhiy_UA @ Mar 12 2015, 16:02) *
Сравнение с машиной Тьюринга забавно, а какая на самом деле там была система команд, кто знает?

описание языка brainfuck почитайте. это оно и есть
Цитата
Да, еще для затравки. Хотел сделать софт-процессор "полуБайт". То есть с данными в 4 бита. Пока только хочу... Тоже для микро применений.

возьмите пикоблейз и прокачайте его до нормального уровня (большой регистровый файл, 4К команд, AXI), вот это будет дело


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Mar 12 2015, 09:30
Сообщение #193


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Как раз 3 команд не хватает до pic'а (35 команд).

Может тогда все команды, где осуществляются операции с заданной константой, перевести в режим работы с аккумулятором, как у Motorola MC14500B, ссылку на который привел ув. des00.

Код
#1    LD    A        RR ← A
#2    AND   B        RR ← A • B
#3    STO   TEMP     RR = A • B → TEMP
#4    LD    C        RR ← C
#5    AND   D        RR ← C • D
#6    OR    TEMP     RR ← C • D + (TEMP = A • B) = A • B + C • D
#7    STO   LOAD     RR = A • B + C • D → LOAD
Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 12 2015, 11:33
Сообщение #194


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(~Elrond~ @ Mar 12 2015, 09:51) *
Maverick
А вы вообще скачивали этот архив? Буду весьма благодарен, если вы найдёте там хоть один verilog файл. sm.gif

честно признаюсь, не скачивал - verilog файлов в архиве действительно не оказалось... laughing.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Leka
сообщение Mar 12 2015, 11:37
Сообщение #195


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



У меня для проекта "Си как HDL, или Верилог без always" (см. marsohod.org ) написан софт-процессор, совместимый по ассемблеру с ядром msp430 - программы можно писать на Си с использованием GCC. Но компиляция с ассемблера в машинные коды делается самопальной программой. Проект делался только как демо-пример, поэтому без поддержки библиотек и тп. Без периферии занимает ~350 ЛЕ, быстродействие ~50МГц msp430.
Go to the top of the page
 
+Quote Post

22 страниц V  « < 11 12 13 14 15 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th August 2025 - 22:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016