Home
Laboratorio 3 Modos de direccionamiento en el DSP
Contents
1. 9 1 3 Direccionamiento con los registros Mn En realidad en los ejemplos anteriores cada instrucci n tom en cuenta el valor que ten a el registro MO ya que los registros Mn alteran la direcci n efectiva que se deriva de los registros Rn y Nn En la tabla 9 2 se muestran los posibles valores de los registros Mn y su efecto en la aritm tica de di reccionamiento En resumen se tienen tres posibilidades Mn 0 Mn 1 y Mn 0 y 1 El direccionamiento m dulo L es un modo de direccionamiento muy im portante en algoritmos de PDS donde L indica la longitud de la lista de da tos Este modo tiene aplicaciones en la construcci n de registros FIFO first in first out colas circulares l neas de retardo registros de re corrimiento sumas finitas de productos entre otras 9 1 4 Ajuste del registro Mn en m dulo L El registro Mn trabaja como se indica en la tabla 9 3 9 1 5 Modo de direccionamiento con inversi n de bit Si Mn 00000 entonces se tiene un direccionamiento que aplica a la inversi n de bits para calcular la direcci n efectiva Este modo es particular mente importante en los algoritmos de la transformada r pida de Fourier G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 1 MODOS DE DIRECCIONAMIENTO 197 Tabla 9 2 Valores de los Registros Mn Valor de Mn Aritm tica usada 0 Inversi n de bits 1 M dulo 2 2 M dulo 3 A M dulo L L Mn 1 32766 M dulo 32677 32767 M dulo 32768
2. Reservado No se usa 65535 Lineal M dulo 65536 Tabla 9 3 Direccionamiento en m dulo L Registro modificador Mn L 1 M dulo L 15 0 L m Inf XX XXO0 00 J ceros donde 27 gt L Inicio de Tablaj 15 0 L m Sup XX XX0 00 L 1 J ceros Fin de Tabla L m Inf lt Rn lt L m Sup Punto de inicio Registro de compensaci n Nn incremento lt L Incremento deseadoi Notas t minimizar J si lo hay Tabla 9 4 Direccionamiento con inversi n de bits Registro modificador Mm 0000 N tama o de la tabla 15 0 L m Inf XX XX0 00 K ceros donde 2 gt N Inicio de tablaj 15 0 L m Sup XX XX0 00 2 1 Fin de Tabla L m Inf lt Rn lt L m Sup Punto de inicio Registro de compensaci n Nn 2 7 Inicializa Registro Nn Notas minimizar K G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 198 9 1 MODOS DE DIRECCIONAMIENTO En la tabla 9 4 se muestran los ajustes resultantes para este modo de direc cionamiento Ejercicio 9 19 Direccionamiento con inversi n de bits Sea N 1024 K 10 el l mite inferior es 3xN 3072 el l mite superior es 3xN 2 1 3072 1024 1 4095 entonces se emplea RO 3072 direcci n de inicio NO 512 incremento MO 0 elige el modo de direccionamiento con inversi n de bits Siga el procedimiento siguiente a Cargue los valores indicados para RO y NO usando el mando CHANGE a Luego ensamble la instrucci n en p 200 asm p 200 move x RO NO x0 a A
3. 5923 15 9 Pr cticas de Laboratorio BIBLIOGRAF A 205 Bibliograf a 1 Freescale Semiconductor Inc DSP56000 56001 Digital Signal Proces sor User s Manual DSP56000UM AD Rev 2 Motorola Inc 1990 2 Freescale Semiconductor Inc DSP56002 Digital Signal Processor User s Manual DSP56002UM AD Rev 1 Motorola Inc 1993 3 Course Notes MTT31 CN Rev 3 0 1990 Freescale Semiconductor Inc G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio
4. 5 Ensamble y ejecute asm p 200 move al1 X RO Cu l es el valor de RO Cu l es el contenido de la direcci n 2000 en la memoria X Cu l es el contenido de a1 Anote sus observaciones Nota MO FFFF Ejercicio 9 14 Postincremento por 1 Ensamble y ejecute asm p 200 move a1 X RO Cu l es el contenido de RO en qu direcci n de memoria de X se escribi el contenido de a1 Anote sus observaciones Ejercicio 9 15 Postdecremento por 1 Ensamble y ejecute G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 196 9 1 MODOS DE DIRECCIONAMIENTO asm p 200 move al1 X RO En qu direcci n de memoria X se escribi el dato contenido en a1 cu l es el valor de RO Anote sus observaciones Ejercicio 9 16 Postincremento con compensaci n Cargue NO con 0004 Ensamble y ejecute asm p 200 move al X RO NO En qu direcci n de memoria X se escribi el dato contenido en a1 cu l es el valor de RO Anote sus observaciones Ejercicio 9 17 Postdecremento con compensaci n Se supone que NO 0004 por ejemplo anterior Ensamble y ejecute asm p 200 move a1 X RO NO En qu direcci n de memoria X se escribi el dato contenido en a1 cu l es el valor de RO Anote sus observaciones Ejercicio 9 18 Predecremento por 1 Ensamble y ejecute asm p 200 move a1 X RO En qu direcci n de memoria X se escribi el dato contenido en a1 cu l es el valor de RO Anote sus observaciones
5. ALU Unidade Aritm tica y L gica y e 3 multicanalizadores de direcciones de salida a Registros de direcciones los cuales est n organizados en tres juegos de ocho registros e Registros de direcciones Rn n 0 1 7 e Registros de compensaci n Offset Nn n 0 1 7 e Registros modificadores Mn n 0 1 7 Cada Rn tiene asociado un registro Nn y un registro Mn los tres deben te ner el mismo n mero n Rn se emplea como apuntador para localizar datos en memoria Estos datos podr n ser utilizados como operandos en algunas instrucciones Los registros Nn se usan para actualizar los registros de direc ciones Rn con alg n valor de compensaci n Los registros Mn se emplean para seleccionar el tipo de aritm tica a realizar cuando se actualizan los registros de direcciones Rn Los modos de direccionamiento se muestran con algunos ejemplos Pa ra comenzar a trabajar arranque el simulador GUI56000 SIM56000 o el simulador GUI56300 SIM56300 En cada uno de los siguientes ejemplos si es necesario cargue el registro o los registros con el valor indicado ensamble la instrucci n que se muestra en la direcci n P se alada y ejecute por pasos usando STEP Para cargar un valor pre establecido en alg n registro utilice el mando CHANGE Note que el pc contador de programa debe contener la direcci n donde se ensambl la instrucci n antes de intentar ejecutarla Ejercicio 9 1 Modo de direccionamiento directo a un registro Re gis
6. LO y ensamble la siguiente instrucci n asm p 400 add A B R1 N1 Muestre los contenidos en A B R1 y N1 antes y despu s de la ejecuci n Ejercicio 9 25 Actualizaci n en paralelo de registro de direcciones Haga A 01000001000001 y B 12123456123456 R1 1000 N1 0000 y ensamble la siguiente instrucci n asm p 400 add A B R1 Muestre los contenidos en A B y R1 antes y despu s de la ejecuci n Ejercicio 9 26 Transferencia paralelo de hacia memoria de datos X Haga A 00123456ABCDEF y B 00123456123456 X 1000 0002 y1 000123 y ensamble la siguiente instrucci n asm p 400 add y1 B A X 1000 Muestre los contenidos en X B y1 antes y despu s de la ejecuci n Ejercicio 9 27 Transferencia paralelo de hacia memoria de datos X Haga A 00123456ABCDEF y B 00123456123456 X 1000 0002 y1 000123 R6 1001 y ensamble la siguiente instrucci n asm p 400 add y1 B X R6 A Muestre los contenidos en X B R6 y A antes y despu s de la ejecuci n Ejercicio 9 28 Transferencia paralelo de memoria X y registro Haga A 00222222333333 y1 000000 X 222222222222 X 1005 0002 N3 0005 R3 1000 y ensamble la siguiente instrucci n asm p 400 add X A A X R3 N3 A yl Muestre los contenidos de la memoria X y los registros B R6 y1 y A antes y despu s de la ejecuci n Ejercicio 9 29 Transferencia paralelo de memoria Y Haga A 00222222333333 y0 000000 X 222222222222 X 1000 0002 N3 0005 R3 1000 y ensa
7. Laboratorio 3 Modos de direccionamiento en el DSP En esta sesi n de laboratorio se realiza una pr ctica con los modos de direccionamiento y el juego de instrucciones del DSP56002 Los ejercicios permiten familiarizarse con la sintaxis del lenguaje ensamblador y aquellas instrucciones propias de un DSP Esta pr ctica de laboratorio se puede rea lizar en el m dulo de evaluaci n DSP56000EVM el m dulo de evaluaci n DSP56303EVM el simulador GUI56000 SIM56000 o bien utilizando el si mulador GUI56300 SIM56300 Los ejercicios est n basados en las notas del curso seg n el documento MTT31 con permiso de Freescale Semiconductors Inc Es importante notar que los ejercicios de esta pr ctica son aplicables al procesador de se ales DSP56303 por lo que se har referencia como DSP56002 DSP56303 9 1 Modos de direccionamiento Para entender los modos de direccionamiento del DSP56002 DSP56303 es necesario conocer algunas unidades y registros internos del procesador las cuales est n encargadas de realizar las operaciones que permiten modos de direccionamiento nicos y dise ados expresamente para los algoritmos de procesamiento digital de se ales El DSP56002 contiene las siguientes unidades Address Generation Unit AGU Unidad de generaci n de direcciones La AGU tiene los siguientes elementos m s importantes e 24 registros de 16 bits 191 192 9 1 MODOS DE DIRECCIONAMIENTO e 2 ALUs de direcciones Aritmetic and Logic Unit
8. ZZZZZZ Orono O OLO n e A 193 Sintaxis Rn Nn Mn Rn Rn Rn Rn Nn Rn Nn Rn Nn Rn HXXXxXxx XXXX Hxx XXX aa PP Pr cticas de Laboratorio 194 9 1 MODOS DE DIRECCIONAMIENTO En cada uno de los siguientes ejemplos si es necesario cargue el registro o los registros con el valor indicado ensamble la instrucci n que se muestra en la direcci n P se alada y ejecute por pasos usando STEP Para cargar un valor pre establecido en alg n registro utilice el mando CHANGE Ejercicio 9 2 Transferencia inmediata de un dato a un acumulador de 24 Sea a 0 asm p 201 movett 112233 a0 Ejercicio 9 3 Transferencia de un dato modo inmediato a un acu mulador asm p 203 move t 112233 a Ejercicio 9 4 Transferencia de un dato negativo modo inmediato a un acumulador asm p 205 move t 801111 a Ejercicio 9 5 Transferencia de un dato corto modo inmediato a un acumulador a0 o al asm p 207 move t FF al Si el destino es a2 al a0 b2 b1 bO RO R7 o NO a N7 el operando es tomado como entero sin signo Ejercicio 9 6 Transferencia de un dato corto modo inmediato a un registro asm p 203 move H FF y0 El operando es tomado como una fracci n con signo Ejercicio 9 7 Transferencia de un dato corto modo inmediato a un acumulador asm p 203 move 3F b Ejercicio 9 8 Transferencia de un dato corto negativo modo inme diato a un acumulador asm p 203 move t 83 a Compare los resultados en los ac
9. e direcci n RO NO Emplea el registro modificador MO para a direccionamiento lineal direccionamiento m dulo M o a direccionamiento con inversi n de bit Transfiere el contenido de la memoria Y de una direcci n apuntada por R4 al registro y1 Si el destino fuera el acumulador B incluir a extensi n de signo y relleno de ceros Calcula la siguiente direcci n R4 N4 Emplea el registro M4 para direccionamiento lineal direccionamiento m dulo M o a direccionamiento con inversi n de bit Transferencias en paralelo Los tipos de transferencias en paralelo son Sin transferencia en paralelo Transferencia de dato corto inmediato Transferencia de datos entre registros Actualizaci n de registro de direcciones Transferencia de dato de hacia memoria X Transferencia de dato entre Memoria XY y registro Transferencia de dato de hacia memoria Y Transferencia de dato entre registro y memoria Y Transferencia de dato de hacia memoria L Transferencia de dato de hacia memoria XY G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 3 TRANSFERENCIAS EN PARALELO 201 9 3 1 Reglas de transferencias en paralelo Se tienen cinco reglas generales para transferencias en paralelo S se permite duplicar la fuente A gt Mem X y A gt Mem Y a No se permite duplicar el destino a Si la fuente es un acumulador entonces puede ocurrir re corrimiento o limitaci n a Si el destino es un ac
10. hora ejecute la instrucci n con la opci n step Se obtiene un nuevo valor para RO anote este resultado Repita la instrucci n anterior y anote nuevamente el resultado Finalmente vuelva a ejecutar la instrucci n y anote el resultado Observe los ltimos tres valores consecutivos de RO Explique y com pruebe por qu se dan esos valores Ejercicio 9 20 Alternativamente repita el ejercicio anterior usando una FFT de 8 puntos N 8 Modifique los registros con los siguientes valores RO 0000 direcci n de inicio NO 4 incremento MO 0 Cambie el pc a la direcci n 200 recu rdese que en esa direcci n est ensamblada la instrucci n Ejecute un STEP y observe y anote el valor del registro RO Cambie el pc a 200 y ejecute un STEP Observe y anote nuevamente el valor de RO a Repita el paso anterior seis veces observando y anotando en cada caso el valor de RO Al terminar se puede observar que la direcci n a la que apunta RO es efecti vamente la direcci n que resulta despu s de la inversi n de bits G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 2 EL JUEGO DE INSTRUCCIONES DEL DSP56002 199 9 2 El juego de instrucciones del DSP56002 El DSP56002 tiene un total de 62 instrucciones que se pueden agrupar en 6 grupos a Instrucciones MOV Instrucciones Aritm ticas Instrucciones L gicas a Instrucciones de manipulaci n de bits Instrucciones de control de programa Ins
11. ibles instrucciones de una sola palabra La instrucci n REP y la siguiente son capturadas una sola vez y alma cenadas internamente REP no se puede interrumpir a Si LC 0 especifica el m ximo n mero de repeticiones de 65 536 REP no puede ser la ltima instrucci n de un lazo DO Las siguientes instrucciones no son repetibles e DO e Jcc e JCLR e JMP G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 204 9 4 LA INSTRUCCI N REP Y LA INSTRUCCI N DO e JSET e JScc e JSCLR e JSR e JSSET e REP e RTI e RTS e STOP e SWI e WAIT Ejercicio 9 32 La instrucci n REP Defina x0 000005 A 00222222333333 RO 1000 R4 2000 Ensamble la siguiente instrucci n asm p 100 rep x0 asm p 101 move A X RO No olvide cambiar el pc a 100 Aseg rese de abrir una ventana de datos X 1000 Finalmente ejecute STEP 5 o bien use el bot n STEP cinco veces Revise el contenido de la memoria X 1000 a X 1004 9 4 2 La instrucci n DO La instrucci n DO a diferencia de la instrucci n REP repite un bloque de instrucciones especificando en la l nea de la instrucci n DO con una etiqueta el final del c digo a repetir La sintaxis es la siguiente DO y0 FIN MAC x1 y1 A X RO x1 Y R4 y1 FIN ADD x1 A Primera instrucci n despu s del lazo FIN es una etiqueta para indicar el fin del lazo y yO contiene el n mero de veces que se repetir la instrucci n DO G Miramontes ISBN 968
12. mble la siguiente instrucci n asm p 400 add y0 A A x1 A Y R3 N3 Muestre los contenidos de la memoria Y y los registros R3 y1 x1 y A antes y despu s de la ejecuci n G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 4 LA INSTRUCCI N REP Y LA INSTRUCCI N DO 203 Ejercicio 9 30 Transferencia paralelo de memoria larga L Haga B 00222222333333 y 505050404040 X 2000 222222 Y 2000 111111 N3 0005 R3 2000 y ensamble la siguiente instrucci n asm p 400 add Y B BA L R3 N3 A y1 Muestre los contenidos de los registros mem X y mem Y B R3 Y antes y despu s de la ejecuci n Ejercicio 9 31 Transferencia paralelo de memoria X Y Haga B 00222222333333 y 505050404040 x 111111111111 X 2000 222222 Y 1000 111111 R1 2000 R5 1000 y ensamble la siguiente instrucci n asm p 400 add X B X R3 x1 Y r5 y0 Muestre los contenidos de los registros mem X y mem Y B R3 R5 X y Y antes y despu s de la ejecuci n Existe tambi n la transferencia de registros de control de memoria P de datos de los perif ricos as como instrucciones de manipulaci n de bits operaciones l gicas entre otras Para una lista completa de instrucciones vea el manual de usuario 9 4 La instrucci n REP y la instrucci n DO La instrucci n REP repite la siguiente instrucci n el n mero de veces indicado en un registro o en modo inmediato 9 4 1 Caracter sticas de la instrucci n REP S lo son repet
13. ter Direct addressing mode Cargue x1 332211 y a0 000000 Ensamble en el espacio de memoria P la siguiente instrucci n asm p 100 move x1 a0 Cambie el pc a 100 y ejecute un step 9 1 1 Modos de direccionamiento especiales Los modos de direccionamiento especiales indican el operando o la di recci n del operando en un campo de la instrucci n o implicitamente hacen referencia al operando Los modos de direccionamiento especiales son dato inmediato dato inmediato corto direcci n absoluta direcci n absoluta cor ta direcci n de I O corta salto corto a direcci n e impl cito En la tabla 9 1 1 se muestran los modos de direccionamiento G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 1 MODOS DE DIRECCIONAMIENTO Tabla 9 1 Modos de direccionamiento Usa Mn Usa Rn Modo de direccionamiento Directo a Registro Dato o Reg de control Registro Rn Registro Nn Registro Mn Reg de dir indirecto Sin actualizar Postincremento por 1 Postdecremento por 1 Postincremento por Nn Postdecremento por Nn Indexado por Nn Predecremento por 1 Especial Dato inmediato 24 bits Direcci n absoluta 16 bits Dato corto inmediato 8 bits Salto corto a direcci n 12 bits Direcci n corta absoluta 6 bits ceros Direcci n E S corta 6 bits unos Impl cito G Miramontes ISBN 968 5923 15 9 No No YN M mn un un un Py y Py Py y y ZZZZZ ZZ o o oo O OLO UN M E O YN A un un un un hs Z
14. trucciones de lazo Algunas instrucciones 30 permiten movimientos en paralelo lo cual es una caracter stica deseable en un DSP Por ejemplo la instrucci n MACR x1 y1 a x RO x1 Y r4 y1 realiza las siguientes Operaciones sobre los datos a MACR especifica las operaciones de la ALU operaci n l gica y redondeo convergente a Soporta el registro CC c digo de condici n bits 0 al 5 Multiplica los datos contenidos en x1 y1 y el resultado lo suma al contenido de a adem s efect a una operaci n de redondeo Los otros dos campos a la derecha del acumulador a especifican e dos transferencias de datos e dos diferentes modos de direccionamiento e puede trabajar con los espacios de memoria X Y L P XP Adem s soporta operaciones de escalamiento limitaci n extensi n de signo y relleno de ceros de la parte menos significativa fuentes dupli cadas pero no soporta destinos duplicados Una lista detallada de las operaciones contenidas en esa l nea de c digo es 1 x0 es negado 2 Multiplicaci n de 24x24 bits x1xy1 3 Suma de 56 bits al acumulador A 4 Redondeo convergente de A G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 200 10 11 12 13 9 3 9 3 TRANSFERENCIAS EN PARALELO Actualiza el registro CC Transfiere el contenido anterior del acumulador A al espacio de me moria X Realiza escalamiento Realiza limitaci n si es necesario Calcula la siguient
15. umulador entonces ocurre extensi n de signo y relleno de ceros de la parte menos significativa Debido a la estructura pipeline si se modifica un registro de direc ciones usando una instrucci n MOVE el nuevo contenido del registro no estar disponible para usarlo en la siguiente instrucci n Si Rn se modifica con un post o pre decremento s estar listo para la pr xima instrucci n Ejercicio 9 21 Transferencia en paralelo de dato corto inmediato entero sin signo Haga A 01000001000001 y B S06FFFFFEFFFFFE y ensamble la si guiente instrucci n asm p 400 add A B t 25 A0 Muestre los contenidos en A y B antes y despu s de la ejecuci n Ejercicio 9 22 Transferencia en paralelo de dato corto inmediato fracci n con signo Haga A 01000001000001 y B S06FFFFFEFFFFFE y ensamble la si guiente instrucci n asm p 400 add B A H C7 B Muestre los contenidos en A y B antes y despu s de la ejecuci n Ejercicio 9 23 Transferencia en paralelo de Registro a Registro Haga A 501000001000001 y B 12654321FEDCBA N7 0000 y ensam ble la siguiente instrucci n asm p 400 add A B A N7 Muestre los contenidos en A B y en N7 antes y despu s de la ejecuci n La transferencia en paralelo es A N7 Ejercicio 9 24 Actualizaci n en paralelo de registro de direcciones Haga A 01000001000001 y B S06FFFFFEFFFFFE R1 2000 NI F000 G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 202 9 3 TRANSFERENCIAS EN PARALE
16. umuladores a y b Ejercicio 9 9 Transferencia de un dato largo modo absoluto Cargue la direcci n de memoria 1000 del espacio de memoria Y con el dato 5444444 Ensamble y ejecute asm p 203 move Y 1000 a0 Revise el contenido de a0 y de Y 1000 G Miramontes ISBN 968 5923 15 9 Pr cticas de Laboratorio 9 1 MODOS DE DIRECCIONAMIENTO 195 Ejercicio 9 10 Dato corto modo absoluto 6 bits extendido con ce ros Cargue a1 con 334455 asm p 203 move al X 3 Observe el resultado en la memoria X con direcci n 0003 Este modo tra baja en las 64 palabras bajas de memoria es decir de la direcci n 0000 a 0064 Ejercicio 9 11 I O corto 6 bits extendido con unos Cargue al con 123456 asm p 203 move al X lt lt FFFE La direcci n X FFFE pertenece al espacio de perif ricos incluidos en el DSP y corresponde al registro de control del canal bus B Este espacio va de la direcci n SFFCO a FFFF Despu s de ejecutar la instrucci n vea el contenido de X SFFFE 9 1 2 Modos de direccionamiento indirecto con registro de direcciones En este modo la instrucci n utiliza un registro Rn para apuntar hacia un operando en memoria Se tienen 7 posibilidades seg n se muestra en los siguientes ejemplos Ejercicio 9 12 Sin actualizaci n Cargue RO con 2000 y a1 con 55555 Ensamble y ejecute asm p 200 move al1 X RO Anote sus observaciones Nota MO FFFF Ejercicio 9 13 Sin actualizaci n Cargue RO con 2000 y a1 con 5555
Download Pdf Manuals
Related Search
Related Contents
Swingline GBC EZUse ECOLOGY RACKMOUNT KVM SWITCH USER MANUAL EA776BX-1(尿素水溶液濃度計)取扱説明書 10 - Lexus JVC EM32FL Specification Sheet Manual de Usuario - Simrad Professional Series Copyright © All rights reserved.
Failed to retrieve file