Sie sind auf Seite 1von 42

BUSES DEL SISTEMA

OAC-I

Ing. Luis Alberto Sota Orellana



2014-I
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
Secuencia de
Funciones
lgicas y
aritmticas
Hardware Especifico
Programacin Hardware
Datos
Resultados
Si se desea realizar un
calculo concreto, es
posible construir una
configuracin de
componentes lgicos
diseada especficamente
para dicho calculo.
Si se construyesen de
esta forma, el hardware
obtenido tendra un uso
muy restringido.
El sistema acepta datos y
produce resultados
Este hardware realiza
funciones diferentes
segn las seales de
control aplicadas.
El sistema acepta datos
y seales de control y
produce resultados.
En lugar de reconfigurar
el hardware para cada
nuevo programa, el
programador
simplemente necesita
proporcionar un nuevo
conjunto de seales de
control.
Cdigos de
Instruccin
Interprete de
Instrucciones
Seales de
Control
Funciones Lgicas
y aritmticas
de uso general
Datos Resultados
Programacin Software
Hardware de uso General
Componentes del Computador
El Funcionamiento del Computador
La captacin es una
operacin comn a todas
las instrucciones, consiste
en la lectura de la
instruccin de una posicin
de memoria.
La ejecucin de la
instruccin puede suponer
varias operaciones y
depende de la naturaleza de
la instruccin.

Captura la
siguiente
instruccin
Ejecuta
la
Instruccin
Parada
Ciclo de
captacin
Ciclo de
ejecucin
Inicio
Posiciones de almacenamiento
Bit de signo
Palabra nmero
0 1
39
0 8 19 20 28 39
Codop Codop Direccin Direccin
Palabra Instruccin
Ins. Izquierda
Ins. Derecha
Estructura
La Unidad de Control
interpreta la
instruccin y lleva a
cabo la accin
requerida. En
general, sta puede
ser de cuatro tipos:

CPU Memoria.
CPU E/S.
Procesamiento de
Datos.
Control.
Equipos
E/S
Memoria
Principal
IBR
IR MAR
PC
Circuitos
de Control
Seales
de Control
MBR
AC MQ
Circuitos
aritmtico-lgicos
Direcciones
Ejemplo de ejecucin de un Programa
Ciclo de Instruccin Bsico
Captacin
de
Instruccin
Clculo de
Direccin de
instruccin
Almacenamiento
de
Operando
Clculo de
direccin de
operando
Operacin
con
datos
Captacin
de
Operando
Clculo de
direccin
de operando
Decodificador
de
Operacin
Varios
operandos
Varios
resultados
Cadena
O Vectores
Siguiente
Instruccin
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

Procesadores
Bus de
direcciones
(bits)
Bus de datos
(bits)
808680186 20 16
808880188 20 8
80286 24 16
80386 SX 32 16
80386 DX
80486 SX
80486 DX
32 32
PENTIUM PENTIUM II/III/IV
AMD K5/K6/K7
AMD ATHLON/THUNDERBIRD
AMD ATHLON XP/MP
32 64
INTEL ITANIUM
AMD ATHLON64
32/64 64/128


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 la hora 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.
El arbitraje 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 +.

Das könnte Ihnen auch gefallen