100 likes | 235 Views
DSP/BIOS™ Bridge Overview. Introduction. Bridge… Enables parallel computing on the GPP and the DSP of the OMAP. Is both a GPP device driver and an API set which enable GPP applications to use the DSP as a processing resource. Is a DSP device driver from the DSP’s perspective.
E N D
Introduction Bridge… • Enables parallel computing on the GPP and the DSP of the OMAP. • Is both a GPP device driver and an API set which enable GPP applications to use the DSP as a processing resource. • Is a DSP device driver from the DSP’s perspective. • a DSP task using two independent sub-links: • Messaging (short, fixed-length packets). • Data streaming (multiple, large buffers). • GPP application can also specify what inputs/outputs (streaming channels) a DSP task uses. • Defines a 3-phase execution model for the DSP tasks • Create, Delete, Execute
Device Management • Device Initialization • Power on • Clocks • Setup dividers per valid config values • Memory Access setup • In the case of a static configuration, DSP-MMU is programmed by the GPP for external memory access by DSP side tasks. • Map DSP internal memory for MPU access • DSP Booting • Loading Baseimage • Reset-ReStart • Maintaining State Machine
Dynamic Loading • Develop DSP applications independent of DSP base image. • Download new DSP libraries onto the system during runtime e.g. from network. • Link/Load DSP applications dynamically from GPP file system when they are needed. • Conserves DSP Memory.
Standard Message Zero-Copy Message RMS_BUFDESC dwCmd Shared Buffer Address Arg1 Shared Buffer Size Arg2 Messaging • Synchronous API to exchange messages with DSP Task nodes. • DSPNode_PutMessage • DSPNode_GetMessage • Notification mechanism provides asynchronous capability • DSPNode_RegisterNotify • DSPManager_WaitForEvents
Dynamic Memory Mapping • Dynamically map MPU side – User created buffers to DSP/IVA • Buffer copy elimination results in improved application performance. • Ability to map parts of big MPU buffers to limited DSP/IVA virtual space. • Ability to map fixed DSP/IVA virtual space to MPU buffers.
Memory Mapping Illustration DSP/IVA side chunk reserved for mapping. Buffer is mapped by Bridge starting from 0x500000 and is virtually contiguous. In this case aDspResvAddr = 0x500000 Physical Memory – buffer may not be physically contiguous MPU side virtually contiguous buffer, which is to be mapped to DSP/IVA DSP/IVA MMU LinearToPhysical DSP/IVA MMU is programmed by Bridge to map the Physical memory to chunk that is reserved on DSP. It is ensured that the buffer, as viewed by tasks on DSP/IVA, is contiguous
OMAP3430 Power Management • DSP idled when not in use • DSP automatically switched to lower power states if DSP is lying IDLE for extended periods. • Bridge supports for DSP sleep/wakeup • Provides Interfaces on DSP side for clock on/off • Supports MPU-side HLOS Power Management framework • Support for DVFS
GPP IVA2 Notify of DSP exception DEH reads from DEH writes to DSP exception log DEH DEH interrupt ISR DSP exception (HW or SW) triggers DSP Error Handler (DEH) • Provides GPP notification of DSP/BIOS program aborts and DSP MMU faults • Allows for clean recovery in GPP application • Provides easier debug and more robust application development