UNIVERSIDAD AUT6NOMA METROPOLITANA UNIDAD …
Transcript of 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.
,/
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
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
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
a toda la familia Piña en especial a ARACELI PIRA ROMERO
mil gracias por sus traducciones y por su cariño
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).
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.
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.
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,
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&.
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:
.
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.
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.
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.
.~ ~.
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
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.
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).
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.
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.
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
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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,
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.
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.
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
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
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.
3.- DESCRIPCI6N FfSICA DE LA TARJETA.
3.1.- DIAGRAMA BLOQUES DE LA TARJETA DE EXPANSION.
1 I 1
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
Central Arithmetic Logic Unit (CALU)'
rMS3201 O DIGITAL SIGNAL PROCESSOR
IN instruction timing
N
t- a 2 14 U J
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
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
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 -
memory read
m U c
. ..
1
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
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
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.
.
1 Y
. +. ,
"
L
I t \ =-bit ALU /
REGISTEASET
NS32032
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
I
! U
" ~-
INSTRUCTION LOGICAL ADOAESS Blfs k nttion 1 l u 1 ~ l g ti+@ A8 A7 A2 A l
I "
L
MC68020
.
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.
. .
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
3 . 3 . - DIAGRAMA ELECTRICO.
f
I I j I t -
*m - I i
I
I , /-
Y
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
r
-i
Y
r-i I - 3 i
I" -4 í
-1
/ i ; I
T-
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.