CAPITULO 3
Buses del Sistema
INF 150
INFORMATICA 2
Concepto de Programa
• Se pueden interconectar diversos componentes
lógicos para realizar una determinada función.
El programa resultante es HW y se le denomina
HARDWIRED PROGRAM (programa
cableado)
• En HW de uso general, realiza distintas
funciones según las señales de control
aplicadas.
• En el segundo caso, se pueden generar
nuevos programas proporcionando
nuevas señales de control.
Programa
• Es una secuencia de pasos
• En cada paso, se realiza una operación
aritmética o lógica.
• Para cada paso, se requiere un conjunto de
señales de control
• Solución: Asociar un código específico a cada
posible conjunto de señales de control, y
agregar hw que interprete cada instrucción y
genere las señales de control
Componentes
• La CPU: Compuesta de un intérprete de
instrucciones (UC) y un módulo de uso general
para las funciones aritméticas y lógicas.
• Los datos e instrucciones deben ingresarse al
sistema. Se requiere algún tipo de módulo de
entrada y un módulo de salida para mostrar
resultados.
• Se requiere almacenar datos e instrucciones:
Memoria.
Componentes:
Esquema
de dos
niveles
Ciclos de Captación y Ejecución
Ciclo de Captación
• El PC posee la dirección de la próxima
instrucción a ejecutar
• Procesador mueve la instrucción apuntada por
PC al Registro de Instrucción (RI)
• Incrementa el PC
• Se interpreta la instrucción y se envían las
órdenes de control.
Ciclo de Ejecución
• Procesador - memoria
– Transferencia de datos entre la CPU y la
memoria
• E/S procesador
– Transferencia entre CPU y módulo de E/S
• Procesamiento
– Operaciones aritméticas y lógicas
• Control
– Alteración de secuencia de control (Ej. Salto)
Ejemplo de Ejecución del
Programa
Ciclo Instrucción: Diagrama de
Estado
Interrupciones
• Mecanismo por el cual los módulos pueden
“interrumpir” el procesamiento normal de la
CPU.
• Tipos:
– Programa: Resultado de la ejecución de una
instrucción (overflow)
– Temporización: Reloj
– E/S: Controlador de E/S
– Fallo de HW.
Flujo de Control de Programa
Ciclo de Interrupción
• Agregado al ciclo de instrucción
• Procesador consulta interrupciones
pendientes
– Si no hay, continua la ejecución próxima instr.
– Si hay:
•
•
•
•
•
Se suspende ejecución del programa actual
Guarda el contexto (valores de registros, etc.)
Ejecuta la @ de rutina de atención de interrupción.
Al terminar, retorna los valores de contexto
continua la ejecución del programa.
Transferencia de Control debido a
una interrupción
Ciclo de instrucción con
interrupciones
Temporalización de un programa:
E/S corta
Temporalización de un programa:
E/S larga
Diagrama de estado de un ciclo de
instrucción con interrupciones
Interrupciones Múltiples
• Inhabilitar interrupciones (disable interrupt)
– Se ignoran nuevas interrupciones mientras se
está atendiendo una
– Al terminar la interrupción, se detecta si hay
pendientes.
– Las interrupciones se atienden en forma
secuencial
Interrupciones Múltiples
Interrupciones Múltiples
• Prioridades
– Interrupciones pueden ser interrumpidas por
otras de mayor prioridad
– Al terminar la de mayor prioridad, se continua
ejecutando la anterior.
Interrupciones Múltiples
Secuencia temporal de múltiples
interrupciones
Estructura de Interconexión
• Conjunto de líneas que conectan los diversos
módulos
• Memoria: N palabras de una misma longitud,
cada una con una dirección única
– Señales control read y write
– La posición de memoria se especifica mediante
una dirección.
Estructura de Interconexión
• Modulo E/S: funcionalmente similar a
memoria
–
–
–
–
–
Operaciones leer y escribir.
Cada módulo puede controlar varios dispositivos
Cada módulo identificado por un número (puerto)
Líneas externas de datos externas E/S
Un módulo puede enviar señales de interrupción
Estructura de Interconexión
• Procesador: lee instrucciones y datos
– Escribe datos procesados
– Utiliza señales para controlar el funcionamiento del
sistema
– Recibe señales de interrupción
Estructura de Interconexión
Tipos de Transferencia
• Memoria a procesador: Lectura de datos o
instrucción desde memoria
• Procesador a memoria: Procesador escribe
un dato a memoria
• E/S procesador: Procesador lee datos desde
un dispositivo de E/S a través de un módulo.
• Procesador a E/S: Procesador envía datos al
dispositivo de E/S
• Memoria a E/S y viceversa: Usando acceso
directo a memoria (DMA)
Buses
• Camino de comunicación entre dos o más
dispositivos.
• Medio de transmisión compartido
– Varios dispositivos conectados, las señales
transmitidas por uno de los dispositivos está
disponible para los otros disp. Conectados al bus
– Error si dos dispositivos envían señales al mismo
tiempo.
Buses
• Varios caminos (o líneas), cada una capaz de
transmitir un bits c/u
• En un período de tiempo se pueden enviar un
conjunto de bits.
• Se pueden utilizar varias líneas para
transmitir varios bits en forma simultanea
(paralelo).
– P.E.: Se puede enviar 8 bits (1 bytes) por 8 líneas.
• El bus que conecta los componentes
principales del computador se denomina bus
del sistema.
Líneas de Datos
• Permiten transmitir datos entre módulos
• La cantidad de líneas se denomina “anchura
del bus de datos”, generalmente 8,16 0 32.
• La anchura determina la cantidad de bits
máximo que pueden transmitirse
simultáneamente.
• Si anchura es menor a la cantidad de bits de
las instrucciones, se requerirá accesar a la
memoria mas de un vez por cada ciclo de
instrucción.
Líneas de Dirección
• Permiten identificar el origen o destino del
dato situado en el bus de datos.
• La anchura del bus de direcciones determina
la capacidad máxima de memoria del
sistema.
Líneas de Control
• Se utilizan para controlar el acceso y el uso
de las líneas de datos y de direcciones.
• Transmiten órdenes como información de
temporalización entre módulos del sistema
• Temporalización indican la validez de los
datos y la direcciones.
• Las señales de órdenes especifican las
operaciones a realizar.
Líneas de Control Típicas
•
•
•
•
•
•
•
•
•
•
•
Escritura en memoria
Lectura en memoria
Escritura de E/S
Lectura de E/S
Transferencia Exitosa (ACK)
Solicitud del Bus (Bus Request)
Cesión del Bus (Bus Grant)
Solicitud de interrupción
Interrupción Aceptada (Interrupt ACK)
Reloj (Clock)
Re-Inicio (Reset)
Buses
• Si un módulo desea enviar un dato a otro
módulo, debe:
– Obtener el uso del bus
– Transferir la información mediante las líneas de
control y dirección apropiadas.
Esquema de Interconexión
mediante bus
Jerarquías de los Buses
• Si se conecta un gran número de dispositivos
al bus, las prestaciones pueden disminuir
– Mayor retardo de propagación
• Tiempo de coordinación en el uso del bus
– Cuello de botella si las peticiones de
transferencias acumuladas se aproximan a la
capacidad del bus.
• Se puede resolver si se aumenta la velocidad del bus y el
ancho de éste.
• Es común que los computadores utilicen
varios buses, normalmente organizados en
forma jerárquica
Arquitectura de Bus Tradicional
Arquitectura de Altas Prestaciones
Tipos de Buses
• Dedicado:
– Líneas asignadas a una función (datos, dirección o control) o
a un subconjunto de componentes.
• Multiplexado:
– Uso de las mismas líneas para distintas funciones. Por
ejemplo, usar líneas para envío de datos y direcciones,
mediante señales de control se interpretan de una u otra
forma.
– Múltiplex ión de división en el tiempo (TDM)
– Ventaja: Menos líneas.
– Desventaja: Mayor circuitería.
– Dedicación física: Varios buses, cada uno conecta sólo un
subconjunto de módulos
Método de Arbitraje
• Quien utiliza el bus en un determinado
instante?
• Centralizado:
– Un solo dispositivo de HW (controlador del bus),
se encarga de asignar los tiempos en el bus
– Puede ser un módulo independiente o parte de la
CPU
• Distribuido
– No existe un controlador central
– Cada módulo dispone de lógica para controlar el
acceso, y en forma conjunta comparten el bus
Temporización
• En que forma se coordinan los eventos en el
bus.
• Síncrona:
– Un reloj determina la presencia de eventos en el
bus
– Línea de reloj, envía señales periódicas (ciclos de
reloj). Entre una señal y otra, existe un intervalo de
tiempo (time slot)
– Todos los eventos comienzan el principio del time
slot
• Asincrona
– Los eventos ocurren como consecuencia de un
evento previo.
Temporización Síncrona
Temporización Asíncrona
Anchura del bus
• Cuanto más ancho es el bus de datos,
mayor cantidad de datos se transmiten por
vez
• Cuanto mas ancho es el bus de
direcciones, mayor es el rango de
posiciones al que se puede hacer
referencia.
Tipos de transferencia de Datos
• Transferencia Escritura (maestro a
esclavo)
• Trasferencia Lectura (esclavo a maestro)
FIN
Capítulo 3
Descargar

CAPITULO 3 Buses del Sistema