UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

75
UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD IZTAPALAPA CIENCIAS BÁSICAS E INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA ÁREA DE INGENIERÍA ELECTRóNICA PROYECTO TERMINAL DOS / Diseño de una tarjeta de expansi611 para el manejo 4e un sistema basado enel microprocesador TMS - 32010. ASESOR : Ing. GONZALO ISAAC DUCHÉN SANCHEZ ALUMNOS: FELIPE DE JESÚS/P~REZ SURA ENRIQUE CERVANTES ESQUIVEL. ,/

Transcript of UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Page 1: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD IZTAPALAPA

CIENCIAS BÁSICAS E INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA

ÁREA DE INGENIERÍA ELECTRóNICA

P R O Y E C T O T E R M I N A L D O S

/

Diseño de una tarjeta de expansi611 para el manejo 4e un sistema basado en el microprocesador TMS - 32010.

ASESOR : Ing. GONZALO ISAAC DUCHÉN SANCHEZ

ALUMNOS:

FELIPE DE JESÚS/P~REZ SURA

ENRIQUE CERVANTES ESQUIVEL.

,/

Page 2: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

I N D I (2 E

D E D I C A T O R I A S

1 . - Características de los Procesadores Digitales de SeAales. 1.1 Procedimiento para la implementacibn de los DSP. l. 2 Consideraciones en el diseAo de la Arquitectura de un DSP. l. 3 Componentes bhsicos de un DSP. 1.4 Medidas en la ejecuci6; de un DSP. l. 5 Arquitectura Harvard. l. 6 Prop6sito de los chip's DSP. l. 7 Chip's DSP comerciales.

2 . - Características del Microprocesador TMS-3201 O. 2 . 1 Arquitectura 2 .2 Hardware Interno 2 . 3 Organizaci6n de la Memoria 2 . 4 La Unidad Central Aritmética Lbgica 2.5 Reset 2 . 6 Funciones de EntraddSalida 2 .7 Interrupciones

3 .- Descripción Física de la Tarjeta de Expansi6n. 3 . 1 3 . 2 3 . 3

Figuras de otras Arquitecturas. Diagrama a bloques Diagrama El6ctrico

4 .- Descripci6n Funcional de la Tarjeta de Expansi6n. 4 . 1 Explicaci6n de la Codificaci6n. 4 . 2 Formas de Acceso a la Memoria. 4 . 3 Lbgica de Habilitacibn /Desahabilitacibn de la Tarjeta.

5 .- Observaciones.

6 . - Tendencias Futuras.

7 .- Bibliografía

Page 3: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …
Page 4: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

a Dios agradeciéndole todas sus bendiciones al llegar a una meta más de mi vida.

a mi madre SUSANA CECILIA. SURA RODRIGUEZ

en su memoria

a mi padre CRISTO NOMAR PÉREZ ECHAVARRÍA por su amor incondicional

a mis hermanas SOCORRO DEL CARMEN CRISTINA GUADALUPE SUSANA DEL ROSARIO

CATALINA DE LA ASUNCIóN por su cariño y comprensión

Page 5: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

a mis tíos RAFAEL HERNÁNDEZ y ELENA TAMAYO

los cuales me han apoyado estos últimos cinco años en la terminación de mis estudios

a mis primos JULIO CESAR Y CLAUDIA HERNÁNDEZ TAMAYO

por su grata compañía en todo este tiempo

Page 6: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

a toda la familia Piña en especial a ARACELI PIRA ROMERO

mil gracias por sus traducciones y por su cariño

Page 7: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …
Page 8: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

I N T R O D U C C I ó N

En el Brea de la docencia en Ingeniería Electrbnica dentro de esta Universidad ha llamado la

atencibn desde hace algún tiempo la idea de utilizar señales digitales como informaci6n de uso

general en vez de las señales anal6gicas, las cuales con el paso del tiempo han dejado ver

serios problemas en el manejo adecuado de transmisión de información a distancias largas (por

ejemplo, el telbfono).

Una de las mis grandes inquietudes generadas es la de poder digitalizar las señales de voz

para usos generales tales como la telefonía, y a un futuro, el entendimiento entre computadora y

hombre sin la necesidad de un teclado.

Como la digitalización de voz requiere de un complicado sistema de hardware, se ha pensado

partir de algo ya establecido como lo es el uso del hardware de una microcomputadora (PC).

Con el empleo de la PC se pretende activar un sistema de digitalización de voz con la condición

de que una vez activado dicho sistema, la PC pueda realizar sus actividades normales y así

ambos sistemas trabajen de manera independiente.

La tarjeta de expansibn es la encargada de recibir la señal de la PC y mandarla al sistema

externo y a la vez detectar cuando ese sistema se haya activado para devolver otra señal a la

PC, la cual hard que ambos sistemas se desconecten aparentemente y funcionen de manera

independiente.

El presente proyecto explica el modo de manejar un microprocesador externo a la

microcomputadora (PC).

Page 9: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Para lo cual se diseha una tarjeta que es capaz de hacer una comunicaci6n de la PC con otro

microprocesador; el diagrama de funcionamiento de nuestro sistema se puede representar

como un diagrama de transici6n de estados y el cual quedaría de la siguiente forma :

El modo de funcionamiento de la tarjeta de expansi6n de manera general se puede expresar

como:

a) podemos escribir en la memoria de la tarjeta desde la PC.

b) podemos activar al microprocesador TMS3201 O desde la PC por 16gica combinacional. Una

vez activado el microprocesador podemos hacer que la PC trabaje independiente de él.

c) una vez activado el microprocesador podemos escribir en la memoria o leer de ella según se

desee.

d) si el microprocesador TMS32010 ha depositado algo en la memoria, podemos leerla desde

la computadora personal (PC).

e) la lectura o escritura en memoria la pueden realizar cualquiera de los dos, PC o TMS, pero

unicamente podrA ser unilateral, es decir, que en un mismo momento s610 podrh leer o escribir

uno de ellos.

9 la desactivaci6n del microprocesador es hecha a traves de la PC tambien.

g ) la desactivaci6n del microprocesador puede ser mediante software o hardware.

Page 10: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Se implementa 16gica cornbinacional en la tarjeta para poder lograr un control adecuado de

todas las señales de direccionamiento. Las senales requeridas para el funcionamiento de la

tarjeta se toman del slot (peine) interno de la PC y de los pins (patas) del mocroprocesador

TMS3201 O; todo ello generado a base de software.

Page 11: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

1.- CARACTERfSTICAS DE LOS PROCESADORES

DIGITALES DE SEÑALES.

El Procesador Digital de Señales (DSP) es un sistema el cual acepta señales digitalizadas de

informaci6n y funciona con algunas operaciones matematicas en la informaci6n y delibera el

resultado a un sistema patr6n de varias salidas. El sistema DSP tiene una informaci6n de señal

anal6gica usando un convertidor Anal6gico-Digital (AID), procesando el uso de datos a un chip

DSP con una memoria asociada; la salida de resultados es a un patr6n de bus o a un

convertidor anal6gico digital (ND).

El primer prototipo de diseño de chips DSP fue el Intel 2920, con convertidores tanto

Anal6gico Digital (AID) - cono -Digital Anal6gico(D/A). Este procesador Digital de Señales tiene 4

canales anal6gicos de entrada, 8 canales AID de salida y un procesador de 24 bits con 192x24

bits de ROM de palabra y 40x25 bits de RAM de palabra.

Mas adelante, estos chips con exclusivas entradas anal6gicas, podran tener en ellas una mejor

implementaci6n con diferentes tipo de tecnologías en tanto incrementamos las operciones

ariimbticas rapidas del procesador, adicionando mas instrucciones ROM y datos en RAM,

mejorando la capacidad de manipulaci6n de bits e incrementando la capacidad de este

procesador de punto flotante.

En los m6todos en la búsqueda de los chips DSP, la actividad esta enfocada al

descubrimientos de algoriimos para el procesamiento digital de señales y la demostración de

sus aplicaciones para una designaci6n practica del sistema. Se ha hecho la implementación de

sistemas (como la tbcnica VLSI) de hardware o procesadores de arreglos altamente

paralelos,

Page 12: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

ecoc6micamente fhciles y tecnica realizable: el diseno VLSl realza las ventajas asociadas con

tales implementaciones ya que actúa fuertemente favoreciendo algunas pruebas. Los

procesadores de arreglos implementados con esta tecnología ofrecen mis capacidad de

hardware, mayor rapidez y baja potencia.

La idea de crear un chip DSP puede estar basada sobre el potencial y la obligaci6n impuesta

por la tecnología y la metodología planeada ; se planea incluir la interconexi6n, comunicaci6n,

funciones primitivas, modularidad y sistema de cronometraje (reloj) para Yluctuar en el uso de

funciones fijadas dedicadas al hardware para el uso del software sobre computadoras digitales

de prop6sito general .

La eleccibn del metodo de implementaci6n esta inclinada para ser generada por el costo y

consideraciones de ejecucibn y requerimientos de procesamiento flexible.

El direccionamiento general para implementar la ejecuci6n de alto nivel del DSP ha sido a

traves del uso de hardware de prop6sito especial. En general hay dos tipos para designar el

prop6sito especial del sistema de computacibn: uno es para designar al sistema de alambrado

duro el cual no puede ser claramente reprogramado para la ejecuci6n de otras tareas ademas

de la tarea original; ejemplos de tales sistemas incluyen procesadores para el cAlculo de la

Transformada RApida de Fourier (FFT) y filtro digitales, el otro es un sistema programable que

permite al usuario programar aplicaciones de tareas específicas. Debido a la mayor flexibilidad

ofrecida por el acercamiento programable se dB lugar a mAs enfasis en los procesadores de

arreglos programables.

La implementacidn ideal para procesadores incluye la seleci6n de puntos fijados o puntos

flotantes aritm&ticos, series de bits, comunicacidn paralela de bits, m8s interfaces, flujo de datos

de Entradalsalida, interconexidn de redes, control de la metodologfa, soporte en la partici6n del

hardware, t6cnicas de software y muchas m&.

Page 13: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

1 .I .- PROCEDIMIENTO PARA LA IMPLEMENTACI~N DE

LOS PROCESADORES DIGITALES DE SENALES.

A diferencia del prop6sito general de microprocesadores, el elemento procesando de un

sistema DSP tiene características para encontrar la naturaleza de tareas computadas requeridas

para aplicaciones en la digitalizaci6n de sehales. La clave de estas caracteristicas para

aplicaciones DSP son adecuadas para longitud de palabra, multiplicar reido, acumular, alta

velocidad RAM, rapidez en el coeficiente de direccionamiento de la tabla y nuevo mecanismo de

“fetch’.

La clave para una ejecuci6n de alto nivel en hardware DSP es, tener los elementos del

procesando organizados de tal forma que la estructura del algoritmo est6 a la mano. Así, el reto

para el arquitecto de un chip general DSP es diseñar una arquitectura DSP la cual pueda ser

empaquetada en un circuito integrado y que ademis realice una ejecuci6n relativamente buena

para una diversidad de aplicaciones DSP. Las operaciones mAs importante en un DSP deben

ser la suma, multiplicaci6n y la multiplicacibn y almacenamiento del dato; lo anterior es

importante en el disefio de una Unidad Aritrn4tica (AU) rApida para estas operaciones.

1.2.- CONSIDERACIONES EN EL DISEÑO DE LA ARQUITECTURA

DE UN PROCESADOR DIGITAL DE SENALES.

La construcci6n bhsica de un chip DSP se muestra al final de este apartado. El diseño de la

arquitectura de un chip DSP envuelve las especificaciones besicas de la construcci6n de bloks

y la determinaci6n del camino en el cual ellos son interconectados.

Los componentes bhsicos son descritos como siguen:

.

Page 14: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

UNDAD DE MEMORIA (MU): Consiste de una memoria de datos (DM) y un coeficiente de

memoria (CM). La DM almacena los datos y algún resultado intermedio así como el CM

almacena constantes de coeficientes fijos tales como coeficientes de filtro y tablas de seno

coseno de la Transformada RBpida de Fourier (FFT) y la aplicaci6n de la generaci6n de la señal

senoidal.

UN/DAD DE CONTROL (CU): Consiste de un contador de programa(CP), un programa de

memoria (PM), una instrucci6n de decodificaci6n (ID) y una unidad de direcci6n de

computaci6n (ACU). El CP genera la direcci6n de la instruccibn para ser ejecutada, el PM

almacena la instrucci6n del programa y el ID decodifica las instruciones para generar las

señales de control del acarreo hacia fuera de la instrucci6n ejecutada; el ACU computa la

direcci6n para los operandos sobre la direcci6n de las señales de control generadas por el ID.

UN/DAD AR/TMf%2A (AU): La unidad aritmktica consiste de un multiplicador (MPY), unidad

I6gica aritmbtica (ALU) y registros de prop6sito general (GPR). El MPY es generalmente un

multiplicador en paralelo en un chip DSP; el ALU ejecuta la adicidn, sustracibn, corrimientos y

algunas funciones 16gicas; los GPR's retienen datos temporales y son conectados directamente

al bus de datos y otras construcciones bBsicas de bloques. En el caso mBs simple, hay s610 un

registro el cual es llamado acumulador.

1.3.- COMPONENTES BASlCOS DE UN PROCESADOR DIGITAL DE SENAL.

MULT/P¿ICADOR/ALU: Aquí las operaciones aritmbticas dominan la ejecuci6n de los algoritmos

DSP; un arreglo multiplicador de alta velocidad es mBs deseable. Comunmente el tiempo de

muRiplicaci6n es lento al factor dominante en la determinacih del tiempo de ciclo de

-~

instruccibri de un chip DSP, esto implica que el tiempo de multiplicaci6n puede ser fuertemente

acortado mBs alla del adelanto de la tecnologia; sera un reto real para la arquitectura disefiada

el guardar el tiempo de ciclo de instrucci6n como el tiempo de multiplicaci6n.

Page 15: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Un ALU con la capacidad de corrimiento 'antes y despue puede ser útil a los operandos como

prevenci6n al sobreflujo en puntos de operaci6n fijos. Algunas operaciones de hardware no

lineales tales como la saturaci6n de una operaci6n aritmbtica tomando el valor absoluto o la

conversi6n del formato sin ciclos de instrucciones extras pude servir m& en el mejoramiento de

la rapidez.

REGISTRO DE PROPdSITO GENERAL: Teniendo mAs de un prop6sito en general, es

conveniente manejar variables temporales en el retardo de operaci6n y cAlculo de

multiplicaciones complejas.

BUSES MULTIPLES: Para la velocidad de ejecuci6n en un orden existen muchos caminos

paralelos dentro y fuera del procesador, para el habilitador de la comunicaci6n en paralelo entre

memorias y para m6dulos funcionales del procesador.

MEMORIA: La señal del porceso es esperada para ejecutar todos sus programas durante el

intervalo de prueba porque ellos requieren memoria veloz; usualmente tienen un espacio de

direcci6n limitada, el tamaño miwimo del cual es determinado por la raz6n de prueba y el ciclo

de proceso. Muchos algoritmos DSP tales como el FFT y la convoluci6n requieren coeficientes

constantes: si un alto es requerido (un I 16gico) es para almacenar los coeficientes en una

ROM, de otra forma, algunas operaciones aritmbticas (tales como la multiplicacidn y la suma)

pueden ser implementadas por valores en una tabla los cuales requieren el uso de la ROM.

UNIDAD DE DIRECCI6N DE COMPUTACI6N: Para soportar una estructura de acceso, una

unidad de direcci6n de computaci6n con capacidad de varios indices son usualmente

implementados en un chip DSP. La inclusidn de una direcci6n dedicada a la unidad de

computaci6n tiene contribuci6n al acortamiento del tiempo del ciclo de instruccibn.

Page 16: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Algunos chips DSP tiene una unidad de direcci6n de computaci6n separada y dedicada a cada

unidad de memoria, las cuales dan una flexibilidad mayor para datos estructurados y

coeficientes de acceso.

ENTRADAISALIDA (//O): Soportan procesamiento en paralelo, esto es muy importante en la

inclusi6n de la interfase I/O sobre el chip, así la interface de salida del chip limita al sistema

asignado y baja el ancho de banda de los I/O. Debido a las limitaciones del pin (pata) común

del paquete, un número grande de canales en paralelo de I/O hacen verlo no tan fAcil. Como

progreso de la tecnología, m& soportes en paralelo de las I/O pueden ser integradas con

potencia de procesamiento sobre un chip simple.

1.4.- MEDIDAS EN LA EJECUCI~N DE UN PROCESADOR DIGITAL DE SENAL.

Dos medidas de ejecuci6n que mejoran el sistema de un DSP son la presici6n y la velocidad,

las cuales se detallan a continuaci6n.

PREC/S/~N: La presici6n realizable es dictada por el tamalio de palabra del MUS y de la AU. EL

algoritmo DSP es iterativo y los errores en la computaci6n intermedia son acumulados; para

evitar el exceso de errores, la mayor exactitud se debe mantener a traves de la ejecuci6n ya que

es mAs crucial (en tiempo real) corregir errores una vez ellos detectados (para backtrack es casi

imposible).

RAPIDEZ: La rapidez de un chip DSP depende de muchos factores tales como el tiempo del

ciclo de instrucci6n y la potencia del conjunto de instrucciones soportadas por la arquitectura.

Si se forman N instrucciones para complementar la ejecuci6n de un algoritmo y el tiempo total

necesitado para esta ejecuci6n del algoritmo es (N * t) donde Y' es el tiempo del ciclo de

instrucci6n; notemos que la última medida de la ejecuci6n rapida es el producto de 'N' y T.

.~ ~.

Page 17: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

1.5.- ARQUITECTURA HARVARD.

Esta arquitectura significa un costo grande de la arquitectura de Von Neumann en la cual los

datos y las instrucciones en memoria tienen faces separadas, de este modo se evita la

saturaci6n del Único bus en la ejecuci6n de instrucciones rhpidas en el procesador de Von

Neumann. La arquitectura Hardvard Modificada sirve para la adici6n de un puente entre el

programa y el bus de datos permitiendo un recursamiento entre la memoria del programa y la

memoria de datos.

El uso de canalizaci6n también genera velocidad en los procesos; algunos chips DSP (como el

M88764 y el DSP128) para grandes requerimientos incluyen circuitería para habilitar estos chips

en cascada. El DSP128 puede direccionar bajo 64 Kbytes de ROM fuera del chip para

proporcionar grandes algoritmos en la digitalizaci6n de señales. El PD77230 (de NEC) incorpora

ambos 32x32 bits de punto flotante en multiplos y paralelo y una Unidad Aritmética L6gica (ALU)

de 55 bits de punto flotante; es capaz de funcionar con 6 Mbits. Otros chips DSP con

capacidad de ejecucui6n de punto flotante aritmético son: el DSP32 y el MSM6992, los cuales

tienen capacidad de punto flotante para dar un rango a los posibles valores de señales.

1.6.- PROP~SITO DE LOS CHIP'S PARA EL PROCESAMIENTO DIGITAL DE SENALES.

Un desenvolvimiemto variable tendrhn los chips DSP tanto para la investigaci6n como para la

industria ya que pueden ser usados como procesador de datos y procesamiento de ciclo de

imhgenes con teclados en serie.

Un registro Syst6lico puede ser usado para el procesamiento de imhgenes en tiempo real,

reconociendo la gran respuesta que deben de tener en el campo de las comunicaciones,

campo en el cual puden procesar este tipo de señales. Un chip elevador sist6lico asigna un

adelanto y una parte nueva a los cimientos de un grupo de N/2 topes de entradas para FFT, a

la

Page 18: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

necesidad de una comunicaci6n global entre elementos y los registros; la dificultad de la

ejecuci6n de la FfT por sus elevadas asignaciones porque separa dos arreglos hacia adelante

con movimientos futuros.

Algunos chips tienden a desenvolverse en escenarios aritmeticos o en ejecuciones de

funciones con alguna particularidad muy específica tales como la respuesta de filtros al impulso

finito. Desarrollan un mayor trabajo en la sustituci6n de un desarrollo de algoritmos con

implementaci6n de arreglo sistolíticos.

En la falta de tolerancia para el desarrollo de algoritmos se pueden diseñar arreglos usando

paridad de bits en las entradas. En la falta de conexi6n y transmisi6n de errores, las I/O pueden

ser activadas o reconfiguradas sin elementos defectuosos; esto puede ser tolerado y asignado /

a c6digos de transmisi6n de error.

1.7.- CHIP'S COMERCIALES PARA EL PROCESAMIENTO DIGITAL DE SENAL.

Los chips más populares para el Procesamiento Digital de Señales de 16/32 bits son el

TMS3201 O (de Texas Instruments) y el PD7720 (de NEC). El TMS tiene una palabra de 16 bits y

un acumulador de 32 bits, 1536 instrucciones de palabras en ROM y 144 palabras en RAM, el

ciclo de tiempo de instrucciones es de 200ns teniendo una ejecuci6n de 5 millones de

instrucciones por segundo. Se explican con más detalle las características del TMS en el

segundo capítulo de la presente tesis.

Las operaciones complejas matemáticas en el dominio anal6gico como la diferenciaci6n e

integraci6n son implementados por los chips DSP en forma de multiplicaciones y sumas.

La gran velocidad con que se ejecutan las multiplicaciones y sumas en estos chips indican la

gran capacidad aritmetica que tienen; debido a esto los chips DSP tienen multiples

dedicaciones en hardware así como tambibn la mejora en sus rutinas de software.

A partir de 1986 los nuevos chips DSP estan diseñaldos con un bus de datos externos de 32

bits y algunos más con capacidad aritmbttica de punto flotante.

Page 19: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

6800 DE MOTOROLA.

Contiene un total de 64 pin (patas); su elevado número de pin's es debido a diferentes

empleos para direccionamiento y datos con el objeto de simplificar la circuiteria externa y

utilizar sehales externas que hagan compatible al microprocesador con sus perifbricos.

Contiene 23 líneas de direccionamiento (Al hasta A23).

Tiene ocho registros de datos (DO hasta D7) de 32 bits los cuales se utilizan para contener

datos; como registros indices, dichos registros tambi6n direccionan bits en grupos de 8 y 16

(parte alta y parte baja).

Contiene siete registros de direcciones (A0 hasta A7) de 32 bits que se usan fundamentalmente

para el c~lculo de la direcci6n del datos. Tiene un registro doble A7 que es el puntero a la pila

hardware del procesador; el uso de uno u otro puntero por la instruccibn que se esta

ejecutando depende del valor del bit número trece del registro de estado (SR). El contador de

programa (CP) de 32 bits s610 utiliza en la actualidad los 23 bits m& bajos.

El registro de estados (SR) de 16 bits cuenta con la siguiente configuraci6n: tiene bits desde

b4 hasta bO de extensi6nI negacibn, sobreflujo y acarreo. Los bits b8 a b10 forman los ocho

niveles permisibles para interrupciones. Con el bit b13 se indica el estado del procesador (modo

O): con el valor de uno esta en modo supervisor y en cero en modo usuario. El bit b15 es de

transici6n: con un uno permite seguir paso a paso la ejecuci6n de cualquier programa que se

encuentre en la posici6n 36 de memoria.

Los datos desde DO hasta Dl5 son 16 líneas las cuales tienen las siguientes interrupciones:

IPLO, IPL1, IPE, indicando &as el nivel de prioridad del dispositivo que pide interrupciones y

sus sehales de instrucci6n.

El error en el bus se hace notorio con las instrucciones BERR, RESET, HALT; todas ellas de

16gica negativa (negadas).

Page 20: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Tiene diez modos de direccionamiento: modo registro, modo registro indirecto, modo indirecto

con decremento, modo indirecto con incremento, modo relativo a un registro base, modo

indexado, modo relativo al CP, modo absoluto, modo indexado al CP y modo relativo al

contador del programa (CP).

Con la instrucci6n aritmbtica ADD suma de 8, 16 6 32 bits. Con la instrucci6n MUL ejecuta

multiplicaciones de 16 bits. Realiza restas de 8, 16 6 32 bits. Divide con la instruccidn DIV de 8,

16 6 32 bits.

Tiene instrucciones de desplazamiento-rotacibn, de rotaci6n izq-der ylo der-izq de 8, 16 6 32

bits; desplazamientos izq-der y/o der-izq de 8, 16 6 32 bits; todas las anteriores se realizan con

las siguientes instrucciones: AND,OR, EOR y ROT; ademhs tiene la facilidad de disponer de

instrucciones de manipulacidn de bits de comprobaci6n de estado, de un bt.

El 68000 se complementa con circuitos específicos para control de bus, gestidn de memoria y

control de transferencia (DMA); por otra parte, su estructura de bus le permite utilizar todos los

circuitos perifbricos de la familia 68000.

Existen sistemas de desarrollo especificos para el 68000: comparadores de alto nivel,

ensambladores y un programa convertidor de 6800 a 68000 en c6digo objeto.

NS-32032.

La familia NS estA disefiada para el soporte eficiente de compiladores de lenguaje de alto nivel

y ejecuci6n de programas que requieran espacio de direccionamiento importantes con la

utilizaci6n de memoria virtual; es ademhs un microprocesador segmentado.

En un momento determinado puede estar ejecutando varias instrucciones cada una de ellas

en diferentes fases de ejecuci6n.

Este microprocesador contiene buses internos y externos de datos y direcciones de 32 bits; su

registro de trabajo es tambibn de 32 bits. En el concepto de memoria virtual, el programador

utiliza en sus programas una direcci6n denominada 'virtual', de modo que ve a la combinacibn

de memoria principal y memoria de masa como si fueran una sola y gran memoria.

Page 21: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

La familia 28000 y 68000 ya tienen dentro de la misma familia, pastillas que ayudan a la

realizacidn pritctica de la memoria virtual. Esta arquitectura es tambih para compiladores que

ejecutan lenguajes de alto nivel. Externamente es una arquitectura de 32 bits pero internamente

es de 6 4 ; su capacidad de direccionamiento es 16 Mbytes mayor, sin embargo, sus buses

internos de 32 bits le permiten realizar operaciones grandes.

La unidad aritmbtica Idgica (ALU) de 32 bits puede realizar un conjunto importante de funciones

que ayudan a las interrupciones. La ejecuci6n de estas instrucciones son realizadas por

organizacidn segmentada. El mecanismo de búsqueda anticipada de instrucciones ha sido

realizado igual que el 8086 mediante una memoria ritpida FIFO de 8 bytes. Las .instrucciones

son decodificadas por un preprocesador previo a que un secuenciador de microprograrna

carge y ejecute las microinstrucciones que realiza la instrucci6n en curso de lenguaje mhquina.

Los modos o estados del procesador son dos: supervisor y usuario. Esta característica ya

encontrada en los 68000 y 78000 facilitan el diseno y realizacidn de posibles sistemas

operativos ya que le permiten llevar un sistema de prioridades en cuanto a la ejecuci6n de

ciertas instrucciones y el paso de acceso a ciertas pitginas de la memoria.

El NS32032 cuenta con 8 registros de 32 bits de uso general, el registro CP de 32 bits, la

interrupcidn de base (INTBASE), registros punteros de pilas (SPO, SPI), registros de estados

del procesador (PSR), registro apuntadores de datos estitticos (SP), registros de apuntador de

bloque (FP) y registro mddulo (MOD).

Contiene ocho modos de direccionamiento: modo inmediato, modo absoluto, modo registro,

modo relativo a un registro, modo indexado,modo pila, modo relativo a memoria y modo

extenso.

Page 22: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

MB-8764 de la FUJITSU.

Este procesador es muy rhpido y tiene una estructura CMOS muy compleja. Consiste de siete

unidades funcionales: la medici6n en la generaci6n de tiempo, el secuenciador, la secci6n de

direccionamiento, la ALU (que contiene los mútiplos), la RAM y la secci6n de Entradalsalida.

El secuenciador contiene el contador de programa, la interface de programa de memoria

externa y dos registros de instrucciones; todos van desde una vía de informaci6n alimentando la

seccibn, descifrando, operando, direccionando y calculando antes de la ALU el comienzo del

programa actual. La secci6n de direccionamiento que contiene a la ALU puede de esta manera

calcular en paralelo la direcci6n de la operaci6n.

La RAM est4 dividida de 2 a 128 palabras de memoria. Una hilera de la RAM es usada para

alimentar simutaneamente la salida de la ALU. La segunda hilera puede extenderse utilizando

chips de mamoria externa (arriba de 1 K).

La ALU consiste de un multiplicador y un acumulador de adici6n de 16x1 6 bits, de los cuales

26 bits son utilizados como fuente a una secci6n 16gica; el ciclo de tiempo de ejecuci6n de la

ALU es de 100 ns. La secci6n I/O contiene un contador DMA como fuente, como direcci6n y

como registro de datos.

En la multiplicaci6n de unidades funcionales, este chip de la Fujitsu puede ejecutar

operaciones en la ALU en paralelo por encima de operaciones con direccionamiento calculado

adem4s de operaciones de entrada/salida, de este modo ejecuta de manera r4pida un

programa.

La palabra de instrucci6n es de 24 bits de ancho y est4 dividida en dos partes. La primera

parte corresponde al c4lculo de la instrucci6n de direccionamiento de los I/O y la segunda parte

corresponde a las instrucciones de la ALU. Las instrucciones de la ALU proporcionan una

variedad de operaciones 16gicas y aritm6tticas inclyendo la multiplicaci6n y la suma de

transferencia izquierdo/derecho. Los direccionamientos e instrucciones de 1/0 proporcionan

Page 23: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

simultaneamente operaciones de transferencia de datos entre la memoria de la ALU y el bloque

de memoria a transferir. Tiene ademas un número condicional e incondicional de señales de

inclusi6n de operaciones.

T414 6 T424 de la INMOS.

El disefio de este chip esta basado en un lenguaje 'Occam' que proporciona soporte de

hardware en la concurrencia y comunicaci6n, situaci6n que es el coraz6n de un arreglo

computacional; se considera a este bit como un ejemplo evidente de una completo computador.

Desde luego, tiene que estar diseñado de modo de comportamiento externo hasta un modelo

de procesador formal, su arquitectura adopta el popular diseño RISC.

Tiene un procesador de 32 bits con 10 millones de instrucciones por segundo, 4 kbytes de 50

ns de RAM estatica y una variedad significante de interfaces de comunicaci6n. Estos es posible

para la construcci6n de varios procesos de redes de trabajo. En particular, la representacibn del

hardware de los canales siden para el procesamiento de comunicaci6n; tiene un programa de

raz6n de datos hasta 1.5 Mbytes por segundo. Los datos son transmitidos en secuencia de

bytes, cada uno de ellos son reconocidos en el receptor antes de la siguiente transmisi6n. El

procesador es independiente excepto cuando se este transmitiendo; este protocolo es

escencial para conformar el modelo computacional. Se habilita el proceso de corrida

asíncronamente y s610 existe sincronía cuando existe comunicaci6n.

Page 24: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

En la suma de los modelos INMOS hay una interface con memoria y una interface perifbrica

bidireccional, lo anterior puede ser utilizado hasta extenderlo sobre el tablero de memoria y

acomodarlo a lo largo del programa o a lo largo de la suma de los datos: autoriza acceso

directo hasta 6Gbytes de direccionamiento externo de memoria con una raz6n de datos mkima

de 25 Mbytes/seg; el último proporciona comunicaci6n con un dispositivo de patr6n externo y

es posible ser usado para construir facilmente una emisi6n de señal.

La realizaci6n del direccionamiento tiene limitaciones significantes para aplicaciones en el

procesamiento de señales. Este chip no goza de la funci6n aritmbtica de punto flotante.

El lenguaje Occam esrA diseñado a lo largo del INMOS y el compilador Occam corre

eficientemente sobre 61 como un c6digo natural. En manutenci6n con la filosofía fundamental

del desarrollo del 'transputer', Occam describe una concurrencia natural del sistema como un

juego de procesamiento independiente; usa variables locales definidas y puede comunicarse

s610 vía declarada de canales. En Occam, el canal de comunicaci6n refleja exacta comunicaci6n

y conexi6n vía transputer. En particular, el protocolo autoriza paso de datos del transmisor al

receptor s610 cuando ambos tienen datos iguales. La imposici6n de orden no es un concepto

de tiempo en Occam y toda la concurrencia del procesamiento ocurre asíncronamente.

Page 25: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

2.- CARACTERfSTICAS DEL MICROPROCESADOR TM8-32010.

2.1. ARQUITECTURA.

La familia del TMS utiliza una arquitectura Harvard Modificada para rapidez y flexibilidad. La

arquitectura harvard modificada del microprocesador TMS32010 aumenta por medio de la

autorizaci6n del programa ‘fetch’ a cubrir parcialmente la operaci6n de datos. El diseiio del

hardware intensivo de este microprocesador provee el funcionamiento anterior indisponible

dentro de un solo chip.

El hardware es usado en la implementaci6n de funciones de otros procesadores tipicos

ejecutados por el software. Por ejemplo, el TMS contiene un hardware multiplicador que ejecuta

una multiplicaci6n dentro de un ciclo de instrucci6n. La flexibilidad este miis lejana de realizar

en un juego de instrucciones comprensivas del soporte entre ambos prop6sitos y la aplicaci6n

del proceso digital de seiiales.

En una arquitectura Harvard la memoria del programa y la memoria de datos estan en dos

espacios separados permitiendo un llenado parcial de instruccidn y ejecuci6n del ciclo ‘fetch‘.

La arquitectuta Modificada Harvard de la familia del TMS320 permite transferir entre programas

y espacios de datos, de este modo se incrementa la flexibilidad del dispositivo. Esta

modificaci6n permite depositar coeficientes a la memoria del programa para ser leídos dentro

de la RAM eliminando la necesidad de una separaci6n de coeficientes en ROM lo cual hace

inmediatamente vididas las instrucciones y subrutinas basadas en valores de computo.

La familia del TMS contiene una ALU de 32 bits y un acumulador para el soporte de doble

presici6n de dos complementos aritm6ticos. La ALU es una Unidad Ariim6tica de prop6sito

general operando con 16 bits de longitud de palabra para datos de RAM o derivaciones de

instrucciones inmediatas. En la instrucci6n de suma de la aritmbtica usual, la ALU puede

ejecutar

Page 26: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

operaciones booleanas previniendo la habilitaci6n del bit de manipulaci6n requerido por un

controlador de alta resoluci6n. El acumulador deposita la salida para la ALU y es

frecuentemente una entrada para la ALU. Estas operaciones son de 32 bits de longitud de

palabra; el acumulador esta dividido como palabras de alto nivel (16 hasta 31 bits) y palabras

de bajo nivel. Las instrucciones fueron provistas por el almacenamiento en el acumulador del

nivel alto y del nivel bajo de palabras de la memoria.

La multiplicaci6n ejecuta dos multiplicaciones complementarias de 1 6 x 1 6 bits con un resultado

de 32 bits en un ciclo de instrucci6n. La multiplicaci6n consiste de tres elementos: el registro T,

el registro P y el orden de la multiplicaci6n. El registro T tiene 16 bits de multiplicidad de

almacenamiento temporal; el registro P almacena los 32 bits del producto.

La multiplicaci6n de valores de uno u otro dato de la memoria son derivados inmediatamente

por el MPYK (multiplicador inmediato) de la palabra de instrucci6n. La multiplicaci6n repida

dentro de un chip permite al dispositivo la ejecuci6n eficiente de operaciones DSP tales como la

correlaci6n y la convoluci6n.

Dos corrimientos son avalados para la manipulaci6n de datos. El dewsito de la ALU ejecuta

un cambio a la derecha de 61 desde O hasta 16 localidades en la palabra de carga de la

memoria de datos dentro de la ALU; estos cambios extienden el bit mes significativo de la

palabra de dato y el cero de llenado del bit menos significativo en dos complementos

aritm6ticos. El acumulador lleva a cabo cambios en paralelo a la derecha desde O, 1 6 4

localidades en el acumulador global y localidades del resultado del bit mAs significativo del

acumulador interno de los datos de la RAM; ambos cambios son útiles para el escalamiento y

extracci6n del bit.

El TMS tiene 144/256 palabras de datos en la RAM y 1.5k/4k de palabras de programaci6n

ROM/EPROM para soportar el desarrollo del programa. La EPROM utiliza PROM estendar

programadas y programas identificables a 64 K. El microprocesador TMS3201 O solamente tiene

Page 27: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

capacida de 144 palabras de datos de RAM; es capaz de ejecutar programas por arriba de 4k

en memoria con mucha rapidez para todas las aplicaciones requeridas en localidades de

memoria de programa externa lo cual permite a la RAM externa proveer sistemas basados en

funcionalidad múltiple.

El microprocesador TMS32010 ofrece dos modos de operaci6n definidos por el estado del pin

MC/MP: el modo microcornputador (en alto nivel) o el modo microprocesador (en bajo nivel). En

el modo MC, un fragmento de la ROM es mapeado dentro de la localidad de memoria arriba de

4k de palabra de memoria disponible; en el modo MP todos los 4K de palabra de memoria son

externos.

El TMS contiene cuatro niveles o formas de agrupar el hardware para salvar el contenido del

contador de programa durante las llamadas a interrupciones y subrutinas. Las instrucciones

estan disponibles para salvar los dispositivos del contexto completo. Las instrucciones PUSH

(meter) y POP (sacar) permiten un nivel de anidamiento restringido solo por la RAM disponible.

Las interrupciones usadas por el TMS estan disfrazadas habilmente.

El bus paralelo de datos de 16 bits puede utilizar la ejecuci6n de funciones I/O en dos ciclos. El

puerto I/O est6 direccionado por los tres LSB's en la línea de direcciones. En la instrucci6n de

suma, una salida se encausa por el bit de prueba en la secci6n de operaci6n del pin de

interrupci6n (INT). Dos de los puertos I/O del TMS32010 estan dedicados al puerto serial y al

hardware adicional. De los puertos I/O, el puerto O est6 dedicado al control de registros O los

cuales controlan el puerto serial, interrupciones y hardware adicional; el puerto 1 accesa al

registro de control 1 como dep6sitio entre ambos canales de puerto serial y el hardware

adicional. Los seis restantes I/O estan disponibles mediante interfaces externas en paralelo.

Page 28: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

2.2. HARDWARE INTERNO.

El hardware interno del TMS3201 O implementa funciones que otros procesadores ejecutan en

software o en microc6digo; por ejemplo, este microprocesador contiene hardware de ciclos

simples de 16x1 6 bits de multiplicidad, datos cambiantes y manipulaci6n de direccionamiento.

El hardware intensivo provee acercamiento del poder de computaci6n previa indisponibilidad de

un fragmento simple.

2.3.ORGANIZAC16N DE MEMORIA.

El TMS utiliza una arquitectura hardvard dentro de la cual datos y programas de memoria

residen en dos espacios separados. Provee 144/256 palabras en 16 bits en una parte de los

datos de la RAM y 1.5k/4K palabras de la ROM. Una parte de la versi6n del programa EPROM

este siempre disponible.

MEMORIA DE DATOS:

La memoria de datos en el TMS3201 O consiste de 144 palabras de 16 bits en una parte de la

RAM. La expansi6n de datos de memoria y los operandos son depositados en fragmentos

apartes y son leídos en fragmentos de RAM cuando son necesitados. Dos intrucciones pares

TBLRnBLW y IN/OUT estan disponibles. La instrucci6n de lectura de la tabla (TBLR) puede

transferir valores desde la memoria de programa o cualquiera de los fragmentos de la RAM o de

partes fuera de RAM/ROM o de partes de los datos de RAM. La instrucci6n de escritura en tabla

(TBLW) transfiere valores desde los datos hacia fuera de la RAM; esta instrucci6n toma tres

ciclos de ejecuci6n. Cuando se usa la instrucci6n IN/OUT, la instrucci6n IN lee datos desde un

perifbrico y los transfiere a la secci6n de datos de la RAM; para el hardware extra, la instrucci6n

IN junto con la instrucci6n OUT pueden ser usadas para lectura o escritura desde los datos de

RAM de 'larga cantidad" de almacenaje y direccionamiento como un perifbrico; este metodo

muestra rapidamente que las instrucciones IN/OUT toman s610 dos ciclos de ejecuci6n.

Page 29: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

MEMORIA DE PROGRAMA.

Consiste de 1.5W4k de palabras; el TMS32010 provee unicamente hasta 1.5k palabras. Una

parte del programa ROM de 4k de palabra permite la ejecuci6n del programa a alta velocidad

sin la necesidad de alta velocidad en memoria del programa externo.

La operaci6n de la memoria es seleccionada usando de por medio el pin MC/MP. Colocando

este pin en alto (un 1 16gico) el TMS estA en modo MC; teniendolo en un nivel bajo est6 en

modo MP. En modo MC s610 estan disponibles las localidades desde O hasta 1523 de la ROM

para el uso de programas; las localidades de 1524 a 1535 están reservadas por Texas

Instruments para posteriores ensayos experimentales. La arquitectura del TMS permite una

suma de 2.5k palabras de memoria de programa residente.

Doce pins de salida sirven para direccionamiento externo de memoria, dichos pins (desde A0

hasta Al 1) contienen los buffers de salida del contador de programa o de la direcci6n de los

puertos I/O. Cuando una instrucci6n es 'fetchada' desde la memoria, el MEN (habilitador de

memoria) decide si genera la habilitaci6n de memoria externa, entonces la palabra de

instrucci6n es transferida al procesador vía el bus de datos.

En el modo microcomputador, el procesador selecciona programas internos de memoria. El

MEN decide si se queda quieto o est6 activo (en este modo) y las lineas de direccionamiento A0

hasta All ordenan una salida de valor fijo al contador de programa aunque la palabra de

instrucci6n ordene ser leída desde la memoria del programa interno,

Note que MEN nunca está activo al mismo tiempo que la sefiales WE o DEN. En efecto, MEN

decide ir abajo de todos los ciclos de reloj excepto cuando una funci6n I/O haya sido ejecutada

por las instrucciones IN,OUT 6 TBLW; en este multiciclo de instrucciones MEN es de nivel bajo

(cero 16gico) durante los ciclos de reloj en los cuales WE o DEN no son bajos.

Page 30: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

MOVIMIENTO DE DATOS.

El TMS cuenta con instrucciones para movimiento de datos: es la instrucci6n DMOV (data

move) y es generada por la implementaci6n de algoritmos usando la operaci6n de retraso Z-l,

tal como la convoluci6n y filtro digitales donde el dato es pasado a traves de una ventana en el

tiempo.

El DMOV se encuentra instalado en la RAM y permite a una palabra ser copiada desde la

localidad común de la memoria de datos direccionada en un fragmento de RAM de la pr6xima

localidad de tiempo significativo del dato hacia la localidad direccionada que ha estado

operando arriba del mismo ciclo de instrucci6n.

MAPEO DE MEMORIA.

El TMS-32010 tiene tres localidades separadas de direccionamiento: para memoria de

programa, memoria de datos y EntraddSalida, donde la memoria del programa estA

configurada de acuerdo al estado que guarda el pin MC/MP del chip del microprocesador.

REGISTROS AUXILIARES.

El TMS3201 O tiene dos registros auxiliares de 16 bits. Estos pueden usarse por

direccionamiento indirecto de la memoria de datos y almacena el dato de manera temporal ;

autoriza la colocaci6n en la memoria de datos con el direccionamiento de una instrucci6n de

operaci6n en un mínimo de 8 bts. Los registros se seleccionan COQ un simple bit. Los registro

auxiliares son:

REGlSTRO AUXlLlAR DE PUNTO (ARP): es cargado con un valor de 1 6 O, designados como

AR1 y ARO respectivamente; el ARP es parte del estado del registro y puede ser cargado en

memoria.

Page 31: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

REGISTRO AUXILIAR DE AUTOINCREMENTO/DECREMENTO: Cuando este registro auxiliar se

autoincrementa/decrementa por una instrucci6n de direccionamiento indirecto de la instrucci6n

del BANZ (registro auxiliar de ramificacibn que no es cero), los nueve bits inferiores son

afectados.

Los siete bits superiores del registro auxiliar no son afectados por alguna operaci6n del

autoincremento/decremento.

Los dos registro auxiliares pueden ser salvados y cargados desde la memoria de datos con las

instrucciones SAR (registro auxiliar de almacenamiento) y por LAR (registro auxiliar de carga)

respectivamrente; estas dos instrucciones transfieren un valor de 16 bits desde y hasta el

registro auxiliar, nivelado a traves de un direccionamiento indirecto y un contador de enlace,

utilizando una parte del registro auxiliar; la instruccibn BANZ es la que permite que el registro

auxiliar tambibn pueda ser utilizado como contador de enlace.

MODOS DE DlRECClONAMlENTO DE MEMORIA.

El TMS puede dirigir arriba de 4k de palabras de memoria de programa y arriba de 144

palabras de la memoria de datos. Tres formas de direccionamiento de instrucciones de

operaci6n pueden ser usadas, ellos son: modo directo, modo indirecto y modo inmediato.

En el modo de direccionamiento directo, el primer bit de la memoria de datos indica cualquiera

de las dos paginas seleccionadas; la pagina cero se encuentra de la localidad O a la 127, la

pAgina uno de la 128 a la 143 o de la 128 a la 255 según el modelo empleado de la familia TMS.

El direcionamiento de la memoria de datos estA especificado por la sbptima instruccicin del LSB

concatenado con el direccionamiento de palabra (DP) deseado adentro de la pagina ; el DP es

parte del registro de estado y puede ser almacenado de este modo en la memoria de datos.

Page 32: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

El modo de direccionamiento indirecto usa los 8 bits inferiores del registro auxiliar en el

direccionamiento a la memoria de datos lo cual es suficiente para dirigir las 256 palabras de

datos; no es necesario una paginaci6n en este modo de direccionamiento. El registro auxiliar

común es seleccionado por el registro auxiliar de punto. En resúmen, el registro auxiliar puede

ser autoincrementado/decrementado durante la ocurrencia de alguna determinada instrucci6n

indirecta.

En el modo inmediato, es usado un operando y este este contenido dentro de la misma

instrucci6n de palabra.

2.4. LA UNIDAD CENTRAL ARITM~TICA LC~GICA (CALU).

Contiene un multiplicador paralelo de 16x1 6 bits, una unidad aritmetica 16gica (ALU) de 32 bits,

un acumulador (ACC) de 32 bits y dos registros de corrimiento.

Los siguientes pasos suceden en la implementaci6n de operacibn típica de la ALU:

1 .- El dato es traído desde la RAM al bus de datos.

2.- El dato es pasado a traves del registro de almacenamiento (de 16 bits) desde donde es

requerido, dependiendo del valor especifico de la instrucci6n.

3.- El dato es introducido en la ALU encima de la operaci6n y es cargado dentro del

acumulador.

4.- El resultado obtenido en el acumulador es pasado en paralelo a un acumulador izquierdo a

traves de un registro auxiliar de salida.

5.- El resultado es depositado en la RAM; despues es almacenado por mitad en un acumulador

de 32 bits de manera separada.

REGISTROS.

Dos registros e s t h disponibles para la manipulaci6n de datos: el registro de almacenamiento

(dentero de la ALU) para la transferencia de datos desde la RAM; el otro es el registro en

paralelo para la transferencia al acumulador.

Page 33: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

El registro de almacenamiento tiene conexi6n para 16 bits de entrada hacia el bus de datos y

conexiones para 32 bits de salida hacia la ALU. El registro de almacenamiento produce un

registro izquierdo de O a 16 bits sobre toda la palabra en la memoria de datos y el cual es

cargado dentro de, sustraído desde 6 sumado hacia el acumulador por las instrucciones

LAC,SUB y ADD respectivamente. El registro LSB de 'llenados por ceros' extiende la seiial de

de palabra de 16 bits a 32 bits de la memoria de datos en una acci6n conocida como aritmbtica

de registro a la izquierda. Por ejemplo, los bits hacia la izquierda de MSB de la palabra del dato

son llenados con unos si la MSB es un uno o con ceros si la MSB es un cero.

El registro en paraleo es activado s610 con la instrucci6n SACH (almacenamiento de la palabra

mAs significativa) la cual causa la transferencia hasta ser cargado con un contenido de 16 bits

del acumulador; el dato es entonces transferido a la izquierda. El mAs significativo de los 16 bits

del registro es almacenado en RAM, resultando un enlace del bit mAs significativo del dato; el

resto del contenido del acumulador permanece sin cambios.

El registro en paralelo puede ejecutar una transferencia de 0,l 6 4 localidades; las

transferencias de 1 y 4 son requeridas para operaciones de multiplicaci6n. El corrimiento a la

derecha no es implementado de manera directa.

ACUMULADOR y ALU.

La ALU de 32 bits y el acumulador implementan funciones aritmbticas y I6gicas de amplio

rango, la mayoría de las cuales son ejecutadas en un ciclo de reloj. Una vez que la operacibn es

ejecutada en la ALU, el resultado es llevado al acumulador en donde se guardan todas las

operaciones ejecutadas; el dato de salida de la ALU es clasificado por el registro de

almacenamiento.

Page 34: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

La ALU es una unidad aritmbtica 16gica de prop6sito general operando con 16 bits de longitud

de palabra, produciendo un resultado de 32 bits; puede sumar, restar y ejecutar las

operaciones 16gicas. El acumulador es siempre el primer destino del operando. Un valor de la

memoria de datos es el operando de la parte baja media del acumulador; cero es el operando

de la parte superior media del acumulador.

El acumulador de almacenamiento es de 32 bits de salida para la ALU y puede ser una entrada

hacia otra ALU. EL acumulador est6 dividido en dos palabras de 16 bits almacenados en la

memroia de datos: una palabra de nivel alto y otra de nivel bajo. Las instrucciones SACH y

SACL utilizan el nivel alto y bajo de la palabra guardada en el acumualdor de almacenamiento;

estas instrucciones son usadas para la implementaci6n de aritmhtica de doble presici6n. Un

registro a la salida del acumulador proporciona una transferencia a la izquierda de O, 1 6 4

localidades. El registro est6 funcionando mientras el dato es transferido hacia el bus de datos

mientras el contenido del acumulador permanecen sin cambios.

REGISTRO MULTIPLE, T Y P.

El TMS32010 utiliza un hardware múltiple de 16x16 bits el cual es capaz de computar un

producto de 32 bits en un ciclo de m6quina. Los registros T y P est6n asociados con el registro

múltiple de la siguiente manera:

" Un registro temporal de 16 bits (registro T) el cual tiene uno de los operando del multiple

" Un registro del producto de 32 bits (registro P) el cual guarda el resultado del producto.

En el orden del uso del múltiple, un operando debe primero ser cargado en el registro T desde

el bus de datos usando las instrucciones LT, LTA 6 LTD, entonces, las instrucciones MPY

(rnúltiplo) 6 MPYK (múltiplo inmediato) proporcionan el segundo operando. Si es usada la

instrucci6n MPY, el valor del múltiple es un número de 16 bits, si es usada la instrucci6n MPYK,

Page 35: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

el valor este en una constante de 13 bits contenida en la palabra de instrucci6n MPYK; esta

constante de 13 bits se ecuentra justificada a la derecha de la selial extendida. Despues de

la ejecuci6n del multiple, el producto se halla determinado en las localidades del registro P. El

producto puede entonces ser sumado hacia, restado desde o cargado dentro del acumulador

mediante la ejecuci6n de las intrucciones PAC, APAC, SPAC, LTA 6 LTD. La vía de informaci6n

del registro múltiple y el acumulador de operaciones pueden ser realizados con las

instrucciones LTNLTD y MPY/MPYK.

2.5. RESET.

La instrucci6n de Reset (RS) es una interrupci6n externa. Manejando la selial RS con un bajo

(cero 16gico) termina la ejecuci6n del TMS y forza al contador de programa hacia cero; los

registro son afectados por el estado de RS. Para la operaci6n correcta del sistema una vez

proporcionado voltaje, la señal RS debe estar en bajo nivel de voltaje hasta logar el estado de

reset del dispositivo. En la ejecuci6n del procesamiento contenida en la localidad O, contiene

normalmente una ramificaci6n para la ejecuci6n directa del programa de la rutina de

inicializaci6n del sistema.

Una vez recibida la selial RS suceden las siguientes acciones:

--- Las líneas de control para DEN, WE y MEN son forzadas a un alto.

--- El bus de datos (desde DO hasta Dl 5) se encuentran en un estado de alta impedancia.

--- El contador de programa es puesto en cero y el bus de direcciones (A0 hasta Al 1) son todas

ceros despues de la siguiente caida del ciclo de reloj cuando la señal RS este presente.

--- La interrupci6n es deshabilitada y la bandera del registro de interrupci6n es puesta en ceros.

--- Los bits del registro de control del TMS se encuentran así: CR11 es puesto en O y CR15 en l.

El TMS32010 puede estar en el estado de reset por tiempo indefinido. Note que el estado de

los bits de ARP, DP y OVM no son inicializados por el reset.

Page 36: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

REGISTRO DE ESTADOS.

Los registros de estados consisten de 5 bits de estado los cuales pueden ser alterados

individualmente a traves de instrucciones específicas: en resumen, la instrucci6n SST

proporciona el almacenamiento del registro de estados en la memoria de datos, con la exepci6n

del bit INTM ya que este bit puede ser cambiado solamente por las instrucciones EINT/DINT

(habilitaci6n y deshabilitaci6n de interrupciones). De esta manera, los estados presentes del

dispositivo puden ser salvados o interumpidos con llamadas a subrutinas. El contenido del

registro de estados puede ser almacenado en la memoria de datos por la ejecuci6n de la

instruccibn SST; se logra la ejecuci6n de SST mediante el direccionamiento de modo directo. El

dispositivo automaticamente almacena esta informaci6n en la piigina uno de la memoria de

datos y especifica su localización por medio de la misma instrucción, de este modo, usando una

instrucci6n SST el modo de direccionamiento directo solo puede especificar una direcci6n

menor a 16 palabras en el TMS32010, despues, la segunda piigina de la memoria contiene

s6lamente 16 palabras. Si seleccionamos el modo de direccionamiento indirecto, los contenidos

del registro de estados pueden ser almacenados en alguna localida de la RAM selecionada por

el registro auxiliar.

2.6 FUNCIONES DE ENTRADAEALIDA (VO):

El TMS32010 implementa una variedad de funciones I/O para comunicarse con dispositivos

externos. El bus de datos en paralelo de 16 bits puede ser usado para la ejecucibn de funciones

en dos ciclos usando las instrucciones IN y OUT. Los puertos I/O son direccionados por las tres

direcciones LSB del bus (PA2 - PAO). En resúmen, una seleci6n de entrada por bit de prueba y

operaci6n de ramificaci6n (BIO) y una interrupci6n de entrada (INT) tienen que estar

incorporadas para un aumento de la flexibilidad del sistema.

Page 37: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

El diseno de los I/O es simplificado para tener las I/O en el mismo camino a la memoria; los

dispositivos I/O son mapeados dentro de un espacio de direccionamiento usando un

procesamiento externo de direccionamiento y un bus de datos de la misma manera en que la

memoria mapea al dispositivo.

Los datos 1/0 son desde o hacia un periferico, ejecutados por las instrucciones IN y OUT. El

dato es transferido desde el bus de datos por medio de la memoria de datos por dos

habilitadores (strobes): la habilitaci6n del dato (DEN) y la habilitaci6n de escritura (WE).

Un bus bidireccional de datos externos este siempre en un estado de alta impedancia excepto

cuando WE es activada con un bajo o durante una instrucci6n IN desde el puerto cero 6 el

puerto uno; WE es un bajo durante el primer ciclo de la instrucci6n OUT y el segundo ciclo de la

instrucci6n TBLW.

Existen ocho direccionamientos disponibles para las funciones I/O por las interfaces de

dispositivos perifbricos; ocho de los 16 bits de puertos de entrada y ocho de los 16 de puertos

de salida se encuentran multiplexados. Despues del sistema de registro de control, el puerto

serial transmite y recibe registros; el hardware adicional tiene que estar mapeado dentro de los

puertos cero y uno.

2.7 INTERRUPCIONES.

El TMS32010 proporciona un interruptor externo de entrada para la comunicaci6n con un

tiempo limitado para operaciones externas. La interrupci6n puede ser generada por cualquiera

de las dos aplicaciones de un margen negativo o una 16gica de nivel bajo del pin de interrupci6n

de entrada del dispositivo. Todas las interrupciones del TMS son 'disfrazadas' a traves del uso

del bit del modo de interrupci6n del registro de estado y varios bits 'disfrazados'.

Para el uso de sistemas de entradas asíncronas de el pin de interrupci6n (INT) del chip, se

requiere hardware externo para asegurar un adecuado proceso de interrupciones, Este

Page 38: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

hardware sincroniza la señal de entrada INT con la subida del mArgen del reloj de salida

(CLKOUT); el TMS32010 requiere una sincronizaci6n externa de flip-flop's para interrupci6n

sobre el pin de la instrucci6n BIO.

Cuando las interrupciones son habilitadas, un interruptor queda habilitado con cualquiera de

los dos voltajes esperados en la entrada del pin INT o cuando un mLgen negativo ha sido

'latcheado' en la interrupci6n señalada. Si la interrupci6n en modo registro es cero, una

interrupci6n activa la señal hacia la interrupci6n interna y el procesamiento es validado. Si el

proceso empezado interrumpe el servicio, causa una ramificaci6n de hasta 2 localidades en la

memoria del programa. La interrupci6n del servicio puede ser atrasada en cada uno de los

siguientes casos:

--- hasta el fin de todos los ciclos de un multiciclo de instrucciones.

--- hasta que la siguiente instrucci6n de la MPY o del MPYK se hallan terminado.

--- hasta que la siguiente instrucci6n del ElNT es ejecutada (cuando la interrupci6n tiene que

estar previamente deshabilitado) se autoriza a la instrucci6n RET sea ejecutada despues de la

habilitaci6n de los interruptores al final de una rutina de interrupci6n.

Cuando esta empezando una rutina de interrupci6n, el TMS32010 transmite una señal de

interrupci6n reconocida antes de ponerla en el registro INTM (deshabilitaci6n de interrupciones)

y borra la bandera de interrupcibn (INTF). Una instrucci6n DINT o un reset al hardware

determina tambibn la puesta en el registro INTM, dehabilita interrupciones mientras que la

instrucci6n ElNT determina el borrado del registro INTM (puesto en cero). La interrupcidn

determinada continua hasta 'latchear' la deshabilitaci6n de ellos.

Dos pasos deben de realizarse para habilitar una interrupci6n en el microprocesador

TMS3201 O. Primero, la interrupci6n individual debe ser habilitada por la escritura de un 1 16gico

hacia el apropiado sistema de control de registro del bit, entonces, el circuito maestro de

Page 39: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

interrupci6n es habilitado por la instrucci6n EINT. En una rutina de iniciaci6n de reset, el bit de

la bandera de interrupci6n sería borrada antes de la instrucci6n EINT y así asegurar que una

falsa interrupci6n no ocurra.

La interrupci6n 'latcheada' sincroniza toda interrupci6n hacia el dispositivo de salida del reloj.

La interrupci6n externa INT/EXINT es en uno u otro una salida asíncrona para el dispositivo de

control externo o un maestro de interrupci6n en el procesamiento de señal. Los otros tres

interruptores esten todos asociados con el puerto serial de estructuraci6n de seriales; aunque

la estructura externa pulse interrupciones, puede ser usado como un sistema de interrupciones

cuando no es utilizado por el puerto serial. Debido a la asincronizaci6n de l a s operaciones de

interrupci6n, el tiempo para la ocurrencia activa de una interrupci6n de señal y el TMS32010

estA direccionado a dos localidades de la ROM con cuatro ciclos de la salida del reloj CLKOUT.

Page 40: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

3.- DESCRIPCI6N FfSICA DE LA TARJETA.

Page 41: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

3.1.- DIAGRAMA BLOQUES DE LA TARJETA DE EXPANSION.

1 I 1

Page 42: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

ARQUITECTURA DEL TMS-32010.

ctional block diagram

L Z

NOTE: ACC ARP ARO

AA 1 DP PC P T

- Accumulator = Auxiliary reglater pointer - Auxiliary register O = Auxilirry register 1 = Data page pointer - Program counter I P Register - T Register

ADDRESS

DATA RAM (144x 16)

1

MULTIPLIER * 16

ACC (321 - - '

. . I

Page 43: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Central Arithmetic Logic Unit (CALU)'

Page 44: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

rMS3201 O DIGITAL SIGNAL PROCESSOR

IN instruction timing

N

t- a 2 14 U J

Page 45: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

CLKOUT

- MEN

A l 1 -A0

WE -

Dl 5-DO

LEGEND:

1. OUT INSTRUCTION PREFETCH 2. . NEXT.INSTRUCTION PREFETCH 3. ADDRESS BUS VALID . 4. PERIPHERAL ADDRESS VALID

5. ADDRESS BUS VALID 6. INSTRUCTION IN VALID 7. DATA OUT VALID 8. INSTRUCTION IN VALID

Page 46: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

CLKOUT

- RS

DEN F E M E N

015-00

MErJ

ADDRESS BUS

‘dis(Rl-4 IC r r DATA IN FROM J J PC ADDR PC + 1

DATA IN FROM

DATA ?íOWN RELATIVE TO T E

” AB = ADDRESS BUS

AB = PC AB = PC t 1 AB = PC = 0

INTERRUPT (m) TIMING

PARAMETER UNIT MIN TYP MAX

tf(lNT) Fall time INT ‘ C K I tw(lNT) Pulse duration I N T

ns 15

ns 50 tsu(lNT) Setup time INTI before CLKOUTI

ns .

CLKOUT

Page 47: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

PROGf7AM O ( >OOOO)

INTERNAL MEMORY SPACE

23 (>05F3) ?4 (>05F4)

REGERVED

MICROCOMPUTER MODE

PAGE O I

O( >oooo:

4095(>OFFFJ

-

PROGRAM

EXTERNAL MEMORY SPACE t

1- ..

I

MC/MF = O MICROPROCESSOR MODE

(NOT ON TMS32011)

. I"- - -: ~

. -

" "l.."

tNot available on the TMS32011 sports O and 1 dedicated to internal control register on TMS32011.

Menlory Maps for the TMS3201O

-

_.

TM6320Clx DATA LINE6

4 1.16 c

ADDRESS LINES ,12 4K X 16

AND/OR PROM - / STATIC RAM MC/W

- MEN v OUTPUT

- ENABLE WE

I ' CHIP ' WRITE SELECT ENABLE

External Program Memory Expansion -.

- 1- . - 9 -

Page 48: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

memory read

m U c

. ..

1

Page 49: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

I

CLKOUT

I I I I I

- MEN 1 2 I/ * I 3

c

A 1 1 -A0

- WE

D 1 5-DO

LEGEND:

1. TBLW INSTRUCTION PREFETCH 2. DUMMY PREFETCH 3. NEXT INSTRUCTION PREFETCH 4. ADDRESS BUS VALID S. ADDRESS BUS VALID 6. ADDRESS BUS VALID

7. ADDRESS BUS VALID 8. INSTRUCTION IN VALID 9. INSTRUCTION IN VALID

10. DATA OUT VALID 1 l. INSTRUCTION IN VALID

i

Page 50: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

CLKOUT

- MEN 1

Al 1 -A0 5

LEGEND:

1. TBLR INSTRUCTION PREFETCH 2. DUMMY PREFETCH 3. DATA FETCH 4. NEXT INSTRUCTION PREFETCH 5. ADDRESS BUS VALID 6. ADDRESS BUS VALID

7. ADDRESS BUS VALID 8. ADDRESS BUS VALID 9. INSTRUCTION IN VALID

10. INSTRUCTION IN VALID 11. DATA IN VALID 12. INSTRUCTION IN VALID

Page 51: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

3.2.- OTRAS.ARQUITECTURAS. - f..

Data Memory +y\ Coefficient Memory

I

hIU (Memory Unit)

Arithmetic Logic Unit

- General- purpose Kegisters

AU (Arithmetic Unit)

(3)

EEl- J

Address Computation p c q 4

Instruction Decoder lZEk Program Memory

Program Counter

Unit cu

(Control Unit)

(2)

T . Parallel 1/0

Direct '

Memory Actess

1/0

(4)

(I/O Snterface)

Basic functi~nal.components of a DSP chip.

.

Page 52: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

1 Y

Page 53: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

. +. ,

"

L

I t \ =-bit ALU /

REGISTEASET

NS32032

Page 54: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Y

' " I n s t r u c t i o n Section "--------c:4 Data Section

1 Program Counter J I External I

ROM :lkx24bits) i

External Unit

I .

i L "" [ , _ " " _ 'm;" _ " " " - "" I' Instruction

Registers -1 A Register I B Register I

'I 1 : " .

I Decoder

"

'i .""""""_

CPC , . . x

1

'5 I I . !

Functional block diagram of Fujitsu MB8764

Page 55: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

I

! U

" ~-

INSTRUCTION LOGICAL ADOAESS Blfs k nttion 1 l u 1 ~ l g ti+@ A8 A7 A2 A l

I "

L

MC68020

.

Page 56: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Y

7 Reset A

Clockin 4 ’ystem CapPlus.hIinus __Y Services ProcClockOut

GK;D,YCC

1 R.431 111s T424

block diagram 4 kbytes

I I

notSO-4 - notG e-

notByte0-3 c-

notRefresh c-

wai t - MconfigC,D __t

Memory Interface

Processor

- ErrorOut - StopProc

C- Analyze

LinkInl

-Linkout1 - LinkIn2 - LinkOut2

LinkIn3 + Linkout3

EventIn Event -AckEvent

I BusReq

* BusGranted

32 ADbus

Functional block diagram of INRIOS T424 transputer.

Page 57: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

. .

I I I ....... _.R ”... - ....

1 r.IIL. I I “ I 1 I

Link in O

Link out O

I RAM sutic I

Link in 2

I f I

I 1

. M- AD 0-31 i

Page 58: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

3 . 3 . - DIAGRAMA ELECTRICO.

f

Page 59: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

I I j I t -

*m - I i

I

I , /-

Y

Page 60: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

f 'j

"I 1 1

I I

4 ii

d l 1

1

-.

-l

r- 5

V I 5

,-

PI "I "0

1; t c l -

1 1

I

Page 61: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

r

-i

Y

r-i I - 3 i

I" -4 í

-1

/ i ; I

T-

Page 62: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

4.- DESCRIPCI6N FUNCIONAL DE LA TARJETA.

4.1 .- EXPLICACI~N DE LA CODIFICACI~N.

La memoria de nuestra tarjeta esta considerada como la parte central de la tarjeta de

expansi6n; nos va a dar la facilidad de soportar los datos que se requieran para el

microprocesador TMS sin ocupar la -memoria interna que tiene la PC.

La memoria esta definida desde una localidad de mapeo que nos la dá el tercer comparador.

El mapeo de memoria esta definido por localida asignada (hardware) y ocupa desde la

localidad 300F hasta la localidad 3295 (localidades definidas en hexadecimal) de la memoria de

la PC, teniendo un total de 4kbytes que ocupa la tarjeta.

La activaci6n de memoria que requiere el microprocesador TMS3201 O esta dado por un arreglo

de memoria de 1 bit por 4 K, los cuales se encuentran en una matriz de memoria que se divide

en ocho memorias de parte baja y ocho memorias de parte alta quienes juntas forman la

cantidad de bits que tienen que ser accesadas por el microprocesador TMS3201 O.

Esta separaci6n de parte alta y parte baja tienen el requerimiento de que la PC maneja 8 bits y

el microprocesador TMS maneja 16. Es debido a lo anterior que se logra la intercomunicaci6n

entre dos tipos de memoria con diferentes extensiones de bits de direcciones.

En nuestro diseño existen instrucciones para generar parte alta y parte baja por separado.

AI momento de habilitarse la direccibn AO, como primero se pasa por un negador (y de ahí a

una circuitería combinacional) y después se vuelve a negar (y de ahí a otra circuitería

combinacional), no importa que valor sea el de A0 ya que con éste arreglo (el de negarlo dos

veces) se generaran sus dos valores posibles (un 1 o un O 16gico). Entonces, una vez

especificada la direcci6n AO, se generaran de manera automatica parte alta y parte baja porque:

Page 63: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

a) la primera negaci6n de la A0 entrare a un demultiplexor dos a uno 74157 en concordancia

con las seiiales TMS-ACT y TMSMEM (ambas pasadas previamente por una compuerta OR

7432. La demultiplexi6n de Bstas seiiales generar6 la habilitaci6n de la parte baja de la

memoria.

b) la segunda negaci6n de A0 entra a otro demutiplexor 74157 en concordancia con las

señales MS-ACT y TMSMEN (las mismas que el inciso anterior). La demultiplexi6n de Bstas

señales generarh la parte alta de la memoria.

Quien habilita a los demultiplexores es la seAal PC-ACT. Con el arreglo anterior siempre

tendremos los 4K de memoria disponible con 16 bits de datos y doce de direcciones.

Cuando escribimos de PC a memoria la señal WE debe ser un O, CSDL y CSDH deben ser un

1 para que la señal ENPCDL le 'diga' a los primeros ocho bts de datos que se accesen a la

parte baja y para que la seiial ENPCDH le 'diga' a los segundos ocho bits de datos que se

accesen a la parte alta.

Cuando leemos a la memoria desde la PC, las señales CSDL y CSDH no cambian de valor, WE

vale un 1, ENPCDH y ENPCDL se invierten de valor; así, los datos de la parte baja de la memoria

entran primero al BUSl y despues entran al mismo BUSl los datos de la parte baja.

Cuando escribimos del microprocesador TMS320 hacia la memoria, la seiial WE vale O para

que las señales TMSDEN, TMSWE y MSMEM valgan l. Cuando leemos la memoria desde el

microprocesador TMS320, la señal WE vale un 1 al igual que TMSMEM mientras que TMSDEN y

TMSWE valen O.

Page 64: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

4.2.1.- DESCRlPCldN DE FUNCIONAMIENTO DE PC A MEM.

Se toman los datos de direcciones desde A0 hasta A7 del slot interno de la PC las cuales son

comparadas en un 74251 para dar el mapeo que va a tener la memoria de la tarjeta; la salida de

&e entra a un primer 7432.

Las direcciones A8, A9 y la instrucci6n AEN entran a un segundo comparador 74251, la salida

de este segundo comparador entra al primer 7432 las cuales son sujetadas a una comparaci6n

de niveles 16gicos para que a su aparici6n sean enviadas al siguiente nivel de 16gica

combinacional.

La salida de este primer 7432 conocida como PC10 es la encargada de controlar junto con la

instrucci6n PClOW (pasada por un negador) el modo de funcionamiento de un demultiplexor de

tres a ocho 74138. PClOW se toma desde el segundo buffer tri-state 74244 (del pin 5) y nos

activa si queremos hacer una lectura o escriiura a memoria mediante puertos.

Son entradas del multiplexor las señales PCDO, PCD1, PCD2. PCDO significa del dato DO

proveniente de la PC; PCDl significa el dato D l y PCD2 el dato D2. Dichos datos generaran las

señales necesarias para la activaci6n o desactivaci6n del microprocesador TMS vía software.

Las salidas del multiplexor 741 38 son:

a) ENTMS, que servira como habilitador para el microprocesador TMS.

b) ENPC, que servir& como habilitador de la PC.

Estas dos señales entran a un flip flop 7474. La salida Q serh la señal TMS-ACT y la salida Q

negada sera la señal PC-ACT, tomando en cuenta que nunca se activaran las dos a la vez.

c) SElTMS, que servirh para deshabilitar al microprocesador TMS mediante software. Esta

sefial entra a un segundo flip flop en concordancia con la señal RSTA.

Page 65: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

La sefial RSTA es el resultado de introducir a una AND 7408 la sefial PCRST (pasada

previamente por un negador) en un pin, y en el otro la sefial RSTTMS. PCRST proviene de el

segundo buffer 74244 (pin 3) y es el reset mediante hardware. RSTTMS proviene del pin 12 del

demultiplexor.

Finalmente, la salida de este segundo flip flop ser6 la encargada de llevar al estado de reset al

microprocesador TMS mediante software y la cual se conoce como RSTMS

Todo el primer comparador 7452 1 junto con la señal PClOW sirve para habilitar al

microprocesador TMS32010 mediante puertos (por que nosotros queremos que la PC vea al

TMS como un puerto). El comparador ocupa 4K de memoria, desde la localidad 300F hasta la

localidad 3295.

Si la señal PC10 W no se encuentra presente, unicamente estaremos trabajando desde la PC.

Las direcciones A l3 hasta A19 junto con la intercci6n AEN entran a un tercer comparador. La

señal de salida ser6 la señal PCRAM.

Todo este bloque sirve para descodificar la memoria de la tarjeta, ya sea la parte baja o la parte

alta.

a) En un segundo 7432 entran PCRAM junto con PCAO (quien ha sido previamente pasada por

dos negadores; PCAO significa la direcci6n A0 proveniente desde la PC). Este 7432 genera una

salida a la que denominamos RAMl.

b) En un tercer 7432 entran PCRAM junto con PCAO negada una vez, su salida es RAM2.

c) Se toma la instrucci6n MEMTMS proveniente del pin 33 del microprocesador TMS, así como

la señal TMS-ACT y se introducen ambas a un cuarto 7432, siendo su salida RAMS

d) La instrucci6n MWPC tomada del pin 9 del segundo buffer 74244, la instruccibn WETMS

tomada del pin 31 del microprocesador TMS, ambas entran a un multiplexor 741 57 junto con las

señales generadas RAM1, RAM2, RAMS.

Page 66: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

La seilal encargada de controlar las salidas de este multiplexor ser6 la seilal PC-ACT.

Dichas salidas ser6n:

I) CSDL: significa el selector para la parte baja de la memoria.

ii) CSDH: significa el selector para la parte alta de la memoria.

iii) WE: significa que podremos escribir en memoria desde la PC o desde el TMS.

Si PC-ACT est6 presente, dichas señales estar6n presentes y podremos escribir desde la PC

a la memoria si WE es un O 16gico; podremos escribir desde el microprocesador si WE es un 1

16gico. Si PC-ACT no est6 presente, quiere decir que estaremos trabajando con el

microprocesador TMS siendo ahora la señal TMS-ACT la que est6 presente.

Si PC-ACT est6 presente, se aprovecha esta señal y se introduce a un quinto 7432 junto con la

señal CSDL; su salida ser6 ENPCDL y se encargar6 de habilitar a un buffer tri-state para dejar

pasar datos a la parte baja de la memoria. Se aprovecha que PC-ACT est6 presente y se

introduce tambi6n a un sexto 7432 junto con la seAal CSDH; su salida ser6 ENPCDH y se

encargar6 de habilitar la entrada de datos a la parte alta de la memoria.

Las direcciones A l hasta A8 son tomados del slot (peine) de la PC y entran a un buffer tri-state

74244; las direcciones A9 hasta A12 al igual que MEMWR, MEMR, IOW y RESET (tomados

todos del 'peine') entran a un segundo 74244. Quien se encarga de controlar a estos dos

buffer es la seAal PC-ACT.

Así, tomamos las salidas desde 1Y1 hasta 2Y4 del primer buffer (1 BO hasta 1 B7) y las salidas

1Y1 hasta 1Y4 del segundo buffer (280 hasta 2B3); juntamos las doce salidas, las renombramos

como BAO hasta BAl 1 y las metemos a un bus, bus de direcciones que van a la memoria. Este

bus de direcciones (BUS1) es común para la PC y para el microprocesador TMS3201 O.

Las salidas desde 2Y1 hasta 2y4 del segundo 74244 corresponden en orden a las señales:

PCMW, PCMR, PCIOW, PCRST.

Page 67: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Los datos DO hasta D7 tomados del peine de la PC son metidos cada uno de ellos, a dos buffers

tri-state 74245.

El primer buffer estarfi controlado por la señal ENPCDL y el segundo estare controlado por

ENPCDH; así, el primer buffer metere datos a la parte baja de la memoria y el segundo a la parte

alta de la misma; todas las salidas de los dos buffers se depositan en un segundo bus, BUS2,

que sera el bus de datos, encargado de llevar todos los datos a la memoria.

4.2.2.- DESCRIPCI~N DE FUNCIONAMIENTO DEL TMS A MEM.

El microprocesador TMS consta de 40 pins (patas), doce de ellos estan destinados para las

direcciones (desde A0 hasta A l l ) , diecisbis para datos (desde DO hasta D l 5), siete para control

de direcciones y datos (MEM.DEN,WE,MC/MP,RS,INT,BIO), una entrada y una salida para reloj

(CLKOUT,CLKIN), una entrada para voltaje y otro para tierra (Vcc, Vss).

Las direcciones A0 hasta A7 entran a un buffer tri-state 74244. Todas las salidas de 6ste buffer

van al BUS1, bus de direcciones para la memoria.

Las direcciones A8 hasta A l l junto con las instrucciones TMSWE, TMSDEN y TMSMEN

entran a otro buffer 74244. Las cuatro primeras salidas de 6ste buffer van a dar al BUS1 al igual

que las ocho anteriores.

Las últimas cuatro salidas de 6ste buffer corresponden a las últimas entradas. TMSMEN y

TMSWE estfin directamente relacionadas a las entradas del multiplexor 74157. TMSDEN se

encarga de decir si escribimos o leemos a memoria desde el TMS.

La señal que controla la interrupci6n de los dos buffers es la señal TMS-ACT la cual

previamente fue generada mediante la salida natural del primer flip flop 7474.

Los buffers 74244 y 74245 descritos líneas arriba, son diferentes a los setialados para

'bufferear' las direcciones y datos salidos del 'peine' de la PC.

Page 68: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

Si la instruccibn TMSDEN este presente indicarh lectura o escritura en memoria desde el

microprocesador TMS. Para activar la instrucci6n TMSDEN necesitamos hacer presente a la

señal PCIOW tal que ella sea un O 16gico para que de esa manera se active la señal TMS-ACT

con un 1 16gico y así, tengamos acceso a la memoria desde el microprocesador.

Una vez presente la instrucci6n TMSDEN habrh escritura del microprocesador a memoria

cuando la instrucci6n saliente del pin 12 del multiplexor 741 57 (WE) sea un 1 16gic0, TMSDEN

valga un 1 al igual que TMSMEN y TMSWE.

Habrh lectura desde el microprocesador TMS hacia la memoria, es decir, lo que existe en

memoria podrh ser transferido al microprocesador TMS3201 O cuando cambie de valor la señal

TMS-ACT, teniendo entonces presente a la señal PC-ACT. El valor de WE sera un O, TMSDEN y

TMSWE toman el valor de O y TMSMEN vale un l.

Los datos DO hasta D7 se meten a un buffer tri-state 74245.

Los datos D8 hasta D l 5 entran a otro buffer 74245.

Todas las salidas de kstos dos buffers van a terminar al BUS2, que es el encargado de llevar o

traer datos a la memoria.

Las direcciones A l O y A l 1 son las encargadas de direccionar la memoria de tal manera que

los datos se distribuyan correctamente (parte alta y parte baja).

La desactivaci6n del microprocesador TMS32010 se logra cuando la señal PC-ACT esth

presente; tambikn debemos tener en cuenta el estado que guardan las señales PCIOW,

RSTMS y PCRST.

Tomando en cuenta todas estas instrucciones notamos que podemos desactivar al

microprocesador TMS32010 mediante software o hardware; este modo de proceder se

explicars mhs adelante.

Page 69: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

4.3.- LOGlCA DE HABlUTACl6N I DESHABlUTAC16N

DE LA TARJETA DE EXPANS16N.

De manera general, el interrumpir el funcionamiento de una mequina o de un microprocesador

implica que dejen de realizarse las funciones que se procesaban.

Debido a la capacidad de ciertos microprocesadores existen formas de reset total o parcial, es

decir, si se impide el total funcionamiento del microprocesador decimos que se ha llevado a

estado de reset al sistema; si la obstaculizaci6n es parcial (deja de hacer una funci6n para

realizar otra y despues regresar si se desea a la anterior) diremos que se trata de una

"interrupci6n'.

RESET o INTERRUPCI~N DE LA PC.

La PC se activa desde el momento en que se le propina un adecuado voltaje a la circuitería.

La manera de llevar a reset a la PC es corthndole el suministro de corriente ya sea mediante el

apagado de la mequina o la presi6n del b o t h externo de Reset.

La manera de 'interrumpir' a la PC es mediante software, es decir, que el programa que se

encuentre ejecutando contenga una instruccidn tal que una vez leída Bsta la mhquina deje de

hacer lo que estaba haciendo para esperar otras instrucciones o realizar otra labor.

RESET o INTERRUPCI~N DEL TMS.

Para llevar a reset o interumpir al microprocesador TMS3201 O sere necesario aclarar que:

a) despues de activar a la PC el siguiente paso es el de activar de ser necesario al

microprocesador TMS; una vez realizado esto podemos dejar que el microprocesador trabaje

de manera independiente a la PC. Es por esto que debemos preguntarnos cual es la parte que

queremos que deje de funcionar y de que forma, si parcial o total.

Page 70: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

b) si queremos que el microprocesador deje de funcionar de manera temporal es porque la PC

puede efectuar una lectura en 61 y despues lo dejar4 actuar de nuevo libre. Si queremos que el

microprocesador deje de funcionar de manera definitiva es porque la PC ya no necesitar4 nada

de 61 o viceversa.

Tomando en cuenta lo anterior decimos que :

c) La interrupci6n del microprocesador TMS3201 O se logra cuando:

- - Mediante software, hacemos que la señal RSTMS esté presente junto con la señal PCIOW,

en donde RSTMS valdr& un O y PCIOWR un 1. Lo anterior hare que la señal TMS-ACT deje de

estar presente. AI no estar presente TMS-ACT, se desconecta de la memoria al

microprocesador TMS3201 O.

Por lo que la señal TMS-ACT entrara a un pin de una compuerta OR 7432 y la señal RSTMS al

otro pin; la salida de 6ste 7432 la denominaremos INlTMS1.

- - Si mediante hardware reseteamos a la PC, entrar& la señal PCRST la cual har4 que la señal

TMS-ACT deje de estar presente, con esto, el microprocesador TMS dejar& de funcionar por no

encontrarse la señal que le 'autoriza' entrada.

Una 16gica combinacional entre la señal TMS-ACT y PCRST dar& la interrupci6n por hardware,

en otras palabras, tanto TMS-ACT como PCRST entran a una compuerta OR 7432; la salida de

6sta la denominaremos INlTMS2.

Si las señales INlTMS1 e INlTMS2 las introducimos a una NAND 7400, la salida de ésta se

conectara al pin 5 del TMS; a 6sta señal le llamaremos INTTMS.

d) Para llevar a estado de reset al microprocesador TMS tenemos que:

- - Interrumpir el suministro de voltaje al TMS y a la PC.

- - Utilizar el b o t h de reset de la PC, con esto impedimos el trabajo del software y que el

hardware de la PC provoque una falta de voltaje a la tarjeta de expansih.

Page 71: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

5.- O B S E R V A C I O N E S .

1 .-) Un gran inconveniente para lograr la intercomunicaci6n entre la PC y el microprocesador

TMS32010 es la diferencia existentes de bits en el manejo de intrucciones/datos ya que la PC

maneja 8 bits y el microprocesador maneja 16 bits. Debido a esto se implement6 una parte alta

y una parte baja de memoria para la PC. Así, mediante la lectura de dos veces los datos de la

PC es como se logra direccionar la primera lectura a la parte baja y la segunda lectura a la

parte alta.

2.9 Otro detalle significante fue la gran velocidad que maneja el microprocesador TMS3201 O

para transmitir, situaci6n que oblig6 a adquirir circuitería combinacional de la serie F, siendo

difícil conseguir todos los integrados.

3.4 Se introducen las señales necesarias a la tarjeta de expansi6n unicamente mediante

software. Todo el uso o la explotación que se quiera hacer del microprocesador TMS3201 O se

logra mediante el empleo de un adecuado software.

4 4 Para que funcione el TMS32010 se tiene que implementar físicamente un crital de

oscilaci6n a 20 Megaherz al pin 8 (pata de entrada 8) de la entrada del reloj de dicho

microprocesador.

5.4 Debido a la estructura de esta tarjeta, para realizarse en circuito impreso se debe utilizar la

técnica de enmascaramiento de doble cara como mínimo.

Page 72: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

6.4 La configuraci6n del slot (peine) se muestra a continuaci6n, en donde se observaren dos

líneas de pins, con un total de 32 conexiones posibles. Se notare el lugar que le corresponden a

los bits de direcciones y a los bits de datos.

PIN LADO 'A'

1'

2

3

4

5

6

7

8

9

10

11

12

13

14

15

t i e r r a

r e s e t

+ 5 volts

- 5 volts

- 12 volts

+ 12 volts

t i e r r a

MEMWR

MEMRD

low

IOR

LADO 'B'

I / OCHF

D7

D6

D5

D4

D3

D2

D I

DO

AEN

Al 9

Al 8

Al 7

Al 6

Page 73: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

ALE

+ 5 volts

t i e r r a

Al 5

Al 4

Al 3

Al 2

Al 1

Al O

A9

A8

A7

A6

A5

A4

A3

A2

Al

A0

Page 74: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

6.- TENDENCIAS FUTURAS.

La tarjeta de expansi6n descrita al igual que todo Procesador Digital de Sefiales (DSP) es un

sistema que acepta señales digitalizadas de informaci6n y puede ser usada como procesadora

de datos.

Para lograr tal fin sere necesario agregarle a la tarjeta vía el bus de datos y direcciones,

convertidores tanto Digital-Anal6gico (D/A) como Anal6gico-Digital (ND).

Se agregan a la tarjeta dichos coonvertidores para que pueda interpretar de manera correcta

la informaci6n proveniente del sistema externo.

El sistema externo puede ser un procesador de imhgenes en tiempo real, detecci6n de las

funciones vitales del sistema cardio vascular de un ser humano, procesadores adicionales que

tengan al TMS32010 como el procesador principal, entradas para funciones con particularidad

específica tal como el chlculo de la Transformada Rhpida de Fourier (FFT) o la respuesta de

Filtros Digitales al Impulso Finito, dedicaciones a la mejora de rutinas en software:

ensambladores de alto nivel o programas convertidores en cddigo objeto, etc ...

El mayor inconveniente es notorio en la capacidad de memoria de esta tarjeta. Si el sistema

externo posee informaci6n de mhs de 4 kbytes en direcciones y datos, se requerirh de memoria

adicional a la tarjeta, cuesti6n que en hardware ser6 muy difícil de superar sin tener que

redisefiarla.

El objeto de haber puesto hasta 4 K de memoria disponible se remonta al hecho de que la

principal funci6n de la tarjeta serh la de digitalizar el rango de voz. Es así que su principal

tendencia a futuro serh la de reconocer mediante el almacenamiento de datos, el espectro en

frecuencia de la voz de una determinada persona.

Page 75: UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …

1.-

2.-

3.-

4 . -

5.-

6.-

7.-

8 . -

9 . -

B I B L I O G R A F í A

Kung, S. Y. : VLSI ,ARRAY PROCESSORStt : Prentice Hall : México, 1988.

Bok, Leonard and Kulpa, Zenon; ItDIGITAL IMAGE PROCESSING SYSTEMStt; Springer-Verlag; Berlin, 1986.

Cadzow, James A. ; 'FOUNDATIONS OF DIGITAL SIGNAL PROCESSING AND DATA ANALYSIS'; Macmillan; New York, 1987.

Weitzman, Cay; 'DISTRIBUTED MICRO/MINICOMPUTER SYSTEMS: STRUCTURE 8 IMPLEMENTATION AND APLICATIOI; Prentice Hall International; Englewood Cliffs, 1980.

Hwang, Kai and Briggs, Faye; 'COMPUTER ARCHITECTURE AND PARALLEL PROCESSINGtt; Prentice Hall; Mbxico, 1984.

Preston, R. and Onoe, M. ; 'DIGITAL PROCESSING OF MEDICAL IMAGEStt; Plenum Press; New York, 1987.

Texas Instruments; 'FIRST GENERATION TMS-32 O O w ; User's Guide.

National Semiconductor; 'LOGIC DATA BOOK'.

Actes du Congres de L' Afcet; 'INFORMATIQUE : LOGICIEL ET MATERIAL8 APPLICATIONS ET IMPLICATIONStt; 24-27 Novembre 1980, Paris.

10. - A publication of the IEEE; 'TRANSACTIONS ON ACOUSTICS 8 SPEECH AND SIGNAL PROCESSINGwt; Volume 24, number 5, October 1976; volume 25, number 1, february 1977; volume 25, number 2, april 1977.