ПОИСК Статьи Чертежи Таблицы Специализированное аппаратное обеспечение ЦОС из "Проектирование на ПЛИС архитектура, средства и методы " Существует множество способов реализации алгоритмов цифровой обработки на основе заказной микросхемы и ПЛИС. Данная глава посвящена самым последним достижениям в этой области. Но перед тем как окунуться в эту сложную тему, давайте сначала рассмотрим, как различные архитектуры могут влиять на скорость и размеры, с точки зрения места на кристалле, разрабатываемого устройства. [c.185] Алгоритмы цифровой обработки обычно требуют выполнения огромного количества операций умножения и сложения. В качестве очень простого примера возьмем алгоритм цифровой обработки, который содержит выражение вида V = (А В) + (С О) + (Е Р) + (6 Н). [c.185] По традиции этот синтаксис не соответствует ни одному конкретному НОЬ-языку и используется только в наших рассуждениях. Естественно, это мизерный элемент чрезвычайно сложного алгоритма. Но, в конце-то концов, алгоритмы цифровой обработки обычно содержат огромное количество выражений подобного типа. [c.185] Для читателей нетехнического круга следует заметить, что переменные А, В, С и О в вышеприведённом выражении используются для представления шины (группы) двоичных сигналов. При умножении двух двоичных чисел одинаковой ширины, ширина результата будёт в два раза шире, чем у аргументов (так если А и В занимают по 16 бит, то результат получится шириной 32 бита). [c.185] Суть заключается в том, что мы можем использовать параллелизм, свойственный аппаратным решениям, для более быстрого выполнения функций ЦОС, чем можно было бы достичь с помощью профаммного подхода. Допустим, например, что все операции умножения были выполнены параллельно, одновременно, а затем последовали две стадии сложения (Рис. 12.3). [c.185] Несмотря на то что сумматоры и особенно умножители являются относительно большими и сложными модулями, всё же можно предположить, что эта реализация будет очень быстрой, но в то же время будет потреблять большое количество ресурсов. [c.185] Вместе с тем, можно использовать распределение ресурсов (распределяя некоторые умножители и сумматоры между операциями умножения) и выбрать решение, которое будет являться смесью параллельного и последовательного соединения (Рис. 12.4). [c.185] Это решение потребует дополнительно четырёх мультиплексоров вида 2 1 и одного регистра, причем каждый из них должен иметь ту же разрядность, что и используемые сигналы. Однако мультиплексоры и регистр занимают намного меньше места на кристалле, чем два умножителя и сумматор, которые, между прочим, уже не требуются в текущей реализации. [c.185] Этот метод медленнее предьщущего, поскольку сначала надо произвести умножения (А В) и (С О), сложить результаты вместе, сложить получившуюся сумму с текущим содержимым регистра, который в начале будет содержать значение О, и записать результат в регистр. [c.185] В 1937 г. Еще будучи студентом, эксцентричный английский гений Алан Тюринг написал работу Теория логических вычисляющих машин , Не имея доступа к реальным компьютерам, поскольку они в то время просто не существовали, он разработал собственный метод вычислений на бумаге . Позже эту теоретическую модель назвали машиной Тюринга. [c.185] Затем выполнить умножения (Е Р) и (С Н), просуммировать результаты вместе, сложить полученную сумму с текущим содержимым регистра, который теперь содержит результаты первой части умножений и сложений, и сохранить результат в регистр. [c.186] А можно поступить иначе, т. е. последовательное решение (Рис. 12.5). [c.187] Последняя реализация очень эффективна с точки зрения занимаемого на кристалле места, так как для этого потребуется только один умножитель и один сумматор. Однако это довольно медленная реализация, поскольку сначала надо выполнить умножение (А В), сложить результаты с текущим значением регистра, который в начальный момент времени будет содержать значение О, и записать результат в регистр. Затем надо выполнить умножение (С О), сложить результат с содержимым регистра и записать новую сумму в регистр. И так далее со всеми оставшимися операциями умножения. Замечу, что когда мы говорим это медленная реализация , мы говорим это по сравнению с другими аппаратными решениями, но самое медленное аппаратное решение может оказаться намного быстрее профаммной реализации на микропроцессорое или ЦСП. [c.187] Вернуться к основной статье