Aq - Cenidet

Anuncio
D.G.I.T.
S.E.I.T.
SEP.
CENTRO NACIONAL DE INVESTIGACION
Y DESARROLLO TECNOLOGICO
I
cenidet
SISTEMA DE MEMORIA COMPARTIDA REPLICADA
TOLERANTE A FALLAS.
T
PARA
OBTENER
MAESTRO
EN
P
I
S
E
EL
E
GRADO
S
DE
CIENCIAS
EN
INGENIERIA
R
S
ELECTRONICA
E
N
T
CYNTIA E. ENRIQUE2 ORTIZ
DIRECTOR DE TESIS
A
CENTRO DE INFORMACiOni
0
CE N I D E 1
M.I. CARLOS RAMIREZ VALENZUELA
CUERNAVACA, MORELOS
NOVIEMBRE 1996
S.E.I.T.
S.E.P.
D.G.I.T.
CENTRO NACIONAL DE INVECTIGACION
Y QESARROLLO TECNOLOGICO
cenídet
"SISTEMA
DE MEMORIA COMPARTIDA REPLICADA
TOLERANTE A FALLAS".
I
TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN
CIENCIAS EN INGENIERIA ELECTRONICA
i\
P R E C E N TA:
CYNTIA E. ENRIQUE2 ORTIZ
Licenciado en Electrónica Fisica por la
Universidad Atónoma de San Luis Potosi, U.A.S.L.P.
Director de Tesis:
M.1 CARLOS RAMIREZ VALENZUELA.
Jurado Calificador
Presidente
Secretario
ler. Vocal
20. Vocal
CUERNAVACA. MORELOS
M.C. Javier Meneses Ruiz.
M.C. José Martín Gómez Lopéz.
M.C. Guillermo Cahue Diaz.
M.I. Carlos Ramírez Valenzuela.
NOVIEMBRE 1996
9QI)
8
D
SISTEMA NACIONALDE lNSTITUTOS TECNOLOGICOS
CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO
ACADEMIA DE LA MAESTRiA EN ELECTR6NICA
FORMA R3
ACEPTACI~NDEL TRABAJODE TESIS
Cuernavaca, Mor. a 2 I de Noviembre de 1996.
Dr. Juan Maiiiiel Ricaño Castillo
Director del cenidet
Presente
At'ii. Dr. Sergio Horía Mejia
Jefe del Depto. de Electrónica
Después de haber revisado el trabajo de tesis titulado: "SISTEMA DE MEMORIA
COMPARTIDA REPLICADA TOLERANTE A FALLAS", elaborado por la alumna: Cyiitia
Eugenia Enriquez Ortiz, y dirigido por el M.I. Carlos E. Ramirez Valemuela, el trabajo
prcseiitado se ACEPTA para proceder a su impresion.
ATENTAMENTE
p::.
I
C.C.P.:
I'
Dr. Jainic Arau Roffiel / Pdie. de la Academia de Electronica
Ing. David Chávez Aguilar I Jefe del Dcpto. de Servicios Escolares
M.C.Francisco Caiiales Abarca / Secretario de la Acadcniia de Electrónica
:. .u. 1,.
;I;*,?-.:
" ~ . .NlCISdAi
l'
3.
V.
Wf$;:ui!t?,;;,l,ta;+i,l
.!'?C¡!&
A,:;, -" ,
,
cenidetl
:.
i'. I._
'i
~p~~;i.l~&;i,,i;,,
iliicrior Iiiilniudo I'ulmiru S/N C.P. 62490
ApnWdo Postal 5-164, C.P. 62050, Cuenüivuui Mur., México
m s . (73) 18-77-41y 12-76-13, F ~ 12-24-34
~ .
1
$@I'
SISTEMA NACIONAL DE INSTITUTOS TECNOLOGICOS
CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO
Cuemavaca, Morelos a 22 de Noviembre de 1996.
Lic. Cyntia Eugenia Enriquez Ortiz
Candidato al grado de Maestro en Ciencias
en ingeniería Electrónica
Presente
Después de haber sometido a revisión su trabajo final de tesis titulado: "SISTEMA DE
MEMORIA COMPARTIDA REPLICADA TOLERANTE A FALLAS", y habiendo cumplido
con todas las indicaciones que el jurado revisor de tesis le hizo, le comunico que se le concede
autorización para que proceda a la impresión de la misma, como requisito para la obtención del
grado.
Reciba un cordial saludo.
I
C.C.P.:
Jefe de Servicios Escolares
Expediente
cenidetl
Interior lniernado Palrnira S N C.P. 62490
Aparlado Posial5-164, C.P. 62050, Cuernavaca Mor., México
Tels. (73) 18-77-41 y 12-76-13, Fax. 12-24-34
Este trabajo de tesis estR dedicado a:
Mis padres: Dora Lilia y Juan Pablo
Gracias por haberme brindado su amor y apoyo en todo momento a pesar de mis
tropiezos Su dedicación y esfuerzo han sido el motivo de mi superación.
Mis herinanos: Dora Lizeth, Pedro Pablo y Anel
Por todos los bellos momentos compartidos a lo largo de nuestras vidas, siempre
serán mis mejores amigos. Gracias por su cariño
Mi sobrina: Daniela
Porque tu presencia ha sido un motivo de felicidad en mi vida
Mi novio: Raúl
Porque con tu amor y alegría iluminas mi exsistencia, gracias por estar a mi lado
Te amo.
AGRADECIMIENTOS.
Agradezco al M.1 Carlos Rainírez Valenzuela por su acertada dirección en la
realización de este trabajo.
A los profesores:
i
M.C. José Martin Gómez López,
M.C. Javier Meneses Ruiz,
M.C. Guillermo Cahue Díaz,
M.C. Ramiro Castellano Nolasco,
Ing. Carlos Góngora,
por haber compartido sus conocimientos conmigo.
AI Centro Nacional de Investigación y Desarrollo Tecnológico por brindarme la
oportunidad de realizar mis estudios a nivel maestría.
Ai Consejo Nacional de Ciencia y Tecnologia por apoyo económico.
A mis compañeros Laura, Manuel, Jesús, Victor, Rafael, Adolfo y Mario con
quienes compartí estos años de estudio.
INDICE.
Introducción..............
......................
I
.............
....................................
....................................................
.............................................................
1 .-Funcionamiento del Sistema de Memoria Compartida Replicada (SMCR) .....
I .I.- Estado de Prototipo de Memoria Compartida Replicada (MCR) ................
1.2.- Protocolos del Sistema de Memona Compartida Replicada (SMCR).........................
..........................
1.2.1.-Protocolo de Lectura del SMCR........
1.2.2.-Protocolos de Escritnra del SMCR...
3
3
1.4.- Dcbilidadcs dcl P
2.- Fallas Presentes en los Sistemas
.............................
..............................
2.1.2.- Caracteristiw de una Falla ............1..
.............
!I
//
..............
3.- Estudio de Confiabilidad del SMCR Actual
3. I .- Conceptos de Confiabilidad.....
3.1, I _-Análisis Cualitativo
3.1.2.- Uso dcl Arbol de F
..............
I
..............................................
3.2.2.-Análisis Cuantitativo..
4.- Descripción Gcncral del Mód
4.1 .- Configuración Propuesta
............................
4.2.- Descripción Funcional.....................
4.3.- BUSAT......................
...............................
4.4.- Bloques de Generaci
4.5.- Bloque de Comparación (BC)
..............................
4.6.- Bloque dc Dctccción
4.7.- Bloque de Registro de Fallas (BRF)......................... ;.......
4.8.- Bloque de Interrupción (BINT)............
4.9.- Unidad de Control.
4.10.- Bloquc de Mcnior
4.Il.-Buses Externos....
..................................................
25
5.- Diseíio Detallado del Módulo MCR...
..................
5.1.- lnterfaz al Bus AT .......
5.1.1.- Registros al Bus AT...........
<
................
................
5.1.2.-Bloque de Decodificación
.................
5.1.3.- Selección de Memoria
..............
...................
5.1.4.- Registro de la Señal B
..............
5.1.5.- Generación dc la Scña
5.1.6.-Bloque de Generación dc la Señal de Interrupción gRQ5)
5.2.- Bloque de Gencrac
....................
5.3.- Unidad de Control.
..........................
..........................
.
..
51
52
5.3.3.-Control de Flujo dc Dato
5.3.3.1.-Secucncia
5.3.3.3.-Secuencia de la Solicitud de Escritura
5.3.3.4.-Protocolo de Control..
5.4.2.-Bloque de Detección de Fallas (BDF)....................................................... 66
5.4.3.- Bloque de Rcgistro
5.4.4.- Bloque de Tiempo
5.4.5..-Dctección de Dirccción no Válida (DV)
5.5.-Intcrfaz al Bloque dc Memoria
5.5.1.- Bloque de Registro
5.6.- Bloque de Mcnioria..................................
5.6.1.- Mcmoria Compartida (MC) ...................................................................... 70
5.6.2.- Mcmoria de Verificación (MV)
.................................................. 70
5.7.- Interfaz a los Buses Externos........
.................................... 71
5.7.I- Transmisores a los Bus
............................................................ 12
.............................................. .72
5.7.2- Rcceptores a los Buses Externos
5.7.3- Generación de Idcntificador
.......................................... 73
5.7.4-Bloque dc Decodificación......................
..................... I 4
6.- Pruebas y Evaluación............
.....................................
6.1.- Escenario para la Evaluación
...................................
6.2.- Paráinetros dc Evaluación.............
........................................
6.3.- Pruebas para la Evaluación......................
6.3.1.-Pruebas Funcionales del Módulo MCR_._.._
....................
6.3.2.-Prucbas dcl SMCR sin Fallas
...............................
'
6.3.3.- Pruebas del SMCR Provocando Fallas..
.....................................
6.4.- Estimación dc Confiabilidad dcl Nucvo SMCR.............................
.............................
6.5.- Evaluación............
...................................
7.- Conclusiones.......
.......................
..........................
7. I .- Aspectos dc Diseíio
.......................
.....................................
7.2.- Aspcctos dc Operación.................
..............................
7.3.- Aportación dcl Trabajo
.........................
.............................
........................
7.4.-Trabajos Futuros.......................
.ii
81
85
91
94
'
Rcfcrencias.................................................................................................................................
..96
, .
Apciidice
A .................................................................................................................................. 99
B
1
Apendice B .................................................................................................................................. 109
..................................................................................................
.......
.........
11 1
........... 113
121
Apendice F ..............
131
I
iii
I!
LISTA DE FIGURAS.
Fig. I .3.- Diagrama del Módulo MCR
Fig.2.I.- Relación entre Fall
Fig.3.1.- Ejemplo Tipico de
Fig.3.2.- Conectividad Serie
..........................................
Fig.3.3.- Conectividad en
Fig.3.4.- Area Seleccion
I!
.......................................
..........................
.22
23
Fig.3.8.- Coiifiabilidad y Probabilidad,dcDaño de los Tres Transceptor DS
Fig.3.9.- Confiabilidad y Probabilidad de Daño del M6dulo MCR.......
Fig.3.10.- Confiabilidad y Probabilidad de Daño de una Fuente de Alimentación
Fig.3.11.- Confiabilidad y Probabilidad de Daño de un Terminador de Lmca
Fig.3.12.- Confiabili
Fig.4. I _-Configurac
Fig.4.2.- Diagrama
Fig.4.3.- Diagrama a Bloques Detallado del Módulo MCR ...............
Fig.5.1.-Interfaz al Bus AT
Fig.5.2..- Registros al Bus AT
Fig.5.3.- Bloque dc
Fig.5.4.- Sclccción de Mcmoria
..............
...................................... .48
Fig.5.5.- Registro de la Señal B
Fig.5.6.- Generació
............................. 49
Fig.5.7.- Bloque de
Fig.5.9.- Unidad de Control Microprogramada...........................................
Fig.5.10.- Unidad de Control
.............................................
Fig.5.12.- Diagrama de Estados....................
................................
58
...................................
Fig.5. 15.-Opcración de Escritura Externa
Fig.5.18.- Protocolo de In Opcración de Escritura Externa
..................................
Fig.5.19.- Bloque dc Detección de Errores..............
Fig.5.20.- Bloque de Comparación...........
..................................
Fig.5.21.- Bloque de Detccción de Fallas..................
.....................................
Fig.5.22.- Bloque de Registros de Fallas..
............................
Fig.5.23.- Bloque de Tiempo Exccdido (T
......................
iv
...............................
64
66
70
I
Fig.5.27,- Memoria Compartida (M
...................
.....................
Fig.S.28.- Interfaz a los Buses Externos
Fig.5.29.-Transmisorcs y Rcccptorcs a
......................
................................
Fig.5.30.- Gencracion dc Idcntificador..................
........................
Fig.5.31.- Bloquc de Dccodificación
..................................
Fig.5.32.- Diagrama Esqucmático A .................
Fig.5.33.- Diagrama Esquemático B
...................................
Fig.S.34.- Diagrama Esquemático
.....................
Fig.5.35.- Diagrama Esquemático
.........................
...............................................
Fig.6.1.- Ambiente para el Desarrollo dc Pnicbas
Fig.6.2.- Arbol de Fallas del Nuevo SMCR
Fig.6.3.- Comparación de Confiabilidad Presentada por los Módulos MCR.................................
Fig.6.4.- Comparación de la Confiabilidad de los SMCR...............................................................
..................................
Fig.D. I .- Diagrama de Tiempo del Edo. 1
Fig.D.2.- Diagrama de Tiempo del Ed0.2
Fig.D.3.- Diagrama de Tiempo del Edo.3
Fig.D.4.- Diagrama de Tiempo del Edo.4...
Fig.D.5.- Diagrama de Tiempo del Ed03
ig.D.6.- Diagrama de Tienipo del Edo.6
.............................
Fig.D.7.- Diagrama de Tiempo del Edo.
Fig.D.8.- Diagrama de Ticnipo del Edo.
Fig.D.9.- Diagrama de Ticmpo dcl Edo.9..........................................................................
Fig.D. 10.- Diagrama de Ticmpo del Edo.10
...................................................................
Fig.D. 1 1.- Diagrama de Ticmpo del Edo. I 1
Fig.D.12.- Diagrama de Ticmpo del Edo.12
.................................................
Fig.D. 13.- Diagrama de Ticmpo del Edo.13............
..............................
Fig.D. 14.- Diagrama de Tiempo del Ed
Fig.D. 15.- Diagrama de Tiempo dcl Ed
Fig.D. 16.- Diagrama de Ticmpo dcl Edo. 16
............................................
Fig.D.17.- Diagrama de Tiempo del Edo.17
...................................................
Fig.D. 18.- Diagrama de Tiempo del Edo. 18,.,..
Fig.D. 19.- Diagrama de Tiempo del
........................................
Fig.D.20.- Diagrama de Ticmpo del Ed0.20 ......................
.......................................
Fig.D.21.- Diagrama de Ticmpo del Edo.21.....................
.............................
V
74
77
78
80
90
91
114
115
I16
117
I17
119
120
,120
INTROD UCCION.
Antecedentes.
En los últimos años la necesidad de incrementar la velocidad de procesamiento en los
sistemas de cómputo, ha llevado a desarrollar una amplia variedad de arquitecturas, algunas se basan
en los avances de la iecnologia electrónica, cuya principal característica es el aumento de la velocidad
de respuesta de los componentcs; otras, por el contrario logran su objetivo haciendo uso de varios
procesadores, y son mejor conocidas como “Sistemas Multiprocesadores”, los cuales pueden operar
sincronamente (arquitecturas Simplc Instruccion, Multiple Data, “SIMD’) o asincronamenie
(arquitecturas Multiple Instrucción, Multiple Data, “MIMD) [I].
Además, debido al mejoramiento tecnológico y abaratamiento en las computadoras
personales (PC’s), muchas aplicaciones han sido transferidas a este tipo de máquinas; sin embargo,
existen otras que aún requieren de una gran capacidad de procesamiento, y son en éstas precisamente
donde se plantea el uso de multiprocesadores que sean económicos y modulares [ 2 ] .
Cuando la aplicacicin rcquiere transferir grandes volúmenes ¿ie información con poca
frecucncia,se sugiere el empleo de redes locales para implantar el multiprocesamiento en varias
compiiiadoras. Por el contrario, si sc requicre transferir poca información con mucha frecuencia y
adeniás de un proceso a varios, se proponc el empleo dc memoria compartida (MC) como medio de
comunicación entre los procesadores.
Una alternativa tipica para implantar un sistema de memoria compartida, es la de un banco
de mcmoria con N puertos de acceso, dondc N es el número mixitno dc PC’s que acwsarin la MC.
Vi
introducción.
/I
De esta forma, la MC es el centro del s¡stema.de multipr&samiento y debe tener un circuito de
arbitrajc que decida cual de los N puertos tiene el acceso, por lo que, para cada PC, una zona del
mapa de memoria local se asigna a la MC quedando ésta como una ventana. De esta forma, se tendrá
que cada PC tiene su memoria local (ML) y acceso a la memoria compartida PI.
I
¡I
Debido a que sc está considcrando que opera bajo un esquema de MIMD, se darán casos de
colisión durante el acceso a la MC, que el Arbitro resolved demorando las solicitudes excepto una. El
comportamicnto del acceso a la MC dcsdc los procesadores es similar al de un proceso de atención a
usuarios en una fila, donde el tiempo para atender a la fila es por orden de llegada Ó por prioridades
dc usuarios scgún lo implante el arbitro, ademas se tendrin momentos en que uno ó m h procesadores
esperan por la MC, en estos casos los procesadores deberán efectuar ciclos de espera. Otra función
que se puede implcmcntar son los semáforos cn la MC a fin de facilitar la sincronimción de los
procesos, asi como la administración de los recursos del sistema.
Este sistema es útil cuando se desea implementar un sistema de multiprocesamiento débil o
medianamente acoplado. Las aplicaciones que tiene son muy amplias, algunas de ellas son: sistemas
de adquisición de datos, sistemas de control, sistemas de bases de datos y sistemas de
multiprocesamiento para cl dcsarrollo de simuladores.
Actualmente, existe un diseño de sistema de memoria compartida replicada (SMCR) para
PC's mostrada en la figura 1.1, la cual esta implementada con un módulo de memoria de doble
puerto en cada computadora de la red (41. Un puerto es conectado a la CPU y el otro a un bus
externo. Este sistema no fue diseñado con algún esquema de tolcrancia a fall,asy si se presenta alguna
falla en cualquier nodo afcctando al bus externo, causa la pérdida total del sistema.
Objetivo.
El objetivo del prescnte trabajo fue diseñar un módulo de memoria compartida replicada
(MCR) tolerante a fallas para implantar un SMCR de alta confiabilidad que opere bajo un esquema
de multiprocesamiento.
Contenido.
~~
En cl capitulo I se dcscribc el funcionamiento del sistcma de mcmoria compartida replicada
que cxistc actualmente, as¡ como los principios de operación bajo los cualcs trabaja y las debilidades
que sc pueden prescntar en dicho sistcma.
En el capitulo 2 se presenta en forma gcncral los conceptos básicos dentro del campo de la
tolerancia a fallas, asi como las causas más comunes que ocasionan fallas en cualquier sistcma.
--.
I
I!
li
En el capitulo 3 se presenta un análisis de confiabilidad del módulo de MCR y los resultados
obtenidos a partir dc los cuales sc propuso el nucvo discño.
En cl capitulo 4 sc dcscribe en forma general el nuevo diseño del SMCR y se da una breve
descripción funcional de cada uno de los bloqucs que componen.sus módulos MCR.
I!
vii
Iniroduaión.
I'
En el capitulo 5 se justifica detalladamente los criterios de diseño aplicados en cada uno de
los bloques que conforman el mdulo MCR.
En el capitulo 6 se muestran lo resultados obtenidos de las pruebas realizadas al SMCR.
En el capítulo 7 se presentan las conclusiones de este trabajo y se dan las sugerencias para
futuros trabajos.
viii
I!
!!
!
I:
1
I(
I
I!
I!
CAPITULO 1
I
I!
FUNCIONAMIENTO DEL SISTEMA DE
MEMORIA COMPARTIDA REPLICADA (SMCR).
i
I!
Introducción.
li
Para entender de forma clara como funciona el sistema de memoria compartida replicada
(SMCR) es necesario, comprender los principios de operación con los que fueron diseñados los
módulos que integran el sistema, en este capítulo se traiará de describir brevemente estm principios
asi como cl comportamiento de cada uno de los bloques que integran los módulos de MCR.
I!
1
I
1.1.- Estado del Prototipo de Memoria Compartida Replicada (MCR).
p
En la actualidad, existe un diseño de un sistema de memoria compartida replicada (SMCR)
para PC's, cuya configuración consiste de una red de N microcornputadoras acopladas a una MCR,
para que la operación del sistema no dependa de un solo elemento [ 5 ] .
La MCR está implemcntada mediante un módulo de memoria de dos puertos, mapeados
como una zona de memoria de la PC. Cada módulo es alojado en una PC, y se conecta por uno de los
puertos al bus cstándar ISA, y por cl otro a los módulos de MCR por medio de un Bus Externo (BE)
wmo puede ObSCNarSe en la Figura 1.1.
;!
'I
I
CAPITULO 1: Fu~mamientodel SMCR
T Br m 1naI
L
W
2
BUCAT
I
B
U
t
c
MCR
E
X
T
BUCAT
E
R
N
O
tMCR
PC"
4-b
BUCAT
I
1
Figura 1.1. Sistema de Memoria Compartida Replicada.
9 ".'
i
El puerto dcl módulo conectado al 'bus ISA responde tanto a accesos de lectura como
escritura, mientras que cl otro puerto solamente realiza accesos de escritura.
En general en este diseño se consideran dos bloques, el bloque que controla las escrituras y el
que controla las lecturas, la interacción cntre el bloque de escrituras y el bloque de lecturas de todos
los nidulos de MCR se hace por medio de un bus externo, con lo que se asegura que todos los
mdulos dc MCR reciban la misma informacih al mismo tiempo (excepto por problcmas de ruido en
el bus externo).
Entre las desventajas que se tienen, cs que la velocidad de acceso al módulo MCR se hace
mis critica al aumentar el número de PC's que la accesan, pero el mayor inconveniente es la posible
inconsistencia en el contenido de cada módulo cuando se presentan fallas tanto en el bus externo (BE)
como en alguno de los módulos.
2
CAPITULO I: Funcionaminilo del SMCR
1.2.- Protocolos del Sistema de Memoria Compartida Replicada (SMCR).
1.2.1- Protocolo de Lectura del SMCR.
El protocolo de lectura con el que trabaja el SMCR, funciona de la siguiente forma: cuando
una PC “j” genera una orden de lectura al módulo de MCR, la operación se lleva a cabo en el módulo
correspondiente a la PC que generó la orden, sin que esto afecte de algún modo al bus externo, sin
embargo la acción puede presentarse durante diferentes circunstancias:
I .- Durante el periodo en el que aparece la orden de lectura no se .realiza ninguna operación de
escritura externa, por lo que la operación se realiza de forma normal sin ningún problema.
2.- Durante el periodo en el que se genera la orden de lectura se presenta una orden de
escritura extcrna de alguna otra PC, la cual se recibe a través del bus externo; en este caso,
la orden de escritura que se recibió debe esperar a que se termine la operación de lectura
que se cncuentra en proceso.
3.- AI solicitar la ordcn de lectura ya se encuentra en proceso una escritura cxterna a través del
bus externo, en este caso se debe esperar a que se termine la operación de escritura para
poder cumplir con la orden de lectura, por lo que se suspende temporalmente al procesador
que generó la orden. En caso de presentarse una scgunda orden de escritura externa, se le
da prioridad a la orden de lectura que está en espera, así se asegura que las PC’s que
requieren lecr de la MCR no sea bloqueada por el uso continuo del bus externo.
1.22.- Protocolo de Escritura del SMCR.
El protocolo de escritura dcl SMCR sigue la siguiente secuencia, cuando una PC ‘y desea
efectuar una escritura interna a través del bus AT, la orden de escritura se registra en el módulo
MCR correspondiente a la PC que la generó y el procesador de esta PC continúa con su programa
normalmente, la siguiente orden (ya sea de lectura o escritura a la MCR de la misma PC) suspende el
procesamiento así como su ejecución hasta que la orden anterior se haya realizado; con lo cual se
procede a atender la orden suspcndida como si se acabará de recibir.
. .
Una vez que se registra la orden de cscntura interna, se procede a verificar que el bus externo
se encuentre libre, probando el estado de una linea de control llamada “BUSY”; en caso de que el
estado de esta liiica indique que el bus está “ocupado” se sigue esperando hasta quc sea liberado,
cuando el bus extcrno sc encuentra libre, se le marca como ocupado activando al estado
correspoiidientc la linca de control “BUSY” y se envía un identifieador (cada PC ticnc uno diferente)
por las líneas de datos, unos instantes despuCs se lee el bus de datos, si el dato leido coincide con el
identificador del módulo, indica que pucde utilizar el bus, cn caso contrario se deberá ccder el bus
(liberando la línea de control) a la PC de mayor prioridad (la prioridad está dada mediante el
idcntificador); y cspcrar hasta quc el bus IC vuclva a scr concedido. Una vcz que sc tiene cl control del
bus cxtcrno, Ins cscritirras sc rcalizan rncdiante dos pasos, en el primcro se manda la dirccción cn la
cual se escribirá y en cl segundo se cnvía el dato que se va a escribir por el mismo grupo de lineas,
con esto las dcmás PC’s puedcn terminar las ordenes de lectura en proceso, si es el caso, en sus
rcspcctivas MCRs durantc cI primer paso.
3
-
-
. -
.-
I;
CAPITIJUU)
I: Fuwionunienlo del SMCR
Adcmás, en el mklulo de MCR de la PC que genera las escritura sc realiza (durante el
primer paso), antcs dc la escritura, la lectura del contcnido de la dirección cn donde se va a escribir y
el dato contenido se almacena en un rcgistro del propio módulo de MCR, y puede ser lcido por la PC
accesando un puerto de entrada-salida (WS).
Esto permite verificar el contenido de la posición de
memoria justo antes de modificarse y con ello se puede implementar una instrucción del tipo prueba y
cambio (fesf and se/).
1.3
.-Configuracióndel SMCR.
La intcracción entre los buses AT y externo en cada uno de los módulos MCR que integran el
sistema se puede represcnta con el diagrama de estados de la figura 1.2, siendo los estados:
Edo.1.- Reposo,
Edo.2.- Lectura,
Edo.3.- Escritura Interna (del mismo MCR),
Edo.4.- Escritura Externa (de otro MCR),
Ed0.S.- Lectura con Escritura de Externa,
Edo.6.- Escritura Externa con Lectura en espera,
Edo.7.- Escritura Interna con Lectura en espera,
Edo.8.- Escritura Externa con Escritura Interna en espera,
Edo.9.- Escritura Intcrna con otra Escritura Intcrna en espera,
Edo.10.- Escritura Externa con dos Escrituras Internas en espera, y
Edo.11.- Escritura Externa con Escritura Interna y Lectura en espera.
Las transicioncs cntrc estados se debe a uno de cuatro casos:
a) L -se solicita una Lectura dc la PC (bus AT).
b) El - se solicita una Escritura Interna (bus AT).
c) EE -se presenta una Escritura Externa (bus externo).
Figura 1.2. Diagrama de Estados del módulo MCR.
A
1
CMI7Vi.Q I: Funcionamiento del SMCR
I1
En los estados I, 3, 4 y 8 el procesador de la PC solicitante continua con su programa en
forma normal; en los demás cstados entrará a ciclos de espera con la ayuda de la linea de control de
cspera “IOCHRDY del bus AT.
il
En el estado 1 se tienen tres posibles salidas según la orden que se reciba (L, EI, EE), en los
estados restantes se tiene una o dos salidas posibles, U M gracias a la terminacion normal de la
ejecución de la orden y otra por la existencia de UM nueva orden.
¡I
En la figura 1.3 se observa un diagrama a bloques del modulo de MCR y enseguida se
describe brevemente en que consiste cada uno de ellos y su funcionamiento [61.
BUS
EXTERNO.
BUS AT
DIA C
n
I
MEMORIA
Figura 1.3. Diagrama del Módulo MCR.
Bus AT de la PC.-Este bus está formado por tres conjuntos de líneas: Las lineas de control que
incluycn señales dc lectura “MR”,escritura “MW”, y sincronia “WAIT” entre otras. Las
lincas de datos “DATA”, y las lineas de direcciones “ADD.
S
i
‘1
I1
1
..
..
CAPINLO I: Funcimamimto del SMCR
Bus Externo.- El cual es considerado un elemento de control de gran importancia en el sistema,
puesto que, las operacioncs de cscritura dependen del acceso a MCR por medio de él, por lo
tanto resulta de gran interés estudiarlo más detalladamente. Tiene dos tipos de lineas: de datos
y de control y trabaja con lógica negativa. El bus de datos se utiliza para transmitir tanto
direcciones como datos. Las líneas de control son:
1
BUSY’.-La cual con un nivel bajo (“I” lógico) indica a los mbdulos de MCR del sistema que
el bus se encuentra ocupado.
’!
WA’.- Con su señal en nivel bajo (“I” lógico) indica que las direcciones están estables en el
bus externo y que dcbcn ser capturadas.
WD’.- Indica cuando esiá en un nivel bajo (“I” lógico) que los datos eSián &tables en el bus
externo y que deben ser capturados.
BHE’.- Cuando es un nivel bajo (“I” lógico) indica que se está transmitiendo un byte bajo, y
cuando.es un nivel alto (“0”lógico) indica que se está transmitiendo un byte alto.
Registros al Bus AT.- Los registros al bus AT son dos grupos:
-Registros de Entrada, para recibir datos (16 bits) y para recibir direcciones (16 bits).
- Registros de Salida, para entregar datos (8 bits).
Los registros de salida sc cmplcan tanto para cntregar el dato de lectura a la memoria cn byte o
palabra, como para entregar el valor almacenado en el contenido de la posición de memoria
antcs de ser escrita.
Registros al Bus Externo.- Los registros conectados al bus extemo son utilizados pafa colocar el
identificador de la PC (I6 bits), para entregar direcciones (16 biis), y para datos (16 biis).
Control de Acceso al Bus Externo (CABE).- El CABE está compuesto por dos sub-bloques: el
arbitro del bus ‘‘ARB” y el control dc flujo de información “CFi”. El ARB controla la
secuencia de acceso al bus externo, recibe y envía información a través de sus registros. Una
vcz que obticnc el bus, avisa al CFI para que continúc con el protocolo de escritura.
Memoria.- Este blcqiic MEM incluye la memoria física, la cual es de 64 Kbytcs, a acccsarse por
byte o palabra segun lo indique la línea de control BHE. Esta memoria puede considcrarsc que
tiene dos puertos de acceso, uno dc escritura con la información que proviene de los registros
del bus externos; el otro de lcctura para el registro correspondiente del bus AT.
.-
Control de Acceso a Memoria El bloque CAM realiza cl control de flujo de información por los
puertos de acceso a1 bloque MEM, así como el arbitraje entre las órdenes de lectura del bus
AT y de cscritura. Segun el tipo dc acceso, la dirección de la memoria la recibirá de los
registros corrcspoiidientcs dcl bus AT ó externo.
Decodificación y Sincronia con el Bus AT.- El bloque DYS se encarga de recibir y almacenar las
scñales de control del bus AT. Decodifica las direcciones para identificar la selección del
módulo MCR.
6
!!
I/
1.4.- Debilidades de Prototipo Actual del SMCR.
~~~~k
la opemión no-I
del SMCR cada nodo escribe en ciertas mnas de memoria de la
MCR. si por alpún motivo un nodo deja dc operar, simplemente deja de a m a r a la MCR.
un
do
,,,,
enloquece y comienza a escribir basura en la MCR esto causa una falla en todo el SMCR a
eatipo de fallas se les denomina “maliciosas”. El SMCR se protege de estas fallas con una interfa
de software que administra el uso de la MCR estableciendo reglas para su acceso.
I
‘I
Otra causa de fallas fatales es cuando se escribe en Zonas equivocadas; lo cual puede ocumr
por fallas.de hardware en la PC o en el módulo MCR que escribe, ya que el error se difunde a todos
los nodos. Supóngase por ejemplo que una linea de datos en el bus AT (esthdar ISA) se atora a un
‘‘O” lógico y que se desea escribir un dato en cierta dirección que contiene’un“I” lógico en ese bit; el
error no se detectará ya que la tarjeta de MCR no tiene manera de detectarlo pues el bus AT no
incluye lineas de paridad u otro mecanismo de detección de errores y la MCR genera el bit de paridad
del dato erróneo, por lo tanto este error se tendrá en todos los nodos; el cual puede ser más grave si se
presenta en alguna linea de direxiones; pues se exhibirá un dato en otra posición. Dependiendo del
punto en donde se ocasiona la falla y el tipo de ésta como puede observarse en la figura 1.3, se
difundirán errores en el SMCR, que generan .diversos patrones de error los cuales se detallan a
continuación:
En el punto uno sc produce un error debido a una falla de hardware, es decir se produce a
causa de que el registro se dañe ó si la CAM presenta alguna falla en cualquiera de sus componentes,
lo cual pucdc reflcjarse en la lectura de un dato incorrecto, sin embargo este error sólo afecta a una
PC por lo que el SMCR puede seguir funcionando de manera correcta.
En los puntos dos, trcs y cuatro las fallas producidas se consideran maliciosas y el impacto
quc se tiene sobre el sistema es que la información transferida, ya sean datos, direcciones ó comandos
de control, son incorrectos. A diferencia del anterior estos errores se ven reflejados en todo el sistema
por lo cual el desempeíio es incorrecto.
En el’punto cinco los errores son causados por fallas de hardware, que pueden ser por
ejemplo que los registros de datos ó direcciones estén daiiados, este tipo de falla lo que ocasiona es
que alguna salida quede atorada a un nivel lógico, lo cual implica que el bus externo también quede
atorado y como consecuencia el sistema se bloquea.
En el punto seis los errorcs son causados también por fallas de hardware; la falla principal es
que el registro dcl bus extemo se dañe y alguna de las lineas.del bus qucde atorada a un nivel lógico
con lo cual como se mencionó anteriormente el sistema se bloquearia.En el punto siete los errores al
igual que en el punto seis son producidos debido a fallas dc hardware, las cuales pueden deberse a
varios motivos, como son las fallas cn algún componente de DYS,o fallas que sc presenten en la
CAM, o en el registro del bus externo, lo cual ocasiona las mismas consecuencias que en los
ejemplos anteriores.
1
Adcmás de estas fallas las’unidades .CAM, CABE, DYS,ó MEM pueden presentar fallas
iriternas, sin embargo pude que estas fallas no se reflejen en el comportamiento del sistema, sino
solamente en cl módulo de la MCR y por lo tanto el sistema podna seguir funcionando
corrcctamentc. Con esto se dcscribe el SMCR hay en este momento, y los posibles inconvenientes que
existen si alguna fallas se presenta, por lo tanto, en base a este desarrollo se prctende realizar el
trabajo propuesto para mcjorar la confiabilidad del sistema.
I!
CAPITULO 2
FALLAS PRESENTES EN LOS SISTEMAS.
I
Introducción.
Este capitulo trata de presentar en forma muy general, la terminologia utilizada dentro del
campo de la tolerancia a fallas Vault tolerance), asi wmo las ténicas y métodos existentes para poder
implantarla en cualquier sistema electrónico, tomando en cuenta los criterios de selección adecuados,
los cuales también son descritos brevemente.
1
li
I
2.1.- Conceptos Básicos.
La incorporación de sistcmas electrónicos en aplicaciones criticas, tales como, controles de
vuelos adrcos, controles de vuelos espacialcs, aplicaciones militares, etc., dondc las consceuencias de
daños (fiaihres) cn el sistema pueden ser de gran impacto económico o pérdidas de vidas, ha
ocasionado el interés en dcsarrollar sistemas que prcsenten fiabilidad (dependability) [7].
La fiabilidad de un sistema es la calidad del servicio entregado; donde cl servicio entregado
por un sistema rcpresenta su comportamiento como es percibido por otro sistema especial que
iiitcractua con él: su usuario. En otras palabras, es la habilidad de un sistema para realizar las
operaciones o tareas (proporcionar el servicio) que se esperan de él [SI.
8
II
i:
Un daño (/iditre) en un sistema ocurre cuando el servicio entregado se desvia del servicio
cspecifimdo (la cspccifiwción dcl servicio cstá dada en relación a la descripción dcl servicio
esperado). El daño succdc porquc cl comportamiento dcl sistema es crrónco; un error (error) cs la
partc dcl sistema propcnsa a dañarsc y es causado por la presencia de una falla @ttrl).
Es dccir, cuando ocurre alguna falla en un sistema se crea un error latente, el cual p u d e
llcgar a ser efectivo Si es activado, cuando el error afecta el servicio entregado, se produce un daño.
Esto es, un error es una manifcstación en el sistema de una falla, y un daño es la manifestación en el
servicio de un error [9]. Dcfiniendo dc manera más precisa estos términos [IO], se tiene que:
Una faih es una condición fisica anormal, es decir, algún defecto o imperfección que
ocurre con algún componcntc de hnrdwore o sofinre del sistema.
Un error es la manifcstacióii dc una falla en un sistema, en el cual el cstado lógico dcl
sistcma dificrc del valor requcrido, más cspccificamcnte, es una desviación de lo exacto o
correcto. Por ejemplo, si ocurre un cortocircuito fisico en una linea dc un circuito
ocasionando que quede pcrmancntemente fija a un “1” lógico, el cortocircuito es una falla,
pero si alguna condición requiere que la linea cambie a un ‘‘O” lógico, el valor en la linea
scrá un error.
Por último, un dmio dcnota la inhabilidad de un clcmcnio para desempeñar su función
cspccificada, a causa de crrorcs en cl sistcma o en su medio ambiente, los cuales son
causados por la cxistciicia dc fallas
La relación qitc existc entrc una falla, u11 crror y un daño pucdc ser rcprcscntada como se
niiicstra en la figura 2. I , donde se pucdc observar que las fallas resultan en crrorcs, y los errorcs
Ilcvan a que un sistcina sc dañc.
..
Causar de Falla.
Fallar.
Danos.
EriOieS.
..... . .
’’
’.’“I
.. . .. .
.. . .
Figura 2.1. Relación entre Fallas, Errores y Daños.
9
I!
CMINUJ 2 Fallas Prssenles cn Io.Sistemas
En estas definicioiics, un sistema es considcrado como una entidad quc ha intcractuado,
intcractúa o llegará a interactuar con otras entidades (sistemas), y su comportamicnto está
determinado por su estructura u organización, es decir, un sistema es un conjunto de componentes
vinculados para interctuar, donde cada uno de estos componente representa otro sistema. Por lo cual,
el térniino "daíío"puede ser aplicado a un sistema o a un componente independientemente, ya que el
componente niismo es un sistema. En el a s o del SMCR, sc puede concluir que el sistema se dañará o
presentara algún error solamente si alguna falla en sus componentes se ha presentado.
2.1.1.- Caiisas de las Fallas.
Cuando un daño ha ocurrido y ha sido observado, es natural averiguar que ocasiona este
daiío, para esto, es nccesario buscar dcntro dcl sistema y examinar su construcción y las partes que 10
constituyen. Partiendo del hecho dc quc un sistcma está dañado o presenta un error solamente cuando
una falla se prcsenta, se puedc dccir que el punto critico para deierniinar la causa de un sistema
daiíado cs determinar la causa de la falla [I I].
En general, las fallas pueden estar asociadas con problemas de cuatro áreas básicamente:
especificación, implemcntación, componentes y factores externos, como puede observarse también,
en la figura 2. I.
La especificacirh errdnea, consiste en incluir algoritinos, arquitecturas
espccificacionis de discño de hardware o sofiware incorrectos.
o
La implcmenfacirlii errdnca, puedc introducir fallas dcbido a un pobrc disciío, pobrc
selccción dc componentes, pobrc construcción o errores en el código de soJIware.
.'
Los componenfcs dañados, consiste en imperfecciones de fabricación, defectos alcatorios
de dispositivos o desgaste (envejecimiento) de los componentes, puesto que cualquier
componcnte electronico pude llegar a estar dañado. Los daños en componentes pueden ser
uniones rotas de los circuitos o corrosión del metal, y son considerados la causa más
común de falla.
Los disfurbios criernos son talcs como radiación, interferencia clectromagnética, errores
del opcrador o un medio ambicnte extremoso, ya que si un sistema elcctrónico cstá sujeto
a variaciones de tcmperatura extremosas se pueden producir resultados incorrcctos.
En cl SMCR las causas dc las fallas corresponden tanto a los componentes dañados, a los
disturbios cxtcrnos, cotno a la espccificación crrónca, puesto que la impleinentacióii errónea es una
causa dc falla que se considcra al inicio dcl dcsarrollo de un sistcina, en este caso el SMCR se ha
probado con anterioridad y funciona cormctamcnte en la forma esperada durante un determinado
tiempo si ninguna falla se presenta, por lo que si llega estar daiíado, las fallas no se debe a esta
causa, adcmás si se considcra que el mcdio ambiente donde trabaja este sistema cs relativamcnte
controlado, podcnios resumir quc las causas dc mayor impacto en el sistema son los daños o dcsgaste
cn los compoticntes y la espccificación crrónca, la primera dcbido a quc un componente pucdc
daiíarsc cn cualquier nioincnto, y la segunda como consccuencia dc no considerar cI funcioiiamicnto
corrccto di1 sistcma aim cn prcsciicia de fallas.
IO
II
II
I1
C A P ~ ~ U2:I ,I:allor
~
Preseiites en los Sislmnr
2.1.2.-
Caracteristicas de iina
II
Falla.
,
1
I
Una falla además dc q u i pucdc ser descrita con ayuda dc la causa que la gcncró, ticnc cicrtos
atributos quc complcmeiitan su dcscripcióii como son: la naturalcza dc la falla, su duración, cI
alcaiicc y cl valor dc la falla [ 121.
La naiuraleza dctcrmina que
!
I!
tipo de falla es, cs decir es de saflware, dc hardware,
analógica, digital, ctc.
L a duracidii espccifica cl intervalo dc tiempo que una falla e$tá activa y puede ser de trcs
tipos:
1.- Falla permanente, ¡a cual permanece indefinidamente si ninguna acción de
corrección es tomada, éstas se considcran las más pcligrosas para cualquicr
sistcma. por lo qiic hay que tomar algún critcrio de corrección para eliminarlas.
.
.
'
.
2.- Falla transitoria, la cual puedc aparecer y desaparcccr cn muy corto tiempo
por lo quc algunas vcccs p u d e ser ignorada si no repercute cn el dcsempeño
!I
corrccto del sistema.
I!
3.- Falla intermitente, la cual aparece y desaparece repetidamente, esta falla se
considcra que pucdcn scr más pcligrosa para el buen funcionamicnto del sistema
qiic la falla transitoria.
.
I
.
El nlcaiicc dc la falla cspccifica ciiaiido la falla cstá localizada en iiii niodulo de harúware
o soflware o cuando afccta globalnientc cl sistema.
Por último existe cl valor de la falla, ya que puedc ser determinada o indcteniiiiiada.
..
1.- Falla deterniinada, cuyo cstado pcmiancce sin cambio cn todo el tiempo'a
mcnos que sc actúe cxtcrnamcntc sobre ella.
I
@
I!
2.- Falla indeterminada, cuyo valor en un tiempo T puede ser diferente de su
estado en algún incrcmciito de tiempo más grande o mcnor que T.
O
Dc lo descrito antcrioniiciitc, sc pucdc rcsumir que para cl caso dcl SMCR las fallas que
interesan son las diiitalcs y dc hardware, con una duración pennancntc o intcmiitcntc, puesto que las
transitorias puedcn scr ignoradas, y cuyo alcance sea global para cl sistema y no que solamente
afecten a un módulo de MCR, cn cuanto el valor de las fallas dcbc scr dctcmiinado.
6
9
dD
CIS
h
II
I1
.2.1.3.- Modos y Mecanismos de Danos en los Componentes.
I)
En la mayoría dc los sistcinas elcctrónicos como el SMCR, los compoiiciitcs daiiados son los
quc rcprcscntan un mayor peligro, ya quc las demás causas se consideran al inicio dcl desacrollo dcl
sistcnia. Un componcntc piicdc dañarsc de modo rápido y coinplcto (falla catastrófica), de modo
gradual dctcrioraiido su descnipeño, o dc modo intcnnitcntc. Los daños en los coniponciitcs
V
II
9.6027 6
li
CENTRO DE INF0RMACIOi.I
CFlriinCT
I1
clcctrónicos pucdcii scr clasificadas como: daños infaníilcs (cork fiihres), daños rclacioiiados ~a
esfuerzos (.rrress-re/ri/ed,foi/~~re,~),
daños por ciivcjccimicnto (wenrori/,fnilures)[ I 31.
En este trabajo el intcrés se centra priiicipalnicnte en los dos últimos tipos de daños, puesto
que las daños infantilcs sc presentan cn el proceso de fabricación de los componentes y se supoiie que
cI fabricante ha rcalizado las prucbas necesarias para vcrificar el funcionamiento correcto de los
dispositivos. En forma gcncral tcncmos que:
Los datios infantiles pucdcn deberse a defectos de construcción por mano dc obra,
niaterialcs dcfectuosos y procesos de control inadecuados, daños de transportación y
ensaniblc, errores de instalación.
Los d a h s relacionados a esfuerzos son causados por exceso dc temperatura, exceso dc
tciisióii, mcdio anibiciitc húnicdo, vibración y son las quc más comúiinicnte se presentan
en los coiiiponciitcs clcctrónicos.
Los daños por envejecimiento son producidos por corrosión, oxidación, niptura de
aislamicnto, elcctroinigracion, contracción de matcrialcs.
Pcro, cii los dispositivos sciiiicoiiductorcs sc ticnc quc los parámctros más significativos son
la~tcnipcratiiradc unión (no mayor dc I 10°C cn opcración nomal),'la resistcncia ténnica y cI factor
tériiiico. Entre los modos de daño quc prcscntan cstos dispositivos se cncucntran [ 141:
Cortocircuito Interim- Un cortocircuito cntrc tcrminalcs o a través dc un increniciito del
factor t<riiiico' lo qiic provoca CInial funcioiiamiciiio dcl disposiíivo.
Circuito Abierto.- Se producc cn la nictalizacióii, o cn la unión dc los conductores y
causa mal fuiicioiianiicnto dcl dispositivo.
Variación Parámetrica.- Variación en la ganancia u otro parámetro eléctrico, lo que
origina un funcionamiento liniitado, o sciisibilidad a la temperatura.
Fiigas en la Unión.- Es la corricntc dc fuga en las uniones p-n, cuyos efectos pucdcn
presentar un mal funcionamicnto. o simpleniente no tener consecuencias.
Cambio de Umbral.- El cambio cn la tcnsión de cncciidido, produce el mal
fiincionaniicnto lógico alcatorio.
Integridad en el sello.- La entrada dc aire atnbicntal, la hiimedad, o los contaminantes
ocasionan cfcctos quc van desde la degradación hasta cl daño del dispositivo.
Dciitro dc los transistorcs particulamicntc tcncmos algunas causas dc falla quc ocasionan quc
los coiiipoiiciitcs sean dañados como son: la degradación dc Iifc (ganancia de pequeña señal), fugas dc
corriciitc quc aunicntaii por cI uso prolongado a tcnipcraturas elcvadas, transitorios dc corta duración
quc cxccdcii la tcnsión máxima cspccificada, la ruptura dcl chip provocada por csfucrzos mccánicos
y vihracioncs. pbrdidas d i contactos ciitrc tcnninalcs cxtcriorcs y el chip cuando sc prcscntan
sobrccorricntcs debido a soldaduras dkbilcs 11 51.
12
También cxistcn las fallas por eleciromigraciún las cuales incremcntan rápidamente con la
dciisidad dc corncntc [ 161. La eleclroiniyrocih causa fallas dc fiiga dc corricntc y fiillas dc circuito
abierto. El nieoinismo de daño de circuito abierto se prcsciita cn niveles dc muy baja tcniperatura y
corriciites muy altas.
Además, para transistores bipolares cl exceso de mido es un parámetro de dcgradación muy
sensitivo, el incremento del ruido puede ser algunas veces indicador de una falla inminente. El
aiiilisis Fisico dc las fallas quc ocurrcn por medio dc cstc mccanismo prcscnta quc: una zona dc
agotaniiento cstá cerca de la unión emisor-base y que la corriente dc supcrficic dc la basc incrcmcnta
y corrclativamente la ganancia dc corriente dccrcmenta 1171.
Otra falla ocurre cuando un punto dc sobrccalcntamiento cs formado, como rcsultado dc un
transitorio o de un sobre mancjo del dispositivo dcbido a uti cfccto conocido coino la segundo
ncpliira.causando la dcstruccióii catastrófica de la unidad. Esta condición se cree que cs causada por
una rcstricción dc flujo de corriciitc en pcqucilas arcas de la rcgión activa del dispositivo. Estas arcas
llcgm a scr nias calientes quc las rcstantcs dcl dispositivo, causando cargas adicionales y densidades
dc corrientcs mas grandcs en estos sitios, resultando que el material intrínseco eventualmente puede
llegar a ser derretido o fundido. Por lo tanto algunos cortos circuitos colector-base pueden ser
atribuidos a .un punto de sobrccalciitaniicntoformado en el area dcl colcctor [ 181.
TanibiEn existe una falla cuando la .tcmpcratura cerca de una unión alcanza
aproximadamente el punto dc fusión dcl Silicio [ 191. Este incremento de tcmperatiira se le atribuye a
las descargas electrostáticas que sufre el dispositivo. En casos extremos la unión sera rota.
Otro feiiónieno .conocido como “pipes” representa una dc las fucntes de problemas más
niolcstos dc cortos clectricos cn circuitos bipolarcs Los “p@es”son dcfcctos quc rcsultan cn una
traycctoria dc fuga clcctrica la cual atraviesa la basc dcl transistor cn una dirección toscanicntc
vcrtical. Dc hecho, ciialquicr corto cniisor-colcctor para el cual ninguna razón obvia pueda scr
idcntificada son ainpliamcntc clasificados como ‘&es’!
Un “pipe” cn un transistor, proporciona
una trayectoria para flujo de corricnte a través del cmisor. Los “pipes” aparentemente se forman
como resultado dc mejorar localmente la difusión dcl emisor atravesando la rcgión basc, ocasionando
trayectokias de fugas ekctricas entre el cmisor y el colector 1201.
Finalnicnte t a n b i b existcn fallas dc circuito abicrto las cuales se debcn a perdidas dc
contactos o lincas de concxión rotas, y piicdcn ser relacionadas a partículas de polvo, pobre
cobcrtura, proceso dc grabado no efectivo y aún eieclrornigraciúri [2l].
~.
Entre las causas dc cortos circuitos dos fenómenos físicos son importantcs. Uno de ellos cs la
degradación dc las unioncs emisor-basc o basc-colector (cventiialmente causando cortocircuitos cn
ciiiisor-basc) dcbido a la pcnctración dc los contactos o segirndo nrpifzro, y el otro son los cortos
dcbido a los dcfectos en los dieléctricos de aislamiento, lo cual pucde ocurrir durante la vida de los
dispositivos a causa de la elecfromigrociún [22].
Existen aun infinidad de causas qiic pueden ocasionar una falla en los dispositivos
sciniconductorcs, pcro cii cl SMCR seria demasiado complicado tratar de analimr las fallas a nivel
dispositivo semiconductor piicsto que cada uno dc los coniponcnte que intcgran el modulo MCR
conticiicn cntrc 10 y 100 transistores internos, por lo cual si el dispositivo se daña sería imposible
dcterminar cual fue el transistor que sufrió cualquiera de las fallas mcnciondas, por lo tanto
13
I/
1
solamente se determinarán que problcmas se presentan en el SMCR cuando un dispositivo del
módulo MCR se daña (sin importar que transistor presentó la falla) y que otros dispositivos afecta!
para así podcr decidir cual es el nicjor metodo para superar la presencia de fallas.
2.2.- Métodos para Superar Fallas.
Para poder realizar tin sistema fiable (dependable) se puede utilizar un conjunto de métodos,
los cuales pueden ser clasificados como [ 2 3 ] :
o
Anulación de fallas (I;nirlf-Avoidance):.comoprevenir, por construcción, la ocurrencia de
daños, así como la introducción de fallas
Tolerancia a fallas (Fatill-Tokrance): como proporcionar, por rcdundancia, el
cumplimiento del servicio a pcsar de que hayan ocurrido u ocurran fallas. Es decir, como
especificar, discfiar, realizar y usar un sistcnia, de tal manera que pueda realizar su
operación cuando un crror ha succdido.
-
Eliminación dc crrorcs (Error-lkmwal): como minimizar, por vcrificación, la presencia
de errores latcntcs, es decir, como podcr confiar en la habilidad del sistema para ejecutar
su operación.
Prcvisión dc crrorcs (l~rror-~ores~a.~fing):
como estimar, por cvaluación, la prcscncia, la
crcación y las consccucncias de crrorcs, cs decir, como poder confiar en la habilidad del
sistema para ejecutar su opcración, dc tal mancra que las consccucncias dc los crrorcs
sean prcvcnidas.
Los métodos dc anulación de fallas y tolerancia a fallas pucden ser vistos como nictodos para
obtener fiabilidad, esto es, proporcionar al sistema la habilidad para entregar el servicio especificado;
por su parte, los métodos de eliminación de errores y previsión de errores pueden ser vistos como
mCtodos para validar la fiabilidad, es decir, como poder confiar en la habilidad del sistema para
entregar el servicio especificado.
De acuerdo a la necesidad de cada sistema, uno o varios de estos métodos pueden ser
aplicados en su diseño, para cl caso del SMCR el mCtodo seleccionado cs cI dc tolerancia a fallas, ya
que se dcsca que CI SMCR pueda continuar descmpeiiando sus tarcas correctaniente después de la
ocurrencia de' una falla.
El mitodo niás utilizado para ejecutar tolerancia a fallas es la redundancia, la cual consiste
en añadir niás información, recursos, o tiempo de lo que se necesita para la operación normal. Puede
ser dc varios tipos: redundancia dc hardware, rcdundancia de sojware, redundancia de información y
rcduiidaiicia dc ticinpo [24]. Dentro dc la rcdundancia de hardware, hay básicamcntc dc trcs tipos:
pasiva, activa o hibrida.
En la redundancia pasiva, los inktcdos de rcplicación enmascaran la ocurrencia dc fallas y no
ofrecen dctcccióii. aislaiiiicnto, o rcparación del módulo dañado. Un m6todo pasivo de rcduiidancia,
cs la rcdiindaiicia triplc modular, o TMR, cuyo propósito es enmascarar las fallas triplicaiido el
hnrdwnre utilizado y votando en los rcsuliados.
14
En la redundancia activa, los metodos de replicación no enmascaran las fallas, pero detectan
y localizan las fallas para quc un com,poiicntede repuesto puda ser colocado para rcmplazar el
componente dañado. Es dccir, las técnicas de redundancia activa intentan incorporar detección de
fallas y rccuperación en el sistema a expcnsas de eliminar la capacidad de enmascaramiento de fallas.
Un ejemplo cs un esquema dc siniplc duplicación que compara cl resultado de los dos sistemas y
gcncra un mciisajc dc error siocurrc un dcsacuerdo, en caso dc quc csto ocurra, el sistcma solamentc
reporta el error y no se rccupcra dc él.
, .
Una scgiinda técnica dc redundancia activa es el repuesto de reserva (siandhy replacernen/),
cn esta configuración, una unidad es opcracional mientras que una o más sirven como repuestos.
Varios esquenias dc detccción de crror son usados para dcterminar cuando la unidad operacional se
ha dañado, y si una falla es dctcctada, la unidad opcracional cs rcmovida dc su operación y el
repuesto la rcmplaza, rcgresándolc al sistema su capacidad operacional después de que un simple
daño ha sucedido.
Una terccra técnica de redundancia activa, combina el método dc duplicación y el método de
rcpiicsto de rcserva, cii donde, dos unidades dcsarrollan.los niisnios cálculos y una comparación de
los rcsiiltados tonta lugar, en caso dc que ocurra una discrepancia entre dos unidades, un repuesto es
activado. Normalincnte, sc aplican procediinicntos de detección de error para determinar cual de las
dos unidadcs operacionalcs se ha dañado. Estc coiicepto es a menudo rcferido como la técnica de par
y un repuesto (parand-a-spore).
Por último, en In redundancia hibrida, los métodos combinan las canctcristicas atractivas de
las técnicas pasivas y activas, ya que usan cnmascararniento de fallas para prevenir las fallas del
sistcnia afectado y la dctección de fallas para permitir que un módulo de repuesto sea colocado para
rciiiplazar cI niódulo dafiado.
De acucrdo a la selección de la técnica o tbcnicas aplicadas, un sistema redundante puedc
pasar por algunas de las siguicntcs ctapas cn repucsta a la existencia dc una falla [25]:
Detección de fallas.- En donde se reconoce que atgo inesperado ha ocurrido CII el sistema, y
csta detección puedc scr dctccción fuera dc linea o detccción en linea.
Diagnóstico.- La cual es necesaria si la técnica de detección de fallas no proporciona
información acerca de la localización de fallas ylo propiedades.
Confinamiento de fallas.- En la cual se limita la difusión dc los efectos de la falla a una área
dcl sistciiia, prcviiiiciido la contaminación dc las otras arcas.
Recuperación.- Sc utiliza para clinlinar los efcctos dc la falla, y rccupcrar cl cstado corrccto
del sistema.
Recoiifigurnci6n.- Sc rcquicre cuando sc localiza una falla pcrmaiictite ya quc, cI sistema
rccoiifígura sus coinpoiicntcs sustituycndo cl componcntc daiiado o la aisla dcl rcsto dcl
sistcina.
Reinicio.- Ocurre despiiks dc la rccuperación de información no dañada. Puede scr un reinicio
“ca/iert/e” ( “hoi ‘7, quc continúa todas las operaciones si no ha ocurrido ningún daiio, un
I
rcinicio "lib" ( ‘ ‘ I v ~ r f ? t ’cl
’ ) cual inipiica quc solamcntc algunos dc los procesos I>ucdcii
rcaiiudados sin perdidas y un rciiiicio ,‘/irlo”(“cold”)q u i corrcspoiidc a iiiiciar por coiiiptcto
CI
sistema puis no hay ningiin proccso sobrcvivicntc.
Reparación.- Es cuaiido un componente diagnósticado como dañado es recmplazado, ya sea
eii linea o fuera de ella.
Reintegración.- El módulo rcparado dcbc scr reintegrado en el sistema. Para reparación eii
linea, la reintegración debc ser hecha sin interimpir la opcración del sistema.
En el caso del SMCR, el interés de aplicar redundancia de hardware dentro de cada módulo
MCR, es para que el sistema detectc cuando se ha producido alguna falla en uno de los nodos, la
soportc niicntras sc localiza el tnódulo cn quc sc produjo para dcspués aislar cl nodo dañado del resto
dcl sistciiia de inaiicra quc este pucda seguir funcionando en forma corrccta. Es dccir, el sistciiia dcbc
pasar por las etapas de dctccción, diagnóstico y confinamiento.
Por lo tanto, el objetivo del diseño redundante del módulo MCR (tolerante a falla), es el ‘de
detectar la Ocurrencia de una falla y evitar que se propague en todo el sistema aunque no se tenga la
recuperación en linea del nodo, sin embargo el sistema deberá seguir funcionando correctamente,
para lograr esto sc considcró quc lo mas adccuado cs aplicar la técnica de rcdiiiidaiicia activa dc
dupliczzción con comparación para poder dctcctar la prcsencia de fallas en alguno de los nodos y
a v i a r un mcnsajc dc error para quc alguna acción de corrección sca tomada, ya quc las otras
thnicas JI rcduiidancia activa rcquicrcn dc un repuesto. Adcmas se implantara una tbciiica pasiva
dc eiiiiiascaramicnto dc fallas para quc el SMCR pueda realizar su operación a pesar de existencia do
alguna falla. Estas tkcnicas se piensan aplicar cn los puntos críticos del SMCR, para lo cual es
iieccsario cstiinar cuaiititativaiiictitc alguna variablc con la cual pucdaii dctcrininarsc.
2.3.- Mediciones de Fiabilidad.
En general, la vida de un sistema es vista por sus usuarios como una alternación entre dos
estados dcl servicio cntrcgado con rcspccto al scrvicio cspecificado 1261:
L a realización del servicio, donde el servicio es cntrcgado es tal unno se especifico,
L a interrupción del servicio, donde cl servicio entregado no es el servicio cspecificado.
Los eventos quc constituyen la transición entre estos dos estados son el daño y la
recuperación. Cuantificando esta alternación cntre realización-iiitcrrupción se pucde llegar a tres
medidas de fiabilidad. Las nicdicioncs dc fiab,ilidad son dirigidas a cuantificar la calidad del servicio,
el cual es proporcionado al usuario con rcspecto a la manifcstación de un error o daño. Estas
mediciones son:
’
Confiabilidad (Renhili/y), es una medida dcl servicio continuo realizado desde un instante
de rcfcrcncia inicial. La confiabilidad de un sistema como función del tiempo, puede
dcfiiiirsc como la probabilidad condicional de quc cl sistema ha sobrcvivido cl iiitcrvalo
(O, t), dado qiic comenzó a operar cn cI ticmpo t=O.
16
CAPIIUID 2: Fallas Pmcnlis cn les Sidemas
Disponibilidad (Avai/obi/iiy), es una medida del servicio realizado con respecto a la
alternación de realización e intcrnipción. La disponibilidad de un sistema como una
función de ticnipo, es la probabilidad quc el sistema este opcraiido en cualquier instante de
tiempo t. La disponibilidad liinitc es la proporción espcrada de tiempo que cl sistema este
disponible para ejecutar cálculos útiles.
1
Conservabilidad (Matminabiliiy),a¡ cual es una medida de la interrupción del servicio
continuo, o cquivalciitenicntc, del ticiiipo de restauración.
I.
Para el caso del SMCR, la incdida escogida para calcular su fiabilidad fue la confiabilidad,
ya que rcprcsenta e1 funcionamiento corrccto del sistema diirante un tiempo dcterniinado. El estudio
dc confiabilidad del SMCR y la dcterminación de los puntos criticos donde es necesario aplicar las
técnicas de redundancia para ejccutar la tolerancia a fallas son mostrados en el siguiente capitulo.
17
!
CAPITULO 3
ESTUDIO DE CONFUBILIDAD
DEL SMCR ACTUAL.
Introducción.
En este capitulo se presenta los pasos necesarios para poder llevar a cabo un estudio de
confiabilidad de cualquicr sistema electrónico a partir de sus características de falla Además se
muestra el esíudio realizado al SMCR y los resultados obtenidos.
3.1.- Concepto de Confiabilidad.
La conjobilidod de un sistcnia electrónico puede ser definida como la probabilidad de que el
sistcma ejccute su misidn o función especijica satisfactoriamente bajo condiciones establecidas, por
un pcriodo de ticrnpo dcteniiinado. El tkrmino de misión o función especifica se refiere al objetivo
singular, tarea o propósito del sistema [27].
indcpendicntcmcntc de la complejidad del sistcnia, su confiabilidad pude mcdirse mcdiantc
un valor de probabilidad y expresarse por un número, el cual.se obtiene a partir de las características
del sistenia, utilizado las técnicas y medios que brinda la estadistica y el cálculo de probabilidades,
particndo dc unos datos bases y de las confiabilidades de los componentes que lo integran. Cuanto
18
CAPITULO 3: Estudio dc Corilíabilidad.
más ajustados a la realidad sean los datos de partida, más exacto será el valor calculado de
confiabilidad del sistciiia. Para poder Ilevar..a cabo cste cálculo, se debcn realizar dos análisis: ,uti
análisis cualitativo y un análisis cuantitativo. Cada uno de cllos se cxplica más dctalladamentc en los
siguientcs apartados.
3.1.1.- Andisis Cualitativo.
El inálisis cualitativo es el proceso que ayuda a identificar los diferentes modos de falla de
las partes del sistema, que contribuyen a la no confiabilidad o probabilidad de daño. Con este análisis
se espera [28]:
Identificar las zonas débiles en cl diseño del sistema.
Valorar la importancia rclativa de las fallas identificadas.
Proporcionar una serie de. datos, que ayude a realizar el análisis cuantitativo
El proccdimiento seguido para rcaliz+r cstc análisis pude rcsumirsc en tres pasos:
I ) Identificar las fallas importantes y sus posibles consecuencias
.-
2) Rcprcsentar la información obtcnida en el paso antcrior cn un árbol de fallas, diagrama a
bloques u otro formato.
3) Evaluar la confiabilidad del sislciiia de acuerdo con la información obtenida et1 los pasos
antcriores y rcsolvcr los problcmas identificados.
3.1.2.- Uso del Árbol de Fallas como Herramienta en el Anllisis Cualitativo.
El diagrama más utilizado cn el análisis cualitativo de confiabilidad es: el drbol de.f¿llas,el
cual representa al sistema en términos dc los cvcntos que conducen a las fallas [29].
El árbol de fallas es una técnica analítica, en la cual las fallas que contribuyen a un efecto
indcscado (evento critico dcsde el punto de vista de seguridad), sc organizan deductivatnctite, para
luego rcprcsentarlas en un diagrama.
El diagrama se genera en base a las fallas identificadas y las posibles consecuencias que
pueden ocasionar, representando gráficamente, las conexiones lógicas y las relaciones causa-efeko,
cntrc los eventos básicos dc falla y otras condiciones quc conducen al evento indcseado o evento tope;
es una cspecic de diagrama de fallas, cuya estructura asemeja a la de un árbol, donde la información
fluye dcsde los extrcinos de las ramas, y converge al evento tope.
La rcprcscntación dc los eventos topes y las operaciones en un árbol de fallas, asi como su
siiiibologia utilimda se muestra cn la figura 3.1.
19
CAPITULO 3: Esludio de Conliabilidad.
96
I."..,...
SIMBOI.OS D E COMPUERTAS.
..
..
Figura 3.1. Ejemplo Tipico de un Arbol de Fallas y Simbología Utilizada.
20
,
.-
. .
..
--
CAPITULO 3: Estudio de Coiifiabilidad.
Para la construcción de un árbol dc fallas se dcbcn seguir los siguientes pasos:
I ) Dcfiiiir un cvciito topc, el cual cs considerado el punto dc partida dcl árbol dc fallas
2) Definir como ramas principales del árbol a' los evcntos que conduzcan directamente al
evento tope, y decidir el tipo de compuerta que deberá usarsc para relacionarlos con él.
3) Seleccionar una de las ramas principales y deducir su próximo nivel o sub-rama, de la
misma manera que en las ramas principales. El proceso se repite con cl resto de las ramas
principales hasta terminar. La terminación de una sub-rama ocurre cuando el evcnto que
se considera es un evento básico (falla básica) o cuando se usa una compuerta de
transfcrcncia dcbido a quc el sub-arbol fue desarrollado en otro lugar.
3.1.3.- Anilisis Cuiintitativo.
El análisis cuantitativo de confiabilidad es el proceso que complementa el análisis cualitativo
y su propósito fundamental es determinar numéricamente la confiabilidad de un sistema, a partir de
las caractcristicas de falla de los componcntes que lo forman. Para obtener cl valor de la
confiabilidad, el análisis cuantitativo utiliza la experiencia operacional de los componentes del
sistema para prcdccir su probabilidad dc kxito, o de daño, es decir, utiliza lo que se conocc, acerca de
las caractcristicas de los conipoiicntcs. La validcz dc los resultados obtenidos, csta limitada por la
calidad y cantidad dc los datos disponibles P O ] . Para rcalizar el análisis cuantitativo hay que scguir
estos pasos:
I ) Modelado niatciiiático: Se define una expresión matemática que relacione la lógica y los
componentes que son utilizados. El modclo, que representa al sistema, se obtiene a partir
del diagrama a bloques dc confiabilidad o del árbol de fallas, con ayuda de las técnicas
para el modelado de sistemas. Una vez que el modelo se define, se puede hacer una
sustitución numirica para obtener un valor de confiabilidad.
2) Paránietros de entrada: El numero de parámetros dc ciitrada requcridos para el análisis de
confiabilidad depende de la selección y sofisticación del modelo matemático. Los
parainetros utilizados en este trabajo son solamcntc dos: las razones de daño y el tiempo
de misión, el cual proviene de la misión dcfinida para el sistema y está limitado por los
intervalos de prueba del sistema.
3) Cálculos de prueba: Una vez que se definió la misión del sistciiia, sc gciieró cl modclo
matemático y se entablaron los parámetros de entrada, se puede realizar un GACUIO de
prucba para verificar cl resultado dcl proccdimiento calculando la probabilidad de daño
(Q) y sumándola con el resultado obtenido de confiabilidad (R), la suma, dcbc ser la
unidad con un error insignificante, de acuerdo a los principios fundamentales de la
probabilidad. Esto es:
RiQ=I
cn caso contrario cl proccdimicnto dcberá vcrificarse.
21
CAPITüLO 3: Estudio dc Conliabilidad.
3.1.3.1- M o d e l r d o de Sistemas.
!
Para evaluar la confiabilidad de un sistema se requiere un nietodo que refleje la conectividad
de la confiabilidad, de todos los componentes que lo integran. Esto se lleva a cabo estableciendo una
relación entre la confiabilidad dcl equipo, y las partes individuales o razones de daño de sus
coiiiponciitcs
Usualmcntc la distribución matcmática quc caractcriza la razón dc daño de un componcntc sc
considera constante ( A ) , por lo que la distribución exponencial es la más empleada en la predicción
de la coiifiabilidad de componentcs, ya que rcprescnta una buena aproximación de la distribución
verdadera sobre un intervalo pariicular de tiempo. La expresión matemática de la confhbilidad
durante la vida útil dc los coniponcntcs cs la siguientc 13 I]:
n(rj = e-"
doiide:
R(i) = confiabilidad de componente,
= base de los logaritmos naturales,
A = razóii dc daño,
f =tiempo dc misión.
.e
pese prcscntari a continuación, implican que las
Por lo tanto, las rcglas para la coiiectivi,
fallas están relacionadas a csfucrzos y con una distribución exponencial.
3.1.3.2.- Conectividrd eii Serie.
La configuración serie dc un sistema esta representada por el diagrama a bloques mostrado
en la figura 3.2.
'"ZYL..H-Tl..piSaiida
........... ... ... ..... .
Figura 3.2. Couectividad Serie.
Los sistciiias qiic ticiicn este tipo dc configuración rcquiercn quc cada uno dc los
coniponentcs que lo integran funcione de manera correcta, para que el sistema también lo haga. Por
lo tanto, la confiabilidad dc esta configuración es el producto de la confiabilidad de los bloques
iiidividualcs 1321, csto cs:
l ~ , , j , , ( ~ ) = R i ( ~ ) R , ( ~ ) .=. .nRR, (, ~
( r) )
i=J
doiidc R,,,
(/) rcprcscnta la confiabilidad dcl sistema y
i para un tiempo I
22
R,(I)la confiabilidad de' cada componcnte
f
CAPllWLO 3. Estudio de Confiabilidad.
1
Pero considerando la confiabilidad como una distribución exponcncial sc ticnc que:
esto determina que la confiabilidad dc u11 sistema en serie esta en fuiicióii de la suma de las razones
de daño de cada uno de sus componcntes y del tiempo de la misión del sistema, entonces la
probabilidad dc que CI sistema se daíic cn cualquicr moincnto puede ser rcprcsciitado por:
P,, ( I )
PbS( I )= 1 -
Y
= 1 - R,, ( I )
I"I
I
n
,
n
R, ( I )= I -
(I - I:
(f))
I=l
i=I
3.1.3.3- Coiiectividad en Pñrrlelo.
La configuración en paralelo puede observarse en la figura 3.3, generaltnente representa la
rcdundancia de un coniponcntc [33].
+z+
Wt)
Entrada
Salida
RNt)
Figura 3.3. Coiiectividad en Paralelo.
..
En esta configuración, para que cl sistema opere correctamente y la misión se considere
exitosa es neccsario por lo nicnos que uno de los bloques funcione (lógica 112). Es decir, el sistema
solaincntc se dañara cuando todos los coiiiponcntcs que integran el bloque fallan. La probabilidad de
qiic el bloque o sistema redundante sc daiie esta dada en función del producto de probabilidades de
dano de cada compoiiciitc, esto cs:
( I ) = P,( I ) ' P I( I ) ' ' ' P"(f)
pero P ( f )= 1-R(/)
entonces
1
-,
Ras( I ) = (1 - R, (I)) .(1- R, (I)), .. (1 - X,(f ))
por lo tanto, la confiabilidaddcl sistcma en paralelo está dada por la siguicntc rclacion:
R,(I) = 1 - n(l-R,
i.1
(f)) =
I-
n
i=i
23
I
4 (I)
CAPITULO 3. Esludio de Confiabilidad.
3.1.4.- Modelado de Componentes.
,
El concepto básico cn el cual se fundamenta la predicción y el cálculo numérico de la
confiabilidad, señala que el daio del sistema es el reflejo de las fallas de sus componentes, por
consigiiientc, se necesita itn método que las valore, La aproximación más directa para estimar las
razones de daño de los cornponcntcs, implica cl uso de una gran cantidad de datos recopilados para
obtener las relaciones. Estos datos se simplifican mediante la técnica de la fisica de las fallas y se
presentan en una forma adecuada, talcs como modelos matemáticos, o tablas, para estimar 'las
razones de daño relacionadas a esfuerzos [34]. Existen diferentes fuentes dc datos y metodologia.para
prcdecir la confiabilidad de los componentcs elcctrónicos. Entre las más utilizadas, destaca el manual
militar MIL-HDBK-217, siendo una de las más reconocidas a nivel mundial. Por esta razón, fue
selcccionadacomo fuente de datos para desarrollar este trabajo de tesis.
Se puede decir que los principales objetivos del Manual militar son: establecer y mantener
métodos para estimar la confiabilidad de sistcinas y .quip0 elcctrónico militar, y cstableccr una base
común para comparar y cvaliinr confiabilidad de discños similares. El manual conticne iiiodclos de
daños cxpresados en daños por millón de horas para 23 categonas principales dc componentes
electrónicos, en dondc se cubren los arreglos de compuertas, microprocesadores, memorias, diodos
discrctos, transistores, Iásercs y componentcs fundamentales como 'resistencias, capacitores,
conectores, ctc.. Los modclos se toman dc la versión F dcl Manual militar que incluye la notificación
dc cambios (NOTICE I), con fecha de 10 de julio de 1992.
El modelo de razOn de daño gcncral que sc aplica a cualquiera de estos grupos excepto a los
circuitos integrados, tienc el siguiente formato:
ap = & x Q x E Z O l R O S
donde:
ap = raz6n de daño del componente
4
= iazóii de daño 'base expresada por un modelo matemático que relaciona la influencia de los
lip
esfuerzos eléctricos y de temperatura en el componente.
= factor de calidad
W E = factor ambiental.
.
,
"OTROS = factores X que modifican la razón de daño base y son específicos de cada modelo
En el apéndiw: A se ancxan, los modelos específicos para cada una de las categorias
principales de los coiiiponcntes electrónicos utilizados en el SMCR, asi como las consideraciones
,
correspondientespara cnlcular los fnctorcs quc modifican la razón dc daño.
i
I
3.2.- Evaluación de la Confiabilidad del SMCR.
I
De acuerdo con el conccpto de confiabilidad definido en este trabajo, para obtener cl valor de
confialdidnd hay que definir la misión o función espccifíca, las condicioncs cn quc sc lleva a cabo, y
In duración de la misión.
1
24
--
--.
1
I/
CAPITULO 3: Esiudio dc Coiiliabilidad.
En gcncral, la misión dcl SMCR es rcalizar transfcrcncias de información sin errores entre
los difcrcntcs nodos que intcgran cl sistema durantc'tiempo indcfinido. El SMCR cstara instalado
dcntro de un laboratorio con ambiente moderadamente controlado.
!
I/
/j
d
3.2.1.- Aniílisis Cualitativo del SMCR.
I1
..
Como ya se mencionó, este análisis consta de tres pasos, en cl primero se deben identificar
las fallas del sistema y sus posibles consecucncias, sin embargo este paso fue realizado en la ultima
sección del capitulo uno. En basc a la información obtenida, el siguiente paso es representar esta
información en un árbol dc fallas siguiendo los pasos descritos anteriormente.
/I
f
'I!
1
3.2.1.1- Árbol de Fallas del SMCR.
Debido a la gran cantidad de componentes que integran el SMCR, no se describe
dctalladamcnte todo el proceso seguido para obtener su árbol de fallas, solamente se explica un
cjcinplo basado en una pequeña árca de un módulo MCR, la cual se muestra en la figura 3 4
. .
..L
.-
I
Figura 3.4. Área Seleccionada del Múdiilo MCR.
La misión dcl bloque mostrado en la figura 3.4 es la transfcrcncia de información corrccta a
través del bus cxtcrno para csto cs ncccsario que ninguna dc las líncas de este bus qucdc atorada a un
valor lógico, por lo tanto, sc pucdc concluir quc el evcnto topc cs el bus cxtcrno atorado.
2s
I
I1
CAPITULO 3: Estudio dc Confiabilidad
Las principales causas por lo que csto pucde ocurrir, es que alguno dc los transceptores Rl y
Rt falle, por 'lo cual cstos son cousidcrados wino las ramas principalcs del drbol de fallas. Siguiendo
por la rama principal del transceptor RI, se puede observar que este puede daíiarse si el Flip-Flop
39B falla y este a su vez lo hara si el mon&stable 33A o la NOR 37C fallan, para que la NOR 37C
falle, el inversor 288 o la AND 36C deben hacerlo, el primero fallara cuando la NOR. 37A falle y
estñ falla si la lógica Y también lo hace, puesto que la lógica Y es considerada una falla básica, hasta
aquí queda el desarrollo de esta sub-rama, por otro lado, la AND 36C fallara en caso de que la lógica
X falle. Regresando al monoestable 33A este falla a causa de una falla en la AND 36A y esto es
ocasionado por una falla cn la logia Z.
Trasladandose la rama principal R2, se puede observar que las causas de falla son las mismas
que las de la rama principal de RI por lo cual sc coloca una entrada de transferencia indicando que
CSLI sub-rama ha sido desarrollada en otro lugar. Esqucmáticamcntc, se rcprcscnta cn la figura 3.5.
n
1
I
NOR
MO"O.l.bl*
33A
37c
I
I
280
o
L b p ka
Figura 3.5. Arboi de Fallas del Area del Módulo MCR Seleccionada.
Aplicando estos mismos criterios a todo el SMCR actual, se obtiene cl irbol de fallas
general, el cual cs mostrado cii la figura 3.6.
26
CAPllWLO 3: Estudio de Coníiabilidad.
7 .
.
Figura 3.6. Arbol de Fallas General de SMCR Actual.
De cste diagrama se puede concluir que el sistema no se datiara mientras quc el bus externo o
las fuente dc alimeiitaciótl no fallen, pero el bus extcrno puede fallar cuando, un tcminador de linea o
alguno de los coniponentc~que intcgran los módulos MCR lo hace, por lo que hay que tratar de
evitar q u i cualquicra de estos bloques falle. Sin embargo, es necesario estimar el valor de la
confiabilidad, para poder determinar cuales son los componentes que tienen mas impacto en el
sistema, para lo cual, hay que desarrollar el análisis cuantitativo.
21
CAPITULO 3: Estudio de Confiabilidad.
3.2.2.- Anrilisis Cuantitativo.
Del árbol dc fallas de la figura 3.6, se puedo' obscrvar que para que cl sistema funcione
corrcctamcnte es necesario que tanto la fuente dc alimentación como los módulos MCR y los
terniinadores de linca tambicn lo hagan, puesto que en caso de que alguno de cllos falle se presenta un
daño en el SMCR. De acuerdo con lo anterior, el m+lo de confiabilidad del SMCR quedó definido
por una conectividad serie, donde la confiabilidad del sistema es el producto de las confiabilidades de
los bloques que lo forman y que intervienen en sus funciones. En forma general, podemos decir que el
SMCR está compuesto por los siguientes bloques:
1. Módulos MCR (8).
2. Fuentes de alimentación.
3. Tcmiinedorcs dc linca.
Sin embargo, cada.uno de estos bloques puede ser dividido en los kmponentes que los
intcgran. Analizando el bloquc de los módulos MCR, se puede observar que esta formado por:
Circuitos integrados monoliticos,
Resistencias de carbón (IOk, 15k, 1.5k),
Capacitorcs ceramicos (33pf, 47pf, 18pf, 8.2pf, 68pf).
por su parte, cada una dc las fueiitcs de alinicntaciónestán integradas por:
0
0
Transformador.
Capacitorcs elcctrolíticos (22pf, 5000pf)
Regulador.
Diodos de propósito general.
Resistciicias (IOk, look).
por último, los terminadores.de linca cstán compuestos solamente de:
*, Paquetes dc resistencias.
Los modelos matemáticos para cada uno dc estos componentes, así como, las consideraciones
neccsarias para calcular la razón de daño de ellos, son ancxados en cl apéndice A.
Para iniciar cl cstudio cuantitaivo, se proccdió a estimar la confiabilidad presentada por los
módulo MCR, para lo cual se analizaron los traiisceptores DS3862, calculando la confiabilidad
presentada por cada uno dc cllos a partir de sus caracteristicas de fallas, ya que cstán conectados
directamente al bus externo y se consideran la causa principal de falla. Del aoéndice A. se ve noe I n s
-- .transceptores pertcncccn a la categoría de circuitos integrados y el modelo matemático.~
que
representa
la razón de daño es:
~~
1
7--
--I
Aplicando las considcracioncs adecuadas, las cuales son detalladas cn el mismo apéndice, la
razón de dafio que sc obtiene para cada uno dc estos componciitcs es.
CAF'lTuLO 3. Estudio de Conliabilidad.
2 ~ 1 =~0.00301344
~ s dañoslaño.
cntonces la enfiabilidad dc este dispositivo viene dada por:
-(O.O0301344i)
y la probabilidad de daño es:
RTRANS(0= e .
pTRANS(t)=1- RZWNdt)
'
Calculando para difercntes tiempos se obtienen los siguientes valores:
~~
TABLA 3.1. Confiabilidad y Probabilidad de Daño del Transceptor DS3862
En la figura 3.7 se puede observar la confiabilidad y la probabilidad de daño presentadas por
el transceptor DS3862.
rars(aar)
T*nDoV-l
Figura 3.7. Confiabilidad y Probabilidad de Dafio del Transceptor DS3862.
Sin cnibargo, dcntro dcl módulo MCR existen tres DS3862, y todos deben funcionar
correctamcntc para que cI módulo no falle debido a que tiene una conectividad en serie, por lo que la
razón dc daño dc ese bloque del módulo MCR será la suma de la razón de daño de los tres
traiisceptorcs, csto cs
R I ~ N S T O T A( IL) = (0.00904032t)
e-
por lo tmto, la confiabilidady probabilidad de daño estimadas son:
29
.
CAPITULO 3. Estudio de Coníiabilidad.
TABLA 3.2. Confiabilidady Probabilidad de Daño de los Tres Tranceptores DS3862
Su respuesta se puede vcr representada en la figura 3 8.
Figura 3.8. Confiabilidad y Probabilidad de Daño de Tres Transceptores DS3862.
Como se puede apreciar de las tablas y gráficas obtenidas, la confiabilidad del módulo MCR
disminuye, cuando se toman en cuenta los tres tranceptores, sin embargo del árbol de fallas se puede
observar que el funcionamiento correcto de los módulos MCR no solamcnte depende de estos
componentes, sino que estos a su vez son habilitados por otros componentes, que son
0
NAND74LS00 (3)
NOR74LS02 (2)
MVERSOR74LS04 (3)
AND74LS08 (6)
OR74LS32 (2)
FLIP-FLOP 74LS74 ( 5 )
MONOESTABLE 74LS I23 (6)
TRANSCEPTOR 74LS240 (1)
GENERADORNERIFICADOR DE PANDAD 74LS280 (2)
LATCHES 74LS374 (4)
INVERSOR DE COLECTOR ABIERTO 74LS06 ( I )
PALEP610 ( I )
RESISTENCIAS DE CARB6N (IOK, 15K, I 5K, 1 K )
CAPACITORES CERAMICOS (33PF, 47PF, 18PF, 8 2PF, 68PF )
30
CAPITULO 3: Esiudio de Coníiabilidad.
Entonces, hay que calcular la razon de daño para cada uno de estos componentcs. Aplicando
los métodos descritos en el apéndice A para los componcntes que pertenecen la cat goria dc circuitos
integrados nionoliticos sc obtuvieron los resultados mostrados en la tabla 3.3.
f
DESCRIPCI~NDE COMPONENTE
RAZÓN DE VANO
0000183084
Monoestablcs 74LS 123
O 000223161
O 000223643
TABLA 3.3. Razones de Daño de los Componentes del Módulo MCR
De la misma fonna, las razones de daño de cada uno de los capacitores cerámicos que
intervienen en el módulo MCR soil las mostradas en la tabla 3.4.
TABLA 3.4. Razones de Daño para los Capacitores Ccrárnicos del Módulo MCR
Por ultimo, para todas las resistencias de carbón utilizadas en el módulo MCR, la razóii de
daño es la misma ya que ninguna de ellas e x d e el valor de 1M y es mostrada en la tabla 3.5.
Ir
7
IIESCRIPCI~NBE COMPONENTE
Rcsistencias de 15k, 1Ok. 1.5k
RAZON IIE DAÑO (a )
0 0003 I785
TABLA 3.5. Razón dc Daño para las Rcsistencias dc Carúón dcl Módulo MCR
Una vcz detcnninadas las razones dc daño para cada uno dc los componentes que afectan el
comportamiento del módulo MCR se dcbe obtcner la razón de daño de los módulos en general que es
la suma de las razoncs de daño de todos los componcntes, entonces sc tienc que:
AA/O/I = 3ATkANsS + '%Al. + 3ANAND + 2aNOR + ÁINV + %ND + &I< + 5+1: + 6&0N
+ h A N , S I + 2 k l { N + 4 a / ~ 7 ~ ~ i + 6 ~ 1 1 0 k + 2 ~ ~ I S k + ~ . 5 k + ~ k + ~ ~ X . 2 k+4ÁC47,/
+4ÁC33pf
+ k i 8 / > / + ÁCGB/>J + ÁCX.Z/iJ
31
CAPITULO 3: Estudio dc Coiiliabilidad.
&OD
= 0.0250136 daños laño.
y
R ( f ) = e- (;znnoUt) = e-0.02501362
Calculando paraI diferentes tiempos:
TABLA 3.6. Confiabilidad y Probabilidad de Daóo del Módulo MCR.
Su representación grAfica puede observarse en la figura 3.9.
Figura 3.9. Confiabilidad y Probabilidad de Daño del Módulo MCR.
De los cálculos rcalizados y las gráficas obtenidas se puede llegar a la conclusión quc los
coinponcntes que más impactan la confiabilidad del módulo soli los transccptorcs DS3268, ya que
representan aproxirnadamcnte niás dcl 50% de la razón de daño del módulo y por lo tanto se debe
proponer uti diseño con tccnicas de rcdundancia que incremcntc la confiabilidad dc estos
componcntcs y a la vez disminuya la probabilidad de daño dcl módulo MCR.
Hasta ahora, solanientc se Iia calculado la confiabilidad dc un módulo MCR, pero también es
necesario cstimar la confiabilidad presentada por el bloque dc las fucntcs de alimcntación y por cl
bloque dc tcrminadorcs, por lo quc se requiere calcular la confiabilidad de los cornponcntes que
iiitcgran estos bloqucs. Para cI caso de la fucnte de alinicntación, las razones de daiio de cada uno de
los componentes que la intcgran son las siguicntcs:
32
COMPONENTE
Transformador
Diodos de propósito general
Capacitor clcctrolítico 22pf
Capacitor electrolítico 5000pf
Regulador
Resistencias IOk, lOOk
R A Z ~ N B E I I A Ñ O( A - ) daAos/aAo
0.00938419
0.001294
0.0103
0.0273 14
I
'
0.0027556
0.0003 I785
TABLA 3.7. Razón de Daño para los Componcntcs de una Fuente de Alimentación.
Para calcular la razón de daño de una fuentc de alinientacion se suman las ramncs de daño
de cada uno de los componentes, puesto que internamente tiene un modelo dc concctividad tipo serie,
con lo cual se tiene que:
h U E N T E = &RANSF +4%IOI10S
+k
22 p + k5000j1&EG
~ + &lOk + &look
&UEN~E = 0.05557 daiios/año
calculando para difcrentes tiempos:
'TABLA 3.8. Confiabilidad y Probabilidad de Daño dc una Fuente de Aliinentación.
La representación gráfica se muestra en la figura 3. IO.
r-
="%-Id-+
f e 1
Figura 3.10. Confimbilidad y Probabilidad de Daño de una Fuente de Alimentmción.
33
CAPITULO 3: Estudio de Confiabilidad.
Por otro lado, cada tcrminador de linea está constituido de tres paquetes de rcsistencias, y la
razón dc daiío dc cada paqucte vlcnc dada por
+AQlas = 0.000031582 dañodaño
entonces la razón de daño de los terminadores esta dada por.
?qgw = 0.000094746 dañoslaño.
calculando para diferentes tiempos.
II
U
I
TABLA 3.9. Confiabilidad y Probabilidad de. Daño dc un Terminador de Linea.
La representación grafica se muestra en la figura 3. I 1
Figura 3.11 Confiabilidad y Probabilidad de Daño de un Terniinador de Línea.
Una vez detcmiinados todos los posibles factores que afectan el SMCR, es posible calcular
la razóii de falla del sktin1a total, la cual scr6 la suma dc las razoncs dc falla del bloquc dc los
iiiódulos MCR, dci bloquc de las fuentes dc aliincntacióii y del bioquc dc los terminadorcs, con io que
podemos decir que:
&S7.'TAL
= 8&fon 4-2 A T E M -k 2 aFUEN7.E = 0.3 1 144 dañodaño
34
CAPITULO 3. Estiidio dc Coiifiabilidad.
calculando para diferentes tiempos tenemos:
..
TABLA 3.10. Confiabilidad y Probabilidad de Daño del SMCR
su rcprcscntación gráfica sc tnucstra cl la figura 3.12
rW(-l
rmP1-I
Figura 3.12. Confiabilidad y Probabilidad de Daño del SMCR.
De los datos obtenidos, se pucde apreciar que las fuentes de alimentación son uno de los
componentes que impactan en gran mcdida la confiabilidad del sistema puesto que individualmente
presentan una confiabilidad muy baja, sin embargo, este problema puede ser resuclto de una manera
rclativamentc 'facil, mediante el diseño dc fuentes de alimentación redundantes que ofrezcan una
mayor confiabilidad, adcmás si se desea incrcmeniar aún más la confiabilidad dcl sistema, las fuentes
dc alimentación pucden conktarsc en paralelo, de tal forma que cuando una de ellas falla la otra
pueda realizar su función, con lo cual' se puede asegurar que la razón de daño disminuirá
notablemente incrcmentándose por consecucncia la confiabilidad del sistcma.
El problciiia del diseño cntonccs se encuentra en incrementar de alguna manera la
confiabilidad dc los módulos MCR que como se vio depende de l a confiabilidad presciitada por los
transceptores DS3862, por lo que cn cI nucvo diseño se debe aplicar alguna tknica de redundancia
cn cstos coniponciitcs, dc forma quc cuando algúii módulo dc MCR atorc cl bus cxtcrno a un valor
lógico sc pueda detectar la falla de alguna nmera y el sistema siga funcionando correctamente.
Es dccir, en el trabajo se optó por aplicar la tCcnica de rcdundancia de duplicación con
coniparación'cn la lineas dcl bus externo dc forma que cuando ocurra alguna falla cn cualquiera de
ellas debido a fallas cti los transccptores, al moniento de realizar la comparación, se genere uña señal
dc crror por medio de la ciial cI niódulo en donde se generó la operación dctccte l a existencia de una
35
CAPITULO 3: Estudio dc Conliabilidad.
falla, es decir, se considera necesario duplicar las lineas de control y las lineas de datos/direcciones
para poder dctcctar la existencia de una falla, además se utili&ira una técnica de redundancia pasiva
de enmascaramiento para que a pesar de la existencia de una falla la operación pueda ser ejecutada
correctamente, ahora bien, si debido a la existencia de alguna falla se pretende escribir en una zona
de memoria reservada por algún otro nodo se debe contar con un mecanismo que evite que la
operación se ejecutada, para esto se picnsa incluir un bloque para reservar zonas de memoria en las
cuales solamente el nodo que lleva a cabo la rescrvación va a poder realizar operaciones de escritura:
La implantación de comparación y enmascaramiento en las lineas de control es my sencilla
puesto quc el transccptor en este caso’solamenteestá actuando como transmisor y nunca es receptor
por lo que las señales pueden ser comparadas simplemente por medio de una compuerta XOR de
forma que si dos señales a comparar son iguales, la salida dc la compuerta será un “O” lógico, pero si
son diferentes la señal será un “I” lógico, y serán enmascaradas por medio de una compuerta OR de
forma que si ocurrc una falla se tome una decisión sobre el valor adecuado de la linea. Por el
contrario para realizar la comparación en las lineas de datos/direcciones el problema se welvc un
poca. más coinplicado por que aquí los transkptores están operando tanto como transmisores como
receptores por lo que algunas veces serán salidas y otras actuarán como entradas por lo tanto lo que
hay que reorientar un poco el diseño actual. El plantcamiento del nuevo diseño se presenta en el
capitulo siguicntc.
. .
36
CAPITULO4
DESCRIPCION GENERAL DEL
MODULO MCR TOLERANTE A FALLAS.
Introducción.
En base al estudio dc confiabilidad mcncionado en el capitulo anterior se plantean los
requeriniicntos dcl nuevo módulo MCR, el cual tendra, dcsdc el punto dc vista dcl usuario, las
mismas funcioncs que cl módulo a substituir aunquc scra más robusto.
d
4.1.- Configuración Propuesta.
El niicvo SMCR debe scr capaz dc tolcrar aqucllas fallas quc IC
causan cl bloquco total, talcs
como las fallas prcseiites en el bus externo, aplicando alguna tknica dc tolerancia a fallas con la cual
adcniás dc dcicctar el error quc sc prcscntc, pucda obtcncrsc un iiicrcmento cn su confiabilidad. Con
base en esto y cn el estudio dc confiabilidad realizado se llegó a la conclusion de que las acciones
tomadas por el SMCR anic la ocurrcncia dc alguna falla serán las de enmascaramiento, dcteccion,
confinamiento y localizacióii dc las fallas para lo c u d se utilizará la técnica de duplicación y
coiiipnrnción junto con una tkiiica dc cnniascaraitiicnto Iincicndo uso de buscs redundantes, debido a
quc sc detcrmiiió quc cs CIpunto más critico del sistcma. El uso de rcdundancia'en el bus cxtcrno
rcprcseiita adcmás un incrcnicnto de la confiabilidad del SMCR pucsto quc como se mencionó en el
capitulo 3, el SMCR podrá ser considerado como un sistema con conectividad paralela.
I
31
1
CAPITULO 4. Descripción General.
Por otro lado, otra forma de tratar de incrementar la confiabilidad será modificando la etapa
de control mediante la reducción de componentes involucradas y utilizando componetitcs que
presenten una confiabilidad más alta como son las memorias EPROM, tomando en cuenta todo esto
se propone la configuración de la figura 4. I .
L
PC 1
t-,
BUSAT
o
o
PC"
M
BUSAT
r
Figura 4.1. Configuración Propuesta para el SMCR.
En la figura 4.1 sc puede observar que esta configuración cumple con las mismas funciones
del módulo a substituir, es decir cada uno de los nodos puede escribir información a los diferentes
iicdos dcl sistcnia y leer la información contenida cn su propio mdulo; sin embargo, en este esquema
se añade el bloque encargado de ejecutar la tolerancia a fallas.
38
CAPITULO 4: Descripción General.
4.2.- Descripción Funcional.
El módulo M C R tolcrante a fallas consta de cinco grandes bloqucs como puede obscrvarSe en
la figura 4 2, cstos son el bloquc de interfaz al bus AT, la unidad de control, el bloque de memoria, el
bloque de detección de crrores y el bloquc dc intcrfaz a los buses externos
BE1 BE2
Bus AT
Figura 4.2. Diagrama a Bloques del Módulo MCR.
.E¡ bloque de interfaz al bus AT es muy sencillo, se encarga de decodificar las señalcs dcl bus
AT,paiipermitir cl acceso al módulo y rcalizar las operaciones de lectura o escritura al bloque de
memoria,. además se encarga de almacenar la información transmitida por este bus, hasta que la
opcración haya sido ejecutada. 'Por otro lado inediante esta interfaz se realiza el acceso a alguno de
los puertos de E/S dc la PC.
La unidad dc control sc dcdica a gcncrar las scñales necesarias para permitir el flujo de
información del bus AT a los buses cxternos y viceversa; además pemiitc realizar las opcraciones dc
lectura o cscritura al bloqiic dc nicnioria.
. .
El bloque de deteccibii dc crrorcs por su parte se encarga de comparar las señales recibidas
por los buses externos y registrar si se ha producido alguna falla en uno de ellos, además sc encarga
dc cninascarar dicha falla para podcr ascgurar quc sc realice la operación en proceso correctamente y
al niisnio tiempo cnvia al proccsador dcl nodo solicitnntc una señal de error.
Por Último, el bloquc dc interfaz a los buses externos transmitc o recibc la infoniiación a
escribir en la nicmoria, detecta la prioridad del módulo y genera una intcmpción propia del sistema.
39
.
. ..
.
CAPiTüLO 4: Descripción General.
. .
,
La fgura.4.3 mucstra un diagrama a bloques más detallado del módulo MCR.
1,
-7
I.
~
1
:16n
res.
..................
I
Comparador
Dirl
conlrol
ci6n
fallas
en los
control
~
Memoria
r
AT
BUS
Registro de
fallas
I
Prioridad
...........................
i
lnterfaz a
los Buses
Externos.
Figura 4.3. Diagrama a Bloques Detallado del M6dulo MCR.
: .
,
. .
'
0
.. . . . . .
':., .
~
,
' I
~
'
..
. .
%os'elcmentos de cada uno de los bloques del diagrama detallado del módulo MCR son:
~ ' '
lntcrfaz al bus AT.
Bloque de Geiieracióii de Solicitudes (BGS).
Unidad de Control.
Memoria Compartida (MC).
Memoria de Verificación (MV).
lnterfaz a los Buscs Extcnios.
Buses Externos (BE1 y BE2).
Bloque de Coniparacióii (BC).
Bloque de Dctccción de Fallas cn los Boscs Extcmos (BDF)
Bloquc de Rcgistro de fallas (BRF)
Bloque dc.interrupción (BINT).
40
CAPlTULO 4: Descripción General.
4.3.- BUSAT.
Dc este bus las liiicas utilizadas son:
Al,, y las siguientes lineas de control.
Las lineas dc datos Do-D15,las líneas de direcciones &-
AEN (Address Enable): Esta señal indica que se está realizando un ciclo de acceso directo a
memoria (DMA), por lo que, el microprocesador u otros dispositivos no pueden usar el bus.
IOR (110 Read): Esta señal se encarga de indicarle a los puertos de Entradalsalida (US)que
deben depositar el dato en las líneas del bus para que pueda ser leido.
MEMR (Memory Read): Esta señal se usa para rcalizar peticioncs de lcctura de datos de la
memoria e indica que el bus de direcciones contiene una dirección de lcctura de una localidad de
memoria válida para la cual el dato va a ser leído.
0'
MEMW (Memory Write): Esta señal se utiliza para escribir datos del bus del sistema dentro de
la memoria, e indica que el bus de dirwcioncs contiene una dirección de una localidad de memoria
para la cual el dato en cl bus de datos va a ser escrito.
MEM CS16 (Memory Chip Select 16): Esta scñal indica quc cl adaptador dcl slot de expansión
puede soportar un cstado dc cspera para transferir 16 bits por el bus de datos en el ciclo de bus
presente.
110 CS16 (110 Chip Select 16): Esta señal se usa para indicar quc el adaptador del slot dc
expansión puede soportar un csiado dc espera para transferir 16 bits por cl bus de datos en el
ciclo dc bus presente.
110 CH'RDY (110 Channel Ready): Esta señal es activada por una memoria o un dispositivo de
EIS de acceso lento, con el objeto dc que se inserten ciclos de espera de 1671scada uno.
BHE (Byte High Enable): Esta señal indica la transferencia de datos de su byte inis significativo
D I S - Ddel
~ bus de datos y en combinación con AOindica el tipo de datos que se está transmitiendo
scgún sc mucstra cn la tabla 4. I .
Transfcrencia de palabra.
Transferencia del byte alto.
Transferencia del byte bajo.
Combinación no válida.
Tabla 4.1. Tipo de Operación.
iRQ5 (Interrupt Request 5): Esta sciial cs utilizada para por el bus del sistema para gcnerar un
petición dc iritcrrupcióii al microprowsador ,
41
CAPIlULO 4: üescripcióii Fciicrol.
4.4.- Bloque de Generación de Soliciíudes (BGS).
Este bloque ticne la función dc almamar la orden de opcracióii que sc dcsca realizar en el
nidulo, independicntcnicnte dc quc &sta provenga del bus AT o dc los buses externos, y una vez
rccibida, sincronizarla con cn reloj interno dcl modulo y mantcncrla ahí hasta que la operación sea
llevada a cabo con éxito o abortada.
4.5.- Bloque de Comparación (BC).
Este bloquc se encarga de comparar la información recibida por los dos buscs cxtemos, con
el propósito de enmascarar eualquicr falla prescnte en cl bus y que el SMCR pucda seguir operando
correctamente.
.
.
4.6.- Bloque de Deteccih de Fallas en los Buses Externos (BDF).
Este bloque rccibc la información de los buses extcrnos la compara y determina s i se ha
producido alguna falla en ellos, en caso de que esto suceda cnvia una señal de crior al procesador
advirtihdole la existencia de dicha falla.
4.7.- Bloque de Registro de Fallas (BRF).
Este bloquc consta de dos registros, en uno de ellos se almacenan las scñales que determinan
la causa que gcneró la señal dc advertencia, ya que csta puede ser generada a causa dc: la existencia
de tina falla en alguno de los, buscs externos, que la dirección en la que se intentó cscribir no es
válida' que se gencró la iiiterrupción entre nodos dcl sistema (la cual se genera cuando se escribc en
la dirección j de la PC j), o que cI iiempo de operación ha sido demasiado y la operación ha sido
abortada: Cuando la causa es la existencia de una falla se almacenan en cl otro registro las señales de
comparación generadas por el bloque de detección de fallas en los buses externos, para que una vez
que la señal de advertencia llegue al procesador del nodo solicitante se pueda detectar en que linea
del bus extemo &ti presentc la falla.
4.8.- Bloque tle InterrupciUn (BINT).
Este bloquc es el en'cargado de generar la intcrrupción lRQ5 dcl bus AT. Esta scfial puede
ser activada debido a una interrupción entre nodos del sistema, que se ha presentado alguna falla eii
alguno de los buscs externos, que se ha tratado de escribir cn una zona de memoria rescrvada o que cl
tiempo en realizar la operación ha sido dcmasiado y la operación fue abortada.
4.9.- Unidad de Control.
Esta unidad recibc las scñales del bloquc de generación de solicitudes, la señal de mayor
prioridad, la scñal quc dctcrniina cual memoria (dc verificación o compartida) se desea accesar. Con
cstns scñnlcs sc gciicraii las scñalcs ncccsarias para llevar a cabo las operacioncs dc lcctura o
42
CAPITULO 4: Descripción General.
escritura, as¡ como la señal de“WAIT’, la cual cuando se rcquierc indica al procesador de ese nodo
que cn ese momento debe suspender su procesamiento y no realizar ninguna otra operación, además
también permite el flujo de infomacion a trads de la interfaz a los buses externos.
4.10.- Bloque de Memoria.
Este bloque está ubicado en la dirccción DXXXX del primer mcgabyte del mapa de memoria
de la PC y se divide en dos
Memoria de Verificación (MV).
Mcinoria Compartida (MC).
La memoria se selecciona escribicndo por medio de un puerto de EIS un “O” lógico o un “1”
lógico dependiendo de la memoria que se desea accesar, cuando se escribe un “I” lógico la mcmoria
que se accesa es la nienioria de verificación la cual solamente cuenta con 8Kbytcs y su cscritura se
realiza solamente por byte en direcciones pares, es decir se puede accesar de la dirección DOOOOH a
la D7FFEH siempre que & sea igual a cero, esta mcmoria se utiliza para registrar las direcciones
reservadas por el usuario y cn las cuales no podri llcvarse a cabo ninguna operación de escritura
cxtcrna, cada bit de la mciiioria dc vcrificación rcprcscnta un byte de la mcmoria compartida. Con
esto se impide que ocurran fallas dcl tipo maliciosas.
Por el contrario, si se escribe un “O” lógico se selecciona la memoria compartida, esta cuenta
con.64Kbyte y las escrituras pucdcn realizarse por byte o por palabra cn todo el rango de
dircccioncs, es dccir sc pucde cscribir dcsde la dirccción DOOOOH hasta la DFFFFH. En csta
niciiioria se alinacciia solamcntc la iiiforiiiacioii rccibida a travbs dc los buscs cxtcriios.
4.11.- Buses, Externos.
Estos buses a diferencia del anterior solo están constituidos por doce. líneas cada uno, debido
a que han sido duplicados, sin embargo siguen trabajando con lógica ncgada. Ocho lineas sirvcn para
transmisión de datosídirecciones y las cuatro restantes son las lineas de control:
BUSY.- La cual con un nivel bajo (“I” lógico) indica a los módulos del sistema que el bus
se encuciitra ocupado.
W.-Con su señal eii nivel bajo (“I” lógico) indica que el byte de datoso direccioncs que se
están recibiendo por los buses externos es valido para una escritura y dcbc ser capturado.
?
..,.li‘
I
-
* BIIE.- Cuando Cs’ un nivel bajo (“I” lógico) indica que se esta transmitiendo un byte bajo y
cuando es un nivel alto (“O” lógico) se esta transmitiendo un byte alto.
ERROR.- Esta linea con un nivel bajo (“1” lógico) indica que se ha tratado de escribir en
una zona de memoria rcscrvada
43
CAPITULO 5
DISENO DETALLADO DEL MODULO MCR.
Introducción.
. .
.
.
,
.
Hasta el momento se. ha expuesto lo refcrente a los requerimientos del nuevo módulo MCR y la
descripción funcional de cada uno de sus bloques. Este capitulo toma los conceptos definidos para
describir con detalle cada uno de los clementos dcl múdulo MCR, asi sus diagramas de tiempos y de
estados de los protocolos de l&tura y escritura.
'
'
5.1.- Interfaz al Bus AT.
Para comenzar,;se describirá detalladamente la interfaz al bus AT, la cual pucde ser dividida
en scis partes como se observa en la figura'S!l, los registros al bus AT, cl bloque dc deeoditicación, la
selección de memoria, el registro dc BHE, la gcneración de la señal de espera (WAIT) y la generación
de la scílal de interrupción (IRQ5), el funcionamiento de cada uno de estas partes se describe a
continuación.
..
44
CAPITULO 5: Diseño dcíalladodel m6dulo MCR.
I
i
t
.
!
! Unldad i
~
..
R e g i ~ l i al
~s
j
Bus AT.
Bloque
ae
Decodlicasl6n.
de
j
..........................
L
1
I
4--~-
.................. ......,
:
:
i
j
Registro
j
. .
INTERFAZ AL BUS AT.
Figura 5.1. Interfaz al Bus AT.
5.1.1.- Registros al Bus AT.
Los registro del bus AT son ocho como se ilustra en la figura 5.2, seis son registros de entrada,
mientras que
. .los dos restantes son de salida.
... .
.
,.
.
,
Los registros de entrada son CI y CI para recibir los datos (16) de escritura, C3 y Cq para
recibir las direcciones (16) dc escritura y por Último C5 y Cspara recibir las direcciones
dc'lcctura.
L o s registros dc salida son
CIy Cglos cuales se utilizan para entregar los datos (16) de
lectura, así como el valor almacenado en el contcnido dc memoria a n t a de ser escrito
(instrucción dcl tipo pnicba y cambio).
I ::,,Tanto los rcgistros de ctitrada como dc salida son activados para atrapar sus datos o
direcciones por incdio de las señales proporcionada por cl bloque de decodificación (DMC) y por las
scñalcs de control dcl bus AT (MW, MR), sin embargo las señales requeridas para que estos datos
sean prescntados a la salida de los rcgistros son proporcionadas por la unidad de control.
45
CAPITULO 5: DiseRo detalladodel módulo MCR.
i
I
Figura 5.2. Registros al Bus AT.
5.1.2.- Bloque de Decodificación.
El módulo MCR se ubica dentro del primer megabyte de memoria del sistema de la PC, su
tamaño es de un segmento de 64 Kbytes y está ubicada a partir de la posición DOOOO, una vez
decodificado este segmento se gcncra la scñal DMC, la cual permite accesar la tarjcta de interfaz
. .
%
..
Figura 5.3. Bloque de Decodificaci6n.
46
CApITlJLO 5: Diseño dciallado del modulo M a .
’. La decodificación de esta dirección se realiza mediante un PLD EPLD610 (Bi) como se
advierte en la figura 5.3,al cual se IC proporcionan las lineas de direcciones A~Ai9juntocon la lineas
de control AEN, IOR c IOW del bus AT, puesto que también, este bloque se encarga dc decodificar las
solicitudes ya sea de lktura o escritura a los puertos 3 LOW, 3 1LH, 3 12H (DMV)y 3 13H. Las
funciones que deben cumplirse dentro de Bi para generar cada una de estas señales son:
Esta señal es activa ( “ O lógico) wmo ya sc mencionó anteriormente cuando se divicciona el
módulo MCR.
P310 = A9 * As * A<* A l * ’A:
Aq * A<* A;* Al’*
G?10R * IOW
Esta scñal se activa (“O” lógico) cuando se requiere entregar al bus AT el dato almacenado eii
el registro que realiza la instrucción del tipo prucba y cambio (fesf and se/), mediante una lectura al
puerto 310H.
P3 I I = A i * Ai * A<* As” A<* Aq * A3’* A;* Ai ’* A,* IOR
* IOW
. Si esta scñal se activa (“I” lógico) ocasiona que se entreguc al bus AT el dato almacenado en
el registro que contiene el idcntificador dc cada módulo y que determina su prioridad cn sus cuatro bits
menos significativos y cn sus cuatro bits más significativos la causa quc gcnero’la scñal de interrupción
(IRQ5) dcl bus AT cuaiido &a sc producc. La scñal se activa cuaiido se rcaliza una Icctura al pucrto
311H.
DMV
A9
’
As * A,’* As’* Ai’* A, Al’* A*’*
Al
* Ao” 10R * 1OW’
Cuando esta señal es activada el’’
lógico) se selecciona el registro con el cual se determina el
bloque dc memoria quc se desea accesar (Mcmoria Compartida o Mcmoria dc Verificación). Esta scñal
sc produce ejecutando una cscritura al puerto 3 12H.
.. . .
P3 13 = As * As * A;*
A6’* A,’* Aq * A3’* A2’* A, * Ao* IOR * IOW’
Si esta scñal se activa (“I” lógico) se selecciona el registro en donde se almacena la
infonnacion en la cual se puedc detectar que linca del bus cxterno presenta la falla, mediante una
lectura al puerto 313H.
.
5.1.3.- Selección de Memoria.
Este bloque ticnc la función de configurar el módulo MCR en el modo de operación deseado,
dcpendiciido dcl banco dc memoria quc se desca utilizar, ya que conlo se menciono en el capitulo
anterior, el bloque de nieinoria pucde ser dividido en dos, la memoria de verificación (MV) y la
mcinoria compartida (MC).
41
CAPITULO 5 : Discño dcialladodel módulo MCR.
Figura 5.4. Selección de Memoria.
La configuración es muy sencilla como se puede aprecia en la figura 5.4, esta integrada
solamente de un flip-flop (B2) el cual, es cncendido cuando la señal DMV que proviene del bloque de
decodificación es generada, a causa de una orden de escritura al puerto 312H, la entrada del flip-flop
está dada por el dato presente en la linea de datos Doen el momento de su activación, por lo tanto el
dato escrito al puerto 3 12H es almacenado cn Bz, La señal de salida le indica a la unidad de control
seleccionada. Si “S? es un “ O lógico el bloque de memoria seleccionado es la MC, por cl contrario
cuando es un “1” lógico el bloque acccsado es la MV.
,
.
5.1.4.- Registro de Ir Seíirl BHE (Bus High Enable).
Dcbido a que cuando se dcsca rcalizar una opcracioii de cscritura cxtema cs ncccsario
indicarlc a los otros módulos MCR si la escritura que va a ejccutarse es por byte o por palabra, se
cuenta con la señal de control del bus AT BHE que junto con .& indica la operación a realizar, como
semostroen latabla4.1.
Esta señal, por lo tanto debe ser registrada y enviarse por medio de los buses externos a los
diferentcs módulos MCR, hasta quc la operación de escritura haya sido cumplida. Para esto se cuenta
con un flip-flop (B,) el cual es encendido, si se solicita una opcración de escritura y almacena la señal
BHE proporcionada por el bus AT, como puede observarse en la figura 5.5, y permanece así hasta
que la operación haya finalizado.
vcc
m113-oc
>
vcc
Figuro 5.5. Registro de la Señal BHE (Bus High Enable).
48
CAPITULO 5. Diseíío dciallado del nlódulo MCR.
5.1.5.- Generación de la Señal de Espera (IOCHRDY).
Esta señal se gcncra solamente cuando es necesario insertar ciclos de espera en alguna
operación, como es el caso de una lcctura al módulo MCR o cuando se realizan dos escrituras internas
consecutivas. El bloque encargado de producirla se puede ver en la figura 5.6, su funcionamiento es el
siguiente, una vez que se recibe una solicitud de operación que requiere insertar ciclos de ispera, se
activa inmediatamente cl monoestable B4, activando la señal “WAIT” por 680ns y es enviada
dircctamcnte a la linca dc control “IOCHRDY” del bus AT, después de este tiempo si la señal es
todavía requerida se proporciona la señal “WAIT” por medio la unidad de control, hasta que’ la
operación en proceso haya terminado. Cabe aclarar que la señal “IOCHRDY” no puede estar activa
más de 1.5 segundos porquc la PC en la cual es activada se bloquea y no responde a ninguna otra
acción, para evitar esto se cuenta con un tcmporizador de opcración (TIMEOUT) cuya configuración
se explicará más adelante.
vcc
vic
Figura 5.6. Generaci6n de la Señal de Espera (IOCHRQY).
5.1.6.- Bloque de Geiieraciún de la Señal de Interrupciún (IRQS).
Por Último, en la figura 5.7 se prescnta el bloque que se encarga de generar la señal de
interrupción-1RQ5,la cual puede deberse a cuatro causas diferentes, y la ocurrencia de cualquiera de
ellas enciende el registro.que la genera (B5).Las cuatro causas son:
1.- La interrupción entre nodos del sistema, la cual es’ocasionadapor el nodo j cuando requiere
interrumpir al nodo k, escribicndo un dato a la dirección k de la MCR. La señal que
enciende el registro dc interrupción es ‘“Y,la cual proviene de la intcrfaz a los buses
externos.
.
2.- Cuando el tiempo que toma en realizarse alguna opcración excedió un valor máximo
permitido (IOOnis), por lo que la operación fue abortada (“TO”). Esto cvita quc el tiempo
que la señal de cspera “WAIT” est6 activa, sea mayor quc el ticmpo permitido por el
.
procesador, que es de aproximadamente de 1.5 seg., (medido durante la práctica), la sena1
quc se cncarga de activar la interrupción es “ T O proporcionada por el bloque de detección
de crrorcs.
3.- La dirccción cn dondc se pretciidió rcalizar la cscritura extcnia es una dirección reservada
por algún otro nodo, y la opcración no pude ser ejccutada. Esta scñal “ERRORDVI” es
recibida por mcdio de los buses externos, con esto se trata de evitar que, si Ucbido a la
existencia de una falla el módulo MCR pretcnde realizar una escritura en una dirección
49
CAPlTULO 5 : Diseño detallado dcl módulo MCR.
reservada por algún otro nodo, la operación sea cancela en todos los módulos del sistema,.
pero el módulo que solicitó la operación es avisado de que ésta no pudo llevarse a cabo.,
4.- Se ha dctectado la existencia dc una falla en aIguno.delos buses externos, la señal generada
es “ERRORBE” y es entregada por el bloque de detección de errores. Esto con el fin de
detcctar cuando se produce una falla en alguna de las lineas de los buses externos, a pesar
de que la solicitud de operación sea cumplida.
Figura 5.7. Bloque de Generación de la Sefial de Interrupción (IRQ5).
Esta señal independicntcmentede la causa que la gcnere, es activada solamente en el nodo que
solicitante dc la cscritiira intcriia y será dcsactivada realizando una escritura al puerto 3 12H.
5.2.- Bloque de Generación de Solicitudes (BGS).
Este bloque sirve para registrar las operaciones solicitadas al módulo MCR a través del bus
AT o de los buses extcrnos, las cualcs al igual que en el diseño anterior son de tres tipos: lectura,
escritura externa, escritura interna, por lo tanto el bloque determina que operación realizará el módulo
MCR en ese momento y la registra. El diseño es considerado asincrono ya que solamente depende de
las señales de lectura o esrritura del bus AT y de los buses externos,’debido a que el tiempo del reloj
interno’del módiilo de MCR es demasiado grande en comparación con la dinámica de las señales
generadas por el bus AT. Sin embargo, una vez que la solicitud de operación ha sido registrada este
bloque se encarga de sincronizarla con el reloj interno del módulo. En la figura 5.8 se presenta el
diagraiiia electrónico de este bloque cl cual consta de seis registros (Dl,D2,D3,DaD5,D6).
-k
.
El registro DIes el ciicargado de almacenar las solicitudes de lectura y su funcionamiento es
muy,sinipk, cuando el bus AT proporciona una dirección dentro del rango de la mcmoria compartida,
esta.dirección cs decodificada para gcnerar la señal de scleccióu del módulo MCR (“DMC”), si esta
señal está prescnte y sc activa la señal de lectura “MEMR” del bus AT, se enciende este registro, el
cual indica al inódulo que se desca realizar una Icctura, y solamente es limpiado cuan’do la operación
.ha concluido. La señal que dcsactiva el rcgistro (Fl), es proporcionada por la unidad de control.
Los registro D, y D.I dctectan la solicitud de escritura interna, D, se comporta igual que el
rcgistro DI solamente que es activado por la señal de escritura “MEMW del bus AT, una vez que
cste registro ha sido cncendido y se genera otra vez la señal “MEMW el registro que se enciende es D4
y al igual que D, solamente se limpiará cuando las operaciones se hayan realizado. Las scñales
ciicargadas de limpiar estos registros (F3 y F4), también son proporcion‘adas por la unidad dc control.
50
’
CAPITULO 5 : Diseño detallado del módulo MCR
El registro D2 sc encarga de registrar la solicitud de escritura externa, su operación es un POCO
ink coiiiplcja, cuando llega por los buses cxtcrnos una solicitud de escritura extcma se inicia la
secucncia de un contador, el cual se encarga de detcctar la llegada de los bytes de la operación
solicitada, ya que la transfcrencia de datos y dircccioncs a través de los buses extcrnos,se realiza por
byte, cuando el contador llega a tres indicando la llegada el primer byte de datos, se enciende el
rcgistro Ds que perniite realizar la instrucción dcl tipo prueba cambio, una vez que este registro es
encendido y el contador pasa a ccro se enciende el rcgistrode escritura externa con lo cual el módulo
realiza la operación. AI igual que en los registros anteriores la unidad de control activa la señal (F2)
que limpia el registro. Por ultimo, el registro D6 se encarga de sincronizar las señales de solicitud de
or>eracióncon el relo¡ interno del sistema. ocmiticndo el acceso a la memoria dc control con el flanco
positivo del reloj.
I
..
. .
wr
T
.
.
Figura 5.8. Bloque de Generaci6n de Solicitudes.
5.3.- Unidad de Control.
En tkrniinos generalcs, una unidad de control es una miquina secuencia1 cspecial (usualmente
sincrona) diseñada para iiitcrprctar secucncias de entrada de control dc un sistema y generar las
scciicncias dc salida de éste [35]. La unidad de control, cs por lo tanto, la cncargada de iniciar todas
las~.
microopcracioncs cn un sistcnia y gciicrar las scíialcs para dar sccucncia a Estas.
En cstc caso, la unidad de control permite la transferencia de'información entre el bus AT, los
buses cxtcrnos y el bloque de mcmoria, dcpcndiendo de la solicitud de operación que el módulo j
51
CAPITULO 5: Diseño detallado del módulo MCR.
recibc, lo que se traduce en almacenar o lcer datos dc la memoria, segun se requicra. Sin embargo para
pcdcr iiiiplciiicntar csta unidad dc conirol cs ncccsario definir cl tipo dc control qiic sc va a utilizar, las
opcracioncs quc se prctciidcn rcalialr con cI módulo MCR, as¡ como los protocolos para cada tipo dc
opcración.
53.1.- Filosofir de Ir Unidad de Control.
Se piiede decir que una unidad control eS por dctinición, el controlador de cualquier sistcma, la
cual desarrolla sus funciones con un conjunto de instrucciones determinadas (código de enirada).
Usualmente es una unidad de hardware que interpreta la información de entrada y la transfonna en
scciiciicias dc control dc salidas cn un niiiiicro fijo de liiicas dc control 1361.
El diseño de cualquier sistema digital, que requiere de una secuencia de control, comienza con
la determinación de variables. Se representa cada variable en la secuencia por medio de un estado y
luego se obtiene un diagrama de estados del sistema en gcneral. Se definen las microoperaciones que se
van a iniciar en cada estado de control, las cuales se pueden representar mediante un diagrama de flujo.
Las secuencias de control y las relaciones de transferencia entre registros pueden deducirse
directamente de la especificación del problema 1371. Una vez que se ha establecido la secuencia de
control se puede diseñar el sistema que configura estas operaciones; existen varios métodos para
implementarlo, algunos de ellos son:
I . Método de un flip-flop por estado o controlador del contador de anillos.
2. Método del registro de secuencia y el decodificador.
3 . Control PLA.
4. Control microprogramado.
En
el caso dcl módulo MCR, se optó por utilizar el método de control microprogramado,
dcbido a que 'utiliza componentes que prescntan una mayor confiabilidad, como son las memorias
EPROM, pero sobre todo por su disponibilidad en el mercado, costo razonable y facilidad de
programación, sin embargo la principal desventaja es que el tiempo de ciclo tomado para ejecutar una
instrucción está limitado por el tiempo de respuesta de la memoria EPROM utilizada.
.
.
En general, el propósito de una unidad de control microprogramada, es iniciar una serie de
pasos secuencialcs de microoperaciones. Durante cualquier tiempo dado se deben iniciar ciertas
microoperaciones mientras que otras pcrmanccen latentcs. Así, las variables de control en un tiempo
dado pueden ser represcntadas por una cadena llamada palabra de confrol. Dichas palabras pueden
ser programadas para iniciar las diferentes componentes en el sistcma de una manera organizada. Por
tanto, podemos resumir que, una unidad de control, cuyas vanablcs de control se alniacenan en una
mcmoria, se llama unidadde conrrol microprogramado. Cada palabra dc control dc mcmoria se llama
microinsinrcción y una secuencia de microinstruccioncsse conoce como microprogramn 1381.
Cada una dc las microinstrueciones especifica una o más microoperacioncs para los
,
coiiiponentcs en cl sistcma. Una vcz quc se ejecutan cstas microoperacioncs, la unidad de control debe
dctcriiiinar la sigiiiciitc dircccióii. Por csto, algunos bits de la microinstnicción se usan para controlar
la gcncración dc la dircccióii para la siguiciitc iiiicroinstrucción. Además dc la mcnioria dc control.
una unidad de control niicroprograma debe incluir circuitos especiales para' selcccionar la siguiente
dirección. Estos circuitos y la configuración de los bits dc microinstnicción almacenados en la
menioria varíaii de una unidad a otra. Una de estas unidades es la mostrada en la figura 5.9, en donde
52
.
CAPITULO 5 : Disciío detallado del módulo MCR.
se tiene un arreglo tipo memoria en el cual las instrucciones básicas de’operación,as¡ como los códigos
de salida pueden ser almacenados, y un contador controlado (contador de programa) o un registro
(registro de direccioncs de memoria) es utilizado para seleccionar o direccionar las instrucciónes
almacenadas, las caracteristicas deseables de esta unidad de controi microprogramada son las
siguicntes [38]:
I . Poder iniciar la ejecución de una instrucción almacenada en el programa, comenzando en
una localidad arbitraria en la memoria.
2. Ejecutar instruccioncs de programa condicionalmente o incondicionalmente, en una
secuencia a travEs de la memoria (operación de contoo).
3. Tener la capacidad inherente de ejecutar la próxima instrucción o “brincar” a otra localidad
de memoria condicionalmente o incondicionalmente.
Esta sencilla arquitectura permite el cambio fácil de la secuencia de control, solamente
cambiando la ROM o el microprogrania.
..........................
E n t r a d a d
:
!
sistema
controlado
%..
...............
Mnlador del
microprogram
de
C~nlrOi
I. 1
~
~
I1
i
Memoria de
microinsliucclones
Salidas
,
Figura 5.9. Unidad de Control Microprogramada.
5.3.2.- Descripción General de In Unidad de Control.
La unidad dc control, como ya sc nicncioiió, está implemcntada por medio del método de
control microprogramado. Por lo que, está disciíada a nivel registro, donde existen una serie de lineas
de control y buses quc interconcctan a los distintos registros para realizar una secuencia de operaciones
dc acuerdo con la solicitud que se recibe dcl BGS, como puede verse en la figura 5 . IO.
53
CAPiTULO 5: Diseño detalladodel módulo MCR.
Figura 5.10. Unidad de Control.
El microprogrania de la unidad de control está almaccnado en dos nicmorias EPROM de
64Kbytes cada una, teniéndose dieciséis lineas de control. Las salidas de las dos memorias se
sincronizan entre si cargándosc cn una scrie dc rcgistros con el pulsos de rcloj. De las salidas, cinco
lineas se usan junto con las lineas (Do-D,) del contador K, (el cual es controlado por la misma unidad
de control) como el contador del microprograma ya que el numero de estados que maneja la unidad de
control son veintidós y cada una de ellas realiza una secuencia finita de difercntes pasos.
Se observa además en la figura anterior que existen 7 lineas cxtcrnas (asincronas) de entrada a
la unidad de control que proporciona tanto el BGS,como la interfaz a los buses externos y el bloque de
detección de errores y que son sincronizadas a través del reloj del sistema para quedar almacenadas en
unos registros. Estas senales son “So” (indica el modo de operación del módulo), ” S E E (solicita una
operación de escritura externa), “SL” (solicita una operación de lectura), “SEII” (solicita una primera
operación . de escritura interna), “SE12” (solicita una segunda operación de escritura interna),
“BUSYI” (Indica si los buses externos se encucntran ocupados), “SMP(indica si el módulo es el de
mayor prioridad), las cuales dan la pauta para que la unidad de control inicie las secuencias para la
recepción o envio de datos. Las señales restantes son generadas en la unidad de control y tienen la
siguicnte función:
START.- Habilita el contador K,, para iniciar la secuencia de microinstmcciones
necesarias para cada estado
WAIT1.- Activa la seaal de espera “IOCHRDY del bus AT.
BUSY.-Indica a los otros módulos que el bus está ocupado.
.
WRITE.- Activa los registros.que coniicncn la dirccción y datos a cscribir, y rcaliza la
ordcti de cscritura en la memoria.
READ.- Activa los registro que contienen la dirección que se desea leer y también habilita
los registros quc se encargan de entregar los datos de lectura al bus AT.
54
CAPITULO 5 : Disciro dcialladodcl rnódulo MCR.
Cuando el contador alcanza el valor de tres y aún se está recibiendo la señal de escritura “WI”
por el bloque de comparación se activa la señal “Y;, la cual indica quc se desea realizar una cscritura
cxterna o interna (scgún sea el caso) con los datos y las direcciones almacenadas en los registro de la
inicrfaz a la metnorla El contador se limpia cuando la scñal ‘Y; cs gcncrada y no vuelvc a activarse
hasta que se recibe la señal dc escritura “W,” a travCs dc los buses externos.
5.3.3.- Control del Flujo de Datos.
AI igual que en el diseño anterior, I& opcraciones basicas que realiza el módulo MCR son de
trcs tipos: cscritura cxterna, escritura interna y lectura. El protocolo para cada una de estas
operaciones sigue una secuencia determinada, la cual es proporcionada precisamente por la unidad de
control y puede ser rcprcsentada como un diagrama dc flujo. Además, debido a que se pucden recibir
dos o más solicitudes de opcración cn un mismo tiempo, ya sea del mismo tipo o diferentes y a que los
módulos MCR puede ser configurados cn dos modos, la unidad de control puede ser definida como
una máquina de estados finitos dondc la transición dc un estado a otro se debe a la solicitud de
operación recibida a través del BGS, por lo quc la máquina cstados finitos cucnta con 22 cstados como
semucstraen lafigura5.12.
,
,
.
.
.
.
Figura 5.12. Diagrama de Estados.
donde:
SO= Selección de mcinoria.
SEE = Solicitud de cscritura cxtcrna.
SEI1 = Prinicra soliciiiid dc escritura iiitcrna.
SEI2 = Scgunda solicitud dc cscritura interna.
SL = Solicitud de Icctura.
56
CAF’lTllLO 5: Diseño detallado dcl módulo MCR.
.
W.- Habilita el contador Kz el cual es encargado de habilitar cada uno de los registros que
almacenan tanto las dirección como el dato que se quiere escribir.
1DENT.- Habilita el registro que contiene’el identificador del módulo y activa a 10s
transmisores para entregarlo a los buscs cxtcmos.
FI.- Limpia el registro que almacena la solicitud de Icctura.
o
F2.- Limpia el registro que almacena la solicitud de escritura externa
F3.- Limpia el registros que almacena la primera solicitud de escritura interna
F4.- Limpia el rcgistros que almacena la segunda solicitud do escritura interna
El funcionamiento del control es muy simple, la unidad de control se encuentra en reposo hasta
que alguna señal externa, proporcione una dirección que determine.un estado en el cual se deba realizar
un secuencia de microinstmcciones, por lo que al recibirse, se activa la señal de control del contador
KI y.se realiza la secuencia seleccionada. Cuando la solicih¡d de operación es una de escritura interna
interviene un segundo contador (K,) el cual es utilizado para indicar si el byte que se está transmitiendo
o rccibiendo es un byte de dirección o datos. Este bloque está integrado’por un flip-flop (PI) y lógica
combinacional para poder generar las señales requeridas para recibir o transmitir los datos y
direcciones a traves de.los buses externos, el contador se muestra en la figura 5.11.
~
............. ~...
Figura 5.1 I . Contador de Bytes Transmitidos.
La opcración de conteo es realizada en forma ascendente y su secuencia va de cero a tres,
donde cada incremcnto del contador representa la habilitación de un registro de almacenamiento, esto
funciona de la siguicnte manera. Cuando algún módulo MCR dcsea realizar una opcración de escritura
interna, solicita el uso de los buses externos, si estos le son &medidos envía por las líneas de control
una señal de cscritura ‘ W (proporcionada por la unidad de control), la cual está sincronizada con el
reloj interno dc cada módulo. Una vez que esta señal cs recibida por los buses cxternos y comparada
‘Wl”se encarga de indicarlc a los dcmas módulos MCR que los datos presentes en los buses externos
son datos o direcciones válidas para una operación de escritura externa, por lo que se debe activar la
secuencia de conteo. Sin embargo, cuando se dcsea escribir en el bloque dc memoria de verificación,
esta scíial no cs cnviada a los buscs cxtcrnos puesto que la opcración de escritura debe realizarse sólo
en el nodo solicitante por lo tanto; cn este caso, el contador cs activado por la señal dc “W”que
proviciic dircctaiiicnte dc la unidad de control.
55
CAPITULO 5 : Diseño dclallado del modulo MCR.
Cada uno de los veintidós estados es dcfinido como:
Edo.0 : Inicio.
Edo.1 : Reposo con acceso a la MC.
Edo.2 : Reposo con acceso a la MV.
Edo.3 : Lectura de MC (“WAIT”).
Edo.4 : Lectura de MV (“WAIT”).
Edo.5 : Escritura externa (solo se rcaliza en la MC ).
Edo.6 : Escritura interna en la MC.
Edo.7 : Escritura interna en la MV.
Edo.8 : Lectura de MV con escritura externa en espera (‘WAIT’’).
Edo.9 : Lectura de MC con escritura externa en espera (‘‘WAIT”).
Edo.10 : Escritura externa con lectura de MV en espera’(“WA1T”).
Edo.11 : Escritura externa con lectura de MC cn espera (‘WAIT’’).
Edo.12 : Escritura extcnia con escritura interna en la MV en espera (“WAIT”).
Edo.13 : Escritura externa con escritura interna en la MC en espera (“WAIT”).
Edo.14 : Escritura intcrna con lectura de MV en espera (‘WAIT”).
Edo. I5 : Escritura intcrna con lectura de MC en espera (‘‘WAIT”).
Edo.16 : Escritura intcma con escritura interna en la MV cn espera (“WAIT”).
Edo.17 : Escritura externa con escritura interna en la MC en espera (“WAIT”).
Edo.18 : Escritura externa con dos escrituras intcrnas cn la MV cn espera (“WAIT”).
Edo.19 : Escritura externa con dos escrituras internas en la MC en espera (“WAIT).
Edo.20 : Escritura externa con escritura interna y lectura a la MV en cspera (‘WAIT”).
Edo.21 : Escritura externa con cscritura interna y lectura a la MC en espera (“WAIT”).
El cstado O, cs cl cstado inicial dc rcposo y cn él no se rcaliza ninguna secuencia de
inicroinsttuccioncs, solamente sc encuentra en cspcra a que sc gencrc la señal “So” para dcterminar,
cual cs cl siguiente estado en el modulo MCR.
En cI cstado I, cl modo dc opcración escogido es el de MC, sin cnibargo no se ha producido
ninguna solicitud de opcracion, por lo quc en este estado simplemcnte estará en espera a que se genere
UM.O más solicitudes de opcración, las cuales detcrminaran cl siguiente cstado dcl módulo MCR. El
estado 2, se comporta igual que el estado 1, pcro modo de operación seleccionado es el de MV. La
secucncia de microinstnicciones seguida para cada uno de estos estados depende de la solicitud
generada, como ejemplo se mostrarán las secuencias para las solicitudes de operación básicas, que
corrcspoiidcn a los cstados 3, 4, 5 , 6 y 7, así como su diagrama dc tiempos. Los estados rc:;tantes son
una conibinacióii dc la ocorrcncia de solicitudes de opcración, las secuencias de estos estados se
presentan cn el apéndice D.
5.3.3.1.- Secueiicin d e la Solicitud de Lectura.
Cuando el BGS gcncra una solicitud de Icctura “SL” al módulo MCR, al igual que el diseño
aiitcrior, la opcración sc lleva a cabo cn el módulo corrcspondientca la PC que genero la orden, sin que
esto afecte a los buses extcnios. Dcpeiidicndo dcl modo de operación seleccionado será el cstado del
modulo MCR (edo.3 o edad), siti embargo la sccucncia seguida es la misma en ambos -0s.
Inmediatamente que “SL” cs generada, se activa la señal de espera ‘WAIT” y se almacena la
dircccióii en la cual se desca lccr en los rcgistros de entrada (C, y C,) de la interfaz al bus AT. La
51
CAPITULO 5: Diseño detalladodel niódulo MCR.
unidad dc control por su parte, inicia su secuencia, generando las señales necesarias para realizar esta
operación. Activa la señal de ‘WAIT”, la cual se encarga de insertar ciclos de cspera activando la
scñal de control del bus AT “IOCHRDY”.
I . Genera la señal de lectura “READ, con la cual se activan las salidas de los registros que
conticnen la dirección de lectura y un tiempo después se entregan los datos almacenados en la
posición de memoria al bus AT.
2. Dcsactiva la señal de espera ‘WAITI”y gcncra’laseñal que linipia el registro de la solicitud
de lectura “F I”.
3. Pasa al siguiente estado.
Esta secuencia pucde ser representada en cl diagrama de flujo mostrado en la figura 5.13.
5.3.3.2.- Secuencia de la Solicitud d e Escritura Interna.
Cuando la solicitud prcseiitada por el BGS, es una solicitud de escritura interna “SEII”,
dependiendo del modo de operación seleccionado será el estado del niodulo MCR (6 o 7), sin cmbargo
al igual que el caso anterior, la secuencia seguida es igual para ambos estados y es la siguiente:
1. Verifica que los buses externos se encucntrcn libres checando la línea de los buses externos
“BUSY I”.
2. Marca los buscs como ocupados activando la señal “ B U S Y y eiivia su ideiitificador
activando la señal “IDENT” a través dc la lineas dc datos de los buses.
58
CAPITULO 5 : Diseño detalladodel inklulo MCR.
3. Verificar la prioridad del módulo. Si no es dc mayor prioridad regresa al primer paso de la
secuencia, pcro si lo es genera la señal de escritura ‘ W y envia el byte alto de direcciones
“ B D H a través de los buses, instantes después se atrapa el byte en la intcrfaz de la
memoria.
4. Envia cl byte bajo de direcciones “BDL” a través de los buses y un tiempo después 10
atrapa en la iiiterfaz de la memoria.
5 . Envia el prinier byte de datos “BD I”a travZs de los buses instantes después se atrapa en la
interfaz dc la memoria.
6 , Envia el segundo byte d i datos “BDZ” a través de los buses extemos e igualmente se atrapa
cn la intcrfaz dc la mcnioria.
I Generar la señal de orden de escritura ‘WRITE la cual realiza la operación.
8
Activa la señal “FZ” para limpiar el rcgistro de solicitud de escritura interna y pasa a otro
estado.
Además, en el módulo MCR en donde se genero la solicitud “SEII” se realiza, durante e l
tercer paso antes de la escritura, la lectura del contenido de la dirección en donde se va a escribir y el
dato obtenido se almaccna en un registro dcl propio módulo MCR, cl cual puede ser leido por la PC
accesando el pucrto de E/S 3 10H.
Esto pcniiitc vcrificar cl contiendo dc la posición de memoria justo illites de inodificarsc y con
ello implementar una instrucción del tipo prueba y cambio: Esta sccucncia pude ser representada en el
diagrama de flujo mostrado en la figura 5.14.
Figura 5.14. Operación de Escritura Interna.
59
CAPITULO 5 : Disciío deiallado del módulo MCR.
5.3.3.3.- Secuencia de la Solicitud de Escritura Externa.
Cuando la solicitud generada por él BGS, es una solicitud de escritura externa “SEE,
independientemente del modo de operación scleecionado, la solicitud se llevará a cabo en la MC, la
sccuencia de microinstmcciones en este estado es la siguiente:
1. Verifica si la dirección a escribir es vilida o es una dirección reservada por otro nodo
cliecando la linea “DV” del bloque de tolerancia a fallas.
2. Si es una dirección reservada, se envia la seiial “ERRORDV” por los buses externo y se
limpia el registro de la solicitud de escritura extema con la señal “F2” y pasa a otro estado.
En caso contrario se genera la orden de escritura activando la señal ‘WRITE.
3. Limpia el registro dc solicitud de escritura externa con “F2” y pasa a otro estado.
j
Esto sc niucstra en el diagrama de flujo de esta solicitud de operacion prcsentado en la figura 5.15
genera el fln de Opemclbn “FI’
se pass 0
OIlO
estado.
Figura 5.15. Opernción de Escritura Externa.
~
5.3.4.- Protocolo de Control.
En esta sección sc muestran los diagramas de tiempos de cada una de las secuencias descritas
antcriormciite. AI final de c;?pitulose prcsenta el diagrama eléctrico del módulo MCR.
Para las opcracioncs de Icctura, escritura externa o escritura interna un subcot:junto del
siguientc grupo de scñalcs son utilizadas, donde cada señal representa lo siguiente:
60
..
CAPITULO 5 : Diseiío dcialladodel in6dulo MCR.
De la señal A a la E (donde E es la menos si@ificativa) identifican 10s estados que resultan de l
a
solicitudes de operación.
Scñal “So”, la cual indica la mcmoria scltxcionada.
Señal de “START”, cual indica que se incremente el contador KI de la sccuencia para el estado
determinado por las lincas anteriores.
Las señales D3-D0, las cuales indican el piso a realizar dentro de alguna secuencia.
:
’
0
Señal “SL” indica que se desea realiza una lectura,
Scfial “SEII” indica que se desea realizar una escritura interna.
Señal “SEE indica que se desea realiza una cscritura externa.
Señal “READ” realiza la opcrac¡Ón.de lectura, activando la salida.de los registros que contienen la
dirección de lectura y cntrcga los datos al bus AT.
Señal “ W activa el contador KI encargado de activar los rcgistros correspondientes a cada uno de
bytes de la operación.
Señal ‘WRITE realiza la operación de escritura activando la salida de los registros que contienen
la dirección de escritura y ejecutando la orden.
Señal “WAITI” inserta ciclos de espera en MSOS necesarios.
Señal “FI” limpia el registro de solicitud de lectura.
Señal ‘%2”limpia el registro de solicitud de escritura externa.
Señal “F3” limpia el registro de solicitud de escritura externa.
Señal ‘TDENT” cnvia el idcntificador a través de los buses externos.
Señal “BDH’ cnvia cl bytc alto dc dircccioncs por los buses externos.
Señal “BDHI” atrapa el byte alto de direcciones en la interfaz al bus AT.
Señal “BDL” cnvia el byte bajo de.dircccionespor los buses externos.
Señal “BDLI” atrapa el byte bajo de direccioncs cn la interfaz al bus AT.
Scñal “BD I ” cnvia cl priincr bytc de datos por los buses externos.
Señal “BDI 1” atrapa el primer byte dc datos en al intcrfaz al bus AT.
Señal “BD2” cnvia cl scgundo bytc de datos por los buses cxtcrnos.
Señal “BD2 1 ” atrapa el segundo byte de datos en al interfaz al bus AT.
Señal “BUSY” señala a los externos como ocupados.
Seña¡ “DV”indica si la dirccción a escribir es una dirección no reservada.
Señal “SMP indica si el módulo solicitante es el de mayor prioridad que desea obtener el acceso de
los buses externo.
Se puedc apreciar de la figura 5.16 en la parte supcrior la señal del reloj interno del m ~ u l o cl
,
pcriodo de rcioj cs de 5OOns. Los registros que ticncii cl cstado siguicntc ticncn su rcloj conectado al
reloj del sistema; los registros quc siiicronizan las salidas de las menionas de control estáii desfasados
medio periodo de rcioj. En la lincas A, B, C, D y E se observa que se pasa del 4 0 . 0 al ed0.1 cuando se
coloca la seiial “So” a un “O” lógico y cnseguida al edo.3 cuando sc detecta la señal “SL” en alto, la
cual se ciicarga dc atrapar las dircccioncs de lcctue en los, rcgistros C5 y C6, se obscrva que
itiniediatamcntc sc ciiciendc la señal de espcra “WAIT” tambiCn con un nivel alto (“1” lógico).
~
Después sc activa la señal dc “START’ para dar inicio a la secuencia de lectura generando la
scñal “WAITI” y cnscguida la señal de lectura “READ que habilita la salida de los registros que
coiiticnen la dirección dc lcctura y atrapa el dato almacenado en esa posición en los registros C7 y cs
colwindolo en las liiicas de datos del bus AT, en esc momento se desactiva la señal de espera y se
rcaliza la operacioii, para finalizar se activa la señal “F2” ( “ O lógico) que limpia cl rcgistro de
solicitud dc lectura y rcgrcsa al cdo. I .
GI
CAPITULO 5: Discilo dctallado del in6dulo MCR.
Se puede ver que las scñalcs D,, D2,Di, Do pasan de cero a cuatro que son los pasos
neccsarios para terminar la secuencia dc Icctura.
1
CLK
A
B
C
D
7
-
E
1
I
SO
SL
START
I
I
I
I
WAIT
WAIT1
I
READ
I
F1
Figura 5.16. Protocolo de la Operacion de Lectura.
Por otro lado, se obscrva dc la figura 5.17 que, en caso de que la solicitud rccibida sea una de
cscritura interna, el estado siguicute del edo.2 es cl edo.6. Una vcz que “SEII” ha sido detectada y
tanto los datos como las direcciones de escritura Iian sido atrapadas en los registros corrcspondientcs
(Ca, C2, C3, C4), sc activa la scñal dc “START para iniciar la sccucncia corrcspoiidicntc.
Postcriormcntc se verifica quc los buscs cxternos se encuenfrcn libres, si es el caso,.se activa la linea de
ocupado “BUSY” (“I” lógico) y se manda cl identificador a traves dc los buses externos germando la
scñal “IDENT”. Enseguida sc dctermina la.prioridad del módulo con la señal “SMPla cual debe estar
activa (“I” lógico) para podcr rcalizar la operación dc escritura, si es el caso, sc cnvia el byte alto de
dircccioncs gciicrando la sciíal “ W la cual activa la scñal “BDH’ quc cncarga dc habilitar la salida del
registro C, y instantcs dcspiibs sc atrapa en el rcgistro L, de la iiiterfaz al bloquc de memoria con la
sciíal “BDHI” activa, un ticiiipo dcspuCs sc envia el byte bajo de dircccioncs enccndiendo la señal “ W
que ocasiona que la seílal “BDL” se prenda y habilite la salida dcl rcgistro C4.enseguida se atrapa en
cl rcgistro L2 dc la intcrfaz al bloque de memoria mediante la generación dc la señal “BDLI”. Despuks
de esto se procede a cnvinr los datos de igual forma activando los registros correspondiente con la
62
CAPITULO 5 : Discño detalladodel módulo MCR.
ayuda de la señal “ W . Una vez que se han enviado todos los bytes requerido por la operación se
enciende la señal de orden de escritura “WRITEla cual habilita la salida de los registros de la interfaz
al bloque dc memoria y 1111tiempo dcspuCs se ejecuta la orden con la misma señal Por último como se
observa se limpia el registro de solicitud de escritura interna generando la señal “F3” y se pasa al
d o 2. Se puede ver que las señales D,,D2,DI, DOpasan de cero a nueve que son los paso necesarios
para terminar la secuencia de escritura interna.
CLK
A
B
C
D
E
I
I
d
I
I
I
I
I
J
I
L
n
I
1
so
SL
START
BUSY
IDENT.
CMP
w
BDH
BDHI
I
I
n
I
I
I
I
I
I
VU
I
n
BDL
U
n
BDLI
I
I
BD1
BD11
BO2
n
I
U
BD21
I
WRITE
.a
F3
Figura 5.17. Protocolo de la Operación de Escritura Interna
Por otro lado, se obscrva cn la figura 5.18 que en caso de que la solicitud recibida sea una de
escritura externa, el cstado siguiente del edo 2 es el edo.5. Una vez que “ S E E ha sido detectada, se
63
CAF’lTULO 5: Diseño delallado del m6dulo MCR
activa la señal de “START para comenzar la secuencia ncecsaria, cnscguida sc verifica la señal de
dirección válida, si no es una dirección reservada se genera la schl de orden de escritura “WRITE”, la
: cual habilita la salida de los registros dc la interfaz al bloque dc memoria y un ticmpo dcspues rcaliza
la operación. Por último se enciendc la señal “F2” la cual limpia el registro de solicitüd
’ correspondiente y se pasa al ed0.2.En este caso, las señales D,,Dz,Di,Dopasan de cero a cuatro que
son los pasos rcqucridos en la secuencia de escritura externa.
CLK
1
A
I
C
D
E
-
so
SEE
I
1 - 7
START
WRITE
I
p
u
p
D3
Figura 5.18. Protocolo de la Operación de Escritura Externa.
.
5.4.- Bloque de Detección de Errores.
Esic bloque por su parte, puedc dividirse cn general en cuatro partes, las cuales son neccsarias
para podcr cjccutar la dctccción de crrorcs, cstos son: cl bloquc dc coniparacion, el bloque dc detección
dc fallas, el bloquc dc rcgistro de fallas y cI bloquc dc dirccción válida, como se advicrtc en la figura
5.19. El funcionamiento yconfiguración de cada uno de ellos se describen a continuación.
64
CAPITULO 5: Diseño detalladodel módulo MCR.
BLOQUE OE TOLERANCIA A FALLAS.
................................................................................................................... ””!
,/ /..................................
-
~
.............................>
j
BLoauE
!
ROS
:
b
~
!.........................
$
j
I
i
i
:
j i BUSAT.
/ : ..................................
TIMEOUT
1
:
BLOQUE
DE
COMPARACION
--
1
-
j
:
!
i
+ I
j
REGISTRO
~
DE FALLAS
...................
I
!
DIRECCION
jMEMORIA!.
.
. ...., ...............
-i
~
-
!
BLOQUE OE
OETECCION
OE FALLAS
i
1
i
i1
I..................
!
j
i
~NTE~FuA
LOS
BUSES
EXTERNOS
;j.................................
~
i
1
i
VALIOA
,
1
j
~
~
!
!
8
8
i
i
i
.......
UNIOADDE
i
CONTROL
\
._............ .......... : .
~
Figura 5.19. Bloque de Deteccidn de Errores.
5.4.1.- Bloque de Comparación.
j
Se utiliza para enmascarar las fallas presentes en alguno de .los buscs externo, su
implementación es muy simple como se pucdc contemplar en la figura 5.20, ya que consiste solamente
de un arreglo de compuertas OR,’una por cada linea de un bus externo, es decir consta de doce
compuertas, y las entradas de estas compuertas son conectadas directamente a los datos que se reciben
a través de los receptores de los buses externos (RI y Ri); por lo tanto, la salida de cada una de estas
compuertas (Do-D~.“BUSY I”, ‘WI”, “BHEI”, “ERRORDVI”) representa los datos y direcciones de
la operación de escritura que se desea realizar, así como las señales de control necesarias para poder
llevarla a cabo. La utilización de este bloque tiene el objeto de que cuando alguna de las lineas de los
buses extemos quede atorada a un valor lógico permanente se tomeuna decisión del valor que va a ser
proporcionado a la interfaz de memoria; es dccir, debido a que se reciben dos valores lógico a través de
los buses externo es nccesario decidir qiic valor.se va enviar a la interfaz al bloque de memoria. Por lo
tanto, si ninguna falla está prcscnte e n alguno de los buscs externos los datos o direcciones recibidas’no
prcseiitaran diferencias en sus valores y serán enviadas correctamente a la mcmoria. Por el contrario,
cuando sc presenta una falla cambiando el valor corrccto de una linea se tendrá diferencia entre las
lineas recibidas de los buses externo, y es donde interviene el bloque de comparación, dependiendo del
valor al que quede atorada dicha linea será la decisión tomada por el bloque. Si el valor de la linea
atorada es un “ O lógico cl valor’prcscntado a la memoria s e e el valor generado por el bus que no
presenta la falla, por lo quc cl valor scrá el corrccto, pero si el valor dc la linea atorada es un “ I ”
lógico el valor presenL7do a la nicmoria scrá un “1” lógico independientemente del valor proporcionado
por el bus sin falla. Sin embargo, se realizará la operación aún en presencia de esta falla y el sistema
no quedará bloqueado.
6.5
CAPITULO 5: Diseño delallado del m6dulo MCR.
Figura 5.20. Bloque de Comparaci6n.
,
5.4.2.-
Bloque de Deteccióii de Fallas.
Este bloquc pude ser dividido en dos partes: el bloque de deteccibn de fallas para las lineas de
direcciones/datos y el bloque de dctección de fallas para las señales de control, como se nota en la
figura 5.21 y es el encargado de comparar la información recibida por los buses externos y detectar si
existe alguiia difercncia en la infonnacion; es decir dctectar la existcncia de una falla. Cada una de
estas paitcs sc cxpli&n niás dctalladaiiicntc.
.<
Figura 5.21. Bloque de Detección de Fallas.
66
CAF’lTULO 5: Diseña detallado del módulo MCR.
El bloque de comparación de las lineas de datoddirecciones esiá compuesto de un comparador
dc palabra (GI)
y una scric dc rcgistro (NI,NL,N3y N4) los cualcs se encargan de almacenar la señal
generada por el comparador ni cada una dc los bytes recibidos a través de los buses externos. ESdkir,
cuando se recibc el byte alto de direcciones por R, y R2 se realiza la comparación del byte recibido;
por lo tanto, el registro N Ialmacena la señal producida por el comparador independientemente del
’
valor tomado en esa línea, N2 almacena la señal cuando se recibe el byte bajo de direcciones, N,
cuando es el primer byte de datos y N4cuando se trata del segundo byte de dato (en caso de una
operación por palabra). Si cualquiera dc estos rcgistros es activado a un “ I ” lógico se genera la señal
de error en el.bus externo (“ERRORBE) y ésta a su vez activa el registro que genera la interrupción
IRQ5 del bus AT. Por otro lado, el bloque de compahción de las lineas de control, está integrado
solamente por compuertas XOR, las cuales en w o dc que exista un diferencia en los datos recibidos a
traves dc las lineas de control de los buses cxtcmos, se gcnera una scñal de salida con un valor dc “1”
lógico, por lo tanto es ncccsario contar con una compuerta por, cada ha,
de control COI: lo que se
tiene que el bloque está intcgrado por cuatro conipuertac. En caso de que cualquiera dc cstas
compuertas muestra un “.I” lógico a su salida, se generara la scñal “ERRORBE y a s u vcz la
interrupción IRQ5 del bus AT. En ambos casos la operación será llevada a cabo.
5.4.3.- Bloque de Registro de Fallas.
..
El bloque es muy simple como se observa en la figura 5.22, ya que solamente consiste de un
registro (MI), en el cual se conectan las scñales del bloque de comparación, en sus cuatro bits.mcnos
significativos, se muestran las sciialcs dc las lineas dc datos o direcciones, en los cuatro bits más
significativos se observaii las señales dc las lineas de control. Este rcgistro es activado para almacenar
información, cuando la señal “ERRORBE es generada, si se requiere ieer su contenido, se puede
acccsar realizando una lcctura al pucrto 3 13, la cual genera la señal “P3 13” y csia se encarga ,de
activarlo.
.
,
.
Figura 5.22. Bloque de Registro de Fallas.
5.4.4.- Bloque de Tiempo de Operación Excedido (TIMEOUT).
Sc utiliza para cvitar qiic la scñal de cspcra “IOCHRDY” dcl bus AT, exceda cl ticmpo
pcmiitido. La configuración consiste solaincnte de un rnonocstablc (SI) como se puede apreciar en la
figura 5 23 y funciona de la siguiente iiiaiicra.
61
CAPITULO 5 : Disefio detallado del módulo MCR.
Figura 5.23. Bloque de Tiempo Operación Excedido (TIMEOUT).
Cada vez que sc solicita una operación que requiere dc ciclos de espera se enciende este
monoestable, el cual tiene una constante de tiempo de 100ms. Si la operación que se desea realizar
excede este tiempo, se activa la señal “ T O la cual se encarga de cancelarla y limpiar el registro de
solicitud correspondiente, sin cmbargo, el nodo es avisado mcdiante la señal de interrupción “IRQ5”de
que la operación Fue abortada.
5.4.5.- Detección de Dirección no Vlilida (DV).
Para detcctar si la dirección en donde se desea realizar una operación de escritura es una
dirección válida se cuenta con el bloquc mostrado cn la figura 5.24, PI cual está compuesto por un
dccodificador (VI) y un registro (V2), que sc comportan de la siguiente manera: cuando se desea
realizar una operación de escritura externa se acccsa la MV para leer su contenido en la posición de
incmoria en donde se desea rcalizar la operación. El valor contcnido en esa posición de mcmoria es
ciiviado al dccodificador (VI ), cI cual, junto con las scñales dc &, Al4, Ais y la señal dc habilitación
%2”, decodifica el valor almacenado en el bit correspondiente al byte en dondc se desea realizar la
operación.
:Si el valor dcl bit es un “0” lógico, la dir&ción es válida y la operación pucdc ser realizada;
por el contrario, si el valor del bit cs un “ I ” lógico, la dirección en donde se desea realizar dicha
operación es una dirección reservada y por lo tanto la operación no puede ser realizada y se enciende el
registro VI. generando la señal de error “ERRORDV”, la cual es enviada a los demás módulos MCR
indicandoles que no se dcbe realizar esa operación en ninguno de ellos. En el módulo MCR donde se
gencró la solicitud dc cscritura intenia se activa la señal de interrupción IRQS del bus AT, indicándole
a su procesador que la operación fue abortada.
Figura 5.24. Detección de Dirección no VBlida (DV).
68
CAPITULO 5: Diseño detallado del módulo MCR.
5.5.- lnterfaz al Bloque de Memoria.
Este bloque es requerido dcbido a que, ianto los datos como las direcciones son recibidos a
través de los buses externos por byte; es decir, primero se recibe el byte alto de direcciones, en segundo
lugar se recibe el byte bajo de direcciones, enseguida se recibe el primer byte de datos y por último se
recibe el segundo byte de datos (si la operación realizada es por palabra). Por lo tanto, es necesario
poder almacenar las direcciones y datos antes de que puedan ser enviados al bloque de memoria. El
bloque está compuesto solaniente por un bloque dc registros como se ve en la figura 5.25
..
.. .. .
.". '
'
Figura 5.25. Bloque de Regis'tros de la Interfaz al Bloque de Memoria.
5.5.1.- Bloque de Registros.
Este bloque se pucde observar en la figura 5.25 y consta de 4 registros de entrada (LI,L2, L, y
L4), cada uno de ellos se ciicarga de almacenar un byte dc la información recibida a través de los buses
externos en una operación de escritura; esto es, en el registro LI se alniaccna el byte alto de
dircccioncs, LZguarda el byte bajo de direcciones, mientras que L, y L4 almaccnan el primer y segundo
bytc. dc datos rcspcctivanicntc. Las seíialcs dc activación y habilitación para. cstos rcgistros son
proporcionadas por cI contador KI de la unidad dc control junto con alguna lógica adicional. Las
salidas dc cstos rcgistros sc cncucntran dircctanicntc conectadas al bloquc de mcmoria, ya quc
contienen la dirección en donde se desea rcalizar la operación, asi como el dato a escribir y son
habilitados por la sciíal dc ordcn de escritura "WRITE, que también es proporcionada por la unidad
de control.
69
CAPITULO 5: Diseño detalladodel módulo MCR.
5.6.- Bloque de Memoria.
El bloque de memoria cs mostrado en la figura 5.26 en donde se puede advertir, que esta
compuesto de dos bancos de mcmoria como ya se mencionó en al capitulo anterior, la memoria
compartida (MC)y la memoria de verifikción (MV). El desempeño de cada uno de.ellos se describe a
continuación.
BLOOUE DE MEMORIA
....................................................................................
i
i
.............................
I
j
INTERFAZ
i
AL
1
i
BUS AT
COMPARTIDA
j
q V E R ! F l C A C l O N
IMV)
r
1
~
j
BLOQUE
DE
I
ITOLERANCIAA
,
FALLAS
~
j!.................................................................
i
:...................................
j
~
................
Figura 5.26. Bloque de Memoria.
5.6.1.- Memoria Compartida (MC).
Este bloque es en donde se almacenan la información transferida a través de los buses
externos, tiene una capacidad de 64Kbytes y fisicamcnte esta compuesta dc dos memorias de 32Kbytes
respectivamente (B, y B2).Para accesar cada uno de ellos se cuenta con las señales de BHE y &. Si se
desea realizar una escritura o lectura de un byte bajo se accesa la memoria BI, por el contrario cuando
se desea’ Alizar una escritura o lectura a un bytes alto, la memoria accesada es B2, pero si la
operación a realizar es por palabra se accesan ambas memorias. La Iogica de decodificación se puede
observar de la figura 5.27. Para realizar la opcración de escritura cs’necesariogenera la señal de orden
escritura :WRITE, la cual es proporcionada goriel bloque de control. Para el caso de una operación
’
de lectura se requiere de una señal “READ’.
i
:
5.6.2.- Memoria de Verificación (MV).
Este bloque es en donde se realizan las rcservaciones de memoria. Puesto quc cada bit de este
bloquc se asocia a un byte de la memoria compartida esta memoria cuenta con 8Kbytes; sin embargo,
la memoria cs direccionada dcntro dc los 16Kbytes de memoria pues en lugar de conectar la señal A.
en esta posición de memoria se encuentra la dirccción ‘Al3, por lo que en la MV las operaciones de
escritura solaincntc son rcalizadas por byte y cn las direcciones pares. Fisicamente la MV está
compuesta por una niciiioria de RKbytes (B3). Para accesarla se cuenta con la señal dc selección dc
nietiioria “SO”, as¡ como la scñal de escritura extcrna “SEE; la primera es uti1 cuando se desea
rcservar zonas dc n)ciiioria, la segunda se utiliza cuando se va a ejccutar una operación de escritura
I
70
CAPITULO 5 : Diseño detallado del módulo MCR.
externa, accesando la dirección de mcmoria en donde se desea realizar la operación y presentando SU
contciiido al dccodificador (B4),cl cual sc cncargará de detcrminar si la dirección es válida o es una
zona rcscrvada por cI módulo. La lógica de dicodjficacion utilizada cn csta memoria se mucstra cn la
figura 5.27. Para realizar la operación de escritura, al igual que en la MC, la seiíal de orden escritura
“WRITE es proporcionada por el bloque dc control.
Esta intcrfaz se muestra’eii la figura 5.28 y está dividida en cuatro partes, los transmisores a
los buses extcnios, los reccptorcs de los buses externos, el bloque de decodificación y la geiicración del
idciiiificador. La función dc cada uno dc ellos se describe a continuación.
71
CAPITULO 5 : Diseño detalladodel módulo MCR.
-
F:
EXTERNO 1 EXTERNO 2
:
BUSAT.
~
..........................................
....................................................... ~. ........... .........................
~
..:
1
~
j
I
I
! UNIDAD
!
;
DE
i
TRANSMI.
ISORES
DE
b
;
I
i_
IOENTIFICADOR
~
~
I
j
i
I
~CONTROL:;
1
.......................
1
GENERACION
........................
i
~
-
-
i
BLOüUE
DE
DECODIFICACION
+
RECEPTORES
+
j
A
,
!........................................................................................................
INTERFAZ A LOS
BUSES EXTERNOS.
;
.....................................
V
~
:
~.~
......
BLOüUEOETOLE-
i’
Figura 5.28. lnterfaz a los Buses Externos.
5.7.1.- Transmisores a los Buses Externos,
Este bloque coino se observa en la figura 5.29 esta integrado por tres transmisores (Ti, T2 y
T3),dos dc los cuales (T, y T2) son los encargados de enviar las datos y direcciones a traves de los
buses externos, cada uno de ellos pertenece a un bus y son aciivados cuando se recibe la señal de
control de escritura ‘ W la cual es proporcionada por la unidad de control; por otro lado, T3 se utiliza
para transmitir las señales de control de ambos buses, y es activado por la señal “BUSY” o por la
seiial dc direccion no valida “DV”.
5.7.2.- Receptores a los Buses Externos.
También dc la figura 5.29 podemos ver, que son tres receptores (Rl, Rzy R3), donde RIy R2
se encargan de recibir los datos y direcciones a través de los buses cxternos, y a diferencia de los
transmisores estos sicmprc están activados para rccibir información en cualquier momento. Por otro
lado, R, sc utiliza para recibir la señales de control de ambos buses y al igual que los otros dos
rcccptorcs sicmprc esta actno.
72
EL
CAPITULO 5 . Diseño detalladodel m6dulo MCR.
nidulos quieren utilizar los buses externos al mismo tiempo, ambos envían a través de los buses
cxtcrnos su identificador, por lo tanto es necesario que cada identificador tenga asociada solamente una
línea dcl bus externo, para esto se cuenta con cl dccodificador (F,) el cual dependiendo del numcro del
identificador, activa la línea correspondiente a este valor, la salida de FI es almacenada en un registro
(F2),en donde solamente uno de sus bit estar&en un “I” lógico, la salida de F2 se envía directamente a
los transmisores de los buses externos.
. .
Para almacenar el dato en F2 es nccesario activar. la señal proporcionada por la unidad dc
control “IDENT”, la cual habilita a los transmisorcs enviando el idcntificador por los buses externos,
despues de un periodo de reloj el bloque de decodificación se encarga de determinar si cl módulo es el
de mayor prioridad o no y la unidad de contro1,gencralas scñalcs necesarias.
5.7.4.- Bloque de Decodificación.
Estc bloque, al igual quc el bloqiic de decodificación utilizado en la iiiterfaz al bus AT, está
implementado mediante un PLD EPLDGIO (El) como se observa cn la figura 5.31. Las señales que sc
le proporcionan son las gencradas por el bloque dc comparación (Do-D,) que son los datos y
direcciones transmitidos a través de los buscs cxternos; estas señales junto con las señales de “BDHI”,
“BDLI”, “BUSY” e “IDENT” de la unidad dc control y el identificador del módulo (A, B, C)
detcrminan la prioridad de cada uno dc los módulos “SMP,así como la interrupción entre nodos del
sistema “INT”.
EIINJUELOMP
Figura 9.31. Bloque de Decodiíicación.
Cuando la señal “ S M P es un ‘‘O” lógico indica que no existe otro nodo de. mayor prioridad
que solicite el acceso a los buses externos y por lo tanto, el módulo puede realizar su operación sin
problcmas; por el contrario, si esta señal es un “I” lógico indica que hay un nodo de mayor prioridad
que desea realizar una operación de escritura, y por lo tanto el modulo debe ceder el bus y esperar
hasia que cl módulo de mayor prioridad haya desocupado los buses externos. Una vez quc el bus sea
liberado el módulo vuelve a contcndcr por uso de los buses externos, hasta que pueda realizar la
opcracióii ‘o ésta sea abortada Por otro lado, la señal de interrupción cntre nodos dcl sistema es
activada (“I” lógico) cn cl’iiodo j si alguno de los otros nodos dcsean intcrrumpirlo; para lograrlo, el
nodo que dcsea intcrrunipir a otro nodo dcbc escribir cualquicr dato a la dirección correspondiente al
idcntificador dcl m6dulo. Esto es, si el módulo al que se desca interrumpir tiene un identificador igual a
trcs, cl nodo quc qiiicra gciicrar la interrupcióii dcbc cscribir cualquicr dato cn la dirccción 0003H. AI
gcncrar la scñal dc intcrrupción cntre nodos dcl sistcma “INT” se encicnde cl registro quc sc utiliza
para enviar la señal IRQS al bus AT. El programa con el cual cuenta el PLD para generar estas
señales se anexa en el apéndice C.
14
CAPITULO 5 : üiseño deiallado del rnódiilo MCR.
i
75
. .
CAPITULO 5: üiseflo detallado del módulo MCR
77
78
CAPITULO 6
PRUEBAS Y E V A Z U A C I ~ N .
Introducción.
Los criterios tomados en los capitulos anteriores sirvieron para conformar el escenario donde
se realizaron las pruebas a cada módulo MCR y al sistma en gcneral; para cllo fue necesario definir
algunos parámctros de evaluación, asi como un conjuiito de condiciones de operación, basados en las
especificacionesdel sistema.
6.1.- Escenario para la Evaluación.
i
El ambientc en doiidc sc desarrollaron las pruebas realizadas ai SMCR estuvo formado por
dos módulos MCR de 64kbytcs, los cuales se integraron en dos PC AT compatibles con
microprocesador 80386 y 80286 respectivamciitc, como se muestra en la figura 6.1.
Para los buses cxtcrnos sc ciiiplcó par trenzado en prcsentacióii plana con 25 pares, de los
ciialcs 16 sc iitiliznroii para dnto/dircccioiics dc los dos buscs externos y odio para linens dc control.
La longitud dcl cablc fuc dc 25 pics (7.5 nictros aprox.). Los módulos sc coiicctaron a los buscs
extcrnos a través de un conector DB50 con un tramo del mismo cable con una longitud aproximada
dc 15cms. hacia las PC’s, en cada uno de los extremos del cablc se conectó un terminador de linea, el
cual fiie iiiipleinciitadopor un divisor de voltaje cn cada linea del cable, los valores de las resistencia
79
CAPITULO 6: Pruebas y Evaluacion.
<
de los terminadores fueron de I80 y 390 ohms, los cuales son valores recomendados por el fabricante
de los traiisccptores utilizados cn cI diseño.
I
1
-I
I
1r-l
II
I
++
U
BUS AT
I
--D
pc2
IL-
I t 11-4
II
+I
Figura 6.1. Ambiente para el Desarrollo de Pruebas.
O
B
U
s
E
X
T
E
R
N
O
i
Para poder evaluar el dcscmpeño del sistema se usaron varios programas cada uno de ellos se
dcscribc bkvemente a continuación:
RWP.- Escribc o Icc datos de cualquier pucrto.
RWMC.- Realiza cscritiiras y lecturas a dircccioncs de memoria cspccificas.
ESCMCZ. Escribc todo el bloque de memoria con un patrón determinado.
CPMC.- Compara el contenido del bloque de MC con un patrón determinado.
CMV.- Compara el contenido del bloque de MV con un patrón determinado.
ESCSEC.- Escribc todo el bloque de memoria con valores sccucnciales.
CPSEC.- Compara el contenido del bloque de MC con valores secuenciales.
ESCMCS.- Pone a escribir los dos módulos MCR al mismo tiempo.
-
Antes de realizar las prucbas sc comprobó que las lineas de los buses externos estuvieran
operando correctamente es decir que existiera continuidad entre ellas. Como apoyo a las pruebas se
utilizó un analizador lógico dc scñales para obscrvar que las señales de interrupción ‘IYT” y de
selección “SO cran gencradas, además que las secuencias del control se realizaban correctamente,
80
CAplTULO 6: Prucbas y Evaluación.
6.2.- Parámetros de Evaluación.
I
Los parámetros fundamentales quc se consideraron para la evaluación del SMCR fueron las
especificacionesde diseño, las cuales se resumen a continuación:
Cada niódulo MCR se localiza dcntro del primer megabyte de memoria de la PC a partir de
la dirección D0000,este espacio debc contar con dos bancos, cl de memoria de verificación (MV) y
el de memoria compartida (MC). La MV se utiliza para reservar zonas en las cualcs solamente el
nodo que rcaliza la reservación podrá escribir, cada bit de este bloque representa un byte de la MC,
por lo tanto, para rcservar las zonas de memoria es necesario escribir un “I” lógico en los bits
correspoiidicntes a las dirccciones descadas, por otra parte, en la MC se almacena la información del
sistema. Para podcr acccsar cualquicra de los bancos, se debe configurar el módulo a través del
pucrto 3 12H en el modo deseado, si sc dcsca acccsar es la MV se cscribe un “ I ” lógico en el puerto,
por el contrario, para la MC el dato escrito será un “O” lógico.
Las operacioncs básicas que debe realizar el sistema son lectura, escritura interna y escritura
externa, está última solamente puede ser ejecutada.cn la MC. Además en cl módulo donde se realiza
la opcración de escritura intcnia se puede implcmcntar una instrucción dcl tipo prucba y cambio (fesf
ntidsef), csto cs, antis dc cjccutar la opcración dc escritura, sc lleva a cabo una Icciura dcl contcnido
de la dircccion a cscribir alniacenado este contenido en un rcgistro, el cual puedc scr lcido despuCs
por la PC a traves del pucrto 3 IOH. Cada módulo cucnta además con un identificador j que determina
la prioridad del mismo, y es utilizado para evitar colisiones en caso de que se prcscnte una rontensión
cii cI bus cxtcrno, csto cs, cn caso dc quc varios módulos solicitcn su acccso al bus extcrno al mismo
ticmpo, el nodo dc mayor prioridad es el que gana el acceso y los demás esperan a que este termine la
opcracióii, con lo cual sc cvitan las colisioncs cn los buscs cxtcrnos y sc ascgiira quc haya
consisicncia en la inforniación alinacciiada en todos los mdulos del SMCR. Este idcntificador puede
obtcnerse realizando una lectura .al puerto 311H en donde los cuatro bits menos significativo
representan el identificador dcl módulo.
Por otro lado, cada módulo debc activar la señal de interrupción “INT dcl bus AT, como
consccucncia de las cuatro causas mencionadas en el capitulo antcrior, csta señal tiene que
dcsactivarsc cscribicndo cualquicr dato puerto 3 12H independientemente dc la causa que la haya
producido. Por últinio, la confiabilidad del SMCR utilizando los nuevos módulos MCR debe ser
mayor que la confiabilidad iiiostrada por el sistema usando los módulos anteriores.
6.3.- Pruebas para la Evaluación.
Las pruebas dcsarrolladas para evaluar el funcionamiento corrccto de cada uno de los
módulos MCR, as¡ coni0 del SMCR en gencral, pueden ser clasificadas como:
a) Prucbas funcionalcs del módulo MCR.
b) Pruebas.del SMCR sin fallas
c ) Prucbas dcl SMCR provocando fallas.
A continuación sc dcscribcn dctalladamente las prucbas realizadas dentro de cada catcgoria,
asi como los pasos requcridos y los resultados obtenidos en cada una de ellas.
81
CApiTuLO 6: Pruebas y Evaluación.
6.3.1- Pruebas Funcionales del Módulo M C R
Estas prucbas sirvicron para vcrificar cl funcionamiento correcto dc cada uno dc módulos
MCR de acuerdo a las especificaciones de diseiío establecidas realizandose en un módulo a la vez.
a) Configuración del Módulo MCR.
El objctivo de esta prucba es comprobar la configuración correcta del módulo MCR ya s a
como mcmoria compartida (MC) o mcmoria dc vcrificación (MV), escribicndo el dato adccuado a la
configuración dcscada cn el puerto 312H, los pasos seguidos son:
I. Configurar el módulo en modo de MV, escribiendo un “I” lógico al puerto 312H.
2. Con ayuda del analizador lógico observar el dato en la linea de selección “Si,”.
3. Configurar cl módulo cn modo de MC, escribicndo un “ O lopico al puerto 3 12H
4. Observar cn cl analizador lógico el dato en la linca dc sclccción “Si,”.
El desempeño de esta prucba fue el correcto, puesto que si se seleccionaba el módulo MCR
en modo de MV, el valor de la linea de. sclección “Si,”mostrado en el analizador 1Ógi.m era el
correcto, es decir un “I” lógico, por el contario si el modo seleccionado era de MC, el dato observado
por el analizador en la linea de seleccion “Si,”era un “ O lógico.
b) Operaciones Bísicas del Módulo MCR.
El objctivo de esta prueba es verificar quc el módulo MCR puede realizar correctamente las
operacioncs bbicas dc lectura y cscritura interna, esta prueba consta de .dos etapas. En la primera
etapa se comprucba la escritura y lectura cn la MV, y consta dc los siguientcs pasos:
I. Configurar cI iiidulo en modo de MV.
2 . Escribir en una dirección especifica de memoria un patron determinado.
3. Leer el contenido de la dirección especifica de memoria.
4. Comparar el dato leído con el patrón escrito.
La segunda etapa, verifica la escritura interna y lectura en la MC, los pasos seguidos son:
I. Configurar el módulo cn cl modo MC.
2. Escribir en una dirccción cspccifica dc mcmoria un patrón dctcrminado.
3. Lccr el contcnido de la dirección especifica de memoria..
4. Comparar cl dato lcido con el patron escrito.
Ambas ctapas se comportaron adecuadaiiicntc, ya quc una vcz qiic sc habia cscrito un patron
determinado cn una dirección cspecifica de la MC o MV y sc cfcctuaba la lectura dc esa misma
dirección, el contenido presente era el patrón seleccionado. Esta prueba se realizó varias veccs tanto
por byte como por palabra variando los patrones y direcciones a escribir.
c) Operaciones Básicas Consecutivas en el Módulo MCR.
El objctivo de esta prucba es comprobar cI acccso y rcalización dc las opcracioncs básicas
conscciitivas del tal fonna que la seiíal de espcra ‘WAIT sea activada, tanto en la MC como CII la
82
CAPITULO 6: Pnicbas y Evaluación.
MV de =da uno de los módulos MCR, al igual que la prueba anterior se compone de dos etapas, C n
la prinicra sc prueba el coiiiportaiiiicntocorrecto de la MV, los pasos seguidos son:
I , Configurar el modulo cn modo de MV.
Escribir toda la memoria con un patrón dcteminado con el fin de llenarla.
Comparar el contenido de toda la memoria con ese mismo patrón.
2.
3.
4.
5.
Escribir en una dirección especifica un patrón diferente.
Volver a comparar el contenido de la memoria. 1
La segunda etapa, verifica el desempeño correcto de la MC y consta de los mismos pasos que
la etapa anterior, solamente que el módulo se configura en modo de MC. Ambas etapas sc
comportaron adecuadamente, ya que una vez quc la MC o MV Iiabian sido llenadas con un mismo
patrón y se efectuaba la. comparación dcl contenido ninguna dirección presentaba un patrón diferente,
siwembargo una vez que se escribia el patrón diferente en una dirección especifica y se volvia a
realizar la comparación sc encontraba un patrón difcrcntc en la dirección escogida, este patrón erá
exactamente el que se habia escrito. Esta prueba se,rcalizÓ varias veces tanto por byte como por
palabras variando totalmente el contenido de la memoria con patroncs tales como OOH, FFH, AAH,
55H. ctc., funcionando correctamente en cada una de ellas.
d) Lectura del Identificador.
El objetivo de esta pnieba es verificar que se obtenga corrcciamentc el valor del identificador
de cada módulo. La pnicba es niuy scncilla, consiste solainciiic de dos pasos:
I . Realizar una lectura al pucrto 3 1 I H.
2. Lccr los cuatro bits menos significativos, para compararlos con el valor colocado cn cl
dip-switch dc cada módulo.
B
La prueba funcionó corrcctaiiicntc, pucsto que los datos leidos a través del puerto coincidían
con cl valor dcl idcntificador, si el valor del idcntificador en el dip-switch se variaba y se volvia a
rcalizar la. operación
de lectura ésta funcionaba adecuadamente.
.
e) Instrucción del Tipo Prueba y Cambio (Test and Set).
El objetivo de esta prueba es probar cl dcscnipcño correcto de la instrucción del tipo prueba y
cambio (tesi ondsei).La pnicba consiste en:
1. Llenar toda la iiiciiioria ya sca MC o MV con un patrón determinado.
2. Escribir en una dirección especifica un patrón diferente.
3. Realizar una lcctura al puerto 3 IOH.
4. Comprobar que el dato obtenido de esa lectura cs lo quc habia en esa localidad de
niemoria antcs dc realizarse la ultima escritura.
5 . Escribir en esa niisnia localidad de memoria otro patrón diferente.
6 . Voivcr a leer CI puerto 3 IOH
I . Verificar quc el dato obtenido es el que se habia escrito con anterioridad.
Esta prueba se realizo con diferentes patroncs tanto por byte como por palabra y en
difcrciitcs posicioitcs de iiicnioria funcionando apropiadamente en todos los casos, ya que cl dato
83
CAPITULO 6. Pruebasy Evaluación.
leido en el puerto 3 IOH dcspufs de una escritura era cuactameiitc el dato que Iiabia en csa dirección
aiitcrioineiitc
6.3.2.- Pruebas del SMCR sin Fallas.
Estas pruebas sirvieron para verificar el funcionamiento correcto del sistema en general, ai
contrario de las anteriores se llevaron a cabo con los dos modulos conectados a través de los buses
externo. Las pruebas realizadas en csta categoria fueron la siguientes:
a) Escritiira Externa en los Módiilos MCR
El objetivo dc csta prueba es comprobar el acceso y rcalización de las operación de cseritura
e<tcrna, es decir se escribe en un módulo MCR y verifica que cl contenido del otro módulo sca igual
a Cste. L a operación solaniente es válida en el modo de M C por lo' tanto, la prueba consta de los
siguientes pasos:
I . Configurar ambos módulos MCR en modo de M V .
2. En los dos módulos escribir toda la M.V con cl patrón OOH, para evitar alguna zona de
tneinoria reservada.
3. Configurar los módulos en modo deMC.
4. Escribir en uno de los módulos a dirección especifica un patrón determinado.
5 . Leer el contenido de esa dirección en ambos módulos.
El coiiiportamicnto de csta pnieba Lie el adecuado, ya que una vez que en ambos m6diilos se
habia llenado la M V coil cI patrón OOH y se ciectuaba una escritura en la M C a una dirección
especifica con un patrón dctrminado, al realizar una lectura en esa dirección, el contenido de ambos
módulos era exactamente el patrón quc se habia sido escrito. Esta prueba también se realizó varias
veces tanto por byte como por palabras variando los patrones a escribir.
'
,
b) Operaciones de Escritura Externa Consecutivas en los MOdulos M C R
. .
El objetivo de esta prueba es tomprobar el acceso y realización de escrituras externas
consecutivas para verificar el funcionamiento correcto del SMCR. Los pasos seguidos son:
I. Configurar ambos módulos MCR en modo de MV.
En los dos módulos escribir toda la M V con el patrón OOH.
2.
3.
4.
5.
6.
7.
Configurar los niódulos en, modo de MC.
En un módulo llenar toda la mcnioria con un patrón dcterniinado.
Comparar cn los dos módulos el contenido de toda la memoria con ese mismo patrón.
Escribir en uno de los módulos una direceion especifica un patrón diferente
Volver a comparar los dos módulos el ccintcido de la memoria.
Esta prueba ftinciorió corrcctaiiicnte, ya que iiiia vez que la M C de un módulo habían sido
Ilciiada~con un misnio patrón y se efectuaba la coniparación del contenido en ambos módulos,
ninguno de ellos prcseiiiaba una dirccción con un patrón diferente, sin embargo una vez que se
escribía en uno de ellos el patrón diferente en una dirección especifica y se volvía a realizar la
comparación se encontraba un patrón diferente en la dirección escogida, este patrón era exactamente
84
.
.
CAPITULO
6:Pruebas y Evaluación.
el que se había escrito. Esta prueba se’realizóvarias veces tanto por byte como por palabras variando
totalnicntc cl contenido de la memoria con patrones tala como OOH,FFH, AAH, 55H.etc.
c) Zonas-de Memoria Reservada.
El objctivo dc esta prueba es vcrificir que solGentc el nodo que &serva alguna zona dc
memoria puede escribir en ella y los nodos restantcs que intenten escribir kn esa zona activar la señal
de intcrrupción ‘“Y.La prucba consta de los siguientes pasos:
.
,
I. Acccsar la MV y escribir un “I”lógico cn las direcciones que se desean reservar.
2. Accesar la MC y escribir toda la memoria cot? un patrón determinado.
3. Verificar con el analizador lógico, que la sdal de intermpción “INT”no es generada.
4. Rcalizar en el otro mdulo una cscritura dc toda la memoria con un patron difcreiitc.
5 . Revisar en cl analizador lógico que .la seiial “MT”del primer módulo es activada
indicando que se intentó escribir en una zona reservada por él.
6. Rcalizar la comparacióii dc la memoria, con el último patrón cscrito, pira comprobar quc
las direcciones reservadas prescntan aún el patrón anterior.
7. Realizar una lcctura al puerio 3 I IH para determinar la causa quc genera la interrupción
en sus cuatro bits más significativos.
. .
8. Revisar que la señal “MT”sea desactivada escribiendo un dato al puerto 3 12H.
La pnicba sc ejccutó con difcrcntes patrones, tanto por byte como por palabra, reservando
difercntcs localidadcs dc incmoria cn ambos módulos, en’ todos los casos se tomport6 dc forma
correcta, ya que cuando sc rcaliza una escritura cn UM iona de memoria reservada por uno dc los
módulos se activaba la scíial dc interrupción “INT”.
d) Prioridad.
El objctivo de csta pnicba cs coiifirniar quc cl csqucma dc arbitrajc por prioridad funcioiia cn
forma correcta. La prucba consistc en:
1 . Colocar la linea de “BUSY” en ambos b u s s a un “O” lógico pari simular que el bus
externo sc cncuciitra ocupado.
. .
2. Realizar cn ambos módulos ‘una escritu’raa una dirccción especifica pero con un patrón
difercntc cn.cada uno de cllos.
3. Colocar la linea de “BUSY a un “I”lógico indicando quc el bus ha sido desocupado.
4. Leer el dato almacenado en la memoria.
El resultado de la prucba hie correcto, dcbido a quc el patrón leído en la memoria
correspondía al patrón cscrito por la PC de menor prioridad y el dato almacenado en el registro de la
instrucción dc tipo prueba y cambio (lest andsei) era el patrón dc la PC de mayor prioridad como se
c’speraba. TambiCii esta prucba se rcalizó tanto por byte como por palabra para difcrciites patrones.
c) Contensión en el Bus Externo.
El objetivo dc csta prueba es cotejar que el s’istcinasoportará la cxistcncia de mtcnsión en el
bus externo. La prucba consistc cn poner a cscribir a los dos módulos a la vez, para esto sc cuenta
con un programa el cual llena toda la mcmoria con un patrón determinado y es ejecutado en ambas
PC‘s al mismo tiempo; las PC’sestán en un ciclo de espera hasta que una de ellas (la encargada de
85
CAPITULO 6:Pruebas y Evaluación.
, .
sincronimr la operación) escribe un FFH cn la dirección OOOOH y en ese momento
a ejecutar sus operaciones de cscritura. Los pasos seguidos son:
comienzan
I. Ejecutar el programa en ainbas PC’s,.escribiendo un mismo patrón en ambas.
2. Revisar el contenido de ambos módulos para confirmar la consistencia en la infomiación
almacenada en ellos.
3. Escribir en cada PC un patrón diferente.
.4. Examinar el contenido de los dos módulos.
. .
Al finalizar la prueba su desempeño fue el correcto, puesto que k b o s módulos contenían la
mima información y como se esperaba la PC de menor prioridad era la que escribía al Último, ya que
el patrón obtenido al realizar la comparación de la memoria era.el de esta PC. Al igual que en los
casos antcriores la pnicba sc llevó a cabo para diferentes patrones.
e) interrupción entre Nodos del Sistemn.
Este prueba consiste en cbnlirmar que la inlermpción entre ncdos del sistema es generada
correctamentepor los módulos MCR. La p&ba es muy simple consiste en:
I : Escribir un patrón determinado en la dirección j de la PC j.
2. Comprobar con ayuda del analizador lógico, que realmente la señal de interrupción “INT”
sc activa (“I” lógico).
3. Rcalizar una lcctura al pucrto 3 I 11-1 cn donde sc registra la causa que la genera.
4. Dcsactivar la iiitcrrupción “INT” escribiendo al puerto 312H.
La prucba se ejccutó cambiando el idcntificadorj’dcambas PC’s y escribiendoen la posición
de memoria del identificador, cotejando que la señal de interrupción “INT” se generaba. En todas las
pruebas realizadas’ el analizador mostró el valor adecuado (“I” lógico) de la .señal ‘‘MT”,
y al
escribir al puertto 3 12H la señal se dcsactivada (cambiando su valor a un “O” lógico). Ademas la
lectura del puerto 3 I IH, presentaba la causa correcta de la interrupción.
6.3.3.- Pruebns del MCR Provocando Fallis.
Estas pruebas sirvieron para verificar el funcionamiento correcto ‘del sistema en general,
cuando alguna falla se presentaba, comprobando que las técnicas de redundancia implantadas fueron
las adecuadas dc acucrdo a los rcqucrimicntos del discño, las pruebas realizadas fueron:
n) Tiempo de Operación Excedido (Timeoiit).
El objetivo de esta prueba es verificar que cl mtdulo MCR gene;
la señal de. interrupción
“MT”cuando el ciclo de trabajo tomado por la operación en proceso es mayor de 100ms.
I . Colocar la liiica “BUSY” dc ambos buses a un “O” lógico para simular quc los buscs sc
cncuentraii ocupados, cstá linea pcrmancccrá cn ese valor por mas de, 100nis.
2. Escribir.cn alguna posición dc nicmoria dc la MC con patrón determinado.
3. DcspiiCs de pasados los lOOms vcrificar la activación de la señal “INT”.
4. Rcalizar una lcctura en la posición de la memoria que se manda a escribir, para
comprobar que su contenido no ha variado.
86
CAP1TU.Q 6:Pruebas y Evaluación.
5. Realizar una lffitura al pucrto 3 I IH en donde se registra la causa que la genera.
6. Dcsactivar la s&l de interrupción escribiaioo cualquier dato al puerto 3 12H.
Esta prueba se llevó a cabo para diferentes patrones y diferentes posiciones de memoria
comportindose correctamente.
b) FnIh en los Buses Externos.
El objetivo de esta prucba consiste en probar que los módulos MCR detectan la enistcncia de
uim falla en alguna de las líneas de los buses externos. La prueba consta de los siguientes pasos.
I, Colocar alguna dc las liiicas de los buscs cxtcrnos ya sea dc datoddircccioncs o de control
a un “O” l6gico simulando que está atorada a un valor permanente.
2. Ejecutar una operación de escritura.
3 Verificar que la sciial de interrupción“iNTsea generada.
4. Hacer una lectura al puerto 31IH para leer la causa de la interrupción.
5. Realizar una lectura al puerto 313H para determinar la línea en que sc presenta la falla.
La prueba se realizó cambiando el dato a escribir, así como la linea que se colocaba a “ O
lógico y su mportamicnto fue correcto ya que siempre se detcció la existencia de una falla y se
determinó en que linea estaba presente aunque no se especificaba cual de los buses la presentaba.
e) Zonas de Memoria Reservndr con Fallas Provocadns.
El objetivo de esta prueba es vcrificar que a pesar de la existencia de fallas en los buses
e x i c m , s o l a m t c el nodo quc rcscrva alguna zona dc memoria pude escribir en ella y los d o s
restantes que intenten escribir en esa m a activan la seiíal de interrupción ‘“I“‘.
La prueba msta
de los siguientes pasos
I. Accesar la MV y escnbir un “1” lógico en las direcciones que se desean reservar.
2. Accesar la M C y escribir toda la memoria con un patmn determinado.
3. Verificar que la señal “INT” no es generada.
4. Colocar alguna linea de datoddirecciones de los buses externos a un valor Iógicn
permanenteinente, dc manera qi>e al tratar de escribir en una dirección no reservada, a
causa de la falla presente se genera una dirección raervada. Por ejemplo, si se reserva la
dirección 011.1, y se coloca la linea de datos “DO”permanentemente a un “I” lógico, al
tratar de escribir en la direccih OOH, debido a la falla presente, se escribira en la
dircceión OIH que cs una dirección reservada.
5 . Realizar en el otro d u l o una operación de escritura con un patrón difcrciite.
6. Revisar que la s&l “MTdel primer módulo es activada indicando quc sc intentó
escribir en una zona reservada por él.
7. Realizar la comparación de la memoria, con el último patron escrito, para comprobar que
las direcciones reservadas presentan aún el patrón anterior.
8. Realizar una ledura al puerto 31IH en donde se puede determinar l a causa que genera la
internipción cn sus cuatro bits m i s significativos.
9. Revisar que la sciml “INT”sea desactivada escribiendo un dato al puerto 3 I2H.
La prueba se ejecutó con difcraites patrones, tanto por byte como por palabra, reservanda
diferentes localidades de memoria en ambos mbdulos y en todos los casos se comportó de manera
87
CAPITULO 6: PnicbaS y Evaluacióii.
correcta, gcnerando la scñal de interrupción cn caso de tratar dc escribir en una mna de memoria
reservada a causa de una falla.
6.4.- Estimación de Confiabilidad del Nuevo SMCR.
El objetivo de esta estimación es verificar que el SMCR utilizando los módulos MCR.
toleraiitcs a fallas presenta una mayor confiabilidad que la precentada cuando se utilizan los módulos
MCR anteriores. Para esto se realizo el estudio de confiabilidad del módulo MCR tolerante a fallas
siguiendo los pasos que se describieron en el capitulo 3, del diagrama funcional se obtiene el árbol de
fallas de la figura 6.2.
Figura 6.2. Arbol de Fallas del nuevo SMCR.
88
CAPITULO 6:Picbas y Evaluación.
. .
, .
De este árbol de fallas, sc puede concluir que el módulo MCR presenta una concctividad
paralela debido al uso de buses redundantes, es decir 'el mOdulo fallara solamente cuando los dos
b u s s cxtcrnos qucdcn atorados a un valor permancnte o en caso de que la fuente de aiimcntación lo' ,,
haga. Sin embargo, para que uno de los buses no quede atorado es necesario que los siguientes
componentes funcionen correctamente.
.
.
..
.
..
..
..
.
.
o
0
o
o
o
o
TRANSCEPTORES DS3862 (2)
MVERSOR 74HC04 (3)
AND 74HC08 (6)
NAND 74HC00 (I)
OR 74HC32 (7)
AND 3E 74HC I I ( I )
NOR 3E 74HC27 ( I )
CONTADOR 74HC161 ( I )
FLIP-FLOP 74HC74 (7)
REGISTRO 74HC174 ( I )
BUFFER 74HC540 ( I )
REGISTROS 74HC374 ( I I )
MEMORIAS 27512 (2)
MULTIPLEXOR 74HC138 (I)
DECODIFICADOR 74HC151 (I)
PAL EPLóIO (I)
TRANCEPTOR 74HC240 ( I )
La razón dc daño calculada para cada una de estos componentes dc acuerdo al ap6ndice A se
mucstran en la tabla 6.1
b
d
DESCIUPCI~NDE COMPONENTE
Compuertas lógicas 74HCXX (NAND, NOR,
$
n
RAZ~N
DE FALLAS ( A I
..
TABLA 6.1. Razoiics dc Daño dc los Coinpoiicntcs dcl MOdulo MCR Tolcrantc a Fallas
Eritoiiccs la razón de daño presentada por el m6dulo MCR para cada uno de los buses
externos esta dada por:
89
CAPITULO 6 : Pruebas y Evaluación.
sin embargo, la confiabilidad prcscntada por cl módulo MCR para qiic ninguno de los biiscs cxternos
quedc atorado a un valor pcrmanente es:
[( e-
~ i ~ ~= 1~- ~1 -( t0.01892r)(
)
1 - p-O-Oi892f)]= 1 - ( 1 - c- 0.01892/)2
Calculando para difcrentcs tiempos y comparando la confiabilidad del módulo.actual con la
presentada por los módulos anteriores se puede observar de la figura 6.3, que se logró incrcmcntar la
coiifiabilidad. En cl niódulo aiitcrior después de 50 años se presenta una cori5abilidad de
aproximndamcnte de 0.29, por el contrario el módulo actual una vez transcurrido el m i m o tiempo la
confiabilidad prcscntadaes de aproxiinadamcntc 0.62.
a
a
B
rn(U-1
r*nmW-1
Figura 6.3.Comparaci6n de Confiabilidad Presentada por los Módulos MCR.
Sin cmbargo cI objctivo dc cstc tiabajo cra incrcmcntar la confiabilidad del sistcma en
general, por lo que hay que cvaluar la confiabilidad de los iiucvos tcnninadorcs, piicsto que la
coiifiabilidad dc la fuciitc de aliiiicntacióii es la misma que cn el caso antcrior. Entonces tcncnios que
un tcniiiiiador fallará cuando alguna de las resistencias quc lo integran falla, entonces.
CAPITULO 6 : Pruebas y Evaluación.
La confiabilidad dcl sistema en general, utilizando los mOdulo MCR tolerantes a fallas viene
dada Dor:
Calculando para diferentes tiempos y comparando con la confiabilidad mostrada por el
SMCR anterior, en las gráficas de la figura 6.4, se obscrva que cl incremento logrado es de
aproxiniadaniente un 60% después de transcurridos 5 años; ya que el SMCR anterior mostraba una
confiabilidad de 0.21 y el SMCR actual prcsenta una confiabilidad de aproximadamente 0.52.
Figura 6.4. Comparación de IR Confiabilidad del SMCR.
ó.J.-Evalurción.
Las pruebas r&lizadas y los resultados obtenidos de ellas demostraron que los criterios de
diseño fucrori los adecuados, obtenicndosc resultados satisfactorios. Ya que el comportamiento de
cada uno dc los módulos MCR as¡ como dcl SMCR sin fallas y ante la presencia dc cllas cumple
satisfactoriamente con las espccificacioncs dc discño cstablecidas. adcmás la confiabilidad prescntada
por el SMCR fue incrementada, con lo cual se puede concluir que se cumplio con el objetivo de este
o
trabajo.
En el apEndicc E son ancxados los programas que fucron emplcados para realizar las
pruebas.
91
CAPITULO 7
CONCLUSIONES.
Introducción.
Los resultados obtcnidos en las pruebas sirvieron para dctcrminar que el esquima propucsto
para el SMCR cumple Con los objetivos y guideraeiones iniciales de diseño y es factible
iniplementar un sistema dc niultiprocesamiento de alta confiabilidad.
..
7.1.- Aspectos de DiseRo.
1.- El SMCR pucde scr implantado utilizando PC’s con proccsadorcs de difcrcntcs velocidades. Esto
se debe a que los mdulos MCR pueden ser interconeciados en cualquier PC, independientemente
dc la velocidad del procesador, ya que el acoplamiento dcl módulo MCR a la PC, está sujeta a la
dinámica dc las senales gencradas por el bus AT.
2.- El diseño del módulo MCR coiisidcra criterios de asincrono/sincrono para poder realizar el
acoplamiento entrc los difcrentes nodos y los buses externos, además para minimizar
componentes.
92
Conclusiones
3.- El uso dc control microprograinado pcrmitió corregir errores de diseño simplemente modificando
cl inicroprograina.
j
4.- El tiempo tomado por el módulo MCR para realizar la secuencia de opración, está limitado por
la velocidad de respuesta de la memorias EPROM utilizadas en la unidad de control. Esto puede
ser mejorado utilizando memorias con velocidad dc respuesta más rápida como son la memotias
PROM.
7.2. Aspectos de Operación.
I .- La operación de escritura en todos \os nodos del SMCR se realiza en forma simultánea, puesto
que la información que se desca escribir es cnviada a todos los módulos MCR por medio de los
buses externos.
2.- La maxima distancia entrc PC’s siguc estando acotada por la longitud del cable de los buses
externos, actualniente de 25 pies,(’l.jmts), esté parámetm difiere del tienipo que se da en el punto
de detección de colisión.
3.- Se pueden implemcntar scmáforos en los m(wlulos MCR a fin de facilitar la sincronización de los
proccsos, así coino la adniinistración de recursos.
4.- El uso de la t6ciiica dc redundancia activa llamada “duplicación.con comparación” en los buses
cxtcrnos y la técnica de redundancia pasiva’ de enmascaramicnto incrcmcntó dircctaniente la
confiabilidad dc cada uno dc los módulo MCR, cI cual cra cl principal objctivo dc cstc trabajo.
Esto pcrmitira iniplantar sistcmas de niultiproccsamicnto tolcrantc a hllas doiidc 4 conipoiicntc
mis critico tcnga un alto nivel de confiabilidad.
.5.- El esquema scleccionado de redundancia funciona correctamente, de acuerdo a las
especificacionesde diseño planteadas al inicio del trabajo, puesto que:
El SMCR soporta la existencia dc una falla en alguno de los buses externos, sin que éste
quede blcqncado.
La cxistcncia de la falla es detectada.
La falla es cniiiascarada para terminar la operación en proceso de forma correcta.
El nodo solicitante recibe una señal de intcrrupción quc le indica la existencia de ::na falla en
alguno dc los buses extcrnos.
Se pucdc dctcrminar en que’líuca dc los buses externos (datosldirecciones o control) se
produjo la falla, aunque no se pucda especificar en cual de los dos buses está presentc.
Cuando alguna opcración requiere inscrtar cidos de espera activa la señal “IOCHRDY” del
bus AT, pero si el tiempo que está activa la scñal excede el tiempo permitido, se suspendc la
opcración avisándolc al nodo solicitante. que la operación ha sido cancelada, evitando así la
falla de la PC.
Sc pucdcn rcscwar zonas dc mcmoria en las cuales, solamente el nodo que lleva a cabo la
rcscrvacióii pucdc cscribir; lo quc permite dctcctar crrorcs en el módulo MCR.
93
Coiiclusioncs
Si debido a la existencia de una falla en alguno de los buses externos, se pretende escribir en
una dirección rcscrvada por otro nodo, la operación de escritura es cancelada y el nod0
solicitantc es notificado de quc la operacion que deseaba realizar no pudo ser finalizada y se
debe tomar alguna acción corrcctiva.
7.3, Aportación del Trabajo.
La priiicipal aportación dc cstc trabajo sc cncucntra cn la modificación al csqucma de
Mcmoria Compartida Rcplicada (MCR) propucsto en los trabajos antcriorcs [ I ] y [ 2 ] , con el objetivo
de d e r implantar un sistcma altamcnte confiable, esto se logró utilizando algunas de las técnicas de
rdundaiicia existentcs quc fucron sclcccionadas bajo los principales critcrios precstablccidos dentro
del campo de tolerancia a fallas, los cualcs son el producto de una investigación bibliográfica en
diversos artículos y libros especializados que han sido coiisultados y resumidos de forma que el
matcrial prcscntado sea una ayuda en cl cntcndimicnto y uso dc estos criterios.
Además se proporcionan las hcnamientas necesarias para evaluar la confiabilidad de un
sistema tanto cualitativamente como cuantitativamente, dichas herramientas también resultaron de la
investigación bibliográfica en la literatura especializada, y se presentan de manera que puedan ser
fácilmente comprendidas y,manejadas por cualquier lector,
El esquema propuesto dc Mcinoria Compartida Rcplicada Tolcrantc a Fallas, si bien está
limitado en velocidad por los buses AT y Externos, satisface las necesidades de interconexión de
PC’s; sobre todo cuando ya se cucnta con &stas y se desea implantar un. sistema de
niultiprocesamiento débil o medianamentc acoplado.
Otra ventaja de este esquema es que en las distintas PC’s se puede tener distintos sistemas
operativos y10 lenguajes, ya que el protocolo es, al nivel más básico: “Electrónica”. Además quc se
puede implantar un sistema altamente confiable.
7.4.. Trabajos
Futuros.
.
Si bien se cumplicron con los objctivos dc este trabajo, sc puede tratar de mejorar cl csquema
del SMCR de la sigiiiente forma:
lmplantando un mecanismo dc soflware para completar la fascs dc tolerancia a fallas (evaluar y
confinar la falla, recupcrar el cstado y continuar con el servicio) por el conjunto de ncdos.
Proponicndo un nucvo esqueina dc dctccción de errors.con el cual se pueda dctermiiiar en cual de
los dos buses externos está presentc la falla y de alguna fonna reconfigurar cl módulo MCR
dañado, para evitar la etapa de comparación y tomar en cuenta solamente el bus externo que no
prcsciita fallas
94
Conclusiones
Dcsarrollar el bloquc de control dc los módulos MCR, con componentes mas modulares tales
como son los PLD y comparar su dcscmpcño, así como la confiabilidad presentada con este
esquema.’
.-
Tratar de incrementar la distancia pcrmitida entre las PC’s del sistema usando ticnicas
alternativas al par trenzado como medio de comunicación.
95
. .I
:
REFERENCIAS
[I] t-lwang aiid Brigs, “f3mputer Archilecture and Parallel Processing’! 2nd.edición, (McGraw
Hill, 1987).
121 Ruiz Fuentes, Gerard0 M.,Hernández Sánchcz, Antonio, “Emulación de Memoria Compartida
entre Microprocesadores’! (Tesis M.Sc.; Cucrnavaca: Centro Nacional de Desarrollo
Tecnológico, I99 I).
[3] Rainirez Valenzuela, Carlos E.. ‘!4 Multi-Computer $piem Based on a Replicated ShareMeniiry’! (cii Sixth IASTED ISMM Iiit‘l Coiif,. Parallel and Distributed Coinoutiiia and
October 1994).
w,
[4] R. Scrcno, Oracio, “Diseño de una Red de Multiprocesaniiento para PC’s’! (Tcsis Lic.;
Mcxico, D . F Instituto PolitCcnico Nacional, Escuela Superior de Ingenieria Mccaiiica y
EICctrica, 1993).
IS] lbidciii
.._.
161 R. Scrciio, Oracio, “Diseiio ”,op. cit.
[7] Barry W. Jonhsoii, “Fault-TX?raniMicroproce.~sor-~fl.~~d
S‘jstemi’!(cn IEEE MICRO, Vo1.4,
Deccmbcr 1984)
[SI Lapric Jcaii-Claiidc, ‘!i>ependable Computing and Fadi Tolerance: Concepts and
TerminoIog.y’!(cii Tlic Fiítccnth Annual Intcrnational Svinoosum on Fault-Tolairant
Coiiiouting, June 1985).
......”, op. cit.
[9] Barry W.Jonhson, “Fault-Toleran&
[IO] Barry W. Jonhson, ‘Desing and Analisys a/ Fault Tolerant Digitai Sysfems’! 2nd. edición,
(University of Virginis, Charlottesville: Adison Wesley Publishing Company 1989).
[I I ] Avizienis Algirdas, “Fault-TolerantSptem”, (en IEEE Transaction on Computers, Vol. C-25,
No. 12, Deceinbcr 1976).
....”, op. cit.
[I 21 Barty W.Joiihson, ‘Design
[I31 Doyle, Edgar Ir., “HoivParts Fail”. (cii lEEE Spectrum, Octobcr 198 I),
[¡4] Ibidem.
[15] Torgean, Luke J., “T~vo-l>imensional
Nonsothermal Carrier Floiv in a Transislor Structures
Under Reactive Circuits Conditions’! (en IEEE Transactions on Electron Devices, Vol. DE25. No. 7, July 1978).
..
96
[I61 Chern John G.J. and Oldham G . William, “Elecfromigration in AVSi Contacfs- Induced
Open-Circuit Failure’! (cn IEEE Transaction on Electron Dcvicc, Vo1.33, No.9, Scptenlber
1986).
[I 71
-
~
JG,,?~ Claude Martin arid B l ~ q u c zGabricl, ‘!Reability Prediclion of SiliCoIl f3i/~~J/Ur
Transistor by Means o j Noise Measurements’! (en IEEE Confercncc on Rcability, Vol.lO,
. .
No. 6, May 1979).
[IS]Hakim Edward B., ‘!4n Advancemenf in Transistors Second Ilreakdoivn Performance Using
Molybdcmun Mctalirncion’! (cn IEEE Transaction on Rcability, Vo1.7, No. I, March 1986).
1191 Spcakman Thomas S . , “A Model far tlie Failure of Bipolar Silicon Integroted Circuits
Subjected to Electrosfatic Discharge’! (en IEEE Confcrenw on Reabilib, Vol. 23, N0.5,
August 1981).
[20] Barson Frcd, “Emitter-Collector Shoris in Bipolar Dmjces’! (en IEEE Journal of Solid-state
Circuits, Vol. I I, No.4, August 1976).
[21]Hwang. Kyawean, “Second I3rcakdoivn Predictio by Two Dimension Numerical Anolisys of
I3JT Turno#’! (cn IEEE Transaction Electron Dcvicds, Vol. DE-53, No.7, July 1986).
[22] Morondi C. and Niciloi L., ‘ECL Fault Modelling’!
(en 1EE Procecdines, Vo1.135, No.6,
November 1988).
[23]Liprie Jcaii-Claudc, “l~ependable..”, op. cit
[24] Barry W. Jonhson, “Foult-Tolerant
.......”,op..cit
1251 *Nelson, Victor P., “Fault-Toleront Computing: Fundamenial Concepts’! (en
COMPUTER, Vol. 6,. July 1990) .
,
[26]Barry W.lonhson, “Design.;.”, op.cit.
[27]BOW~CS,
John., !4
‘ S ~ r v e yof Reahility-Prediction Procedures For Microelectronics I>evices’!
(cii IEEE Transaction on Rcability, Vo1.41, March 1992).
[28]Molina Davila Arturo, “Evaluación de Confiohilidad de Equipo Elecfrdnico, su Importancia
y Aplicacidn’! (Tesis Lic.; México, D.F: Universidad Nacional Autónoma de México, Facultad
dc Estudios Supcriorcs, 1993).
[29]Ibidem.
[30]Molina Dávila Arturo, “Evaluacidn ...’!op. cit.
[31] Sicwiorck Danicl P. aiid Swarz Robert S., ‘!Reliable Computer Sysfenis”. 2nd,ediciOn, (Digital
Press, 1993).
91
[32] Pctch and Nash, ‘Prediding the Reability of Elrctronic Equipment’: (cn IEEE Procccdinss,
Vo1.82, No.7, July 1994).
[33] Sicwiorck Daniel P. and Swarz Robert S., “Reliable...”. Op: cit.
k34] Watson, George F., “MIL Reliability: a New Approach”. (cn IEEE SDectrum, Agost 1992).
(351 Tancnbaum Andrew S., ‘Urganizacldn de Computadoras un Enfoque Estructurado”.
3era.edición, (Amsterdam, Holanda: Prcntice-Hall Hispanoamericana, 1992)
[36] Mano Morris M., “Logica Digital y Disetlo’de Computadores’: Traducción de lera.ediciÓn,
(California State, Univcrsity Los Angclcs: Prcnticc-Hall Hispanoantcricana, S.A., 1982).
[37]Ibidcni.
....”,op. cit
[38] Mano Morris M., “Logica
[39] Flctchcr William I., %in Engineering Approch to Digital Design’: (Utah State Univcrsity,
Utah: Prcntice-Hall, Iiic., 1980).
98
APEiVDíCE A
En este apéndicc se niucstran los niodclos matemáticos de las razona de daño de los
coniponentes que sc utilizan en el SMCR, así como las tablas perteneciente para determinar los
factores que la afectan, Cada uno de las siguientes secciones corresponde a un grupo genérico, los
modelos presentados son el resultado de simplificacionespara facilitar su manejo.
La calidad de un componente tiene un efecto directo en su razi>nde daño, y puesto que en el
SMCR se utilizan solamente componentes para uso comercial, se clasificaron todos excepto los
circuitos integrados en la categoria de calidad “LOWER”, categoria que incluye a componentes que
no estin sujetos a los cstindarcs militares, por su parte los circuitos integrados fueron clasificados
dentro de categoria B-l que es cquivalcnte a la anterior para estc tipo de componentes.
Por otra parte, todos los modelos de razOn de daño incluyen los efectos de esfuerzos
anibientales a través dcl factor ZI:,en cl Manual se describen 14 ambicntes diferentes en los quc
podria estar instalado un cqiiipo y van dcsdc las instalacioncs dc tierra, en difcrcntcs condicioiics,
hasta
iiistalacioncs cn avioncs, barcos y navis cspacialcs. Estos ainbientes son:
~.
GB = ticrra bcnigna. No nióvil, mcdio ainbicnte con temperatura y humcdad controlados, fácilnkntc
accesiblc para mantcnimiento, incluye instrumentos y equipo dc prueba, equipo medico
clcctróiiico, conlputadoras cicntificas complejas.
GF = ticrra fija. Mcdio anibicntc moderadamente controlado, tal como instalación pernianentc en
armarios (racks) con aire acondicionadoadecuado; incluye instalaciones en laboratorios.
99
Aphidkc A
GM = ticrra móvil. Equipo instalado cn vchículos con nicda~o en trayectoria y equipo manualnide
transportado; incluyc equipo de comunicación móvil, tclcmetro, equipo dc comunicacion
manual.
NS = naval protegido. Equipo instalado cn supcrficics de barcos bajo cubierta y cquipo instalado cn
submarinos.
NU
no protegido. Equipo instalado en superficies de barcos no protegidas, equipo expuesto a
condiciones húmedas y equipo inmerso en agua salada.
= aval
AIC = aerwtransporte de carga habitado. Condiciones típicas en wmpartimentos de carga los cuales
piiedcn ser ocupados por un tripulante. Las condiciones ambicntales extennosas de presión,
tcinpcratiira, vibración y choqucs son minimas.
AIF = aereotransporte de combate habitado. Igual a AIC pero instalado cn vuclos de alto desempeño
tal como los aviones de caza o los aviones interceptores.
AUC = acreotransporte de carga no habitado. Areas ambientalmcntc no controladas las cuales no
pueden ser habitadas por un trpulante durante el welo. Las condiciones ambicntales
extremosas de presión, temperatura, choques y vibraciones pueden ser severas.
AUF = acreotraisportc de combatc no habitado, tal como AUC pero instalado en wclos aéreos de
alto dcscnipcíio, talcs como vuclos dc caza c intcrccptorcs.
SF = welo espacial. Tierra orbital, condiciones aproximadas a las condicioncs de la tierra benigna.
Ni veliiculos bajo vuclos impulsados, ni en reingmo atmosfkrico.
MF = proycctil aéreo. Condiciones relacionadas a welos impulsados de proyectiles de respiración de
aire, proyectiles de navegacioii, y proyectiles no poderosos librcs dc wclo.
ML = lanzamiento de proyectil. Condiciones severas relacionadas a lanzamientos de proyectilcs
(aire, ticrra y mar), vchiculo espacial puesto en órbita.
CL = cañón de lanzamiento. Condiciones scvcramente extremosas relacionadas a cañones de
lanzamiento de 155 nim, y 5 pulg. guiando proyectiles. Condiciones aplicadas a los proyectiles
desde cI lanzaiiiicnto hasta el objctivo del impacto.
Para el SMCR sc escogió el ambiente “tierra fija” (Ground fixed, GF) por ser el más
adecuado a las características del sistema y en general a todo aqcicl equipo que no está en
moviniiento, en condicioncs de laboratorio, o subtcrrinco.
*
Cada uno de los siguientes apattados corresponde a un grupo generico y contiene los modelos
dc razón de daño de los componentes elctrónicos relacionados con él. Cada modelo presentado es el
multado dc sustituir la expresión de r d n de daño base y los valores XL; y de ‘CQ
correspondicntesal ainbiciite y calidad mencionados, en el modelo general del componente en estudio;
así como múltiplcs simplificaciones para facilitar su manejo. En todos los niodclos prcscntados, la
razón de daño viciic dada en daíios por IO6 horas.
100
A.1.- Resistencias.
En este grupo se incluyen los modelos de razón &'daño de las resistencias de composición,
de pelicula, de poteneioniétros y de paqucte, sin embargo en el SMCR solamente se utilizan
rcsistcncias de composición y de paquete que son las que se presentan en a t e apartado. La
nonienclatura utilizada cs la siguicnte:
I ~ R
= factor dc resistencia
S = csfucrzo eléctrico.
PE = potencia especificada, en watts.
RE = valor de resistencia, cii oiiilis.
T = icnipcratura aii!l>icnie, cn "C.
Tp =temperatura dcl paqiicte, en "C
VA = tcsion aplicada, en Volts.
~ N =Rnúmero dc rcsistcncias utilizadas
*
A.I.l.- ilesisiencias de Cotiiposici6ii.
Las resitcncias dc composición o de carbón son las más utilizadas cn las aplicaciones de
circuitos elcctroiiicos doiidc no sc rcquicrc dc una tolcrancia inicial critica (5% o menos), o dc una
estabilidad a largo plazo que pueda alcanzar un 20% menos dc la potencia especificada. El modelo de
razón dc daño para cstas rcsistcncias cs:
El esfuerzo electrico, S, se obtiene de dividir la~potenciade la resistencia en operación entre
la especificada, esto es:
En la tabla A. I, se muestran los valores que puedc tomar Z R , de acuerdo al valor de la
resistencia.
Tabla A. 1. Factor dc Rcsistcncia para las Tipos de Composición
A.1.2.- Paquete de Resistencias.
El paquetc de rcsistciicias o chip de resistencias, sc usa normalnicntc cn circuitos dc
microclectrónica hibrida y tiene aplicaciones tales como arreglos pull-up, pull down, limitadores de
corriente, entre otras. El modelo de razóii de daño base que presenta es :
+A,
!--(
(
= 0.0003Gex 13.61074- 7p+273
405G ) ) w t
la tempcratura del paquctc Til, sc obticnc dc la relación: Tp = T +55S; donde S cs el csfucrm
electrico y T es la tempcratura ambiente. Por otra parte, el término Z N R , representa el iiúmcro de
rcsisiciicias de pcliciila dcl paquctc, cn la cciiación de la razón de daño, y solamente se incluycn las
quc cstán en uso y no las que conticiie cl paquete.
A.2.- Capacitores.
En el siguiente grupo gciierico se presentan los modelos dc razón de daño de los capacitores
ecrámicos de próposito gencral y elcctróliticos de aluminio, los cuales se utilizaron en el SMCR.Se
ha considera que todos opcran a una temperatura no mayor de 85°C. La nomenclatura utilizada es:
CE= capacitancia
S = esfuerzo de tensión
T = tcnipcratura ambicntc, cn "C.
VA = tcnsión cn opcración (aplicada), cn Volts
VE = tensión especificada, cn Volts.
El csfuerzo de tensión S,cs rclación dc la tensión de opcración aplicada VA entre la tensión
cspccificada VE,sicndo la primcra la suma de las tensioncs de CA y CD que se aplican al capacitor.
A.2.1.- Capacitores Cerriinicos de Propósito General.
Estos capacitores prcsentan el siguiente modelo dc razón de daño:
el valor dc capacidad para este niodelo se cxpresa cn pf.
A.2.2.- Capacitores Electróliticos de Aluminio.
El modelo qiic sc utiliza corresponde a los capacitores clcctroliticos polarizados de aluminio
seco para CD. El modelo simplificado es el siguiente:
102
=(138,10x 10-3S3 +17.27 x 10-3)C~0.18
exp(95435T+0.76257)
el valor dc capacidad para cste modclo se expresa en pf.
A.3.- Semiconductores Discretos.
En cste grupo se incluycs los diodos reciificadores y los reguladores de voltaje. La
nomenclatura utilizada es la siguiente:
nc = factor de construcción del contacto.
n T = factor dc temperatura.
'ss = factor de esfuerzo eléctrico.
I
Pdis = potcncia disipada, en Watts.
T = temperatura anibiente de operación, e n T .
Tj = temperatura dc la unión, en "C.
8jc = resistencia thnica, en oc/watts.
De acuerdo con cI manual, la
con ayuda dc la expresión:
A.3.1.- Diodos Rectificadores.
El modelo de razón de daño
A.3.2.- Reguladores d e Voltaje.
El critcrio para sclcccioiiar el factor de construcción ZC,
es el mismo que para los diodos
dc propósito giiicral.
103
1
Apéndice A
A.4.- Circuitos integrados Monotiticos.
gnipo sc incluyen 10s circuitos integrados digitales Y lineales, memorias Y
dispositivos lógicos programablcs (PLD), por ser los utilizados en el SMCR, sin embargo el manual
incluye a los microprocesadores. La nomenclatura utilizada es:
Ci = razón dc falla por complcjidad dcl chip.
C2 = razón de falla dcl cncapsulado.
Ea = energia de activación efectiva, cn cV.
No = numero dc bits.
Nc = numero de compuertas.
NI)= niimero dc piiics ñiiicioiialcs dcl dispositivo
Nt = iiiiiiicro dc traiisistorcs.
K p = factor de calidad
í r =~factor ambiental.
" T = factor de temperatura.
= factor de aprendizaje.
Pdis = poteiicia disipada, cn Watts.
Tj = temperatura de.la unión, en "C
Bjc = rcsistencia termica, en "C/Watts.
Y = aiíos en producción.
El modelo dc r'míii dc daño gcneral quc caractcriza a cstos dispositivos cs cl siguicntc:
donde, el factor de tcmpcratura se basa cn tipo de tecnología utilizada cn el dispositivo. Para
obtcnerlo se utiliza la expresión:
la cual es valida para los dispositivos de silicio, Tj es la tempcratura dc la unión cn el pcor caso y se
expresa en "C. Para obteiierla se utiliza la misnia ecuación de los dispositivos scmiconductores
discrctos.
Si la rcsistcncia téniiica del cncapsulado a la uiiióii, no puede determinarse, el Manual
proporciona una scric de valores tipicos quc depcndcn dcl tipo de encapsulado del dispositivo. Estos
valorcs sc prcsciitaii en la tabla A.2, sc utiliza como valores por dcfault y son aplicablcs a cualquicr
dispositivo. aunque dc prcfcrciicia' se sugiere sc utilizar los valorcs proporcionados en las hojas de
espccificacioncs.
104
ApCndice A
TABLA A.2. Valorcs de Resistencias Térmicas por Default para Circuitos Integrados Monolíticos.
La potciicia disipada, Pdis, cs la potcncia en el peor caso para una aplicación especifica del
componentc. Cuando no se pucdc cstimar, sc utiliza la máxima disipación de potencia, la cual sc
obticne de las hojas de especificación dcl dispositivo.En caso de quc no se conozca el valor de Te,
ésta p u d e toniar un valor tipico depcndicndo dcl ambiwte en donde se encucntre instalado el sistema,
para esto sc cuciita cob la tabla A.3
Medk~amhienie
G ü GF GM
NS NU
AICAIFAUCAUF SF MF
ML CIA
TABLA A.3. Valorcs dc la Tcmpcktura por Dcfault para todos los Anibicntcs.
Los valorcs que puedc tomar la cnergia de activación efectiva h,se calcula dependiendo de
la tccnologia dcl dispositivo nidiaiitc la tabla A.4.
TABLA A.4. Energía de Activacibn Efectiva.
El valor de ZQ por su parte, se obticne a partir de una tabla de factor de calidad para
circuitos integrados (Tabla AS).
TABLA A S . Factor de Calidad.
105
Aphdice A
Por otro lado, el factor de calidad se determina a partir de la ecuación:
n~ = 0.01 exp(5.35- 0.35Y).
donde Y es el ticnipo que el dispositivo ha estado en producción y se requicre de por lo menos dos
años para considerarlo confiable.
Los factores C i y C2, reflejan la complejidad del chip y del encapsulado y tecnologia
utilizada para la creación de dicho dispositivo (BIPOLAR, MOS,etc.), que contribuyen al daño del
dispositivo. El factor C I es particular de cada tipo de dispositivo, mientras que el factor.C2 es común
a todos ellos. Los valores que toma la ra7h de daiio pnr comp1ejidad:delcncapsulado, factor C2, se
muestran en la tabla A.6, donde Np es cn número de piws funcionales dc dispositivo, es decir, que
cstin conectados cii alguna localidad dcl substrato de I chip.
TIHI DE ENCAPSULADO‘
c2
LCC, PGA, AMT - Hcmiético
Metálico
TABLA A.6. Razón dc Falla por Complcjtdad del Encapsulado
Cada uno dc los siguicntes apartados corrcspondc a un tipo de circuito integrado monolitico,
e incluyc los difercntcs valorcs que pude tomar el factor dc C I .
A.4.1.- Circuitos Digilnles.
..
En cl grupo dc circuitos digitalcs sc incluycn los arrcglos dc compuertas, los arreglos lógico
prograiiiablcs dc campo (PLA’s), la lógica de arrcglo programable (PAL) y los dispositivos lógicos
prograinablcs (PLD’s) tanto dc tccliologia bipolar F L ) ,como dc óxido dc inctal (MOS).
106
Apóndicc A
0.00085
0.021
0.021
0.042
0.042
201- 500
-
501 1000
1001 - 2000
2001 - 5000
5001 - 20000
0.0017
0.0017
0.0034
0.0068
-
A.4.2.- Circutos Lineales.
B
NUMERO BE TRANSISTORES (NV
1 a 100
101 a 300
301 a 1000
1001 a 10000
CI
0.0 I o
0.020
0.040
0.060
A.4.3.- Menioriris.
En cl caso de las memorias, éstas se clasifican en dos grupos principales: voláties y no
volatilcs. Dentro del primcro sc ciicuentran dc las memorias de acceso aleatorio (RAM’S) en sus dos
tipos: dinnamicas y cstaticas. En el segundo, están las memorias de solo lectura (ROM’s) y las
mcniorias dc solo lectura programablcs (PROM’s), en sus difcrcntcs tipos,
Apéndicc A
El factor dc coniplcjidad dcl chip CI, se dctcnnina por cl numero dc bits y la tccnologia,
como pucdc verse cn las tablas A.9 y A.10. Los rangos cstablccidos se dan en Kbits ( I K b i t ~ 1 0 2 4
bits), unidad que sc ciiiplca para designar la capacidad ds almaccnamicnto de una memoria.
64K < Mcinoria < 256K
256K < Memoria < IM
R
0.005
0.01
0.03 I
0.062
0.021
0.042
TABLA A.9. Factor de Complcjidad CI para Mcmorias RAM
..
TABLA A.10. Factor CI dc Complcjidad para Mcmorias ROM y PROM.
APENDZCE B
PROGRAMA DE DECODIFICACION DE MEMORL4
Y PUERTOS DE E/S (310H, 311H, 312H Y 31311).
En este apéndicc sc priscntan el programa de dccodificación de la dirección de memoria y los
puertos de EfS cn las dirccciones 310H, 3 I IH, 312H, 313H, que hcron grabados cn el Dispositivo
Lógico Programable (PLD) EPLóIO, empleando el sistema ALTERA. El programa es el siguicntc:
TITULO DECODIFICACIÓN DE MEMORIA Y PUERTOS DE EtS.
SISTEMA: ALTERAN.00.
COMENTARIOS: DECODiFICACION DE DIRECCIONES DE MEMORIA =' DXXXX,
.~
SELECCIONDEPUERTOSDEE/S=310H,
311H,312H, 313H.
MEMORIA EMPLEADA: EPLó I O
INPUTS:
'
A0@2, A l a l I, A2@14, A3@23, A4@3, A5@4, A(>@, A7@6, A8@7, A9@8,
A16@Y, A17@10, A18@1S, A19016, IOX@27
OUTPUTS
P313@18, DMC@IY, P310@20, P31 l@21, DMV@22
NETWORK
A0 = íNP(A0)
A I = INP(AI)
A2 = INP(A2)
109
ApEiidicc B
A3 = INP(A3)
A4 = INP(A4)
A5 = INP(A5)
A6 = INP(A6)
A7 = MP(A7)
A8 = INP(A8)
A9 = iNP(A9)
A16 = MP(AI6)
A17 = INP(A17)
AIS = MP(AI8)
A19 = INP(A1Y)
IOX = INP(I0X)
P313 = CONF(EQ5, VCC)
DMC = CONF(EQ1, VCC)
P310 = CONF(EQ2, VCC)
P3I I = CONF(EQ3, VCC)
D M V = CONF(EQ4, VCC)
EQUATIONS.
EQI = (A19*A18*A17’*A16)’;
% DECODIFICA DlRECCIdN DXXXX %
EQ2 = AO‘*AI’*A2’*A3’’A4*A5’*A6’*A7’*A8*A9*IOX‘;
%SELECCIONA EL PUERTO #3101i %
EQ3 = (AO*AI ’* A2”A3’*A4*AS’*A6’*A7’*AS*AY*iOX’)’,
% SELECCIONA EL PUERTO #31 IH %
EQ4 = A9*AS’A7’*A6’*AS’*A4*A3’*AZ’*A 1*AO’*IOX’;
%SELECCIONA EL PUERTO #312H %
EQS = (A9*A8*A7’*A6’*AS’*A4*A3’*A2’*A I *AO*IOX‘)’;
% SELECCIONA EL PUERTO #313H%
END $.
APENDICE C
PROGRAMA COMPARADOR DE
PRIORIDADES E INTERRUPCIONES.
En este apéndice se presenta el programa que lleva a cabo la comparacibn de prioridades y de
interrupciones. Igual que el anterior, fue grabado en el Dispositivo Lógico Programable (PLD)
EPLóIO, emplcaiido el sistema ALTERA. El programa es el siguiente:
TITULO: COMPARACIÓN DE PRIORIDADES E INTERRUPCIONES.
SISTEMA: ALTERAN.00.
MEMORIA EMPLEADA: EPLóIO
INPUTS:
A0@2, A1@22, A2@21, A3@20, A4@19, AS@lS, A6@17, A7@16,
A@15, B@10, C@9, SUSY@S, IDENT@i, BH1@23, BL1@14
OUTPUTS:
1NT@5, SMP@ó
NETWORK:
A0 = INP(A0)
AI = INP(A1)
A2 = INP(A2)
A3 = INP(A3)
A4 = INP(A4)
111
Apiiidicc C
A5 = INP(A5)
A6 = INP(A6)
A7 = INP(A7)
A = INP(A)
B = INP(B)
C = INP(C)
BHI = INP (BHI)
BLI = INP (BLI)
BUSY = iNP(BUSY)
IDENT= iNP(IDENT)
SMP = CONF(MP2, VCC)
MT = RONF(SCD, BLI,BUSY,GND,VCC)
CP =NORF(CPD, BHI,BUSY,GND)
EQUATIONS. MP
.
=
AI*(A’*B’*C’)+ AZ*(A’*B‘*C’)+ A2*(A’*B’*C)+ A3*(A’*B’*C‘)+
A3*(A’*B’*C)+A3*(A’*B*C’)+A4*(A’*B’*Ct)+A4*(A’*B’*C)
+ A4*(A’*B*C‘)
+A4*(A’*B*C)+A5*(A’*B’*C‘)+A5*(A’*B.’C)+AS*(A)*B*Cl)+A~*(A’*B*C)+
A5*(A*B’*C‘)+A6*(A’*B’*C‘)+A6*(A’*B’*C)+A6*(A.*B*C’)+A6*(A’*B*C)
+
A6*(A*B’*C’)+A6*(A*B’*C)+A7*(A’*B’*C’) + A7*(A’*B’*C)+ A7*(A’*B*C’)
+ A7*(A’*B*C)+ A7*(A*B’*C’)
+ A7*(A*B’*C)+ A7 * (A*B* C’);
MPI=MP*(A*B*C)’
MP2 = MPI‘* IDENT‘; % DETECCIÓN DE MAYOR PRIORIDAD %
CPD = AO’* AI’* A2’* A3’* A4’* AS’* A6’* AT,
SCD =A7’* A6’* A5’* A4‘ * A3’* CP * (A2 *A’+ A2’*A)’*
(Ai * B’+Al’* B)’* (A0* C’+AO’* C)’,
%
DETECCI~N
DE INTZRRUPCI~N
END$
112
APENDICE D
DEL CONTROL MICROPROGRAMADO.
Eii este apcndice se anexan los diagramas de tiempo de cada uno de los veintidós estados del
control inicroprograinado, en donde se puccie observar la secuencia realizada en cada uno de ellos
I13
CLK
CLK
'
A
A
B
B
C
C
D
E
so
so
7
Figura D.2. Diagrama de Tiempo del Edo.2
Figura D.1.Diagrama de Tiempo del Edo.1
U K
A
A
B
B
C
C
D
D
E
E
I
J
so
1
__I
SL
WTI
W T
START
BAD
U
F1
m
m
n
OD
n
02
m
W
m
n~
m
Figura D.3. Diagrama de Tiempo del Edo.3.
n
n
Figura D.4. Diagrama de Tiempo del Edo.4.
I14
ApCndicc D.
CLI
~........................................................................................
-l
iI
, ..........................
__
I-
........
+-
.J
..................
:
n
n
n
n
n
n
U
Figura D.J. Diagrama de Tiempo del Edo.5.
--_I
I
I
A
I
I
n
I
n
n
n
I
2
n
nn..)-uln
U
n
n
n
n
U
U
U
m
n
u
U
n
n
U
U
n
n
U
U
n
n
U
U
r
Figura D.6. Diagrama de Tiempo del Edo.6
U
Figura D.7. Diagrama de Tir.npo del Edo.7.
115
Apéndice D.
n
r--l
r
n
I
I
n
I
I
U
O,
n
o2
n
O,
DO
n
n
n i
L
n
s
c
c
o
n
F
n
n
U
I
50
SEE
s,
I
O"
r-l
WRIT6
U
Figura D.lO. Diagrama de Tiempo del Edo.íO
116
Figura D.11. Diagrama de Tiempo del Edo.11
so
so
Figura D.12. Diagrama de Tiempo del Edo.12
Figura D.13. Diagrama de Tiempo del Edo.13.
I
J
I
I
I
n
n
n m n
n
n
n
BOL<
U
BD,
Figura D.13. Diagrams de tiempo del Edo.13
117
n
U
Figura D.14. Diagrama de tiempo del Edo.14.
ApCiidice D.
-w
A
-Ka
I
I
-
B
C
n
C
I
D
E
A
B
n
D
n
I
E
U
I
1
I
I
1
I
I
I
n
n
I
1
n m n
nnnnn
n m n
U
U
n
n
u
nn
.
u
U
n
n
u
n
U
u
u
Figura D.17. Diagrama de Tiempo del
Edo.17.
Figura D.16. Diagrama de Tiempo del
Edo.16.
I18
Apéndice D.
so
so
=SEll
I
SE12
m
m
m
rn-
rn-
m
m
n n
m
n
Figura D.19. Diagrama de Tiempo del
Edo.19.
Figura D.18. Diagrama de Tiempo del
Edo.18.
119
n
Apkiidicc D.
E
- E
L
50
=col
B
a
n
--
Bml
n
n
n
MRm
u
-
Em1
8011
WUT1
I
I
m
m
Dz
D I - -
m
n
n
Figura D.20. Diagrama de Tiempo del Edo.20.
120
m
ca
n
n n
Figura D.21. Diagrama de Tiempo del
Edo.21.
APENDICE E
PROGRAMAS EMPLEADOS EN PRUEBAS A L SMCR.
En este apéndice se presentan las partes principales de los programas emplcdos en las
pruebas al SMCR.Los programas fueron desarrollados en lenguaje C (Borland C t t , ver.3.1.).
1.- RWP.C. Este programa realiza lectura o escriturb de cualquiera de'los puertos de E/S.
#include <stdio.li>
main ( ) { unsigned char dato-b;
printf ("hDesea leer o escribir [WE]?=
);
t-ope = getch ( );
t-ope = touppcr (t-opc);
if (t-opc = 'L') { printf ("hDcmc la dirccción dcl pucrto cn HEX [XX]'c= );
scanf ("%2x", &datog);
-asni { mov dx,datog
in al,dx
and ax,OFH
inov dato-b,al }
priniq"h Dato en pucrto = %2x",dato-b); }
if ( t o p e == 'E') ( priiitf ("In Demc la dirccción del puerto en HEX [XX]?= );
scanf ("%2x", &datog);
121
Aphdicc E
-asni
{ mov dx,datog
out a1,dx
mov dato-b,al 1
printf("\ii Dato en puerto = %2x",dato-b);))
2.- RWMC.C. Estc programa realiza escrituras y ICctUraS Por bytc Y Palabra en una sola d k c i ó n
(sc proporciona como dato a la rutina), adcmás rcaliza lecturas del puerto 310H Para comprobar
la instruccion del tipo prueba y canibio.
#inchdo <stdio.h>
#include <conio.h>
#include <ctypch>
main( ) { uiisigncd char tope, t-dato;
iinsigiicd char dato-b;
uiisigncd desp, datog;
whilc (I)(do { priiitf("\iiDcsca Iccr, escribir o tcrniinar [L/E/TJ'!= "); /*Pregunta por Patrón*/
t-opc = getcli( );
1-opc = toiippcr(t-ope);
printf("o/s h",topc);
if (t-opc == T)cxit(0); } while (topc!='L' && t-opc!='E');
do { printf("h Byte, Palabra o Pucrto [B/W/PJ?=");
.~
t-dato = gctcli( );
t-dato = touppcr (t-dato);
printf("o/~h",t-dato):J wliilc (t dato!='B && t dato!='W' && t-dato!='P');
if(t-dato!='P') { priiitf ("hi Dciiic dirc&n relativa. cñMC cn HEX [XXXXJ ?=");
scanf ("%4x",&dcsp);
if (t-dato==W')
desp &= OxFFFE; j
if (t-ope=='E') { if (t-dato==B') { printf ("hDcmc cl valor'dcl bytc cii HEX lXX:l ?= ");
scaiif ("%2x",&dato-b); /*Realiza la Operacion de Escritura"!
-asm { mov ax,ODOOOH
mov es,ax
mov cx,dcsp
.
.
mov al,dato-b
push di
mov di,cx
mov es:[di],al
popdi ) 1
elsc { priiitf ("hDcme cl valor dc la palabra cn HEX [XXXX] ?= ");
scanf ("Y&x",&datog);
-asm { mov ax,ODOOOH
mov cs,ax
niov cx,desp
mov ax,datog
push di
i1io.v di,cx
mov es:[di],ax
POPdiIl)
122
Apéndice E
clsc { ,f(t-dato=='p) { a s n i { inov ax,ODOOOH ¡*Realiza la Operación de Lectura " I
niov cs,ax
niov cx,dcsp
push si
si, cx
inov al,es:[si]
pop si
mov dato-b,al }
ItlOV
printf ("hDato lcido = %2x",dato-b); }
if (t-dato==W') { -am ( mov ax,ODOOOH
mov es,ax
mov cx,dcsp
push si
inov si,cx
mov ax,es:lsi]
pop si
mov datog,ax )
priiitf ("hDATO LEiDO F%4x",datog); }
if (t-dato=='P') { -asm { niov dx,03 IOH
in ax,dx
niov datog,ax )
printf ("hDATO EN PUERTO == %4x",datog);)]})
3.- ESCMC2.C. Este programa rcalim escrituras por bytc.y palabra cn toda la memoria ya sea la
MC ó la MV con iiii patron proporcionado.
#include <stdio.li>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
main ( ) { unsigned char t-ope, t-dato;
unsigned char dato-b;
unsigned dcsp, datog;
printf("\n Desea escribir por byte o por palabra [B/P]?="); /*Pregunta por el Patrón *I
t-opc = gctch ( );
t p p e = toiippcr (t-ope);
if (toPC=='€") { priiitf ("hDcmc el patrón en HEX [XXXX]? = ");
scanf("0/Ax".&datog); I* Realiza la 0peracion"l
-asm ( push di
..
inov ax,ODOOOH
mov es,ax
niov di,O
mov cx,08000H
mov ax, datog ]
cpl: a s i n { inov es:ldi],ax
inc di
inc di
dcc cx
A@ndice E
..
jnz ep I
mov desp,di
Pop di ) )
printf ("hUltimo dato escrito = %4x, en did2 = %dx\n",&tog.dap); )
elsc { printf ("bDenic el patron en HEX [XX]? = 'I);
scanf("%2x",&dato-b);
. .
-asm ( push di
mov ax,ODOOOH
inov es,ax
niov di,O
mov cx,OSOOOH
mov al, dato-b }
cp I: asiii { iiiov cs:(dil,al
iiic di
dLY:cx
jnz cpl
mov dcsp,di
'POP di 1)
printf ("hi Ultimo dato escrito = %2x, en did2 = O/o4xin",dato-b,desp); }
4.- CMPC.C. Estc programa compara el contcnido dc la Mcmona Compartida contra un patron
proporcionado, por bytc o por palabra; si hay datos distintos al patron, proporciona la dircccioii
del ultimo dato distinto.
#include <stdio.h>
#include <coiiio.h>
#include <ctype.h>
#include <stdlib.h>
main ( ) { unsigncd char t-opc. t-dato;
unsigned char dato-b;
unsigned dcsp, datog, cont;
printf("h Desea comparar poi bytc o palabra [B/P]?= "); /*Pregunta por el Patrbn*/
t-ope = getch ( );
t-ope = toupper (1-ope);
if (t-ope == 'Y){ printf ("hDcmc el patrón cn HEX (XXXX] =");
scanf ("%4X", &datog); /*Realiza la Operación Palabra */
-asm ( pusti si
mov ax,ODOOOH
mov es,ax
niov cx,080001-1
mov bx, datog
xor ax,ax
mov dx, ax
mov si, ax)
otro: -asni ( niov ax' cs:[si[
cnip ax, bx
je et1
inc dx
124
ApCndice E
mov datog, ax
movdesp,si
ct i: a s i n { inc si
inc si
dce cx
jnz otro
mov cmt, dx
POPS¡ 1
printf ('lnNúmero de errores = %4d ",cont);
printf ("in Último dato leído= Yklx, en dir %4x.\n",datog, dcsp);)
clsc { printf (%I Demc el patron en HEX [XXXX] =");
scanf ("D/klX", kdatog);
-asm ( push si
mov au,ODOOOH
mov es,ax
..
xor cx, cx
. mov dx, cx
mov bl, dato-b
mov si, cx )
otro2 -asm { mov ai, cs:[si]
cmp al, bl
jc ct2
inc dx
mov dato-b, al
niov dcsp, si ]
et2: a s i n { iiic si
dcc cx
jiiz otro2
mov coiil, d s
POP si 1 1
printf ("hNúmero de errores ="%d ",cont);
printf("h Ultimo dato Icído = %2x, en dir %4x \n",dafo-b, dcsp); ) }
'
5.- C M V C Este programa compara el contenido dc la Mcnioria de Verificación (MV) contra un
patróii proporcionado, por bytc o por palabra; si hay datos distintos al patron: proporciona la
dircccioii dcl ultimo dato distinto.
#include <stdio.li>
#include <conio.h>
#include <ctype.li>
#include <stdiib.h>
main ( ) { unsigncd char t-ope;
unsigned char dato-b;
unsigncd dcsp, cont;
printf("in Dcsca comparar la MV [S/NJ?= "); /*Pregunta por el Patron*/
1-ope = gctch ( );
o p c = touppcr (t-opc);
if (topc == 'N'){ priiitf
Opcracion Cancelada"); exit(0); }
.
125
Aphiddice E
c l { ~ priiitf
~ ("hDcnie cl patron cn H'EX IXXl? = ");
scanf("X2x",&dato-b);
-asin { push si
mov au.ODOM)H
niov cs,ax
iiiov cx,04000H
inov du, O
mov bl, dato-b
mov si, O )
otro: -asin { nJov al, es:[si]
cmp al,bl
jc ctl
inc dx
niov dato-b, al
mov dcsp, si )
ctl: a s n i ( incsi
inc si
dcc cx
jnzotro
,.)
inov coiit, dx
POPS¡
'
printf ("hNumcro dc errores = O/od ",cont);
printf ("hUltinio dato leído = %Zx, cn dir ?LAXin",dato-b, desp); ))
6.- EXSEC.C. Estc programa is similar ai ESCMCZ.C, solamcnic quc los datos a cscribir son
datos sccucncialcs en la mciiioria compartida MC.
#include <stdio.h>
#iiicludc <conio.h>
#include <ctype.h>
#include <stdlib.h>
main ( ) { unsigned char t-ope, t-dato;
unsigned char dato-b;
~.
unsigned desp, datog;
printf("h Dcsca cscribir por bytc o por palabra [B/P]?= "); /*Pregunta por el Patr6n"l
t-opc = gctch ( );
t-opc = touppcr (t-op . ;
if (t-opc=='P') { a s n i { pus di /*Realiza la Operacitjii*/
push si
mov ax,ODOOOH
mov cs,ax
niov di,OOH
niov si,OOH
niov cx,OXOOOH
mov dx.08000H )
epl: - a m { mov es:[dij,ax
inc di
inc di
'
'
4
126
Apéndice E
inc si
dw' cx
dcc dx
jnz cpi
mov desp,di
pop si
pop'di 11
printf ("hUltimo dato cscrito = %4x, en did2 = %4xin",datog,dcsp); )
clsc { priiitf ("hi Dcnic cI patrón en HEX (XX]? = ");
scanf("%2x",&dato-b);
-asm { push di
push si
niov ax,ODOOOH
mov es,ax
mov di,OOH
. mov si,OOH
inov cx,O8OOOH
mov dx,08000H
mov al, dato-b ]
epl: -asni ( inov cs:[dif,al
inc di
dcc cx
dcc dx
jnz epl
mov dcsp,di
pop si
pop di 1)
printf ("hUltinio dato cscrito = %2x, en did2 = YAxW',dato-b,dcsp); ]
'
.
7.- CPSEC.C. Este programa conipara el coiitcnido de la Memoria Compartida contra un patrón
proporcionado, por bytc o por palabra; si hay datos distintos al patrón, proporciona la dirección
del ultimo dato distinto.
#include <stdio.h>
#incliidc <conio.h>
#include <ctypc.h>
#include <stdlib.h>
main ( ) { unsigned char t-ope, t-dato;
unsigned char dato-b;
unsigned desp, d a t o j , cont;
printf("h Desea comparar por bytc o palabra lü/P]?="); /^Pregunta por el Patrón*/
t-ope = gctch ( );
t-ope = toiippcr (t-ope);
if (t-ope = 'PI) ( printf ("hDemc cl patrón cn HEX [XXXX] =");
scanf ("sh.1X", m a t o g ) ; }
else ( priiitf ("hDcmc el patrón en HEX [XX]? = ");
scanf("%2x",&dato-b);)
if ( t o p c == 'Y){ a s m { push si
/*Realiza la Operaci6n Palabra*/
127
Apendice E
mov ax,ODOOOH
mov es,ax
niov cx,OXOOOH
mov bx, d a t o g
xor ax, ax
mov dx, ax
niov si, ax}
otro: a s n i { mov ax, cs:[sil
cmp ax, bx
je et1
inc dx
niov datog, ax
niov dcsp, si }
et 1: -asm { inc s i
inc si
dcc cx
jnz otro
mov coiit, dx
popsi }
else ( a s m { push si
mov ax,ODOOOH
mov.es,ax
xor ex, cx
mov dx, cx
niov bl, dato-b
niov si, cx
otro2 - a m ( mov al, es:[si]
cmp al, bl
je et2
inc dx
mov dato-b, al
mov desp, si }
et2: a s m { inc si
dec cx
jnz Otro2
mov cont, dx
POP si
1I
".
printf ('%I Número dc errores = YAd cont);
if (t-ope = 'I") ( priiitf ("hUltimo dato leido= ?.'Ax, en dir %4x W,datog, desp);}
else ( printf ('%I Ultimo dato leido = %2x, en dir %4x in",dato-b, dcsp); ) }
8.- ESCMCS.C. Estc programa sincroniza dos PC's para poncrlas a escribir al mismo tiempo.
#include <stdio.l»
#include <conio..h>
#include <ctypc.h>
#include <mapa-mc.h>
unsigned Icpnic(1iiisiglicd dir-rcl, unsigned char t-ope, unsigned dato)
128
,.iphdin E
{ i q t p p c = i)
-am {
/* cscribc palabra */
push di /*salva registro que se reqUiCrC*/
/*ES apunta a posición en MC'I
mov aw,di-mc
mov es,%
mov ax,dir-rei
and ax,OFFFEIl /* aicgura direc. par */
mov di,ax
mov ax,dato
mov es:[di],ax
pop di } clsc
- a m { I* Ice palabra*/
/*salva registro aue se rquicrc*/
push si
mov au,di-mc
/*ES apunta a posición en MC*I
mov es,ax
mov ax,dir-rcl
and ax,OFFFEH
mov si,ax
mov ax,cs:[si]
POP si ); 1
main ( ) {' unsigncd char t-ope, t-dato;
uiisigiicd char dato-b, f;
.
unsigned desp, datog, sinc,cant, dir-i;
printf("in Dcsea cscribir por bytc o palabra [B/P]?= "); /*Pregunta por el Patrón*/
t-ope = getcli ( );
t-opc = toiippcr (t-opc);
if (t-opc == 'PI) { cant = 0x2000;
printf ("in DCWci p a t h en HEX [XXXX~?
= 3;
scanf("o/Ax",&datog);
printf('lnDemc la dirccción cn' HEX [XXXX]? = ");
xanf('"YAx",&dir-i); )
clsc { cant = 0x4000;
printfrin ücmc c~patrón c i iiix ixxp =
scanf("%2x",&dato- b);
printf ("hDcmc la dirccción cn HEX [XXXX]? =
scanf("o/Ax",&dir-i);) 1;
printf ("in Esta PC da la sincronia [S/N]? :"); /^Sincroniza con Otras PC.s*/
sinc = getch ( );
if (siiic == 'S' II sinc = Is') { Icpmc(O,i,OxFFFF);
/* cscribc i's */
printf ("in lnicic cstc programa en las dcmis s PCs y iucgo dcinc rcturn Y ) ;
sinc'= getcii ( );
lcp-iiic(0, I ,O);
/* cscribc O's */ ]
eke whilc (Icp-mc(o,o,O)); /* cspcra mientras lea O'S *I
for (sinc =O; sinc < 10; sine++); /*Espera unos instrites a que las otras detecten Sincronía* I
priiitf ("in Sal¡ dc sincronia in");
if (t-ope == 'Y) /*Realiza la Operación Palabra*/
-asm { push di
mov ax,ODOOOH
mov cs,ax
'
'8);
O');
129
ApCndicc E
mov di,O
',
l l l 0 V CY'llOOOH
mov aqdatog
cpl: niov cs:ldil,ax
inc di
,
inc di
dw: cx
jni ep I
mov dcsp,di
pop di Jclsc
-asm { push di
niov au,ODOOOH
niov es,ax
mov cx,OH
mov di,O
mov al,dato-b
ep2: niov cs:[di],al
inc di
dcc CY
jnz cp2
niov dcsp,di
pop di ); priiitf("\n icrmin, hi"); )
i
130
APENDICE F
LISTA DEL MATERIAL EMPLEADO.
A continuación se proporciona una lisia del material empleado para la construcción del cada
uno de los módulo MCR,as¡ como para los teminadores de línea.
F.1.- Circuitos Integrados Utilizados en Módulo MCR.
131
Apéndice F
F.2.- Otros Componentes Electrúnicos Utilizados en Módulo MCR.
1
U
DESCRIPCIbN
CANTIDAD
Resistencias de I80
Resistcncias de 390
Placa Base Cobre
Concctor para Cable Plano Hciiibra
24
24
I
I
132
CENTRO DE INFORMACI8I~.
CENIDET
Descargar