![]() ![]() |
||||||||||
|
||||||||||
A
memory component represents an execution platform component that stores binary images.
This execution platform component consists of hardware such as randomly accessible physical
storage, e.g., RAM, ROM, or more complex permanent storage such as disks, reflective memory,
or logical storage. Memories have properties such as the number and size of addressable
storage locations. Subprograms, data, and processes reflected in binary images - are bound
to
memory components for access by processors when executing threads. A memory component
may be contained in a processor or may be accessible from a processor via a bus.
Legality
Rules
A
memory type can contain requires bus access declarations and property associations. It must
not contain flow specifications.
A
memory implementation can contain memory subcomponent declarations.
A
memory implementation can contain a modes subclause and property associations.
A
memory implementation must not contain a connections subclause, flows subclause, or
subprogram calls subclause.
Standard
Properties
--
Properties related memory as a resource and its access
Memory_Protocol: enumeration
(read_only, write_only, read_write) =>
read_write
Word_Size:
Size => 8 bits
Word_Count: aadlinteger 0 .. value(Max_Word_Count)
Word_Space: aadlinteger 1 .. value(Max_Word_Space) => 1
Base_Address: access aadlinteger 0 ..
value(Max_Base_Address)
Read_Time: list of
Time_Range
Write_Time: list of
Time_Range
--
Hardware description properties
Hardware_Description_Source_Text: inherit list
of aadlstring
Hardware_Source_Language:
Supported_Hardware_Source_Languages
Semantics
Memory
components are used to store binary images of source text, i.e., code and data. These
images are loaded into memory representing the virtual address space of a process and are
accessible to threads contained in the respective processes bound to the processor. Such
access is possible if the memory is contained in this processor or is accessible to this processor
via a shared bus component. Loading of binary images into memory may occur during processor
startup or the binary images may have been preloaded into memory before system startup. An
example of the latter case is PROM or EPROM containing binary images.
A
memory is accessible from a processor if the memory is connected via a shared bus
component and the Allowed_Access_Protocol property value for that bus includes
Memory_Access.
Memory
components can have different property values under different operational modes. |
||||||||||