Оперативная оптимизация памяти

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

Эти после функций в DSP System Toolbox™ поддерживают оперативную оптимизацию памяти.

Чтобы проиллюстрировать метод оперативной оптимизации, рассмотрите эту модель, которая содержит последовательность три, связанные блоки Discrete FIR Filter. Каждый блок фильтрует вход, это получает и генерирует выход, который является одного размера с входом.

Three Discrete FIR Filter blocks are connected to each other in a sequence. Each block is labelled. The first block is named Discrete FIR Filter, second block is named Discrete FIR Filter1, and the last block is named Discrete FIR Filter2. The input port of the first block is connected to an Inport block. The output port of the last block is connected to an Outport block.

Когда вы генерируете код из такой модели, вы видите оперативную оптимизацию в сгенерированном коде.

Этот раздел показывает оперативный оптимизированный сгенерированный код. Три for циклы с индексом итерации n соответствуют соответствующему блоку Discrete FIR Filter в модели Simulink®. В каждом из этих трех for циклы, фильтр выход вычисляется и хранится в m3fir_Y.Output [] буфер. m3fir_Y.Output [] буфер переписывает свое значение каждый раз, когда блок Discrete FIR Filter имеет обновленный выход.

This image shows a sequence of for loops in the in-place optimized generated code. The first two for loops control the iteration over the number of input channels and the samples in each channel. The first for loop with the iteration index n corresponds to the first Discrete FIR Filter block.

This image contains two for loops with the iteration index n. These loops correspond to the last two Discrete FIR Filter blocks.

Сгенерированный код снова использует буфер вывода и следовательно эффективен и использует меньше памяти.

Когда вы генерируете код из алгоритма MATLAB®, содержащего последовательность dsp.FIRFilter объекты, вы видите подобную оптимизацию в сгенерированном коде.

Смотрите также

Функции

Похожие темы