DSP/BIOS Link
A DSP/BIOS Link vagy DSPLINK egy processzorok közti IPC kommunikációt lehetővé tevő technológiai elrendezés, amely üzenetek és adatok átadására szolgál a multiprocesszoros rendszerekben (nem összetévesztendő a Texas Instruments DSP/BIOS nevű valós idejű operációs rendszerével). A Texas Instruments DaVinci DSP család esetében ez a kialakítás lehetővé teszi üzenetek és adatok átadását egy ARM kliens és egy DSP szerver (kiszolgáló) között. A DSPLINK egy RPC távoli procedúrahívást megvalósító szoftverabsztrakciós réteg kialakítására használható, ami lehetővé teszi, hogy egy ARM processzor a DSP (digitális jelprocesszor) távoli funkcióit helyi, lokális funkcióhívásokként érje el és használja azokat az alkalmazáskódban. Ennek példája a Codec Engine IPC[1] kommunikációs réteg, amely egy a DSP/BIOS Link elrendezés felett megvalósított RPC hívási séma.
A DSP/BIOS Link a funkció megvalósításához osztott memóriát és belső megszakításokat használ, mind a két irányú kommunikációhoz.
Az osztott memória protokoll kialakítása az IPC[1] számára a következő:
- Az ARM és a DSP architektúrájában egy előre meghatározott memóriacímet és -területet jelölnek ki, mind a két eszközön, amely az üzenetek küldésére és fogadására szolgál a következőkben.
- Az egyik processzor úgy küld egy üzenetet a másik processzornak, hogy az üzenetet az előre meghatározott/kijelölt címre írja a memóriában, majd egy megszakítási kérelmet küld a másik processzornak, amely azt jelzi, hogy egy új üzenet készült, rendelkezésre áll olvasásra. Nagyobb adatpufferek átadásakor csak egy az adott pufferre mutató cím lesz átadva, mivel maga a puffer az osztott memóriában található, amely mindkét processzor számára hozzáférhető. Az ARM puffercímeket a DSP felé történő átadáskor le kell fordítani fizikai címekre, mivel a DSP-nek nincs MMU-ja és nem alkalmaz virtuális címeket.
- Mikor az üzenetet fogadó processzor elolvasta azt, beállít egy jelzőt az osztott memóriában, annak a jelzésére, hogy az üzenet-memória már rendelkezésre áll (szabad) és újraírható egy másik üzenettel.
A DaVinci alapú eszközökbe épített DSP-k általában a Texas Instruments DSP/BIOS valós idejű operációs rendszerét futtatják. Mikor az eszközben több különböző mag található heterogén elrendezésben, ilyen például a DM644x, DSP/BIOS Link meghajtók futnak mind az ARM, mind a DSP magokon az eszközök közötti kommunikáció biztosítására.
ARM operációs rendszer-támogatás
[szerkesztés]Számos ARM9 operációs rendszer támogatja a DSP/BIOS Link meghajtókat:
- Montavista Linux
- TimeSys Linux
- Mentor Graphics Nucleus OS
- Green Hills Software INTEGRITY RTOS
- QNX Neutrino valós idejű operációs rendszer
- Windows CE
- LEOs (RTOS)
Jegyzetek
[szerkesztés]Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a DSPBIOS című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
[szerkesztés]További információk
[szerkesztés]- Programming Details of Codec Engine for DaVinciTechnology (Whitepaper)
- Using a multicore RTOS for DSP applications
- DSP/BIOS Link WebEx Presentations Archiválva 2013. január 22-i dátummal az Archive.is-en