Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 64
Текст из файла (страница 64)
выполнение операции умножения в специализированной БИС, предназначенной для реализации этой операции. Ниже будут рассматриваться методы ускорения прн программной реализации операции умножения. В схеме алгоритма на рис. 8.28,б предполагалось, что операция умножения реализуется подпрограммой, к которой производится обращение из различных точек главной программы. Использование подпрограммы умножения сокращает объем программы и емкость памяти, требуемой для ее хранения. Однако процессы, связанные с обращением к подпрограмме и возвратом в главную программу, снижают скорость выполнения программы н быстродействие цифрового фильтра.
Если стремиться к увеличению быстродействия фильтра, следует, исключив подпрограмму, операцию умножения описывать непосредственно в главной программе, Так как это описание операции умножения в главной программе будет повторяться во всех местах, где требуется выполнение этой операции, то объем программы увеличится н для ее хранения потребуется ббльшая емкость памяти, Следует иметь в виду, что участки программы, описывающие операцию умножения (илн подпрограмма умножения), должны быть построены так, чтобы время их исполнения не зависело от выбора ветви программы прн выполнении команд условного перехода. Выполнение этого условия, необходимое для того, чтобы время исполнения цикла обработки было бы постоянно, требует включения в программу команд холостой операции.
Это приводит к тому, что наличие в разрядах множителя нулей не приводит к уменьшению времени выполнения операции умножения, Этот недостаток в случае, когда ие предполагается варьнрование значений коэффициентов а,. а,, а,, Ь,. Ь„ можно устранить, используя следующий прием умножения. Представим значение коэффициента а, в форме а, --- !а,! з(йп аа.
где !а,! — модуль коэффициента а,, — ! прн а,(0, Мдпа = + ! прн аа=.О. Представив в подобной форме н все другие коэффициенты, разностное уравнение (8.26) цифрового фильтра 2-го порядка можно записать в следующем виде: Ю.-! ! Ю *„~! ! '! *.-,-!! Г! ~К а .— .!- е, г, +(Ь>) ( — з>дпЬ>)у„! )-)Ь.! ( — з>йпЬт)у„, =-с,г,+с,г,+ с, а, 1 о + ст гт + сз гз + с> гч.
(8.35) При такой записи разностного уравнения все коэффициенты с„, с„..., сх имеют положительные значения. Будем считать, что значения переменных г,, ..., г, представляются в дополнительном коде. Пусть коэффициенты с! выражаются л-разрядными числами, меньшими единицы: с, = с';" 2-'+ с>!'! 2-'+ ., + с!"> 2 -" (8.36) где с! — значение )сто разряда коэффициента с! (отсчет разрядов при>7> нят от старшего разряда в сторону младших разрядов). Представим выражение (8.36) в форме Горнера с>=(...((с!">2 т+с!." — '>)2->+с'."->>)2->+ ...+с' >)2-'.
(8.37) Аналогично в форме Горнера можно представить значения перемен- ных г,, входящих в выражение (8.35) г! = ( „ .((г!'> 2 в ' + г!" — '> ) 2 в ' + г!" — г>) 2- ' + ... + г';") 2 ' + г';"'. 1 l (8.38) Здесь член г; соответствует знаковому разряду в г!. >о> После подстановки (8.38) в (8.35) и соответствующей группировки членов получим '= Й' "' -' " -") -' 1>=! >=. ! + ~~ с>г!" — г>~ 2 '+ ...) 2-'+ '> сгг!"'. (8.39) >=1 >> 5 Сумма ~ с,г,'" является при заданном значении коэффициентов >=! с; функцией значений )сто разряда пяти величин: г>п, г>>>>, ..., г1>>, т. е.
5 с! г>>> = >(> (г>п г>п ф>) (8.40) >= ! Такая функция >)> пяти аргументов задается на 2' ==- 32 комбинациях значений аргументов. Следовательно, для задания значений коэффициентов с! можно предварительно вычислить значение этой суммы для всех 32 возможных комбинаций значений г>П, г>>>>, ..., г>>>>. Вычисленные таким образом значения функции >Ь можно хранить в ПЗУ.
При этом адресами ячеек ПЗУ могут служить комбинации значений аргументов г>>... г>, а содержимое ячеек — значение»>. В этом случае для Рнс. 8.30. Аппаратная реализации аргументов функции ф нахождения каждой из входящих в выражение (8.39) сумм достаточно лишь одного обращения в ПЗУ. Алгоритм рассмотренного способа вычислений показан на рис. Рис.
а.29. Алгоритм уско- 8.29. ренного выполнения умно- Трудности реализации этого метода моженнй гут быть связаны с формированием комбинаций значений г>>п...г!», составленных из значений )сто разряда пяти переменных г,. Наиболее эффективна в этом случае аппаратная реализация, представленная иа рис.
8.30. Здесь регистры >с>...ка хранят соответственно переменные г,...г,. Регистры построены так, что в них обеспечивается выполнение операции циклического сдвига вправо. При каждом сдвиге, выполняемом одновременно над содержимым всех регистров, на их выходах образуется кодовая комбинация г>П>...г2>> (> — номер сдвига). Эта кодовая комбинация используется в качестве адреса, по которому производится обращение в постоянное ЗУ, хранящее функцию >р. Таким образом, если разрядность регистров равна т, то вычисление выражения уа завершается после т-кратного сдвига содержимого регистров.
Этот метод ускоренного умножения рассматривался применительно к фильтру 2-го порядка с пятью коэффициентами, иа которые умножались переменные. Увеличение порядка фильтра на единицу может вызвать увеличение числа коэффициентов на две единицы и, следовательно, число коэффициентов в фильтре й-го порядка может составить 2 й + !. Таким же будет и число аргументов функции >(>, и емкость памяти, требуемая для хранения значений этой функции, составит 2'а+> =- 2 4' --= 2 еа'"'. Таким образом, с ростом порядка фильтра происходит экспоненциальиый рост емкости памяти, предназначенной для хранения функции >(>. Рост емкости памяти в свою очередь приводит к увеличению времени выборки чисел из памяти. Этот недостаток не проявляется, если фильтр высокого порядка строится путем каскадного или параллельного соединения звеньев фильтра 1-го и 2-го порядков. Выполнение фильтра с помощью рассматриваемого метода ускоренного умножения оказывается невозможным, если предусматривается изменения значений козффициентов фильтра в процессе его работы.
СПИСОК ЛИТЕРАТУРЫ !. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцессорные системы: Учеб. пособие для вузов /Под ред. В. Б. Смолова.— Мл Радио и сввзь, 198!. 2. Березенко А. И., Корягин Л. Н., Назарьяи А. Р. Микропроцессорные комплекты повышенного быстродействия. — М.: Радио и связь, !98!.
3. Березеико А. И. Микропроцессорные комплекты общего применення.— Мл Машиностроение, !982. 4. Васильев Н. П., Гороаой В. Р. Микропроцессоры. Аппаратурно.программные средства отладки: Учеб. пособие для вузов/Под ред. Л. Н. Преснухииа. — Мл Высшая школа, !984. 5. Воробьев Н. В., Вернер В. Д. Микропроцессоры: Элементная базе н схемотехника средств сопряжения: Учеб. пособие для вузов/Под ред. Л. Н. Преснухнна. — Мл Высшая школа, 1984.
5. Гольденберг Л. М., Матюшкин Б. Д., Поляк М,Н. Цифровая обработка сигналов: Справочник. — Мл Радио н свнзь, 1985. 7. Каган Б. М., Стешин В,В. Микропроцессоры в цифровых системах. — М.; Энергия, 1979. 8. Клннгман Э. Проектирование специализированных микропроцессорных систем: Пер, с англ.— Мл Мир, 1985. 9. Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с раз. рядно-модульной организацмей: Пер. с англ. — В 2-х кн. — М.: Мир, 1984.
1О. Микропроцессорные комплекты интегральных схем: Состав н структура: Справочник/Под ред. А.А. Васенкова, В.А. Шахноза. — М.: Радио и связь, 1982. 11. Прангншвнли И. В., Стецюра Г. Г. Микропроцессорные системы.— Мл Наука, 1980. 12. Проектированме цифровых систем на комплектах мнкропрограммнруемых БЙС/Булгаков С.
С. н др.; Под ред. В. Г. Колесникова. — М.: Радио н связь, 1984. 13. Уокерли Дж. Архитектура и программирование микро ЭВМ: Пер. с англ.— В 2-х кн.— М,; Мир, 1984, 14. Швньгин В. Ф., Костин А. Е. Микропроцессоры: Органнзапня вычислительных процессов нз микроЭВМ.— Мл Вмешан школа, 1984. 15. Микопроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2-х т./В.-Б.
Б. Абрайтнс, Н. Н. Аверьянов, А. И. Белоус и дрх Под ред, В. А. Шахноза — Мх Радио н связь, 1988. ОГЛАВЛЕНИЕ Предисловие Введение 5 7 !3 16 60 61 63 67 71 устройства 74 3.1. Состав микропроцессорного комплекта............ 74 3,2. Микропроцессор КР580ИК80...... 76 3,3. Приемы программирования микропроцессора на языке кодовых комбинаций . 99 3.4. Программирование на языне Ассемблера........... 110 3.5. Программирование на языке высокого уровня Р1./М-80.... 122 3.6.
Узлы микропроцессорного устройства............... 142 367 В. 1. Системы счи слеп и н . В.2. Перевод чисел нз одной системы счисления в другую В.З. Формы представления чисел . В.4. Выполнение арифметичесних операций.... ПРИНЦИПЫ ПОСТРОЕНИИ ПРОЦЕССОРОВ 1. !. Аналоговый и цифровой методы обработки информации.... 1.2. Общан структура процессора 1.3.