+ All Categories
Home > Documents > Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad...

Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad...

Date post: 13-Feb-2018
Category:
Upload: hoangque
View: 216 times
Download: 1 times
Share this document with a friend
80
1 Enero ’02.
Transcript
Page 1: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

1

Enero ’02.

Page 2: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

2

División: Ciencias Básicas e Ingeniería

Carrera: Lic. en Computación

Materias: Proyecto de Investigación I Trimestre: 92O Proyecto de Investigación II Trimestre: 93P

Integrantes: Rogelio Pérez Meléndez Matricula: 88328912 Humberto Reyes San Pedro Matricula: 88324570

Asesor: Dr. Luis Martín Rojas Cárdenas

Título:

“Toque Electrónico Para

Competencias de Natación”

Page 3: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

3

Contenido.

Pág. I. Introducción 5

II. Justificación 6

III. Solución propuesta 7

Características del Equipo 8 Características de las Placas de Toque 8 Accesorios Esenciales para una Instalación Mínima 9 Procedimiento Automático para Clasificaciones 9

IV. Desarrollo

1. Composición del Sistema 10

1.1 Tarjeta Controladora 11 1.1.1 Figura. Diseño “Tarjeta Controladora” 12 1.1.2 Figura. Diseño “Cronometro” 13

1.2 Mesa de Control 14 1.3 Placas de Toque 14 1.4 Tablero Electrónico 15 1.5 Sistema de Salida Electrónico 16 1.6 Software de Estadísticas y Tiempos 16

2. Direccionamiento de Memoria y Puertos en Sistemas de Microcomputadoras

2.1. Concepto de Dirección decodificada 17 2.2. Un Sistema ROM Decodificador 17 2.3. Un Sistema Decodificador de RAM 21 2.4. Un Sistema Decodificador de Puerto 22

3. Direccionamiento y Decodificación de dirección de los 8086 y 8088

3.1. Bancos de Dirección del 8086 25 3.2. Dirección ROM decodificada en el SDK­86 28 3.3. Dirección de RAM Decodificada en el SDK­86 31

Page 4: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

4

3.4. SDK­86 Direccionamiento y Decodificación de puerto 32 3.5. El decodificador fuera de la tabla del SDK­86 37 3.6. Circuito del generador de estados de espera del SDK­86 38 3.7. Acceso a memoria y puertos del Microprocesador 8088 40 3.8. Medición de parámetros de tiempo del 8086 41

V. Pruebas 49

VI. Conclusiones 50

VII. Bibliografía 51

VIII. Anexos

Anexo 1. Reglamento FINA 52 Anexo 2. Arquitectura de los Procesadores 8088 y 8086 62

Page 5: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

5

I. Introducción

Para 1908 se crea la FINA (Federation Internationale de Natation Amateur) por 8 naciones, con el fin de establecer reglas que unificaran la natación, clavados y water polo, aplicables a Juegos Olímpicos y competencias internacionales, así como mantener un registro de records y dirigir, por primera vez, las competencias de las Olimpiadas de Londres ese mismo año. Pese a los conflictos políticos en el mundo y gracias al enorme trabajo y esfuerzo de sus colaboradores, la FINA creció, creándose:

­ Los Juegos Regionales (Centroamericanos, Panamericanos, Europeos, etc...) ­ Los Campeonatos Mundiales en 1973 ­ La Copa del Mundo en 1979 ­ La comercialización a través de la televisión de Juegos Olímpicos y Mundiales ­ Implementando el toque electrónico, filmaciones de llegada y otros sistemas computarizados especificado en la regla SW 13 del Reglamento Internacional de Natación Amateur.

­ La atención a grupos por edades (Infantiles, Juveniles y Masters) ­ Atención a Aguas Abiertas.

En los primeros años de los 70’s en la industria norteamericana se crearon los sistemas automáticos con el primer display para medir tiempos y su sistema de tabla de resultados al mercado Americano. También el sistema podía imprimir en una tira de papel dando así una impresión instantánea de los tiempos finales y divididos al final de cada heat. También se incluían mediciones por carril como respaldo con una comparación automática de los tiempos de la almohadilla de toque y los de respaldo. Se utilizaba una batería opcional de reserva daba protección para no perder datos en el evento por fallas eléctricas.

En los 80’s, se introdujo la tercera generación de sistemas de conteo de tiempo que revolucionaron la industria con opciones innovadoras. Las opciones incluían memoria para guardar resultados anteriores de las carreras, operación de las pruebas, un sistema para juzgar los relevos y el uso de un teclado sobrepuesto reemplazando al existente que era obsoleto. Este sistema de manera rápida y fácilmente cambiaba de deporte con un programa incluido en un cassette y cambiando el teclado sobrepuesto. El sistema gano reputación y se volvió el estándar de la industria desde 1981 hasta 1989.

A finales de los 80’s se introdujo la siguiente generación de timer deportivos. El sistema incluía la primera impresora de gran tamaño y el manejo de pruebas por computadora. Una gran gama de programas deportivos estuvieron disponibles en tarjetas programadas. Instalar un nuevo programa se volvió tan simple como insertar una tarjeta a la abertura del sistema marcando así el paso en la industria de conteo de tiempos de ese momento.

Page 6: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

6

II. Justificación

El presente proyecto nació de la necesidad de desarrollar un producto nacional para mediciones automáticas en competencias de Natación, con precisión y confiable como los descritos en la Introducción, ya que en el momento que se pensó desarrollar un “toque electrónico” los equipos utilizados en las competencias internacionales se rentaban a un alto costo y no se diga el importarlo, además de existir pocos proveedores que lo hicieran Americanos principalmente y algunos Europeos.

La forma básica de tener una competencia cronometrada era colocando un juez por carril que con un reloj registrara la salida y la llegada del competidor, esta forma de llevar el registro por depender de la vista, reacción y tacto trae una falta de exactitud por el error humano que esta actividad conlleva.

Otra forma de realizar estos registros era con equipos automáticos, que se rentaban por día de competencia a un costo realmente considerable, al ser equipos importados y tener precio demasiado alto no eran muchas los proveedores que disponían de ellos para su renta.

Se tenia presente la tecnología utilizada en competencias oficiales, principalmente desarrollado por empresas Norteamericanas y algunas Europeas, con las mas modernas e innovadoras tecnologías en placas sensitivas, pizarras electrónicas con cambio de números mecánicos y una extensa gama de software con una gran base de datos y estudios de rendimiento de cada competidor registrado que de acuerdo a los tiempos y distancia pronosticando resultados y tendencias; justificación que genero un estudio para realizar un prototipo con las características principales de un menor costo y una tecnología propia que reuniera las atributos necesarios de función, precisión y versatilidad para la variedad de pruebas que se realizan en competencias oficiales y de entrenamiento.

Se analizaron equipos que utilizaban instituciones públicas (Unidad Morelos, Alberca Olímpica) como privadas (Acuática Nelson Vargas, como otras en el interior de la republica), se recabo información de funcionamiento, topología, versatilidad, precisión, etc. También se observaron competencias de entrenamiento y alguna clasificatorias para entender la logística e instalación del equipo utilizado.

Todo esto nos llevo a desarrollar un prototipo de Toque electrónico, que se baso prácticamente en el desarrollo del diseño y construcción de una tarjeta controladora y de almacenamiento de tiempos con un reloj integrado que alimentara con las interrupciones que transmitían los toques de nadadores en competencias de entrenamiento y oficiales, con un funcionamiento que reuniera las características oficiales avaladas por la FINA para este tipo de equipos.

Page 7: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

7

III. Solución Propuesta

Características del Equipo

La instalación electrónica completamente automática debe registrar el orden final relativo y determinar el tiempo empleado por cada nadador en la competencia.

Cualquier equipo que sea instalado no debe interferir con la salida o la vuelta del competidor o la función del sistema de respaldo.

El equipo debe cumplir los siguientes requisitos:

Ser activado por el juez de salida

Proveer una fácil lectura del tiempo de los competidores

El uso de un tablero que muestre los tiempos y el lugar registrado para cada carril

Si es posible, no debe haber cables expuestos sobre el área circundante a la piscina

Características de las Placas de Toque

Las dimensiones mínimas de largo y ancho de las placas electrónicas deben ser: 240 centímetros X 90 centímetros y máximo 1 centímetro de espesor. Deben estar instaladas 30 centímetros por encima de la superficie del agua y 60 centímetros bajo la superficie del agua.

Tolerancias: Cuando se instalen, la longitud de la piscina no debe ser inferior a 50 metros. Las placas de llegada deben quedar instaladas de una forma fija en el centro del carril. Las placas pueden ser portátiles, permitiéndole al operador de la piscina removerlas cuando no haya competencias.

Marcaciones: Las marcas sobre las placas deben sobreponerse a las marcas de la piscina. El perímetro y bordes de la placa debe estar resaltado en un borde negro.

Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de la mano pero no por una turbulencia del agua. Seguridad: La placa debe ser garantizada contra cualquier posibilidad de sacudida eléctrica y no debe tener bordes puntiagudos.

Page 8: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

8

Accesorios Esenciales para una Instalación Mínima

Impresión de toda la información

Tablero de lectura para los espectadores

Contador automático de vueltas

Lectura de los tiempos parciales de viraje (tiempos intermedios)

Resumen por computador

Corrección de toques erróneos

Posibilidad de funcionar con una batería automática recargable

Conexión al sistema de televisión

Procedimiento Automático para Clasificaciones

* Cuando en una competencia se utilice un equipo de cronometraje y juzgamiento (dispositivo automático para clasificación) aprobado por la Institución que lo utiliza, las posiciones y los tiempos determinados por el equipo prevalecerán sobre las decisiones de los jueces y cronometristas humanos.

* Cuando el equipo registre la posición y el tiempo de cada competidor en una prueba dada (serie eliminatoria o final):

Registrará automáticamente los tiempos y las posiciones

Registrará los tiempos manuales y posiciones determinadas por los jueces Comparará lo anterior con los tiempos y las posiciones determinadas por el equipo electrónico.

* Cuando el sistema electrónico falla al grabar el tiempo y/o puesto de uno o varios nadadores en una serie:

Registrará los tiempos y posiciones electrónicas disponibles

Registrará los tiempos manuales y posiciones manuales

Page 9: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

9

* Para determinar el tiempo oficial de una serie:

El tiempo oficial para todos los competidores que tengan tiempo electrónico será el tiempo electrónico

El tiempo oficial para todos los competidores que no tengan tiempo electrónico será el tiempo manual. (Anotando en las memorias "manual")

* Para determinar la posición oficial dentro de una serie:

Un competidor con puesto electrónico debe mantener su orden relativo cuando se compare con otros competidores que tengan posición electrónica dentro de la serie.

Un competidor que no tenga un puesto electrónico pero tenga un tiempo electrónico tendrá su orden relativo establecido por comparación de su tiempo electrónico con el tiempo electrónico de otros competidores.

Un competidor que no tenga puesto electrónico ni tiempo electrónico debe obtener su orden relativo establecido por los jueces de llegada.

* Para determinar el orden relativo de llegada de todas las series de una prueba:

El orden relativo de todos los competidores que tengan un tiempo electrónico se establece comparando sus tiempos electrónicos. Si un competidor tiene un tiempo electrónico oficial el cual esta amparado con los tiempos electrónicos de uno o más competidores que tengan este tiempo deberán estar empatados en el orden relativo final en esta prueba.

NOTA: El orden relativo de una serie no podrá ser modificado. El orden relativo determinado para un competidor que no tenga tiempo electrónico será establecido por comparación del tiempo manual del competidor con los manuales de todos los competidores en la prueba.

Si un competidor tiene un tiempo manual oficial el cual está empatado con los tiempos manuales de uno o más competidores, todos los competidores que tengan este tiempo deberán estar empatados en el orden relativo final en esta prueba, mientras que se respetará el orden relativo dentro de la serie.

Page 10: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

10

IV. Desarrollo

1. Composición del Sistema

Cuando cada fracción de segundo cuenta...

Page 11: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

11

1.1 Tarjeta Controladora.

La Tarjeta Controladora (1.1.1. fig. 1) es un circuito conformado principalmente con un Cronometro (1.1.2. fig.2), ocho almacenadores de tiempo (ya que se considero una piscina de ocho carriles), entrada de señal de disparo y una salida / entrada de las interrupciones generadas. Para la iniciación de los almacenadores y arranque del cronometro se hace mediante en disparo que envía una interrupción, posteriormente recibe los impulsos provocados por las presiones que imprimen los competidores a las placas del Toque (el numero de toques dependerá del tipo de competencia que se este realizando, por ejemplo una piscina reglamentaria mide 50 m. lo cual indica que para una competencia de 100 m. Las placas tendrán que registrar un solo toque de llegada), en el momento que se generan estas interrupciones se guarda el tiempo registrado por él cronometro en los almacenadores respectivos al carril que la produce.

Page 12: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

12

1.1.1 Figura 1. Diseño “Tarjeta Controladora”

Page 13: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

13

1.1.2 Figura 2. Diseño “Cronometro”

Page 14: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

14

1.2 Mesa de Control

Aquí se alimentan los parámetros de la competencia: Distancia para determinar el número de toques en las placas de cada carril, numero de competidores, carriles utilizados, nombre de los competidores, tipo de prueba.

1.3 Placas de Toque

Las placas de toque, cuya construcción es de plástico duro, responden al más delicado de los toques y aún proveen el nadador con una base de gira muy sólida y firme. La superficie de que está en el proceso de ser patentada, para salidas y giras, pero también es suave para las manos y los pies de los nadadores. Sus ángulos de sujeción con Velcro vuelven la instalación muy fácil. El tamaño es estándar como lo especifica la FINA.

Page 15: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

15

1.4 Tablero Electrónico

El tablero es diseñado para los requisitos de su alberca. Tiene marcadores numéricos con la precisión establecida por el reglamento de FINA, el número de carril, el nombre del competidor, el equipo, la posición de llegada y podría tener los tiempos olímpicos y mundiales de la prueba. Se construyen LED’s (diodo electro luminiscente), con elementos claros y reflectantes a la luz son móviles (se pueden deslizar horizontalmente); también se pueden construir los indicadores de tiempo mediante unos números con movimientos utilizando pequeños motores mecánicos.

Page 16: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

16

1.5 Sistema de Salida Electrónico

El sistema de salida electrónico de la tercera generación, no es agresivo para el oído e incluye su propio micrófono. Se pueden añadir bocinas debajo de cada bloque de salida para salidas más justas. Este envía una señal a la tarjeta de control para disparar el reloj e inicia los almacenadores de tiempos de cada carril.

1.6 Software de Estadísticas y Tiempos

La información ingresada en la mesa de control así como los tiempos almacenados en la tarjeta de control se envía a una base de datos con la cual se tendrán las impresiones de los tiempos finales y Lugares de la prueba. Esta base de datos será explotada por un software que generará estadísticas de los competidores.

00:00

00:28

00:57

01:26

01:55

02:24

02:52

Carriles

Tiem

pos

Carril 1 Carril 2 Carril 3 Carril 4 Carril 5 Carril 6 Carril 7 Carril 8

Page 17: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

17

2. Direccionamiento de Memoria y Puertos de Sistemas de Microcomputadoras

2.1 Concepto de Dirección Decodificada

Una función de un decodificador direccionable es producir una señal la cual habilite a la ROM, RAM o puerto de servicio que quieres habilitar de una dirección particular. Una segunda función de un decodificador de direccionamiento es el asegurarse que solo una función en un tiempo es habilitado para poner datos en una línea de bus de datos.

Cada sistema de microcomputadora hace decodificación de dirección de diferente forma que otros sistemas. Por tanto, en lugar de memorizar un método usamos un sistema en particular, entendiendo este concepto de decodificación de dirección se puede imaginar cualquier sistema en que se tenga que trabajar.

2.2 Sistema ROM Decodificador

Para comenzar, observe la figura 1. Esta figura muestra como ocho EPROMS pueden ser conectadas en paralelo en un común direccionamiento de bus y un bus de datos común. De solo observar el esquema puedes ver que estas salidas de bytes de datos de EPROMS porque cada una tiene 8 salidas conectadas al sistema de bus de datos. El numero de líneas de dirección conectadas a cada sistema da una indicación de como muchos bytes son guardados en el. Cada EPROM tiene 12 líneas de dirección (A0­ A11) conectadas a el. Por lo tanto, el número de bytes guardados en este sistema es 2 E 12 ó 4096. Si tienes problemas con esto piensa cuantos bits un contador tiene que contar de 4096 estados de l 0 hasta 4096 decimal o 0000H al 0FFFFH hexadecimal.

Note que cada 2732 en la figura 1 tiene un chip selector de entrada (CS neg). Cuando esta entrada es afirmada baja el byte direccionado en un sistema será salida en bus de datos. Para obtener el significado de los datos de la EPROM necesitamos asegurarnos que la entrada del (CS neg) en el sistema sea bajo. En el circuito de la figura 1 esto es hecho por el 74SL138. Si el 74SL138 es habilitado por hacer a sus entradas (G2A neg) y (G2B neg) bajas y su entrada (G1) alta, entonces solo una salida de este sistema bajo en ese tiempo. La salida que estará baja es determinada por el tercer bit de dirección aplicado para las entradas selectoras C, B y A. Por ejemplo, si CBA es 000 entonces la salida Y0 será baja y todas las otras salidas serán altas. ROM 0 será seleccionada si CBA es 001, la salida Y1 será baja y la ROM1 será seleccionada, si CBA es 111, entonces Y7 será baja y solo ROM7 será habilitada. Ahora vamos a ver que tamaño de dirección tendrá cada ROMs en el sistema.

Page 18: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

18

Figura 1 ROM’s en paralelo con Decodificador

0 1 2 3 4 5 6 7 8

C B A

G2A

G2B

G1

A15

RD

+5V

A12

A13

A14

D0 D1 D2 D3 D4 D5 D6

B U S

D E

D A T O S

ROM 0 2732

ROM 1 2732

ROM 7 2732 ­CS ­CS ­CS

A0

* * * *

A11

B U S

DE

D I R E C C I O N

74LS138

Page 19: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

19

Para determinar el direccionamiento de ROMs y RAMs, y puertos en un sistema, una buena aproximación es el uso de una tabla c como la de la figura 2. Para hacer una de estas tablas se puede empezar escribiendo el bit de dirección y el peso binario de cada dirección de bit por encima del papel como muestra la figura. Para facilitar el convertir la dirección binaria a hexadecimal ayuda si se marca sobre las líneas de dirección en grupos de 4 como se muestra. Ahora dibujando líneas verticales las cuales marquen las tres líneas de dirección que conectan al selector decodificador (C, B y A). Del decodificador en la figura 1 las líneas de dirección A14, A13 y A12 son conectadas para las entradas C, B y A del decodificador respectivamente. Entonces se escribe bajo cada bit de dirección el nivel lógico que debe tener en esa línea para dirección de la primera localización en la primera EPROM. Para direccionar la primera localización en alguna EPROM, desde la dirección A0 hasta A11 tienen que estar en bajo, así poner un 0 bajo cada de estos bits de direcciones en la tabla. Para habilitar la EPROM 0, las entradas selectoras del decodificador deben todas estar en 0s. Desde las líneas de dirección A14, A13 y A12 son conectadas a estas entradas selectoras, estas deben estar todas en 0s para habilitar EPROM 0 escribe un 0 bajo cada una de estos bits de direcciones en la tabla. Desde la línea de dirección A15 es conectada a la entrada (G2A neg) habilitada del decodificador, esta debe ser acertada bajo en orden del decodificador para trabajar en todo. Se escribe un 0 bajo el bit A15 en tu tabla. Se puede ver que la señal (RD neg) del bus de control del microprocesador es conectado a la entrada (G2B neg) habilitada del decodificador. El decodificador entonces estará solo habilitado durante la operación de lectura. Esto es hecho para que el dato no pueda ser accidentalmente escrito a la ROM. La entrada G1 habilitada del decodificador es permanentemente acertada por default en los +5 volts porque no lo requerimos en este circuito.

Page 20: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

20

DIRECCIÓN A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 EQUIVALENTE HEXADECIMAL

BLOCK START

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=0000

1 END

0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1=0FFF

BLOCK START

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0=1000

2 END

0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1=1FFF

BLOCK START

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0=2000

3 END

0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1=2FFF

BLOCK START

0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0=3000

4 END

0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1=3FFF

BLOCK START

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0=4000

5 END

0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1=4FFF

BLOCK START

0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0=5000

6 END

0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1=5FFF

BLOCK START

0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0=6000

7 END

0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1=6FFF

BLOCK START

0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0=7000

Figura 2. Tabla de dirección decodificada mostrando direcciones decodificadas por ocho 2732 en la figura 1

Page 21: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

21

Se puede ahora leer el comienzo del direccionamiento de EPROM 0 directamente de la tabla como 0000H. La más alta dirección en la EPROM 0 es esa dirección donde A0­A11 están todas en 1s. En cambio, poniendo en 1 cada de estos bits como se muestra en la tabla, puedes ver que la dirección de terminación de la EPROM0 es 0FFFH. Recuerda que A12­A14 debe estar en bajo la selección de EPROM 0. A15 debe estar en bajo para habilitar el decodificador. El rango de dirección de la EPROM 0 esta dicha para ser 0000H a 0FFFH, un bloque de 4 KBytes.

Ahora vamos a usar la tabla para determinar el rango de dirección de la EPROM 1. EPROM1 es habilitada cuando A15 es 0 A14 es 0, A13 es 0 y A12 es 1. Para la primera dirección en EPROM1 dirección de las líneas A0­A11 todas deben estar en bajo. Por lo tanto, el comienzo de la dirección de EPROM1 es 1000H, su terminación de dirección cuando A0­A11 están en 1, es 1FFFH. Se puede observar la tabla en la figura 2 que el rango de dirección de las otras seis EPROMS en el sistema son de 2000H a 2FFFH, 3000H a 3FFFH, 4000H a 4FFFH, 5000H a 5FFFH, 6000H a 6FFFH, y 7000H a 7FFFH. En este sistema entonces usamos líneas de dirección A14, A13 y A12 para seleccionar una de las ocho EPROMS sobre todo en el rango de dirección de 0000H a 7FFFH. Mucha gente gusta pensar en líneas de dirección A14, A13 y A12 como contadores ausentes los bloques de memoria 4096. Si se piensa en las líneas de dirección como las salidas de un contador de 16 bits, se puede ver como trabaja este.

El fin de dirección de cada EPROM tiene todos en 1 en los bits de dirección A0­A11. Cuando incrementes la dirección accesa el siguiente bit en memoria, estos bits todos van a 0, y un 1 entra en los bits A14, A13 y A12. Esto incrementa el contador en esos tres bits por 1 y habilita el siguiente más alto byte 4096 EPROM. El contador en este bit va del binario 000 a 111.

2.3 Un Sistema Decodificador de RAM

El sistema en la figura 1 contiene solo ROMs. En la mayoría de sistemas queremos tener ROMs, RAMs y puertos. Para dar más práctica con decodificador de dirección básico mostraremos ahora como podemos sumar un decodificador de RAM al sistema.

Suponiendo que queremos agregar ocho RAMs por 2K al sistema, y queremos que la primera RAM empiece en dirección 8000H justo después de la EPROM la cual termino de direccionar en 7FFFH.

Para empezar a hacer otras tablas como la de la figura 2 direccionemos una de 2048 bytes (2 E 11) en cada RAM requiere 11 líneas de dirección, A0­A10. Estas líneas serán conectadas directamente a cada RAM, así dibujar una línea vertical en la tabla indica esto. Después seleccionando una de 8 RAMs, podemos usar otro 74LS138 como cuando usamos en las EPROMS. Ahora seleccionando bloques de memoria de 2048 bytes, así líneas de dirección serán conectadas a la entrada A del decodificador, A12 será conectada a la entrada B del decodificador y A13 será conectada a la entrada C del decodificador. Bajo estos tres bits de direcciones en la tabla los tres bits binarios

Page 22: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

22

cuentan secuencias de 000 hasta 111 como hicimos en la figura 2. Todo lo que hemos dejado para decidir es que conectar a las entradas habilitadoras del decodificador. Ahora con el bloque de RAM seleccionado por la salida de este decodificador para empezar en la dirección 8000H. Para esto la dirección A15 es alta y A14 es baja. La entrada habilitada Q1 del decodificador esta activa en alta así que la conectamos a la línea de dirección A15. Esta entrada entonces será acertada cuando A15 este alta. Conectando A14 a (G2A neg) del decodificador así que esta entrada será acertada cuando A14 es baja. Porque no se requiere usar esto en este circuito, simplemente conectamos la entrada (G2B neg) del decodificador a tierra así que será acertada todo el tiempo.

Se puede observar que no conectamos la señal (RD neg) para habilitar una entrada en la RAM, porque queremos habilitar las RAMs para operaciones de lectura y escritura. La figura 3 muestra la tabla de dirección decodificada de las conexiones del 74LS138 que hemos descrito.

En cambio, poniendo 1 en A15 en tu tabla y un 0 en A14, se puede fácilmente determinar el rango de dirección de cada RAM. La primera RAM empezara a direccionar 8000H. La terminación de dirección de esta RAM será en la dirección donde los bits A0­ A10 estén todos en 1, en cambio, poniendo 1s bajo estos bits en la tabla se puede ver que la terminación de dirección de la primera RAM es 87FFH. Por práctica, se maneja por separado con la dirección hexadecimal para cada una de las otras 7 RAMS. Cuando se concluye se compara los resultados con la figura 3. Las ocho RAMS el espacio de dirección de 8000H a BFFFH:

2.4 Un Sistema Decodificador de Puerto

La figura 4a muestra como otro 74LS138 puede se conecto al sistema para producir un chip seleccionador de signos de algunos servicios de puertos. Haciendo otra tabla de un decodificador de dirección y se podría imaginar el sistema de dirección que corresponde a cada uno de estas salidas del decodificador. Revisando los resultados con los de la figura 4b. Primero se observa que A15 y A14 tienen que estar en altos para habilitar el decodificador y se escribe 1s bajo estos bits en tu tabla.

Entonces se puede observar que A13 y A12 deben estar en bajos para habilitar el decodificador, y escribir un 0 bajo cada bit de estos en la tabla. Finalmente para determinar cual de las tres líneas de dirección son conectadas al selector de entradas del decodificador y escribir la sucesión de la cuenta binaria del 000 al 111 bajos estos bits. Para este puerto decodificador las líneas de dirección A3, A4 y A5 serán conectadas directamente al puerto dispositivo para dirigir puertos individuales y controlar registros en el aparato.

Esta es la misma idea como conectando las líneas de dirección bajas directamente a la ROM para que podamos dirigir uno de los bytes guardados allí.

Líneas de dirección A6­A11 no son conectadas al puerto o al decodificador, así no tienen efecto en seleccionar un puerto. Esto no se verifica si estos bits son 1s o 0s. Estos bits sin cuidado significan que hay muchas direcciones los cuales regresaran a un

Page 23: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

23

sistema de puerto. Para dar la más simple dirección de cada uno sistema, sin embargo asumimos que cada uno de los bits sin cuidado es 0. Poniendo 0 bajo cada uno de estos bits en la tabla. Ahora se puede ver que la dirección C000H causará la salida Y0 del decodificador para ser afirmado. La dirección C008H causará la salida Y1 del decodificador para ser afirmado. Usando líneas de dirección A3, A4 y A5 en la entrada de un selector decodificador entonces saldrán ocho espacios de dirección para cada puerto.

Para ver que cualquiera de las muchas diferentes direcciones puede ser seleccionada una de estos puertos, se reemplaza el 0 que puso bajo A6 en la primera línea de tu tabla con un 1. Esto representa un sistema de dirección de C040H, A15 y A14 están en 1 y A13, A12, A5, A4, y A3 son 0s de esta dirección. Por lo tanto, esta dirección también causará la salida Y0 del decodificador para ser afirmada. Se puede tratar otras combinaciones de 1s y 0s sobre A6 a A11 para comprobar que estos bits no importan cuando direccionamos puertos. Otra vez usualmente usamos 0s para estos bits para dar la dirección más simple.

Usando un decodificador la cual traslade información de memoria a chip selector del sistema de puerto es llamada memoria mapeada entrada / salida (I/O). En este sistema un puerto será escrito para leer de la misma forma que cualquier otra localización de memoria. En otras palabras. Si este fue un sistema 8088 se debería utilizar una instrucción como MOV AL, DS: BYTE PTR 0C000H para leer un bit de datos desde el primer puerto a el registro AL, en lugar de usar la MOV DX, 0C000H y las instrucciones IN AL, DX. La ventaja de memoria mapeada I/O es que cualquier instrucción la cual refiere memoria puede ser usada para entrada de datos o salida de datos al puerto. En un sistema tal como este, por ejemplo, la única instrucción ADD AL, DS: BYTE PTR [0C000H] pudo ser usado para un byte de datos del puerto de dirección C000H y agregado el byte al registro AL. La desventaja de la memoria mapeada I/O es que algunos de los sistemas de espacio de dirección de memoria es usado para puertos y es por eso que no esta disponible por memoria.

Se puede usar memoria mapeada I/O con cualquier microprocesador pero, algunos microprocesadores como los de la familia 8086 que permite hacer la separación de entradas de los puertos de las salidas. Se accede a puertos en estas direcciones separadas directamente con la instrucción IN y OUT. Habiendo separado espacios de dirección de los puertos de entrada y salida es llamado directo I/O. La ventaja de directo I/O es que ninguno de los espacios de memoria es usado por puertos. La desventaja es que solo las instrucciones especiales IN y OUT pueden ser usadas para entrada y salida de datos.

Page 24: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

24

A15A14 A13A12A11 A10A09 A08A07 A06A05A04 A03A02 A01A00 DIR COM I

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=8000H 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0=8800H 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0=9000H 3 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0=9800H 4 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0=A000H 5 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0=A800H 6 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0=B000H 7 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0=B800H 8

Figura 3. Tabla decodificadora de dirección de ocho RAMS de 2 KBytes empezando con la dirección 8000H.

Agregando un decodificador al puerto

Figura 4A. Esquema de 74LS138

Digito Hexadecimal Digito Hexadecimal Digito Hexadecimal Digito Hexadecimal Dirección del Puerto H

A15 A14A13 A12 A11A10 A09 A08A07 A06 A05A04 A03 A02A01 A00 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 1 1 0 0 ⊗ ⊗ ⊗ ⊗ ⊗ ⊗ 0 0 0 0 0 0C 0 0 0

0 0 1 C 0 0 8 0 1 0 C 0 1 0 0 1 1 C 0 1 8 1 0 0 C 0 2 0 1 0 1 C 0 2 8 1 1 0 C 0 3 0

1 1 0 0 ⊗ ⊗ ⊗ ⊗ ⊗ ⊗ 1 1 1 C 0 3 8

Figura 4B. Tabla del decodificador

A13

A12

___ G2B

___ G2A

Y0 1 2 3 4 5 6 7 8

A5 A4 A3

A15

A14

Page 25: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

25

3. Direccionamiento y Decodificación de Dirección de los 8086 Y 8088.

3.1 Bancos de Dirección del 8086

El 8086 tiene 20 bits en el bus de direccionamiento, por lo que puede direccionar 2 E 20 o 1,048,576 direcciones. Cada dirección representa un bit de espera. Cuando se escribe una palabra a la memoria con una instrucción tal como MOV DS: WORD PTR[437AH],BX, la palabra es actualmente escrita dentro de dos direcciones de memoria consecutivas. Asumiendo que DS contiene 0000, el bit bajo de la palabra es escrita dentro de la memoria de dirección especificada 0437H y el byte alto de la palabra es escrita dentro de la mas alta dirección , 0437BH. Para hacer esto posible el leer o escribir una palabra con un ciclo de maquina, la memoria de un 8086 es instalada como dos bancos de 524,288 bytes cada uno. La figura 5a muestra esta forma del diagrama.

Un banco de memoria contiene todos los bytes los cuales tienen incluso direcciones tales como 00000, 00002 y 00004. La línea de datos de este banco es conectado a las mas bajas líneas de datos, D0­D7, del 8086. Los otros bancos de memoria contienen todos los bytes los cuales contienen direcciones impares como 00001, 00003 y 00005. Las líneas de datos de este banco son conectadas alas ocho líneas más altas D8­D15 del 8086, la línea de dirección A0 es usada como parte de la habilitación de memoria en el banco mas bajo. Un direccionamiento de memoria en este banco será habilitado cuando la línea de dirección A0 es baja, así será aun para cualquier dirección. Las líneas de dirección A1­A19 son usadas para seleccionar el servicio de la memoria deseada en el banco y direccionar el byte deseado en ese servicio.

Las líneas de dirección A1­A19 son también usadas para seleccionar una memoria deseada en el más alto banco y direccionar el byte deseado en el banco. Una parte adicional de la habilitación de memoria en el mas alto banco es un signo separado llamado bus alto habilitado o BHE neg. El BHE neg es enviado del 8086 al mismo tiempo que una dirección es enviada. Un latch externo, ENVIADO por ALE, graba el signo ­BHE y lo mantiene estable por le resto del ciclo de maquina. La señal ­BHE será afirmada baja si un byte esta siendo accesado en una dirección impar, o si una palabra en una misma dirección esta siendo accesada. La figura 5b muestra que estarán en ­ BHE y las líneas A0 para diferentes tipos de accesos de memorias.

Si se lee un byte o se escribe un byte en una misma dirección tal como 00000H, A0 será afirmada baja y ­BHE será alta. La localidad mas baja será habilitada y la localidad más alta será deshabilitada. Un byte será transferido a o de la localidad de dirección en la localidad baja en D0­D7. De una instrucción tal como MOV AH, DS: BYTE PTR [0000], el 8086 transferirá automáticamente el byte de dato de la línea de bus de dato mas baja a AH, el byte mas alto del registro AX. Solo escribiendo la instrucción y el 8086 se encarga de obtener los datos en el lugar correcto.

Page 26: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

26

Ahora, si el registro DS contiene 0000H y si se usa una instrucción tal como MOV AX, DS: WORD PTR [0000] para leer una palabra de la memoria dentro de AX, A0 y ­ BHE serán afirmados bajos. Por lo que, ambas localidades serán habilitadas. El byte bajo de la palabra será transferida desde la dirección 0000H al 8086 en D0­D7. El byte alto de la palabra será transferido de la dirección 00001H al 8086 en D8­D15. Recordando que la memoria del 8086 esta instalada en bancos así que las palabras las cuales tienen sus propios bytes bajos puedan ser transferidos a o del 8086 en ciclo de bus. Cuando programamos un 8086 entonces es importante comenzar un orden de palabras en una misma dirección para un funcionamiento más eficaz. Si se usa un ensamblador, la misma directiva es para hacer esto.

Cuando se usa una instrucción tal como MOV AL, DS: BYTE PRT [0001] para accesar solo un byte en una dirección impar, A0 será alto y ­BHE será afirmado bajo. Por lo que el banco bajo será deshabilitado y el banco alto será habilitado. El byte será transferido de la dirección de memoria 00001H en el banco alto al 8086 en las líneas D8­D15. El 8086 transferirá automáticamente el byte de dato de la más alta línea de dato a AL, el byte bajo del registro AX. Note que la dirección 00001H es actualmente la primera localidad en el banco alto.

El caso final en la figura 5b es donde se lee una palabra o se escribir una palabra a una dirección impar. La instrucción MOV AX, DS: BYTE PTR [0001H] copia el byte bajo de la palabra de la dirección 00001 a AL y el byte alto de la dirección 00002H a AH. En este caso el 8086 requiere dos ciclos de maquina para copiar los dos bytes de memoria. Durante el primer ciclo de maquina el 8086 sacara la dirección 00001H y afirmará ­BHE bajo, A0 estará en alto. El byte de dirección 00001H será leída en el 8086 en las líneas D8­D15 y puestas en AL. Durante el segundo ciclo de maquina el 8086 mandara la dirección 00002H, A0 será bajo, pero ­BHE será alto. El segundo byte será leído en el 8086 en las líneas D0­D7 y puestos en AH. Se puede observar que el 8086 automáticamente se encarga de poner un byte en el registro correcto indiferente de cualquier línea de dato, el byte entra.

La razón principal de las funciones A0 y ­BHE es el prever la escritura en un byte no deseado en la localidad adyacente de la memoria cuando el 8086 escribe un byte. Para entender esto podría pasar si ambas localidades fueran amontonadas por la operación de escritura y tú escribiste un byte en la dirección 00002 con la instrucción MOV DS: BYTE PTR [0002], AL. El dato de AL deberá ser escrito en la dirección 00002 como deseas. Sin embargo se habilita en banco superior también, el dato aleatorio en D8­D15 podría ser escrito en la dirección 00003. El 8086 entonces es diseñada para que ­BHE este en alto mientras escribe este byte. Este desactiva el banco superior de memoria previene el dato aleatorio en D8­D15 de ser escrita en la dirección 00003.

Ahora que se tiene una imagen de la decodificación de dirección y de los bancos de memoria del 8086 vamos a ver algunos ejemplos de como todo esto esta puesto en un pequeño sistema.

Page 27: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

27

Figura 5.­ Bancos de memoria del 8086. a) Diagrama de bloques

Dirección Tipo de dato ­BHE A0 Ciclo de Bus 0000 Byte 1 0 Uno 0000 Palabra 0 0 Uno 0001 Byte 0 1 Uno 0001 Palabra 0 1 Primero

1 0 Segundo

Figura 5.­ Bancos de memoria del 8086. b) ) Marcas de operaciones de byte y palabra

8086A

LATCHES

BANCO SUPERIOR BYTES DE DIRECCIONES IMPARES

BANCO INFERIOR BYTES DE MISMAS DIRECCIONES

FFFFFH FFFFEH

A19 A19

A1

A0 A0

­BHE ­BHE

ALE

­CS D15 D8

D8

D7

D0

D15

A19

A1

00005 00003 00001

00004 00002 00000

­SC D7 D0

Page 28: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

28

3.2 Dirección ROM Decodificada en el SDK­86

El esquema del SDK­86 muestra la conexión del circuito de la EPROM y EPROM decodificador. Las EPROMs 2716 tienen 2K por ocho circuitos.

Dos de las EPROMs tiene sus ocho salidas de datos conectadas en paralelo al sistema de línea de datos D0­D7. Estas dos EPROMs entonces dan 4Kbytes de almacenamiento en el banco de memoria bajo de ROM. Once líneas de dirección son necesarias para direccionar los 2Kbytes en cada circuito. Por lo que el sistema de líneas de dirección A1­A11 son conectadas a cada EPROM. Recuerda que no podemos usar A0 esto es porque, como describimos en la sección anterior es usada para habilitar el banco bajo.

Un 2716 tiene dos entradas disponibles,­CE y ­OE. En orden para las salidas y bytes de direcciones del 2716, ambas de estas entradas deben ser afirmadas bajas. Las entradas ­CE de dos servicios en el banco bajo, son conectadas a la línea de dirección A0, así las entradas ­CE de estos servicios serán afirmados si A0 en un 0. Las entradas ­ Ce de los dos 2716 en el banco alto son conectados a la línea de ­BHE. Las entradas ­CE de estos servicios entonces serán afirmados aun cuando ­BHE es afirmado en bajo. Para resumir entonces, los servicios etiquetados como XA27 y Xa36 del banco bajo de EPROM y los dos servicios etiquetados como XA30 y XA37 del banco alto de la EPROM en este sistema. Para ver como la entrada ­OE de cada uno de estos servicios da afirmación y para determinar la dirección que cada servicio tendrá en el sistema que necesitas observar lo siguiente en el decodificador de dirección 3625 etiquetado XA26.

Un 3625 tiene una EPROMs bipolar de 1K*4 la cual desarrolla la misma función que el 74LS138 desarrolla en las figuras 1 y 4. Desde que un 3625 tiene abiertas las salidas de colector, un potenciómetro para +5V es requerido en cada salida. La caja punteada alrededor de las cuatro resistencias en el esquema indican que las cuatro son conectadas en un paquete, paquete resistor 5(RP5). El 3625 traslada una dirección al signo el cual es usado como parte de una habilitación deseada del servicio. Usando una EPROM como un decodificador de dirección sin embargo es por muchas razones mucho más poderoso que usar un simple decodificador como el 74LS138. En primer lugar, el 3625 es programable lo que significa que tú puedes mover la memoria a nuevas direcciones en memoria para simplificar programación una nueva PROM. En segundo lugar los largos números de entradas en la PROM permiten que selecciones un área específica de memoria sin usar compuertas externas. Si por ejemplo la entrada ­G2A de un 74LS138 para ser afirmado si A11­A15 fueron altos, se deberá usar una compuerta NAND externa para detectar esta condición. Con una PROM puedes hacer parte de esta condición en la tabla de verdad que usas para función de la PROM.

Ahora para analizar cualquier circuito decodificador, primero se determina que señales son requeridas para habilitar un decodificador. La entrada habilitadora ­CS1 de la EPROM decodificador 3625 es conectada a tierra así esta permanentemente habilitada. La entrada habilitadora ­CS2 es conectada a la señal ­RD del 8086 así que el decodificador solo se habilitará si el 8086 esta haciendo una operación de lectura. Como explicamos previamente no se quiere habilitar accidentalmente una ROM si no se envía una dirección equivocada durante la operación de escritura.

Page 29: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

29

El siguiente paso en analizar un circuito decodificador usando una PROM es consultar el manual de operación para el sistema. Se necesita hacer esto porque de una PROM la relación entre entradas y salidas no pueden ser determinadas directamente desde el esquema.

Entradas PROM Salidas PROM Direcciones PROM M/­IO A14­A19 A13 A12 O4 O3 O2 O1 1 1 1 1 1 1 1 0 FF000H­FFFFFH 1 1 1 0 1 1 0 1 FE000H­FEFFFH 1 1 0 1 1 0 1 1 FD000H­FDFFFH(­CSX) 1 1 0 0 0 1 1 1 FC000H­FCFFFH(­CSY)

1 1 1 1 NADA Todos los otros estados

Figura 6.­Tabla de verdad para un SDK­86

Figura 7.­ Mapa de memoria ROM para el SDK­86

Entradas PROM Salidas PROM Direcciones PROM A12­A18 A11 ­BHE A0 O4 O3 O2 O1 0 0 0 0 1 1 0 0 AMBOS BYTES (0H­07FFH) 0 0 0 1 1 1 0 1 BYTE ALTO (0H­07FFH) 0 0 1 0 1 1 1 0 BYTE BAJO (0H­07FFH) 0 1 0 0 0 0 1 1 AMBOS BYTES (0800H­0FFFH) 0 1 0 1 0 1 1 1 BYTE ALTO (0800H­0FFFH) 0 1 1 0 1 0 1 1 BYTE BAJO (0800H­0FFFH)

1 1 1 1 NADA Todos los otros estados

Figura 8.­ Tabla de verdad para un SDK­86 (A29)

XA30

XA37

XA27

XA36

FFFFF

FE001 FEFFF

FE001

BANCO ALTO

BANCO BAJO

FFFFEH

FF000H FEFFEH

FE000

Page 30: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

30

La figura 6 muestra la tabla de verdad de la PROM del manual del SDK­886. Esta tabla de verdad es muy similar a la tabla del decodificador de dirección que se uso anteriormente. De la tabla de verdad se puede ver que en orden de la salida O1 de la PROM es afirmada baja. M/­IO debe ser alta. Esto es razonable desde que este decodificador es habilitado e servicio de memoria. Las líneas de dirección A12­A19 también serán altas en orden de la salida O1 de la PROM para ser afirmadas bajas.

Desde que los ocho bytes de dirección tienen que ser 1s para que la salida O1 sea afirmada, la más baja dirección la cual causara esto es FF000H. Referirnos a la figura1 del esquema del SDK­86 en la figura 0 para ver que la salida del decodificador de la PROM conecta la entradas habilitadoras ­OE de los dos EPROMs 2716, XA27 y XA30. Se observa en el esquema o en la otra entrada habilitadora de XA27, ­CE es conectada a la línea de dirección del sistema A0. La EPROM XA27 entonces será habilitada aun cuando el 8086 haga una lectura de memoria de una misma dirección (A0=0) en el rango FF000H a FFFFFH. Ahora vamos a ver en la EPROM XA30. La entrada habilitadora ­CE del XA30 es conectada a la línea del sistema ­BHE. Como se muestra en la figura 5, ­ BHE será afirmado bajo aun cuando el 8086 accesa un byte en una dirección impar o una palabra en la misma dirección. La EPROM XA30 será habilitada cuando el 8086 se lee un byte de una dirección impar en el rango FF000H a FFFFFH. XA30 será también habilitada cuando el 8086 acerté bajo a A0 y ­BHE para leer una palabra que empieza en una misma dirección en el rango FF000H a FFFFFH.

Estas EPROMs son puestas en estas altas direcciones en memoria en el SDK­86 porque después de un RESET, el 8086 va a direccionar FFFF0H para dar su primera instrucción. Desde que queremos que el SDK­86 ejecute su programa maestro después presionamos el botón RESET, localizamos la EPROM conteniendo el programa maestro tal que esta dirección esta en el. La cuarta EPROM SDK­86 actualmente contiene dos programas maestros. Un monitor en servicio XA27 y XA30 te permite usar el teclado hexadecimal para introducir y correr programas. El otro monitor en servicio XA36 y XA37 te permite usar una terminal externa CGT para meter y corre programas. Usando la figura1 del esquema y la tabla de verdad de la PROM en la figura 6 ve si puedes determinar el rango de dirección para las EPROMs XA36 y XA37.

La entrada habilitadora ­OE del XA36 y XA37 son conectadas a la salida O2 del decodificador de dirección. De acuerdo a la tabla de verdad de la PROM, la salida O2 será afirmada baja si M/­IO es alto, A14­A19 están altos, A13 es alto y A12 es bajo. La dirección mas baja que afirmara la salida O2 entonces es FE000H, y la dirección mas alta que afirmara la salida baja O2 es FEFFFH. Por lo que el rango de dirección de XA36 y XA37 es FE000H a FEFFFH. Desde A0 debe también ser bajo para habilitar la EPROM XA36, este contiene los mismos bytes de dirección en este rango. Desde ­BHE tiene que ser también bajo para habilitar la EPROM XA37. Este contiene los bytes en la dirección impar en el rango FE000H­FEFFFH. Un mapa de memoria tal como el de la figura 7 es una forma conveniente para resumir donde es localizado cada servidor en el sistema de espacio de dirección. Note que el ROM decodificador 3625 dos salidas sin uso las cuales pueden ser usadas como parte de la habilitación de EPROMs agrega a el la sección prototipo del cuadro.

Page 31: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

31

3.3 Dirección de RAM Decodificada en el SDK­86

Para dar otro ejemplo de dirección de RAM decodificada en un sistema real, ahora se comentara la decodificación de RAM de la tabla SDK­86. La figura 6 del esquema en la figura 0 del SDK­86 muestra el circuito del sistema RAM y decodificador de RAM. Vamos a investigar en este esquema para ver que podemos aprender de este.

Primero observando las líneas de entrada y salida en el sistema estático de la RAM 2142. Del hecho que cada sistema tiene cuatro líneas de I/O entrada / salida se puede concluir que el sistema guarda 4 bits de palabra. El hecho que cada sistema tiene diez direcciones de entrada A0­A9 indica que cada una guarda 2 E 10 0 1024 de estos cuatro bits por palabra. Para almacenar palabras dos 2142 son conectadas en paralelo. Sistemas A38 y A41 por ejemplo son habilitadas juntas para almacenar bytes del mas bajo de las ocho líneas de datos, los sistemas A43 y A45 son habilitadas juntas para almacenar bytes del mas alto de las ocho líneas de datos. Se puede observar que el bus de control marcadas ­RD y ­WR y M/­IO son conectado para todo de los 2142s. ­RD es conectado a la salida deseable, pin OD en los 2142s. Cuando la marca ­RD es alta o cuando el sistema no es habilitado, los buffers de salida serán deshabilitados. Durante una operación de lectura la marca ­RD será afirmada baja, si un 2142 es habilitado y sus entradas OD son bajas, los buffers de operación regresaran así que una palabra direccionada es sacada al bus de datos.

­WR del 8086 es conectada a la habilitación de escritura ­WE, entradas de los 2142s, si un 2142 es habilitado, el dato en el bus de datos será escrito en localización direccionada en la RAM cuando el 8086 afirma ­WR bajo.

Los 2142s tienen dos entradas habilitadoras,­CS1 y CS2. La marca M/­IO del 8086 es conectada a la entrada habilitadora ­CS2 de todos lo 2142s. Desde que la entrada CS2 es activada alta, será afirmada aun cuando el 8086 este haciendo una operación de memoria. Las entradas de los 2142s son conectadas en pares a las salidas de un EPROM 3625 el cual funciona como un decodificador de dirección.

Para acertar cualquiera de sus salidas y algunas habilitaciones de RAM, el 3625 debe ser habilitado por si solo. Desde que la entrada habilitadora ­CS2 de la EPROM es conectada a tierra, este es permanente habilitada. La entrada habilitadora ­CS1 será afirmada cuando la línea de dirección del sistema A19 es baja. Para determinar más información sobre este PROM se requiere ver la tabla de verdad del sistema. Antes vamos sobre eso, sin embargo se observa que A0 y ­BHE son conectados a dos de las direcciones de entrada en la PROM 3625. Sabiendo que hacer sobre los bancos de memoria del 8086, ahora se tiene que A0 y ­BHE son parte de lo que determina las salidas de este decodificador como lo muestra la tabla de verdad de este sistema en la figura 8.

De acuerdo a la tercera línea de la tabla dirección / decodificador en la figura 8. La salida O1 de la PROM será afirmada baja si A12­A18 son bajas. A11 es baja, ­BHE es alta, y A0 es baja. La salida O1 entonces será afirmada por el mismo sistema de direcciones comenzando con 00000H. Un bajo en la salida O1 habilitara a las RAMs A38

Page 32: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

32

y A41 las cuales son conectadas en la mitad inferior del bus de dato. Estos dos sistemas son parte de banco bajo de la RAM.

Ahora observando la segunda línea de la tabla de verdad de la PROM en la figura 8 desde esta línea se puede ver que la salida O2 entonces será afirmada para direccionar el sistema impar comenzando con 00001H. Un bajo en la salida O2 habilitara a las RAMs A43 y A45 las cuales son conectadas en la mitad superior del bus de datos. Estos dos sistemas son parte del banco alto de la RAM.

Ahora suponiendo que se quiere escribir una palabra de 16­bits a la RAM en la misma dirección. Para hacer esto se requiere que O1 y O2 sean afirmadas bajas así que la media superior y la media inferior estén habilitadas bajas. De acuerdo a la primera de la PROM de la tabla de verdad de la figura 8, O1 y O2 serán afirmadas bajas si ­BHE y A0 sean bajas. Recordando de la figura 5 que ­BHE y A0 serán bajas aun cuando se escriba una palabra una palabra ala misma dirección o se lea una palabra de una misma dirección. Este último caso da la repuesta al porqué A0 y ­BHE son conectadas para decodificar dirección en entradas PROM. Las dos entradas son requeridas para contar el decodificador de PROM para afirmar O1 y O2 de una palabra leída o escrita.

El rango de dirección de las RAMs XA38, XA41, XA43 y XA45 es 00000H a 007FFH. Otro vistazo a la tabla de verdad en la figura 8 debería mostrar que las RAMs XA39, XA42, XA44 y XA46 contienen 2K de más bytes en el rango 00800H a 00FFFH. Otra vez, ambos bancos de esta habitual RAM serán habilitadas si A0 y ­BHE son bajas, así ellas son para palabras de lectura o escritura a una misma dirección.

3.4 SDK­86 Direccionamiento y Decodificación de Puerto

Anteriormente se describió la memoria mapeada entrada / salida, en un sistema con puerto memory­mapped input/output son direccionados y seleccionados por decodificadores como si fueran memorias. La principal ventaja de memory­mapped I/O es que cualquier instrucción la cual se refiera a memoria puede teóricamente ser usada para leer a o escribir a un puerto. La instrucción ADD BH, DS: BYTE PTR [437H] pudo ser usada para leer un byte de un puerto y agregar el byte leído en el registro BH. La desventaja de memory­mapped I/O es que los puertos ocupan parte del espacio de memoria. Este espacio es entonces no disponible para almacenar datos o instrucciones.

Para tener que evitar usar parte de espacio de memoria para puertos, la familia de los microprocesadores 8086 tiene un espacio de dirección separado de puertos. Habiendo un espacio de dirección separado de puertos es llamado direct I/O, porque este espacio de dirección separado es accesado directamente con las instrucciones de entrada y salida.

Recordando que las instrucciones de entrada y salida del 8086 tienen dos formas, puerto compuesto y puerto variable, tenemos que para instrucciones del puerto compuesto una dirección de puerto de 8­bits es escrito como parte de la instrucción. La instrucción IN AL, 28H por ejemplo copia un byte del puerto 38H al registro AL. Para

Page 33: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

33

operaciones de entrada y salida del puerto variable, la dirección del puerto de 16­bit es primero cargado en el registro DX con una instrucción como MOV DX, 0FFF8H. La instrucción IN AL, DX es entonces usada para copiar un byte desde el puerto FFF8H hasta el registro AL. MOV DX, 0038H seguido por IN AL, DX tiene el mismo efecto como IN AL, 38H.

Aun cuando el 8086 usa las instrucciones IN o OUT para accesar un puerto, la dirección de puerto es enviado directamente del 8086 a las líneas AD0­AD15. Ninguno de los segmentos de registros tiene algún efecto en la dirección de una instrucción de entrada o salida. El 8086 siempre saca 0s en las líneas A16­A19 durante una instrucción de entrada o salida. Desde que el 8068 saca direcciones de 16­bits para direcciones directas I/O, puede direccionar cualquiera de 2 E 16 o 65,536 puertos de entrada y cualquiera de los 65,536 puertos de salida. Un 8086 el cual usa direct I/O es diseñado para que el espacio de dirección separada de puertos es habilitada cuando la marca M/­ IO del 8086 es baja. Recordando que M/­IO empezando alto fue una de las condiciones de habilitación para la ROM SDK­86 y decodificadores RAM discutidas en secciones previas.

La marca M/­IO será baja durante cualquier operación directa de entrada o salida. La marca ­RD del 8086 también será baja durante una operación de entrada, así esta marca es usada para habilitar un puerto direccionado de entrada. La marca ­WR del 8086 será bajo con M/­IO durante una operación de salida. Esto es que la marca es usada para habilitar un puerto direccionado de salida.

Para un ejemplo de como puertos directos de entrada y salida son direccionados y seleccionados en un sistema real, veremos otra vez el esquema del SDK­86 en la figura 0. Aquí otra PROM 3625 (XA22) es usada para producir el chip selector de marcas de cuatro sistemas I/O. La salida O1 de la PROM es usada para habilitar el teclado de interfase 8279. La salida O2 de la PROM es usada para habilitar el usuario 8251A mostrado en la tabla 9 del esquema. Estos sistemas pueden ser habilitados individualmente para bytes de entrada y salida. Estos también pueden ser habilitados juntos para entrada y salidas de palabras.

Revisando ahora al decodificador PROM 3625 se puede determinar que condiciones lo habilitan. Se deberá encontrar que la entrada habilitadora ­CS2 de la EPROM será afirmada cuando M/­IO es baja así tal como esta durando una operación de entrada o salida. Además se puede ver que la entrada ­CS1 será afirmada cuando A11­A15 están todas altas. Ahora para ver que direcciones causan cada salidas de la EPROM para ser afirmadas, refiere al decodificador de dirección mostrado en la figura 9a. De esta figura se puede ver que para afirmar la salida O1 baja, A5­A15 deben estar en alto, A4 debe estar en bajo, y A3 debe estar en alto y A0 debe estar en bajo. ­BHE puede estar también en alto o en bajo. Note sin embargo, que solo la más baja de las ocho líneas de datos, D0­D7 están conectadas al 8279. Además los datos deben ser enviados para o leer del 8279 a una misma dirección de byte. En otras palabras los datos deben ser enviados como un byte a una misma dirección o como el byte bajo de una palabra a una misma dirección.

Page 34: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

34

La dirección base de este sistema entonces es FFE8H. La línea de dirección A1 es conectada al 8279 para seleccionar una de dos direcciones internas en este sistema. A1 bajo selecciona una dirección interna y A1 alto selecciona la otra dirección. A1 bajo da dirección al sistema FFE8H, y A1 alto da dirección al sistema FFEAH. Estos son entonces las dos direcciones del 8279 en este sistema.

De acuerdo a la tabla en la figura 15a, la salida O2 del decodificador PROM será afirmado bajo cuando A4­A15 es alto, y A3 y A0 son bajos. ­BHE puede ser también un alto o un bajo, pero desde solo las mas bajas líneas de datos de los 8 son conectadas al usuario 8251A, los datos deben ser enviados para leer desde el sistema como bytes en una misma dirección. Otra vez la línea de dirección A1 es usada para seleccionar una de las dos direcciones internas en el 8251A (figura 0 figura6). A1 bajo selecciona una dirección interna y A1 alta selecciona la otra dirección interna. Las dos direcciones de este sistema entonces son FFF0H y FFF2H.

Ahora antes de comentar las salidas O3 y O4 de la PROM decodificadora tomaremos una pequeña vista en los dos puertos paralelos del 8255. Estos sistemas son mostrados en la tabla 5 del esquema de la figura 0. Cada uno de estos contiene tres puertos paralelos de 8­bits y un registro control. Las líneas de dirección A1 y A2 son usadas para direccionar el puerto o registro deseado solo como líneas de dirección bajas son usadas para direccionar la localización interna deseada en la memoria. Se puede observar que las 8 mas bajas líneas de datos D0­D7 son conectadas al ZA40, y las ocho líneas superiores son conectadas al XA35. Esto es hecho para tener muchas posibilidades de entrada y salida. Se puede leer un byte o escribir un byte a un mismo puerto de dirección en XA40. Se puede leer un byte o escribir un byte a un mismo puerto de dirección impar en XA35. Se puede leer una palabra o escribir una palabra a u puerto de 16­bits hecho de un puerto de 8­bits de XA40 y un puerto de 8­bits de XA35. Para meter o sacar una palabra ambos puertos deben estar habilitados. Ahora vamos a ver la tabla de verdad del decodificador para determinar que direcciones habilitan los muchos puertos en este sistema.

El XA40 será habilitado por la salida O3 del PROM decodificador si las líneas de dirección A3­A15 son altas y A0 es baja, A1 y A2 son usadas para seleccionar puertos internos del 8255A. Asumiendo que estos dos bites son 0 de la primera dirección en el sistema. Para seleccionar el puerto A en el XA40 del 8255A, las líneas de dirección A1 y A2 deben ser bajas. La dirección que habilitara este servicio y selecciona el puerto A con FFF8H. Otros valores de A2 y A1 seleccionaran uno de los otros puertos o el registro de control. La figura 9b muestra el sistema de direccionamiento de los puertos y el registro de control en este 8255. Se puede observar que los puertos en este sistema (XA40) son identificados como puerto 2A, puerto 2B y puerto 2C. Todos estos tienen la misma dirección porque A0 debe ser bajo de este sistema para ser seleccionado.

Los XA35 y 8255A los cuales contienen puerto 1A, 1B y 1C serán habilitados por la salida O4 del decodificador PROM si A3­A15 están en alto y la línea ­BHE es bajo. Si este 8255A esta siendo habilitada por un byte de lectura o escritura, entonces la línea A0 también será alta. A2 y A1 son otra vez usadas para direccionar uno de los puertos o el registro de control con el 8255A. A2=0 A1=1 seleccionara puerto 1A en este 8255A.

Page 35: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

35

Como se muestra en la figura 9b, entonces, la dirección del puerto 1A es FFF9H. El puerto 1B será accesado con una dirección de FFFBH, el puerto 1C será accesado con una dirección FFFDH, y el registro interno de control será accesado con una dirección de FFFFH.

Observando la tabla de verdad de la figura 9a que el 3625 PROM decodificador habilita un puerto solo cuando la dirección asignada especifica para ese sistema es enviado fuera por el 8086. Este es algunas veces llamado decodificación completa porque todas las líneas de dirección juegan una parte en seleccionar un servicio y uno de sus puertos o registros internos. Si agregamos otro decodificador para producir marcas habilitadoras para mas servicios de puertos es más fácil en un sistema el cual usa esta decodificación completa.

Page 36: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

36

Entradas de Prom Salidas de Prom A11­ A15

A5­ A10

A4 A3 ­ BHE

A0 O4 PUERTO ALTO

O3 PUERTO BAJO

O2 SELECTOR USUARIO

O1 KDSE L

1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1

1 1 1 1 Los demás estados

Dirección de Puertos Función de Puertos 0000 A FFDF Abierto FFE8 E9 EA EB EC DE EE FFEF

RAM DISPLAY 8279 LECTURA / ESCRITURA O LECTURA

ESTADO LECTURA U ORDEN ESCRITURA

RESERVADO

RESERVADO

FFF0 F1F2F3F4F5F6FFF7

LEER ESCRIBIR UN DATO

ESTADO LECTURA O CONTROL ESCRITURA

RESERVADO

RESERVADO

FFF8 F9FA FB FC FD FEFFFF

LEER / ESCRIBIR 8255A PUERTO P2A LEER / ESCRIBIR 8255A PUERTO P1A LEER / ESCRIBIR 8255A PUERTO P2B LEER / ESCRIBIR 8255A PUERTO P1B LEER / ESCRIBIR 8255A PUERTO P2C LEER / ESCRIBIR 8255A PUERTO P1C ESCRIBIR 8255A CONTROL ESCRIBIR 8255A CONTROL

Figura 9. Tabla de verdad y mapa para puerto decodificador SDK­86

Page 37: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

37

3.5 El decodificador fuera de tabla del SDK­86

Antes de exponer como otro puerto decodificador puede ser agregado al SDK­86, se requiere brevemente explicar la operación de la circuiteria fuera de tabla en la figura5 del esquema del SDK­86. El propósito de este circuiteria es el producir la marca ­OFF­ BOARD. Aun cuando el 8086 envía a fuera una memoria o dirección de puerto los cuales no corresponden al decodificador de la tabla. La marca ­OFF­BOARD será afirmada baja si el pin 4 de la compuerta NAND A3 es bajo o si el pin 5 de la compuerta NAND A3 es bajo. De acuerdo a la tabla de verdad de la PROM XA12 en la figura 10, la salida O1 será baja si el 8086 esta haciendo una operación de memoria y la dirección que manada afuera no esta en uno de los rangos decodificados para la tabla ROM o RAM.

En orden para el pin 4 de la compuerta NAND A3 este bajo, el pin 9 y el pin 10 de la compuerta NAND A3 deben estar en alto. El pin 10 será alto si el 8086 esta haciendo una operación de entrada o salida (IO/­M del 8086 invirtiendo los buffers igual a 1). El pin 9 de la compuerta NAND A3 será alto si cualquiera de las entradas de la compuerta NAND A19 es baja. Desde que las líneas de dirección A5­A15 están conectadas a las entradas de la compuerta NAND 74LS133, la marca del pin 9 de A3 será alta por cualquier dirección menos FFE0H. En otras palabras el pin 4 de la compuerta NAND A3 será afirmada baja por cualquier operación de entrada o salida en el rango de dirección no seleccionado por el puerto decodificador XA22.

La marca ­OFF­BOARD producida por la discusión previa por compuertas y PROM es conectada a una entrada de una compuerta NAND nombrada A2 en la tabla 2 del esquema. Si ­OFF­BOARD es afirmada baja, o ­INTA es afirmada baja, o ­HLDA es afirmada baja, la salida de esta compuerta será alta. Por ahora todos estamos interesados en este hecho que si ­OFF­BOARD es afirmado bajo, un alto será aplicado al pin 1 de la compuerta NAND A3 en zona A4 del esquema. Si la marca ­DEN del 8086 estará afirmando aun cuando el 8086 lea datos de una localización de memora o un puerto. La marca ­BUFFER ON producida aquí es usada para habilitar el bus de datos del 8086 buffers (XA6Y XA7) mostradas en la figura4 del esquema. Ahora aquí esta el punto de todo esto.

Para manejar este sistema adicional, la dirección, bus de control y de datos todos deben estar cargados. El bus de dirección en el SDK­86 es cargado por el latch de dirección de la 74LS373 mostrado en la figura3 del esquema. El bus de dato y el bus de control no son necesitados para manejar las ROM, RAM y puertos que viene con la tabla del SDK­86. Para leer un dato o escribir un dato a los sistemas externos, sin embargo, el bus de datos es cargado por dos 8286 mostrados como XA7 y XA6 en la figura4 del esquema del SDK­86. Estos dos buffers son volteados en la marca de ­BUFFER ON, descritos en el párrafo anterior es afirmado bajo. Los buffers 8286 son bidireccionales. Cuando estos son habilitados, la marca dato transmitido / recibido. DT/­R del 8086 determinara en cual dirección los buffers serán dirigidos. Si DT/­R es alto, los buffers serán habilitados para leer datos desde algún sistema externo.

Las marcas de bus de control son cargadas por una etiqueta XA11 del 8286 y una 74LS244 etiquetada XA8 en la figura4 del esquema del SDK­86. Estos buffers están

Page 38: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

38

permanentemente habilitados para sacar al bus de control señales excepto durante un estado de HOLD el cual se explicara mas tarde.

Entradas Prom Salidas Prom O1

Bloque de direcciones correspondientes

M/­ IO

A19 A18 A17 A16 A15 A14 A13 A1 2

1 0 0 0 0 0 0 0 0 1 (INACT)

0H­0FFFH

1 1 1 1 1 1 1 1 0 1 (INACT)

FE000H­FEFFFH

1 1 1 1 1 1 1 1 1 1 (INACT)

FF000H­FFFFH

Los demás estados 0 (ACTI) 1000H­FDFFFH

Figura 10. Tabla de verdad decodificador PROM SDK­86 fuera de tabla

3.6 Circuiteria del generador de estados de espera del SDK­86

Ahora que se conoce como la marca ­OFF­BOARD es producida en el SDK­86, podemos exponer la operación del generador de estado de espera del SDK­86 mostrado en la figura2 del esquema.

Anteriormente se menciono que si la entrada RDY del 8086 es afirmado bajo, el 8086 insertara uno o mas estados de espera en el ciclo de maquina este es procesado corrientemente. La figura 00 muestra como un estado de espera es insertada en un ciclo de maquina en una 8086. Durante un estado de espera la información en los buses es sujeta constantemente. Cualquiera que estuvo en los buses en el empiezo del estado de espera se queda en todas partes del estado de espera.

El principal propósito de insertar uno o más estados de espera en un ciclo de maquina es el dar un servicio de dirección de memoria o uno de I/O más tiempo para aceptar el dato de salida. Más delante mostraremos como se determina si un estado de espera es necesario para un servicio dado con un reloj del 8086 dado. Sin embargo por ahora solo vamos a explicar como la circuiteria del SDK­86 causa el 8086 para insertar un número seleccionado de estados de espera.

Los estados de espera son insertados por jalar la entrada RDY1 del reloj generador 8284 IC bajo. (Figura 0 figura2 zona C6). El 8284 internamente sincroniza la marca de entrada RDY1 con la marca de reloj y envía la marca resultante a la entrada RDY del 8086. Del SDK­86 la entrada RDY1 será afirmada baja si las tres entradas de la compuerta NAND A15 mostradas en la zona D5 del esquema son altas. El pin 10 de este sistema es conectado a +5V, así este es permanentemente alto. El pin 11 de A15 será alto si cualquiera de las entradas de la compuerta NAND en zona D7 son afirmadas bajas. El pin 1 de esta compuerta será baja aun cuando el 8086 haga una operación de

Page 39: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

39

entrada o salida. El pin 2 de esta compuerta será baja aun cuando el 8086 accese un puerto o localización de memoria la cual no esta decodificada en la tablilla. En otras palabras con estas conexiones el número seleccionado de estados de espera serán insertados en cada ciclo de maquina cuando el 8086 haga una lectura o una escritura a la tablilla I/O, o cuando el 8086 haga una lectura o una escritura de cualquier servicio no decodificado en la tablilla. Si Jumper W39 es instalado en el pin 13 de A15, el pin 11 de A15 siempre será alto. El número seleccionado de los estados de espera seleccionados por los Jumpers W27­W34 serán insertados para cualquier operación de lectura y escritura.

El número deseado de estados de espera para ser insertados esta seleccionado por poner un Jumper entre dos pines en la matriz W27­W34 mostrada en la zona D3 (figura2) del esquema. Si un brinco es instalado en la posición W27 por ejemplo, ningún estado de espera será insertado. Si un brinco es instalado en la posición W28, un estado de espera será insertado. El modelo continua a salto W34 el cual causará siete estados de espera para ser insertados en cada ciclo de maquina. Aquí esta como el generador de estado de espera trabaja por si mismo.

El generador de estado de espera 74LS164 es un registro de cambio de 8­bits. Al comienzo de un ciclo de maquina las marcas ­RD,­WR y ­INTA del 8086 son altas. Estas tres marcas siendo altas causaran la compuerta NAND en zona C4 para afirmar la entrada limpia, CLR, del registro de cambio. Las salidas del registro de cambio entonces todas estarán bajas. Una de estas bajas será unida a través de un brinco y un inversor al pin 9 de la compuerta A15. Este alto en el pin 9 junto con un alto en el pin 11 causara en la entrada RDY1 del 8284 sea empujada baja. Sin embargo, el estado de espera no será insertado a menos que RDY1 permanezca bajo largo tiempo. Ahora cuando ­RD,­WR o ­INTA van bajos en el ciclo de maquina, la entrada ­CLR del registro de cambio 74LS164 ira alto, y este funcionara normalmente. Los latos en las entradas INA y INB serán cargadas sobre la salida QA del siguiente pulso positivo del reloj. Si el brinco del estado de espera esta en la posición W27 entonces este alto en la salida QA será a través del inversor y la compuerta NAND, causa la entrada RDY1 del 8284 para ir alto otra vez. Por este caso la entrada RDY1 va alto tan suficiente que los estados de espera no son insertados.

El alto cargado en el registro de cambio 74LS164 es cambiado un estado a la derecha por cada pulso de reloj sucesivo. Cuando los alcances altos el Jumper conecta a el inversor A25, causaran en la entrada del 8284 RDY1 vaya alto. El 8086 entonces saldrá del estado de espera en el siguiente pulso de reloj. El número de estados de espera insertado en el ciclo de maquina es determinado por cuantos fases el altos deben ser cambiados antes de alargar el saltador instalado.

Para resumir todo esto, el 8086 insertara el número seleccionado de estados de espera en cualquier ciclo de maquina el cual accese ninguna dirección de servicio en la tablilla, o cualquier servicio de I/O. Si el brincador W39 es insertado el número seleccionado de estado de espera será insertado para cualquier acceso de sobre tabla o fuera de tabla. El propósito de insertar estados de espera es dar un servicio de dirección o datos de salida mas tiempo para aceptar.

Page 40: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

40

3.7 Acceso a memoria y puertos del Microprocesador 8088

Una vez expuesto en detalle como el 8086 accesa memoria y puertos, podemos explicar como el 8088 lo hace.

Sabiendo que el 8088 es el CPU usado en la IBM PC y la IBM PC/XT, la instrucción puesta del 8088 es idéntica a la del 8086 y los registros de los dos son los mismos. Hay dos mayores diferencias entre los dos sistemas. Primero, el byte de instrucción de cola del 8088 tiene solo 4 largos bytes en lugar de 6. Segundo y más importante la memoria 8088 no es dividida en dos bancos como la memoria del 8086. El 8088 tiene solo un bus de datos de 8­bits, AD0­AD7. Todos los servicios de memoria y puertos en un 8088 están conectados en estas ocho líneas. La memoria del 8088 entonces funciona como un banco entero de 1, 048,576 bytes. La figura 11 muestra esta estructura. La estructura del banco completo quiere decir que un 8088 no puede leer o escribir una palabra a memoria en un ciclo de maquina como lo hace el 8086. El 8088 puede solo leer o escribir bytes así que el 8088 debe siempre hacer dos ciclos de maquina para leer o escribir una palabra. Las líneas de dirección A0­A19 son usadas con algunos decodificadores para seleccionar un byte deseado en memoria. El 8088 no produce la marca ­BHE, porque no se necesita.

Figura 11. Estructura de memoria 8088

La mayoría de los servicios de memoria disponibles y de I/O fueron diseñados por microprocesadores de 8­bits los cuales tienen buses de datos de 8­bits. El 8088 fue diseñado con un bus de datos de 8­bits así que este pueda intercambiarse más fácilmente con servicios de memoria de 8­bits y servicios de I/O. Por ejemplo en un sistema 8088 un simple 74LS138 puede ser usado para un servicio de decodificador de puerto como lo mostramos en la figura 4A. Un 8086 requiere un decodificador mas complejo tal como el PROM 3625 en la figura 0 (figura7), porque el decodificador debe tomar en cuenta los estados de A0 y ­BHE.

AD0­AD7

A0­A19

DIRECCIONES FFFFFH

FFFFEH

00003H

00002H

Page 41: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

41

3.8 Medición de parámetros de tiempo del 8086

Si utilizamos diagramas de onda de tiempo generalizado, serán suficientes para mostrar la secuencia de actividades en los buses del 8086, sin embargo estos no son detalles suficientes para determinar, por ejemplo si una memoria es suficientemente rápida para trabajar en un sistema 8086 dado. Para permitirte hacer cálculos precisos de tiempo, los libros de manufactura dan detallado formas de onda de tiempo y listas de parámetros de tiempo para cada microprocesador.

En muchos sistemas no se necesita preocuparse por los parámetros de señal de reloj porque un generador de reloj 8284 y un cristal pueden ser usados para producir el pulso de reloj. La frecuencia del pulso de reloj de un 8284 es siempre un tercio la frecuencia resonante de un cristal conectado a este. El 8284 es diseñado para garantizar el correcto periodo de tiempo, un pulso de reloj bajo, un pulso de reloj alto, etc. Tan grande como la parte del número sufijo correcto es usado. El 8284A, por ejemplo puede ser usado en un sistema de 8 Mhz pero una parte más rápida el 8284A­1 debe ser usada para un sistema donde un reloj de 10 Mhz es deseable.

Los bordes de la señal de reloj causan operaciones en el 8086 para ocurrir: por lo tanto la forma de onda del reloj es usada como referencia de otros tiempos. Los valores de tiempos para cuando el 8086 saca direcciones, M/­IO, ALE y señales de control por ejemplo son especificadas todas con referencia para un apropiado borde de reloj.

Como se menciono anteriormente una de las principales cosas para que tú usas estos diagramas y parámetros es para encontrar si una memoria particular o puerto es suficientemente rápido para trabajar en un sistema con una frecuencia de reloj dada. Aquí esta un ejemplo de como tu haces esto.

Se puede observar en la zona C5 de la figura2 del esquema del SDK­86 que si un brinco W41 es instalado, el 8086 recibirá una señal de reloj de 4.9 Mhz del 8284. Si un brinco W40 es instalado el 8086 recibirá la señal PCLK de 2.45 Mhz del 8284. Ahora suponiendo que quieres determinar si las EPROMs 2716 en el SDK­86 trabajara correctamente sin el estado de espera si instalas un brinco W41 para correr el 8086 con el reloj de 4.9 Mhz.

Primero se busca el acceso de tiempo de la EPOM 2716 en el apropiado manual, acordando en un manual de Intel, el 2716 tiene un máximo de dirección para acceso de tiempo de salida, tACC de 450ns. Esto significa que si el 2716 esta ya habilitado y sus buffers de salida se enciende, este sacara datos validos en sus salidas no mas de 450 ns después una dirección es aplicada para la dirección de entrada. La figura de datos del 2716 da un chip habilitado para accesar tiempos de salida, tCE de 450 ns. Esto significa que si una dirección es todavía presentada en la dirección de entrada del 2716, y los buffers de salida están ya habilitados, el 2716 sacara datos validos en sus salidas no más de 450 ns después la entrada ­CE es afirmada baja. Un tercer parámetro dado por el 2716 en el manual es una salida habilitada para tiempo de salida tOE de 120 ns máximo. Esto significa que si el sistema ya tiene una dirección en su dirección de entrada, y su entrada ­CE esta ya afirmada, datos validos aparecerán en los pine de salida cuando mucho 120 ns después el pin ­OE es afirmado bajo.

Page 42: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

42

Ahora que tienes estos tres parámetros para el 2716, el siguiente paso es revisar si cada uno de estos tiempos son suficientemente corto para el sistema para trabajar con un 8086 de 4.9 Mhz. En otras palabras ¿el 2716 saca datos validos suficientemente pronto después de este esta direccionado y habilitado para satisfacer el requerimiento del 8086? Para determinar esto se necesita que a los parámetros de tiempo del 8086 y como el 2716 es direccionado y habilitado en el SDK­86.

Para hacer esto fácil para que encuentres los importantes parámetros de estos cálculos, mencionamos en la figura 12b una versión simplificada del diagrama de tiempo en la figura 12a. Se debería tratar mentalmente el hacer esta simplificación aun cuando esta encarado con un diagrama de tiempos. Como muestra el diagrama de tiempos en la figura 12b el 8086 envía fuera M/­IO,­BHE y una dirección durante T1 del ciclo de maquina. Se puede observar en las líneas AD15­AD0 del diagrama de tiempo que el 8086 saca esta información con un tiempo llamado TCLAV después el borde cayendo del reloj a el comienzo de T1. TCLAV representa por el tiempo de reloj bajo para dirección valida. De acuerdo a la figura de datos mostrada en la figura 12c en la columna 8086 el máximo valor de este tiempo es 110 ns ahora ve mas a la derecha en las líneas AD15­ AD0. Teniendo que el dato valido debe llegar a la memoria del 8086 un tiempo TDVCL antes del decaimiento del borde de reloj en el tiempo T3. TDVCL representa el dato de tiempo debe ser valido antes de que el reloj vaya a bajo. La figura de dato da un valor de 30 ns para este parámetro.

El tiempo entre el fin del TCLAV interno (tiempo de reloj bajo para dirección baja) y el comienzo del intervalo TDVCL es el tiempo disponible para obtención de dirección de la memoria, y por el tACC del sistema de memoria. Se puede determinar este tiempo por substracción TCLAV y TDVCL del tiempo de los 3 ciclos de reloj. Con un reloj de 4.9 Mhz cada ciclo de reloj será de 204 ns, tres ciclos de reloj entonces en total 612 ns. Restando un TCLAV de 110 ns y un TDVCL de 30 ns dejan 472 ns disponibles para lograr la dirección para el 2716 y para su tACC. Para visualizar estos tiempos la figura 13a muestra esta operación en una forma de diagrama simplificado.

Se observa en la figura1 y 3 del esquema del SDK­86 deberías ver que la marca ­ BHE y la información de la dirección A0­A11 va desde el 8086 a través de lod latchs 74LS373 para dar a los 2716. La propagación retrasada de los 74Ls373 entonces tiene que ser restados de los 472 ns para determinar cuanto tiempo es actualmente disponible para el tACC del 2716. El retraso máximo de un 74LS373 es 12 ns. Como se muestra en la figura 13a restando este de 472 ns quedan 460 ns para el tACC del 2716. Ahora como se menciono en un previo párrafo, el 2716 tiene un tACC máximo de 450 ns. De estos 450 ns son menos que los 460 ns disponibles tu sabes que el tACC del 2716 es aceptable para la operación del SDK­86 con un reloj de 4.9 Mhz. Todavía sin embargo debes revisar si el valor de tCE y tOE del 2716 son aceptables.

Se observa en la figura1 del esquema del SDK­86 tu podrías ver que las entradas ­CE del 2716 son conectadas a también A0 o ­BHE. El tiempo para estas señales es el mismo que para las direcciones en la sección anterior. Como se ve en la figura 13a el tiempo disponible para tCE del 2716 será 460 ns. Desde el máximo tCE del 2716 es 450 ns, se sabe que este parámetro es también aceptable para una operación en un SDK­86 con un reloj de 4.9 Mhz.

Page 43: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

43

El parámetro final para revisar es tOE para el 2716. De acuerdo a la figura1 del esquema del SDK­86, la señal de ­OE para los 2716 son producidos por el decodificador 3625. La marcas que vienen para este decodificador son A12­A19, M/­IO, y ­RD. Observe el diagrama de tiempo del 8086 en la figura 12b para ver si puedes determinar cual de estas marcas llega al ultimo a el 3625. Se debería encontrar que direcciones y M/­IO son enviadas fuera durante T1, pero ­RD no es enviada fuera hasta T2. Como indica la flecha del decaimiento del borde de la marca ­RD, ­RD llendo abajo causa la dirección decodificada para enviar una marca ­OE para las EPROM del 2716. Desde que ­RD es enviada fuera mucho mas tarde que las direcciones, este será el factor limitante para el tiempo. ­RD llendo abajo y la EPROM regresando a datos validos debería ocurrir con el tiempo de los estados T2 y T3. Ahora de acuerdo con el diagrama de tiempo, ­RD es enviado fuera del 8086 con un tiempo TCLRL después del decaimiento del borde del reloj a el principio de T2. De la figura de datos el máximo valor para TCLRL es 165 ns. Como se comento anteriormente, el 8086 requiere que el dato valido llegue en AD0­ AD15 desde memoria un tiempo TDVCL antes del decaimiento del borde de reloj en el fin de T3. El mínimo valor de TDVCL de la figura de datos es de 30 ns. El tiempo entre el intervalo del fin de TDLRL y el comienzo de TDVCL es el tiempo disponible para la señal ­OE para producir y para la marca ­OE para regresar en la memoria. Para determinar el tiempo actual disponible para estas operaciones, primero se programa el tiempo para estados T2 y T3. De un reloj de 4.9 Mhz cada ciclo de reloj o estado será 204 ns, así los juntos son en total 408 ns. Entonces restando el TCLRL de 165 ns y el TDVCL de 30 ns como muestra el simple diagrama en la figura 13b este deja 213 ns disponibles para el decodificador retrasado y el tOE del 2716. Revisando la figura de datos del 3625 podría observarse que se tiene un máximo ­CS2 para salidas retrasadas de 30 ns. Restando este de los 213 ns disponibles para ver cuanto tiempo es dejado por el tOE del 2716. El resultado de esta resta es 183 ns. Como se indico en el párrafo anterior, el 2716 tiene un tOE máximo de 120 ns. Desde este tiempo es considerablemente menor que disponibles 183 ns, el 2716 tiene un valor aceptable tOE de operación en el SDK­86 con un reloj de 4.9 Mhz.

Revisando los tres parámetros del 2716 y encontrado que los tres son aceptables para un SDK­86 operando en un reloj de 4.9 Mhz. No necesita estados de espera para ser insertados cuando estos sistemas son accesados, así un brinco W39 en una zona D7 el la figura2 del esquema puede ser dejado fuera. Como se comento en previas secciones, instalando brincos W39 causara el número seleccionado de estados de espera para ser insertados para todas las operaciones de I/O o memoria.

Aquí esta el punto final sobre cálculos de tiempo disponible para tACC, tCE y tOE de algunos servicios en el sistema. Suponiendo que se quiere agregar otro par de EPROMs 2716 en el área prototipo del SDK­86, y se quiere habilitar las salidas se estos servicios agregados con la salida O3 del decodificador ROM 3625 en la figura1 del esquema. El tiempo para estos servicios agregados serán las mismas como para los 2716 discutidos anteriormente excepto que el dato de los servicios agregados regresa a través de los buffers del 8286 mostrados en la figura4 del esquema del SDK­86. De acuerdo a los datos del 8286, estos buffers tienen un retraso máximo de 30 ns. Estos 30 ns beben ser restados de los tiempos disponibles por tACC, tCE y tOE. Si regresas a ver nuestros cálculos para el tiempo disponible del tACC en la figura 13a, por ejemplo,

Page 44: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

44

veras que terminamos con 460 ns disponibles para tACC. Restando los 30 ns del retrazo de buffers de estos solo quedan 430 ns los cuales son considerablemente menos que el máximo tACC de 450 ns para el 2716. Esto indica el porque del retrazo de los buffers, los 2716 agregados no son suficientemente rápidos para operar en un SDK­86 con un reloj de 4.9 Mhz y sin estado de espera. Para cuidar este problema, el SDK­86 es diseñado así que cualquier acceso a memoria o servicio de I/O fuera de plantilla causara el número de selección de estados de espera para ser insertado en los ciclos de maquina. Por nuestro ejemplo, aquí, seleccionando un estado de espera con brinco W28 en figura2 dará otros 204 ns para el dato para dar de los 2716 al 8086. Este es mas que suficiente tiempo para compensar el retrazo del buffer, así los 2716 agregados trabajaran correctamente.

Page 45: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

45

Figura 12a. Formas de onda en lectura

TCLCL TCH1CH2 TCL2CL1

TCHCTV TCHCL TCLCH

TCLAV TCLD V

TCLA

TCHDX

TCLLH TLHLL TLLAX

TAVAL

TCHLL

TR1VCL

TCLR1X

TRYLCL

TCHRYX

TRYHCH

TCLAV

TAVAL TLLAX

TCLAZ

TCLAX TDVCL TCLDX

DATA IN A19­AD0

FLOAT TAZRL

TCHCTV TCLRL TRLRH

TCHCTV

TCVCTV TCVCTX

CLK 8284A

VCH

VCL

M/­IO

­BHE S7­S3

ALE

RDY ENTRADA 8284A

READY

AD19­AD0

­RD

DT/­R

­DEN

Page 46: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

46

Figura 12b. Formas de onda de lectura simplificada

VCH

VCL

M/­IO

­BHE ­BHE,A19­A18 S7­S3

ALE

VIH

VIL RDY ENTRADA 8284A

R E A D Y

TCLAV

AD15­AD0

TDVCL

FLOAT

FLOAT

AD15­AD0

­RD

DT/­R

TCLRL

­DEN

Page 47: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

47

Figura 12c. Sistema mínimo

TCLCL TCH1CH2 TCL2CL1

TCHCTV TCHCL TCLCH

TCLAV TCLD V

TCLA

TCHDX

TCLLH TLHLL TLLAX

TAVAL

TCHLL

TR1VCL

TCLR1X

TRYLCL

TCHRYX

TRYHCH

TCLAZ TDVCL TCLDX

POINTER

TCVCTX

FLOAT TAZRL

TCHCTV TCLRL TRLRH

TCHCTV

TCVCTV TCVCTX

CLK 8284A

VCH

VCL

M/­IO

­BHE S7­S3

ALE

RDY ENTRADA 8284A

­RD

DT/­R

­DEN

­BHE A19­A16

Page 48: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

48

T1 204 ns

T2 204 ns

T3 204 ns

TCLAV=110 ns TPD74S373=12 ns TDVCL=30 ns

TIEMPO DISPONIBLE PARA 2716. TIEMPO DE ACCESOS DE DIRECCION =612 ns­152 ns=460 ns

a)

T2 204 ns

T3 204 ns

TCLRL=165 ns TPD3625=30 ns

TIEMPO DISPONIBLE PARA 2716. toe=408 ns­225 ns=183 ns

TDVCL=30 ns

Figura 13. Tiempos disponibles del 8086.

Page 49: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

49

V. Pruebas

El esquema de pruebas que se aplico fue en condiciones ideales ya que el proyecto quedo en el desarrollo de un prototipo por tanto los resultados fueron los esperados, pero cabe mencionar que en condiciones reales se deberá tener otras consideraciones, como es el caso de:

*Eléctricas (Abastecimiento),

*Ambientales (Temperatura, Humedad, Altitud),

*Conexiones de entrada/salida (De respaldo, de impresión, pizarra, software de análisis, etc.)

*Instalación y Mantenimiento, ya que este equipo pretende ser usado en un medio ambiente de alberca al aire libre o techado, así como las regulaciones del país donde se va a instalar, estar a una distancia segura de la alberca, para que no se salpique.

La tarjeta controladora se instalo en una computadora, utilizando como pizarra el monitor de la misma y se le inserto un conector con botones para generar las interrupciones de las competencias.

Los resultados que se obtuvieron en el monitor se mandaron a una impresora convencional que se conecto al equipo para tener así un registro de las pruebas generadas.

Page 50: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

50

VI. Conclusiones

El Proyecto se realizo a finales 1993, por lo que no se incluyo un estudio de costos, y la tecnología utilizada podrá parecer obsoleta al tiempo de entrega de este informe, pero en su momento fue una idea generada por instructores de actividades deportivas que dieron facilidades para poder analizar los equipos rentados en competencias nacionales en otras instituciones.

Se logro desarrollar un prototipo en México de “Toque Electrónico” para competencias y entrenamiento de natación, con las características requeridas, especificadas por la Federación Internacional de Natación Amateurs, constituida principalmente por una tarjeta controladora y almacenadora de los tiempos que recopilan la interrupciones generadas por interrupciones que daban la simulación de placas o almohadillas sensibles al tacto, llevando esto al monitor de resultados con carriles, competidores y tiempos de prueba.

El proyecto se puede complementar con la integración de un software de estudio de rendimiento físico y seguimiento de entrenamiento para competencias, con uso gráficos y generadores de reportes y rutinas de entrenamiento.

Este informe pretende dar una idea de la construcción que se puede realizar con un circuito instalado en una tarjeta controladora y esta a su vez instalada en un equipo de cómputo sin ninguna característica especial ni de funcionamiento ni de entradas o salidas adicionales.

Page 51: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

51

VII. Bibliografía

Reglamento Internacional de Natación Publicado por FINA (Federation Internationale de Natation Amateur).

Natación Segunda edición Editores Mexicanos Unidos Imagen editores S.A. de C.V.

Lógica digital y diseño de computadores Segunda edición M. Morris Mano PHH Prentice Hall

FINA (Federation Internationale de Natation Amateur) www.fina.org

FEMENA (Federación Mexicana de Natación) www.femena1.com.mx

Colorado Time Systems, LLC. www.colotime.com

Page 52: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

52

VIII. Anexos

1. Reglamento FINA (Federación Internacional de Natación)

SW 1 DIRECCION DE LAS COMPETENCIAS.

SW 1.1 El Comité Directivo nombrado por la autoridad que promueve tendrá jurisdicción sobre todos los asuntos no asignados por el reglamento al Árbitro, Jueces u otros oficiales y tendrá la autoridad para posponer eventos y dar instrucciones de acuerdo con el reglamento adoptado para llevar a cabo cualquier evento.

SW 1.2 El Bureau de la FINA, nombrará para el control de las competencias de Juegos Olímpicos y Campeonatos del Mundo, el siguiente número mínimo de oficiales: · Arbitro (1) · Supervisor de la Mesa de Control (1) · Jueces de Nado (4) · Jueces de Salida (2) · Jefes de Inspectores de Vueltas (2, 1 en cada extremo de la piscina) · Inspectores de Vueltas (1 en cada extremo de cada carril) · Jefe de Anotadores (1) · Anotador (1) · Oficial Mayor (2) · Personal para cuerda de falsa salida (1) · Anunciador (1).

SW 1.2.2 Para todas las demás competencias internacionales, la autoridad que promueve deberá nombrar el mismo número de oficiales o menos, sujeto a la aprobación de la respectiva autoridad regional o internacional según corresponda.

SW 1.2.3 Donde no haya disponibilidad de un equipo automático de clasificación y cronometraje, éste debe ser reemplazado por el Jefe de Cronometriítas, tres (3) cronometristas por carril y dos (2) cronometristas adicionales.

SW 1.2.4 Cuando no se use equipo automático ni tres cronometristas por carril, deberán nombrarse Jueces de Llegadas y su respectivo Jefe.

SW 1.3 La piscina de natación y el equipo técnico para Juegos Olímpicos y Campeonatos del Mundo serán inspeccionados y aprobados debidamente antes de las competencias de natación por el delegado de la FINA en unión de un miembro del Comité Técnico de Natación.

SW 1.4 Cuando la televisión utilice equipo subacuático de video, tal equipo deberá ser operado a control remoto sin obstruir ni la visibilidad ni el paso de los nadadores y sin cambiar la configuración de la piscina ni oscurecer los señalamientos requeridos por la FINA.

Page 53: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

53

SW 2 OFICIALES.

SW 2.1 ÁRBITRO

SW 2.1.1 El árbitro tendrá control y autoridad absoluta sobre todos los oficiales, aprobando sus designaciones e instruyéndolos sobre todas las características especiales o reglamentos relacionados con las competencias. Cumplirá todas las reglas y decisiones de la FINA y decidirá todos los asuntos relacionados con la conducción del evento o competencia, respecto de aquellos que no estén previstos en las reglas.

SW 2.1.2 El árbitro puede intervenir en la competencia en cualquier momento, para asegurarse que se están cumpliendo las reglas de la FINA, y atenderá todas las protestas relacionadas con la competencia que se está desarrollando.

SW 2.1.3 El árbitro dará la decisión en caso de que los resultados de los Jueces de Llegada y los tiempos registrados no estén de acuerdo. Cuando haya equipo automático de cronometraje y clasificación disponible y en operación, este debe ser consultado como lo establece la regla SW 13.

SW 2.1.4 El árbitro se asegurará de que todos los oficiales necesarios para llevar a cabo la competencia estén en sus puestos respectivos. Podrá nombrar sustitutos para aquellos que estén ausentes, incapacitados para actuar o los que considere ineficientes. Podrá nombrar oficiales adicionales si lo considera necesario.

SW 2.1.5 Al iniciar cada evento, el árbitro indicará a los competidores, por medio de una serie de silbidos cortos, la invitación para despojarse de toda su ropa excepto el vestido de baño, seguido de un silbido largo para indicarles que deben tomar sus posiciones sobre la plataforma de salida (o entrar inmediatamente al agua para la competencia de espalda y relevo combinado). Un segundo silbido largo llamará a los competidores de espalda y relevo combinado para que se coloquen inmediatamente en la posición de salida. Cuando los competidores y los oficiales están preparados para la salida, el árbitro le indicará al juez de salida, con el brazo extendido, que los nadadores están bajo su control. Se mantendrá el brazo extendido hasta que se dé la salida.

SW 2.1.6 El Árbitro descalificará a cualquier nadador, por alguna violación de las reglas que él personalmente observe. El árbitro podrá también descalificar a cualquier nadador por cualquier violación que le comunique cualquier oficial autorizado. Todas las descalificaciones están sujetas a la decisión del árbitro.

SW 2.2 SUPERVISOR DE LA MESA DE CONTROL

SW 2.2.1 El Supervisor deberá supervisar la operación del tiempo automático incluyendo la revisión de las cámaras de respaldo de tiempos.

SW 2.2.2 El Supervisor es responsable de chequear los resultados impresos de la computadora.

Page 54: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

54

SW 2.2.3 El Supervisor es responsable de chequear los reportes impresos en los Relevos y reportar las salidas adelantadas al Árbitro.

SW 2.2.4 El Supervisor puede revisar el video usado como tiempos de respaldo para confirmar las salidas adelantadas.

SW 2.2.5 El Supervisor deberá controlar los retiros luego de las series o finales, ingresar resultados a los formatos oficiales, listar todos los nuevos recordé establecidos, y mantener el conteo de la puntuación cuando sea apropiado.

SW 2.3 JUEZ DE SALIDA

SW 2.3.1 El Juez de Salida tendrá control absoluto de los competidores a partir del momento que el árbitro los ponga bajo su mando (SW 2.1.5) hasta que la carrera haya empezado. La salida será dada de acuerdo con lo establecido en la regla SW 4.

SW 2.3.2 El juez de salida informará al árbitro sobre cualquier competidor que retarde la salida, desobedezca intencionalmente una orden o muestre mala conducta durante la salida, pero solo el árbitro puede descalificar un competidor por tal demora, desobediencia o mala conducta.

SW 2.3.3 El juez de salida tendrá autoridad para decidir si la salida es buena, sujeto solamente a la decisión del árbitro.

SW 2.3.4 Para dar la salida de una prueba, el juez tomará su posición a un lado de la piscina, a una distancia aproximada de cinco metros del extremo de las plataformas de salida, donde los cronometristas puedan ver y/u oír la señal y los competidores puedan oír.

SW 2.4 OFICIAL MAYOR

SW 2.4.1 El oficial mayor reunirá a los competidores antes de cada prueba.

SW 2.4.2 Informará al arbitro cualquier violación que observe relacionado con anuncios (GR 6), o si el nadador no está presente cuando es llamado.

SW 2.5 JEFE DE INSPECTORES DE VUELTAS

SW 2.5.1 El Jefe de Inspectores de Vueltas se asegurará de que los inspectores de vueltas cumplan con sus obligaciones durante la competencia.

SW 2.5.2 El Jefe de Inspectores de Vueltas recibirá los informes de los inspectores de vueltas cuando ocurra alguna falta y los presentará inmediatamente al árbitro.

SW 2.6 INSPECTORES DE VUELTAS

Page 55: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

55

SW 2.6.1 Se asignará un Inspector de Vueltas en cada carril y en cada extremo de la piscina.

SW 2.6.2 Cada inspector de vueltas se asegurará que los nadadores cumplan con las reglas relativas a la vuelta, comenzando desde el inicio de la última brazada antes del toque y terminando con la culminación de la primera brazada después de la vuelta. Los Inspectores de Vuelta en la partida, se aseguraran que los nadadores cumplan con las reglas pertinentes desde la partida hasta la culminación de la primera brazada. Los inspectores de vueltas del extremo de la meta se asegurarán, así mismo de que los competidores terminen su prueba de acuerdo a las reglas vigentes.

SW 2.6.3 En las pruebas individuales de 800 y 1500 metros, cada inspector de vuelta del lado opuesto a la salida de la piscina, registrará el número de tramos completados por el competidor de su carril, manteniéndolo informado de cuantos tramos le faltan, mostrándole, “tarjeta de vueltas”. Se podrá usar equipo semiautomático, incluyendo una pantalla bajo el agua.

SW 2.6.4 Cada inspector de vuelta del lado de la salida, dará una señal de aviso, cuando al nadador de su respectivo carril le falten dos tramos más cinco (5) metros para terminar su prueba en eventos individuales de 800 y 1500 metros. La señal puede ser repetida después del viraje hasta que el nadador alcance la marca de los cinco (5) metros en los andariveles. Dicha señal puede ser dada con un silbato o una campana.

SW 2.6.5 El inspector de vuelta en el lado de salida, determinará en las pruebas de relevo, sí el competidor que va a salir está todavía en contacto con la plataforma de salida, cuando el competidor precedente toca la pared de llegada. Cuando esté disponible el equipo automático con el accesorio para juzgamiento de salidas de para pruebas de relevo, éste será usado de acuerdo con la regla SW13.1.

SW 2.6.6 Los Inspectores de Vueltas informarán sobre cualquier violación, en formularios firmados, detallando la prueba, el número de carril y la falta cometida, al Jefe de Inspectores de Vueltas, quien inmediatamente entregará el informe al Arbitro.

SW 2.7 JUECES DE NADO

SW 2.7.1 Los Jueces de Nado se colocarán a cada lado de la piscina.

SW 2.7.2 Cada juez de nado se asegurará de que las reglas relativas al estilo de natación de la prueba correspondiente están siendo observadas y vigilará las vueltas y las llegadas para ayudar a los inspectores de vueltas.

SW 2.7.3 Los jueces de nado informarán al Árbitro sobre cualquier violación, en formularios firmados, detallando la prueba, el número del carril y la falta cometida.

SW 2.8 JEFE DE CRONOMETRISTAS

Page 56: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

56

SW 2.8.1 El Jefe de Cronometristas asignará la posición en que se encontrarán todos los cronometristas y los carriles de los cuales ellos son responsables, habrá tres (3) cronometristas para cada carril. Si no está en uso el equipo automático de cronometraje habrá dos (2) cronometristas adicionales, cualesquiera de ellos podrá ser asignado a reemplazar al cronometriíta cuyo cronómetro no se puso en marcha o si se detiene durante la prueba, o si por cualquier circunstancia no está en capacidad de registrar el tiempo. Cuando se usan tres cronómetros digitales por carril, el tiempo y el lugar se determinarán en base al tiempo.

SW 2.8.2 El Jefe de Cronometristas recogerá de los cronometristas en cada carril la tarjeta mostrando los tiempos registrados, y de ser necesario, inspeccionará los cronómetros.

SW 2.8.3 El Jefe de Cronometristas registrará el tiempo oficial en la tarjeta de cada carril.

SW 2.9 CRONOMETRISTAS

SW 2.9.1 Cada Cronometriíta tomará el tiempo de los competidores del carril asignado a él, de acuerdo con SW 11.3. Los relojes usados serán certificados como correctos, a satisfacción del Comité de Manejo de la competencia.

SW 2.9.2 Cada cronometriíta deberá poner en marcha su cronómetro a la señal de la salida y lo parará cuando el competidor de su carril haya completado su carrera. Los cronometristas pueden recibir instrucciones del Jefe de Cronometristas para registrar tiempos en distancias intermedias, durante carreras de más de 100 metros.

SW 2.9.3 Inmediatamente después de la carrera, los cronometristas de cada carril registrarán los tiempos de sus relojes en la tarjeta, la entregarán a su Jefe de Cronometriítas, y si se les solicita, presentarán sus relojes para revisión. No borrarán sus relojes hasta que reciban la señal de “borrar cronómetros” del Jefe de Cronometristas o del Arbitro.

SW 2.9.4 A menos de que un sistema de video sea utilizado, podrá ser necesario usar el equipo completo de cronometriítas, aún cuando un equipo automático para competencias esté en operación.

SW 2.10 JEFE DE JUECES DE LLEGADA

SW 2.10.1 El Jefe de Jueces de Llegada asignará a cada juez de llegada su posición y el lugar que controlará.

SW 2.10.2 Después de la carrera, el Jefe de Jueces de Llegada, recogerá de cada juez de llegada la tarjeta firmada con el resultado y establecerá los resultados y lugares, enviándolos directamente al Árbitro.

Page 57: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

57

SW 2.10.3 Cuando se usa un equipo automático de competencia para determinar el final de una carrera, el Jefe de Jueces de Llegada deberá informar el orden de llegada registrado por el equipo, después de cada competencia.

SW 2.11 JUECES DE LLEGADA

SW 2.11.1 Los Jueces de Llegada estarán colocados en plataformas elevadas, en la misma línea de llegada para tener, en todo momento una visibilidad clara de la carrera y de la línea de llegada, a menos de que ellos operen un equipo automático en los carriles que les han asignado, obturando un botón al terminar la carrera.

SW 2.11.2 Después de cada prueba, los jueces de llegada decidirán e informarán el lugar de los competidores de acuerdo a la asignación que les haya sido dada. Los jueces de llegada, diferentes a los operadores de botones del equipo automático, no actuarán como cronometristas en la misma prueba.

SW 2.12 MESA DE CONTROL (excepto para Juegos Olímpicos y Campeonatos del Mundo)

SW 2.12.1 El Jefe de Anotadores es el responsable de revisar los resultados emitidos por la impresora del computador o de los informes de tiempos y lugares recibidos del Árbitro, será testigo de la firma de los resultados por el Árbitro.

SW 2.12.2 Los anotadores controlarán los retiros después de las eliminatorias o en las finales, anotarán los resultados en los formularios oficiales, registrarán los nuevos récords establecidos y llevarán el puntaje cuando así se requiera.

SW 2.13 TOMA DE DECISION DE LOS OFICIALES

SW 2.13.1 Los oficiales tomarán sus decisiones autónoma e independientemente de cualquier otra persona, a menos de que se prevea, lo contrario en las reglas de natación.

SW 3 COMPOSICION DE SERIES PARA ELIMINATORIAS, SEMIFINALES Y FINALES. Las posiciones de salida en todas las pruebas de Juegos Olímpicos, Campeonatos del Mundo, Juegos Regionales y otras competencias de la FINA, serán adjudicadas como sigue:

SW 3.1 SERIES ELIMINATORIAS

SW 3.1.1 Todos los nadadores serán inscritos, con su mejor tiempo de competencia en los últimos doce meses, previos a la fecha limite de la competencia, en el formularlo de inscripción los cuales serán ordenados por tiempos por el Comité de Manejo. Los nadadores que no se inscriban con tiempos oficiales registrados, serán considerados como los más lentos y se colocarán al final de la lista sin tiempo. La colocación de los nadadores que tengan idéntico tiempo o de nadadores sin tiempo, se determinará por sorteo. Los nadadores serán colocados en los carriles de acuerdo a los procedimientos

Page 58: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

58

que se expresan, más adelante, en SW 3.1.2. Los nadadores serán colocados en las series eliminatorias, de acuerdo a los tiempos de inscripción de la siguiente manera:

SW 3.1.1.1 En caso de que solo exista una serie eliminatoria, ésta será sembrada como final y se nadará, solamente, durante la sesión final.

SW 3.1.1.2 Si hay dos series eliminatorias, el nadador más rápido será colocado en la segunda serie, el segundo más rápido se colocará en la primera serie, el siguiente más rápido se colocará en la segunda serie, el siguiente en la primera serie, etc.

SW 3.1.1.3 Si hay tres series eliminatorias, el nadador más rápido será colocado en la tercera serie, el segundo más rápido se colocará en la segunda, el siguiente más rápido en la primera. El cuarto nadador más rápido será colocado en la tercera serie, el quinto en la segunda serie, y el sexto más rápido en la primera serie, el séptimo más rápido en la tercera serie, etc.

SW 3.1.1.4 Si hay cuatro series o más, las últimas tres series eliminatorias de la prueba, serán sembradas de acuerdo a lo antes establecido en SW 3.1.1.3. La serie anterior a las últimas tres, estará compuesta por los nadadores, que siguen en tiempo a los sembrados en las tres últimas series. La serie anterior a las últimas cuatro estará compuesta por los nadadores que siguen en tiempo a los sembrados en las cuatro últimas series, etc. Los carriles serán asignados, de acuerdo a los tiempos de inscripción, en orden descendente, en cada serie, de acuerdo con lo que se expresa más adelante en SW 3.1.2.

SW 3.1.1.5 EXCEPCION: Cuando haya dos o más series eliminatorias en una prueba, deberá haber un mínimo de tres nadadores sembrados en cualquiera de ellas, no obstante que los retiros subsecuentes puedan reducir el número de nadadores en una serie a menos de tres.

SW 3.1.2 Excepto para pruebas de 50 metros, en piscinas de 50 metros. La distribución de carriles se efectuará (el carril Nº 1 estará en el lado derecho de la piscina, cu ando se le mira desde el extremo de partida) situando al nadador o equipo más rápido en el carril central, si hay un número impar de carriles, o en el carril tres (3) o cuatro (4) si la piscina tiene seis (6) u ocho (8) carriles respectivamente. El nadador con el siguiente tiempo más rápido será situado a su izquierda, alternando los siguientes de derecha a izquierda de acuerdo con los tiempos de inscripción. Los nadadores con tiempos iguales serán colocados en los carriles por sorteo, de acuerdo a la norma ya expresada.

SW 3.1.3 Cuando se disputen pruebas de 50 metros, en piscinas de 50 metros, estás se pueden nadar desde el lado regular de salidas hacia el lado de vueltas o en sentido contrario, a discreción del Comité de Manejo y dependiendo sobre todo de factores como la existencia de un equipo automático adecuado, la posición del juez de salida, seguridad, etc. El Comité de Manejo anunciará su decisión a los competidores con suficiente anticipación al inicio de la competencia. Sin importar el sentido en que se nade la prueba, los nadadores serán sembrados en los mismos carriles, en los cuales estarían sembrados si la prueba comenzara y terminara en el lado de salidas.

Page 59: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

59

SW 3.2 SEMIFINALES Y FINALES

SW 3.2.1 En las series semifinales se hará el sembrado como se indica en SW 3.1.1.2.

SW 3.2.2 Cuando no haya necesidad de series eliminatorias, los carriles serán asignados de acuerdo con SW 3.1.2. Cuando se han llevado a cabo las eliminatorias y semifinales, los carriles serán asignados basados en SW 3.1.2, pero teniendo en cuenta los tiempos establecidos en tales series.

SW 3.2.3 En caso que competidores, de la misma o diferentes series, tengan tiempos iguales registrados a la 1/100 de segundo, para el octavo o para el decimosexto lugar, se efectuará una nueva competencia para determinar el nadador que avanzará a la respectiva final. Este desempate se llevará a cabo si se vuelven a registrar tiempos iguales. SW 3.2.4 Cuando uno o más competidores se retiran de una prueba semifinal o final, se llamará a los sustitutos en el orden de calificación en las eliminatorias o semi­finales. La prueba o las pruebas deben ser reordenadas y se deben publicar hojas suplementarias de información, como se establece en SW3.1.2

SW 3.3 En otras competencias, se puede usar el sistema de sorteo para asignar los carriles.

SW 4 LA SALIDA.

SW 4.1 La salida en las pruebas de estilos Libre, Pecho, Mariposa y Combinado Individual, será con un clavado. Al dar un silbido largo el Arbitro (SW 2.1.5) los nadadores subirán a la plataforma de salida, permaneciendo ahí. A la orden del juez de salidas, “a sus marcas”, tomarán inmediatamente su posición de salida, con un pie, cuando menos, en la parte delantera de la plataforma o banco de salida citado. La posición de las manos es irrelevante. Cuando todos los competidores estén quietos, el juez de salida dará la señal de salida (tiro, corneta, silbato o voz de mando).

SW 4.2 La salida en las pruebas de espalda y relevo combinado se hará desde el agua. A un primer silbido largo del Arbitro (SW 2.1.5) los nadadores entrarán, inmediatamente, al agua. A un segundo silbido largo del Arbitro, los nadadores deberán volver sin excesiva demora a la posición de salida (SW6.1). Cuando todos los competidores hayan asumido su posición de salida, el juez de salida dará la voz de mando, “a sus marcas” y cuando todos estén quietos, dará la señal de salida.

SW 4.3 En Juegos Olímpicos, Campeonatos del Mundo y otros eventos de FINA, la voz de mando “a sus marcas”, será hecha en idioma inglés y la salida será hecha a través de altoparlantes múltiples instalados uno en cada plataforma de salida.

SW 4.4 Cualquier nadador que salga antes de que la señal de salida ocurra deberá ser descalificado. Si la señal de salida suena antes de que la descalificación haya sido hecha, la carrera continuará y el nadador o nadadores serán descalificados al completarse la

Page 60: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

60

carrera. Si la descalificación se hace antes de que se haya dado la señal de salida, no se dará la señal, los nadadores restantes se volverán a llamar y se volverá a dar la salida.

SW 5 NADO ESTILO LIBRE.

SW 5.1 Estilo libre significa que en un evento así designado, el competidor puede nadar cualquier estilo, excepto en las pruebas de combinado individual o relevo combinado, en las cuales estilo libre significa cualquier estilo distinto del de espalda, pecho o mariposa.

SW 5.2 Cualquier parte del cuerpo del nadador deberá tocar la pared al completar éste cada tramo de la prueba, incluyendo la meta final.

SW 5.3 Alguna parte del nadador deberá quebrar la superficie del agua durante el desarrollo de la prueba, a excepción de que será permitido que el nadador esté totalmente sumergido durante el viraje y por una distancia no mayor de 15 metros, después de la salida y cada vuelta, distancia máxima en que la cabeza deberá haber quebrado la superficie.

SW 6 NADO ESTILO ESPALDA.

SW 6.1 Antes de la señal de salida, los competidores se alinearán en el agua de cara a la salida y con ambas manos colocadas en las agarraderas de la salida. Pararse en o sobre el rebosadero o encorvar los dedos sobre el borde del mismo, está prohibido.

SW 6.2 A la señal de salida y después de las vueltas, el nadador se empujará en tal forma que el nado de la prueba lo ejecute sobre su espalda, excepto cuando ejecute una vuelta como se establece en SW 6.4. La posición normal sobre la espalda puede incluir un movimiento ondulante del cuerpo en esa posición, pero no incluyendo 90 grados del horizontal, la posición de la cabeza es irrelevante en cualquier fase de la prueba.

SW 6.3 Alguna parte del nadador deberá quebrar la superficie del agua durante el desarrollo de la prueba. Se permite al nadador estar totalmente sumergido durante la vuelta, al final y por una distancia no mayor a los (15) metros después de la salida y después de cada vuelta. En ese punto la cabeza del nadador deberá haber quebrado la superficie.

SW 6.4 Cuando sé esta ejecutando la vuelta el nadador deberá tocar la pared con cualquier parte de su cuerpo. Durante la vuelta, los hombros pueden girar sobre la vertical hacia el pecho, después de lo cual puede dar una brazada sencilla continua o una brazada doble continua simultánea, para iniciar la vuelta. El nadador deberá retornar a la posición sobre la espalda inmediatamente que abandone la pared.

SW 6.5 Al llegar a la meta final, el nadador debe tocar la pared en la posición mantenida de espalda.

Page 61: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

61

SW 7 NADO ESTILO PECHO.

SW 7.1 Desde el principio de la primera brazada, después de la salida y después de cada vuelta, el cuerpo se mantendrá sobre el pecho. No será permitido el girar hacia la espalda en ningún momento. Durante toda la carrera el ciclo de nado deberá ser de una brazada y una patada en ese orden.

SW 7.2 En todo momento, todos los movimientos de los brazos serán simultáneos y en el mismo plano horizontal, sin movimientos alternativos.

SW 7.3 Las manos deberán ser impulsadas juntas, hacia adelante, frente al pecho, abajo o sobre el agua. Los codos deberán permanecer por debajo del agua excepto en la brazada final antes del viraje, durante el viraje y en la última brazada de la llegada. Las manos deberán ser regresadas hacia atrás sobre o por debajo de la superficie del agua. Las manos no se llevarán más atrás de la línea de la cadera, excepto durante la primera brazada después de la salida y cada viraje.

SW 7.4 Durante cada ciclo completo, alguna parte de la cabeza del nadador deberá romper la superficie del agua. Después de la salida y después de cada vuelta, el nadador podrá dar una brazada completamente atrás hacia las piernas. La cabeza deberá quebrar la superficie del agua antes de que las manos llevadas hacia atrás, lleguen a la parte más lejana en la segunda brazada. Una única patada de delfín seguida por una patada de pecho es permitida mientras sé esta totalmente sumergido. Seguidamente, todos los movimientos de las piernas serán simultáneos y en el mismo plano horizontal sin movimientos alternativos.

SW 7.5 Los pies deberán ir hacia afuera en el momento propulsivo de la patada. No se permiten movimientos en forma de tijera o de “delfín” excepto como en SW 7.4. Romper la superficie del agua con los pies está permitido, pero sin que siga un movimiento hacia abajo en forma de patada de delfín.

SW 7.6 Al ejecutar las vueltas y al terminar la carrera, el toque será hecho con ambas manos simultáneamente, ya sea sobre, bajo o a nivel del agua. La cabeza podrá estar sumergida después de la última brazada antes del toque siempre y cuando ésta quiebre la superficie del agua en algún momento durante el último ciclo, sea este completo o incompleto, antes del toque.

SW 8 NADO ESTILO MARIPOSA.

SW 8.1 Desde el comienzo de la primera brazada después de la partida y después de cada vuelta, el cuerpo deberá mantenerse sobre el pecho. Patear debajo del agua estando de lado es permitido. No está permitido girar hacia la espalda en ningún momento.

SW 8.2 Ambos brazos deberán ser enviados juntos hacia adelante, por fuera del agua y traídos hacia atrás simultáneamente, durante toda la carrera, sujeto a la SW 8.5

Page 62: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

62

SW 8.3 Todos los movimientos de las piernas hacia arriba y hacia abajo serán simultáneos. La posición de Las piernas y los pies no necesitan estar al mismo nivel, pero no se alternarán en relación uno con el otro. Un movimiento de patada de Pecho no está permitido.

SW 8.4 En cada vuelta y al terminar la carrera, el toque será hecho con ambas manos simultáneamente, ya sea sobre, bajo o a nivel de la superficie del agua.

SW 8.5 A la salida y en las vueltas, el nadador podrá dar una o más patadas, pero sólo una brazada, debajo del agua, que lo haga salir a la superficie. Estará permitido que el nadador esté completamente sumergido por una distancia no mayor de quince (15) metros después de la salida y en cada vuelta, distancia máxima en que la cabeza del nadador deberá haber quebrado la superficie. El nadador deberá mantenerse en la superficie del agua hasta la siguiente vuelta o a la llegada.

SW 9 NADO COMBINADO.

SW 9.1 En los eventos de combinado individual, el nadador cubrirá los cuatro estilos de natación en el siguiente orden: Mariposa, Espalda, Pecho y Libre.

SW 9.2 En los eventos de relevo combinado, los nadadores cubrirán los cuatro estilos de natación en el siguiente orden: Espalda, Pecho, Mariposa y Libre.

SW 9.3 Cada sección deberá ser terminada de acuerdo con la regla aplicable al estilo concerniente.

SW 10 LA CARRERA.

SW 10.1 Cuando a un competidor de natación le toca nadar solo en el grupo clasificatorio correspondiente, deberá cubrir íntegramente la distancia total del evento, para efectos de validez clasificatoria.

SW 10.2 Un nadador debe terminar la carrera en el mismo carril por el cual la inició.

SW 10.3 En todas las pruebas, un nadador deberá hacer contacto físico con el extremo de la piscina, en las vueltas, las cuales deben ser hechas desde la pared, y no es permitido caminar o dar un paso sobre el fondo de la piscina.

SW 10.4 Ponerse de pie sobre el fondo durante las pruebas de estilo libre o durante la porción de libre en los eventos combinados, no es motivo para descalificar un nadador, pero éste no deberá caminar.

SW 10.5 Traccionar de las líneas separadoras de carril (rompeolas) no está permitido.

SW 10.6 Obstruir otro competidor, nadando a través de otro carril o interferir de otra manera, descalificará al nadador culpable, si la falta ha sido intencional. El Arbitro hará

Page 63: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

63

un informe del asunto al Miembro promotor de la carrera y otro al Miembro al cual pertenece el nadador infractor.

SW 10.7 A ningún competidor le será permitido usar o ir equipado con cualquier dispositivo que pueda aumentar su velocidad, su flotación o su resistencia durante una competencia (como guantes palmípedos, aletas, etc.). Se pueden usar gafas.

SW 10.8 Cualquier competidor no inscrito en un evento y que entre en el agua, cuando el evento se está realizando, antes de que todos los competidores de esa carrera hayan terminado su participación, será descalificado del evento siguiente en que estuviere inscrito en dicha competencia.

SW 10.9 Habrá cuatro nadadores en cada equipo de relevos.

SW 10.10 En eventos de relevos, el equipo de un competidor cuyos pies dejen de tocar la plataforma de salida antes de que el compañero de equipo que le precede toque la pared, será descalificado.

SW 10.11 Cualquier equipo de relevos será descalificado de una carrera, si un miembro del equipo, diferente del que le corresponda nadar el tramo respectivo, entra al agua durante el desarrollo del evento, antes de que todos los competidores de todos los equipos hayan finalizado su competencia.

SW 10.12 Antes de la carrera, los miembros del equipo de relevos deberán estar inscritos en su orden de competencia. Cualquier miembro de un equipo de relevos sólo puede participar en la competencia una sola vez. La composición del equipo de relevos puede ser cambiada entre las eliminatorias y finales, teniendo en cuenta que siempre deben estar integrados por los nadadores debidamente inscritos por el Miembro participante, para el evento. El dejar de nadar en el orden en que fue inscrito producirá descalificación. Sustituciones podrán hacerse solo en caso de una emergencia médica, debidamente documentada.

SW 10.13 Cualquier nadador que termine su carrera, o su tramo en un evento de relevos, debe abandonar la piscina lo más pronto posible, sin obstruir a ningún otro competidor, que no haya terminado aún su carrera, de otra manera, el nadador infractor, o su equipo de relevos, será descalificado.

SW 10.14 Si por una infracción se pone en peligro la oportunidad de triunfar de un competidor, el árbitro tendrá la autoridad para permitir que éste compita en la siguiente serie eliminatoria; si la infracción ocurre en una final o en la última serie eliminatoria puede disponer que se repita la misma.

SW 10.15 No estará permitido marcar el paso, ni podrá usarse ningún aparato, ni ningún plan concebido que persiga tal efecto.

SW 11 REGISTRO DE TIEMPO.

Page 64: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

64

SW 11.1 El manejo u operación de un aparato de clasificación y cronometraje automático será bajo la supervisión de oficiales designados al efecto. Los tiempos registrados por el equipo automático se usarán para determinar: al ganador, los demás puestos y los tiempos de cada carril. Los resultados y los tiempos así obtenidos tendrán preferencia sobre las decisiones de los jueces y cronometristas humanos. En caso de avería o falla del equipo automático o cuando claramente se indique que ha habido una falla en él o que el nadador no ha producido la activación suficiente para el funcionamiento del equipo, los registros de los cronometristas, serán los oficiales (Ver SW13.3).

SW 11.2 Cuando se use equipo automático, los resultados serán registrados al 1/100 de segundo. Cuando haya tiempos disponibles a la 1/1000 de segundo, el tercer dígito no será registrado ni usado para determinar tiempos o lugares. En caso de tiempos iguales, todos los competidores que hayan registrado el mismo tiempo a la 1/100 de segundo, tendrán la misma colocación. En el tablero electrónico sólo se podrán mostrar tiempos hasta la 1/100 de segundo.

SW 11.3 Todo cronometraje en natación que sea operado por un oficial, será considerado como si se tratara de un cronómetro. El cronometraje manual deberá ser tomado por tres cronometristas nombrados o reconocidos por la Federación Nacional correspondiente. Todos los cronómetros deberán ser certificados como exactos a satisfacción del Comité de Manejo. El tiempo manual será registrado al 1/100 de segundo. Cuando no se use equipo automático, los tiempos manuales oficiales serán determinados como se indica a continuación:

SW 11.3.1 Si dos de los tres cronómetros registran el mismo tiempo, en desacuerdo del tercero, los dos tiempos iguales serán el tiempo oficial.

SW 11.3.2 Si los tiempos de los tres cronómetros son diferentes, el tiempo del cronómetro intermedio, será el tiempo oficial.

SW 11.3.3 Si dos de los tres relojes están funcionando, el promedio del tiempo de los mismos será el tiempo oficial. SW 11.4 Si un competidor fuere descalificado durante o después de un evento, esta descalificación deberá ser registrada en los resultados oficiales, pero sin registrar o anunciar tiempo o lugar.

SW 11.5 En el caso de descalificación de relevos, los tiempos realizados en los tramos nadados antes de la descalificación, deberán ser registrados en los resultados oficiales.

SW 11.6 Todos los tramos de 50 y 100 metros que se naden en los relevos, serán registrados y publicados en los resultados oficiales.

SW 12 RECORDS MUNDIALES.

SW 12.1 Para efectos de récords mundiales en piscina de 50 metros, serán reconocidas las siguientes distancias y estilos para ambos sexos.

Page 65: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

65

Estilo Libre 50, 100, 200, 400,800 y 1500 metros. Estilo Espalda 50, 100 y 200 metros. Estilo Pecho 50, 100 y 200 metros Estilo Mariposa 50, 100 y 200 metros. Combinado Individual 200 y 400 metros. Relevo Libre 4x100 y 4x200 metros. Relevo Combinado 4x100 metros.

SW 12.2 Para efectos de récords mundiales en piscina de 25 metros, serán reconocidas las siguientes distancias y estilos para ambos sexos: Estilo Libre 50, 100, 200, 400,800 y 1500 metros. Estilo Espalda 50,100 y 200 metros. Estilo Pecho 50,100 y 200 metros. Estilo Mariposa 50,100 y 200 metros. Combinado Individual 100,200 y 400 metros. Relevo Libre 4x100 y 4x200 metros. Relevo Combinado 4x100 metros.

SW 12.3 Los miembros de un equipo de relevos deben ser de la misma nacionalidad.

SW 12.4 Todos los récords deberán ser hechos en competencias formales o en intentos individuales nadando contra el tiempo, celebrados en público y anunciados públicamente por medio de avisos hechos, por lo menos con tres (3) días de anticipación al día del intento. En el caso de un intento individual nadando contra el tiempo sancionado por el Miembro, como una toma de tiempo durante una competencia, el anuncio de por lo menos tres (3) días de anticipación antes de que el intento se haga, no será necesario.

SW 12.5 SW 12.5.1 La longitud de cada carril del recorrido debe ser certificada por un agrimensor, u otro oficial calificado, nombrado o reconocido por el Miembro del país en cual se halle situada la piscina.

SW 12.5.2 Cuando una pared movible es usada, la medida de cada carril deberá ser confirmada al concluir la sesión durante la cual el tiempo haya sido logrado.

SW 12.6 Los récords del mundo se aceptarán únicamente, cuando los tiempos hayan sido registrados con equipos automáticos de cronometraje y clasificación, o equipos semi­automáticos, por falla de aquellos.

SW 12.7 Los tiempos iguales a la 1/100 de segundo, serán reconocidos como récords iguales y los nadadores que registren esos tiempos iguales, serán considerados ambos como “Poseedores del Récord”. El tiempo del ganador de una carrera es el único que puede ser sometido como récord del mundo. En el caso de un empate en una carrera donde se impone un récord, los competidores empatados serán declarados todos ganadores.

Page 66: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

66

SW 12.8 El primer nadador de un equipo de relevos puede solicitar un récord mundial. El puede establecer un nuevo récord en la distancia que ha recorrido, de acuerdo a lo establecido en esta subsección, y su desempeño no será anulado por cualquier descalificación posterior de su equipo de relevos por faltas cometidas después de completar su recorrido.

SW 12.9 Un nadador, en un evento individual, puede solicitar un récord mundial para una distancia intermedia, si él o su entrenador o Jefe, le solicitan específicamente al Arbitro que su actuación, sea cronometrada especialmente, o que el tiempo para la distancia intermedia sea registrado por el equipo automático de clasificación y cronometraje aprobado. El nadador debe completar la distancia programada del evento para poder solicitar la aprobación del récord realizado en la distancia intermedia.

SW 12.10 Las solicitudes para homologación de Récords Mundiales deben ser hechas en los formularios oficiales de la FINA (ver página 15), por la autoridad responsable del Comité de Manejo y organizador de la competencia y firmado por el representante autorizado del Miembro del País del nadador, siempre y cuando se hayan cumplido los requisitos, certificando que todas las reglamentaciones han sido observadas, incluyendo el resultado negativo del Control de Doping (DC 5.3.2). La solicitud deberá ser enviada al Honorario Secretario de FINA dentro de los catorce (14) días después de su ejecución.

SW 12.11 La solicitud de homologación de un récord mundial debe ser elevada provisionalmente por telegrama o telefax al Honorario Secretario de la FINA dentro de los siete días (7) siguientes a la actuación.

SW 12.12 El Miembro del país del nadador deberá informar de su actuación, por carta al Honorario Secretario de la FINA para información y acción, si es necesario, para asegurarse de que la solicitud oficial ha sido debidamente sometida por la autoridad correspondiente.

SW 12.13 Al recibo de la solicitud oficial y una vez comprobada satisfactoriamente la información contenida en la solicitud, el Honorario Secretario de la FINA aprobará el nuevo récord mundial, se asegurará que la información sea publicada y que los certificados sean enviados a quienes se les han aprobado las solicitudes.

SW 12.14 Todos los récords hechos durante los Juegos Olímpicos, Campeonatos Mundiales de Natación y Copas del Mundo quedarán automáticamente aprobados.

SW 12.15 Si el procedimiento establecido en SW12.10 no ha sido seguido, el Miembro del país de un nadador puede solicitar la aprobación del Récord Mundial, a falta de aquello. Después de la investigación respectiva, el Honorario Secretario de la FINA está autorizado para aceptar tal récord, si se encuentra que la solicitud es correcta.

SW 12.16 Si la solicitud de récord mundial es aceptada por la FINA, un diploma, firmado por el Presidente y el Honorario Secretario de la FINA será enviado por el Honorario Secretario al Miembro del país del respectivo nadador para que ésta se lo haga llegar a

Page 67: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

67

él en reconocimiento de su esfuerzo. Un quinto diploma de récord mundial les será enviado a todos los Miembros cuyos equipos de relevos establezcan un récord mundial. Este certificado será propiedad del Miembro.

SW 13 PROCEDIMIENTO AUTOMATICO PARA COMPETENCIA.

SW 13.1 Cuando se use equipo de cronometraje automático (ver FR4) en cualquier competencia, los lugares y los tiempos así registrados y los cambios de relevos juzgados con tal equipo, tendrán precedencia sobre los cronometristas.

SW 13.2 Cuando el equipo automático falle en registrar el lugar y/o tiempo de uno o más competidores en una carrera dada:

SW 13.2.1 Registre los tiempos y lugares disponibles proporcionados por el equipo automático.

SW 13.2.2 Registre todos los tiempos y lugares humanos.

SW 13.2.3 El lugar oficial se determinará como sigue:

SW 13.2.3.1 El nadador con tiempo y lugar registrado por el equipo automático retendrá su orden relativo comparado con los otros nadadores que tengan tiempo y lugar suministrado por el equipo automático, dentro de la carrera.

SW 13.2.3.2 A un competidor que el equipo automático no le haya adjudicado lugar pero si tiempo, se le establecerá su orden relativo comparando su tiempo del equipo automático con los tiempos del equipo automático de los otros competidores.

SW 13.2.3.3 A un competidor que el equipo automático no le suministre ni lugar ni tiempo, se le establecerá su orden relativo, de acuerdo al tiempo registrado por el equipo semiautomático o por los relojes digitales.

SW 13.3 El tiempo oficial se determinará como sigue:

SW 13.3.1 El tiempo oficial para todos los competidores que tengan el tiempo del equipo automático, será ese mismo.

SW 13.3.2 El tiempo oficial de todos los competidores que no tengan tiempo del equipo automático, será el tiempo humano de los tres (3) cronómetros digitales o del equipo semi­automático.

SW 13.4 Para determinar el orden relativo de clasificación en las varias series de un evento, se procederá así:

SW 13.4.1 El orden relativo de todos los competidores se establecerá comparando sus tiempos oficiales,

Page 68: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

68

SW 13.4.2 Si un competidor tiene un tiempo oficial igual al tiempo o tiempos oficiales de uno o más competidores todos ellos serán colocados empatados en el orden relativo de clasificación de dicho evento.

REGLAS PARA GRUPOS DE EDADES. SW AG 1 Las Federaciones pueden adoptar sus propias reglas sobre grupos de edades, usando las reglas técnicas de la FINA.

Page 69: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

69

2. Arquitectura de los procesadores 8088 y 8086

El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como en sus conexiones externas, mientras que el 8088 es un procesador de 8 bits que internamente es casi idéntico al 8086. La única diferencia entre ambos es el tamaño del bus de datos externo. Intel trata esta igualdad interna y desigualdad externa dividiendo cada procesador 8086 y 8088 en dos sub­procesadores. O sea, cada uno consta de una unidad de ejecución (EU: Execution Unit) y una unidad interfaz del bus (BIU: Bus Interface Unit). La unidad de ejecución es la encargada de realizar todas las operaciones mientras que la unidad de interfaz del bus es la encargada de acceder a datos e instrucciones del mundo exterior. Las unidades de ejecución son idénticas en ambos microprocesadores, pero las unidades de interfaz del bus son diferentes en varias cuestiones, como se desprende del siguiente diagrama en bloques:

Page 70: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

70

La ventaja de esta división fue el ahorro de esfuerzo necesario para producir el 8088. Sólo una mitad del 8086 (el BIU) tuvo que rediseñarse para producir el 8088. La explicación del diagrama en bloques es la siguiente:

Registros de uso general del 8086/8088:

Tienen 16 bits cada uno y son ocho: AX = Registro acumulador, dividido en AH y AL (8 bits cada uno). Usándolo se produce (en general) una instrucción que ocupa un byte menos que si se utilizaran otros registros de uso general. Su parte más baja, AL, también tiene esta propiedad. El último registro mencionado es el equivalente al acumulador de los procesadores anteriores (8080 y 8085). Además hay instrucciones como DAA; DAS; AAA; AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT que trabajan con AX o con uno de sus dos bytes (AH o AL). También se utiliza este registro (junto con DX a veces) en multiplicaciones y divisiones.

BX = Registro base, dividido en BH y BL. Es el registro base de propósito similar (se usa para direccionamiento indirecto) y es una versión más potente del par de registros HL de los procesadores anteriores.

CX = Registro contador, dividido en CH y CL. Se utiliza como contador en bucles (instrucción LOOP), en operaciones con cadenas (usando el prefijo REP) y en desplazamientos y rotaciones (usando el registro CL en los dos últimos casos).

DX = Registro de datos, dividido en DH y DL. Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la instrucción CWD y en IN y OUT para direccionamiento indirecto de puertos (el registro DX indica el número de puerto de entrada / salida).

SP = Puntero de pila (no se puede subdividir). Aunque es un registro de uso general, debe utilizarse sólo como puntero de pila, la cual sirve para almacenar las direcciones de retorno de subrutinas y los datos temporarios (mediante las instrucciones PUSH y POP). Al introducir (push) un valor en la pila a este registro se le resta dos, mientras que al extraer (pop) un valor de la pila este a registro se le suma dos.

BP = Puntero base (no se puede subdividir). Generalmente se utiliza para realizar direccionamiento indirecto dentro de la pila.

SI = Puntero índice (no se puede subdividir). Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.

DI = Puntero destino (no se puede subdividir).

Page 71: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

71

Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto. Cualquiera de estos registros puede utilizarse como fuente o destino en operaciones aritméticas y lógicas, lo que no se puede hacer con ninguno de los seis registros que se verán más adelante.

Además de lo anterior, cada registro tiene usos especiales:

Unidad aritmética y lógica

Es la encargada de realizar las operaciones aritméticas (suma, suma con "arrastre", resta, resta con "préstamo" y comparaciones) y lógicas (AND, OR, XOR y TEST). Las operaciones pueden ser de 16 bits o de 8 bits.

Indicadores (flags)

Hay nueve indicadores de un bit en este registro de 16 bits. Los cuatro bits más significativos están indefinidos, mientras que hay tres bits con valores determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno (esto también ocurría en los procesadores anteriores).

Registro de indicadores (16 bits)

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Flag ­­ ­­ ­­ ­­ OF DF IF TF SF ZF 0 AF 0 PF 1 CF

CF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma) hacia, o "préstamo" (en caso de resta) desde el bit de orden más significativo del resultado. Este indicador es usado por instrucciones que suman o restan números que ocupan varios bytes. Las instrucciones de rotación pueden aislar un bit de la memoria o de un registro poniéndolo en el CF.

PF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un número par de bits a 1. Este indicador se puede utilizar para detectar errores en transmisiones.

AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "arrastre" o "préstamo" del nibble (cuatro bits) menos significativo al nibble más significativo. Este indicador se usa con las instrucciones de ajuste decimal.

ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.

SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los números negativos se representan en la notación de complemento a dos, este bit representa el signo: 0 si es positivo, 1 si es negativo.

Page 72: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

72

TF (Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este modo, la CPU automáticamente genera una interrupción interna después de cada instrucción, permitiendo inspeccionar los resultados del programa a medida que se ejecuta instrucción por instrucción.

IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción externas enmascarables (por el pin INTR). Si vale 0, no se reconocen tales interrupciones. Las interrupciones no enmascarables y las internas siempre se reconocen independientemente del valor de IF.

DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán "auto­ decremento", esto es, se procesarán las cadenas desde las direcciones más altas de memoria hacia las más bajas. Si vale 0, habrá "auto­incremento", lo que quiere decir que las cadenas se procesarán de "izquierda a derecha".

OF (Overflow Flag, bit 11): Si vale 1, hubo un desborde en una operación aritmética con signo, esto es, un dígito significativo se perdió debido a que tamaño del resultado es mayor que el tamaño del destino.

Sistema de control de la unidad de ejecución

Es el encargado de decodificar las instrucciones que le envía la cola y enviarle las órdenes a la unidad aritmética y lógica según una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory).

Cola de instrucciones

Almacena las instrucciones para ser ejecutadas. La cola se carga cuando el bus está desocupado, de esta manera se logra una mayor eficiencia del mismo. La cola del 8086 tiene 6 bytes y se carga de a dos bytes por vez (debido al tamaño del bus de datos), mientras que el del 8088 tiene cuatro bytes. Esta estructura tiene rendimiento óptimo cuando no se realizan saltos, ya que en este caso habría que vaciar la cola (porque no se van a ejecutar las instrucciones que van después del salto) y volverla a cargar con instrucciones que se encuentran a partir de la dirección a donde se salta. Debido a esto las instrucciones de salto son (después de multiplicaciones y divisiones) las más lentas de este microprocesador.

Registros de la unidad de interfaz con el bus: El programador puede acceder a cinco registros de 16 bits cada uno, siendo cuatro de ellos registros de segmento y el restante el puntero de instrucción (IP).

Los registros de segmento se llaman: CS: Registro de segmento de código. DS: Registro de segmento de datos. ES: Registro de segmento extra. SS: Registro de segmento de pila.

Page 73: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

73

La utilización de estos registros se explica más adelante, en la sección que trata de direccionamiento a memoria.

Lógica de control del bus:

El cometido de este bloque es poder unir los bloques anteriormente mencionados con el mundo exterior, es decir, la memoria y los periféricos.

El 8088 tiene un bus de datos externo reducido de 8 bits. La razón para ello era prever la continuidad entre el 8086 y los antiguos procesadores de 8 bits, como el 8080 y el 8085. Teniendo el mismo tamaño del bus (así como similares requerimientos de control y tiempo), el 8088, que es internamente un procesador de 16 bits, puede reemplazar a los microprocesadores ya nombrados en un sistema ya existente.

El 8088 tiene muchas señales en común con el 8085, particularmente las asociadas con la forma en que los datos y las direcciones están multiplexadas, aunque el 8088 no produce sus propias señales de reloj como lo hace el 8085 (necesita un chip de soporte llamado 8284, que es diferente del 8224 que necesitaba el microprocesador 8080). El 8088 y el 8085 siguen el mismo esquema de compartir los terminales correspondientes a los 8 bits más bajos del bus de direcciones con los 8 bits del bus de datos, de manera que se ahorran 8 terminales para otras funciones del microprocesador. El 8086 comparte los 16 bits del bus de datos con los 16 más bajos del bus de direcciones.

El 8085 y el 8088 pueden, de hecho, dirigir directamente los mismos chips controladores de periféricos. Las investigaciones de hardware para sistemas basados en el 8080 o el 8085 son, en su mayoría, aplicables al 8088. En todo lo recién explicado se basó el éxito del 8088. Terminales (pinout) del 8088

Este microprocesador está encapsulado en el formato DIP (Dual Inline Package) de 40 patas (veinte de cada lado). La distancia entre las patas es de 0,1 pulgadas (2,54 milímetros), mientras que la distancia entre patas enfrentadas es de 0,6 pulgadas (15,32 milímetros).

Page 74: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

74

Nótese en el gráfico el semicírculo que identifica la posición de la pata 1. Esto sirve para no insertar el chip al revés en el circuito impreso. El 8086/8088 puede conectarse al circuito de dos formas distintas: el modo máximo y el modo mínimo. El modo queda determinado al poner un determinado terminal (llamado MN / MX) a tierra o a la tensión de alimentación. El 8086/8088 debe estar en modo máximo si se desea trabajar en colaboración con el Procesador de Datos Numérico 8087 y/o el Procesador de Entrada / salida 8089 (de aquí se desprende que en la IBM PC el 8088 está en modo máximo). En este modo el 8086/8088 depende de otros chips adicionales como el Controlador de Bus 8288 para generar el conjunto completo de señales del bus de control. El modo mínimo permite al 8086/8088 trabajar de una forma más autónoma (para circuitos más sencillos) en una manera casi idéntica al microprocesador 8085.

Los 40 pines del 8088 en modo mínimo tienen las siguientes funciones:

GND (Masa) A14 (Bus de direcciones) A13 (Bus de direcciones) A12 (Bus de direcciones) A11 (Bus de direcciones) A10 (Bus de direcciones) A9 (Bus de direcciones) A8 (Bus de direcciones) AD7 (Bus de direcciones y datos) AD6 (Bus de direcciones y datos) AD5 (Bus de direcciones y datos) AD4 (Bus de direcciones y datos) AD3 (Bus de direcciones y datos) AD2 (Bus de direcciones y datos) AD1 (Bus de direcciones y datos) AD0 (Bus de direcciones y datos) NMI (Entrada de interrupción no enmascarable) INTR (Entrada de interrupción enmascarable) CLK (Entrada de reloj generada por el 8284) GND (Masa) RESET (Para inicializar el 8088) READY (Para sincronizar periféricos y memorias lentas) /TEST /INTA (El 8088 indica que reconoció la interrupción) ALE (Cuando está uno indica que salen direcciones por AD, en caso contrario, es el bus de datos) /DEN (Data enable: cuando vale cero debe habilitar los transceptores 8286 y 8287 (se conecta al pin de "output enable"), esto sirve para que no se mezclen los datos y las direcciones). DT / R (Data transmit/receive: se conecta al pin de dirección de los chips recién indicados). IO / M (Si vale 1: operaciones con ports, si vale 0: operaciones con la memoria)

Page 75: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

75

/WR (Cuando vale cero hay una escritura) HLDA (Hold Acknowledge: el 8088 reconoce el HOLD) HOLD (Indica que otro integrado quiere adueñarse del control de los buses, generalmente se usa para DMA o acceso directo a memoria). /RD (Cuando vale cero hay una lectura) MN / MX (Cuando esta entrada está en estado alto, el 8088 está en modo mínimo, en caso contrario está en modo máximo) /SSO (Junto con IO / M y DT / R esta salida sirve para determinar estados del 8088) A19/S6 (Bus de direcciones/bit de estado) A18/S5 (Bus de direcciones/bit de estado) A17/S4 (Bus de direcciones/bit de estado) A16/S3 (Bus de direcciones/bit de estado) A15 (Bus de direcciones) Vcc (+5V)

En modo máximo (cuando se aplica +5V al pin 33) hay algunos pines que cambian de significado:

24.­ QS1: Estado de la cola de instrucciones (bit 1). 25.­ QS0: Estado de la cola de instrucciones (bit 0). 26.­ S0: Bit de estado 0. 27.­ S1: Bit de estado 1. 28.­ S2: Bit de estado 2. 29.­ /LOCK: Cuando vale cero indica a otros controladores del bus (otros microprocesadores o un dispositivo de DMA) que no deben ganar el control del bus. Se activa poniéndose a cero cuando una instrucción tiene el prefijo LOCK. 30.­ RQ / GT1: Es bidireccional y tiene la misma función que HOLD / HLDA en modo mínimo. 31.­ RQ / GT0: Como RQ / GT1 pero tiene mayor prioridad. 34.­ Esta salida siempre está a uno.

Por ser este microprocesador mucho más complejo que el 8085, tiene más bits de estado que el recién mencionado. A título informativo se detallan los bits de estado:

DT/R /SSO S2 IO/M S1 S0

Significado

1 0 0 0 Acceso a código (instrucciones) 1 0 0 1 Lectura de memoria 1 0 1 0 Escritura a memoria 1 0 1 1 Bus pasivo (no hace nada) 0 1 0 0 Reconocimiento de interrupción 0 1 0 1 Lectura de puerto de entrada / salida 0 1 1 0 Escritura a puerto de E / S 0 1 1 1 Estado de parada (Halt)

Page 76: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

76

QS1 QS0 Significado 0 0 No hay operación 0 1 Primer byte del código de operación 1 0 Se vacía la cola de instrucciones 1 1 Siguiente byte de la instrucción

Modos de direccionamiento del 8086/8088:

Estos procesadores tienen 27 modos de direccionamiento (una cantidad bastante más grande que los microprocesadores anteriores) o reglas para localizar un operando de una instrucción. Tres de ellos son comunes a microprocesadores anteriores: Direccionamiento inmediato (el operando es un número que se encuentra en la misma instrucción), direccionamiento a registro (el operando es un registro del microprocesador) y direccionamiento inherente (el operando está implícito en la instrucción, por ejemplo, en la multiplicación uno de los operandos siempre es el acumulador). El resto de los modos sirve para localizar un operando en memoria. Para facilitar la explicación de estos modos, se pueden resumir de la siguiente manera:

Deben sumarse cuatro cantidades: 1) dirección de segmento, 2) dirección base, 3) una cantidad índice y 4) un desplazamiento.

La dirección de segmento se almacena en el registro de segmento (DS, ES, SS o CS). En la próxima sección se indica la forma en que se hace esto. Por ahora basta con saber que el contenido del registro de segmento se multiplica por 16 antes de utilizarse para obtener la dirección real. El registro de segmentación siempre se usa para referenciar a memoria. La base se almacena en el registro base (BX o BP). El índice se almacena en el registro índice (SI o DI). Cualquiera de estas dos cantidades, la suma de las dos o ninguna, pueden utilizarse para calcular la dirección real, pero no pueden sumarse dos bases o dos índices. Los registros restantes (AX, CX, DX y SP) no pueden utilizarse para direccionamiento indirecto. El programador puede utilizar tanto la base como el índice para gestionar ciertas cosas, tales como matrices de dos dimensiones, o estructuras internas a otras estructuras, esquemas que se utilizan en las prácticas comunes de programación. La base y el índice son variables o dinámicos, ya que están almacenadas en registros de la CPU. Es decir, pueden modificarse fácilmente mientras se ejecuta un programa.

Además del segmento, base e índice, se usa un desplazamiento de 16 bits, 8 bits o 0 bits (sin desplazamiento). Ésta es una cantidad estática que se fija al tiempo de ensamblado (paso de código fuente a código de máquina) y no puede cambiarse durante la ejecución del programa (a menos que el programa se escriba sobre sí mismo, lo que constituye una práctica no aconsejada).

Todo esto genera los 24 modos de direccionamiento a memoria que se ven a continuación: ­ Registro indirecto: 1) [BX], 2) [DI]. 3) [SI].

Page 77: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

77

­ Basado: 4) desp8[BX], 5) desp8[BP], 6) desp16[BX], 7) desp16[BP]. ­ Indexado: 8) desp8[SI], 9) desp8[DI], 10) desp16[SI], 11) desp16[DI]. ­ Basado­indexado: 12) [BX+SI], 13) [BX+DI], 14) [BP+SI], 15) [BX+DI]. ­ Basado­indexado con desplazamiento: 16) desp8[BX+SI], 17) desp8[BX+DI], 18) desp8[BP+SI], 19) desp8[BX+DI], 20) desp16[BX+SI], 21) desp16[BX+DI], 22) desp16[BP+SI], 23) desp16[BX+DI].

­ Directo: 24) [desp16].

Aquí desp8 indica desplazamiento de 8 bits y desp16 indica desplazamiento de 16 bits. Otras combinaciones no están implementadas en la CPU y generarán error al querer ensamblar, por ejemplo, ADD CL,[DX+SI].

El ensamblador genera el tipo de desplazamiento más apropiado (0, 8 ó 16 bits) dependiendo del valor que tenga la constante: si vale cero se utiliza el primer caso, si vale entre ­128 y 127 se utiliza el segundo, y en otro caso se utiliza el tercero. Nótese que [BP] sin desplazamiento no existe. Al ensamblar una instrucción como, por ejemplo, MOV AL,[BP], se generará un desplazamiento de 8 bits con valor cero. Esta instrucción ocupa tres bytes, mientras que MOV AL,[SI] ocupa dos, porque no necesita el desplazamiento.

Estos modos de direccionamiento producen algunos inconvenientes en el 8086/8088. La CPU gasta tiempo calculando una dirección compuesta de varias cantidades. Principalmente esto se debe al hecho de que el cálculo de direcciones está programado en microcódigo (dentro de la CROM del sistema de control de la unidad de ejecución).

En las siguientes versiones (a partir del 80186/80188) estos cálculos están cableados en la máquina y, por lo tanto, cuesta mucho menos tiempo el realizarlos. Veamos un ejemplo: MOV AL, ES:[BX+SI+6]. En este caso el operando de la izquierda tiene direccionamiento a registro mientras que el de la derecha indica una posición de memoria. Poniendo valores numéricos, supongamos que los valores actuales de los registros sean: ES = 3200h, BX = 200h, SI = 38h. Como se apuntó más arriba la dirección real de memoria será:

ES * 10h + BX + SI + 6 = 3200h * 10h + 200h + 38h + 6 = 3223Eh

Estructura de memoria de segmentación: Como se ha mencionado anteriormente, el 8086/8088 usa un esquema ingenioso llamado segmentación, para acceder correctamente a un megabyte completo de memoria, con referencias de direcciones de sólo 16 bits.

Veamos cómo funciona. Cualquier dirección tiene dos partes, cada una de las cuales es una cantidad de 16 bits. Una parte es la dirección de segmento y la otra es el offset. A su vez el offset se compone de varias partes: un desplazamiento (un número fijo), una base (almacenada en el registro base) y un índice (almacenado en el registro índice). La dirección de segmento se almacena en uno de los cuatro registros de segmento (CS, DS, ES, SS). El procesador usa estas dos cantidades de 16 bits para calcular la dirección real de 20 bits, según la siguiente fórmula: Dirección real = 16 * (dirección del segmento) + offset

Page 78: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

78

Tal como veíamos antes, dado que 16 en decimal es 10 en hexadecimal, multiplicar por ese valor es lo mismo que correr el número hexadecimal a la izquierda una posición.

Hay dos registros de segmento que tienen usos especiales: el microprocesador utiliza el registro CS (con el offset almacenado en el puntero de instrucción IP) cada vez que se debe acceder a un byte de instrucción de programa, mientras que las instrucciones que utilizan la pila (llamados a procedimientos, retornos, interrupciones y las instrucciones PUSH y POP) siempre utilizan el registro de segmento SS (con el offset almacenado en el registro puntero de pila SP). De ahí los nombres que toman: CS es el segmento de código mientras que SS es el registro segmento de pila.

Para acceder a datos en la memoria se puede utilizar cualquiera de los cuatro registros de segmento, pero uno de ellos provoca que la instrucción ocupe un byte menos de memoria: es el llamado segmento por defecto, por lo que en lo posible hay que tratar de usar dicho segmento para direccionar datos. Este segmento es el DS (registro de segmento de datos) para todos los casos excepto cuando se utiliza el registro base BP. En este caso el segmento por defecto es SS.

Si se utiliza otro registro, el ensamblador genera un byte de prefijo correspondiente al segmento antes de la instrucción: CS ­> 2Eh, DS ­> 3Eh, ES ­> 26h y SS ­> 36h. El uso de estos diferentes segmentos significa que hay áreas de trabajo separadas para el programa, pila y los datos. Cada área tiene un tamaño máximo de 64 KBytes. Dado que hay cuatro registros de segmento, uno de programa (CS), uno de pila (SS) y dos de datos (segmento de datos DS y segmento extra ES) el área de trabajo puede llegar a 4 * 64 KB = 256 KB en un momento dado suponiendo que las áreas no se superponen. Si el programa y los datos ocupan menos de 64 KB, lo que se hace es fijar los registros de segmento al principio del programa y luego se utilizan diferentes offsets para acceder a distintas posiciones de memoria. En caso contrario necesariamente deberán cambiarse los registros de segmento en la parte del programa que lo requiera. Los registros de segmento DS, ES y SS se cargan mediante las instrucciones MOV y POP, mientras que CS se carga mediante transferencias de control (saltos, llamadas, retornos, interrupciones) intersegmento.

Estructura de interrupciones del 8086/8088

Hay tres clases de interrupción: por hardware, por software e internas (a las dos últimas también se las llama "excepciones"). Veremos primeramente el caso de interrupciones por hardware: Como se mencionó anteriormente, el 8086/8088 tiene dos entradas de petición de interrupción: NMI e INTR y una de reconocimiento (INTA). La gran mayoría de las fuentes de interrupción se conectan al pin INTR, ya que esto permite enmascarar las interrupciones (el NMI no). Para facilitar esta conexión, se utiliza el circuito integrado controlador de interrupciones, que tiene el código 8259A. Este chip tiene, entre otras cosas, ocho patas para sendas fuentes de interrupción (IRQ0 ­ IRQ7), ocho para el bus de datos (D0 ­ D7), una salida de INTR y una entrada de INTA. Esto permite una conexión directa con el 8088/8086. Al

Page 79: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

79

ocurrir una petición de alguna de las ocho fuentes, el 8259A activa la pata INTR. Al terminar de ejecutar la instrucción en curso, el microprocesador activa la pata INTA, lo que provoca que el 8259A envíe por el bus de datos un número de ocho bits (de 0 a 255) llamado tipo de interrupción (programable por el usuario durante la inicialización del 8259A), que el 8086/8088 utiliza para saber cuál es la fuente de interrupción. A continuación busca en la tabla de vectores de interrupción la dirección del manejador de interrupción (Interrupt handler). Esto se hace de la siguiente manera. Se multiplica el tipo de interrupción por cuatro, y se toman los cuatro bytes que se encuentran a partir de esa dirección. Los dos primeros indican el offset y los dos últimos el segmento del manejador, como se muestra a continuación.

00 02 04 06 08 0A 0C 0E 10 12 3FC 3FE Posición memoria IP CS IP CS IP CS IP CS IP CS IP CS

Tipo de interrupción 00 01 02 03 04 ....

FF

Como se puede observar, la tabla ocupa el primer kilobyte de memoria (256 tipos * 4 bytes / tipo = 1024 bytes).

Una vez que se pusieron en la pila los flags, CS e IP (en ese orden), la CPU hace IF <­ 0 (deshabilita interrupciones) y TF <­ 0 (deshabilita la ejecución de instrucciones paso a paso) para que el manejador de interrupción no sea interrumpido, y carga IP y CS con los valores hallados en la tabla, con lo que se transfiere el control al manejador de interrupción, que es el procedimiento encargado de atender la fuente de interrupción.

Luego de haber hecho su trabajo, el manejador debe terminar indicándole al controlador de interrupciones que ya fue atendido el pedido y finalmente deberá estar la instrucción IRET, que restaura los valores de los registros IP, CS y el registro de indicadores. El manejador debe poner en la pila todos los registros que use y restaurar sus valores antes de salir (en orden inverso al de su introducción en la pila), en caso contrario el sistema corre peligro de "colgarse", ya que, al ocurrir la interrupción en cualquier momento de la ejecución del programa, se cambiarían los valores de los registros en el momento menos esperado, con consecuencias imprevisibles.

Las interrupciones por software ocurren cuando se ejecuta la instrucción INT tipo. De esta manera se pueden simular interrupciones durante la depuración de un programa. El tipo de interrupción (para poder buscar el vector en la tabla) aparece en la misma instrucción como una constante de 8 bits. Muchos sistemas operativos (programas que actúan a modo de interfaz entre los programas de los usuarios (llamados también "aplicaciones") y el hardware del sistema) utilizan esta instrucción para llamadas a servicios, lo que permite no tener que conocer la dirección absoluta del servicio, permitiendo cambios en el sistema operativo sin tener que cambiar los programas que lo ejecutan. De esta manera, una de las primeras operaciones que debe realizar dicho sistema operativo es inicializar la tabla de vectores de interrupción con los valores apropiados.

Page 80: Enero ’02. - 148.206.53.84148.206.53.84/tesiuami/UAMI14460.pdf · Sensibilidad: La sensibilidad de la placa debe ser tal que pueda ser activada por un leve contacto de ...

80

Existen algunas interrupciones predefinidas, de uso exclusivo del microprocesador, por lo que no es recomendable utilizar estos tipos de interrupción para interrupciones por hardware o software.

­ Tipo 0: Ocurre cuando se divide por cero o el cociente es mayor que el valor máximo que permite el destino.

­ Tipo 1: Ocurre después de ejecutar una instrucción si TF (Trap Flag) vale 1. Esto permite la ejecución de un programa paso a paso, lo que es muy útil para la depuración de programas.

­ Tipo 2: Ocurre cuando se activa la pata NMI (interrupción no enmascarable).

­ Tipo 3: Existe una instrucción INT que ocupa un sólo byte, que es la correspondiente a este tipo. En los programas depuradores (debuggers) (tales como Debug, CodeView, Turbo Debugger, etc.), se utiliza esta instrucción como punto de parada (para ejecutar un programa hasta una determinada dirección, fijada por el usuario del depurador, se inserta esta instrucción en la dirección correspondiente a la parada y se lanza la ejecución. Cuando el CS: IP apunte a esta dirección se ejecutará la INT 3, lo que devolverá el control del procesador al depurador). Debido a esto, si se le ordena al depurador que ejecute el programa hasta una determinada dirección en ROM (memoria de sólo lectura) (por ejemplo, para ver cómo funciona una subrutina almacenada en dicha memoria), la ejecución seguirá sin parar allí (ya que la instrucción INT 3 no se pudo escribir sobre el programa). En el 80386, con su elaborado hardware de ayuda para la depuración, se puede poner un punto de parada en ROM.

­ Tipo 4: Ocurre cuando se ejecuta la instrucción de interrupción condicional INTO y el Flag OF (Overflow Flag) vale 1. Los tipos 5 a 31 (1F en hexadecimal) están reservados para interrupciones internas (también llamados "excepciones") de futuros microprocesadores.

Prioridad entre diferentes fuentes de interrupción: 1) Error de división, INT n (no enmascarable), INTO. 2) NMI (no enmascarable). 3) INTR (enmascarable mediante IF). 4) Ejecución paso a paso (enmascarable mediante TF).


Recommended