Mappers / SoftwareMapper
Code File Location: VisualSim/actor/lib/Task_Issue
o The SoftwareMapper block is a Hardware or Software Task issuer based on an incoming Data Structure.
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?