Computadora de un solo chip con arquitectura Super Harvard

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

La computadora de chip único con arquitectura Super Harvard (SHARC) es un DSP de punto flotante y punto fijo de alto rendimiento de Analog Devices. SHARC se utiliza en una variedad de aplicaciones de procesamiento de señales que van desde procesamiento de audio hasta proyectiles de artillería guiados por una sola CPU y computadoras de procesamiento de radar sobre el horizonte de 1000 CPU. El diseño original data aproximadamente de enero de 1994.

Los procesadores SHARC generalmente están diseñados para tener una buena cantidad de enlaces en serie con otros procesadores SHARC cercanos, para usarse como una alternativa de bajo costo a SMP.

Arquitectura

El SHARC es un procesador VLIW direccionado por palabras con arquitectura Harvard; no sabe nada de valores de 8 o 16 bits, ya que cada dirección se utiliza para apuntar a una palabra completa de 32 bits, no sólo a un octeto. Por lo tanto, no es ni little-endian ni big-endian, aunque un compilador puede usar cualquiera de las dos convenciones si implementa datos de 64 bits y/o alguna forma de empaquetar múltiples valores de 8 o 16 bits en una sola palabra de 32 bits. En C, los caracteres son de 32 bits, ya que son las palabras direccionables más pequeñas según el estándar.

El tamaño de la palabra es de 48 bits para instrucciones, 32 bits para números enteros y punto flotante normal, y 40 bits para punto flotante extendido. El código y los datos normalmente se obtienen de la memoria del chip, que el usuario debe dividir en regiones de diferentes tamaños de palabras según lo desee. Los tipos de datos pequeños pueden almacenarse en una memoria más amplia, desperdiciando simplemente el espacio extra. Un sistema que no utiliza punto flotante extendido de 40 bits podría dividir la memoria del chip en dos secciones, una de 48 bits para el código y otra de 32 bits para todo lo demás. La mayoría de las instrucciones de la CPU relacionadas con la memoria no pueden acceder a todos los bits de la memoria de 48 bits, pero se proporciona un registro especial de 48 bits para este propósito. Se puede acceder al registro especial de 48 bits como un par de registros más pequeños, lo que permite el movimiento hacia y desde los registros normales.

La memoria fuera del chip se puede utilizar con SHARC. Esta memoria sólo se puede configurar para un único tamaño. Si la memoria fuera del chip está configurada como palabras de 32 bits para evitar desperdicios, entonces solo se puede usar la memoria en el chip para la ejecución de código y punto flotante extendido. Los sistemas operativos pueden usar superposiciones para solucionar este problema, transfiriendo datos de 48 bits a la memoria del chip según sea necesario para la ejecución. Para ello se proporciona un motor DMA. La verdadera paginación es imposible sin una MMU externa.

El SHARC tiene un espacio de direcciones con direcciones de palabra de 32 bits. Dependiendo del tamaño de la palabra, esto es 16 GB, 20 GB o 24 GB (usando la definición común de "byte" de 8 bits).

Las instrucciones SHARC pueden contener un operando inmediato de 32 bits. Las instrucciones sin este operando generalmente pueden realizar dos o más operaciones simultáneamente. Muchas instrucciones son condicionales y pueden ir precedidas de "if condición " en el lenguaje ensamblador. Hay una serie de opciones de condición, similares a las opciones proporcionadas por el registro de banderas x86.

Hay dos espacios de retardo. Después de un salto, normalmente se ejecutarán dos instrucciones siguientes al salto.

El procesador SHARC tiene soporte integrado para control de bucle. Se pueden utilizar hasta 6 niveles, evitando la necesidad de instrucciones de bifurcación normales y la contabilidad normal relacionada con la salida del bucle.

El SHARC tiene dos conjuntos completos de registros de uso general. El código puede cambiar instantáneamente entre ellos, lo que permite cambios rápidos de contexto entre una aplicación y un sistema operativo o entre dos subprocesos.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save