Maverick_ 15 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба На днях я слышал что микропрограммные автоматы(общее описание) работают быстрее микропроцессоров(микроконтроллеров) и даже обычных FSM(Мили или Мура). Применять можно например когда требуется "ну очень" высокая частота работы логики. И также что микропрограммный автомат может заменить микропроцессор(микроконтроллер). Подтвердите или опровергните данное высказывание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masics 0 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба На днях я слышал что микропрограммные автоматы(общее описание) работают быстрее микропроцессоров(микроконтроллеров) и даже обычных FSM(Мили или Мура). Применять можно например когда требуется "ну очень" высокая частота работы логики. И также что микропрограммный автомат может заменить микропроцессор(микроконтроллер). Подтвердите или опровергните данное высказывание. Специализированные чипы для воспроизведения видео меньше по размеру, работают быстрее и потребляют меньше микропроцессоров (как правило). обычных FSM(Мили или Мура) Этот аппарат и есть обычный FSM (только очень ограниченный). Я не думаю, что он быстрее FPGA с внутренним ROM. И также что микропрограммный автомат может заменить микропроцессор(микроконтроллер). Может в особых случаях (простой автомат). И, возможно, дешевле будет стоить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба На днях я слышал что микропрограммные автоматы(общее описание) работают быстрее микропроцессоров(микроконтроллеров)Да и даже обычных FSM(Мили или Мура).Нет, т.к. это одно и тоже. Описанный в статье 'микропрограмный автомат' является обычной FSM Применять можно например когда требуется "ну очень" высокая частота работы логики.Когда требуется 'очень высокая частота работы логики' то применять нужно 'логику'. Никакой автомат не сможет работать быстрее тактирующего клока И также что микропрограммный автомат может заменить микропроцессор(микроконтроллер).До некоторой степени. Микропроцессоры строются на базе FSM (обычно нескольких). NB. У Xilinx PicoBlase в файлах сорцов называется конечным автоматом :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Костян 0 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба У Xilinx PicoBlase в файлах сорцов называется конечным автоматом :rolleyes: программируемым конечным автоматом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба Когда число состояний большое от 100 до 1000 то лучше и удобней МПА, но нужна память для микрокоманд. Мне приходилось синтезировать несколько разных МПА для спец.вычислителей. Длина микрокоманды была 64 или 48 бит, а число адресов до 1024. Для программирования МПА писался свой микроассемблер. Но это было давно. Думаю, что быстродействие у FSM до 100 состояний больше чем у МПА. Применять МПА или нет, зависит от задачи. Проще один или несколько NiosII, с аппаратным обрамлением для быстрых процессов, опять же с несколькими FSM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба На днях я слышал что микропрограммные автоматы(общее описание) работают быстрее микропроцессоров(микроконтроллеров) и даже обычных FSM(Мили или Мура). Я об этом писал в цикле статей "Микроконтроллер своими руками". Коротко: 1. Автомат всегда делает переход по полученному воздействию за 1 такт. Микроконтроллер, получив прерывание... Сколько тактов? Конвейер и пр... 2. Если микроконтроллер не специализированный, то обработка может потребовать несколько команд. Автомат - всегда специализированный и сделает все за минимум тактов... Или "Вызовет" другой автомат. См. книги Шалыто АА по автоматам... 3. При числе состояний больше 20-50 автомат в отладке и программировании становится очень тяжелым... 4. что касается памяти, то и автомату она тоже нужна... Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба Я конечно представляю с чего начать описание микропрограммного автомата, но ... Может кто-то поделиться литературой или простым примером описания(желательно на VHDL, в крайнем случае можно и на Verilog) микропрограммного автомата => iosifk Спасибо, на Вашем сайте скачал статью читаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба В библиотеку идти за статьями - искать, ксерить скажу честно скажу лень. Класика совеЦкой литературы, прямо из библиотеки :laughing: детальнее чем здесь и на русском вряд ли где можно найти ;) СцЫлко правда без HDL :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба микропрограммные автоматы работают быстрее микропроцессоров(микроконтроллеров) зависит от программы, но в общем случае да даже обычных FSM(Мили или Мура). зависит от уровня логики МПА, но в общем случае нет. Может кто-то поделиться литературой или простым примером описания(желательно на VHDL, в крайнем случае можно и на Verilog) микропрограммного автомата поройтесь на форуме, я выкладывал года 4 назад генератор МПА на питоне + описание ассемблера под него %) там же можете посмотреть когда МПА айс, а когда совсем не айс %) UPD : вот кстати та тема UPD2 : проект из моего VHDLного прошлого, так что не обессудьте %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба там же можете посмотреть когда МПА айс, а когда совсем не айс %) это вы про >20 состояний КА?? Хотел бы есчё для себя прояснить: входные порты по которым вы ориентируете условия это Branch_in/Branch1_in. С помощью BranchDataIn_in вы задаёте address offset, а с помощью DataIn_in - cnt load (значение которое загрузится в PC) и выходы Edata_r_out/Edata_out у вас как и у Altera State Sequencer-а могут принимать значения только хардкоженые (ведь входные дата порты используются для работы с кодом машины грубо говоря)? И вопрос номер 2 - а почему у вас как и у Altera State Sequencer-а нет входов-операции_с_ними-выходов ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба Спасибо! Буду изучать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 апреля, 2010 Опубликовано 7 апреля, 2010 · Жалоба это вы про >20 состояний КА?? Нет, не совсем. Главное узкое место любого МПА - генерация адреса. Если в КА нет проблем описать декодер как прыгнуть из любого состояния в любое состояние (при этом если это onehot, там будет всё в шоколаде). То для МПА эта проблема вырождается в большой мультиплексор по адресу. При этом этот адрес нельзя пайплайнить (ну если очень хочется то можно), поэтому тактовая и резко проседает. Хотел бы есчё для себя прояснить: входные порты по которым вы ориентируете условия это Branch_in/Branch1_in. С помощью BranchDataIn_in вы задаёте address offset, а с помощью DataIn_in - cnt load (значение которое загрузится в PC) и выходы Edata_r_out/Edata_out у вас как и у Altera State Sequencer-а могут принимать значения только хардкоженые (ведь входные дата порты используются для работы с кодом машины грубо говоря)? Ну вы спросили. 4 года назад дело было. Но вроде как вы верно думаете %) И вопрос номер 2 - а почему у вас как и у Altera State Sequencer-а нет входов-операции_с_ними-выходов ? потому что это будет уже не МПА, а маленький проц %) типа Avalon uSequencer %) UPD. Немного ошибся декодер как прыгнуть из любого состояния в любое состояние читать как декодер как прыгнуть из любого состояния в несколько других любых состояний Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aser 0 8 апреля, 2010 Опубликовано 8 апреля, 2010 · Жалоба МПА исторически возникли тогда, когда САПРов цифровой техники не было. Поэтому их легче было синтезировать/модернизировать вручную, чем автоматы. (Сам синтезировал и автоматы и МПА в 76-90 гг.) Теперь, когда операторы процесса транслируются в железо автоматически, МПА, как методика синтеза управления, не имеет никаких преимуществ. Пишите себе алгоритм управления как хочется в 1 или нескольких процессах. И будет результат лучше, чем чистый МПА. Может быть, МПА дисциплинирует в рамках сочинения алгоритма. Но тогда пишите процесс ala МПА - с длинным оператором Case, в котором каждый выбор - микрокоманда. И будет выглядеть как микропрограмма, а компилятор -синтезатор странслирует и соптимизирует по возможности. Интересные результаты дает система Celoxica. Описывается алгоритм на ЯВУ и транслируется в большой автомат. Наверное, и другие такие системы уже есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться