Главная  Микропроцессорные системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [ 61 ] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

Окончание табл. 5.9

Метка

Номер байга

Мнемонические обозначения .

Число тактов

Описание операций и краткие пояснения

МА\9 МА\7

54 55 56

58 59 60 61 62 63 64 65 66 67 68 69 70 71

72 73 74

MOV Е, А

М012

АДОЕ

JNC МА\7 МА\8 IP

МА\% MA2Q DCR М IMP МА\1 МА\Ъ INRM STA М05 М06

IMP МА2\ МЛ22

10 10

10 10

10 13

Пересылка операнда ESTV из А в регистр Е

Загрузка в А точно.й поправки операнда ESTT из ячейки (Л1011) (М012)

Сложение содержимого А с со-держимым регистра Е (т.е. операция EX7r:=ESTT+ESTV)

Повторение совокупности команд № 23-36, в результате выполнения которых происходит вычисление операнда ЕХТТ с двойной разрядностью. Порченное новое значение ЕХТТ

. заносится в ячейки {МОЗ) {М04) (грубое значение) и {MOS) {М06) (точная поправка). На этом заканчивается очередной цикл рекуррентного измерительного алгоритма (5.1)-(5.3), представленного в виде схемы на рис, 5.5

Безусловный переход к началу нового цикла измерений, кото-юе задается первой командой 1Б „Отсчет" по адресу {МЛ2\) {МА22). Далее циклы измерения повторяются многократно в соответствии с табл. 5.8 и 5.9. В случае перехода в режим поиска (по команде № 34 в табл. 5.8.) происходит выполнение операций в соответствии с табл. 5.7.



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

Операцию умножения можно оформить в виде отдельной подпрограммы, однако в данном случае универсальная подпрограмма, работающая с произвольным, но заранее заданным множителем 2-* {х-\, 2, 3, ...) требует больших вычислительных затрат, чем два программных блока умножения на конкретные числа КТ= =2 и KV=2, определенные на ранних этапах проектирования. Поэтому в приведенной ниже программе используется специальный программный блок, осуществляющий две операции умноженияпоследовательно.

Составленная на основе изложенных соображений рабочая программа блока «Измерение» представлена в табл. 5.9, которую можно рассматривать как продолжение табл. 5.8. Здесь заданы конкретные значения констант КТ=\/4 и KV=\/8 (т. е. 57=-2 и SV=~3). Операции CORT:=KTxERRT, CORV: = KVxERRT выделены в отдельный программный блок «Умножение», который завершается запоминанием значений операндов CORT и CORV во внутренних регистрах D и £ соответственно.

Составленные на данном этапе рабочие программы табл. 5.7-5.9 позволяют с достаточной для практики точностью оценить объем вычислительных затрат, тре-Syemux для реализации рассматриваемого алгоритма на ;базе выбранного МПК. Исчерпывающую характеристику этих затрат дает табл. 5.10. Составление подобных Даблиц заметно облегчается, благодаря разбиению всей ррограммы на блоки и подпрограммы. Однако при очень р5ольших программах (более 1000 команд) оценка вы-ислительных затрат таким методом становится весьма трудоемкой, и в этих случаях необходимы автоматизи-)ованныё методы моделирования и отладки программ.

На основании данных табл. 5.10 можно выбрать требуемый объем памяти и произвести распределение памяти по блокам программы с определением всех условных адресов, обозначенных метками в табл. 5.7-5.9. Кроме того, эта таблица дает представление о требуемых затратах времени вычислений, определяющих необ-



хбДймое быстродействие МП. Однако при анализе общих вычислительных затрат в табл. 5.10 необходимо учитывать следующие особенности.

Таблица 5.10

Наименование ПП и ПВ

Объем

(байт)

Объем ОЗУ (байт)

Время выполнения п (тактов)

Примечание

ПП .Прерывание"

Мо вкпючает объ-

ем стэка

ПБ .Поиск"

Без учета затрат

ПБ .Отсчет*

на ПП „Преры-

вание"

ПБ .Контроль"

ПБ .Умножение

ПБ .Измерение

Общие затраты

л определяется без учета ПБ .Понес"

Во-первых, непосредственное суммирование значений Мо по всем блокам дает завышенную оценку общего объема ОЗУ, так как одни и те же ячейки ОЗУ могут использоваться в нескольких программных блоках. Реальные потребности оперативной памяти определяются путем подсчета различных ячеек ОЗУ на протяжении всей программы (в табл. 5.10 получаем Л1о=11, в то время как суммирование по блокам дает 17).

Во-вторых, при определении суммарного времени выполнения программы следует учитывать только те программные блоки, которые выполняются в пределах цикла измерений, задаваемого периодом поступления сигнала (период Т на рис. 5.4). В рассматриваемом случае блок «Поиск» не входит в измерительный цикл и может не учитываться при определении общих затрат времени вычислений (приходящихся на один период Т), что и отражено в табл. 5.10.

Таким образом, представленные в табл. 5.10 данные уточняют основные характеристики программной части микропроцессорной системы, полученные на предварительных этапах разработки (см. пп. 5.2.2, 5.2.3). Кроме того, на данном этапе должна производиться детализация структурной схемы аппаратной части (см. рис. 5.6) с целью определения требуемых аппаратурных затрат.



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [ 61 ] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

0.0008