Está en la página 1de 30

UNIVERSIDAD CATOLICA SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERIAS


FISICAS Y FORMALES

PROGRAMA PROFESIONAL DE INGENIERÍA


MECÁNICA ELÉCTRICA Y MECATRÓNICA

CURSO:
JURADO DE SISTEMAS BASADOS EN
MICROPROCESADORES

TITULO:
RECURSOS Y APLICACIONES BASADOS EN
MICROPROCESADORES (TEORIA - II Fase)

ALUMNO:
RUEDA KUONG FRANK EDNER JAVIER

AREQUIPA – PERÚ
2008

1
INDICE

1.1 INTRODUCCION 4

1.2. CLASIFICACION DE DISPOSITIVOS DE E/S 4

1.2.1. CLASIFICACIÓN DE LOS DISPOSITIVOS E/S SEGÚN


STALLINGS 5

1.2.2. CLASIFICACION DE DISPOSITIVOS DE E/S SEGÚN


TANENBAUM 6

1.2.2.1. E/S POGRAMADA 6

1.2.2.2. E/S DIRIGIDA POR INTERRUPCIONES 7

1.2.2.3. E/S CON ACCESO DIRECTO A MEMORIA 9

1.3. MODULOS DE E/S 10

1.3.1. CONTROL Y TEMPORIZACIÓN 11

1.3.2. COMUNICACIÓN CON EL MICROPROCESADOR 11

1.3.3. COMUNICACIÓN CON EL PERIFÉRICO 11

1.3.4. ALMACENAMIENTO TEMPORAL DE DATOS 11

1.3.5. DETECCIÓN DE ERRORES 11

1.4. ACCESO DIRECTO A MEMORIA (DMA) 12

1.4.1. EJEMPLO DEL FUNCIONAMIENTO DE LA DMA 12

1.4.2. ESTRATEGIAS DE TRANSFERENCIA POR DMA 13

1.5. CARACTERISTICAS DE LOS BUSES 14

1.5.1. TIPOS DE SALIDA QUE LOS DRIVERS DE BUS GENERAN


14

1.6. JERARQUÍA DE BUSES 15

1.6.1. VENTAJAS DE LA JERARQUÍA DE BUSES 16

1.6.2. FUNCIÓN DEL INTERFAZ O ADAPTADOR DE BUS 16

2
1.6.3. OTRAS TOPOLOGÍAS: BUSES PARA DISPOSITIVOS DE
DISTINTAS VELOCIDADES 16

1.6.4. JERARQUÍA DE BUSES EN UN PC 17

1.7. PROTOCOLO DE BUSES 17

1.7.1. PROTOCOLOS DE TRANSFERENCIA 17

1.7.1.1. PROTOCOLO SÍNCRONO 18

1.7.1.2. PROTOCOLO ASÍNCRONO 19

1.7.1.3. PROTOCOLO SEMISÍNCRONO 21

1.7.1.4. PROTOCOLO CICLO PARTIDO 21

1.8. ARBITRAJE DE BUSES 22

1.8.1. ARBITRAJE EN SERIE (DAISY CHAIN ARBITRATION) 23

1.8.2. ARBITRAJE PARALELO CENTRALIZADO 23

1.8.3. ARBITRAJE DISTRIBUIDO POR AUTOSELECCION24

1.8.4. ARBITRAJE DISTRIBUIDO POR DETECCION DE COLISION


24

1.8.5. PROTOCOLO DE LÍNEAS DE IDENTIFICACIÓN 24

1.8.6. PROTOCOLO DE CÓDIGOS DE IDENTIFICACIÓN 24

1.9. INTERFACES DE COMUNICACIÓN 25

1.9.1. TIPOS DE INTERFACES 25

1.9.1.1. INTERFAZ SERIE 26

1.9.1.2. INTERFAZ RS-232C 27

3
RECUSRSOS Y APLICACIONES BASADOS EN
MICROPROCESADORES

1.1. INTRODUCCION

Un bus es un canal de comunicación compartido que utiliza un conjunto de líneas para


conectar múltiples subsistemas, cada cable o línea transmite un único bit de información
en un determinado momento.

Son los caminos de comunicación a través de los cuales se intercambia información


(instrucciones y datos), este intercambio de información se realiza entre el
microprocesador, la memoria y el sistema de E/S.

Esta comunicación se hace mediante señales eléctricas a través de cables o de pistas de


circuitos impresos, cada línea es capaz de transmitir un nivel de tensión que representa
un “1” o un “0”.

En todas las transferencias existe un emisor y puede que varios receptores, como los
buses están compartidos es necesario implementar mecanismos que aseguren que nunca
va a haber más de un dispositivo controlando el estado (nivel de tensión) de las líneas
del bus.

Si ocurriera ello, las señales se solaparían produciendo un error denominado contención


del bus.

Todos los elementos que se conectan a un bus deben interpretar correctamente la


información (estandarizándose), cumpliendo una serie de requisitos eléctricos (niveles
de tensión), mecánicos (conectores) y de protocolo (cómo se envía la información), la
estandarización de los buses genera flexibilidad y bajo costo.

El principal inconveniente es que los buses pueden convertirse en un cuello de botella


que limite las prestaciones del sistema. Esta situación se produce si los elementos del
sistema (microprocesadores, Memorias y E/S) transfieren tal cantidad de información
que supera la capacidad de transferencia del bus.

Las características de un bus se recogen en un documento denominado estándar de bus.


Dicho estándar son: el nivel físico, las líneas y el modo de operación, la máxima
velocidad se mide en su ancho de banda (Bps).

Los dispositivos de E/S se denominan habitualmente periféricos, ejemplos son: teclado,


pantalla, impresora, unidades de disco, etc.

Cualquier periférico necesita un módulo adicional que permite realizar la conexión del
mismo con los buses del sistema de microprocesador, este módulo se denomina
interface.

1.2. CLASIFICACION DE DISPOSITIVOS DE E/S

4
Las operaciones de E/S se realizan a través de una serie de dispositivos externos que
suministran un medio para intercambiar datos con el mundo exterior.
El dispositivo externo se conecta con el computador a través de un enlace o bus que va a
uno de los módulos de E/S, este enlace sirve para programar, las operaciones,
intercambiar datos, comprobar el estado del periférico y el resultado de la operación.

Los dispositivos periféricos son muy diversos. Una forma de clasificarlos es teniendo en
cuenta:

 Comportamiento: E, S o almacenamiento.
 Destino de la comunicación: Humano o máquina.
 Tasa de datos: Velocidad de transmisión.

Existen 2 teorías de la calcificación según: STALLINGS y TANENBAUM

1.2.1. CLASIFICACIÓN DE LOS DISPOSITIVOS E/S SEGÚN


STALLINGS:

DISPOSITIVOS LEGIBLES POR LOS HUMANOS, apropiados para


la comunicación con el usuario (Mouse, teclado, monitor, impresora)

DISPOSITIVOS LEGIBLES POR MÁQUINA, adecuados para


comunicarse con equipos electrónicos (Discos, cintas)

DISPOSITIVOS DE COMUNICACIONES, apropiados para


comunicarse con dispositivos lejanos (MODEM, tarjeta Ethernet).

VELOCIDADES DE DATOS DE DISPOSITIVOS

5
1.2.2. CLASIFICACION DE DISPOSITIVOS DE E/S SEGÚN
TANENBAUM:

Dispositivos de Bloques: Dispositivos que almacenan la información en


bloques de tamaño fijo (discos)

6
Dispositivos de Caracteres: maneja la información mediante un flujo de
caracteres sin estructurarlos en bloques (Mouse, teclado, impresora)

Existen tres técnicas para realizar la E/S:

 E/S Programada
 E/S Dirigida por interrupciones
 E/S por acceso directo a la memoria(DMA)

1.2.2.1 E/S POGRAMADA

Los datos se intercambian entre el CPU y el módulo de E/S. El


CPU ejecuta un programa que controla directamente la operación
de E/S, incluyendo la comprobación del estado del dispositivo, el
envío de la orden de lectura o escritura y la transferencia del dato.

Cuando el CPU envía la orden debe esperar hasta que la


operación de E/S concluya. Si el CPU es más rápido, éste estará
ocioso. El CPU es el responsable de comprobar periódicamente el
estado del módulo de E/S hasta que encuentre que la operación ha
finalizado.

Normalmente habrá muchos dispositivos de E/S conectados al


sistema a través de los módulos de E/S. Cada dispositivo tiene
asociado un identificador o dirección. Cuando el CPU envía una
orden de E/S, la orden contiene la dirección del dispositivo
deseado.

El dispositivo E/S realiza la acción (no la CPU) colocando los bits


necesarios en sus registros de status, no hay interrupciones y La
CPU chequea los bits de status continuamente.

EJEMPLO: PASOS PARA LA IMPRESIÓN DE UNA CADENA

7
1.2.2.2. E/S DIRIGIDA POR INTERRUPCIONES

El problema con E/S programada es que el CPU tiene que esperar


un tiempo considerable a que el módulo de E/S en cuestión esté
preparado para recibir o transmitir los datos. El CPU debe estar
comprobando continuamente el estado del módulo de E/S
degradándose el desempeño del sistema.

Una alternativa es que el CPU tras enviar una orden de E/S


continué realizando algún trabajo útil. El módulo de E/S
interrumpirá al CPU para solicitar su servicio cuando esté
preparado para intercambiar datos. El CPU ejecuta la
transferencia de datos y después continúa con el procesamiento
previo.

La CPU es interrumpida cuando el dispositivo E/S está listo para


intercambiar datos, la CPU esta libre entre la solicitud de datos e
interrupción. No hay necesidad de esperar.

Consume mucha CPU ya que cada byte leído/escrito pasa por la


CPU desde/hacia la memoria
Se pueden distinguir dos tipos: E/S Síncrona y E/S Asíncrona

E/S SÍNCRONA: Cuando la operación de E/S finaliza, el control


es retornado al proceso que la generó. La espera por E/S se lleva a
cabo por medio de una instrucción wait que coloca al CPU en un
estado ocioso hasta que ocurre otra interrupción. Aquellas
máquinas que no tienen esta instrucción utilizan un loop. Este
loop continúa hasta que ocurre una interrupción transfiriendo el
control a otra parte del sistema de operación. Sólo se atiende una
solicitud de E/S por vez. El sistema de operación conoce

8
exactamente que dispositivo está interrumpiendo. Esta alternativa
excluye procesamiento simultáneo de E/S.

E/S ASÍNCRONA: Retorna al programa usuario sin esperar que


la operación de E/S finalice. Se necesita una llamada al sistema
que le permita al usuario esperar por la finalización de E/S (si es
requerido). También es necesario llevar un control de las distintas
solicitudes de E/S. Para ello el sistema de operación utiliza una
tabla que contiene una entrada por cada dispositivo de E/S (Tabla
de Estado de Dispositivos). La ventaja de este tipo de E/S es el
incremento de la eficiencia del sistema. Mientras se lleva a cabo
E/S, el CPU puede ser usado para procesar o para planificar otras
E/S. Como la E/S puede ser bastante lenta comparada con la
velocidad del CPU, el sistema hace un mejor uso de las
facilidades.

INTERRUPCIÓN PRECISA (DEFINICIÓN)

El contador de programa (PC) se guarda en un lugar conocido,


todas las instrucciones previas a aquella a la que apunta PC ya se
ejecutaron por completo, no se ha ejecutado ninguna instrucción
posterior a aquella a la que apunta PC.

Se conoce (y se guarda en un lugar conocido) el estado de


ejecución de la instrucción a la que apunta PC.

Una interrupción que no cumple con estos requisitos es una


“interrupción imprecisa” y hace muy difícil el diseño de un
sistema operativo, pues se debe determinar que ha sucedido y que
aún no ha sucedido cuando se interrumpe.

PASOS QUE OCURREN CUANDO UN E/S DIRIGIDA POR


INTERRUPCIONES TERMINA SU TAREA

9
1.2.2.3. E/S CON ACCESO DIRECTO A MEMORIA:

Transfiere un bloque de datos directamente hacia/desde la


memoria, se envía una interrupción cuando los datos fueron
transferidos, la CPU sólo participa al inicio y al final de la acción

FUNCIONAMIENTO DE UNA TRANSFERENCIA POR DMA

DMA CON UN SOLO BUS

10
DMA CON BUSES INDEPENDIENTES

DMA CON BUS E/S

1.3. MODULOS DE E/S

El módulo de E/S es responsable de controlar a uno o más dispositivos externos y de


intercambiar datos entre estos dispositivos y la memoria o alguno de los registros del
microprocesador.

De acuerdo a ello, un módulo de E/S debería constar de 2 interfaces: una interna (Al
microprocesador y a la Memoria) y otra externa (a los periféricos).

Las funciones de un módulo de E/S se pueden resumir en:

 CONTROL Y TEMPORIZACIÓN.

 COMUNICACIÓN CON EL MICROPROCESADOR.

 COMUNICACIÓN CON EL PERIFÉRICO.

 ALMACENAMIENTO TEMPORAL DE DATOS.

 DETECCIÓN DE ERRORES.

1.3.1. CONTROL Y TEMPORIZACIÓN

11
Como el microprocesador se comunica con los periféricos de forma impredecible
(depende de las necesidades de E/S del programa), los recursos internos se
comparten para realizar una serie de actividades.

Por ejemplo, una transferencia de datos entre el microprocesador y un dispositivo


externo puede llevarse de la siguiente manera:

 El microprocesador pregunta al módulo E/S el estado del periférico, el


módulo E/S devuelve el estado, si el módulo está operativo, el
microprocesador le da una orden al módulo de E/S para pedir la
transferencia de datos.

 El módulo de E/S obtiene una unidad de datos del dispositivo externo y


los datos se transfieren desde el módulo de E/S al microprocesador.

1.3.2. COMUNICACIÓN CON EL MICROPROCESADOR

DECODIFICACIÓN DE LA ORDEN: Las órdenes se envían al


módulo escribiendo en alguno de sus registros y el módulo las envía al
periférico por el bus de control.

DATOS: Los datos se intercambian por el bus de datos

NOTIFICACIÓN DEL ESTADO: Como los periféricos son muy lentos


es necesario conocer el estado del módulo. Este usa líneas de estado
como ocupado, listo y error para indicar su disponibilidad.

RECONOCIMIENTO DE LA DIRECCIÓN: Cada dispositivo externo


debe tener una dirección que debe reconocer al módulo que lo controla.

1.3.3. COMUNICACIÓN CON EL PERIFÉRICO

Recoge el envío de órdenes, información de estado y otros.

1.3.4. ALMACENAMIENTO TEMPORAL DE DATOS

Los datos que van de memoria al módulo llegan en forma de ráfaga, se


almacenan en el módulo y poco a poco se van enviando al periférico.

1.3.5. DETECCIÓN DE ERRORES

El módulo de E/S es responsable de la detección de errores y de la


notificación de los mismos al microprocesador. Existen errores
mecánicos, eléctricos o cambios en el patrón de bits transmitidos.

1.4. ACCESO DIRECTO A MEMORIA (DMA)

12
El acceso directo a memoria permite a cierto tipo de componentes del ordenador
acceder a la memoria del sistema para leer o escribir independientemente de la CPU
principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de
unidades de disco, tarjetas graficas y de sonido. DMA es una característica esencial en
todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades
comunicarse sin someter a la CPU a una carga masiva de interrupciones.

Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un


dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se
lleva a cabo por el controlador DMA.

Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí que se
necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que
existen diferentes estrategias para regular su uso, permitiendo así que no quede
totalmente acaparado por el controlador DMA.

Una de las tareas más comunes de una computadora es mover datos entre los puertos
E/S y memoria o desde un lugar en la memoria a otro. La CPU puede realizar esta tarea,
pero los sistemas de cómputo modernos proporcionan una pieza de hardware que puede
mover datos independientemente de la CPU, liberándola para que realice otras tareas.
Este componente es el acceso directo a memoria (DMA). En esencia un DMA es un
microcontrolador especializado optimizado para transferir bloques de datos de un lugar
a otro.

La E/S con interrupciones, aunque más eficiente que la E/S programada, también
requiere la intervención del CPU para transferir datos entre la memoria y el módulo de
E/S.

1.4.1. EJEMPLO DEL FUNCIONAMIENTO DE LA DMA

EJEMPLO 1: Cuando se va a leer una línea desde un terminal, el primer


carácter escrito es enviado al computador. Cuando el carácter es recibido
por el controlador, éste interrumpe al CPU. El CPU le da servicio a la
interrupción y luego continua con el proceso que estaba ejecutando. Esto
es posible cuando el dispositivo es muy lento comparado con el CPU.
Entre un carácter y otro el CPU lleva a cabo gran cantidad de
procesamiento. Pero qué sucede cuando estamos trabajando con
dispositivos de E/S más veloces, tendríamos interrupciones muy seguidas
y se estaría desperdiciando mucho tiempo.

Para evitar esto, se utiliza DMA para dispositivos de E/S de alta


velocidad. El controlador del dispositivo transfiere un bloque de datos
desde o para sus buffers de almacenamiento a memoria directamente sin
intervención del CPU. Solo se produce una interrupción por bloque en
lugar de tener una interrupción por cada byte (o palabra).

EJEMPLO 2: Un programa solicita una transferencia de datos. El


Sistema de Operación busca un buffer disponible. El controlador de
DMA tiene sus registros actualizados con las direcciones del fuente y del
destino y la longitud de la transferencia. Por lo general esta actualización

13
es realizada por el manejador de dispositivo (rutina). Se indica al
controlador de DMA a través de bits de control en un registro de control
pare que inicie la operación de E/S. Mientras tanto el CPU puede llevar a
cabo otras operaciones. El controlador de DMA interrumpe el CPU
cuando la transferencia ha sido terminada . El CPU interviene solo al
comienzo y al final de la transferencia.

EJEMPLO 3: Al mover un bloque de memoria desde una memoria


externa a una interna más rápida. Tal operación no ocupa el procesador y
como resultado puede ser planificado para efectuar otras tareas. Las
transferencias DMA son esenciales para aumentar el rendimiento de
aplicaciones que requieran muchos recursos.

1.4.2. ESTRATEGIAS DE TRANSFERENCIA POR DMA

El uso de cada estrategia dependerá de las características que se deseen


primar en un sistema.

DMA POR ROBO DE CICLO: Se basa en usar uno o más ciclos de


CPU por cada instrucción que se ejecuta (de ahí el nombre). De esta
forma se consigue una alta disponibilidad del bus del sistema para la
CPU, aunque, en consecuencia, la transferencia de los datos será
considerablemente lenta. Este método es el que se usa habitualmente ya
que la interferencia con la CPU es muy baja.

DMA POR RÁFAGAS: Consiste en enviar el bloque de datos solicitado


mediante una ráfaga, ocupando el bus del sistema hasta finalizar la
transmisión. Así se consigue la máxima velocidad, sin embargo la CPU
no podrá usar el bus durante todo ese tiempo, por lo que permanecería
inactiva.

DMA TRANSPARENTE: Se trata de usar el bus del sistema cuando se


tiene certeza de que la CPU no lo necesita, como por ejemplo en aquellas
fases del proceso de ejecución de las instrucciones donde nunca se usa ya
que la CPU realiza tareas internas (v. g. fase de decodificación de la
instrucción). De esta manera, como su nombre indica, la DMA
permanecerá transparente para la CPU y la transferencia se hará sin
obstaculizar la relación CPU-bus del sistema. Como desventaja, la
velocidad de transferencia es la más baja posible.

DMA SCATTER-GATHER: Permite la transferencia de datos a varias


áreas de memoria en una transacción DMA simple. Es equivalente al
encadenamiento de múltiples peticiones DMA simples. De nuevo, el
objetivo es liberar a la CPU de las tareas de copia de datos e
interrupciones de entrada/salida múltiples.

1.5. CARACTERISTICAS DE LOS BUSES

14
Existen buses que conectan dispositivos rápidos (microprocesadores y Memoria) por lo
que se usan líneas cortas formadas por pistas en el circuito impreso, en el caso de
conexiones externas se usan cables con múltiples hilos.

En una zona intermedia se encuentran los buses de expansión que permiten la conexión
de las placas o “tarjetas” de interfase (ranuras o slots).

La longitud de las líneas de un bus y el número de dispositivos que se conectan a él


están limitados, todos los elementos adicionales (conectores, forma, tamaño, etc) deben
estar estandarizados.

En función de estos parámetros el dispositivo que fija el estado de las líneas debe
suministrar más o menos corriente al bus.

Está corriente es suministrada por CI denominados drivers de bus los cuales convierten
las señales eléctricas locales de los CI en señales adecuadas al estándar de bus,
eliminando, en lo posible, ruidos e interferencias.

La longitud de las pistas puede no ser la misma. Para bajas frecuencias, esto no tiene
importancia, pero para altas frecuencias puede ser un factor crítico.

Las diferencias de longitud de las pistas provoca pequeñas diferencias temporales de


propagación de las señales que son en realidad pequeños retrasos conocidos como
skews lo que provoca pérdida de sincronismo entre varios dispositivos.

Para casos más graves (señales de reloj) se usan drivers especiales que generan la
misma señal de reloj con diferentes retrasos para que la señal llegue al mismo tiempo a
todos los dispositivos.

También es necesario especificar los niveles de tensión que acepta el bus, y los tipos de
salida de los drivers de bus para evitar interferencias.

1.5.1. LOS TIPOS DE SALIDA QUE LOS DRIVERS DE BUS GENERAN


PUEDEN SER:

TOTEM-POLE:

Tipo de salida siempre activa, toma corriente cuando está a nivel


bajo y suministra corriente en el caso contrario, se usan para
señales que solo tienen conectado un driver por línea (señales de
interrupción).

COLECTOR ABIERTO:

El driver toma corriente cuando está a nivel bajo, pero no


suministra cuando está a nivel alto, para conseguir el estado alto
debe incluirse en la línea una resistencia (pull-up), se usa para
señales que pueden ser activadas por varias líneas a la vez (líneas
de petición: de bus, de interrupciones, etc), debido a su alto

15
consumo de corriente (resistencia pull-up) se usan las puertas
triestado.

TRIESTADO:

Funcionan en forma similar a las primeras pero se pueden


desactivar pasando la línea a un tercer estado o de alta
impedancia. Para ello tienen un transistor que habilita o
deshabilita la salida dependiendo de una línea de control. Se usan
para líneas que pueden ser activadas en varios puntos diferentes
del bus pero nunca simultáneamente, líneas que tienen asignadas
funciones:

 Alimentación
 Datos
 Direcciones
 Control

Forma en que se realiza una transferencia, incluyendo protocolo, secuenciamiento y


temporización de las señales.

Se distinguen entre buses Síncronos y Asíncronos, dentro de los elementos conectados


se diferencian los maestros y esclavos. Los maestros son capaces de iniciar una
transferencia de datos en el bus mientras que el esclavo solo envía datos como respuesta
a la petición de un maestro.

1.6. JERARQUÍA DE BUSES

Los dispositivos se agrupan por sus necesidades de velocidad y ancho de banda, los
dispositivos dentro de un grupo comparten un mismo bus y el conjunto de todos los
buses forman una jerarquía, con la separación de los buses se reducen los retrasos de
señal y el riesgo de que el bus sea un cuello de botella.

1.6.1. VENTAJAS DE LA JERARQUÍA DE BUSES

16
El bus local entre el procesador y la memoria caché aísla el tráfico de E/S
del procesador se puede transferir información entre la memoria y la E/S
sin interrumpir la actividad del procesador, el bus de expansión reduce el
tráfico en el bus del sistema, la transferencia entre la memoria caché y
memoria principal se pueden realizar de forma más eficiente. Se pueden
realizar una transferencia de memoria caché a memoria principal al
mismo tiempo que el interfaz recibe datos desde un dispositivo de E/S.

El procesador mas la memoria caché o el coprocesador tiene la misma


“prioridad” en el acceso al bus que todos los dispositivos conectados al
bus de expansión de forma conjunta Se elimina el problema de la
incompatibilidad El bus local y del sistema suelen ser propietarios (no
estándar) y están optimizados para cada arquitectura particular Los buses
de expansión son buses estándares o abiertos (ISA, EISA, PCI, VME,
etc.). Los buses estándares son independientes del computador, estos
buses tienen unas características y especificaciones perfectamente
definidas. Existe una amplia gama de controladores o adaptadores para
periféricos compatibles con estos buses, se utilizar los mismos
controladores y periféricos en otro computador que disponga del mismo
bus estándar. La conexión de un controlador a un bus estándar es sencilla
y rápida (mediante conectores estándares).

1.6.2. FUNCIÓN DEL INTERFAZ O ADAPTADOR DE BUS

Adaptar las velocidades de ambos buses: El bus del sistema es en


general más rápido que el bus de expansión, el adaptador debe actuar
como buffer de almacenamiento intermedio para evitar la pérdida de
datos

Conversión de líneas del bus: Los buses pueden tener utilizar señales
distintas para realizar funciones similares

1.6.3. OTRAS TOPOLOGÍAS: BUSES PARA DISPOSITIVOS DE DISTINTAS


VELOCIDADES

1.6.4. JERARQUÍA DE BUSES EN UN PC

17
1.7. PROTOCOLO DE BUSES

Describe el conjunto de reglas mediante las que se ponen de acuerdo el maestro de bus y
el esclavo.

Determinar el comienzo y el final de cada transferencia (Lectura, Escritura, Lectura de


bloque, Escritura de bloque, Lectura-modificación-escritura y Lectura después de
escritura)

1.7.1 PROTOCOLOS DE TRANSFERENCIA

Tipos de protocolos de transferencia:

Síncrono, Asíncrono, Semisíncrono o en Bloque,Ciclo Partido o


Read-Modify-Write.

1.7.1.1 PROTOCOLO SÍNCRONO

18
Las transferencias están gobernadas por una única señal de reloj
compartida por todos los dispositivos, cada transferencia se
realiza en un número fijo de periodos de reloj (1 en el ejemplo).
Los flancos del reloj (de bajada en el ejemplo) determinan el
comienzo de un nuevo ciclo de bus y el final del ciclo anterior

TEMPORIZACIÓN:
Tiempo de decodificación (decode time): Tiempo
necesario para que slave decodifique la dirección
Tiempo de estabilización (setup time): Tiempo antes del
flanco de reloj que deben permanecer estables las señales
para asegurar su correcto almacenamiento
Tiempo de permanencia (hold time): Tiempo después del
flanco de reloj que deben permanecer estables las señales
para asegurar su correcto almacenamiento
Tiempo de desplazamiento relativo de las señales (skew
time): Diferencia de tiempo entre las llegadas al receptor
de dos señales que partieron del emisor simultáneamente

Todos los eventos tienen lugar en un instante de tiempo específico sincronizadas con una
señal de reloj, cualquier transferencia consta de un número fijo de ciclos de reloj.

 VENTAJAS:

19
 Fácil de interpretar por lo que el bus puede alcanzar altas velocidades (Mayor
velocidad en relación a protocolo asíncrono).
 Simplicidad (de diseño y de uso).
 Sólo se necesita una señal (reloj) para llevar a cabo la sincronización.
 Mayor velocidad (en relación a protocolo asíncrono).

 DESVENTAJAS:

 Debido a los tiempos fijos puede haber problemas de sincronización por los
diferentes retrasos.
 El periodo de reloj se tiene que adaptar a la velocidad del dispositivo más lento
(por lo que suele usarse para conectar dispositivos homogéneos).
 No existe confirmación de la recepción de los datos, la necesidad de distribuir la
señal de reloj limita la longitud del bus.

Lectura Síncrona: En el flanco de subida del primer ciclo se transmite a la dirección, en el


flanco de bajada se supone que la dirección ya está estable en el bus por lo que se activa la
señal de lectura, luego se activa la línea de selección de memoria que suministra el dato y
en el segundo flanco de subida el dato es capturado por el microprocesador.

1.7.1.2. PROTOCOLO ASÍNCRONO

VENTAJAS Y DESVENTAJAS DEL PROTOCOLO ASÍNCRONO

20
La ocurrencia de un evento depende únicamente de la ocurrencia de un evento anterior.
Para coordinar la transferencia es necesario un protocolo, que es un conjunto de pasos
donde sólo se llega a la siguiente etapa si el emisor y el receptor están de acuerdo.

Para ello el bus dispone de un conjunto de líneas adicionales y no usa reloj.

Por ej. Una de lectura tiene las siguientes líneas de control:

Lectura: Quien la activa, indica que quiere una lectura

RDY: La activa el microprocesador o la Memoria e indica que los datos están


estabilizados en el bus

ACK: Quien la activa reconoce que ha detectado y procesado la activación de alguna


línea anterior.

VENTAJAS:

Facilidad para conectar elementos de diferentes velocidades


Fiabilidad: la recepción siempre se confirma.

DESVENTAJAS:

El intercambio de señales de control introduce retardos adicionales


A igualdad de velocidades de los dispositivos, menos eficiente que el síncrono

LECTURA ASÍNCRONA

0: El maestro (uP) activa las direcciones y la petición de lectura.


1: El esclavo (Memoria) lee las direcciones y avisa activando ACK.
2: El uP detecta el reconocimiento y desactiva las direcciones y la petición de bus.
3: La Memoria detecta que cesa la petición y desactiva el reconocimiento.
4: Al transcurrir el tiempo de acceso, la Memoria activa los datos y los valida.
5: El microprocesador lee los datos y los reconoce.
6: La Memoria detecta el reconocimiento y desactiva los datos y su validación.
7: Para finalizar, el microprocesador elimina el reconocimiento.

1.7.1.3 PROTOCOLO SEMISÍNCRONO

21
 Las transferencias se rigen por una única señal de reloj.
 Cada transferencia puede ocupar uno o varios periodos de reloj.
Existen versiones síncrona y asíncrona.
 Se usa cuando es necesario aumentar el ancho de banda del bus.
 Realizan la transferencia de mas de una palabra (bloque).
 Se especifica solo la dirección de comienzo ya que se supone que
las siguientes son consecutivas.
 Muy usado en los buses del microprocesador para acceder a zonas
de memoria y almacenarlas en caché.

 Señal de WAIT (puede activarla cualquier Slave sin no es capaz


de realizar la transferencia en 1 solo ciclo).
 Dispositivos Rápidos: Operan como en un bus síncrono (una
transferencia por ciclo).
 Dispositivos Lentos: Activan la señal de WAIT y congelan
actuación del Master (una transferencia puede ocupar varios
ciclos).

EJEMPLO DE TRANSFERENCIA DE BLOQUES ASÍNCRONA

Usa las siguientes líneas de sincronización:

AS y DS: líneas de validación de dirección y datos y son activadas por el


microprocesador. AK y DK: líneas de reconocimiento de dirección y datos y son
activadas por la Memoria. En cada activación de la pareja DS y DK se envía un nuevo
dato sin enviar una nueva dirección. El ciclo finaliza con la desactivación de AS y AK.

1.7.1.4 PROTOCOLO CICLO PARTIDO

Primero, el microprocesador lee un dato, lo modifica y luego


escribe el resultado en la misma posición. Usado en sistemas
multiprocesador con memoria compartida.

Mientras un microprocesador accede a un dato para modificarlo


los demás no deben acceder a esa posición hasta que el dato haya
sido actualizado. Mejora el rendimiento del bus en las
operaciones de lectura, el ciclo de lectura se divide en que el

22
master envía al slave la petición de lectura y deja el bus libre,
cuando el slave dispone del dato solicitado, inicia un ciclo de bus
y envía el dato al master (slave actúa como master del bus)

Desventajas:

 Lógica más compleja: Ambos dispositivos deben ser capaces de actuar


como Master y como Slave.
 Necesidad de incluir un protocolo de arbitraje.
 Implementa una secuencia de eventos ininterrumpible.

Ejemplo de transferencia Ciclo Partido Asíncrona

 Se produce una lectura sincronizada con DS y DK.


 Se produce una escritura sin dar una nueva dirección.
 Durante toda la transferencia el bus permanece bloqueado hasta la
desactivación de AS y AK.

1.8. ARBITRAJE DE BUSES

La función principal es que impide que varios módulos usen el bus en forma simultánea

CARACTERÍSTICAS:

 Priorización de peticiones: La prioridad más alta será el próximo


dueño del bus.
 Juego limpio (fairness): Cualquier dispositivo tarde o temprano podrá
usar el bus.
 Reducción al máximo tiempo de arbitraje: el proceso se solapa con
las transferencias de datos.

FUNCIÓN:

 Garantizar el acceso al bus libre de conflictos cuando existen varios


microprocesadores alternativos
 Procesador + Controladores DMA
 Procesador + Procesador de E/S + Coprocesador matemático + ...

23
 Sistema multiprocesador
 La forma más simple consiste en que no haya arbitraje, o sea un solo
microprocesador controla el bus.
 La alternativa es tener varios maestros de bus con algún mecanismo
de arbitraje de bus.

TIPOS DE PROTOCOLOS DE ARBITRAJE:

 Centralizados: Un sólo arbitro es responsable de asignar el bus.


 Arbitraje en serie (daisy chain arbitration).
 Arbitraje paralelo centralizado.
 Arbitraje distribuido por auto selección.
 Arbitraje distribuido por detección de colisión.

 Distribuidos: Todos los módulos deciden entre sí cual será el próximo maestro.
 Protocolo de líneas de identificación.
 Protocolo de códigos de identificación.

1.8.1. ARBITRAJE EN SERIE (DAISY CHAIN ARBITRATION)

La línea de concesión de bus (grant), recorre los dispositivos desde el mas hasta
el menos prioritario. Las prioridades se determinan en función de la posición del
dispositivo en el bus.

1.8.2. ARBITRAJE PARALELO CENTRALIZADO.

Se utilizan múltiples líneas de petición, por las que los diferentes


dispositivos piden acceso al bus de forma independiente. Un arbitro
centralizado selecciona uno de entre los dispositivos que han solicitado el
bus y le notifica que ahora es el maestro del bus.

1.8.3. ARBITRAJE DISTRIBUIDO POR AUTOSELECCION.

24
Se emplean también múltiples líneas de petición de bus, pero ahora cada
dispositivo determina de forma independiente si el es el solicitante de
mayor prioridad sin necesidad de un arbitro.

1.8.4. ARBITRAJE DISTRIBUIDO POR DETECCION DE COLISION

Cada dispositivo solicita de forma independiente el bus. En caso de


múltiples peticiones simultáneas de bus se produce una colisión. Una vez
detectada la colisión se aplica un esquema que determine el dispositivo
que será maestro de bus entre las partes en colisión.

1.8.5. PROTOCOLO DE LÍNEAS DE IDENTIFICACIÓN

FUNCIONAMIENTO:

 Cuando un master quiere tomar el control del bus activa su línea de


identificación
 Cada línea de identificación tiene asignada una prioridad:
Prioridad(ID0)<Prioridad(ID1)< ....< Prioridad(IDn-1)
 Si varios microprocesadores activan simultáneamente sus líneas de
identificación, gana el de mayor prioridad
 Funcionamiento alternativo: las prioridades pueden ser variables

DESVENTAJAS:

NÚMERO DE DISPOSITIVOS LIMITADO POR EL NÚMERO DE LÍNEAS DE ARBITRAJE

M0 M1 Mn-1

ID0
ID1

IDn-1

1.8.6. PROTOCOLO DE CÓDIGOS DE IDENTIFICACIÓN

FUNCIONAMIENTO:

 Cada master tiene un código de identificación de “n” bits


(máximo 2n microprocesadores)
 Existen “n” líneas de arbitraje: ARB0, ARB1, ..., ARBn-1
 Cuando un microprocesador quiere tomar el control del
bus pone su código en las “n” líneas de arbitraje
 Si varios microprocesadores compiten por el bus, gana el
de mayor identificador

25
M0 M1 Mk-1 Siendo k  2n

ARB
0
ARB
1

ARBn-1

1.9. INTERFACES DE COMUNICACION

Los enlaces con el exterior conectan los controladores de E/S con sus dispositivos
periféricos asociados.

Ejemplos de estos enlaces son los buses dedicados de E/S que conectan la impresora
con el ordenador (interfaz centronics), el cable del módem (interfaz RS232), los cables
de los discos (interfaz IDE, SCSI, S-ATA), el cable del teclado o incluso el de un ratón.

El objetivo a la hora de diseñar estos elementos es doble. Por una parte, para los
dispositivos que necesitan un ancho de banda pequeño se trata de diversificar lo más
posible los protocolos Para poder conectar un mayor abanico de dispositivos diferentes,
como por ejemplo, pone de manifiesto el bus USB. Sin embargo para otros dispositivos,
como los de almacenamiento masivo, el objetivo principal del enlace con exterior es el
de incrementar el ancho de banda al máximo.

1.9.1. TIPOS DE INTERFACES

Dentro de la estructura jerárquica de buses que presentan los sistemas


informáticos, destacan aquellos que son útiles para conectar el ordenador con el
mundo exterior. Se caracterizan porque son los más lentos, tienen una menor
longitud de palabra y menores velocidades de transferencia de datos. Su diseño
se basa en un estándar para permitir la interconexión de dispositivos de
diferentes fabricantes.

Los buses de E/S se utilizan en las operaciones de E/S para llevar los datos desde
el periférico hacia su controlador. Como ejemplos se puede citar la conexión
existente entre el disco duro y su controlador, la conexión con la impresora o con
un terminal serie y y también la conexión a una red informática.

Las operaciones que tienen lugar y los protocolos que se siguen en las
transferencias se unifican en una serie de estándares que hacen más fácil la
interconexión de dispositivos con características similares. A todos los elementos
hardware y software que hacen posible la conexión entre dos unidades diferentes
se les denomina interfaz. Esta interfaz debe estar diseñada según las
características del periférico al que se accede para poder obtener el mayor
rendimiento posible. Normalmente se distingue entre interfaces serie e interfaces
paralelas.

26
Interfaz serie: Se utiliza una única línea para transmitir los datos, interfaz
paralela: Se utilizan varias líneas de datos para transmitir múltiples bits de forma
simultánea.

Se puede realizar otra posible clasificación si se tienen en cuenta el número de


dispositivos y de controladores que se pueden conectar a través de un enlace de
comunicación. Se pueden distinguir las conexiones punto a punto y las
conexiones multipunto. Una conexión punto a punto dedica un enlace
exclusivamente para conectar el módulo de E/S y el dispositivo externo. En los
sistemas pequeños se utiliza este sistema para conectar teclados, impresoras y
módems. Un ejemplo típico de esta interfaz es la especificación EIA-232 de
conexión serie.

De mayor importancia son las interfaces externas multipunto, utilizadas en los


dispositivos de almacenamiento secundario y dispositivos multimedia. Estas
interfaces son realmente buses externos y utilizan la misma lógica que el bus del
sistema permitiendo conectar múltiples dispositivos a través del mismo cable.

1.9.1.1. INTERFAZ SERIE

La conexión a través de esta interfaz es muy importante debido a


su gran flexibilidad. En los ordenadores personales la interfaz se
utiliza para conectar múltiples dispositivos como cámaras
fotográficas, celulares, unidades de almacenamiento extraíbles,
plotters, módems, ratones, impresoras, etc.

En la transmisión Serie se van transfiriendo los bits de


información uno a uno a través de una línea de datos. Si se
utilizan señales adicionales (reloj o señales de petición y
reconocimiento) para indicar cuándo el bit siguiente es válido,
entonces se dice que la transmisión se realiza de forma síncrona.
La principal ventaja de este tipo de transferencias es que el
receptor puede funcionar a varias frecuencias de reloj (siempre
que no se sobrepase su frecuencia máxima de funcionamiento).
Simplemente bastará con retrasar el envío de la señal de
reconocimiento para relentizar el protocolo.

En las transferencias Asincronas, por el contrario, tanto el


receptor como el transmisor deben funcionar a la misma
frecuencia. En este caso se envía también información de
sincronización a través de línea de datos, que se corresponde con
un bit de comienzo (bit de start), que indica el comienzo de una
unidad de datos, un (bit de stop) indicando su finalización y
opcionalmente un bit de paridad para controlar los posibles
errores.

El bit de paridad lo generan los controladores serie de forma


automática, pudiendo configurarse entre las opciones de: sin
paridad, paridad par (odd), paridad impar (even), siempre un nivel
alto (mark) o siempre un nivel bajo (space).

27
Las tasas de transferencia de datos se miden en baudios. Los
baudios indican el número de veces que puede cambiar una señal
línea de transmisión por segundo. En una interfaz serie, las
señales cambian siempre a la misma frecuencia se realiza una
codificación binaria de la información de forma que cuando se
quiere enviar un ‘1’ se pone la línea a nivel alto y cuando se
quiere enviar un ‘0’ se pone la línea a nivel bajo. En este caso los
baudios coinciden con el número de bits por segundo transferidos
si se incluyen también los bits de comienzo, de fin y el de paridad.

Para poder realizar una transferencia asíncrona, tanto el emisor


como el receptor se deben poner de acuerdo en la frecuencia de
transmisión de datos y en la forma de las tramas que se van a
enviar: numero de bits de datos, de comienzo, de fin y tipo de
paridad.

Después de la recepción de una trama, se pueden producir los


siguientes errores:

 Error de trama (Framing Error): Se produce cuando el


receptor detecta un bit de stop en un momento que no le
corresponde, puesto que no se adapta a la forma de las
tramas que se espera recibir.
 Error de rotura (Break Error): Se produce cuando se
detecta que la línea está a nivel bajo durante un tiempo
mayor al que se tarda en enviar una trama completa. Esto
es así ya que por defecto, cuando no se utiliza la línea,
permanece a nivel alto.
 Error de desbordamiento (Overrun Error): Se produce
cuando la CPU aún no ha recogido los datos del
controlador y de nuevo llegan nuevos datos que
sobreescriben los primeros.
 Error de paridad (Parity Error): En este caso la paridad
que calcula el receptor con los datos que le llegan no
coincide con la paridad recibida.

1.9.1.2. LA INTERFAZ RS-232C

Este estándar lo incorporan todos los ordenadores personales y


está definido por la EIA (Electronic Industries Association)
aunque en Europa se le conoce como el estándar V.24 definido
por la CCITT (Comité Consultivo Internacional para Telefonía y
Telegrafía). En él se definen todas las características mecánicas,
eléctricas y los protocolos necesarios para conectar un equipo
eléctricas de datos (DTE: Data Terminal Equipment) con un
equipo transmisor de Datos (DCE: Data Carrier Equipment).

Inicialmente se definió para realizar la comunicación entre un


ordenador personal y un módem, aunque actualmente se utiliza

28
ordenador personal y un módem, aunque actualmente se utiliza
con muchos otros propósitos para enviar datos de forma
serializada.

En la siguiente tabla se recoge la definición de las señales tanto


para los conectores de 25 pines como para los de 9 pines.

Cuando se conecta un módem al ordenador, la comunicación


puede ser simplex en el caso de que sea únicamente el DTE el que
envíe datos al DCE, half-duplex cuando se transmita en ambos
sentidos de forma no simultánea o full-duplex cuando la
comunicación se da en ambos sentidos de forma simultánea, ya
que existen dos líneas de datos, una de envío y otra de recepción.

Si se realiza una comunicación de tipo simplex para transferir


datos desde el DTE al DCE se utiliza la línea TD para transferir
los datos, la línea DSR la utiliza el DCE para sincronizarse con el
DTE y evitar por ejemplo los desbordamientos de datos y las
demás líneas no se utilizan o están activas constantemente.

Si los datos se envían en el sentido opuesto, el DCE utiliza la


línea RD para transferir los datos al DTE. Puede utilizar también
la línea DCD para indicarle al DTE que un dispositivo externo
quiere realizar una transferencia y empezar la transferencia
cuando el DTE le contesta que está disponible activando la línea
DTR. Esta misma línea se utilizará para sincronizar la
transferencia.

En una transferencia half-duplex se utilizan tanto la línea TD para


transmitir datos como la RD para recibir, pero nunca se hará uso
de de las dos líneas de forma simultánea. Para sincronizar la
transferencia se utilizan las líneas RTS y CTS. Cuando el DCE
quiere enviar datos al DTE activa la línea DCD y espera a que el
DTE le conteste activando la línea DTR.

29
En las transferencias full-duplex, utilizadas por ejemplo, en la, en
la mayoría de las conexiones con los módems, se pretende que no
hayan esperas, por lo que a veces no se utilizan las líneas de
sincronización DTR, DSR, RTS y CTS, que permanecen activas
durante todo el tiempo (por ejemplo, en el caso de la
configuración null-modem : modem-nulo).

El estándar define voltajes que oscilan entre +[3-15] V para el


nivel alto y -[3-15]V para el nivel bajo. Debido a la gran
diferencia de voltaje que existe entre los niveles altos y bajos, se
permiten tasas de transferencia de hasta 115.200 baudios si la
longitud del cable le es de unas pocas decenas de metros.

Si se utiliza este estándar para conectar otros periféricos


diferentes a los módems, éstos se comportan como dispositivos
DTE y por lo tanto las señales cambian de significado, e incluso
las señales DCD y RI dejan de utilizarse formando una conexión
null-modem.

Si se conecta una impresora, el principal problema reside en que


el PC puede transmitir los datos con gran rapidez y se puede
desbordar el buffer de recepción de la impresora.

La solución reside en conectar el pin 19 de la impresora, que


indica que el buffer está lleno a la señal del ordenador DSR,
indicando cuándo está preparado para recibir más datos.

30

También podría gustarte