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

 
 
22 страниц V  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
> Свои процессоры, Разработка своих процессоров со своей системой команд
des00
сообщение Mar 12 2015, 15:36
Сообщение #196


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

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



Цитата(Leka @ Mar 12 2015, 18:37) *
У меня для проекта "Си как HDL, или Верилог без always" (см. marsohod.org ) написан софт-процессор

ткните пожалуйста носом, поиск в проектах на этом сайте привел меня в никуда sad.gif Спасибо.


--------------------
Go to the top of the page
 
+Quote Post
~Elrond~
сообщение Mar 12 2015, 15:59
Сообщение #197


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

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



des00
Я так понял, вот эта тема http://marsohod.org/index.php/forum-33/raz...-proshivki#3101
Только там нет исходников процессора.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Mar 19 2015, 06:05
Сообщение #198


Знающий
****

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



Цитата(des00 @ Mar 12 2015, 12:16) *
возьмите пикоблейз и прокачайте его до нормального уровня (большой регистровый файл, 4К команд, AXI), вот это будет дело

Однажды я из любопытства и для тренировки написал за 4 дня на верилоге клон Lattice mico8(это примерно то же, что пикоблейз), когда он ещё был сам по себе. В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух. Потом посмотрел, как криво mico8 интегрировали в систему с wishbone, и энтузиазм сделать так же и опубликовать почему-то пропалsm.gif.
В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд(по прикидке, можно, например, сделать 64 общих регистра и 4килослова кода), присобачить его мастером к AXI/Avalon, и написать на TCL ассемблер. А вот сделать под него порт binutils+gcc энтузиазма уже не хватит. Хотя можно, например, сделать точный клон mico8 под AXI, чтобы к нему подходил софт от Латтис.
Go to the top of the page
 
+Quote Post
~Elrond~
сообщение Mar 19 2015, 07:24
Сообщение #199


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

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



Timmy
Поделитесь пожалуйста своими наработками по клону Mico8 (если это не коммерческий проект, конечно).
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2015, 09:13
Сообщение #200


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

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



Цитата(Timmy @ Mar 19 2015, 14:05) *
В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух.

При всем уважении не верю. По тому как : один такт на инструкцию вида reg = opA + opB означает регистровый файл с асинхронным чтением + асинхронное АЛУ. Регистровый файл у латекса сделан на распределенной памяти, поэтому при переводе на однотактность, вы могли только убрать из АЛУ регистры. Этим, при всем желании, вы не могли увеличить тактовую частоту, тем более 1,7 раза.

Поэтому имею следующее предубеждение :
1. затык по тактовой мико8 находиться не в АЛУ и причина такой низкой тактовой в чем то другом (двухтактовость как раз можно объяснить).
2. в своей реализации вы явно/неявно вырезали то место, которое к этому приводило и ваш проц не является полнофункциональным аналогом мико8

будет интересно отреверсить ваш код, если выложите

Цитата
В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд

Вот это будет интересно, неужели вы на асихронном АЛУ получите больше 200-250МГц которые дает пикоблейз со своим синхронным АЛУ. Ну и если начнете пилить систему команд, то интересно как вы решите ограничение ширины слова команды == оптимальной разрядности блочной памяти sm.gif


--------------------
Go to the top of the page
 
+Quote Post
Timmy
сообщение Mar 19 2015, 11:30
Сообщение #201


Знающий
****

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



Цитата(~Elrond~ @ Mar 19 2015, 10:24) *
Timmy
Поделитесь пожалуйста своими наработками по клону Mico8 (если это не коммерческий проект, конечно).
Какую типовую лицензию лучше на него повесить: LGPL, BSD, что-нибудь ещё?
Go to the top of the page
 
+Quote Post
~Elrond~
сообщение Mar 19 2015, 11:34
Сообщение #202


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

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



Timmy
Не знаю, я обычно не заморачиваюсь правовыми вопросами, выкладывая что-либо в общий доступ. Вроде как LGPL самая свободная лицензия, типа делайте вообще что хотите.
Go to the top of the page
 
+Quote Post
x736C
сообщение Mar 19 2015, 11:53
Сообщение #203


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

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



Цитата(Timmy @ Mar 19 2015, 14:30) *
Какую типовую лицензию лучше на него повесить: LGPL, BSD, что-нибудь ещё?

BSD sm.gif

~Elrond~, отнюдь. Далеко не такая свободная, как Вам представляется.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2015, 14:54
Сообщение #204


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

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



лучше всего MITовская лицензия, у меня все открытые проекты под ней идут. Смысл простой : используется как есть, на свой страх и риск. Из ограничений не убирать шапку файла с указанием автора sm.gif


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Mar 19 2015, 15:04
Сообщение #205


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

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



То есть можно использовать в закрытых коммерческих проектах, менять исходный код? Неплохо.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2015, 15:31
Сообщение #206


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

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



Цитата(x736C @ Mar 19 2015, 23:04) *
То есть можно использовать в закрытых коммерческих проектах, менять исходный код? Неплохо.

MIT License
Цитата
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

правда что-то про автора я тут не вижу sm.gif


--------------------
Go to the top of the page
 
+Quote Post
NikolayXXX
сообщение Mar 19 2015, 17:54
Сообщение #207


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 16-01-10
Пользователь №: 54 852



Цитата(Timmy @ Mar 19 2015, 09:05) *
Однажды я из любопытства и для тренировки написал за 4 дня на верилоге клон Lattice mico8(это примерно то же, что пикоблейз), когда он ещё был сам по себе. В результате у меня получилась fmax 145MHz против 85 у оригинала, меньше объём LE, и один такт на инструкцию(кроме исполняемых переходов), вместо двух. Потом посмотрел, как криво mico8 интегрировали в систему с wishbone, и энтузиазм сделать так же и опубликовать почему-то пропалsm.gif.
В общем, я легко могу сделать на верилоге свободный и открытый аналог пикоблейза с улучшенной растактовкой и системой команд(по прикидке, можно, например, сделать 64 общих регистра и 4килослова кода), присобачить его мастером к AXI/Avalon, и написать на TCL ассемблер. А вот сделать под него порт binutils+gcc энтузиазма уже не хватит. Хотя можно, например, сделать точный клон mico8 под AXI, чтобы к нему подходил софт от Латтис.

Большие получились отличия по системе команд от lm8? Не писать же программы в исходных кодах.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2015, 17:56
Сообщение #208


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

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



Цитата(NikolayXXX @ Mar 20 2015, 00:54) *
Большие получились отличия по системе команд от lm8? Не писать же программы в исходных кодах.

меги 128ые (128к флеша) забивали на асме, а тут всего 4к команд. мельчает народ wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Leka
сообщение Mar 19 2015, 20:35
Сообщение #209


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

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



Цитата(NikolayXXX @ Mar 19 2015, 21:54) *
Большие получились отличия по системе команд от ... ? Не писать же программы в исходных кодах.

Зависит от компилятора ЯВУ - насколько переносимым является генерируемый ассемблерный код. Например, переходы - на метку, или же смещение задается константой, и тд и тп.
Для msp430, например, GCC выдает хороший ассемблерный код в плане независимости от системы команд и машинных кодов - можно внести заметные изменения.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Mar 20 2015, 09:46
Сообщение #210


Знающий
****

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



Выкладываю обещанный клон Мики8.Прикрепленный файл  mica8.7z ( 417.5 килобайт ) Кол-во скачиваний: 63

Собирается под XP2 на частоте 137МГц(ну немножко медленнее, чем хвасталсяsm.gif).
С пикоблейзом его сравнить по частоте невозможно, так как нужна оптимизированная версия под Ксайлинкс. Думаю, что будет примерно одинаково(+-20%). Латтис по частоте удалось обогнать за счёт того, что они вообще толком не оптимизируют код. Мой дизайн эффективнее за счёт двухступенчатого конвейера. Ступени: выборка из BRAM(а это доолго); декодирование+выполнение+обратная запись. В сравнении с Picoblaze или LatticeMico8, у меня к критическому пути добавляется вторая половина АЛУ, зато убирается выборка из BRAM, так что выходит примерно то же самое.
Теоретически процессор должен быть полностью совместим по командам со старым LatticeMico8, до того, как его пришили к Вишбону.
Думаю, что использование 8-битных ядер с кодом более 8-16K нецелесообразно, так как площадь памяти начинает существенно превышать площадь процессора, 8-битное управление большой памятью требует извращений, а ресурсы чипа при этом используются неэффективно. Единственная причина появления монстров типа atmega128, IMHO, в том, что некоторые разработчики страдают синдромом утёнка, изучив в молодости 8051 или AVR или PIC.
Всем спасибо за советы по лицензии.
Go to the top of the page
 
+Quote Post

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

 


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


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