Проектирование устройств на сигнальных процессорах: Учебное пособие (Проектирование цифровых устройств аппаратуры связи на ЦСП семейства ADSP-21xx), страница 9

Далее, выполняемые операции стремятся выразить через символические обозначения участвующих величин. В качестве критерия доведения этой работы до конца может служить получение алгоритма на одном из языков высокого уровня, например, на Pascal’е. Язык высокого уровня позволяет чётко описать задачу, пока ассемблер процессора ещё не освоен.

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

Алгоритмический язык высокого уровня имеет средства для описания вычислительных операций. Так что в алгоритм естественным путём впишутся формулы, если они есть в техническом задании. Следует обратить внимание на одну особенность этого процесса, связанную с принципом работы элементов памяти процессора. При записи информации в ячейку ОЗУ или регистр прежде хранившаяся там информация исчезает и начинается хранение новой информации. В Pascal’е  этот процесс отображается оператором присвоения, который обозначается символом :=  (в других языках он заменяется на  = или ¬). Важно не забывать о различии в смысле знака "=" в формуле и в алгоритме. Например, алгоритмическая операция X = Х+А означает, что величине X присваивается новое значение, которое получено суммированием прежнего значения X и величины А.

С разбиением сложных алгоритмических выражений на более простые выражения можно подождать, если очевидно, что осложнений не возникнет. Этот этап будет рассмотрен в разделе 7.2 пособия.

Бывает, что отдельные вроде бы простые строки словесного алгоритма неочевидны для записи на алгоритмическом языке. В частности, такое встречается в задачах, требующих побитной обработки цифровой величины, то есть её представления в виде массива одноразрядных величин. Для эффективного использования ЦСП такую величину вводят как одно многоразрядное число, а при обработке отдельных разрядов используют "маску" - специально подготавливаемое вспомогательное число.

Если в применяемом языке отсутствует нужный оператор, то его можно пока заменить чем угодно, вплоть до мнемоники или текстовой строки.

На основе регистров общего назначения, имеющихся в составе ЦСП, при участии АЛУ могут быть организованы эквиваленты таких цифровых узлов, как регистр сдвига, двоичный счётчик и др.

Выбор числовых представлений (типов переменных) делается ещё на этапе разработки алгоритма. При использовании табличных методов важно получать адреса для обращения к таблицам как целые величины.

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

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

5.4. Разработка структурной схемы ЦУ

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

При разработке структурной схемы следует учитывать требования, вытекающие из технического задания, использовать сведения, содержащиеся в разделах 2 и 3 и приведённые ниже. Решению подлежат следующие вопросы.

5.4.1. Выбор типа ЦСП производится по быстродействию и объёму памяти, которые необходимы для решения поставленной задачи. В курсовом проекте не придётся оценивать время выполнения всего алгоритма  и объём программной памяти и памяти данных, так как задание предусматривает разработку лишь фрагмента программного обеспечения. Можно будет ограничиться расчётом времени выполнения разработанной подпрограммы (п. 8.3). В некоторых вариантах может быть задано подключение дополнительной внешней памяти, учитывающей нужды не фрагмента, а ЦУ в целом.