Você está na página 1de 42

BUSES DEL SISTEMA

OAC-I

Ing. Luis Alberto Sota Orellana

2016-II
Introduccin
Es el elemento responsable de establecer una correcta interaccin
entre los diferentes componentes del ordenador, es por lo tanto, el
dispositivo principal de comunicacin.
En un sentido fsico, su descripcin es: conjunto de lneas de
hardware (metlicas o fsicas), utilizadas para la transmisin de datos
entre los componentes de un sistema informtico.
En cambio, en sentido figurado es: una ruta compartida, que conecta
diferentes partes del sistema.

En Informtica, bus es el conjunto de conductores elctricos en forma


de pistas metlicas impresas sobre la tarjeta madre del computador,
por donde circulan las seales que corresponden a los datos binarios
del lenguaje mquina con que opera el Microprocesador.
Componentes del Computador

Virtualmente todos los diseos de los computadores


actuales se han diseado basndose en la
Arquitectura de Von Neumann y se basa en tres
conceptos fundamentales:
Los datos y las instrucciones se almacenan en una sola
memoria de lectura-escritura.
Los contenidos de esta memoria se direccionan indicando
su posicin, sin considerar el tipo de dato contenido en la
misma.
La ejecucin se produce siguiendo una secuencia de
instruccin tras instruccin.
Componentes del Computador

Si se desea realizar un
Hardware Especifico calculo concreto, es
posible construir una
Secuencia de Resultados
configuracin de
Datos componentes lgicos
Funciones
lgicas y
diseada especficamente
para dicho calculo.
aritmticas Si se construyesen de
esta forma, el hardware
Programacin Hardware obtenido tendra un uso
muy restringido.
El sistema acepta datos y
produce resultados
Componentes del Computador

Hardware de uso General Este hardware realiza


Cdigos de funciones diferentes
Instruccin
segn las seales de
control aplicadas.
El sistema acepta datos
Interprete de y seales de control y
Instrucciones produce resultados.
En lugar de reconfigurar
Seales de el hardware para cada
Control nuevo programa, el
programador
Datos Funciones Lgicas Resultados simplemente necesita
y aritmticas proporcionar un nuevo
de uso general conjunto de seales de
control.
Programacin Software
El Funcionamiento del Computador

Inicio
La captacin es una
operacin comn a todas
las instrucciones, consiste
Captura la Ciclo de en la lectura de la
siguiente captacin instruccin de una posicin
instruccin
de memoria.
La ejecucin de la
Ejecuta Ciclo de instruccin puede suponer
la ejecucin varias operaciones y
Instruccin depende de la naturaleza de
la instruccin.

Parada
Posiciones de almacenamiento

01 Palabra nmero 39

Bit de signo
Palabra Instruccin
Ins. Izquierda Ins. Derecha

0 8 19 20 28 39

Codop Direccin Codop Direccin


AC MQ

Circuitos
Estructura aritmtico-lgicos
Equipos
E/S

La Unidad de Control MBR


interpreta la
instruccin y lleva a
cabo la accin
requerida. En
general, sta puede
ser de cuatro tipos:
IBR PC
CPU Memoria.
CPU E/S.
Procesamiento de IR MAR
Datos. Direcciones
Memoria
Control. Circuitos Principal
Seales
de Control de Control
Ejemplo de ejecucin de un Programa
Ciclo de Instruccin Bsico

Almacenamiento
Captacin Captacin de
de de Operando
Instruccin Operando

Varios Varios
operandos resultados

Clculo de Decodificador Clculo de Operacin Clculo de


Direccin de de direccin con direccin de
instruccin Operacin de operando datos operando

Siguiente Cadena
Instruccin O Vectores
Interruptores

Prcticamente todos los computadores disponen de un


mecanismos mediante el que otros mdulos (E/S, memoria)
pueden interrumpir el procesamiento normal de la CPU. Las
clases de interrupciones ms comunes son:
Programa: Generados por alguna condicin que se produce como
resultado de la ejecucin de una instruccin, tal como
desbordamiento aritmtico (overflow), divisin por cero, intento de
ejecutar una instruccin maquina inexistente, e intento de acceder
fuera del espacio de memoria.
Temporizacin: Generadas por un temporizador interno al
procesador. Esto permite al sistema operativo realizar ciertas
funciones de manera regular.
E/S: Generadas por un controlador de E/S, para indicar la
finalizacin sin problemas de una operacin para avisar de ciertas
condiciones de error.
Fallo de Hardware: Generadas por un fallo tal como la falta de
potencia de alimentacin o un error de paridad en la memoria.
Peticin de interrupcin IRQ ("Interrupt
Request")

El "modus operandi" es como sigue: Cuando se recibe la peticin de


interrupcin, el procesador termina la instruccin que est ejecutando; guarda
el contenido de los registros; deshabilita el sistema de interrupciones; ejecuta
el "servicio", y vuelve a su punto de ejecucin. El servicio suele terminar con
una instruccin ("Interrupt Return") que restituye el contenido de los registros y
vuelve a habilitar el sistema de interrupciones. Para su gestin existen tres
tipos de elementos de soporte:
Ciertas lneas especficas (IRQ's) en el bus de control
El controlador de interrupciones (PIC). Un procesador especfico que realiza cierta
elaboracin previa de las peticiones antes de entregar la seal a la CPU.
Ciertas patillas especficas en el procesador.
El resumen del proceso es como sigue: Un perifrico, tarjeta o dispositivo
necesita atencin; a tal efecto pone en tensin baja una de las lneas IRQ del
bus de control (que le haba sido asignada). La seal es recogida por el PIC,
que la procesa, la clasifica, y enva una seal a una de las patillas del
procesador. A continuacin el procesador se da por notificado y pregunta que
tipo de excepcin debe atender. Como respuesta, PIC asigna un nmero de
servicio (0-256) en forma de un octeto que es colocado en el bus de datos, con
lo que estamos en el punto inicial del proceso.
Lneas de peticin de interrupcin
Nivel de prioridad
El PIC dispone de 16 niveles de prioridad, numerados del 0 al 15, de forma
que los de nmero ms bajo se atienden antes que los de nmero ms
alto. La asignacin a cada nivel es como sigue:

Como puede verse, la prioridad ms alta se asigna a las interrupciones no enmascarables


(NMI ) para el control interno. A continuacin se atienden IRQ0 e IRQ1; asignadas como
hemos visto al cronmetro del sistema y al teclado (el cronmetro no puede ser
interrumpido por nadie porque perdera la hora). Despus se atienden las peticiones
IRQ8 a IRQ15 del controlador esclavo, que hereda la prioridad de IRQ2 de la que est
colgado (en realidad no existe IRQ2). A continuacin se atienden las IRQ3 a IRQ7. Las
peticiones de prioridad ms baja son las del controlador estndar de disquetes (IRQ6) y las
del puerto de impresora LPT1 (IRQ7).
Estructuras de Interconexin

Un computador esta constituido por un conjunto de unidades o


mdulos de tres tipos elementales (CPU, memoria, E/S) que se
comunican entre si. En efecto, un computador es una red de
mdulos elementales. Por consiguiente, deben existir lneas
para interconectar estos mdulos.
El conjunto de lneas que conectan los diversos mdulos se
denomina estructura de interconexin. El diseo de dicha
estructura depender de los intercambios que deban
producirse entre los mdulos.
Memoria.
Modulo de E/S.
CPU.
Modulo de Memoria

Generalmente, un modulo de memoria esta constituido por N


palabras de la misma longitud. A cada palabra se le asigna una
nica direccin numrica (0, 1, , N-1). Una palabra de datos
puede leerse de o escribirse en la memoria, el tipo de
operacin se indica mediante las seales de control Read
(Leer) y Write (Escribir). La posicin de memoria para la
operacin se especifica mediante una direccin.
Modulo de Entrada y Salida
Desde un punto de vista interno (al computador), la E/S es
funcionalmente similar a la memoria. Hay dos tipos de operaciones, leer
y escribir. Adems, un modulo de entrada y salida puede controlar mas
de un dispositivo externo. Nos referimos a cada una de estas interfaces
con un dispositivo externo con el nombre de puerto (port), y se
asignara una direccin a cada uno (0, 1, , M-1). Por otra parte, existen
lneas externas de datos para la entrada y la salida de datos por un
dispositivo externo. Por ultimo un modulo de E/S puede enviar seales
de interrupcin a la CPU.
Modulo de CPU

La CPU leer instrucciones y datos, escribe datos una


vez los ha procesado, y utiliza ciertas seales para
controlar el funcionamiento del sistema. Tambin
puede recibir seales de interrupcin
Estructura de Interconexin

El conjunto de lneas que conectan los diversos


mdulos se denominan estructura de
interconexin, que debe dar cobertura a los
siguientes tipos de transferencia:
Memoria a CPU: La CPU lee una instruccin o un dato
desde la memoria.
CPU a Memoria: La CPU escribe un dato en la memoria.
E/S a CPU: La CPU lee datos de un dispositivo de E/S a
travs de un mdulo de E/S.
CPU a E/S: La CPU enva datos al dispositivo de E/S.
Memoria a E/S y viceversa: En estos dos casos, un
mdulo de E/S puede intercambiar datos directamente con
la memoria, sin que tenga que pasar a travs de la CPU,
utilizando el acceso directo a memoria (DMA).
Interconexin con Buses
Un bus es un mecanismo de interconexin entre las distintas unidades
funcionales de las que se compone un dispositivo digital.
Lo ms caracterstico es que es un medio de transmisin compartido.
No responde nicamente al establecimiento de un camino fsico, sino que
adems conlleva una poltica de uso y acceso por parte de todos y cada uno
de los elementos conectados a l.
Habitualmente un bus est compuesto de varias lneas dnde cada lnea es
capaz de transmitir seales binarias representando 1 0.
Si se transmiten varios bits simultneamente por diferentes lneas se dice
que es una transmisin paralela.
Bsicamente los elementos que definen un BUS y que permite distinguir
fcilmente unos de otros son:
El arbitraje o mtodo de obtencin de permiso para acceder al medio.
La temporizacin o mtodo de sincronizacin.
La anchura del bus o nmero de bits o lneas de direcciones y datos.
Los computadores actuales llevan varios tipos de buses, siendo el principal
de ellos el denominado Bus del sistema que conecta el procesador con la
memoria y con los mdulos de E/S.
Estructura del Bus
EL bus del sistema est constituido entre 50 y 100 lneas. Cada lnea
tiene un significado particular. Generalmente se subdividen en tres
grupos:
Lneas de datos.(Anchura del Bus: 8, 16, 32).
Lneas de direccin (Tanto para memoria como para E/S).(Anchura 8, 16, 32)
Lneas de control.
Ancho de Banda del Bus

Bus de
Bus de datos
direcciones
Procesadores (bits)
(bits)
808680186 20 16
808880188 20 8
80286 24 16
80386 SX 32 16
80386 DX
80486 SX 32 32
80486 DX

PENTIUM PENTIUM II/III/IV


AMD K5/K6/K7
32 64
AMD ATHLON/THUNDERBIRD
AMD ATHLON XP/MP

INTEL ITANIUM
32/64 64/128
AMD ATHLON64
Conexin fsica del Bus del Sistema

Seales tpicas de control:


Escritura en memoria.
Lectura en memoria.
Escritura E/S.
Lectura E/S.
Transferencia reconocida
(ACK).
Peticin de Bus. (Bus Request).
Cesin del BUS (Grant)
Peticin de interrupcin.
Interrupcin reconocida.
Reloj.
Reset.

.
Funcionamiento del Bus
En general, si un mdulo desea enviar o recibir informacin de otro debe:
Obtener el derecho a hacer uso del bus.
Avisar al elemento destino de sus intenciones.
Transferir/recibir el dato
Liberar el bus.
Jerarqua de Buses
Las prestaciones del bus vienen en gran medida determinadas por el
ancho del bus y la velocidad del reloj que controla las transferencias.
Ambos aspectos tienen limitaciones de tipo tecnolgico y econmico.
Ahora bien, existen otros aspectos ms de ndole de diseo que son los
que ms nos interesan, en tanto en cuanto, podemos fcilmente
modificarlos:
En primer lugar, hay un retardo de propagacin en el bus a medida que
aumenta la longitud del mismo.
o Ej.: Veloc. Luz = 300.000 km/s. Es decir, en 1 ns recorre 30 cm.
Adems, ms tiempo consumido en circuitos de conmutacin.
En segundo lugar, la conexin de muchos dispositivos compitiendo por el
uso del bus hace que aumenten los tiempos de contencin. Dando lugar a un
ancho de banda efectivo inferior al disponible fsicamente segn las
especificaciones.
Estos problemas se pueden solventar mediante el uso de varios buses
interconectados de forma jerrquica y con diferentes anchos de banda y/o
velocidades de transferencia.
Jerarqua de Buses
De esta forma habr buses para dispositivos lentos, buses para
dispositivos rpidos y buses especializados (como los utilizados para
conectar aceleradores de grficos).
A continuacin se describen los buses genricos presentes en las
jerarquas.
1. Bus Local. Es el que interconecta el procesador (Unidad de control,
unidad aritmtico lgica y registros) con la memoria cach del procesador
(Cach de Nivel 1), y un controlador local de E/S.
2. Bus del Sistema. Permite conectar la Memoria principal a la Cach de
nivel 1. Adems se conecta con el adaptador para el bus de expansin.
3. Bus expansin. Se utiliza para conecta los dispositivos perifricos al
bus del sistema.
4. Bus de alta velocidad. No est presente en todas las arquitecturas.
Slo en las de altas prestaciones. Permite conectar dispositivos de alta
velocidad al bus del sistema a travs de la cach.
Arquitectura de Bus Tradicional
Ejemplos de Buses de expansin
tenemos los BUSES:
ISA (Industrial Standard Arquitecture): Introducido por IBM. De 8 y 16 bits con velocidades de
4,17 y 8,33 MHz. Respectivamente.
EISA (Extended ISA): Aparecin en los aos 88-89 para mejorar las prestaciones del BUS ISA.
16/32-bit 24/32-bit de direcciones 8.33 MHz Permite ms canales de interrupcin por
DMA
SCSI (Small Computer System Interface):
Diseado por Apple in 1984
Es la interfaz con una amplia variedad de dispositivos perifricos de alta velocidad.
Generalmente discos. Ms que un bus es un mecanismo daisy-chain con arbitraje distribuido
del tipo autoseleccin
Idneo para perifricos con pocos accesos pero de gran volumen de datos en cada operacin
de entrada salida.
La temporizacin puede ser sncrona o asncrona.
Longitud mxima: 25 m.
Tenemos dos tipos:
SCSI-1
Ancho de bus de 8-bit . Multiplexado para direcciones.
Reloj de 5 MHz clock Tasa de transmisin of 5 MB/s
Soporta hasta 7 dispositivos conectados.
SCSI-2
Estndar actual
Ancho de bus de 16 o 32 bits
Reloj a 10 MHz. 40 MB/s.
Hasta 31 dispositivos conectados.
Arquitectura de altas prestaciones
Ejemplos de buses de altas
prestaciones son los siguientes:

BUS PCI (Peripheral component Interconnect).


Suele ir montado en la placa base. Fue ideado por INTEL en 1990. En su primera versin,
algunas de sus caractersticas fueron:
64 lneas de datos Multiplexadas con direcciones a 33MHz.
Velocidad de transferencia de 264 Mbytes/s.
Temporizacin sncrona.
Gestin de prioridades centralizado. Con estrategias FIFO o Round-Robin (Cclico). Permite la
conexin de varios maestros.
Permite la interconexin de varios procesadores al mismo BUS.
Se pueden conectar hasta 32 dispositivos. Aunque cada uno de esos dispositivos puede ser un
Bus PCI, en este caso se puede llegar a montar hasta 1024 dispositivos.
Sin embargo, la versin ms moderna tiene las siguientes especificaciones:
32 64 lneas para datos, tambin multiplexadas para direcciones a 66 MHz
Velocidad de Transferencia de 528 MB/s 4.224 Gb/s.
El resto coincide con la versin anterior.
Algunas Variantes:
PCI 2.2, permite para bus de 64-bit con ancho y/o 66MHz seal (transferencia 533 MB/s)
PCI-X, 64-bit version de 2.2 que incrementa la tasa de datos a 133MHz (transferencia
1066 MB/s)
PCI-X 266 (o PCI-X DDR), "double-pumped" PCI-X para tasa de 266MHz (transferencia de
2133 MB/s)
Elementos de Diseo de un BUS.

A lahora de disear un bus, o a la hora de


analizarlo, hay varios aspectos a tener en
cuenta como son:
Tipo de bus.
Ancho del Bus.
Tipos de transferencias de datos.
Temporizacin.
Arbitraje.
Tipo de Conexin.

Multiplexada: Cuando el tipo de informacin que transportan


las lneas no es siempre el mismo. Por ejemplo, unas veces
lleva datos y otras veces, las mismas lneas llevan direcciones.
Ventaja: uso de menos lneas, cosa que ahorra espacio y,
normalmente, costes.
Desventaja: Se necesita una circuitera ms compleja en cada
modulo.
No Multiplexadas: O bien, se dispone de buses diferentes
para direcciones y datos, o bien, dentro del propio bus hay
lneas dedicadas a direcciones y datos.
Ventaja: Elevado rendimiento, debido a que hay menos
conflictos por el acceso al bus.
Desventaja: Es el incremento en el tamao y el coste del
sistema.
Ancho del Bus.

La anchura del bus afecta de diferente manera segn sea el de


direcciones o datos.
Cuanto mayor es el bus de direcciones, es decir, ms bits de
direcciones pueden ser transferidos simultneamente, mayor
es el nmero de direcciones accesible en memoria o en
dispositivos de E/S.
En cuanto al bus de datos, cuanto mayor es el bus de datos,
datos ms grandes pueden ser transferidos o se pueden
transferir varios datos independientes simultneamente pero
que estn contiguos en memoria. Esto produce un aumento de
velocidad por que disminuyen los accesos a memoria, tato
para recuperar datos como instrucciones.
Tipos de transferencias.

Hay varios tipos de transferencias que se pueden


llevar a cabo a travs de un bus, podemos
clasificarlas de acuerdo a varios criterios:
Segn el tipo de operacin: De lectura o de escritura.
Si el bus estuviera multiplexado, entonces habra de
especificarse primero la direccin y luego el dato.
Segn el nmero de operaciones a efectuar.
Transferencia simple. (Lectura o escritura de un solo dato).
Operacin Combinada.
Lectura para modificacin. Posibilidad de escritura. (Read for
updating)
Lectura-Escritura-Lectura
Transferencia por bloques. Transferencia secuencial.
Temporizacin.
El termino temporizacin hace referencia a la forma en la que se coordinan los eventos en el bus.
Consiste en las diferentes estrategias de sincronismo entre dispositivos para establecer las transferencias
de informacin.
Temporizacin sncrona: todas las transferencias ocurren sincronizadas por los flancos de la seal
de reloj que llegan a todos los dispositivos, ya sean maestros o esclavos.
Ventajas: es simple de implementar, no requiere circuitera de control adicional y es barato. Sirve para
interconectar dispositivos comparables.
La desventaja es que siempre se va a la velocidad del ms lento
Temporizacin
Temporizacin asncrona. Se basa en protocolos de interbloqueo
(handshaking o interlocking) que no precisan la existencia de una
seal de reloj. (Un evento origina el siguiente, y as sucesivamente).
Es ms difcil de implementar pero permite adaptar las velocidades de
transmisin de las diferentes tecnologas.
Arbitraje.

Elarbitraje es la poltica de asignacin del


bus en caso de que varios dispositivos
compitan por su uso.
Hay dos tipos generales de arbitraje:
centralizado o distribuido, segn se realice
por un mdulo central o cada mdulo tenga
una lgica de arbitraje incorporada.
Arbitraje centralizado.
Pongamos por ejemplo el arbitraje denominado Daisy-Chain:
1. Un maestro que desea usar el bus activa la seal comn de peticin de bus si observa que el
bus no est ocupado..
2. El rbitro activa la seal de bus ocupado.
3. El rbitro concede el bus al maestro 1.
4. Si este no lo necesita se la pasa al siguiente, y as sucesivamente hasta que llega al que
solicit el Bus.
5. Al terminarse se desactiva esta seal de peticin de bus, lo que hace que el arbitro desactive
la seal de concesin y la de bus ocupado.
Arbitraje centralizado.

Ventajas:
Sencillez: Podemos aadir nuevos maestros aadindolos
a la cadena donde queramos.
Desventajas:
La prioridad es fija, no es criterio justo.
La propagacin de seales es lenta.
Si un maestro casca, los de menor prioridad a este no
tendran acceso al bus, a no ser que queden puenteadas
las seales correspondientes de peticin de bus y
concesin de bus.
Arbitraje centralizado.(Alternativa)

En este caso, un dispositivo hace el arbitraje activando seales de control directas sobre los
diferentes maestros. Son lneas dedicadas de peticin/concesin de bus a cada mdulo
maestro.
El arbitraje lo realiza un mdulo central que puede elegir el tipo de poltica de asignacin de bus
que queramos (basado en prioridades, en velocidad de transmisin, en reparto de carga....).
Esta tcnica es ms flexible en cuanto a la poltica de asignacin del bus y emplea menor
tiempo en el arbitraje, sin embargo requiere el uso de ms lneas y hay una mayor limitacin en
el nmero de dispositivos que se pueden conectar al BUS.
Arbitraje distribuido.

Cada mdulo tiene un rbitro y un nmero de arbitraje


nico. Siempre tiene prioridad aquel con un nmero de
arbitraje ms alto.
Arbitraje distribuido. (Funcionamiento)

Todos los maestros que quieren el bus envan su nmero de


arbitraje a las lneas comunes de peticin concesin de Bus
(SBRG) del bus de arbitraje a travs de sus respectivos rbitros,
la seal de cada lnea es la OR de todas las de los maestros.
Si un mdulo detecta a 1 una lnea de mayor peso que la del
mayor de sus 1, eso quiere decir que hay otro dispositivo ms
prioritario que quiere el uso del bus. El mdulo retira entonces
todos los 1 menos significativos que el detectado.
De este modo, el mdulo con el nmero de arbitraje ms alto
encontrar su nmero en las lneas SBRG, lo que indica que el
ganador es l y coger el bus cuando finalice la transaccin que
est en ese momento en curso.
Este tipo de arbitraje se emplea en Multibus II y Futurebus +.

Você também pode gostar