Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Конвейеры
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
D-Luxe
Скажите пожалуйста где можно прочитать про конвейеры. Или сами вкратце объясните в каком случае целесообразно использовать конвейеры, как их описывать и для чего они предназначены.
Иван Панченко
по-английски,вас интересует термин "pipeline". начать, как всегда посоветовал бы с http://en.wikipedia.org/wiki/Instruction_pipeline
а в целом - чем над большим объемом входных данных Вам нужно провести однотипное преобразование, тем эффективней конвейерный вычислитель,по сравнению с векторным. Ведь в идеале, вы получаете выходные данные каждый такт работы конвейера(за исключением времени наполнения конвейера данными)
Мур
На мой взгляд книга Сергиенко А.М. "VHDL для проектирования вычислительных устройств".
zomg
Простейший пример касательно ПЛИС: представьте себе дерево из трех сумматоров, где нижний сумматор складывает содержимое двух верхних сумматоров. Пускай на выходе последнего сумматора стоит регистр для запоминания значения.

Дерево сумматоров - это комбинационная схема, дающая задержку. Может быть так, что при выбранной частоте тактирования, из-за задержки в комбинационной схеме, не будут выполняться время установки или время удержания для триггера. То есть задержка настолько большая, что триггер, работая на своей тактовой частоте, переключается, когда данные еще не готовы. Триггер даже может перейти в метастабильное состояние.
Но в промежуток между верхними и нижним сумматорами можно добавить регистры. Комбинационная схема разбивается пополам, задержка уменьшается, следовательно, можно повысить тактовую частоту. Результат появится на такт позже, но это ерунда sm.gif

Для ПЛИС рекомендую всегда придерживаться такого принципа, потому что, если посмотреть на устройство логической ячейки в FPGA, то там каждая таблица LUT (она же комбинационный элемент) снабжается D-триггером.
iosifk
Цитата(D-Luxe @ Apr 26 2011, 19:22) *
Скажите пожалуйста где можно прочитать про конвейеры. Или сами вкратце объясните в каком случае целесообразно использовать конвейеры, как их описывать и для чего они предназначены.


"Микропроцессор своими руками" - там в одной из статей будет написано, что такое конвейер в микропроцессоре.
Maverick
Цитата(D-Luxe @ Apr 26 2011, 18:22) *
Скажите пожалуйста где можно прочитать про конвейеры. Или сами вкратце объясните в каком случае целесообразно использовать конвейеры, как их описывать и для чего они предназначены.

например почитать можно здесь
PS Эту книгу предложил Мур. Я прочитал вопрос сразу дал ответ sm.gif Потом начал читать ответы
D-Luxe
Цитата(iosifk @ Apr 27 2011, 08:47) *
"Микропроцессор своими руками" - там в одной из статей будет написано, что такое конвейер в микропроцессоре.

Думаю конвейеризация в микропроцессоре имеет свои тонкости, поскольку процессор изначально ориентирован на последовательное выполнение определенных команд, причем система команд ограничена. Конвейеризация изначально заложена в самой архитектуре ПЛИС, поскольку она предоставляет огромное количество ресурсов, которые могут работать параллельно, поэтому тут свои особенности.
iosifk
Цитата(D-Luxe @ Apr 27 2011, 10:14) *
Думаю конвейеризация в микропроцессоре имеет свои тонкости, поскольку процессор изначально ориентирован на последовательное выполнение определенных команд, причем система команд ограничена. Конвейеризация изначально заложена в самой архитектуре ПЛИС, поскольку она предоставляет огромное количество ресурсов, которые могут работать параллельно, поэтому тут свои особенности.

Да нет, все тоже самое. Что АЛУ в микропроцессоре, что вычислитель в ПЛИС - вещи совершенно одного порядка. Разница не велика. АЛУ умеет выполнять несколько вариантов вычислений, а вычислитель в ПЛИС редко делают перенастраиваемый. Но, как я уже писал, если Вы делаете микроконтроллер в ПЛИС, то разница становится еще меньше...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.