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

[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]

Метка

Номер байта

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

4hcjio тактов

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

SUB м

Корректировка значения путем вычитания поправки, хранящейся в ячейке (М05) (М06), из содержимого А

Вычитание из содержимого А величины Тст/2, содержащейся во втором байте команды.

В результате последних трех операций в А образуется значение операнда ERRT, необходимое для ПБ .Измерение".

сигнала от ожидаемого экстраполированного значения на каждом цикле измерения.

, Детализация рассматриваемых программных блоков представлена в табл. 5.8, которая является непосредственным продолжением табл. 5.7. Результатом выполнения программного блока «Отсчет» является определение ошибки li, измеряемой с помощью преобразователя время - код (значение ( записывается в ячейку ОЗУ с адресом {М07У{М08У). В результате выполнения программного блока «Контроль» выясняется достоверность проводимых измерений и вычисляется текущее значение ошибки е, (операнд ER\RT), которое сохраняется в аккумуляторе А для продолжения вычислений по заданной программе.

При определении е, необходимо учитывать, что задержка строба (тзг на рис. 5.4) управляется грубым значением операнда ЕХТТ, поэтому измеренное с помощью ПВК значение li следует откорректировать путем вычитания точной поправки к операнду ЕХТТ, вычисляемой в процессе измерений и хранящейся в ячейке ОЗУ с адресом (М05У<,МОбу. Эта операция осуществляется с помощью команды SUB М в табл. 5.7.

В случае принятия решения о достоверности измерительного процесса осуществляется переход к программному блоку «Измерение», задачей которого является

выработка точной оценки ти(.0 измеряемого временного 180



интервала в соответствии с алгоритмом (5.1) - (5.3) на основе полученных значений е,.

3. Программный блок «Измерение». Особенностью этого программного блока является необходимость вычисления операндов ЕХТТ и ESTT, имеющих разрядность, превышающую разрядность МПК. Поэтому для хранения этих операндов используются две ячейки ОЗУ {(М03у(М04у, (М05У{МОбу для ЕХТТ и (МО9у(МО10у, {М011у{М012) для ESTT), а взаимодействие между


Рис. 5.8. Две эквивалентные схемы алгоритма вычисления оценки с ДВОЙНОЙ разрядностью



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

На рис. 5.8 представлены два варианта исполнения одной и той же операции ESTT:=EXTT-\-CORT (из схемы на рис. 5.5) при двойной разрядности операндов ESTT и ЕХТТ, причем точные составляющие" этих операндов, так же как и операнд CORT, являются знакопеременными. Вариант а) отражает принцип выполнения рассматриваемой операции, а вариант б) является его эквивалентным преобразованием, более удобным для практической реализации в системе команд выбранного МПК. Совершенно аналогично выполняется с двойной разрядностью операция EXTT:=ESTT-\-ESTV (см. рис. 5.5), так как разрядность операнда EST]/ не превышает разрядности МПК. Схема на рис. 5.8 используется ниже для составления рабочей программы алгоритма измерений, который в общих чертах представлен на рис. 5.5.

Другой особенностью программного блока «Измерение» является наличие двух операций умножения (см. рис. 5.5), которые, как уже отмечалось в п. 5.2.3, целесообразно упростить путем аппроксимации констант /СТ и KV числами, равными степени 2, т. е. принять КТ~ =2sr и /CV=2. При этом операция умножения сводится к сдвигу операнда ERRT на определенное количество разрядов вправо, так как при правильном выборе рекуррентного алгоритма сглаживания (5.1) - (5.3) значения КТ и KV меньше единицы.

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



[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