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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Lattice Mico8 Soft Processor, поделитесь опытом
yes
сообщение Nov 9 2015, 14:48
Сообщение #16


Гуру
******

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



ну кроме скорости может быть надежность - то есть эта память всегда есть и всегда есть место, то есть стек оверфлоу не происходит.
я не понимаю, зачем это может понадобится в 8-ми битнике (а с мико8 мне лень разбираться), но в 32-х битных, с юзерским стеком могут быть проблемы (например, выравнивание), или же в многозадачке, когда каждая задача имеет очень маленький стек, резервировать память в стеке каждой задаче для прерывания - расход памяти.
вобщем причин может быть много, конкретно для мико8 - не знаю
Go to the top of the page
 
+Quote Post
sonycman
сообщение Mar 22 2016, 21:56
Сообщение #17


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Да, после красивого ARM кода компиляторов под кортексы местный GNUтый компилер выглядит весьма деревянным.

А именно - работа с регистром страниц памяти.
Если размер памяти scratchpad (то есть оперативки) не превышает 256 байт - то есть одной странички - то всё в порядке, переключать page регистр не надо.
Но если больше 256 байт - то появляется page регистр(ы), состояние которого компилятором не отслеживается, а просто тупо переписывается каждый раз при обращении к памяти:
Код
    movi    r13,_hi(16)
    export    r20,_lo(16)
    movi    r13,_hi(17)
    export    r22,_lo(17)
    movi    r13,_hi(17)
    export    r14,_lo(17)
    movi    r13,_hi(11)
    import    r0,_lo(11)

r13 - регистр страницы.
Совершенно лишние три команды, упорно запихивающие одно и то же значение...
Оптимизация Os.

Это здорово увеличивает размер кода, что вообще-то противоречит самой идее компактного процессора.

Неужели так трудно было допилить компилер? 01.gif

ЗЫ: что-то уже хочется плисину с нормальным хардовым армом, для которого можно писать оптимальный код в кейле или иаре, а не париться с недопроцессорами и такими-же недокомпиляторами для них.
Мелкие кортексы есть у Microsemi, но их или не достать, или дорогие, собаки... sad.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Mar 27 2016, 15:21
Сообщение #18


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



С другой стороны сегодня посмотрел по тактам выполнение программы и был приятно удивлён весьма шустрым выполнением команд.
Основная масса выполняется за 2 такта, включая команды переходов и даже вызовов подпрограмм(!).
Очень удивился насчёт переходов - вот что значит простой процессор sm.gif

Команды по работе с ОЗУ выполняются 3 такта, тоже достаточно быстро.

И только обращение к периферии (export/import) идёт 5 тактов.

В общем - очень шустрый восьмибитник sm.gif
Ему бы ещё вылизанный компилятор...
Go to the top of the page
 
+Quote Post
Doka
сообщение Nov 29 2016, 14:56
Сообщение #19


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



коль скоро в этой теме собрались корифеи lm8, спрошу и я:

1. вот распаковал я rpm'ку diamond_3_8-lm_x64-115-3-x86_64-linux.rpm
нашел папку с тулчейнами под lm8 & lm32, а сам lm8 (verilog) нигде не лежит в дистрибутиве?
только из красивого GUI генерится? и что генерится - нетлист или захардкоженный RTL?

2. кто-то пробовал этот lm8 синтезить под отличные от поддерживаемых diamond семейства - например на кристалы серии iCE или того хуже под Xilinx?


Цитата(sonycman @ Mar 27 2016, 18:21) *
В общем - очень шустрый восьмибитник sm.gif
Ему бы ещё вылизанный компилятор...

FYI, компилятор (тулчейн) похоже не обновлялся с октября 2011 года(((


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
faa
сообщение Nov 30 2016, 06:18
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(Doka @ Nov 29 2016, 17:56) *
FYI, компилятор (тулчейн) похоже не обновлялся с октября 2011 года(((


Крайний gcc-4.4.3 (с патчем для lm8) от января 2010 года.
Свежее не видел.

Для lm32 можно собрать посвежее. Работает.
Можно посмотреть на ohwr.org в "Белом кролике" - церновцы lm32 используют в свитче и оконечниках, причем на Xilinx-е.
Go to the top of the page
 
+Quote Post
gk2
сообщение Nov 30 2016, 10:00
Сообщение #21


Участник
*

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



В 3.6 было здесь:

/usr/local/latticemicosystem/3.6_x64/lm/micosystem/components/lm8/rtl/
Go to the top of the page
 
+Quote Post
Doka
сообщение Nov 30 2016, 10:49
Сообщение #22


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(faa @ Nov 30 2016, 09:18) *
Для lm32 можно собрать посвежее. Работает.

не, интересует только Mico8, как замена хитрому FSM
lm32 - это как из пушки по воробьям.



Цитата(gk2 @ Nov 30 2016, 13:00) *
В 3.6 было здесь:

/usr/local/latticemicosystem/3.6_x64/lm/micosystem/components/lm8/rtl/


спасибо, нашёл.
в 3.8 тут:

latticemicosystem/3.8_x64/micosystem/components/lm8/rtl/verilog/


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:36
Рейтинг@Mail.ru


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