Becerril López Sergio Andŕes Microcomputadoras Grupo 4

Anuncio
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
dsPIC30F/dsPIC30F4013
Familia de Microcontroladores dsPIC30F
La familia de dispositivos dsPIC30F emplea una arquitectura de 16-bit que integra de forma
transparente las habilidades de un microprocesador (MCU) con las habilidades computacionales de un
procesador de señales digitales (DSP). La funcionalidad resultante es ideal para las aplicaciones que
dependen de cálculos repetitivos y de alta velocidad así como de control.
Arquitectura
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
Figura 1: Arquitectura de la familia dsPIC30F
Se aprecia el arreglo de ALU, Arreglo de registros 16x16 y bus de datos dual de 16-bit.
En cuanto al CPU, se trata de un módulo de 16 bit (datos) con arquitectura Harvard modificada y un
juego de instrucciones modificado, incluyendo soporte significativo para procesamiento digital de
señales. El CPU tiene un tamaño de palabra de 24-bit para instrucciones, con un campo de opción de
longitud variable. El contador de programa (PC) es de 23 bit de ancho y direcciona hasta 4M x 24 bits
de espacio de memoria de programas de usuario. La cantidad real de memoria de programa
implementada varía de un modelo a otro. Un mecanismo de obtención de instrucciones de un solo ciclo
se utiliza para ayudar a mantener el desempeño y proporciona ejecución predecible. Todas las
instrucciones se ejecutan en un solo ciclo, con la excepción de las instrucciones que cambian el flujo
del programa , el MOV de doble palabra y las instrucciones de tabla. Constructos de ciclo se soportan
utilizan las instrucciones DO y REPEAT, y ambas son interrumpibles en cualquier punto.
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
Los dispositivos dsPIC30F tienen 16 registro de 16-bit utilizables en el modelo del programador. Cada
uno de los registros pueden servir como datos, direcciones o offset para las direcciones. El 16vo
registro (W15) opera como el apuntador de pila de software para las interrupciones y las llamadas.
El juego de instrucciones de la familia dsPIC30F tiene dos clases de instrucciones: la clase de
instrucciones MCU y la calse de instrucciones dSP. Estas dos clases son integradas de manera
transparente en la arquitectura y se ejcutan desde una única unidad de ejecución. El juego de
instrucciones incluye muchos modos de direccionamiento y está diseñado para máxima eficiencia con
los compiladores de C.
Motor DSP
El motor DSP consiste de un multiplicador de alta velocidad, único ciclo, de 17-bit por 17-bit, un
desplazador y un sumador/restador de 40-bit con dos acumuladores, lógicas de redondeo y saturación,
todo lo cual habilita la ejecución eficiente de algoritmos DSP computacionalmente intensivos. El
multiplicador de 17-bit x 17-bit se utiliza también para instrucciones de multiplicación basadas en
MCU.
El motor DSP también tiene la capacidad de realizar operaciones inherentes de acumuladores, que no
requieren datos adicionales. Estas instrucciones son ADD, SUB y NEG. Esta característica simplifica
de manera importante las operaciones básicas importantes en datos de 32-bit o 40-bit.
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
Figura 2: Arquitectura del motor DSP
Mo
dos
de
dire
ccio
nam
ient
o
El
espaci
o
de
datos
puede
ser
direcc
ionad
o
como
32
Kpala
bras o
64 Kbytes y está dividido en dos bloques, referidos como memoria de datos X e Y. Cada bloque de
memoria tiene su propia Unidad de Generación de Direcciones (AGU) independiente. La clase de
instrucciones MCU opera únicamente a lo largo de la AGU de la memoria X, que accesa el mapa de
memoria completo como si fuera un espacio de datos lineal. Algunas instrucciones DSP operan a través
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
de las AGUs de X y Y para soportar lecturas duales de operandos, que dividen el espacio de direcciones
de datos en dos partes. El límite del espacio de direcciones X e Y es específico del dispositivo.
Los 32 Kbytes superiores del mapa de memoria del espacio de datos pueden opcionalmente ser
mapeados en el espacio del programa en cualquier frontera de 16K palabras de programa definidas por
el registro de 8-bit de Pagina de Visibilidad del Espacio de Programa (PSVPAG). Esta característica de
mapeo de espacio de programa a espacio de datos permite a cualquier instrucción accesar el espacio de
programa como si fuera espacio de datos.
Los buffers circulares libres (direccionamiento por módulo) se soportan en ambos espacios, X e Y. Este
direccionamiento elimina la necesidad de verificar sobrecarga para los algoritmos DSP. Más aún, el
direccionamiento circular del AGU X puede ser usado con cualquiera de las instrucciones de clase
MCU. La AGU X también soporta direccionamiento de bit reverso, para simplificar de forma
importante reordenamiento de datos de entrada o salida para algoritmos de transformada rápida de
Fourier.
El CPU soporta modos de direccionamiento Inherente (sin operando), Literal, Relativo, Directo a
Memoria, Directo a Registro e Indirecto a Registro. Cada instrucción es asociada a un grupo de modo
de modos de direccionamiento predefinido dependiendo de sus requerimientos funcionales. Hasta 6
modos de direccionamiento se soportan por instrucción.
Para la mayoría de las instrucciones, la familia de dsPIC30F es capaz de ejecutar una lectura de
memoria de datos o de programa, un registro activo (datos), una escritura en memoria de datos y una
lectura de programa (instrucción) por ciclo de instrucción. Como resultado, instrucciones de tres
parámetros son soportadas, permitiendo operaciones de tipo A + B = C ejecutadas en un solo ciclo.
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
Espacio
de
Direccion
es
El espacio
de
datos
X
es
utilizado
por todas
las
instruccio
nes
y
soporta
todos los
modos de
direccion
amiento.
Existen
buses
separados
de lectura
y
escritura
de
datos
Figura 3: Modelo de memoria del programador
para el espacio de datos X. El bus de lectura de datos X es la ruta de lectura para todas las instrucciones
que ven el espacio de datos como el combinado de los espacios X e Y. Es también la ruta de
preobtención de datos para las operaciones de operando dual de clase DSP.
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
El espacio de datos Y se utiliza en conjunto con el espacio de datos X por la clase de instrucciones
MAC (CLR, ED, EDAC, MAC, MOVSAC, MPY, MPY.N y MSC) para proveer dos rutas de lectura de
datos concurrentes.
Tanto los espacios de datos X e Y soportan direccionamiento por módulo para todas las instrucciones,
sujeto a las restricciones del modo de direccionamiento. El direccionamiento de bit reverso solo se
soporta para escrituras en el espacio de datos X.
Todas las operaciones de escritura, incluyendo en las instrucciones DSP, ven el espacio de datos como
la combinación de los espacios X e Y. La frontera entre los espacios de datos X e Y es dependiente del
dispositivo, y no es programable por el usuario.
Todas las direcciones efectivas son de 16-bit de longitud y apuntan a bytes dentro del espacio de
direcciones. Por lo tanto, el rango de direcciones del espacio de datos es de 64 Kbytes o 32 Kpalabras,
aunque las localidades implementadas de memoria varían de un dispositivo a otro.
Set de Instrucciones
El set de instrucciones de la familia dsPIC30F provee una amplia paquetería de isntrucciones, que
soportan las aplicaciones tradicionales de microcontroladores, así como una clase de instrucciones, que
soportan aplicaciones matemáticas intensivas. Ya que casi toda la funcionalidad del set de instrucciones
PICmicro ha sido mantenida, este juego de instrucciones híbrido permite una migración sencilla hacia
DSP a usuarios previamente familiarizados con el microcontrolador PICmicro.
El juego de instrucciones de la familia dsPIC30F contienen 84 instrucciones, que pueden ser agrupadas
en diez categorías funcionales como se aprecia en la Tabla 1. Las tablas de la 2 a la 11 describen cada
tipo aquí mencionado.
dsPIC30Fxxxx/dsPIC30F4013
Becerril López Sergio Andŕes
Microcomputadoras
Tabla 1: Grupos de Instrucciones de la Familia
dsPIC30F
Tabla 2: Instrucciones de movimiento
dsPIC30Fxxxx/dsPIC30F4013
Tabla
Instrucciones
lógicas
Tabla
3: 4:
Instrucciones
matemáticas
Grupo 4
Becerril López Sergio Andŕes
Microcomputadoras
Grupo 4
Tabla 6: Instrucciones de bit
Tabla 5: Operaciones de shift y rotación
El
Tabla 6: Instrucciones de bit
dsP
Tabla 9: Instrucciones de control
IC
Tabla 8: Instrucciones de pila
30
dsPIC30Fxxxx/dsPIC30F4013
Tabla7:10:
Instrucciones
Tabla
Instrucciones
deDSP
flujo
Becerril López Sergio Andŕes
Microcomputadoras
F4013
Arquitectura
El dsPIC30F4013
dsPIC30Fxxxx/dsPIC30F4013
Grupo 4
Documentos relacionados
Descargar