Łącze DSP/BIOS
DSP/BIOS Link lub DSPLINK to schemat komunikacji międzyprocesorowej lub międzyprocesowej (IPC) służący do przekazywania komunikatów i danych w systemach wieloprocesorowych . W przypadku rodziny cyfrowych procesorów sygnałowych (DSP) DaVinci firmy Texas Instruments schemat ten umożliwia przekazywanie komunikatów i danych między klientem ARM a serwerem DSP. DSPLINK można wykorzystać do zaimplementowania warstwy abstrakcji oprogramowania zwanej zdalnym wywołaniem procedury (RPC), która umożliwia pojawianie się zdalnej funkcji w DSP jako lokalne wywołania funkcji w kodzie aplikacji ARM. Warstwa komunikacyjna Codec Engine IPC jest zaimplementowana przy użyciu schematu wywołań RPC zbudowanego na DSP/BIOS LINK.
Przegląd
DSP/BIOS LINK jest realizowane przy użyciu pamięci współdzielonej i wewnętrznych przerwań [ wymagane wyjaśnienie ] z ARM do DSP i odwrotnie.
Protokół pamięci współdzielonej dla IPC jest zaimplementowany w następujący sposób:
- ARM i DSP są zaprogramowane na z góry określony adres pamięci, gdzie wiadomość zostanie wysłana z ARM do DSP; a drugi dla wiadomości wysyłanych z DSP do ARM.
- Jeden procesor wysyła wiadomości do drugiego, zapisując wiadomość pod wcześniej ustalonym adresem, a następnie wysyłając przerwanie, aby zasygnalizować drugiemu procesorowi, że dostępna jest nowa wiadomość. Podczas przesyłania buforów danych należy przekazać tylko wskaźnik do danego bufora, ponieważ bufor znajduje się we współdzielonej pamięci dostępnej dla obu procesorów. Adresy buforów ARM muszą zostać przetłumaczone na adresy fizyczne, gdy są przedstawiane DSP, ponieważ DSP nie ma MMU ani koncepcji adresowania wirtualnego .
- Gdy procesor odbierający wiadomość przeczyta ją, oznacza flagę we współdzielonej pamięci, aby wskazać, że pamięć wiadomości jest teraz dostępna do ponownego zapisania inną wiadomością.
DSP zawarte w wielu urządzeniach opartych na DaVinci generalnie obsługuje TI DSP/BIOS RTOS . Gdy urządzenie zawiera wiele heterogenicznych rdzeni (np. DM644x), sterowniki DSP/BIOS Link działają zarówno na procesorze ARM, jak i na procesorze DSP, zapewniając komunikację między nimi.
System operacyjny
Szereg systemów operacyjnych ARM9 obsługuje sterowniki DSP/BIOS Link:
- Linuksa Montavisty
- Linux TimeSys
- Mentor Graphics Nucleus OS
- Integralność oprogramowania Green Hills RTOS
- QNX Neutrino
- WindowsCE
- LEO (RTOS)