1 / 9

Mapping Behavior and Software for MPEG Decoder on Mobile: Experimentation & Analysis

Explore methods to model behavior and software, map behavior on hardware and software, analyze performance, resource utilization, and power consumption on mobile phone architectures. Compare performance on three architectures. Develop top-level models with select parameters, traffic source, and computing software. Confidential behavior modeling with latency instructions and task sequencing. Analyze latency and behavior modeling in uEngine; estimate software execution time and latency. Perform software code estimation and analyze latency and power consumption across architectures.

benfer
Download Presentation

Mapping Behavior and Software for MPEG Decoder on Mobile: Experimentation & Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Behavior and Software Modeling MPEG Decoder Mapping on Mobile Phone Architecture

  2. Model Purpose and Criteria • Different methods to model behavior/ software • Mapping of behavior on hardware and software • Experimentation and analysis • Performance, resource utilization and power consumption • Compare the performance on the three architectures Mirabilis Designã Confidential

  3. Top-Level Model Three Architectures Select Parameters Traffic Source Computing & Plotting Software Definition Mirabilis Designã Confidential

  4. Architecture Architecture Parameters Architecture Resources Data Routing Between resources Mirabilis Designã Confidential

  5. Behavior Modeling: Define instructions an provide latency to Scheduler Three Sequences Behavior Modeling in the uEngine LBL Video_Packet_Loop ; /* Video Packet Loop */ ACT input wait ; /* Wait for DS In */ ACT DS_Out = Input_Queue ; /* Input Queue */ LBL Execute_on_Processor ; /* Schedule Resource */ ACT DS_Out.Task_Time = rand(1000.0, 2000.0) ; /* Execute on Processor */ ACT DS_Out.Cell_Command = Mapping_Name ; /* Send to Mapping Name */ ACT DS_Out.INDEX = Plot_ID ; /* Send to Task ID */ ACT output2 send DS_Out ; /* Send Packet Out */ ACT input2 wait ; /* Wait for Complete */ ACT DS_Out = Input_Queue ; /* Input Queue */ LBL Execute_on_Bus ; /* Schedule Resource */ ACT DS_Out.Task_Time = rand(100.0, 200.0) ; /* Execute on Bus */ ACT Text_ = "B" ; /* Construct Dest */ ACT Text_ += Integer_ ; /* Construct Dest */ ACT DS_Out.Cell_Command = Text_ ; /* Send to Mapping Name */ ACT DS_Out.INDEX = 1 ; /* Send to Task ID */ ACT output2 send DS_Out ; /* Send Packet Out */ ACT input2 wait ; /* Wait for Complete */ ACT DS_Out = Input_Queue ; /* Input Queue */ LBL Execute_on_Cache ; /* Schedule Resource */ ACT DS_Out.Task_Time = rand(100.0, 200.0) ; /* Execute on Cache */ ACT Text_ = "C" ; /* Construct Dest */ ACT Text_ += Integer_ ; /* Construct Dest */ ACT DS_Out.Cell_Command = Text_ ; /* Send to Mapping Name */ ACT DS_Out.INDEX = 2 ; /* Send to Task ID */ ACT output2 send DS_Out ; /* Send Packet Out */ ACT input2 wait ; /* Wait for Complete */ ACT DS_Out = Input_Queue ; /* Input Queue */ LBL Send_Packet_Out ; /* Done with Tasks */ ACT output send DS_Out ; /* Send Packet Out */ Send to Task_Issue Mirabilis Designã Confidential

  6. Behavior Modeling: Describe pseudo code and latency per task Behavior and Latency Modeling in uEngine LBL Psuedo_Code ; /* SWT adds delay */ ACT Software_Time = irand(1000, 2000) ; /* Convert to Double */ ACT Software_Time *= SWT ; /* Cycle Time */ ACT Software_Time wait ; /* Process Algorithm 1 */ LBL Cycle_Per_Instruction ; SWT JIF Integer_ < 1500 +3 ; /* Follow-On Process */ SWT ACT Integer_ = 1500 - Integer_ ; /* Make a Calc */ SWT GTO +2 ; SWT ACT Integer_ = Integer_ - 1500 ; /* Make a Calc */ SWT WHL Integer_ >= 0 Ext_Code_Execution ; /* While Loop */ SWT ACT Software_Time = SWT * 2.0 ; /* Times 2.0 */ ACT Software_Time wait ; /* Wait for 2 Cycles */ SWT RTN Integer_ -- ; /* End of Loop */ LBL Ext_Code_Execution ; ACT Software_Time = TReal ; /* Wall Clock */ ACT output send DS_Out ; /* Send Packet to SW */ ACT input wait ; /* Wait SW to Finish */ ACT Text2_ = Input_Queue ; /* Input Queue */ ACT Software_Time = TReal - Software_Time ; /* Delta Wall Clock */ ACT Software_Time *= 1.0E-03 ; /* Convert to Seconds */ ACT DS_Out.Task_Time = Software_Time / SW_Cycles_per_Sec ; /* Store in DS */ ACT output2 send DS_Out ; /* Send Packet Out */ GTO Video_Packet_Loop ; /* Repeat */ Latency in DLY Column using a parameter Delay using “wait” statement Mirabilis Designã Confidential

  7. uEngine Software estimation Code LBL Video_Packet_Loop ; /* Video Packet Loop */ ACT input2 wait ; /* Wait for DS In */ ACT DS_Out = Input_Queue ; /* Input Queue */ ACT Software_Time = TReal ; /* Wall Clock */ ACT output send DS_Out ; /* Send Packet to SW */ ACT input wait ; /* Wait for SW to Exec */ ACT Text_ = Input_Queue ; /* Input Queue */ ACT Software_Time = TReal - Software_Time ; /* Wall Clock Time */ JIT Software_Time < 1.0 +4 ; /* Fast Software? */ ACT Software_Time *= 1.0E-03 ; /* Convert Msec to Sec */ ACT Software_Time /= SW_Cycles_per_Sec ; /* Convert Cycl to Sec */ ACT DS_Out.Task_Time = Software_Time ; /* Store in DS */ ACT output2 send DS_Out ; /* Send Packet Out */ GTO Video_Packet_Loop ; /* Repeat */ Software Code Estimation • Create a C Wrapper in VisualSim for the decoder code • Attached the input and output of the wrapper to the uEngine block • Connect output2 of uEngine to a Task_Issue • The Real Time difference between the input and output to code is the processing time Mirabilis Designã Confidential

  8. Latency and Power Analysis Total Latency for the same operation on different architectures Total Power for the same operation on different architectures Mirabilis Designã Confidential

  9. Resource Task Graph Activity at each resource on a timeline Mirabilis Designã Confidential

More Related