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

 
 
> Отдельное АЛУ, Простенькое АЛУ, отдельное от ядра для своих нужд
Golikov A.
сообщение May 19 2014, 11:39
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Понадобилось чтобы для прибора управления (шевелит ножками, крутит моторами, опрашивает датчики) пользователь мог писать свои микропрограмки. Сначала в приборе был свой специализированный автомат который разбирал входной поток команд и превращал его в управляющие воздействия. Поток шел через FIFO, но сейчас захотели чтобы можно было делать циклы, и я так понимаю на этом не остановимся.

Потому вместо наращивания набора команд спец автомата думаю сразу забабахать полноценное АЛУ, выделить пользователю регистров и памяти, и путь пишет программы в машинных кодах. В целом этот велосипед уже изобрел, но хочется поглядеть-послушать на то как еще это делают. Интересует даже не столько сама реализация, а больше сколько надо команд, как сделано сравнение, как сделаны команды перехода, маскирование. Сколько надо регистров для того чтобы было комфортно и не много и так далее...

В общем я тут больше посоветоваться и послушать что умные люди скажут. Готовые ядра ставить не предлагать, это принципиально должен быть отдельный блок, который я защищу от пользовательского произвола как смогу. А любые мысли по поводу того как бы вы это сделали приветствуются!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alman
сообщение May 19 2014, 16:42
Сообщение #2


Участник
*

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



Цитата(Golikov A. @ May 19 2014, 19:49) *
В общем я тут больше посоветоваться и послушать что умные люди скажут. Готовые ядра ставить не предлагать, это принципиально должен быть отдельный блок, который я защищу от пользовательского произвола как смогу. А любые мысли по поводу того как бы вы это сделали приветствуются!


Не претендую на шибко "умного человека", но Вы можете увидеть мой ответ в теме "Свои процессоры".

Цитата(Golikov A.)
В целом этот велосипед уже изобрел,


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



Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 19 2014, 17:22
Сообщение #3


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

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



Приветствую!

Цитата(alman @ May 19 2014, 23:52) *
А... так вот в чём дело. Что ж, давайте устроим соревнования. А именно - соберёмся все вместе, придумаем несколько задач и пусть каждый решит задачу на своём устройстве. И сравним результаты по разным параметрам - быстродействию, компактности ядра, эффективности кода. Можно даже кинуть клич на нескольких форумах - может быть народ подтянется поучаствовать.

А смысл этого ? Похвастается своими велосипедами?
"... Смотрите у меня аж 16 передних колес на 32 дюйма каждое..." wacko.gif
"... а у меня 3 педали для целых и плавающих ног, и ног со сдвигом суставов в обе стороны..." cranky.gif
"... а..а..а у меня 5-тиступенчатая передача, вот! могу разогнаться до 100 км/ч, но только по очень ровной дороге..." maniac.gif

В первую очередь клепая очередной подобный велосипед нужно задать себе вопрос - чем будете накачивать колеса - в смысле программировать свое творение. Поскольку ручным насосом (ассемблером) много не накачаешь.

Для образовательных же целей загляните на стоянку opencores.org - там этих велосипедов тьма. Причем есть как поделки под фирменные модели так и драндулеты непонятной породы - и сразу можно брать и ехать (не забыв конечно колеса накачать 1111493779.gif ).

biggrin.gif

Успехов! Rob.
Go to the top of the page
 
+Quote Post
alman
сообщение May 19 2014, 18:54
Сообщение #4


Участник
*

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



Цитата(RobFPGA @ May 20 2014, 01:32) *
А смысл этого ? Похвастается своими велосипедами?


Смысл соревнования? Хотя бы в том, что победитель(победители) имеет шанс - его разработкой могут заинтересоваться сторонние разработчики.

Цитата
"... Смотрите у меня аж 16 передних колес на 32 дюйма каждое..." wacko.gif
"... а у меня 3 педали для целых и плавающих ног, и ног со сдвигом суставов в обе стороны..." cranky.gif
"... а..а..а у меня 5-тиступенчатая передача, вот! могу разогнаться до 100 км/ч, но только по очень ровной дороге..." maniac.gif

Это нормально. Когда "велосипедов" много, начинается конкуренция и естественный отбор. Как в природе.

Цитата(RobFPGA @ May 20 2014, 01:32) *
В первую очередь клепая очередной подобный велосипед нужно задать себе вопрос - чем будете накачивать колеса - в смысле программировать свое творение. Поскольку ручным насосом (ассемблером) много не накачаешь.

С этим не спорю. Ну вот, к примеру, SoC для платы Марсоход2 - автор даже портировал компилятор Си на свой процессор. Он и на electronix.ru в соответствующей теме рекламировал свою разработку - а в ответ получил ти-ши-ну. А это реально бесит - игнор хуже критики.

Цитата(RobFPGA @ May 20 2014, 01:32) *
Для образовательных же целей загляните на стоянку opencores.org - там этих велосипедов тьма. Причем есть как поделки под фирменные модели так и драндулеты непонятной породы - и сразу можно брать и ехать (не забыв конечно колеса накачать 1111493779.gif ).

Если кто-то собирается делать свой процессор, предварительно не потратив хотя бы месяц на изучение проектов с opencores.org, то почти наверняка его ждёт неудача. Кстати, адептов устройств с opencores.org тоже надо пригласить поучаствовать в соревновании.

Go to the top of the page
 
+Quote Post
iosifk
сообщение May 20 2014, 00:58
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(alman @ May 20 2014, 03:04) *
Если кто-то собирается делать свой процессор, предварительно не потратив хотя бы месяц на изучение проектов с opencores.org, то почти наверняка его ждёт неудача. Кстати, адептов устройств с opencores.org тоже надо пригласить поучаствовать в соревновании.

Бред полнейший.
Процессоры в ПЛИС не делаются как "процессоры вообще". А делаются только под конкретную задачу. И именно эту задачу они и могут выполнять. А задачи у всех разные. И что будем сравнивать?
И что касается Си, то сейчас это стало вообще не актуально с появлением чипов с АРМом на борту.
Что остается? Только небольшие вычислители, программируемые на ассемблере. Просто сам Си подразумевает определенную архитектуру, а она не для всех задач нужна. А если учесть то, что одной командой на ассемблере можно делать несколько операций, то для "мелкого" и этого вполне хватит. Ведь вот для ADSP2181 не было Си, и ничего при этом страшного не произошло.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 20 2014, 05:16
Сообщение #6


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

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



Приветствую!

Цитата(iosifk @ May 20 2014, 08:08) *
Бред полнейший.
Процессоры в ПЛИС не делаются как "процессоры вообще". А делаются только под конкретную задачу. И именно эту задачу они и могут выполнять. А задачи у всех разные. И что будем сравнивать?
И что касается Си, то сейчас это стало вообще не актуально с появлением чипов с АРМом на борту.
Что остается? Только небольшие вычислители, программируемые на ассемблере. Просто сам Си подразумевает определенную архитектуру, а она не для всех задач нужна. А если учесть то, что одной командой на ассемблере можно делать несколько операций, то для "мелкого" и этого вполне хватит. Ведь вот для ADSP2181 не было Си, и ничего при этом страшного не произошло.


Я бы уточнил - любые процессоры разрабатываются под конкретный КЛАСС задач. Отсюда все многообразие зоопарка. И ARM тут всего лишь одно из семейств зверюшек.

Как это не было С для ADSP2181, а VisualDSP (я правда уж очень давно педалил для этого DSP но до сих пор очень теплые воспоминания)? Но эффективно программировать ADSP2181 в ассемблере было отнюдь не просто хотя (по сравнению с DSP от TI 6000 серии) там все команды исполнялись за такт - чтобы эффективно распределить алгоритм по исполнительным блокам надо было попотеть.
Ну а ваять ВСЕ на чистом asm для TI 6000 серии так это вообще мрак.

Удобный, эффективный, РАСПРОСТРАНЕННЫЙ!!! язык программирования для конкретной софт системы это САМОЕ ВАЖНОЕ (при наличии соответствующего инструментария этого языка для данного типа системы конечно sm.gif )

Успехов! Rob.



Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   Отдельное АЛУ   May 19 2014, 11:39
- - Alex77   Цитата(Golikov A. @ May 19 2014, 19:49) В...   May 19 2014, 14:13
|- - Lmx2315   ..в приложении самоделка ни на что не претендующая...   May 19 2014, 15:06
|- - Pavia   Для Lmx2315: Цитата(Lmx2315 @ May 19 2014, 23...   May 19 2014, 22:19
|- - Serhiy_UA   Тема интересная, но в конечном итоге все может увя...   May 20 2014, 01:14
|- - alman   Цитата(iosifk @ May 20 2014, 09:08) Проце...   May 20 2014, 04:29
- - Golikov A.   Спасибо ответившим. Спасибо за пример, обязательно...   May 20 2014, 01:06
- - Golikov A.   Большой ФСМ - однозначно определен, и придется его...   May 20 2014, 01:53
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 20 ...   May 20 2014, 03:49
- - Golikov A.   В целом я определился с тем какого вида я хочу пос...   May 20 2014, 07:23
|- - Serhiy_UA   Цитата(Golikov A. @ May 20 2014, 14:33) Е...   May 20 2014, 08:00
- - Golikov A.   Ну что же, будет оно все вот так. Все регистры уп...   May 20 2014, 12:47
|- - Timmy   А я сделал специализированный процессор для неслож...   May 20 2014, 15:08
|- - Serhiy_UA   к Golikov A. Все же, какая целью этой работы. Похо...   May 21 2014, 01:50
||- - Timmy   Цитата(Serhiy_UA @ May 21 2014, 10:00) В ...   May 22 2014, 10:12
||- - Serhiy_UA   к Timmy Спасибо за информацию. Не совсем понял, ас...   May 23 2014, 01:17
||- - Timmy   Цитата(Serhiy_UA @ May 23 2014, 09:27) Не...   May 28 2014, 04:23
|- - Кнкн   Цитата(Timmy @ May 20 2014, 22:18) сам пр...   May 21 2014, 02:16
- - Golikov A.   Забавный процессор, и всего 700 лутиков. С temp пр...   May 21 2014, 02:58
|- - Serhiy_UA   Цитата(Golikov A. @ May 21 2014, 11:08) В...   May 21 2014, 03:43
|- - iosifk   Цитата(Golikov A. @ May 21 2014, 11:08) Т...   May 21 2014, 10:38
- - Golikov A.   ну так интерпретатор и есть процессор%). Череда у...   May 21 2014, 03:51
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 21 ...   May 21 2014, 04:35
|- - Alex77   Цитата(Golikov A. @ May 21 2014, 12:01) н...   May 21 2014, 05:40
- - Golikov A.   1 микросекунда на команду, при 100 МГц основном кл...   May 21 2014, 05:30
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ May 21 ...   May 21 2014, 05:36
- - Golikov A.   я может не внимательно читал, но не увидел там ком...   May 21 2014, 07:13
|- - Alex77   Цитата(Golikov A. @ May 21 2014, 15:23) я...   May 21 2014, 07:18
- - Golikov A.   понятно, спасиб... но я уже успел полюбить свой в...   May 21 2014, 07:31
- - Golikov A.   если нету ПИДа, он сам не появиться. А если есть п...   May 21 2014, 13:18


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

 


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


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