|
Отдельное АЛУ, Простенькое АЛУ, отдельное от ядра для своих нужд |
|
|
|
May 19 2014, 11:39
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет!
Понадобилось чтобы для прибора управления (шевелит ножками, крутит моторами, опрашивает датчики) пользователь мог писать свои микропрограмки. Сначала в приборе был свой специализированный автомат который разбирал входной поток команд и превращал его в управляющие воздействия. Поток шел через FIFO, но сейчас захотели чтобы можно было делать циклы, и я так понимаю на этом не остановимся.
Потому вместо наращивания набора команд спец автомата думаю сразу забабахать полноценное АЛУ, выделить пользователю регистров и памяти, и путь пишет программы в машинных кодах. В целом этот велосипед уже изобрел, но хочется поглядеть-послушать на то как еще это делают. Интересует даже не столько сама реализация, а больше сколько надо команд, как сделано сравнение, как сделаны команды перехода, маскирование. Сколько надо регистров для того чтобы было комфортно и не много и так далее...
В общем я тут больше посоветоваться и послушать что умные люди скажут. Готовые ядра ставить не предлагать, это принципиально должен быть отдельный блок, который я защищу от пользовательского произвола как смогу. А любые мысли по поводу того как бы вы это сделали приветствуются!
|
|
|
|
|
 |
Ответов
|
May 21 2014, 03:51
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
ну так интерпретатор и есть процессор%). Череда указаний - машинные коды, и он их выполняет. И сам реализуется как конечный автомат  . Если взять ниос, микроблайз в моем случае ибо ксалинкс, то пользователю придется писать программу на С в терминах процессора, а так он будет писать ее в терминах управляющих команд, при этом система возьмет на себя сопряжение некоторых условий. к примеру если задание одного параметра требует модификации других, то это отдельная команда, задать параметр, и она все сделает за 1 такт. Если бы тут был ниос или микроблайз, пришлось бы ставить много команд. Плюс надо было бы продумывать систему загрузки программы чтобы она не погубила основную систему и так далее...
|
|
|
|
|
May 21 2014, 05:40
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(Golikov A. @ May 21 2014, 12:01)  ну так интерпретатор и есть процессор%). Череда указаний - машинные коды, и он их выполняет. И сам реализуется как конечный автомат  . Если взять ниос, микроблайз в моем случае ибо ксалинкс, то пользователю придется писать программу на С в терминах процессора, а так он будет писать ее в терминах управляющих команд, при этом система возьмет на себя сопряжение некоторых условий. к примеру если задание одного параметра требует модификации других, то это отдельная команда, задать параметр, и она все сделает за 1 такт. Если бы тут был ниос или микроблайз, пришлось бы ставить много команд. Плюс надо было бы продумывать систему загрузки программы чтобы она не погубила основную систему и так далее... Повторюсь... http://ru.wikipedia.org/wiki/PicoBlazeЧем это не подходит ? Вроде "от и до" все вопросы решены ?
|
|
|
|
Сообщений в этой теме
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 Цитата(Golikov A. @ May 19 2014, 19:49) В... May 19 2014, 16:42 RobFPGA Приветствую!
Цитата(alman @ May 19 2014,... May 19 2014, 17:22  alman Цитата(RobFPGA @ May 20 2014, 01:32) А см... May 19 2014, 18:54   iosifk Цитата(alman @ May 20 2014, 03:04) Если к... May 20 2014, 00:58    alman Цитата(iosifk @ May 20 2014, 09:08) Проце... May 20 2014, 04:29    RobFPGA Приветствую!
Цитата(iosifk @ May 20 2014... May 20 2014, 05:16 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 RobFPGA Приветствую!
Цитата(Golikov A. @ May 21 ... May 21 2014, 04:35 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|