1 / 12

EL PROCESADOR TMS320C6x

EL PROCESADOR TMS320C6x.

Download Presentation

EL PROCESADOR TMS320C6x

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EL PROCESADOR TMS320C6x Los procesadores digitales de señales tales como el TMS320C6x (C6x) es una familia de microprocesadores de propósito especial con un tipo especializado de arquitectura y un conjunto apropiado de instrucciones para el procesamiento de señal. La arquitectura del procesador digital de señal C6x está adaptada para la realización de intensivos cálculos. Basados en una arquitectura de palabras de muy largas instrucciones (VLIW), el C6x está considerado a ser el procesador más poderoso de Texas Instruments.

  2. Los sistemas basados en DSP se ven menos afectados por condiciones ambientales. El procesador DSP disfruta de las ventajas de los microprocesadores. Ellos son de fácil uso, flexibles y económicos. El procesador TMS320C6713 está basado en la arquitectura VLWI, la cual realiza muy bien el cálculo de algoritmos intensivos. La memoria de programa interna está estructurada de un total de 8 instrucciones que pueden ser capturadas cada ciclo. Por ejemplo, con un reloj de 225MHz, el C6713 es capaz de capturar 8 instrucciones de 32 bits cada 1/(225MHz) o 4.44 nsegs. Las características del C6713 incluyen 264 kB de memoria interna (8 kB como L1P y L1D de caché y 256kB como L2 memoria compartida entre el espacio de datos y de programa), ocho unidades de ejecución o funcionales compuestas de 6 unidades artimética lógicas (ALU) y dos unidades de multiplicación, un bus de direcciones de 32 bits para direccionar 4GBl y dos conjuntos de 32 bits de registros de propósito general. El 6713 pertenece a la familia de procesadores de punto flotante aunque también es capaz de procesar en punto fijo.

  3. ENTRADA Y SALIDA CON EL DSK Las aplicaciones típicas que utilizan técnicas de procesamiento digital de señales requieren al menos del sistema básico mostrado en la figura 2.1, el cual consiste de una entrada y salida analógica. A lo largo de la trayectoria de entrada se tiene un filtro anti-aliasing para eliminar las frecuencias por encima de la frecuencia de Nyquist, definida como la mitad de la frecuencia de muestreo. De otra manera, el aliasing puede ocurrir, en tal caso la señal con una frecuencia superior de la mitad de Fs es disfrazada como una señal con una frecuencia más baja. El teorema de muestreo nos dice que la frecuencia de muestro debe de ser de al menos dos veces la componente de frecuencia más alta de una señal f, de tal forma que: F>2f

  4. #include "ledcfg.h“ /* * The Board Support Library is divided into several modules, each * of which has its own include file. The file dsk6713.h must be included * in every program that uses the BSL. This example also includes * dsk6713_led.h and dsk6713_dip.h because it uses the LED and DIP modules. */ #include "dsk6713.h" #include "dsk6713_led.h" #include "dsk6713_dip.h“ /* main() - Main code routine, initializes BSL and runs LED application */ /* * EXTRA: Pressing DIP switch #3 changes LED #3 from off to on. */ void main() { /* Initialize the board support library, must be first BSL call */ DSK6713_init(); /* Initialize the LED and DIP switch modules of the BSL */ DSK6713_LED_init(); DSK6713_DIP_init(); while(1) { /* Toggle LED #0 */ DSK6713_LED_toggle(1); /* Check DIP switch #3 and light LED #3 accordingly, 0 = switch pressed */ if (DSK6713_DIP_get(3) == 0) /* Switch pressed, turn LED #3 on */ DSK6713_LED_on(3); else /* Switch not pressed, turn LED #3 off */ DSK6713_LED_off(3); /* Spin in a software delay loop for about 200ms */ DSK6713_waitusec(200000); } }

  5. En la arquitectura von Neumann, tanto las instrucciones como los datos son almacenados en un espacio de memoria sencillo. Un procesador con una arquitectura von Neumann puede leer o escribir a memoria durante cada ciclo de instrucción. Las aplicaciones típicas de DSP requieren muchos accesos a la memoria dentro de un ciclo de instrucción. Los procesadores de punto fijo C1x, C2x y C5x están basados en una arquitectura Harvard modificada con espacios de memoria para datos e instrucciones que permiten los accesos concurrentes. Un ADC utiliza solamente el mejor valor digital estimado para representar la entrada. Por ejemplo, considere un ADC con una longitud de palabra de 8 bits y un rango de entrada de mas menos 1.5V. Los pasos representados por el ADC son: rango de entrada/28=3/256=11.72mV. Esto produce errores que pueden llegar hasta mas menos (11.72mv)/2=mas menos5.86 mV. Solamente una mejor estimación puede ser utilizada por el ADC para representar los valores de entrada que no son múltiplos de 11.72 mV. Con u ADC de 8 bits, 28 o 256 niveles diferentes que pueden representar a la señal de entrada. Un ADC con una longitud de palabra más grande, tales como un ADC de 16 bits (o más grandes, actualmente muy comunes), pueden reducir el error de cuantificación, dando como resultado una resolución superior. Entre más bits tiene un ADC, puede representar de mejor forma una señal de entrada.

  6. El procesador de TMS320C30 de punto flotante fueron introducidos a finales de 1980. El C31, el C32, y el más reciente C33 son todos los miembros de la familia C3x de procesadores de punto flotante[2,3]. A diferencia de procesadores de punto fijo previos, el C62x está basado sobre la arquitectura VLIW, la cual utiliza espacios de memoria separados para instrucciones y datos, como la arquitectura Harvard. La arquitectura VLIW tiene instrucciones más simples, pero que son necesarias para una tarea con una arquitectura convencional de DSP. El C62x no es compatible en código con las generaciones previas de procesadores de punto fijo. Por tanto, el TMS320C6701 fue introducido como otro miembro de procesadores de la familia C6x. El conjunto de instrucciones del procesador C62x es un subconjunto del conjunto de instrucciones del procesador C67x. El consumo de potencia de los procesadores de punto fijo es menor a los de punto flotante. Un procesador de punto flotante es, por lo general, más caro debido a que tiene más “estados reales” o es un chip más grande debido a la circuitería adicional necesaria para manejar enteros así como aritmética de punto flotante. Muchos factores, tales como el costo, consumo de potencia, y velocidad, toman un papel importante cuando se selecciona un DSP específico. Los procesadores C6x son particularmente útiles para aplicaciones que requieren cómputo intensivo. La familia de procesadores C6x incluyen tanto procesadores punto fijo como de punto flotante. Otras arquitecturas incluyen la superescalar, la cual requiere hardware especial para determinar cuales instrucciones son ejecutadas en paralelo. La carga está entonces sobre el procesador más que sobre el programador, como en la arquitectura VLIW. No es necesario ejecutar el mismo grupo de instrucciones, y como resultado, es difícil temporizar. Así, que es muy raro que se utilicen en un DSP.

  7. ARQUITECTURA DEL TMS320C6x

  8. La siguiente figura muestra el diagrama de flujo del desarrollo de software del TMS320C6000. Las porciones sombreadas realzan las trayectorias de desarrollo más comúnmente empleadas. Las otras porciones son funciones periféricas que realzan el proceso de desarrollo.

  9. El compilador (cI6x) permite compilar, ensamblar y opcionalmente enlazar en un solo paso. El compilador realiza los siguientes pasos en uno o más módulos fuentes: • El compilador, el cual incluye el parser y optimizador, acepta código fuente de C/C++ y produce código fuente de lenguaje ensamblador del C6000. • El ensamblador genera archivos objeto del tipo COFF. • El enlazador combina dichos archivos objeto para crear un archivo objeto ejecutable. El paso del enlace es opcional, de tal forma que se puedan compilar y ensamblar muchos módulos de manera independiente y enlazarlos posteriormente. • La figura ilustra la trayectoria que el compilador sigue haciendo o no uso del enlazador.

  10. TypeSizeRepresentationMinimumMaximum char, signedchar 8 bits ASCII -128 127 unsignedchar 8 bits ASCII 0 255 short 16 bits 2s complement -32 768 32 767 unsigned short 16 bits Binary 0 65 535 int, signedint 32 bits 2s complement -2 147 483 648 214 783 647 unsignedint 32 bits Binary 0 4 294 967 295 long, signedlong 40 bits 2s complement -549 755 813 888 549 755 813 887 unsignedlong 40 bits Binary 0 1 099 511 627 775 longlong, signedlonglong 64 bits 2s complement -9 223 372 036 854 775 808 9 223 372 036 854 775 807 unsignedlonglong 64 bits Binary 0 18 446 744 073 709 551 615 enum 32 bits 2s complement -2 147 483 648 21 478 3647 float 32 bits IEEE 32-bit 1.175494e-38† 3.40282346e+38 double 64 bits IEEE 64-bit 2.22507385e-308† 1.79769313e+308 longdouble 64 bits IEEE 32-bit 2.22507385e-308† 1.79769313e+308 pointers, references 32 bits Binary 0 0xFFFFFFFF

More Related