SoftwareMapper

Parent Previous Next

Mappers / SoftwareMapper

Block Name: SoftwareMapper

Code File Location: VisualSim/actor/lib/Task_Issue

Block Overview

   o   The SoftwareMapper block is a Hardware or Software Task issuer based on an incoming Data Structure.


Advanced Mapper

Description

This Task Issuer generates tasks for a SystemResource or SystemResource_Extend based on the parameter settings of this block. The parameter settings of this block determine how the task will be processed by the parent scheduler. All of the parameter fields can be fixed values, or fields of incoming Data Structures. This allows information to be passed for further model refinement, especially with the SystemResource_Extend Block.   The block can either Queue the incoming Data Structure or send it to the SystemResource imemdiately.  When Queue, the simulator notes down the order of arrival and sends it to the appropriate SystemResource when the SystemResource becomes available.  The task time can be fixed or variable based on this block settings.

Refer SystemResource_FCFS_Preempt_Mutex demo model. 


Parameter

Explanation

Type

Example

Parent_Scheduler_Name

It is used to identify the next level SystemResource, whether SystemResource or SystemResource_Extend. This parameter string, or incoming DS field name, must be set to a SystemResource name. If the Parent_Scheduler_Name does not match a SystemResource, then an exception will be generated.

String

"CPU"

Task_Number

The processing period along a timeline is available on the plot_output from the Schedulers. The duration is highlighted by a low-to-high at the beginning and high-to-low at the end of the period.  The Task_Number value is the height on the Y-axis. If plotting is important, this number must be unique.

Integer or String (field)

"Task_Numer" or 1

Task_Priority

Parameter for the priority of the data structure. The priority is sent to the SystemResource and SystemResource_Extend.  The queue in the SystemResource is reordered based on the priority. This field can contain an integer (No quote and fixed for all data structures) or a fieldname (Within quotes and unique for each data structure).

Integer or String (field)

"A_Priority" or 2 or None

Task_Mean_Time

It is used in conjunction with Task_Distribution. In Uniform distribution it represents minimum time. In Exponential distribution it represents both mean and standard deviation. In Normal distribution it represents the mean value. In Fixed distribution, it represents the task execution time. The task time is passed to a SystemResource or SystemResource_Extend and determines the duration of the task.  The value spassed is units of time if the SystemResource setting is relative time and number of clock cycles if the SystemResource setting is number of clocks. If a distribution is selected, then the value passed to the SystemResource is based on the distribution calculation.

Double or String (field)

"DELTA" or 2.0

Task_Spread_Time

It is used in conjunction with Task_Distribution. In Uniform distribution it represents maximum time and in Normal distribution it represents standard deviation.

Double or String (field)

2.0

Task_Queue_Length

It is used to set Mapper_Adv queue size. This is required if the Task_Type setting of this block is 'Queue_Task_Now'.

Integer or String

30

Random_Seed

It is used to set the random seed for the uniform, exponential, or normal distributions.

-

123457L

Task_Distribution

Task_Distribution attribute for statistically estimating task executuion, such as "Fixed (Mean)," "Uniform (Mean, Spread)," "Exponential (Mean)," or "Normal (Mean, Spread)."

Double

Fixed (Mean)

Task_Type

Task Type attribute, either "Queue Task Now", or "Issue Task Now".  If "Queue Task Now", then used to queue tasks at the Mapper_Adv level and if "Issue Task Now" then it passed immediately to the SystemResource or SystemResource_Extend queue. One use of this option might be in modeling bus masters, then one might set to "Queue Task Now" at the Mapper_Adv level. The default is "Queue Task Now."

-

Queue Task Now

Task_Mutual_Exclusion

Task_Mutual_Exclusion attribute is used to lock out all other tasks from preempting this Task at the SystemResource when the parameter is set to true and once the task starts. If set to false, then no effect on higher level SystemResource operation.

-

No



Port

Explanation

input

The input port.

output

The output port.



Created with the Personal Edition of HelpNDoc: What is a Help Authoring tool?