En sistemas híbridos, podemos tener DSPs, FPGAs, procesadores de propósito General, etcetera en el mismo sistema operativo juntos en la misma aplicación. ¿Cómo se distribuyen las tareas entre ellos, y que unidad administra esto?
Respuestas
¿Demasiados anuncios?El travesaño en el bus tendrá algunos de arbitraje y el protocolo de comunicación, tales como AMBA para el BRAZO de los sistemas. Algunos de los periféricos serán capaces de "bus master", y/o memoria de acceso.
Uno de los procesadores - por lo general el más genérico BRAZO - arrancará en primer lugar, de la ROM o Flash externo. Otras partes del sistema se celebrará en reset hasta que son inicializadas.
La asignación de tareas es el trabajo del sistema operativo. Es mucho como el uso de los gráficos y el sonido de los aceleradores en los Ordenadores regulares.
Depende de lo que usted está tratando de construir, no hay una sola respuesta para saber cómo dividir un diseño o, incluso, cuál es la mejor manera de implementarlo es. Usted tiene que mirar a lo que están construyendo, y, a continuación, hacer concesiones. Usted necesita entender su problema, su mercado, y cada uno de los componentes que usted puede utilizar para hacer las correctas.
Por ejemplo, usted puede decidir para hacer frente a un filtro digital con un DSP, pero tal vez podría hacer con menos poder en una FPGA. Tal vez usted no tiene ninguna FPGA experiencia, sin embargo, y su aplicación no es realmente que el poder consciente. Sólo un ejemplo.
Como para que coordina, en mi experiencia es casi siempre la CPU. Por lo general uso la CPU para la instalación de la tubería y, a continuación, deje que se vaya. Los componentes de retroalimentación de estado de la CPU si es necesario y el software hace que los cambios o re-configura según sea necesario. Esa no es la única manera de hacerlo de una forma común.