Помощь в написании студенческих работ
Антистрессовый сервис

Аппаратная реализация вычислений

РефератПомощь в написанииУзнать стоимостьмоей работы

Следующим за триггером важным логическим блоком служит регистр, представляющий собой в простейшем случае упорядоченную совокупность триггеров. Регистры используются для хранения элементов данных: так, регистр, состоящий из 1-го триггера (вырожденный случай), хранит 1 бит, регистр из 8 триггеров — байт (1 байт состоит из 8 битов), регистр из 16 триггеров — слово, соответственно регистр из 32… Читать ещё >

Аппаратная реализация вычислений (реферат, курсовая, диплом, контрольная)

Всякое цифровое устройство строится из логических элементов, называемых вентилями, и элементов памяти. Вентили реализуют логические функции, в числе которых прежде всего следует упомянуть функции двух переменных И, ИЛИ, исключающее ИЛИ и функцию одной переменной НЕ. Условные графические изображения вентилей и функции, реализуемые ими, приведены на рис. 1.1.

Из вентилей конструируются блоки цифровых устройств, например, триггеры, представляющие собой один из типов элементов памяти, предназначенных для запоминания 1 бита информации. Одна из возможных схем триггера приведена на рис. 1.2, а.

Триггер характеризуется тем, что если на входы Вход 1 и Вход 0 были поданы значения 1 и 0 соответственно, то на выходе Выход 1 триггера установится значение 1, которое будет задавать единичное состояние триггера. Это состояние будет сохраняться вплоть до переключения триггера в нулевое состояние путем подачи на его входы Вход 1 и Вход 0 значений 0 и 1 соответственно.

Для того чтобы изменения состояния триггеров происходили после того, как устанавливаются значения сигналов на их входах, прибегают к введению тактовых сигналов. Тактовый сигнал представляет собой периодическую последовательность импульсов.

На рис. 1.3 показан триггер, изменение состояния которого происходит только при значении тактового сигнала 1.

Интуитивно понятно, что чем вы иге тактовая частота, тем более быстродействующим будет цифровое устройство. Однако физические характеристики элементной базы, используемой для построения вентилей, определяют предельную тактовую частоту, на которой устройство остается работоспособным. При превышении этой тактовой частоты импульсы недопустимо искажаются, и устойчивое различение уровней 0 и 1 становится невозможным.

Следующим за триггером важным логическим блоком служит регистр, представляющий собой в простейшем случае упорядоченную совокупность триггеров. Регистры используются для хранения элементов данных: так, регистр, состоящий из 1-го триггера (вырожденный случай), хранит 1 бит, регистр из 8 триггеров — байт (1 байт состоит из 8 битов), регистр из 16 триггеров — слово, соответственно регистр из 32 триггеров используется для хранения двойного слова. Эти понятия бит, байт, слово, двойное слово стали общепринятыми в компьютерной отрасли.

Мультиплексор представляет собой блок, позволяющий передать значение, хранимое в триггере одного (произвольно выбранного регистра), в соответствующий триггер другого регистра или соответствующие триггеры нескольких регистров этого файла.

Для представления аппаратной реализации вычислений, рассмотрим реализацию конкретного вычислительного процесса. Пусть требуется реализовать фильтр, который формирует по заданной входной бесконечной последовательности х-3, х-2, х-1, х0, х1,… последовательность у0, у1,… На рис. 1.4. представлена одна из возможных реализаций цифрового устройства, выполняющего требуемое вычисление.

— регистр для промежуточного хранения результата Рис. 1.4 Схемная реализация алгоритма фильтра

При построении устройства использованы регистры, схемы передачи данных между регистрами, схемы передачи данных между регистрами и функциональными устройствами (ФУ), ФУ: сумматоры и умножители. ФУ использует в качестве операндов значения из регистров и помещает результат операции в регистр.

Устройство, приведенное на рис. 1.7, функционирует следующим образом. В очередном такте на вход регистра R1 поступает и запоминается в нем значение хi. В следующем такте результат умножения хi на w1 запоминается в регистре R2, а хi передается из регистра R1 в регистр R3. В этом же такте в регистр R1 заносится хi+1. Далее легко убедиться, что через 6 тактов после поступления значения хi для запоминания в регистре R1 на выходе устройства появится значение уi.

В представленном устройстве умножитель и сумматор получают данные из регистров, заранее соединенных с ними в соответствии с реализуемым алгоритмом. Для реализации другого алгоритма будет необходим другой набор ФУ, регистров и мультиплексоров между ними.

Так как в устройстве, приведенном на рис. 1.7, все передачи данных между регистрами и функциональными устройствами выполняются по тактовым сигналом, то при повышении тактовой частоты уменьшается время получения результатов.

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

Приведенная схема реализации вычислений является не единственно возможной. Можно создать схемную реализацию требуемого алгоритма, например, с одним функциональным устройством умножения и одним устройством сложения. Множество возможных аппаратных реализаций одного и того же алгоритма порождает проблему выбора среди них. При выборе схемной реализации алгоритма необходимо иметь критерий выбора подходящей реализации. В качестве такого критерия может выступать, например, минимизация времени реализации вычислений или объема оборудования. В этом смысле, применительно к схемной реализации алгоритма, можно говорить о ней, как об эффективной, если она обеспечивает экстремальное значение используемого критерия.

Схемная реализация алгоритма, приведенная на рис. 1.4., демонстрирует два способа, применяемые для минимизации времени вычислений: параллельность и конвейерность обработки.

Параллельность заключается в одновременном выполнении преобразований в нескольких функциональных устройствах.

Конвейерность служит частным случаем параллельности, при котором выполнение преобразований, необходимых для получения каждого результата из однородной совокупности результатов, в нашем примере уi, i=0, 1,… N, разбивается на последовательность одинаковых по длительности алгоритмических шагов. Для выполнения каждого шага алгоритма используются отдельные устройства, совокупность преобразований в которых составляет весь алгоритм требуемого преобразовании. Результат каждого устройства, входящего в конвейер, фиксируется в регистре, и следующее устройство использует этот предварительно сохраненный результат, что позволяет совместить во времени выполнение шага для вычисления уi с выполнением предыдущего шага для вычисления уi+1. В рассмотренном примере устройства конвейера, выполняющие шаги алгоритма, реализуют операции умножения на коэффициенты w1, w2, w3, w4 и операции суммировании. Каждый шаг выполняется параллельно с другими шагами, и при полной загрузке конвейера одновременно вычисляются 4 значения выходной последовательности уi, i=0, 1,… N. Достоинствам конвейерной реализации служит то, что после того, как все устройства конвейера загружены работой, очередной результат преобразования выдается на выходе через промежуток времени, равный длительности одного шага. И это при том, что время получении этого результата равно суммарной длительности всех шагов конвейера.

Показать весь текст
Заполнить форму текущей работой