MemoryLoading
Overview
Allocates memory for stress test
Discussion
This module is used to check the memory bandwidth of the target. At instantiation time you specify the size of the memory buffer (memSize) and in which heap it should be allocated (memHeap). Then at run time, the module writes a block counter value into every value of the array. It repeats this blockWriteCount times per block process. That is, every time the processing function is called, the module performs a total blockWriteCount*memSize memory write operations. All write operations write the current value of the block counter.
Type Definition
typedef struct _ModuleMemoryLoading
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 blockWriteCount; // Number of iterations to repeat the memory block write
INT32 memSize; // Memory size of the buffer in words
INT32 memHeap; // Heap in which to allocate memory
INT32 blockCounter; // Number of cycles to consumer per block process
INT32* memArray; // Internal array allocated in speficied memory heap
} ModuleMemoryLoadingClass;
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
blockWriteCount | int | parameter | 0 | 1 | 1:1000 | |
memSize | int | const | 1 | 1000 | Unrestricted | |
memHeap | int | const | 1 | 1 | Unrestricted | |
blockCounter | int | state | 1 | 0 | Unrestricted | |
memArray | int* | state | 1 | [1000 x 1] | Unrestricted |
MATLAB Usage
File Name: memory_loading_module.m
M=memory_loading_module(NAME, MEMORY_SIZE, MEMORY_HEAP)
This module allocates memory of MEMORY_SIZE words in Audio Weaver heap
specified by MEMORY_HEAP argument. It can be useful for debugging and
memory test. The module continuously writes to the area of memory
in order to stress the memory bandwidth of the system. Arguments:
NAME - name of the module.
MEMORY_SIZE - Specifies array size in words.
MEMHEAP - specifies the memory heap to use to allocate the array.
This is a string and follows the memory allocation enumeration
in Framework.h. Allowable values are:
'AWE_HEAP_FAST' - always use internal DM memory.
'AWE_HEAP_FASTB' - always use internal PM memory.
'AWE_HEAP_SLOW' - always use external memory (the default).