FMUSER ¡Transmite video y audio sin cables más fácilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
Procesamiento de señales digitales
Como caso de estudio, consideremos la función más común en el dominio digital: el filtrado. En pocas palabras, filtrar es procesar la señal para mejorar sus características. Por ejemplo, el filtrado puede eliminar el ruido o la interferencia electrostática de la señal, mejorando así su relación señal / ruido. ¿Por qué utilizar un microprocesador en lugar de un dispositivo analógico para filtrar la señal? Echemos un vistazo a sus ventajas: el rendimiento de los filtros analógicos (o más generalmente, los circuitos analógicos) depende de factores ambientales como la temperatura. El filtro digital básicamente no se ve afectado por el medio ambiente.
El filtrado digital es fácil de replicar dentro de una tolerancia muy pequeña, porque su rendimiento no depende de la combinación de dispositivos cuyo rendimiento se haya desviado del valor normal. Una vez que se fabrica un filtro analógico, sus características (como el rango de frecuencia de banda de paso) no son fáciles de cambiar. Usando un microprocesador para implementar un filtro digital, puede cambiar las características del filtro reprogramándolo.
Comparación de procesadores DSP y procesadores de propósito general
Considere un ejemplo de procesamiento de señal digital, como un filtro de respuesta de impulso finito (FIR). En lenguaje matemático, el filtro FIR es una serie de productos punto. Tome una entrada y un vector ordinal, multiplique entre el coeficiente y la ventana deslizante de la muestra de entrada, y luego sume todos los productos para formar una muestra de salida. Operaciones similares se repiten en gran número en el proceso de procesamiento de señales digitales, por lo que los dispositivos diseñados para esto deben brindar un soporte especial, lo que ha contribuido a la derivación de dispositivos DSP y procesadores de propósito general (GPP):
1 Soporte para operaciones de multiplicación intensivas
GPP no está diseñado para realizar tareas intensivas de multiplicación. Incluso algunos GPP modernos requieren múltiples ciclos de instrucción para hacer una multiplicación. El procesador DSP utiliza hardware especializado para implementar la multiplicación de ciclo único. El procesador DSP también agrega un registro acumulador para manejar la suma de múltiples productos. El registro del acumulador suele ser más ancho que otros registros, y se agregan bits adicionales llamados bits de resultado para evitar el desbordamiento. Al mismo tiempo, para reflejar completamente los beneficios del hardware especializado de acumulación múltiple, casi todos los conjuntos de instrucciones DSP incluyen instrucciones MAC explícitas.
2 estructura de memoria
Tradicionalmente, GPP utiliza una estructura de memoria de von Neumann. En esta estructura, solo un espacio de memoria está conectado al núcleo del procesador a través de un conjunto de buses (un bus de direcciones y un bus de datos). Normalmente, se producirán 4 accesos a la memoria para una multiplicación, lo que consume al menos cuatro ciclos de instrucción. La mayoría de los DSP utilizan la estructura de Harvard, que divide el espacio de memoria en dos para almacenar programas y datos, respectivamente. Tienen dos conjuntos de buses conectados al núcleo del procesador, lo que permite el acceso simultáneo a ellos. Esta disposición duplica el ancho de banda de la memoria del procesador y, lo que es más importante, proporciona datos e instrucciones al núcleo del procesador al mismo tiempo. Bajo este diseño, DSP puede realizar MAC de ciclo único
instrucción. Hay otro problema, es decir, el GPP típico de alto rendimiento en realidad contiene dos cachés en chip, uno para datos y otro para instrucciones, que están conectados directamente al núcleo del procesador para acelerar la velocidad de acceso en tiempo de ejecución. Físicamente hablando, la estructura de este bus y memoria dual en chip es casi la misma que la de Harvard. Sin embargo, lógicamente hablando, todavía existen importantes diferencias entre los dos.
GPP usa la lógica de control para determinar qué datos y palabras de instrucción se almacenan en el caché en el chip, lo que el programador no especifica (o puede que ni siquiera sepa). En contraste, DSP usa múltiples memorias en chip y múltiples conjuntos de buses para asegurar múltiples accesos a la memoria en cada ciclo de instrucción. Al usar DSP, el programador debe controlar claramente qué datos e instrucciones se almacenan
En memoria en chip. Cuando un programador escribe un programa, debe asegurarse de que el procesador pueda utilizar eficazmente su bus dual. Además, los procesadores DSP apenas tienen cachés de datos. Esto se debe a que los datos típicos de un DSP son un flujo de datos. En otras palabras, después de que el procesador DSP calcula cada muestra de datos, se descarta y casi nunca se reutiliza.
3 Bucle aéreo cero
Si comprende una característica común de los algoritmos DSP, es decir, la mayor parte del tiempo de procesamiento se dedica a ejecutar bucles más pequeños, es fácil comprender por qué la mayoría de los DSP tienen hardware especializado para bucles sin sobrecarga. El llamado bucle de sobrecarga cero significa que cuando el procesador ejecuta el bucle, no necesita perder tiempo verificando el valor del contador del bucle, la condición se transfiere a la parte superior del bucle y la
Disminuya el contador de bucle en 1. Por el contrario, el ciclo GPP se implementa mediante software. Algunos GPP de alto rendimiento utilizan hardware de predicción de transición, que casi logra el mismo efecto que el bucle sin gastos generales admitido por hardware.
4 Cálculo de punto fijo
La mayoría de los DSP utilizan cálculos de punto fijo en lugar de punto flotante. Aunque la aplicación de DSP debe prestar mucha atención a la precisión de los números, debería ser mucho más fácil hacerlo con punto flotante, pero para DSP, el bajo costo también es muy importante. Las máquinas de punto fijo son más baratas (y más rápidas) que las máquinas de punto flotante correspondientes. Para no utilizar una máquina de punto flotante y garantizar la precisión de los números, el procesador DSP admite el cálculo de saturación, el redondeo y el desplazamiento tanto en el conjunto de instrucciones como en el hardware.
5 Modo de direccionamiento especial
Los procesadores DSP a menudo admiten modos de direccionamiento especializados, que son muy útiles para operaciones y algoritmos de procesamiento de señales comunes. Por ejemplo, direccionamiento de módulo (cíclico) (útil para implementar líneas de retardo de filtro digital), direccionamiento con inversión de bits (útil para FFT). Estos modos de direccionamiento muy especializados no se utilizan a menudo en GPP y solo se pueden implementar mediante software.
6 Previsión del tiempo de ejecución
La mayoría de las aplicaciones DSP (como teléfonos móviles y módems) son estrictamente aplicaciones en tiempo real y todo el procesamiento debe completarse dentro de un tiempo específico. Esto requiere que el programador determine exactamente cuánto tiempo de procesamiento se requiere para cada muestra o, al menos, cuánto tiempo se requiere en el peor de los casos. Si planea utilizar un GPP de bajo costo para completar la tarea de procesamiento de señales en tiempo real, la predicción del tiempo de ejecución probablemente no será un problema. Debería ser que el GPP de bajo costo tenga una estructura relativamente sencilla y sea más fácil de predecir el tiempo de ejecución. Sin embargo, los GPP de bajo costo no pueden proporcionar la potencia de procesamiento requerida por la mayoría de las aplicaciones DSP en tiempo real. En este momento, la ventaja de DSP sobre GPP de alto rendimiento es que incluso si se usa un DSP en caché, el programador (no el procesador) decide qué instrucciones se colocarán, por lo que es fácil determinar si la instrucción es del caché o Leer de la memoria. DSP generalmente no utiliza funciones dinámicas, como la predicción de ramas y la ejecución de inferencias. Por lo tanto, es completamente sencillo predecir el tiempo de ejecución requerido a partir de un fragmento de código determinado. Esto permite al programador determinar los límites de rendimiento del chip.
7 Conjunto de instrucciones DSP de punto fijo
El conjunto de instrucciones DSP de punto fijo está diseñado de acuerdo con dos objetivos:
Permita que el procesador complete múltiples operaciones en cada ciclo de instrucción, mejorando así la eficiencia computacional de cada ciclo de instrucción. Minimice el espacio de memoria para almacenar programas DSP (debido a que la memoria tiene un gran impacto en el costo de todo el sistema, este problema es particularmente importante en aplicaciones DSP sensibles al costo). Para lograr estos objetivos, el conjunto de instrucciones del procesador DSP generalmente permite al programador especificar varias operaciones paralelas dentro de una instrucción. Por ejemplo, se incluye una operación MAC en una instrucción, es decir, uno o dos movimientos de datos al mismo tiempo. En un ejemplo típico, una instrucción contiene todas las operaciones necesarias en la sección para calcular el filtro FIR. Este tipo de pago eficiente
El precio es que su conjunto de instrucciones no es intuitivo ni fácil de usar (en comparación con el conjunto de instrucciones de GPP).
A los programas GPP generalmente no les importa si el conjunto de instrucciones del procesador es fácil de usar, porque generalmente usan lenguajes de alto nivel como C o C ++. Para los programadores de DSP, desafortunadamente, las principales aplicaciones de DSP están escritas en lenguaje ensamblador (al menos parcialmente optimizadas en lenguaje ensamblador). Hay dos razones para esto: Primero, la mayoría de los lenguajes de alto nivel ampliamente utilizados, como
Como C, no es adecuado para describir algoritmos DSP típicos. En segundo lugar, la complejidad de la estructura del DSP, como múltiples espacios de memoria, múltiples buses, conjuntos de instrucciones irregulares y hardware altamente especializado, dificulta la escritura de compiladores eficientes para ella. Incluso si el código fuente de C se compila en un código ensamblador DSP con un compilador, la tarea de optimización sigue siendo muy pesada. Las aplicaciones DSP típicas tienen muchos requisitos computacionales y límites estrictos de gastos generales, lo que hace que la optimización del programa sea indispensable (al menos para la parte más crítica del programa). Por lo tanto, un factor clave al considerar la elección de DSP es si hay suficientes programadores que puedan adaptarse mejor al conjunto de instrucciones del procesador DSP.
8 Requisitos para las herramientas de desarrollo
Debido a que las aplicaciones DSP requieren un código altamente optimizado, la mayoría de los proveedores de DSP proporcionan algunas herramientas de desarrollo para ayudar a los programadores a completar su trabajo de optimización. Por ejemplo, la mayoría de los fabricantes proporcionan herramientas de simulación de procesador para simular con precisión la actividad del procesador en cada ciclo de instrucción. Ya sea para garantizar el funcionamiento en tiempo real o para optimizar el código, estas son herramientas muy útiles. Los proveedores de GPP generalmente no proporcionan tales herramientas, principalmente porque los programadores de GPP generalmente no necesitan información detallada a este nivel. La falta de herramientas de simulación precisas para el ciclo de instrucción de GPP es un gran problema al que se enfrentan los desarrolladores de aplicaciones DSP: es casi imposible predecir el número de ciclos requeridos por GPP de alto rendimiento para una tarea determinada, por lo que es imposible explicar cómo para mejorar el rendimiento del código.
Nuestro otro producto:
Paquete de equipo de estación de radio FM profesional
|
||
|
Ingrese el correo electrónico para recibir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER ¡Transmite video y audio sin cables más fácilmente!
Contacto
Dirección:
Habitación No.305 Edificio HuiLan No.273 Huanpu Road Guangzhou China 510620
Categorías
Newsletter