Микропроцессорные системы и программное обеспечение в средствах связи. Гребешков А.Ю. - 222 стр.

UptoLike

Составители: 

Рубрика: 

Микропроцессорные системы и программное обеспечение в средствах связи
222
последний обрабатываемый отсчёт. Например, на рис. 4.5, a) указатель
содержит адрес 20044, в то время как на рис. 4.5, б) он содержит адрес
20045. Когда появляется новый отсчёт, он заменяет самый «старый»
отсчёт в массиве, и указатель перемещается на один адрес вперед.
Круговые буферы эффективны, потому что когда появляется новый от-
счёт, должно быть изменено
только одно значениезначение указате-
ля.
Чтобы управлять круговым буфером, необходимы четыре пара-
метра. Первыйуказатель, который указывает начало кругового буфе-
ра в памяти (в этом примере, 20041). Второйуказатель на конец мас-
сива (например, 20048), или переменная, которая содержит его длину
(например, 8). Третий параметршаг адресации памяти. На рис. 4.5
размер шага
равен единице, например: ячейка с адресом 20043 содер-
жит один отсчёт, ячейка с адресом 20044 содержит следующий отсчёт,
и так далее. Часто значение шага исключительно важно. Например, ад-
ресация может относиться к байтам, и каждый отсчёт может требовать
двух или четырех байт, чтобы вместить его значение. Соответственно,
размер шага должен быть равен
двум или четырём. Эти три параметра
определяют размер и конфигурацию кругового буфера, и не будут ме-
няться в течение выполнения программы. Четвертый параметруказа-
тель на самый последний отсчёт, должен изменяться с каждым появле-
нием нового отсчёта. Другими словами, должна использоваться про-
граммируемая логика, которая контролирует, как обновляется значение
четвертого параметра
, основываясь на значении первых трех пара-
метров. Так как эта логика весьма проста, она должна быть очень бы-
стродействующей. ПЦОС должны быть оптимизированы для примене-
ния управляющих круговых буферов так, чтобы достичь самой высокой
из возможных скоростей работы.
Пусть для каждого нового отсчёта в схеме на рис. 4.5, ПЦОС дол-
жен
выполнить следующую операцию :
  Микропроцессорные системы и программное обеспечение в средствах связи
последний обрабатываемый отсчёт. Например, на рис. 4.5, a) указатель
содержит адрес 20044, в то время как на рис. 4.5, б) он содержит адрес
20045. Когда появляется новый отсчёт, он заменяет самый «старый»
отсчёт в массиве, и указатель перемещается на один адрес вперед.
Круговые буферы эффективны, потому что когда появляется новый от-
счёт, должно быть изменено только одно значение – значение указате-
ля.
      Чтобы управлять круговым буфером, необходимы четыре пара-
метра. Первый – указатель, который указывает начало кругового буфе-
ра в памяти (в этом примере, 20041). Второй – указатель на конец мас-
сива (например, 20048), или переменная, которая содержит его длину
(например, 8). Третий параметр – шаг адресации памяти. На рис. 4.5
размер шага равен единице, например: ячейка с адресом 20043 содер-
жит один отсчёт, ячейка с адресом 20044 содержит следующий отсчёт,
и так далее. Часто значение шага исключительно важно. Например, ад-
ресация может относиться к байтам, и каждый отсчёт может требовать
двух или четырех байт, чтобы вместить его значение. Соответственно,
размер шага должен быть равен двум или четырём. Эти три параметра
определяют размер и конфигурацию кругового буфера, и не будут ме-
няться в течение выполнения программы. Четвертый параметр – указа-
тель на самый последний отсчёт, должен изменяться с каждым появле-
нием нового отсчёта. Другими словами, должна использоваться про-
граммируемая логика, которая контролирует, как обновляется значение
четвертого параметра,    основываясь на значении первых трех пара-
метров. Так как эта логика весьма проста, она должна быть очень бы-
стродействующей. ПЦОС должны быть оптимизированы для примене-
ния управляющих круговых буферов так, чтобы достичь самой высокой
из возможных скоростей работы.
      Пусть для каждого нового отсчёта в схеме на рис. 4.5, ПЦОС дол-
жен выполнить следующую операцию :

                                   222