Canalización (implementación de DSP)


La canalización es una técnica importante utilizada en varias aplicaciones, como sistemas de procesamiento de señales digitales (DSP), microprocesadores , etc. Tiene su origen en la idea de una tubería de agua con agua continua enviada sin esperar a que salga el agua de la tubería. En consecuencia, da como resultado una mejora de la velocidad para la ruta crítica en la mayoría de los sistemas DSP. Por ejemplo, puede aumentar la velocidad del reloj o reducir el consumo de energía a la misma velocidad en un sistema DSP.

La canalización permite que diferentes unidades funcionales de un sistema se ejecuten simultáneamente. Considere un ejemplo informal en la siguiente figura. Un sistema incluye tres unidades de subfunciones ( F 0 , F 1 y F 2 ). Suponga que hay tres tareas independientes ( T 0 , T 1 y T 2 ) realizadas por estas tres unidades funcionales. El tiempo para que cada unidad funcional complete una tarea es el mismo y ocupará un espacio en el cronograma.

Si ponemos estas tres unidades y tareas en orden secuencial, el tiempo necesario para completarlas es de cinco espacios.

Por lo tanto, es posible que un diseño de tubería adecuado logre una mejora significativa en la velocidad.

La canalización no puede disminuir el tiempo de procesamiento requerido para una sola tarea. La ventaja de la canalización es que aumenta el rendimiento del sistema al procesar un flujo de tareas.

La aplicación de demasiadas funciones canalizadas puede provocar un aumento de la latencia, es decir, se prolonga el tiempo necesario para que una sola tarea se propague a través de la canalización completa. Un sistema segmentado también puede requerir más recursos (búferes, circuitos, unidades de procesamiento, memoria, etc.), si se restringe la reutilización de recursos en diferentes etapas.