88
911342 S.E.P. S,E.I.T, D,G,I,T ; CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO EMULXCION DE MEMORIA COMPARTIDA ENTRE MICROPROCESADORES f E S I s PARA OBTENER EL GRADO DE CEMiBm c_J MAESTRO EN CIENCIAS EN INQENIEWIA ELECTROiUiCA M. OEWARSDO RUIZ FUENTES ANTONIO HERNANDEZ SAIUCH€Z P R E S E N T A N : CENTRO DE INFORMACION CENIDET C CUERNAVACA, MOR. SEPTIEMBRE DE 1991

911342 - CENIDET

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 911342 - CENIDET

9 1 1 3 4 2

S.E.P. S,E.I.T, D,G,I,T ; CENTRO NACIONAL DE INVESTIGACION

Y DESARROLLO TECNOLOGICO

EMULXCION DE MEMORIA COMPARTIDA ENTRE MICROPROCESADORES

f E S I s P A R A O B T E N E R E L G R A D O D E

CEMiBm c_J M A E S T R O E N C I E N C I A S E N I N Q E N I E W I A E L E C T R O i U i C A

M. OEWARSDO RUIZ FUENTES ANTONIO HERNANDEZ SAIUCH€Z

P R E S E N T A N :

CENTRO DE INFORMACION C E N I D E T

C

CUERNAVACA, MOR. SEPTIEMBRE DE 1991

Page 2: 911342 - CENIDET

DIRKCION GENERAL DE INSTITUTOS TECNOLOGICOS CEWTRO NACL)P(AL DEWVESTIf3ACtON YDgSARROLLüYLCPlOLOQlCO

SKPETARIA DZ

füUCACION R I B l i C A Cuernavaca, Mor., a 21 de Agosto de 1991.

DR. JUAN MANUEL RICAÑO CASTILLO DIRECTOR DEL CENIDET P R E S E N T E .

AT".: M.C. ALEJANDRO DIAZ SANCHEZ. COORDINADOR DE ELECTRONICA.

Por este conducto, hacemos de su conocimiento que después de haber some- tido a revisión el trabajo de tesis titulado:

" EMULACIOM DE MEMORIA COMPARTIDA ENTRE MICROPROCESADORES "

Desarrollada por los Ingenieros Antonio Hernandez Sánchez y M. Gerard0 Ruíz Fuentes y habiendo cumplido con todas las correcciones que se les indicaron, estamos de acuerdo en que se les conceda la autorización de impresión de la tesis y la fecha de exámen de grado.

Sin otro particular, quedamos de usted.

I ' ..:r.r'.! '1; >[.!I\ . - . . . A T E N T A M E N T E COMISION REVISORA.

: .,c:,:c:< r - , <i' .. ,.? .\ i ,E

...~ . . .

. . .

M.C. JAVIER MENESES RUIZ

Igrr' . Prol. Palnlia WN Col~ lrn lm,Caorma~ Mar. A~rmdaPOmí014-924 Coálea Poaia162*00 Tel. 12-76-13 y 14-W-37

Page 3: 911342 - CENIDET

SURETARIA DE

EDUCIiCION WSLIU

DlRECClON GENERAL DE INSTITL'TOS TECNOLOGICGC CENTRO MACIOML DE I16VFSTIQAClOM Y DESARROLLO TECWOLOQICO

DIRECCION COORD. ACAOEMICA. OFICIO NO. 613-O-5/ 18668

Cuernav.aca, Mor., a 21 de Agosto de 1991

ING. ANTONIO HERNANDEZ SANCHEZ. CANDIDATO AL GRADO DE MAESTRO EN CIENCIAS EN INGENIERIA ELECTRONICA. P R E S E N T E .

Después de haber sometido a revisión su trabajo de tesis titulado:

EMULACION DE, MEMORIA COMPARTIDA ENTRE MICROPROCESADDRES

Y habiendo cumplido con todas las indicaciones que el Jurado Revisor de Tesis le hizo, se le comunica que se le concede autorización para que - proc'eda a la impresibn de l a misma, como requisito para la obtención del grado.

C.C.P. Expediente. C.C.P. Archivo. C.C.P. Coord. Académica.

Page 4: 911342 - CENIDET

SFCCETAPIA DE

EDUCACION PkiüLiU

DlRECClON G E N E U L DE iNSTiTUTOS TECNOLOGICOS CENTRO MACDNAL DE UIVEEQíIQACKJIy Y DESARROLL,OTECNOLOQICO

OIRECC ION COORD. ACAOEMICA OFICIO NO. 613-O-5/18669.

Cuernavaca, Mor., a 21 de Agosto de 1991.

ING. GERARD0 RUIZ FUENTES CANDIDATO AL GRADO DE MAESTRO EN CIENCIAS EN INGENIERIA ELECTRONICA. P R E S E N T E .

Después de haber sometido a revisión su trabajo de tesis titulado:

EMULACION DE MEMORIA COMPARTIDA ENTRE MICROPROCESADORES.

Y habiendo cumplido con todas las indicaciones que el Jurado Revisor de Tesis le hizo, se le comunica que se le concede autorización para que - proceda a la impresión de la misma, como requisito para la obtención del grado..

--.,:: . . . ;,>,: . . . . . . . . . . . A T E N T A M E N T E . n . . . . . ;J

C.C.P. Expediente. C.C.P. Coord. Académica. C.C.P. Archivo.

ADS/grr' . Prol. Palnlra WN Col.Pohira.Ciurnawta Mor. Awrtadomrta! + P P ~ C O ~ I W poatat62*SO Tel . 12-76-13 14-06-S7

Page 5: 911342 - CENIDET

A Dios por su Infmita grandeza.

A mis padres: Antonio Hernández F. y Catalina Siinchez V. quienes con amor.cariño y comprensión me han hecho superar ¿os momentos d f f l l e s . porque son la razón de mi vida y por quienes trato de ser mejor.

A mis hermanos: Margarita Ines. Esperanza. Isabel. Alicia José Luls. Concepción y Carmen. Por el arwyo y confianza que depositaron en mi para realizar esta meta

A mis sobrinos porque son ¿a espemnza de nuestra familia.

A Jorge Trwcer S. por su amistad Incondicional

Ai Marín Salas C. por todo el apoyo brindado.

Antonio

Page 6: 911342 - CENIDET

Dedico esta menwrla de tesis:

A Dios por su grandeza.

A ellos quienes con su irfnito amor y esfuerzo me han llevado a la nclmulacfón de esta meta. quienes merecen todo mi amor y respeto

mis padres Sr. G t d U e m Ruk Sandoval Sra. Carmen W n t e s Morales

reclban este logro como un presente a su exito.

A mi esposa por darme su amor y apoyo.

A mts hi@s quienes .fueron mi fuerza en los momentos dlficlles.

A mifamUia por las alegrías compartlclas y el cam que slempre me han brindado.

A todos los compañeros de trabajo por su apoyo moral que ha peirmndo la cuiminadón del presente.

Gerard0

Page 7: 911342 - CENIDET

Agradezco:

AI Centro Nacionul de hoestioación y Desmollo Tecnológico

(CENIDET)

AI Instiíuio de Inwstigaciones Eléctricas (DE)

A la Unidad de Cóny>uto del IIE (u d e Cl

AI comité revlsoc M.C. José M. Gómez Upez M.C. Javier Meneses Ruiz M.C. Alejandro Maz S6nchez

Especialmente al M.C. Carlos E. Ramírez Valemuela por su direcd6n en el desarrollo de este trabajo.

AI M.C. Marín Salas Cuenca por el apoyo y las fadlidudes brindadas.

Page 8: 911342 - CENIDET

.

2

TABLA DE CONTENIDOS

RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

JNTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

SELECCION DE LA SOLUCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Configuración propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Rincipios de los protocolos de acceso . . . . . . . . . . . . . . . . . . . . . . . . IO

2.2.1 Protocolo de Lectura de MC . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2.2.2 Protocolo de Escritura a MC . . . . . . . . . . . . . . . . . . . . . . . . 1 1

14 3.1 Bus AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Bus externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Registros al Bus AT 17 3.4 Registros al Bus Externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Control de Acceso al Bus externo . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.6Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.7 Control de Acceso a Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.8 Decodificación y Sincronla con el Bus AT . . . . . . . . . . . . . . . . . . . . . 18

PROTOCOLOSELECTRICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1 Ciclo de Lectiira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 Ciclo de Escritura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.3 Estados adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3.1 Escritura de otro (externa) . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3.2 Lectura con escritura de otro en espera . . . . . . . . . . . . . . . . . 25 4.3.3 Escritura de otro con leciura en espera . . . . . . . . . . . . . . . . . . 26 4.3.4 Escritura del mismo con lectura en espera . . . . . . . . . . . . . . . . 27 4.3.5 Escritura de otro con escritura del mismo en espera . . . . . . . . . 28 4.3.6 Escritura del mismo con escritura del mismo en espera . . . . . . . 30 4.3.7 Escritura de otro con dos escrituras del mismo en espera . . . . . . 31 4.3.8 Escritura de otro con escritura y lectura del mismo en espera . . . 32

DISEÑO DmALLADO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.1 Bus AT de la F'C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.1.1 Bus de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.2 Bus de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.3 Bus de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.2 Bus externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 Conjunto de registros de acoplamiento al bus AT . . . . . . . . . . . . . . . . . 39

5.3.1 Registros de entrada al módulo de MC . . . . . . . . . . . . . . . . . . 39 5.3.2 Registro de salida del módulo de MC al bus de la PC . . . . . . . . 39

5.4 Registro de acoplamiento al bus externo . . . . . . . . . . . . . . . . . . . . . . 41

DESCRIPCION DEL MODULO DE MC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Page 9: 911342 - CENIDET

3

41 41 41 45 45 47 50 50 51 52 52 53 S3 54

5.4.1 Registro de salida al bus externo . . . . . . . . . . . . . . . . . . . . . 5.4.2 Conjunto de registros de entrada al módulo de MC . . . . . . . . .

5.5 Bloque de decodificacibn y sincronía (DYS) . . . . . . . . . . . . . . . . . . . . 5.6 Control de acceso al bus externo (CABE)

5.6.1 Arbitro del bus externo (ARB) . . . . . . . . . . . . . . . . . . . . . . 5.6.2 Control de flu.jo de informaci6n (CFi) . . . . . . . . . . . . . . . . . .

5.7 Control de acceso a memoria (CAM). . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1 Arbitro de acceso a memoria . . . . . . . . . . . . . . . . . . . . . . . . 5.7.2 Control de lecturdescntura a memoria y puerto . . . . . . . . . . . .

5.7.2.1 Solicitud de lectura (READ) . . . . . . . . . . . . . . . . . . . 5.7.2.2 Solicitud de escritura (WRITE) . . . . . . . . . . . . . . . . . 5.7.2.3 Solicitud de lectura de puerto (VO) . . . . . . . . . . . . . .

5.7.3 Circuito de detección de Bus High Enable (BHE) . . . . . . . . . . . 5.8 Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

EVALUACION DEL ESQUEMA DE MC PROPUESTO . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

6.1 Parámetros de Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Patr6n de Referencia para la Evaluación 6.3 Escenarios y b e b a s para la Evaluación 6.5 Evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

PROGRAMA DE DECODIFICACION DE MEMORIA-VO. . . . . . . . . . . .

PROGRAMAS EMPLEADOS EN PRUEBAS A MC

MATERIAL EMpLEADO EN LA TAFUETA DE MC. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

BUSDEEXPANSIONDEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

MEMORIA JM32.56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57 51 58 58 63

64

66

68

70

77

80

81

PALEP610 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Page 10: 911342 - CENIDET

4

RESUMEN.

Se propone un esquema para implantar u n sistema multiprocesador con memoria compartida (MC) para computadoras personales (PC) del tipo AT compatibles. El esquema se basa en asignar una zona de la memoria a la MC; cada PC tendrá un m6dulo de MC en esta zona donde se tendrá repetida la informaci6n. Para tener consistencia, se emplea un Bus Externo por donde todas las 6rdenes de escritura a MC pasarán, saliendo de una PC y escribiéndose en todas (incluida la PC que escribe). El diseño permite emular instrucciones del tipo prueba y fija (test and set) a fin de poder implantar semáforos en la MC. Se describen los protocolos de acceso a MC y se presenta una evaluación del esquema basada en mediciones sobre un prototipo construido con dos PCs de diferente velocidad. La solución es mejor que el empleo de una red de área local (LAN).

Page 11: 911342 - CENIDET

1 INTRODUCCION.

Una de las motivaciones tradicionales para el avance de la computacidn es el incrementar la velocidad de procesamiento (medida en mips o megaflops), para lo cual se han propuesto e implantado una gran variedad de arquitecturas; algunas basadas en el mejoramiento de la tecnología electrónica, que entre otras características incrementa la velocidad de respuesta de los componentes y por tanto la de ejecución de las instrucciones del procesador central y el acceso a la memoria principal. Otras configuraciones se basan en el uso de varios procesadores, a los que se les conoce como sistemas multiprocesadores, los cuales pueden operar síncronamente (arquitecturas SIMD) o asíiicronainente (MIMD) [ I ] . Con el abaratamiento de las microcomputadoras en sus versiones denominadas coniputndorns personales (PC) muchas aplicaciones han sido transferidas a este tipo de máquina; sin

Page 12: 911342 - CENIDET

6

embargo, muchas otras que requieren de gran capacidad de procesamiento alin no es factible hacerlo. Esto plantea nuevamente la pregunta: ¿.Qui2 tan factible, técnica y economicainente, es el uso de arquitecturas de multiprocesatlores basadas en PCs para resolver este tipo de problemas? Para contestar a esta pregunta es necesario definir s i los problemas a resolver ,requieren de arquitecturas SIMD o MIMD. Cuando se requieren arqiiitecturas MIMD, el empleo de PCs es técnicamente factible; dependiendo del grado de acoplamiento entre las tareas que implantarán l a solución, se podrá emplear como medio de comunicación entre procesadores redes locales o una memoria compartida entre las PCs del sistema mult iprocesador.

Existen una gran variedad de esquemas de sistemas de multiprocesamiento basados en memoria compartida, l a mayoría de ellos de gran alcance; como P.e. las arquitecturas Hector [2] y ParaDiGM; el primero se basa en una estructura jerárquica de multiprocesamiento con memoria compartida e l cual está formado de módulos procesadores conectados por un bus; donde el MP típico lo forma un microprocesador, memoria cache, memoria principal y varias interfases de entradahalida. El término MP se refiere a una tarjeta que es conectada en una ranura de interconexión (backplane). Hector permite un espacio de direccionarnieiito global, donde cada MP es asignado en un rango único de direcciones. Todos los procesadores pueden accesar todas las localidades de memoria transparentemente. L a información se transfiere en un formato de paquete usando un esquema sincrono de tranferencia de paquetes.

L a arquitectura ParaDiGM [3] (multiprocesamiento de memoria global de distribiici0n en paralelo) es un esquema de memoria compartida que sobresale de otros en su posibilidad de crecer de unas decenas de procesadores a cientos de ellos. Paradigm es un esquema de hardwadsoftware que combina sistema operativo, hardware,. y firmware empleando una red de conmutación para interconectar los procesadores.

Cabe mencionar que hay quien ha emulado la memoria compartida con base en una red local [4], pero sus aplicaciones están restringidas a procesos débilmente acoplados.

1 . I Obietivo.

El objetivo de este trabajo es definir un esquema de memoria compartida para un sistema multiprocesador basado en PCs orientado a procesos débil o medianamente acoplados; ya que esto hará al sistema econ6mico y podrá crecer modularmente.

1.2 Alcance.

Se propondrá una arquitectura para emular l a memoria compartida basada en una computadora personal modelo AT; con base en esta arquitectura se efectuará un análisis de factibilidad que dé por resultado los mejores valores de los parámetros de acceso realizables con la tecnología actual.

Una vez definida l a arquitectura se diseñará y construirá la circuitería (una tarjeta prototipo) y se desarrollarán pruebas de funcionamiento y rendimiento.

Page 13: 911342 - CENIDET

7

A

L. SELECCION DE LA SOLUCION.

Como condicihn fundamental para el diseno de la nianoria coiiipurtido (MC) se tiene que no se deberá modificar la electr6nica de las PCs; por lo que el o los dispositivos que se disetien se deberán poder conectar al bus estandar de l a PC. Se considerará una interfaz de 16 bits de ancho de palabra (bus para el modelo AT). Con base en lo anterior, como primera alternativa se tiene el diseno de un banco de memoria con N puertos de acceso, donde N es el núincro ináximo de PCs que accesarán la MC, ver Fig. 1. De esta forma, l a M C será el centro del sistema de inultiprocesamiento y deberá tener un circuito de arbitraje que decida cual de los N puertos tiene el acceso. Para cada PC, una zona del mapa de memoria local se asignará a l a MC quedando ésta como una veníana (que podrá no corresponder con las direcciones en las demás PCs). D e esta forma, se íendrá que cada PC tiene su nieiiiorio locul (ML) y acceso a la MC.

Page 14: 911342 - CENIDET

8

Como se está considerando un esquema de MiMD, se darán casos de colisihn durante el acceso a la MC, que el árbitro resolverá demorando las solicitudes excepto una. El grado de acoplamiento de un proceso "a" se medirá como la raz6n del número de accesos a MC entre el número total de accesos (a ML y MC). El número de procesadores que accesan la MC y SU grado de acoplamiento influirán en el comportamiento del sistema. El coinpottamieiitn del acceso a la MC desde los procesadores es similar al de un proceso de atenci6n a usuarios en una fila (como el de la ventanilla de un banco), donde el tiempo para atender a cada usuario es constante (tiempo de ciclo de la MC) y el criterio para atender a la fila es por orden de llegada o por prioridades de usuarios según lo implante el árbitro. El grado de acoplamiento de los procesos en el sistema está definido por el nivel de uso de la MC, que es la fracción que está ocupada en un período. Se dice que el sistema está saturado cuando el nivel de uso de la MC es 1.

PC 1 __Fs_=l

F I G . 1 CONFIGURACION T I P I C A DE MEMORIA COMPARTIDA

Debido a que se considera un esquema MIMD (asíncrono), se tendrán momentos en los que uno o m i s procesadores esperen por la MC, aún cuando el nivel de uso sea pequeiio. En estos casos los procesadores deberán efectúar ciclos de espera, lo cual baja su velocidad de procesamiento real "v" (MIPS). Es de esperarse que cuando se tienen N procesadores iguales y se tiene el caso extremo de que ninguno de éstos accesa la MC simiiltáneamente, el comportamiento del sistema será de N veces la capacidad de uno (Nv MIPS); en el caso contrario, cuando todos y cada uno de los procesadores accesan todo el tiempo la MC el

Page 15: 911342 - CENIDET

9

comportamiento bajará a N MIPS (como si sólo existiera itn procesador). Por Io anterior, es importante evaluar la aplicación que utilizará el sistema de MC a f in de decidir si este esqueina es apropiado y cuántos procesadores es el número óptimo en el sistema.

En resumen, este esquema tiene como iiiconveiiientes más iinpnrtaiites que: la velocidad de acceso a MC (es el cuello de botella para acoplamientos alios), el número de PCs (N) es u11 parámetro fijo de diseño, y la operación del sistema de inultiprocesamiento depende de la MC (baja confiabil idad).

Una alternativa para mejorar el rendimiento es el empleii de tin esquema de meniorin cache (MCh), memoria rápida entre la MC y el procesador de la PC [I,S]; sin embargo, en este caso el diseño está limitado por los requerimientos de uso del bus AT, cuya velocidad es baja, y de simplicidad, es necesaria electrhica adicional para solventar los problemas propios de consistencia de la informaci6n en este tipo de esquemas 161.

2. I Confiauración Dropuesta.

La configuración propuesta considera que cada PC tenga un módulo de memoria conectado al bus AT como la MC, ver Fig. 2; lo cual plantea como requerimiento que cada módulo MCi contenga la misma información. Los módulos MCi estarán conectados a un Bus Externo.

Esto trae como ventajas: - poder incrementar fácilmente el número N de PCs al sistema de multiprocesamiento. - poder implantar un esquema automático de reconfiguración (en caso de falla de una PC, el

- evitar las colisiones de accesos de lecturas (cuando no hay acceso de escrilura), y - poder retirar una PC fallada aún estando en operación el resto del sistema.

Como posibles desventajas se tiene: - el problema de la consistencia de las N copias de la información, ptoblema similar al del

sistema podrá seguir operando en condiciones degradadas)

esquema de MCh [6] , que se manifiesta en forma clara cuando se desea incluir una PC ai sistema sin suspender su operación.

Como un requerimiento adicional para este sistema, se deberá poder implantar semfiforos en la MC a fin de facilitar la sincronización de los procesos, as1 como la administraciún de los recursos del sistema [6] .

Page 16: 911342 - CENIDET

I O

2.2 Principios de los Drotocolos de acceso.

Es evidente que se deberá respetar el protocolo del bus AT para los accesos de lectura y de escritura a MC. En vista de que las distintas PCs del sistema no están sincronizadas, el acceso al "BUS EXTERNO" será asfncrono, ver Fig. 2. Las escrituras en todos las MCs deberfiii efectuarse simultlnearnente para asegurar la coherencia [6] . El bus exlerno tendrá dos tipos de Ilneas: de datos y de control. Con base en estos principios se definen los siguientes protocolos:

PC 1 BUS A T

P 1 MC 1

BUS EX1 Rr m

9

+ .' PC2 BUS A T

M C 2 7 1

PCn BUS A T

Pn M C n i ?

F I G . 2 ESQUEMA PROPUESTO PARA LA MC ENTRE PCS

Page 17: 911342 - CENIDET

2.2.1 Protocolo de Lectura de MC.

Cuando una PC "I" genera en su bus AT una orden de lectura a la MC, ésta se realizará en el módulo correspondiente, sin afectar el bus externo. Existen tres casos para esta acci6ii:

a) durante este período no se realiza ninguna operación de escritura, y por tanto la orden de lectura se realiza normalmeiiie.

b) durante este período se presenta una orden de escritura de alguna otra PC, la cual se recibe por el bus externo; en este caso, la orden de escritura debe esperar a que se termine la lectura.

c) al solicitar la orden ya está registrada (en proceso) una escritura del bus externo, en este caso se debe esperar a que se termine la escritura para realizar la lectura, para lo cual se suspenderá el proceso. En caso de presentarse una siguiente oiden de escritura en el bus externo, se le dará prioridad a la orden de lectura que espera. Esto asegurará que las PCs que requieren leer de MC no queden bloquedas por un uso continuo del bus externo.

2.2.2 Protocolo de Escritura a MC

A continuaci6n se describe la secuencia para cuando una PC "i" del sistema desea efectuar una escritura por el bus AT. La orden se registrará en el módulo MC correspondiente y se le permitirá al procesador de la PC solicitante continuar con su programa. La siguiente orden (de lectura o escritura a la MC de la misma PC) ocasionará suspender el procesamiento así como su ejecución hasta que la orden anterior se haya realizado; después de lo cual se procederá a atender la orden suspendida como si se acabara de recibir. Una vez registrada la orden de escritura se verificará que el bus externo esté libre, probando el estado de una línea de control; en caso de que el estado sea "ocupado" se seguirá esperando. Citando el bus externo esté libre, éste se marcará como ocupado y se enviará un identificador (de la PC) por las líneas de datos; unos instantes después se leerá el bus de datos, cuando el dato leido coincide con el identificador indicará que el bus es suyo. Si el ideiitificador no coincide, deberá ceder el bus (liberando la línea de control) a la PC de mayor prioridad, lo cual está definido por el propio identificador. Así esperará hasta que se le conceda el bus. Una vez que se tiene el bus externo, se enviará en dos pasos la dirección donde se escribirá y el dato a escribir por el mismo bus; lo cual permitirá a las demás PCs terminar las ordenes de lectura, si es el caso, en sus respectivas MCs durante el primer paso. Además, en el módulo de MC de la PC que genera la escritura se realizará (durante el primer paso), previo a la escritura, la lectiira del contenido de la dirección a escribir; el dato ontcnido se almacenará en un registro del propio módulo de MC, el cual podrá ser leido por la PC accesando un puerto de entrada-salida (VO). Esto permitirá verificar el conte.nido de la posición de memoria justo antes de modificarse y con ello se podrá implantar una instmcciún de prueba y cambio (test and set).

Page 18: 911342 - CENIDET

IL

La interacci6n entre los buses AT y externo en el tn6dulo de MC se puede representar col1 el diagrama de estados de la Fig. 3. Los posibles estados son:

I - reposo, 2 - lectura, 3 - escritura del mismo MC, 4 - escritura de otro MC, 5 . - lectura con escritura de otro MC en espera, '6 -,escritura de otro MC con lectura en espera, 7 - escritura del mismo MC con lectura en espera, 8 - escritura de otro MC con escritura del mismo MC en espera, 9 - escritura del MC con otra escritura del mismo MC, IO - escritura de otro MC con dos escrituras del propio MC en espera, y I I - escritura de otro MC con escritura y lectura del propio MC en espera.

Las transiciones entre estados se deben a uno de cuatro casos:

a) L - se solicita una lectiira de la PC (bus AT). .b) E1 - se solicita una escritura por la interna (bus .AT). .c) EE - se presenta una escritura externa (bus externo). d) Cuando se termina la orden en proceso.

N6tese que no se considera la llegada simultánea de una lectura y una escritura; este caso se evitará con circuitos electrónicos en el disefio. Durante los estados I , 3, 4, y 8 el procesador de la PC continíia con s u programa; en los demás estados entrará a ciclos de espera (utilizando la línea de control de espera "WAIT" del bus AT). Del estado I se tienen tres posibles salidas según las tres fuentes de eventos (L, E1 y EE), en los restantes se tienen una o dos salidas posibles, una por la terminaci6n normal de la ejecucibn de la orden y otra por la ocurrencia de un nuevo evento. Para el estado 9, la salida por evento es cuando hay una orden de escritura de otro MC contendiendo por el bus y esto causa al terminar la ejecución de la orden en' proceso pase al estado 8, o .sea; le da preferencia a la orden externa.

Page 19: 911342 - CENIDET

FIG. 3 DIAGRAMA DE ESTADOS DEL PROTOCOLO DE LECTURA-ESCRITURA A MC.

Page 20: 911342 - CENIDET

14

3. DESCRIPCION DEL MODULO DE MC

El diseño del módulo de MC considera dos grandes bloques, el bloque que controla las escrituras y el que controla las lecturas, ver Fig. 4. La memoria flsica de los módulos de MC se considera alojada en el bloque de lecturas. La interacción entre el bloque de escrituras de un módulo MC y los bloques de lecturas de todos los módulos de MC del sistema se hace por intermedio del bus externo; lo cual asegura que todos los módulos de MC reciben la misma informacibn al mismo tiempo (exceptuando por problemas de ruido en el bus) y ademas de satisfacer el diagrama de estados previamente descrito.

Page 21: 911342 - CENIDET

A OTROS

A OTROS

FTG. 4 DIAGRAMA DEL MODULO MC A GRANDES BLOQUES.

La Fig. 5 muestra un diagrama a bloques más detallado del módulo de MC, en él se perciben los siguientes elementos:

- Bus AT de la PC. - Bus Externo entre PCs. - Conjunto de registros de acoplamiento al bus AT. - Conjunto de registros de acoplamiento con el bus externo. - Bloque de escritura o también llamado de control de acceso al bus externo (CABE). - El bloque de memoria (MEM). - Bloque de control de acceso a la inemoria (CAM). - Bloque de decodificación y sincronía con el bus AT (DYS).

3.1 Bus AT.

Del bus AT se utilizan tres conjuntos de líneas: Las llneas de control que incluyen seflales de lectura (MH), escritura (MW), y sincronla (WAIT). Las líneas de datos (DATA), y las Iliieas de direcciones (ADD).

Page 22: 911342 - CENIDET

E BUS A T

FIG. 5 DIAGRAMA A BLOQUES DEL SISTEMA DE MC.

3.2 Bus externo.

Este bus incluye dos gnipos de líneas: - Líneas de control: (BUSY) bus ocupado, (WA) direcciones listas, (WD) Datos listos, y

(BHE) indicando si la transacciún es por byte o palabra.

- Líneas de datos (DATOS) (16): Empleadas para transmitir tanto las direcciones como los datos.

Page 23: 911342 - CENIDET

17

3.3 Reaistros al Bus AT.

Los registros conectados al bus AT están divididos en dos tipos:

- Registros de Entrada, para recibir datos (16) y para recibir direcciones (16).

- Registros de Salida, para entregar datos (16).

Los registros de salida se emplean tanto para entregar el dato de las lectiiras a la memoria en byte o palabra, como para entregar el valor almacenado del contenido de la posición de memoria antes de ser escrita.

3.4 Registros al Bus Externo.

Los registros conectados al bus externo también son de entrada y de salida:

- Registros de Salida, para colocar el identificador de la PC (8), para entregar direcciones (16), y para entregar datos (16).

- Registros de Enirada, para recibir los mismos tres tipos de inforinación.

3.5 Control de Acceso al Bus externo.

El CABE a sii vez, está compuesto por dos sub-bloques: el árbitro del bus (ARB) y el control del flujo de la información (CFI). El ABR se encarga de controlar la secuencia de acceso al bus externo, recibe y envía información a través de los registros de entrada y de salida. Además, maneja la llnea BUSY de acuerdo con el protocolo de acceso; una vez que obtienen el bus, avisa al CFi para que continúe con el protocolo de escritura (selecciona y envla la iiiforinación de direcciones y datos as1 como las seflales de sincronla WA y WD).

3.6 Memoria.

Este bloque MEM incluye la memoria, en este caso se tienen 64 KBytes, a accesarse por Byte o palabra según I« indique la línea de control BHE. Esta memoria puede considerarse que tiene dos puertos de acceso, uno de escritura con la información que proviene de los regisiros de entrada del bus externo; el otro de lectura para alimentar al registro correspondiente del bus AT.

3.7 Control de Acceso a Memoria.

EL bloque CAM realiza el control de fliijo de iiiformaci6n por Ins puertos de acceso al bloque MEM, así como el arbiira,je entre las órdenes de lectura del bus AT y de escriiura del bus externo. También controla la lectura de memoria previo a la escritura, cuando éstas son

Page 24: 911342 - CENIDET

18

generadas en el mismo m0diilo MC. Segítn el tipo de acceso, la dirección de memoria la recibirá de los registros correspondientes de bus AT o externo. La recepción de la dirección y dato del bus externo es controlada por las h e a s WA y WD y es independiente del CAM. De hecho, WA solicita al CAM la escritura; por otro lado, la llnea de lectura de memoria MR lo hace por el bus AT.

3.8 Decodificación Y Sincronía con el Bus AT.

El bloque DYS se encarga de recibir y almacenar las señales de control del bus AT. Decodifica las direcciones para identificar la selección del módulo MC. También incluye circuitos para manejar la línea WAIT basado en la información que recibe de los bloques CAM y CABE.

Page 25: 911342 - CENIDET

I Y

4. PROTOCOLOS ELECTRICOS.

Hasta ahora se ha expuesto lo referente a la selección de la solución, la configuración que se propone y la descripción por submódulos del módulo de MC. Este capítulo, toma los conceptos obtenidos para describir los protocolos eléctricos en tiempos y niveles lógicos del sistema de MC. Describe las seaales que se emplean y las secuencias más apropiadas para resolver los protocolos de acceso. Asf también, analiza y propone los tiempos de habilitacióii para algunas de las seríales que necesitarán temporización.

Coino se observó en el capítulo 2, la interacción entre e l bus AT y el bus externo, implica un con,iitnto de posibles estados, cuyas transiciones es necesario controlar con ciclos de trabajo. El análisis que se efectuará, será para resolver los estados que pueden presentarse en un momento dado en el sistema de MC, estos son:

Page 26: 911342 - CENIDET

20

I . Reposo 2. Lectura 3. Escritura, 4. Escritura de otro 5 . Lectura con escritura de otro en espera 6. Escritura de otro con lectura en espera 7. Escritura del mismo con lectura en espera 8. Escritura de otro con escritura del mismo en espera 9. Escritura del mismo con escritura del mismo en espera 10. Escritura de otro con dos escrituras del mismo en espera 1 I . Escritura de otro con escritura y lectura del mismo en espera

A continuación, se describir& el protocolo de comunicaciones para cada uno de los estados posibles. De estos, los estados (2) y (3) son básicos, a partir de los cuales se describen los demás estados.

Para tener mayor claridad en la secuencia de los eventos que se están ejecutando, se han marcado números de secuencia entre paréntesis en los diagramas presentados.

La tabla I define las seííales que intervienen en el sistema. La tabla ii muestra los tiempos de operación de las acciones a describir; las cuales se definieron considerando los elementos utilizados en el diseño de la MC, tales como iiempos de acceso a memoria, tiempos de retardo de componentes, la longitud del bus externo, etc.

4.1 Ciclo de Lectura.

El ciclo de lectura se inicia cuando en el módulo de decodificación y sincronía, DYS, se recibe la dirección de la MC en conjunto con las líneas AEN negada y MEMI¿; la decodificación de estas señales genera la solicitud de lectura (MR).

La solicitud MR ( I ), ver Fig. 6, se envía al módulo de control y acceso a memoria, CAM, donde el &rbitro de memoria, al encontrarse libre activa la seííal REAL) (2) , que es propiamente la orden de traba.¡« de lectura en memoria. Esta señal habilita las llneas de control y buses de memoria para efectuar la lectura. En la Fig. 6 se observan las señales de coiitrol de bus de direcciones y datos A-W/R y D-VO (3). en el caso de la lectura ambas son habilitadas a nivel bajo. Para la lectura línea WE, que es la línea de control de escriturwlectura se mantiene el nivel alto. La señal LO define el tiempo en que los datos leidos son válidos y pueden ser capturados en el registro de salida (4). La subida de la señal LO ( 5 ) se aprovecha para inicializar los regitros del CAM (6), así como para deshabilitar la señal de espera WAIT, en el módulo DYS (7); ya que ésta fue habilitada hacia el procesador desde el inicio de la lectura, de esta manera el procesador puede concluir el ciclo tomando los datos leidos.

Page 27: 911342 - CENIDET

2. I

Tabla I . DesripciÓn de las sefiales empleadas

Simb Tipo Descr ipc i 6n

U A i r MEMR MEMU MR MU READ WRITE A - V I R

D-I10

LO CLR CLU CLEAR WE RACK BUSY 1 DENT VA UD BUSX

S E E i n t i n t i n t i n t i n t

i n t

i n t i n t i n t i n t i n t i n t ex t ex t ex t ex t e x t

Serial de espera, inser ta c i c l o s de espera a l CP Se ta l de requerimÍento de lec tura Serlal de requerimiento de esc r i t u ra Urden de t rabajo de l ec tu ra Orden de t raba jo de esc r i t u ra Lectura aceptada Esc r i t u ra aceptada Control del bus de d i recciones de e s c r i t u r a o lec tura en memoria Control del bus de datos para entrada o sa l i da en menor i a Latch de sa l i da de datos le idos l n i c i a l i z a c i b n de r e g i s t r o s de lec tura In i c ia l i zac iÓn general de r e g i s t r o s de escr i turc In i c ia l i zac iÓn local de r e g i s t r o s de esc r i t u ra Hab i l i t ac i6n de l a lec tura o e s c r i t u r a Serial de consecibn de bus externo Serial de bus externo ocupado Seta l que ind ica i n p r i o r i d a d asignada a cada M( Secíal de direcciones l i s t a s Serial de datos l i s t o s Bus de direcciones o datos

~ ~~~ ~ ~~~~

..S Sal ida de MC a l bus A T E. = Entrada de MC del bus AT i n t Sefial in terna de la MC ex t = Sefial de entrada/sal ida a,l/del bus externo

Page 28: 911342 - CENIDET

22

r

Simb Descripción min t i p max Unidad

1 CR Tiemrio de c i c l o de lectura 575 Tiempo sujetüdor de sal ida Tiempo de i n i c i a l i zac iÓn de lectura Tiempo de c i c l o de esc r i t u ra Tiempo de i dent i f i cador Tiempo sujetador de direcciones Tienpo sujetador de datos Direcciones vál idas en bus externo Datos vál idos en bus externo Escr i tu ra habi I i tada I n i c i a i i zoc ión loca l esc r i t u ra I n i c i a i i zac i On genera i esc r i t u ra

160 60

4 1 0 250 80 80 25 O

250

160 6 0 60

750 ns 190 ns 100 ns

500 ns 28 O ns 1 O0 ns 1 O0 ns

ns

ns

ri s 1 O0 ns 100 ns

E

FIG. 6 CICLO DE LECTURA

Page 29: 911342 - CENIDET

23

4.2 Ciclo de Escritura.

El ciclo de escritura se inicia cuando en el m6dulo de decodificación y siiicmnla, DYS, se recibe la dirección de la MC en conjunto con las líneas AEN negada y MEMW; la decodificación de estas señales genera la solicitud de escritura (MW).

Esta seilal MW ( I ) , ver Fig. 7, se envla al mbdulo de control y acceso al bus externo CABE, donde el árbitro de bus ARB, se encargará de tomar el control del bus externo, levantando la llnea de BUSY (2) . íinicamente si este se encuentra libre, en caso contrario, la solicitud esperará aqul hasta que se libere. Una vez concedido el control del bus externo, el control de flujo de información, CFI, envía un identificador (3)> ai bus externo que es leido por todas las MCs que en este momento soliciten el acceso. Este identificador tiene como característica principal que lleva intrínseca la prioridad, de tal manera que si dos MCs obtuvieron el bus externo, solamente lo mantendrá la MC que no detecte un identificador de mayor prioridad que el suyo, si este no es el caso esta MC cederá el bus externo. Una vez asegurado el control del bus, el CFi inicia el envió de la información transmitiendo por el bus externo las direcciones en con,iuiito con la línea de sincronla WA (4). A continuación, se iransmiten l o s datos, también se utiliza una línea de sincronía WD.

La señal de sincmnla WA es considerada también como la orden de trabajo de escritura cuando se recibe en el m6dulo CAM; el cual si se encuentra disponible generará la señal WRITE (S), que habilitará las llneas de control y buses de direcciones y datos de la memoria para efectuar la escritura.

Debemos recordar que en el módulo de MC de la PC que genera la escritura se realizará, previo a esta acción, la lectura del contenido de la dirección a escribir; este aviso lo manqia el nivel alto de la señal BACK, que es enviada por DYS y solamente se envía en la PC que genera la escritura.

En la Fig. 7, se observan las líneas de control de bus de direcciones y datos A-WB (6) y D-I/O (7). en el caso de esía escritura, primen, A-W/R se habilita a nivel alto y D-U0 se habilta a nivel bajo, mientras la señal LO (8), que conirola el tiempo en que los datos leidos son vblidos, pueden ser capturados en el registro de salida. La subida de la señal LO (Y), dispara la segunda parte de este ciclo, habilitando la línea WE ( IO) , que estaba leyendo a que carnhie a escritura habilitándose a nivel bajo:Esta misma seaal habilita a D-I/O a nivel alto para recibir los datos de escritura en memoria.

Finalmente, la subida de WE ( 1 I ) , habilita la inicialización general de los regitros del CAM, del CABE y del DYS (12), y as1 la MC concluye el ciclo de escritura.

Page 30: 911342 - CENIDET

B A C K B U S Y H \

W

BUSX

WD

WRITE

A-W/R

D- I / O

LO

WE

C L E A R

24

CLW --&F FIG. 7 CICLO DE ESC-

4.3 Estados adicionales.

Los estados que se describen a continuación, se basan fundamentalmente en los dos ciclos anteriores, con ciertas variantes que se verán en cada caso.

Page 31: 911342 - CENIDET

2s

4.3.1 Escritura de otro (externa),

Esta escritura se realiza en los mndulos de MC de las PCs que no generaron la escritura. Cuando se recibe la orden de trabajo y sincronía WA ( I ) , ver Fig. 8, en el m6dulo de CAM, se genera la seflal WRiTE (2), que habilitarfi las líneas de control (3), y buses de direcciones y datos de la memoria para efectuar la escritura. Como se observa en la Fig. 8, eii esta escritura no se realiza una lectura previa, por lo que la línea WE (4), se habilita a nivel bajo únicamente para el tiempo de la escritura. Cuando se termina la escritura (S), se efectúa una inicializaci6n local de registros (6).

BUSX mG \

WRITE

A- W/R

~-110 - WE

CLEAR ___

FIG. 8 ESCRITURA DE OTRO

4.3.2 Lectura con escritura de otra en espera

En este estado, la MC se encuentra resolviendo una lectura, cuando antes de terminar, se recibe una escritura externa. La parte importante en este estado radica en almacenar la solicitud de escritura y los datos, y mantenerla en espera, as1 al concluir la lectura, se resolverá la escritura. La Fig. 9 muestra como se está resolviendo la orden de lectura MR ( I ) .

Page 32: 911342 - CENIDET

26

y como se recibe la orden de escritura WA (2). que es alinacenada mientras se terniiiia la lectura ( 3 ) , después de la cual da inicio la escritura ,(4).

MR

WA

READ

A-W/R

L O

CLR

WRITE

CLEAR

WAIT

FIG. 9 LECTURA CON ESCRITURA DE OTRO EN ESPERA

4.3.3 Escritura de otro con lectura en espera.

En este estado, la MC se encuentra resolviendo una escritura exierna ( I ) , ver Fig. IO, y anlcs de terminar se recibe una lectura (2), que se mantiene en espera aiin después de terminar la escritura (3). La Fig. 10 muestra este estado, y como se resuelve la lectura (4), hasta después

Page 33: 911342 - CENIDET

27

de que se concluyó la escritiira (3). La línea de WAIT (S), permanece activa, en todo el ciclo de lectura deteniendo al procesador hasta que finaliza el ciclo de escritura (6).

BACK

WA < I >

BUSX I X x x X WD

W R I T E

A-W/Ü

D - I / Ü

Lo

L E

CLEAR

CTW

\ I

I

W A I T

C L R

MR

READ

FIG. 10 ESCRiTUFL4 DE OTRO CON LECTURA EN ESPERA

4.3.4 Escritura del mismo con lectura en espera.

La Fig. 1 I muestra u n caso similar al anterior; se está trabajando con una escritura ( I ) y se presenta una leciura, la cual queda en espera (2). La línea de WAIT (3), mantiene detenido al procesador hasta que se termina con el ciclo de lectura (4).

Page 34: 911342 - CENIDET

28

BACK 4e---7?- I DENT i r \ A

MR

READ

WA

BUSX

WD

-

-

WRITE

A-W/R

D-I/O

CO

TJE:

CLEAR - CLW

W A I T

CLR

FIG. 1 1 ESCRITURA DEL MISMO CON LECTURA EN ESFERA

4.3.5 Escritura de otro con escritura del mismo en espera.

En la Fig. 12, se esta resolviendo una escritura ( I ) , y llega otra escrilura (2 ) , que se detiene hasta que termina la primera. Se observa como la línea de WAIT (3), no se habilita para

Page 35: 911342 - CENIDET

29

detener al procesador en la segunda escritura, ya que sc alinacena 13 solicitud y sus datos. Estas dos escrituras terminan una después de otra sin afectar al procesador.

VA

BUSX

rn WR I TE

A-W/ü

D- I /o WE

CLEAR

MW

BACK

BUSY

I DENT

Lo

___

C L W

W A I T "'

FIG. 12 ESCFXWRA DE OTRO CON ESCRITURA DEL MISMO EN ESPERA

Page 36: 911342 - CENIDET

30

4.3.6 Escritura del mismo con escritura del mismo en espera.

Este estado resuelve dos escrituras seguidas del procesador. Como se observa en la Fig. 13, l a primera escritura ( I ) , sigue e l curso normal del ciclo de escritura, pero la segunda es detenida (2). habilitando la sena1 de espera al procesador (3). Esto es necesario ya que no se cuenta con doble registro para almacenar la solicitud y los datos de la segunda orden. Por io que hasta que se termina la primera escritura (4), se libera al procesador y se captura l a solicitud y los datos de la segunda escritura iniciándose así el segundo ciclo de escritura.

MEMW

MW

W A I T

BUSY

BACK

I DENT

WA -

W R I T E

A-W/R

C L W

FIG. 13 ESCRITURA DEL MISMO CON ESCRITURA DEL MISMO EN ESPERA

Page 37: 911342 - CENIDET

11

4.1.7 Escritura de otro con dos escrituras del mismo en espera.

En este caso, a diferencia del anterior se levanta la señal de WAIT hasta la tercera escritura. En la Fig. 14 mientras se esta realizando la primera escritura ( I ) , la segunda escriiuvu se captura en los registros de la MC (21, y se mantiene pendiente sin afectar al procesador (3); pero cuando llega la tercera escritura (4). inmediatamente se manda la señal de espera al procesador (S), para que mantenga las direcciones y los datos. Cuando termina la primera escritura, entra la segunda (6), cuando termina esta, entra la tercera (7).

WRITE

MCMW

MW

W A I T

BUSY

BACK

I DENT

A-W/ i i

D- I /Ü

LO

WE

CI_EAR

-

FIG.14 ESCRITURA DE OTRO CON DOS ESCRITURAS DEL MISMO EN ESPERA

Page 38: 911342 - CENIDET

32

4.3.8 Escritura de otro con escritura y lectura del misrno en espera.

Para este est'ado, ver Fig. IS, la primera escritura (I), no genera la señal de espera (2). la segunda escritura tampoco (3), únicamente se capturan la solicitud con sus dalos, y entra cuando se termine la primera escritura (4). El problema ocurre cuando llega la lectura (S), ya que ésta habilita la señal de espera (6), y se mantiene activa hasta que se efectúa la lectura.

MEMR

MR

R E A D

m W R I T E

MEMW

MW

W A I T

BUSY

BACK

I D E N T

A-W/R

D-I/o

Lo V E V

C L E A R V V C W V m

FIG. 15 ESCRITURA DE OTRO CON ESCRITURA Y LE-A DEL MISMO EN ESPERA

Page 39: 911342 - CENIDET

33

3, DISENO DETALLADO

En este capítulo se presenta el diseflo en forma deiallada de las partes que forman el módulo de MC, así como cada uno de los circuitos de los submddulos que los integran, tomando en cuenta el estado lógico de las seflales que estos manejan para desarrollar las ordenes que le son solicitadas. También se mencionarán los circuitos integrados (CI) utilizados para la construcción de los submódulos.

5.1 Bus AT de la PC

Una de las partes que caracterizan a una PC compatible es el bus utilizado para la conexidn de dispositivos externos denominado Bus AT, Considerando que los buses dentro de Ins coinpitiadoras son la vía de comunicacidn entre las partes de un sistema de computadora, tenemos que la mayoría de las computadoras tienen diferentes tipos de llneas cada una de ellas

Page 40: 911342 - CENIDET

34 optimizada para u n fiii determinado de comunicación. Debido a esto, se puede hablar de tres tipos de buses que son:

- Biis de datos. - Biis de direcciones. - Bus de control.

Dentro de esta sección, (inicamente nos enfocaremos a la descripción de las líneas del bus AT que son utilizadas para el diseño del módulo de MC, estas son:

5.1.1 Bus de datos

De este bus tomamos las lineas que van de DO-DIS. Estas son 16 líneas bidireccionales que son utilizadas para la transferencia de datos en el bus y cuyo valor está dentro de los niveles lógicos ( I ) y (O) dependiendo de la información que se deseé transferir a través del bus. Cuando se necesita operar con dispositivos de 8 bits se utiliza el byte menos significativo que va de W-D7.

5.1.2 Bus de direcciones

En este bus las líneas van de AO-AlY. Estas son 20 líneas de direcciones que se utilizan conjuntamente con A17-A23 para alcanzar la máxima capacidad de direccionamiento de I6 MD de memoria. Para el diseño del módulo MC, utilizaremos de la llnea A0 a la Iíiiea A19 junto con las líneas de control (IOR) ,(UN) y (ALE) para la selecci6n de la tarjeta de (MC).

5.1.3 Bus de control

De este bus sólo tomamos las líneas que requerimos para el diseño del módulo de la MC las cuales describimos a continuación.

-1OR (U0 read): En esta línea la seflal que se trasmite indica a los dispositivos de entraddsalida (WS) que deben depositar el dato en las Iliieas del bus.

- AEN (Adress Enable): En esta línea, s i la seflal se encuentra activa en nivel alto, indicará que se está llevando a cabo una operación de acceso directo a memoria (DMA), y que por lo tanto, el microprocesador u otros dispositivos no pueden utilizar el bus.

- YO CH RDY (VO CHANEL READY): En esta línea la señal es activada en nivel bajo, por una memoria o un dispositivo de WS de acceso lento, con el objeto de que se inserten ciclos de espera de 167nS cada uno y con un tiempo miiximo de 2.5ps. Esta señal es activada por el m0dulo MC tan pronto como se detecta la dirección específica, con el correspondiriite comando de lectura o escritura.

- RESET: En esta línea, la seflal es activada en nivel alto durante la secuencia de encendido

Page 41: 911342 - CENIDET

35

de la PC. Esta señal permanece activa hasta que todos los niveles de voltaje han alcanzado su rango de operación especificado y entonces se pone inactiva.

- MEMW (Memory Write): En esta línea, la seflal lransmitida es activada en nivel bajo y es usada para escribir datos del bus del sistema dentro de la memoria y es manejada por el controlador del bus durante la inicializacidn de un ciclo de bus de CPU, esta sena1 es usada para indicar que el bus de direcciones contiene una localización de memoria para la cual el dato en el bus de datos va a ser escrito.

- MEMR (Memory Read): En esta línea, la señal se activa en nivel bajo y es usada para requeriinientos de lectura de datos de la memoria. Esta señal es manejada por el controlador del bus durante la inicializacidn del ciclo de bus de la CPU. Esta señal es usada para indicar que el bus de direcciones contiene una dirección de una localización de memoria para la cual el dato esta siendo lefdo.

- BHE (Bus High Enable): Esta señal indica la transferencia de datos de su byte más significativo DE-DI5 del bus de datos. Esta señal en combinaciún con la señal A0 nos indica de acuerdo a su combinación que tipo de dato se está transmitiendo, esto es:

BHE A 0 Func i Ón

O O T rans fe renc ia de paíabra O 1 O Trans fe renc ia de l b y t e menos s i g n i f i c a t i v o (DO-D7) 1 1 Es ta combinación nunca puede o c u r r i r

1 . T rans fe renc ia de b y t e más s i g n i f i c a t i v o (D8-Dl5)

. .

En el anexo D. se presenta el bus de expansión de la PC AT.

5.2 Bus externo

Existen diferentes tipos de buses para la transmisión de inforinación en paralelo. Para el presente proyedo de (MC) se diseño un bus que cumpliera con las siguienles necesidades:

a.- Que la conexiún entre los múdulos de MC se pudiera efectuar a través de un cable estandar.

b.- Que fuera asíncrono. c.- Oue se observe el compromiso entre el número de líneas y la velocidad de transmisión. d.- Gue resuelva el problema de las colisiones. e.- Que reduzca los problemas de ruido, inductancia, capacitancia y reflexiones eléctricas.

Debido a lo anteriormente mencionado, el BUS EXTERNO implementado para la MC contiene

Page 42: 911342 - CENIDET

36

dos grupos de líneas que son; las líneas que forman el Bus de direccioneddaios, y el Bus de control.

El BUS de direcciones y datos consta de 16 llneas; por este bus se trasmite el identificador que es una seflal en nivel alto de cada una de las unidades que forman el sistema de MC. Este identificador se transmite dentro de los 8 bits mas bajos (CI 61) mostrado en la fig. 29A y ocupa una posición de acuerdo a la prioridad que se le asigne a cada PC. Esta seflal de identificación permanece activa durante u n perlodo de 250 ns a través del bus externo y debe de ser detectada en todas las PC’s. Una vez que se ha obtenido el bus externo, se procede a la transmisión de las direcciones durante u n período de 250 ns a través de los (CI 61 y 62). Una vez terminado este perlodo se procede a la transmisión de los datos por otro periodo similar al de las direcciones a través de los mismos CI.

Bus de control; este bus consta de 4 líneas de control. 1.- La línea de BUSY con su seflal en nivel alto indica a las demás unidades del sistema que

el bus se encuentra ocupado. 2.- La línea WA con su seflal en nivel alto indica a las demás unidades del sistema que las

direcciones estan puestas en el bus externo y que deben ser capturadas. 3.- La línea WD con su señal en nivel alto indica a las demas unidades del sistema que los

datos estan puestos en el bus externo y que deben ser capturadas. 4.- La línea de BHE cuando presenta una seiial en nivel alto indica que se esta transmitiendo

un byte bajo, y cuando está en nivel bajo indica que se está transmitiendo un byte alto.

A continuación se presenta una descripción mas detallada del diseno del Bus externo

Debido a que existen diversos factores que afectan la transmisión de información como son el Ruido, la Capacitancia, la Inductancia y las Reflexiones Eléctricas, se optó por utilizar un bus del tipo Par Trenzado (Twisted Pair), el cual es más económico y más fiable que los buses convencionales multiconducíores [l3]. El método de par trenzado consiste en que a cada seflal se le asocie su propia tierra de referencia, de tal modo que ambos conductores van arrollados entre sí cada 2 6 6 cm. de longitud. El hecho de este arrollamiento provoca un blindaje, de tal modo que las corrientes de ida por el conductor de la seflal sean cancelados por la corriente de retorno por el conductor de tierra, minimizando el campo externo generado y por tanto reduciendo las posibles interferencias a cables vecinos [I?] . El blindaje generado por las tierras arrolladas, inmuniza el hilo de seflal respecto a seflales externas, puesto que cualquier seflal acoplada se induce simultáneamente en ambos conductores de tal modo que la tensión diferencial apreciada es mlnima. La posible tensión en modo común es anulada por el hecho de la conexión a cero volts del condudor de retorno. Debido a las condiciones de acoplamiento que se presentan en el sistema de MC, es necesario conocer la impedancia característica de los conductores, la cual puede ser proporcionada por el fabricante del cable o se puede calcular mediante un medidor de impedancia (Rx), de tal modo que la impedancia (Z) se puede calcular a partir de la impedancia medida en corto circuito (Zsc) y la impedancia medida en circuito abierto (Zoc) [14]. Una vez medidos estos parámetros la Impedancia Característica puede ser determinada por la relación:

z = (Zsc”Zoc)”

Page 43: 911342 - CENIDET

37

En la Fig. 16, se muestra otra forma de obtener la impedancia caracterlstica mediante el uso de una gráfica, en la cual se indica la impedancia característica de una Ilnea en función de las relaciones entre el diámetro de los conductores y la distancia entre centros [14].

I 1 2 4 7 1 0 2 0 40 7 0 1 0 0

Relacion de Dimenciones D/d

FIG. 16 GRAFWA PARA OBTENER LA IMPEDANCIA CARACTENSTICA EN PARES TRENZADOS

Una de las razones por las que se desea conocer la impedancia característica es porque ésta debe ser menor a la impedancia de salida de los emisores (Transceiver) o de entrada de los receptores (Receivers). Así, cuando se conecten multiples emisores o receptores a una línea no se afecte su impedancia, impidiendose de esta manera situaciones crlticas de acoplamiento.

Para prevenir las Reflexiones eléctricas en la línea, es conveniente intercalar una Red Terminal como la que se muestra en la Fig. 17, cuya impedancia sea equivalente o lo mls similar posible a la impedancia característica de la línea de transmisión, minimizando de este modo los efectos de reflexiones eléLZricas que podrían provocar sobreoscilaciones indeseables. Para el caso de los pares trenzados cuya impedancia está comprendida entre los 100 y los 200 ohmios, el método más usual consiste en emplear redes de resistencias formadas por una resistencia desde la línea hacia +5 Volts y otra resistencia desde la línea a tierra, en la Fig. 18 se muestra u n circuito de una red terminal para la conexión de los trapezoidales compatibles con lTL por medio de pares trenzados.

Page 44: 911342 - CENIDET

38

FIG.

Vm

%- [ Tl i luabloO

and

17 DIAGRAMA DE UNA RED TE-AL

Transcelver

5v Y ,,, Receiver

1 1 FIG. 18 RED TERMINAL PARA CONEXION ‘ITt POR MEDIO DE PARES TRENZADOS

En la Fig. 19 se muestra el bus externo de direccioneddatos con su red terminal acoplada.

Red Red Terminal Terminal

Puntos Puntos Puntos de

Interconexion

FIG. 19 BUS E X ” 0 CON RED TERMINAL ACOPLADA

de Interconexion de

Interconexion

Page 45: 911342 - CENIDET

39

5.3 Coniunto de registros de acodamiento al bus AT

Los registros de acoplamiento con el bus AT son la interfaz entre el módulo de MC, y el bus de la PC. Estos registros estan divididos en dos tipos:

5.3.1 Registros de entrada al módulo de MC

La Fig. 20 presenta los registros de entrada al módulo MC, que están formados por un con,junto de 32 registros tipo "D" (CI 50,54,49 y 53) de los cuales 16 de ellos están destinados a la captura de los datos (Ci SO y 54), y los otros 16 se destinan a la captura de las direcciones (C1 49 y 53). Cuando se recibe una solicitud de escritura (Mw) nivel alto en el bloque de decodificación y sincronia (CI 36-6), éste activa la señal CLK tanto de los registros de datos como el de los registros de las direcciones para que éstos sean capturados simultáneamente. Posteriormente dependiendo de la respuesta proporcionada por el control de acceso al bus externo (CI 43-8) y del decodificador de prioridades (CI 40-8), se activará la señal para el control de salida (OC) de los (CI 49 y 53) en nivel bajo, primeramente el de los registros de direcciones durante un período de 250 ns, los cuales deberán pasar a través de los multiplexores (CI SS,S6,S7 y 58) y posteriormente, también se activa el control de salida (OC) nivel bajo de los registros de datos (CI SO y 54) durante un período de 250 ns, los cuales también deberán pasar a través de los circuitos multiplexores anteriormente mencionados, el tiempo proporcionado para la salida tanto de los datos como el de las direcciones es u n tiempo que se considera necesario para que éstos salgan de la MC al Bus externo se propaguen a través de él y sean capturados en los otros módulos del sistema. Cuando se recibe una solicitud de lectura (MR) iiivel alto en el bloque de decodificación y sincronia (CI 36-9), éste activará la seflal CLK de los registros de direcciones y los de datos pero el control de salida (OC) para el caso de una solicitud de lectura (MR) sólo acqivará la salida nivel bajo de las direcciones (CI 49 y 53) para indicar que posición de la memoria específicamenie se desea leer.

5.3.2 Registro de salida del m6dulo de MC al bus de la PC

La Fig. 29B muestra los registros de salida de la MC al bus de la PC, están formados por u n coiijunto de I6 registros del tipo "D" (CI 13 y 14). Estos se encargan de entregar el dato, bien sea en byte o palabra al bus de la PC. Cuando en el mddulo de MC se efeciua una solicitud de escritura; previamente a la ejecución de ésta, se verificara el contenido de la dirección en la cual se desea escribir, almacenando el contenido de esta dirección en un registro del mismo módulo, el cual podrá ser leído por la PC accesando tin puerto de entradalsalida (VO), de esta forma se verificará el contenido de la posición de memoria justo antes de modificarse implantando de esta manera una instrucción de prueba y cambio (Test and Set).

Page 46: 911342 - CENIDET

A LOS CI (55,56,57 Y 58)

A LOS HUX K HCHORlR

FIG. 20 REClSPROS DE ACOPLAMIENTO AL BUS AT

Page 47: 911342 - CENIDET

41

5.4 Registro de acoolamiento al bus externo

La Fig. 21 muestra los registros de acoplamiento al bus externo, que son la interfaz entre el módulo de MC y el bus externo, que es el medio a través del cual se transfiere la información que se desea llegue a las demás unidades que forman el sistema, está formado por dos grupos de registros que son:

5.4.1 Registro de salida al bus externo

El con,junto de registros de salida al bus externo está formado por 16 dispositivos transmisores (CI 61 y 62). Los cuales se encargan de transmitir el identificador, las direcciones y los datos durante una solicitud de escritura, además, adaptan las señales de niveles 'iTL (Mgica Transistor Transistor) a lógica de colector abierto (Open collector), que son los niveles que se presentan en el bus externo.

5.4.2 Conjunto de registros de entrada al módulo de MC

El conjunto está formado por 16 dispositivos receptores (Receivers) (CI 59 y 60). los cuales se encargan de recibir durante una orden de escritura al identificador, las direcciones y los datos que se encuentran presentes en el bus externo, y de adaptar las señales de colector abierto (Open Collector) del bus extemo a los niveles TTL (Mgica Transistor Transistor) que se manejan en los dispositivos de la MC. Estos dispositivos siempre estan habilitados como receptores.

5.5 Bloaue de decodificación Y sincrunla (DYS)

Este bloque mostrado en la Fig. 22, es el encargado de decodificar las direcciones para la selección del módulo de MC, almacenar las solicitudes de lectura y escritura que sean realizadas por el usuario. Dentro de este bloque también se incluye el circuito generador de la señal de WAiT, la cual será activada dependiendo de las diferentes solicitudes que se presenten. A continuación se describe el funcionamiento del mismo.

hiesto que el módulo de MC se encuentra dentro del primer megabyte de la memoria del sistema de la PC, es necesario darle una dirección, la cual está ubicada en la posici6n DXXXX. Una vez decodificada esta dirección, se puede accesar al módulo de MC. La decodificación de ésta dirección se realiza mediante un CI PLD EP610, ai cual se le proporcionan las direcciones A0 a la A19, junto con las señales AEN, ALE y IOR. Todas estas señales forman parte de una serie de funciones que deben de cumplirse para que el módulo de MC pueda ser seleccionado durante una solicitud de lectura o de escritura. La programación del CI PLD EF'610 se describe en el Anexo A.

Para la descripción se utilizará la presente nomenclatura: (CI 63-21) en la cual (CI) indicar& que se trata de un circuito integrado, el número (63) indica el nrimero del circuito integrado dentro de la tarjeta y el segundo número (21) será el número del pin del CI.

Page 48: 911342 - CENIDET

A LOS R E G I S M S DE DIRECC. Y DAIm AL C W P A R A M R DE PRIORIOAOES

A6 06 A7 07

~. ' 053862 ' 4

8

U

S

E

X

T

E

R

N

O

D

E

D

I

R E

c Y

D

A

T

O

S

FIG. 21 REGISTROS DE ACOPLAMIENTO AL BUS MTERNO

Page 49: 911342 - CENIDET

N N

ci E

.

Page 50: 911342 - CENIDET

44

Una vez que ha sido decodificada la dirección DXXXX seleccionando el m6diilo MC en el (CI 63-21) con nivel alto y se presenta una solicitud de escritura MEMW en el CI (23-9) nivel bajo ésta es invertida. generando de esta manera la señal MW en nivel alto en el (CI 47-3) Esta señal es transferida al (CI 36-5) el cual la captura. Si el CABE detecta que el bus externo está libre, la solicitud de escritura es ejecutada; pero si no, se origina la coiitencióii de la solicitud antes mencionada hasta que el bus externo sea liberado. La solicitudes de escritura para su funcionamiento dependen de si la información a transmitir es una palabra o u n byte.

Cuando la solicitud de escritura es una palabra, ésta pasa directamente, pero si es u n byte, entonces dependerá de la señal proporcinada por el (CI 33-5) cuyo funcionamiento depende del valor de las señales A0 y BHE. La señal MW en nivel alto también es capturada en el (CI 46-9) que forma parte del circuito generador de la señal de WAiT.

Cuando se ha seleccionado el módulo MC y se recibe una solicitud de lectura nivel bajo en el (CI 38-3) esta es invertida, generando de esta manera la señal MR en nivel alto en el (CI 47-6). Esta señal es transferida al (CI 36-9) donde es capturada. Simultáneamente, el complemento de esta señal es utilizado en el (CI 37-10) para proporcionar la seflal CK a los (CI 49 y 53) para que capturen las direcciones que se encuentren presentes en el bus de direcciones de la PC. Dentro de este bloque también se incluye el circuito generador de la señal de WAIT que será activado principalmente durante el desarrollo de cuatro operaciones fundamentalmente, las cuales se describen a continuación.

Cuando se está relizando una solicitud de escritura y llega otra del mismo tipo, antes de que se termine de ejecutar la primera. Dentro de esta opci6n una vez que se ha seleccionado el m6dulo MC en nivel alto y se recibe una solicitud de escritura MW en nivel alto del Bloque de decodificación y sincronía, ésta es capturada en el (CI 46-9) de tal forma que a la salida del circuito de WAiT (CI 44-2), no se activa la seaal del mismo nombre. Si durante el intervalo de tiempo que demora la ejecución de la primera solicitud de escritura llega otra solicitud de escritura, entonces se activa la señal de WAIT en nivel bajo del (CI 44-2), la cual pondrá en funcionamiento la seflal l/O CH RDY que suspenderá al microprocesador mientras se termina de ejecutar la primera solicitud de escritura. Una vez que se ha concluído con ésta, este módulo recibe una señal CLW en nivel alto, generada en el bloque de control de memoria la cual limpia la primera solicitud de escritura haciendo que se desactive la señal de WAIT para que se pueda continuar con la ejecución de la segunda solicitud presentada.

Cuando se hace una solicitud de escritura y antes del término de ésta, llega una solicitud de lectura. Durante el desarrollo de esta opción, se efectua la misma secuencia que para el caso anterior, solo que en este caso la segunda solicitud presentada es una solicitud de lectura la que activa la seaal de WAiT en nivel bajo en el (CI 44-2). Una vez que se concluye la ejecución de la solicitud de escritura, se vuelve a recibir la señal CLW generada en el bloque de control de memoria en nivel alto la cual limpia la solicitud de escritura desactivando la señal de WAIT, con lo cual se puede continuar con la solicitud de lectura hecha posteriormente.

Cuando se hace una solicitud de lectura se activa la señal de espera WAiT nivel bajo desde el principio. Una vez seleccionado el m6dulo MC en nivel alto y se recibe una soliciud de

Page 51: 911342 - CENIDET

45

lectura nivel alto en el bloque de decodificación y sincronía, esta es capturada en el (CI 36- 9) activando desde el inicio la seña¡ espera WAIT en nivel bajo en el (CI 44-2), lo cual no permite la ejecución de otra solicitud hecha por el microprocesador debido a que la seflal de espera, aaiva la señal VO CH RDY la cual suspende al microprocesador hasta que se haya concluido la solicitud de lectura. Una vez conclulda esta solicitud, el bloque de control de memoria genera la señal CLR nivel alto que se encarga de limpiar la solicitud de lectura ejecutada. Hay que aclarar que los ciclos de espera, WAIT, no deben de exceder u n tiempo mayor a 2.5 pS.

Cuando se hace una solicitud de escritura y llega una solcitud de lectura de puerto VO. Denim de esta opción una vez que se ha seleccionado el módulo MC en nivel alto y se recibe una solicitud de escritura MW en nivel alto del Bloque de decodificación y sincronfa, ésta es capturada en el (CI 46-Y) de tal forma que a la salida del circuito de WAIT (CI 44- 2), no se activa la sefial del mismo nombre. Si durante el intervalo de tiempo que demora la ejecución de la primera solicitud de escritura, llega una solicitud de lectura de puerto, entonces se activa la seflal de WAiT en nivel bajo, que pondr5 en funcionamiento la señal YO CH RDY encargada suspender al microprocesador mientras se termina de ejecular la primera solicitud de escritura. Una vez que se ha concluído con la primera solicitud, este módulo recibe una señal CLW en nivel alto la cual limpia la primera solicitud hecha haciendo que se desactive la señal de WAiT para que se pueda continuar con la ejecución de la segunda solicitud presentada.

5.6 Control de acceso al bus externo (CABE)

Este módulo esta formado por dos sub-bloques:

- Arbitro del bus externo (ARB). - Control de flujo de información (CFi).

A continuación se describirá su funcionamiento.

5.6.1 Arbitro del bus externo (ARB)

Este bloque, es presentado en la Fig. 23, y es el encargado de sensar el bus externo permanentemente. Durante una solicitud de escritura la señal M W se pone en nivel alto, y este bloque se encarga de sensar en el bus externo la Ifnea de control de bus ocupado (Busy) en la cual la señal (Busy') de entrada al (CI 48-13) puede estar en un nivel alto o en un nivel bajo. Cuando la señal Busy' del (CI 48) se encuentra en un nivel alto se considera que el bus está libre y la orden de escritura es aceptada; con lo cual se levanta una señal Busy en el (CI 41-5) la cual hace que la línea de control de bus ocupado presente una señal de Busy' en nivel bajo indicando a las demás unidades que forman el sistema de MC que el bus externo se encuentra ocupado y por lo tanto cualquiera de estas que quisiera hacer una escritura tendrá que esperar a que el bus sea liberado, generando de esta manera las contenciones eii las demás unidades.

Page 52: 911342 - CENIDET

AL CI (30-10) S

AL CONTROL

I

M HfHORIA

OS3862

AL C I (40-2) AL CI (36-5)

A LOS C I (61 Y 6 2 )

DEL C1 6 6 - 1 3 DEL C I (64-5)

DEL CI (17-6)

- -

DEL C I (46-5)

i E R N 1 O I D I E i

I C O

T N I R O L

FIG. 23 ARBITRO DEL BUS EXTERNO

I

Page 53: 911342 - CENIDET

47

Puesto que existe la probabilidad de que dos o más uwarios efeciiien una solicitud de escriticra simultáiieainente y que estos a su vez detecien al bus externo como desocupado, todos ellos pondrán una señal de Busy nivel alto en el (CI 41-5) para hacer que las demás unidades detecten una señal de Busy' en nivel bajo la cual indicará que el bus externo ha sido ncupado, pero al colocar el identificador cada una de ellas en el bus externo y al ser detectado este en los bloques coinparadores de prioridades de cada unidad hará que se active una señal (QD) nivel alto en el (Ci 47-8), la cual hará que las unidades de menor prioridad que detecten a otras unidades de mayor prioridad liberen el biis, quedándose con el bus externo la unidad de mayor prioridad en ese inomento, lo que da origen a las contenciones de las operaciones en las demás unidades que forman el sistema de MC. Asf también cuando se genera ésta señal, nn se permite la salida de las señales de control de escritura, que son: WA, WD y BHE, las cuales son utilizadas en el módulo de control de acceso a memoria. Dentro de este in6dtilo, también intervienen las señales de habilitación de salida (CE) de los registros de salida al bus externo (CI 61 y 62), la cual se activa en nivel ba,jo permitiendo la salida de las direcciones y los datos, cuando la solicitud de escritura ha sido aceptada; a su vez, el tiempo de activación de esta sellal en nivel bajo dependerá de la activación de la señal QD en nivel alto del (C1 47-8). cuando el bloque comparador de prioridades detecte un identificador de otra unidad con mayor prioridad a la de la unidad local y de la activación nivel alto de la señal CLW al término de una escritura. Para controlar la salida de las señales de control (Busy, WA, WD y BHE), este módulo depende de la seaal (TíR) generada en el (C1 46-5) la cual se activa en nivel alto, cuando la solicitud de escritura a bus externo ha sido aceptada. Para el caso en que dos usuarios efectuen una solicitud de escritura y resulte la unidad local ser de meiior prioridad, entonces esta sellal se desactivará, en nivel bajo, no permitiendo la salida de las señales de control.

5.6.2 Control de flujo de información (CFI)

En la Fig. 24 se muestra el CFI, que tiene como objetivo fundamental permitir la salida dcl identificador, las direcciones y los datos. Dentro de este bloque se incluye el sub-bloque comparador de prioridades.

Una vez que se ha recibido una solicitud de escritura y se detecta a través del árbitro de biis externo que el bus está libre, se permite la salida del identilicador (Ci 42-3) nivel alto, durante un período de 250 nS que es proporcinado por el (CI 30-13), posteriormente una vez que el blnque comparador de prioridades lee el bus externo y no detecta alguna unidad de las que forman el sistema de MC con mayor prioridad que la unidad local, se genera una sena1 M3 nivel alto en el (CI 29-13) la cual permite la salida de las direcciones activando la señal (OC) nivel bajo de los (Ci 49 y 53) de los registros de entrada al módulo de MC durante un perlodo de 250 nS, dichas direcciones deben de pasar a través de los circuitos multiplexores (CI 55.56,57 y 58).

Siiniilt.íiieamenie a la generación de la señal M3 se genera una señal WA la cual es proporcionada por el (CI 66-13) durante un período de 100 nS, cuya I'unción es indicar al bloque de control de memoria que las direcciones fueron puestas en el bus externo y que las debe de capturar. Coiicluída la salida de las direcciones, se genera una señal M4 en nivel alto por el (CI 29-5) la cual permite la salida de los datos activando la señal (OC) en nivel bajo

Page 54: 911342 - CENIDET

48

de los (CI SO y 54) de los registros de entrada al módulo de MC durante u n perlodo de 250 nS. Dichos datos deben de pasar a través de de los circuitos multiplexores anteriormente mencionados y salir al bus externo. AI igual que la salida de las direcciones aquí también se genera una señal en este caso WD en nivel alto por el (CI 64-5) durante un perlodo de 100 nS, la cual indicará al bloque de control de memoria que los datos han sido puestos en el bus externo y que estos deben de ser capturados. Este bloque tiene un (CI 46-5) que controla la sefíal (TiR) del (CI 52) ya que este circuito es el que permite la salida del identificador y las señales de control WA, WD y BHE al bus externo. Una descripci6n detallada del funcionamiento de este Ci se describe a continuacibn.

Cuando se recibe una solicitud de escritura MW nivel alto en el (CI 36-S), este la transfiere al (CI 40-I), a su vez, si el árbitro del bus externo detecta que el bus externo se encuentra libre, transfiere una señal en nivel alto (CI 40-2), como el estado inicial Q' del (CI 46-6) es nivel alto, ésta es transferida al (CI 40-5) completando la función AND de éste y activando la seflal (CK) del (CI 46-3) haciendo que la terminal (Q) cambie de un nivel bajo a alto, esta es la sefíal (TiR) del (CI 52) la cual lo coloca como transmisor para colocar el identificador inicialmente en el bus externo. Posteriormente cuando el bloque comparador de prioridades arroja el resultado de su comparación y esta resulta eti nivel bajo se procede a dejar salir las direcciones y los datos así como tambien las señales de control de escritura WA, WD y BHE. En el caso de que el resultado de la comparación sea nivel alto, el bloque comparador hará que se genere en el (CI 47-8) una sefíal (QD) la cual se encargará de limpiar los (CI 41 y 46), con lo cual se vuelve a iniciar la verificación de que el bus externo se encuentra libre y se vuelve a competir por la posesi6n de éste. En la Fig. 25 se presenta el sub-bloque comparador de prioridades, el cual tiene como objetivo principal detectar los identificadores de prioridad, que le son asignados a cada una de las unidades que forman el sistema de MC. Los identificadores de prioridad, tienen prioridades entre (O) y (7) dependiendo de la importancia que se le dé a cada unidad; siendo el identificador de prioridad (O) el menor y (7) el mayor. Su funcionamiento se describe a continuaci6n. Cuando una de las unidades que forman el sistema de MC realiza una solicitud de escrilura y gana el bus externo, ésta envía su identificador Fig. 24 del (CI 42-3) nivel alto a través del (CI 61) en una de las líneas de los 8 bits más bajos de una palabra, dependiendo de la prioridad que le fué asignada. Una vez colocado el identificador de prioridades en el bus externo, éste será detectado en el comparador de prioridades de cada una de las unidades del sistema Fig. 25 a través de una serie de conipuertas (CI 27- 1,2,4,5,9,10,12,13) las cuales s610 detectan a los identificadores de prioridad de las unidades de mayor prioridad a la unidad local. Estos circuitos mantendrán a la salida de su (CI 43-3) un nivel bajo si no existe una unidad de mayor prioridad a la unidad local; continuando con la solicitud de escritura la cual implica la salida de las direcciones y posteriormente la de los datos. Para el caso en que una unidad del sistema de MC envíe su identificador y su bloque de decodificaci6n de prioridades detecte a un identificador de otra unidad con mayor prioridad a la propia, enviará una señal (CI 43-3) nivel alto, que será válida durante 50 nS, la cual hará que se genere en el (CI 47-8) una señal QD nivel alto que se encargará de limpiar a los (CI 41-46) generando de esta manera la contencibn de su solicitud de escritura, quedando en espera de que el bus externo sea liberado para poder accesarlo. Cabe aclarar que si en el instante en que el bus sea liberado se efectúa otra solicitud de escritura por parte de otra unidad del sistema, la solicitud que estaba en contenci611, vuelve a entrar en competencia por el bus, hasta que sea solamente él quien solicite la escritura, o entre en competencia con otra unidad de menor prioridad en la cual él ganará el bus externo.

Page 55: 911342 - CENIDET
Page 56: 911342 - CENIDET

50

A i C 1 (38-9) A l CI (47-10)

J Noto: Los I ineos nos bojas o In unidad

l o c a l se ponen oi t i e r r a

FIG. 25 'COMPARADOR DE PRIORIDADES

5.7 Control de acceso a memoria (CAM).

El subm6dulo CAM se encarga de manejar las solicitudes de acceso a la memoria, controlando buses y lfneas de control que llegan a ella. Para pmp6sitos de esta discusión, el CAM se dividi6 convenientemente en tres partes principales que son:

- Arbitro de Acceso a Memoria. - Control de EscrituraLectura a Memoria y Puerto. - Circuito de Deteccibn de BHE.

5.7.1 Arbitro de acceso a memoria.

Este árbitro, Fig. 26, es la entrada del submódulo CAM, aquf se reciben las solicitudes de lectura (MR) enviadas por el subm6dulo DYS y son detectadas cuando se tiene un nivel l6gico alto en el (CI 21-2); también se reciben las solicitudes de escritura (WA) que vienen del submódulo CABE y son almacenadas en el (CI 19-11).

Cuando el árbitro recibe una solicitud de escritura WA, éste genera una orden de trabajo (WRiTE), nivel lógico alto, siempre y cuando el árbitro no esté ocupado atendiendo una lectura, en caso contrario la solicitud tendrá que esperar a que se libere. Si está libre, la orden de trabajo (WRITE) se envía a la siguiente etapa que es el controlador de escritudectura en memoria. El árbitro mantiene la señal WRITE hasta que se realiza la escritura en memoria y se recibe la señal de limpieza de escritura (CLEAR), que inicializa al árbitro, quedando listo para recibir una nueva solicitud. Cuando el árbitro recibe el nivel alto de una solicitud de lectura MR, se genera la orden de trabajo (READ), siempre y cuando el árbitro no esté atendiendo una escritura, en caso contrario tendrá que esperar a que se libere. La orden de trabajo (READ) se envfa al controlador de escriturdectura en memoria. Cuando se ha realizado la lectura, se genera una señal de limpieza de lectura (CLR), que inicializa los registros de DYS y a su vez dejarán de enviar la solicitud de lectura.

Page 57: 911342 - CENIDET

51

FIG. 26 ARBITRO DE ACCESO A MEMORIA.

El caso de dos solicitudes que llegan al mismo tiempo también lo resuelve el árbitro, ya que por diseflo se concederá la memoria a la solicitud de lectura, y se dejará en espera a la escritura. las solicitudes de escritura tienen que esperar la llegada de los datos mientras que las solicitudei de lechira ya están listas para resolverse.

Esto es pensando en un mejor aprovechamiento de la memoria, ya que

5.7.2 Control de lecturdescritura a memoria y puerto.

Esta parte del CAM, presentada en la Fig. 27, se encarga de controlar las solicitudes de trabajo de escritura y de lectura enviadas por el árbitro de acceso a memoria.

FIG. 27 CONTROL DE LECi'üRA&SCRiTURA A MEMORIA Y PUERTO

Page 58: 911342 - CENIDET

El trabajo de este circuito depende del tipo de solicitud que se vaya a resolver, ya que para cada caso se toma una acción diferente. A continuadón se detalla este comportamiento para cada solicitud.

5.7.2.1 Solicitud de lectura (READ).

En general, cuando se recibe u n READ, este circuito de control permite que las direcciones de lectura lleguen hasta la memoria y los datos leldos sean recibidos en el registro de salida. Esta acción a detalle se realiza de la siguiente manera. Por caracterfsticas de diseflo de la memoria, sino se esta resolviendo alguna solicitud, la línea WE que controla si la memoria va a leer o a escirbir se mantiene en lectura, nivel alto ( I ) . Esto se aprovecha cuando se recibe una solicitud de lectura, ya que no se necesita cambiar el nivel de la línea WE.

Cuando se recibe la solicitud READ, la lfnea que se encarga de controlar el bus de direcciones de escritura o lectura A-WR, se pone en nivel bajo (O), para seleccionar las direcciones de lectura que se van a enviar hacia la memoria (CI 24-6). La señal READ dispara un temporizador (CI 26-2), que genera el pulso LO de 160ns (CI 26-4), que cuando termina carga los datos proporcionados por la memoria en el registro de salida para que sean leidos por el procesador. Al terminar el pulso LO se da por terminada la lectura, pero se inicia el envfo de la señal de limpieza de lectura CLR, controlada por el temporizador CI (26-5), que inicializará los regitros que se emplearon en la solicitud.

5.7.2.2 Solicitud de escritura (WRITE).

Para resolver esta solicitud se necesita saber que tipo de escritura se va a atender, si es interna o externa. Para lo cual, se sensa la lfnea BACK (BUS concedido), que es enviada desde DYS. Esta línea es nivel alto únicamente en la MC que quiere hacer una escritura y se le concede el bus, y será nivel bajo en todas las demás. En otras palabras, solo una MC de las conectadas al bus externo, tendrá habilitada esta línea y las otras no.

a) Solicitud de Escritura Interna.

Una vez seleccionado el tipo de escritura y teniendo la orden de trabajo WRITE, se pone en nivel alto la llnea A-WR, para seleccionar el bus de direcciones de escritura que se va a enviar hacia la memoria y en nivel bajo la llnea D-IíO, que direcciona el bus de datos.

Por caracterfsticas de diseño, aqul se implement6 la instrucción prueba y cambio (test-and-set); que en el m6dulo de MC de la PC que genera la escritura se realizará, previo a la escritura, la lectura del contenido de la dirección a escribir. Primeramente, para la lectura, se dispara el temporizador que genera el pulso LO, de 160ns (CI 26-4); al terminar carga los datos lefdos de la memoria en el registro de salida. El tin de la lectura no genera un CLR, debido a que la llnea de READ esta en nivel bajo. El fin del pulso LO, dispara el temporizador de escritura, que genera un pulso WE de 1 % ~ (CI 25-4). Con este pulso se direcciona la entrada de datos de la memoria para recibir información, durante el tiempo que esta habilitada.

Page 59: 911342 - CENIDET

53

Previamente se aliment6 el registro de entrada con los datos de escritura sincronizados con la llnea WD. El fin del pulso de escritura genera las señales de limpieza de escritura CLEAR y CLW, que inicializan los regitros que se emplearon en CAM y en CABE.

b) Solicitud de Escritura Externa.

Se inicia la escritura una vez seleccionada la escritura externa y teniendo la orden de trabajo WRITE; ya que se pone en nivel alto, la llnea A-WíR, para seleccionar las direcciones de escritura que se van a enviar hacia la memoria y se pone en nivel alto, la línea D-VO, que direcciona el bus de datos. Como en la escritura externa NO hay lectura previa, se habilita el pulso WE de 16Ons, para iniciar la escritura. Esta misma señal WE, habilita para que los datos a escribir lleguen a la memoria. El fín del pulso WE, genera la señal de limpieza de escritura CLEAR, que inicializan los regitros del CAM que atendieron la solicitud.

5.7.2.3 Solicitud de lectura de puerto WO).

Esta solicitud sirve para leer el registro de salida que contiene la última lectura realizada en la MC. Esta solicitud se genera en el decodificador de direcciones, a partir de la decodificaci6n de las direcciones A0 a A9 enviadas por el procesador, junto con la llnea IOR y la línea AEN. La solicitud abre el registro de salida de la MC, siempre y cuando la MC no esté ocupada atendiendo otra solicitud, en tal caso, la solicitud de puerto tendrá que esperar a que se libere la MC. El fin de la lectura lo determina el ciclo de lectura de puerto.

5.7.3 Circuito de deteccidn de Bus High Enable (BHE).

Este circuito, mostrado en la Fig. 28, selecciona el BHE que se va a emplear en la solicitud que se esté atendiendo. Se tienen dos opciones, el BHE enviado desde el procesador para una lectura (CI 20-1) llamado BHEPC o el BHE del bus externo para una escritura (CI 16-3) llamado BHEBX. La llnea que determina si se toma uno u otro es A-W/R.

FIG. 28 CIRCUITO DE DEIlECCION DE BHE.

Page 60: 911342 - CENIDET

54

5.8 Memoria

Para el diseño de la memoria, se emplearon RAMS estáticas de alta velocidad CMOS de 32,768-palabras de %bits, modelo D43256 de NEC [8].

Como ya se discutió anteriormente, la memoria se encuentra fuertemente acoplada con el control de escriturdectura a memoria y puerto, ya que éste maneja las llneas de control y los buses que entran y salen de la misma. El sistema de MC se diseño para trabajar 64 Kbytes de memoria física, los cuales están divididos en dos bancos de 32 Kbytes cada uno. La parte baja del banco de memoria habilitada con la linea AO=O y la parte alta la habilita la línea BHE-O. Esta decodificación permite seleccionar la memoria para operaciones especlficas, que son:

I üperac i ón BHE A 0 CSO cs1 I Pa labra Byte A l t o Byte Bajo

Por diseno, cuando se trabaja en la memoria una lectura de byte alto, los datos son leldos en el banco superior y son enviados al registro alto de salida. Por características de diseño, la PC buscará obtener los datos leldos en el registro bajo de salida. Es por esto que se efectua una copia del registro alto al registro bajo de salida. Asl, la PC no tiene problemas en leer la información conecta. A continuación, las Fig. 29A y 29B muestran el diagrama detallado.

Page 61: 911342 - CENIDET
Page 62: 911342 - CENIDET

I I HARZU 19.91

FIG. 29B DIAGRAMA GENERAL

Page 63: 911342 - CENIDET

6. EVALUACION DEL ESQUEMA DE MC PROPUESTO.

Como se mencionó, la evaloación de u n sistema multiprocesador basado en memoria compartida, es muy dependiente del nivel de uso de ésta entre los distintos procesadores, lo cual es función de las aplicaciones. Sin embargo, es conveniente evaluar el comportamiento del disefío del mbdulo de MC; para ello es necesario definir uno o más parámetros de evaluación, uno o más patrones de referencia, así como un conjunto de condiciones de operación (escenarios).

6.1 Parámetros de Com~aración.

Dos conceptos fundamentales se consideran para la evaluación de módulo de MC: Uno es el tiempo de acceso, tanto de lectura "Tal" como de escritura "Tae"; debiéndose considerar los casos cuando se accesa un byte o una palabra aisladamente. El otro concepto incluye los

Page 64: 911342 - CENIDET

58

tiempos de ciclo de lectura "Tc¿" y de escritura "Tce". , lo cual también implica el acceso de cadenas de bytes o de cadenas de palabras. Con esto se tienen ocho parámetros para evaluar el diseflo del módulo de MC. Como nomenclatura se definen tiempos con la letra T y subindices; el primero indica tipo de medición (a-acceso, c-ciclo), el segundo indica tipo de acceso (I-lectura, e-escritura) y el tercero indica el tamaflo (b-byte, p-palabra).

6.2 Patrón de Referencia para la Evaluación.

Como referencia se considerará el caso ideal, en que al integrar varias computadoras en u n sistema, cada vez que se hace u n acceso a MC éste toma el mismo tiempo como si se accesara la memoria local de la propia computadora. Si definimos la eficiencia (E) como la razón del tiempo de acceso o de ciclo a ML entre el tiempo de acceso o de ciclo respectivamente a MC, el caso ideal es cuando E vale uno. Debido a que el Bus AT de las computadoras es más lento que el bus interno (del microprocesador). una primera baja de eficiencia se tendrá entre estos dos buses. En este caso se debe considerar que u n requerimiento de diseflo es que el módulo de MC se conecte a la computadora en el Bus AT; razón por la cual la eficiencia (E) se considerará respecto al Bus AT. A f in de completar el cuadro de parámetros se mide la eficiencia entre el Bus del microprocesador y el Bus AT.

6.3 Escenarios Y PNebas para la Evaluación.

En esta etapa del proyecto se construyeron dos tarjetas prototipo de MC con 64 Kbytes y se integraron a dos PC AT compatibles (micropmesador 80286), una con reloj a 8 M H z y la otra a 12 MHz. Para el Bus Externo se emple6 par trenzado en presentación plana con 20 pares, de los cuales se utilizan 16 para datos, cualm de contml y uno para alimentaci6n de los terminadores en ambos extremos del bus. La longitud del cable es de 25 pies. Los módulos de MC se conectaron en los extremos a 7.62 m (25 pies) de los terminadores utilizando una derivación con un tramo del mismo tipo de cable de 0.914 m (3 pies) de longitud hacia las E s . Para verificar la correcta operación de la memoria se realizaron pruebas almacenando y verificando, en toda la memoria y por bloques, en forma alternada diferentes patrones tales como oo00 con FFFF 6 5555 con AAAA a f in de realizar cambios totales de la información contenida en ella. Las pruebas se realizaron tanto para accesos por byte como por palabra.

Las pruebas realizadas consistieron en tomar mediciones de los tiempos de acceso y ciclo para los distintos casos. Para las pruebas de tiempo de acceso se emple6 mediciones directas con osciloscopio; para las de tiempo de ciclo se realizaron indirectamente por medio de los teinporizadores de las propias PCs. A continuación se describen las pruebas.

Prueba I : Consiste de dos etapas. En la etapa 1 se midieron los tiempos de acceso en el Bus AT, Talb, Talp, Taeb y Taep sin incluir el módulo MC (ver los valores medidos en la columna REF S/MC en las tablas); de manera que no hay tiempos de espera para el microprocesador debido a la MC, sólo considera el acoplamiento entre el bus interno del microprocesador y el Bus AT. Estos tiempos forman el patrdn de referencia. Es importante observar que los accesos a nivel palabra en el Bus AT se presentan como dos accesos de bytes espaciados por un tiempo muerto Fig. 30.

Page 65: 911342 - CENIDET

59

__- t- l a Ip-- +

< Taep >

FiG. 30 TIEMPOS DE ACCESO EN EL BUS AT

T A B L A 1 1 1 TIEMPOS DE ACCESO AL BUS A T

(nanoseg , )

Taib(PC 8 MHZ) Ta ib Taeb Taep Taib(PC 12 MHZ) Ta i p Taeb Taep

REF S í M C 500 1600 500 1500 4 1 0 1328 41 O 1240

CON MC 75 O 2000 500 1500 515 1575 4 1 0 1240

Ea O , 666 0,800 1 I O00 1 , 0 0 0 0,713 O I 843 1 I O00 1 I O00

En la etapa 2, para cada PC por separado se insertaron los módulos de MC. Se midieron los tiempos de acceso, cuyos resultados se presentan en la Tabla E1 (columna CON MC). El incremento de los tiempos de acceso para las lecturas se debe a la solicitud de espera que hace el módulo MC a fin de prever el caso de una contención con un acceso externo de escritura. La columna "Ea" muestra la eficiencia del bus AT cuando se agrega el módulo MC. Obsérvese que para los accesos de escritura la eficiencia se mantiene en uno; esto es porque la orden de escritura se deja al módulo MC y se libera el procesador (no hay WAlT). Este efecto desaparece cuando se encadenan órdenes de escritura; lo cual se presenta cuando se

Page 66: 911342 - CENIDET

60

tienen las instrucciones de escritura de cadenas de bytes o palabras en ensambladar STOSB y STOSW. En estos casos, los parámetros a considerar son los tiempos de ciclo, que se evalúan en las pruebas siguientes.

Prueba 2: Para ambas PCs (8 y 12 MHz) por separado se midió el tiempo promedio de ciclo al bus AT, ya que el módulo MC trabaja asfncronamente; esto se realizó para los dos casos, sin mbdulo MC y con éste. Para obtener el promedio se leyeron y almacenaron, según la prueba, 32 K bytes o palabras 1020 veces. Como patrón de referencia se toman los tiempos de ciclo sin el módulo MC, columna REF S N C en la Tabla IV y asf obtener la eficiencia de ciclo "Ec".

T A B L A I V TIEMPOS DE CICLO AL BUS A T

í n s e g , )

Tclb (PC 8 MHZ) Tc lp Tceb Tcep Tc lb (PC 12 MHZ) Tc lp Tceb Tcep

REF S I M C

1167 2363 987 2 094 898 1914 748 1645

CON MC

1406 2782 1615 2094 1107 2184 1615 1675

E C

0.830 O , 849 0 , 6 1 1 1 . 0 0 0 0,811 0.901 O , 463 O , 982

Prueba 3: En esta prueba se conectan las dos PCs por el Bus Externo de manera que el sistema funcione de manera integral. La prueba consiste en evaluar los tiempos de ciclo promedio bajo las mismas condiciones que en la prueba 3, s610 que ahora una PC escribirá y la otra leerá. La prueba se efectuó también en dos etapas, una cuando la PC a 8 MHz escribe y la PC a 12 MHz lee y la otra etapa a la inversa. Los resultados se muestran en la Tabla V, donde la primera columna presenta los tiempos patr6n de la prueba 2 para as1 evaluar la eficiencia "Els" a nivel sistema para las lecluras cuando el bus externo está saturado.

Page 67: 911342 - CENIDET

T A B L A V

TIEMPOS DE CICLO AL BUS A T CON DOS PCS UNA LEYENDO Y LA OTRA ESCRIBIENDO

( n s e g . )

REF S/MC CON MC E l s I 1167

2363 987 2094 898 1914 748 1645

Tc ib (PC 8 MHZ) Tc i p Tceb Tcep T c i b (PC 12 MHZ) Tc lp Tceb Tcep

Tceb (PC 8 MHZ) Tcep Tceb (PC 12 MHZ) Tcep

987 329 1 0.300 2 094 356 O O. 588 748 1705 0,439 1645 1705 O I 965

1735 3 052 1615 2124 1735 2393 1615 1675

O I 672 O , 774 0 , 6 1 1 O , 986 0,517 O , 800 O I 463 O I 982

Page 68: 911342 - CENIDET

62

Prueba 4: En esta prueba se evalúa la eficiencia "Ees" cudndo ambas PCs escriben simultáneamente a la MC cadenas de bytes (en una primera etapa) y palabras (en una seguiida etapa). La prueba consiste en escribir 1020 veces bloques de 32 K (bytes / palabras) y sacar el promedio del tiempo de ciclo. Para resolver la contención del bus externo la PC de 12 MHÍ, se le asignó la mayor prioridad. Este se considera u n primer nivel de criticidad ya que dos PCs tratan de usar el Bus Externo de manera saturada. Los resultados se presentan en la Tabla VI, tomando como patrón de referencia los resultados de la prueba 2 de la columna de REF s/Mc .

Prueba 5 : Esta prueba consiste en estimar los tiempos de ciclo de accesos de lectura y escritura a la memoria interna de la PC; esto es, sin salir ai Bus AT. Los resultados obtenidos se comparan con los casos en que el acceso es al Bus AT sin MC (patrón de referencia), por lo cual las eficiencias 'E¡" son del Bus AT a memoria interna (por tanto Ei es mayor que uno); ver la Tabla W.

T A B L A V I 1

TIEMPOS DE CICLO AL BUS INTERNO DE LA PC (nseg , )

Tcib (PC 8 MHZ) Tc I p Tceb Tcep Tc lb (PC 12 MHZ) T c ip Tceb Tcep

REF SíMC

1167 2363 987 2094 898 1914 748 1645

BUS INT.

568 568 418 418 359 538 299 299

E ¡

2 , 0 5 4 , 1 6 2 ,36 5 , o o 2.50 3.56 2 ,50 5.50

Page 69: 911342 - CENIDET

63

6.5 Evaluación

La baja eficiencia del bus interno del microproccsndor al Bus AT aunque es la más significativa, está obligada por la facilidad de integración del m6dulo MC a cualquier PC AT compatible, incluso con distinta frecuencia de reloj.

Los parámetros de evaluación que dirán más sobre el comportamiento del sistema son los tiempos de ciclo (pruebas 2 a 4).

De la prueba 2, la baja de eficiencia Ec (tabla IV) al instalar aisladamente el módulo de MC se debe a la necesidad de prever u n acceso por el Bus Externo, la cual es significativo para el caso de escritura de byte y se debe a la implantación del protocolo de acceso al Bus Externo (el tiempo de espera para resolver la contención depende de la longitud del bus). El hecho de que la eficiencia sea mejor para los casos de tiempos de ciclo para transferencia de palabras que de bytes no significa que el proceso tarde menos para palabras, sino que refleja el hecho de que el Bus AT no es un buen diseflo para transmitir por palabras. Se observa también que la eficiencia se reduce al tener PCs con reloj más rápido, esto se debe a que el módulo de MC tiene parámetros definidos en función de los protocolos de acceso al Bus Externo y a las pastillas de memoria.

Nótese que cuando una PC escribe y la otra lee, la eficiencia para los casos de escritura, Els (tabla V) es prácticamente la misma que cuando no se tiene lectura, Ec (tabla IV), lo cual es uno de los objetivos del diseflo. Además, para los casos de lectura, la reducción de la eficiencia (Ec a Els) no es cero, que es lo que ocurriría en el caso de una memoria compartida tradicional.

Finalmente, para el caso crftico de saturación del bus, este protocolo permite que las dos PCs de mayor prioridad puedan alternar el acceso de acuerdo con su prioridad y velocidad (iabla VI), nótese que la PC rápida, que es la de mayor prioridad, prácticamente mantiene su eficiencia (0.463 a 0.439 y 0.982 a 0.965 tablas V y VI) y la otra PC baja pero no a cero (0.61 I a 0.300 y 0.986 a 0.588). Desafortunadamente sólo se construyeron dos módulos de MC y no se pudo observar el comportamiento cuando más de dos PCs pretenden saturar el Bus externo.

En el Anexo B, se presentan las instrucciones escenciales de los programas empleados para realizar las pruebas descritas en este capitulo.

Page 70: 911342 - CENIDET

64

7. CONCLUSIONES.

El esquema propuesto de Memoria Compartida (MC), si bien está limitado en velocidad por los Buses AT y Externo, satisface las necesidades de interconexión de PCs; sobre todo cuando ya se cuenta con éstas y se desea implantar un sistema de multiprocesamiento débil o medianamente acoplado.

En las pruebas se comprobb la factihilidad de este sistema. En comparación con una implantacidn basada en una red de área local (LAN). El sistema de MC presenta las siguientes ventajas:

La velocidad de transmisión del esquema de MC es prácticamente de IO Mbits de información por segundo, para el caso de acceso a palabras en la PC de 12 MHz,(Tcep, Tabla IV) sin

Page 71: 911342 - CENIDET

65

importar la cantidad de palabras a transmitir. Para una red local n I O Mbps la velocidad de transmisión de la información dependerá del iamaño del mensaje, y se reduciría hasta 9.2 Kilo bits de informacidn por segundo para transmitir un byte [7] por lo que el esquema de MC es ventajoso.

Olra ventaja de este esquema es que en las distintas PCs se pueden tener distintos sistemas operativos y/o lenguajes, ya que el protocolo de ¡nterconexión es, al nivel básico "electrónica".

Una desventaja del esquema MC con respecto a una LAN es que la distancia entre PCs está acotada a 7.62 m (25 pies); sin embargo, para esquemas de multiprocesamiento normalmente se tienen los procesadores en el mismo lugar y por lo tanto no es crítica.

El esquema desarrollado puede ser mejorado de la siguiente forma:

1 . Sintonizando los tiempos en el módulo MC.

2. Adicionando un temporizador que libere al procesador que espera (WAIT), cuando se cumpla un tiempo de 2.5 p e g durante un ciclo de trabajo.

3. Dividiendo la MC en varios bloques con accesos independientes de manera que si el Bus Externo accesa a un bloque, los demás puedan ser leldos por la PC sin demora.

4. Integrando al sistema algún mecanismo que incremeiite su confiabilidad al transmitir la información (bit de paridad 6 CRC).

Las aplicaciones que tiene el sistema desarrollado son inuy amplias, a corto plazo se tiene la construcción de sistemas tolerantes a fdas, en particular para desarrollar:

a) Sistemas de Adquisición de Datos y Sistemas de Control altamente confiables.

b) Sistemas de Base de Datos.

c) Sistemas de Multiprocesamiento para el desarrollo de Simuladores.

Debemos tomar en cuenta que estas conclusiones se basan en la evalución de los dos inbdulos de MC que se construyeron, ya que no fue posible observar el comportamiento cuando más de dos Pcs pretenden hacer uso del sistema.

Page 72: 911342 - CENIDET

8. REFERENCIAS.

I - Hwang and Briggs, "Computer Architecture and Parallel Processing", Ed McGraw Hill.

2 - Zvonko G. Vraiiesic, el al, "Hector: A Herarchically Structured Shared-Memory Multipmesor", Computer, Vol. 24, Num. I, January 1991, pp 70-89.

3 - David R. Cheriton and Hendrik A. Goosen, "Paradigm: A Highly Scalable Shared-Memory Multiprocesor Architecture", Computer, Vol. 24, Num. 2, February 1991, pp 3346.

4 - Michael Stumm and Songnian Zhou, "Algorithms Implementing Distributed Shared Memory", Computer, Vol. 23, Num. 5 , May 1990, pp 54-64,

Page 73: 911342 - CENIDET

61

5 - Per Stenstrom, "A Survey of Cache Coherence Schemes for Multiprocesors", Compuier,

6 - Michel Dubois, et al, "Synchronization, Coherence, and Event Ordering in

Vol. 23, Num. 6, pp 12-24.

Multiprocessors", Computer, February 1988, pp 9-21.

7 - IEEE, Standar 802.3-88.

8 - "Memory Products Data Book, NEC Electronics Inc., 1989.

9 - "Microprocessors and Peripherals Handbook", Volumen I, Microprocessor, INTEL, 1988.

10 - "The TIL Data Book", Volumen 2, Texas Instruments, 1985.

1 1 - Manual para la Asistencia Tecnica M250, "Descrizione di Funzionamento", Olivetti, 1987.

12 - "Assembler Languaje Reference Manual", VS.0, Microsoft.

13 - Clayton R. Pau1,"Crosstalk in Balance, Twisted Pair Circuits", Department of Electrical Engineering, University of Kentucky.

14 - "Interconexión de Periféricos a Microprocesadores", José Mompln Poblet, U. Marcombo.

Page 74: 911342 - CENIDET

A. PROGRAMA DE DECODIFKACION DE MEMORIA-VO.

En este apendice se presenta el programa de decodificación de la dirección de memoria DXXXX y el puerto de lectura en la dirección 31Oh, que fue grabado en el Dispositivo L6gico Prograinable (PLD) EP610, empleando el sistema ALTERA. El programa es el siguiente:

TiTULO:

SISTEMA

COMENTARIOS:

DECODIFICACION-MEMORIA-L'O

ALTERAN.00

DECODIFICACION DE LAS DIRECCIONES DE MEMORL4 - DXXXXH Y PUERTO DE LECTURA YO = 3iOH

Page 75: 911342 - CENIDET

69

MEMORIA EMPIAADA: EP610

INPUTS: A0@2, AlQi3, A2Q4, A3Q5, A4Q6, A507, A6@8, A709, A8010, A9011, A16014, A17015, A18@16, A19@17, AEN018, INTQ19, IOR@20

OUTPUTS: EN1@21, EN21322

" IWORK: A0 = INP(A0) AI = INP(A1)

A3 = INP(k7) A4 = INP(A4) A5 = INP(A5) A6 = INP(A6) A7 = INP(A7) A8 = II"(A8) A9 = INP(A9)

A16 = iNP(A16) A17 = INP(AI7) A18 = INP(A18) A19 = INP(A19) AEm * INFyAEN) iNT = I"(INT) IOR = INP(1OR) EN1 = CONF(EQ1,VCC) EN2 = CONF(EQ2,VCC)

A2 = rn (A2)

EQUATIONS: EQ1 = A16 * A17' * A18 * A19 * AE" * INT; DIRECCION = DXXXX

EQ2 = AO' * Al' * A2' * A3' * A4 * A5' * A6' * A7' * A8 * A9 * I N T * I O R * A E N ; DIRECCION DE PUERTO DE LECTURA = 310H

END$

Page 76: 911342 - CENIDET

70

B e PROGRAMAS EMPLEADOS EN PRUEBAS A MC.

En este apéndice se presentan las partes principales de los programas empleados en las pruebas al sistema de MC, del capltulo 6. Los programas fueron desarrollados en lenguaje ensamblador con el paquete Macro Assembler V5.0 de Microsoft.

1 . Lectura de palabra en CADENA. TRS.ASM

Este programa lee la memoria de la tarjeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecucibn.

Page 77: 911342 - CENIDET

71

.DATA BASE EQU 0DMX)H ;DIRECCION BASE DE LA MC MEM EQU 04000h ;DíRECCION DE MEMOIPIA INTERNA VUELTA EQU 03FCH ;NüMERO DE REPETICIONES

.CODE CALL TIMES ;MARCA TEMPO DE INICIO

MOV BX,MEM ;PREPARANDO LOS REGISTROS PARA ;EJECUTAR LA INSTRUCCION DE ;DE LECTURA EN CADENA

MOV ES,BX MOV D1,OOi-i MOV BX,BASE

sigele: inc repite push ds MOV DS,BX MOV SI,OOH MOV CX3FFFH ; W R O DE ACCESOS

REP MOVSW ;iNSTRUCCION DE LECTURA EN FILA POP ds

cmp repite,vuelta jne sigele ;SALTO DESPUES DE REPETIR 1020 call times :MARCA DE PARADA DE TIEMPO

2. Lectura de BYTE en cadena. TRSB.ASM

Este programa es similar al anterior, solo que este efectua lecturas de bytes en cadena. La instrucción de lectura de BYTE en cadena sustituye a la instrucción de lectura de palabra.

REP MOVSW <---- REP MOVSB

3. Escritura de palabra en fila. TSW.ASM

Este programa escribe en la memoria de la tarjeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndoIos 1020 veces, también toma el tiempo de ejecución.

.DATA BASE EQU OWOOH ;DIRECCION BASE

.CODE call times ;MARCA DE TIEMPO DE INICIO

Page 78: 911342 - CENIDET

72

sigele:

REP

MOV BX,BASE ;PREPARANDO LA ESCRITURA MOV ES,BX MOV AX,OOOOH MOV D1,OOH

iflc repite MOV CX,O7ffeH ;NUMERO DE ACCESOS STOSW ;INSTWCCION DE ESCRITURA EN FILA

;POR PALABRA CmP repite,vuelta jne sigele ;SALTO DESPUES DE REPOIIR 1020

call times ;MARCA DE TEMPO DE PARADA

4. Escritura de BYTE en fila. TSWB.ASM

Este programa es similar al anterior, solo que éste efectua escrituras de bytes en cadena. La instniccióii de escritura de BYTE en cadena sustituye a la instniccióii de escritura de palabra.

REP STOSW <---- REP STOSB

5. Estos programas se encargan de sincronizar dos procesadores, para que uno escriba y el otro lea PALABRAS en la memoria de la tarjeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecución. TBSW.ASM y TARS.ASM

PROGRAMA (B) QUE ESCRIBE.

.DATA BASE EQU OWOOH ;DIRECCION BASE

.CODE MOV BX,BASE MOV ES,BX MOV ES:[0002],07777H ;GRABANDO EL DATO

;DE SINCRONIA LAZ: MOV AX,ES:[OOOO] ;LAZO DE LECTURA

CMP AX,06666H ;DE SINCRONIA JNE LAZ

call times ;MARCA DE INICIO DE TIEMPO MOV AX,OOOOH ;PREPARANDO LA ESCRITURA MOV D1,OOH

sigele: inc repite

Page 79: 911342 - CENIDET

MOV CX.03ffeH ;REPETiCION DE ACCESOS REP STOSW ;~NSTRUCCION DE ESCRITURA

;EN FILA cmv repite,vuelta jne sigeie ;SALTO DESPUES DE REPETIR

; i 020 VECES

call times ;MARCA DE PARADA DE TIEMPO

PROGRAMA (A) QUE LEE. .DATA BASE EQU ODOOOH ;DIRECCION BASE MEM EQU 04000h

.CODE push MOV MOV MOV

LAZ. MOV CMP JNE

dS BX,BASE DS,BX DS:[0000],06666H ;GRABANDO EL DATO

;DE SINCRONIA AX,DS:[OOO2] ;LAZO DE LECTURA AX,07777H ;DE SINCRONIA LAZ

POP ds

C A I times ;MARCA DE INICIO DE " 0

MOV BX,MMEM ;PREPARANDO LA LECTURA MOV ES,BX MOV D1,OOH MOV BX,BASE

sigele: inc repite push ds

MOV DS.BX ~. MOV SI,ÓOH MOV CX.3FFEH ;REPETiCION DE ACCESOS

REP MOVSW ;iNSTRUCCION DE LECTURA ;EN FILA

POP dS CmP repite,vuelta ;SALTO DESPUES DE REPETIR jne sigele ;IO20 VECES

call times ;MARCA DE TIEMPO DE PARADA

Page 80: 911342 - CENIDET

74

6. Estos programas son similares 3 la prueba anterior, ya que se encargan de sincrnnizar dos procesadores, para que uno escriba y otro lea BYTES en la memoria de la tarjeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecución. Las instrucciones de ESCRITURALECTURA de BYTE en cadena sustituyen a las instrucciones de LECTURAESCRITURA de PALABRA.

REP STOSW <---- REP STOSB REP MOVSW <---- REP MOVSB

7. Estos programas sincronizan dos procesadores para que escriban PALABRAS en la memoria de la tarjeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecución. TDSW.ASM y TCSW.ASM

PROGRAMA (A) DE ESCRlTURA.

.DATA BASE EQU 0M)OOH ;DIRECCION BASE vuelta equ 3fch

.CODE MOV BX,BASE ;GRABANDO EL DATO DE MOV ES,BX ;SINCRONIA MOV ES:[OOOO],ODDDDH

LAZ: MOV AX,ES:[0002] ;LAZO DE LECTURA DE CMP AX,OCCCCH ;SINCRONIA JNE LAZ

call times ;MARCA DE INICIO DE TIEMPO

MOV AX.OoM1H ;PREPARANDO INSTRUCION FILA MOV D1,OOH

sigele: inc repite MOV CX,07ffeH ;NUMERO DE ACCESO

REP STOSW ;INSTRUCCION FZLA

CmP repite,vuelta jne sigele ;SALTO DESPUES DE REPETiR

call times ;MARCA DE TIEMF'O DE PARADA ;IO20 VECES

8. Estos programas son similares a los anteriores ya que sincronizan dos procesadores para que escriban BYTES en la memoria de la tar.jeta de MC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecuci6n. Las instrucciones

Page 81: 911342 - CENIDET

7.3

de ESCMIWRA de BYTE en cadena sustituyen a las instrucciones de ESCRiTURA de palabra en cadena.

REP STOSW <---- REP STOSB

9. Escritura de palabra en la memoria interna de la PC.

Este programa escribe en la memoria interna de la PC con instrucciones que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el iiempo de ejecución.

.DATA BASE EQU 04000H ;DlRECCION BASE EN PC vuelta equ 3fch

.CODE call times MOV BX,BASE MOV ES,BX MOV AX,OOOOH MOV D1,OOH

sigele: inc repite

REP STOSw MOV CX,O’lffeH

CmP repite,vuelta jne sigele call times

10. Escritura de BYTE en fila en la memoria interna de la PC. TSWBPCASM

Este programa es similar al anterior, excepto por la instrucción de escritura de BYTE en cadena que sustituye a la instmccibn de escritura de palabra en cadena.

REP STOSW <---- REP STOSB

1 I , Lectura de PALABRA en fila en la memoria interna de la PC. TRSPC.ASM

Este programa lee la memoria de interna de la PC con inslruccioiies que hacen 32K accesos en cadena, repitiéndolos 1020 veces, también toma el tiempo de ejecuci6n.

.DATA BASE EQU OSOOOH ;DIRECCION BASE MEM EQU 04000h vuelta equ 03fch

Page 82: 911342 - CENIDET

76

.CODE push MOV MOV POP

call

MOV MOV MOV MOV

sigele: inc push

MOV MOV MOV

ds BX,BASE DS,BX ds

times

B X p E M ES,BX D1,OOH BX,BASE

repite ds

DS,BX S1,OOH cx3FFFH

- ?

REP MOVS W

POP ds cmp repite,vuelta jne sigele call times

12. Lectura de BYTE en fila en la memoria interna de la PC. TRSB.ASM Este programa es similar al anterior, excepto por la insirucción de lectura de BYTE en cadena que sustituye a la instrucción de lectura de palabra en cadena.

REP MOVSW <---- REP MOVSB

Page 83: 911342 - CENIDET

c. MATERIAL EMPLEADO EN LA TARJETA DE MC.

A continuación se proporciona una lista del material empleado para la construcción de la tarjeta prototipo de MC y terminador.

TARJETA PROTOTIPO

No.PARTJ3 DESCRIPCION

I . D43256 MEMORIA RAM 32K X 8

2. DS3862 TRANSCEF'TORES

No. de CI

1 2

51,52,59,60,61,62

Page 84: 911342 - CENIDET

3. EP610 4. 74LSOO

5. 74LS02

6. 74LS04

7. 74LS06

8. 74LS08

9. 74LS10

10. 74LS27

11. 74LS32

12. 74LS74

13. 74LS123

14. 75LS157

15. 74LS244

16. 74LS374

17. JDR-PRIO

18.

19.

20.

21.

22.

23.

24.

25. 26.

78

PAL 63 COMPUERTAS NAND 21,27

NOR 45

INVERSORES 17,23,38

COLECTOR ABIERTO 44

COMPUERTAS AND 20,22,39,40,43,47,65

NAND 3-ENTRADAS 31

COMPUERTAS NOR 3-ENTRADAS 34

COMPUERTAS OR 18,24,27,32,35,42

REGISTROS "D" 19,33,36,41,46

MONOESTABLES 25,26,29,30,64,66

MULTIPLEXOR OCTAL 5,6,7,8,55,56,57,58

TRANCEPTOR OCTAL 3-ESTADOS 15,48

REGISTRO OCTAL "D" 9,10,11,12,13,14,16,49,50,53,54,67

CANTIDAD TARETA PROTOTIPO JDR-PR10 1

RESISTOR CARBON IOKn

RESISTOR CARBON 15Kn

CAPACITOR CERAMICA 33pF

CAPACITOR CERAMICA 47pF

CAPACITOR CERAMICA l8pF

CAPACITOR CERAMICA lOpF

CAPACITOR TANTAUO 6.8pF

JNTERRUFTOR DP-UT BASES PARA CI

9

3

2

3

2

2

2

I 65

Page 85: 911342 - CENIDET

79

27. WIRE-WRAP CALIBRE 22 5 CARRETES DE 100 ft

28. CONECTORES PARA CABLE PLANO 60 PINES 2

29. PINES MACHO DOBLES PARA INTERCONEXIONES 49

30. CABLE TRENZADO 60 LiNEAS 25 ft

31. INTERRUPTOR DIP 8 TECLAS 1

TERMINADOR

32. PAQUETES DE RESISTORES 180L390i2 3

33. PLACA BASE DE COBRE 1

34. CAPACITOR CERAMiCA 0.1pF 1

35. CAPACiTOR ELECTROLITICO 22pF,25V 1

36. CONECTOR PARA CABLE PLANO HEMBRA 60 PINES 1

Page 86: 911342 - CENIDET

80

]D. BUS DE EXPANSION DE AT.

En este anexo se muestra la configuración del bus de expansi6n de la PC AT. En la Fig. 31 se observan cada una de las líneas que lo constituyen.

I

FIG. 31 BUS DE EXPANSION DE LA PC AT

Page 87: 911342 - CENIDET

81

e MEMORIA D43256.

pscription ;nepPD43256A is E 32.768-word by 8-bit static RAM iabricated with advanced silicon-gale technology. lls $"¡que circuitry. using CMOS peripheral circuits and qchannel memory cells with polysilicon resistors. sakes the pPD43256A a high-speed device (hat

very low power and no Cloth or relrerhing looperate.

Yinimumslandbypowerisdrawn whenmisa la high wel. independent o1 the other inputs' levels Dala .elenlion is guaranteed a1 a power supply voltage as iow as 2 V. The pPD43256A IS available in slandard i6-pin plastic DIP or 28-pin plastic miniflat packaging.

features I Single C5-vol1 power supply S Fully slalic operalion-no clock 01 relreshing

2 TTL-compatible inpuls and outputs :Common I10 using thze-slate oulputs :One CS pin and one OE pin lor easy application 2 Data retention voltage 2 V minimum i Standard ?&pin plaslic DIP or minillal packaging

Ordering Information

required

011, Riianllon

. C.151 I 150 115 . . . . . . . . . . . . . . . . . . . . . . . . .

iPD;3?üAGU.ñY 85 II) %*A 28 iw p l ~ s t ~ c . . . . . . . . . . . . ",l"tll<ll GU.lOl icon,

GU-171 173 ni -. ~. .~ ... . , ..

Pin Configurmtlon

28-Pln PIar11c DIP or Mlnllht ! ...... ......

Pin ldentlfication Symbml l""di0"

bh Addiesr inputs

i ~ O , ~ i 1 0 ~ Data inpuirlouipuls .......

........... . . E ChlD W k ! ...... __ . _ Of Ouipu: enable

Wt W i i l t enable .... .... . . - .... .. . GNO Ground . . . . . . . . . . . . . . ...... . . k t r 5 v o l l pewem supply

. . . . . . GlI~151 I Wii:.

Page 88: 911342 - CENIDET

F. PAL EP610.

F. :'o Hioh densiiy lover 6w gates! replacement lor TTL

v.( Advanced CMOS EPROM technology. allows erase ?. .., . and reprogram.

Md74HC.

8 High speed Ipd = 25 ns. -Zero Power' itypicaily lOpA Standby1 Asynchronous clocking of a11 regislan or banked regisler operation from 2 synchronous clocks.

8 Sixteen Mairocelis with conligurabie I10 archilecture allawing 20 inpiits and 16 outpuls.

? Programmable registers providing D. T, SR or JK flipllups with individual Ciaar conlrol.

0 100% generically testable-provides 100% program- ming yield.

P Programmable "Security Bit" allows total protection 01 praprielary designs.

I 4dvanced sotiware suppon leatuling Schemaiic Capture. lnlersclive Netlist, Boolear, Equation and Siale Machine design enlv.

t Space saving 24 pin. 3M) mil. dual in-line packagt and 28 pin J-leaded chip carrier.

CENTRO DL INFORMACIOM C E N I D E T

c 04 w-

82 b-3 v=- %--

a

The Altera EP610 Programmable Logic Device is capable o1 impismenling ouer600 equivalent gates of SSIandMSflogiclunctionsaliinaspacasaving24 pin. DiP. 3W mil package or a 26 pin J-leaded chip carrier.

The EP610 uses familiar sum-01-products logic providing a pragramniabie AND with fixed OR slructiire~ The device accommodales both combinatorial and sequential logic functions with up to 20 inpuls arid 16 oulpuls l h e EP610 includes an Ailera proprietary programmable 110 archilecture providing iiidividuai selection of eilher combinaloriai or registered oulpiil and leeaback signais. aclive high or low.

A iiniqiie feature of the EP610 is the ability to program O, T. SR, or JK flipllop operation individirally lor each output without sacrilicing product terms In addition, each register can be individually ClockeJ lrom any o1 the input or feedback pallis available in the AND array. These fealiiresailow a vaireiy of logic func1101is to be simulianeousiy implenienled.

The CMOS EPROM technology reduces tha power consumption to less than 20% o1 equivalent bipolar devices without sacrilicing speed periormance. Other advantages include: lM)% generic testing lali <levices are ioOoV' lested at Ihe faclory]. The device can be erased with ullraviolet i ighl~ Design changasaw 110 longer costly. nor is there a need lor post programming

Programming the EP610 is accomplished with the use o1 Altera's AIPLUS deveiopinent soltware which supports lour Jillerent design mlq methods. Once 11te cimiit has beenentered,theAi PLUSsoltware parivrilis auloiiiatic tianslation into logical equations. boolean minimiialioii, and design filling direcliy iillo an EP610.

testing.

REV 4 0