You are on page 1of 14

2 BUSES DEL SISTEMA

2.1 Paradigma de conjuntos difusos

Los nuevos modelos de procesamiento y control: redes neuronales, lgica borrosa


y algoritmos genticos, junto con algunos otros de relativa novedad, se engloban dentro
de la denominada soft computing [Zadeh, Jang] o inteligencia computacional, que
tienen en comn el constituir paradigmas de procesamiento muy diferentes a la
convencional hard computing, basadas en computadores Von Neumann (serie) y la
separacin de hardware y software. Estas nuevas tcnicas se inspiran en las soluciones
que la naturaleza ha encontrado durante millones de aos de evolucin a numerosos
problemas tecnolgicos que involucran el tratamiento de cantidades masivas de
informacin, redundante, imprecisa y ruidosa, problemas a los que en la actualidad se
enfrenta el ser humano (visin, habla, control en ambiente natural). No obstante, debe
quedar claro que estas nuevas tcnicas no vienen a suplantar a las ms tradicionales, sino
ms bien a completarlas en aquellos problemas donde menos eficacia proporcionan. Es
fcil deducir que tanto las redes neuronales artificiales como los sistemas borrosos,
constituyen en la actualidad reas de investigacin y desarrollo (I+D) muy activas, no
slo desde un punto de vista acadmico, sino comercial e industrial.

2.2 Componentes de la computadora e interconexin

Los componentes de un computador (CPU, Memoria, E/S) se conectan entre s


mediante un conjunto de lneas que transmiten seales con funciones especficas, algo
parecido a una red de autopistas con muchos carriles a travs de la cual intercambian
datos los diferentes componentes del ordenador; al conjunto de lneas que conectan los
diferentes mdulos se le denomina estructura de interconexin. Al igual que las
autopistas, varias pueden llegar a un destino, as los buses pueden estar conectados a
varios dispositivos, y cualquier seal transmitida por uno de esos dispositivos est
disponible para que los otros dispositivos conectados al bus puedan acceder a ella,
teniendo en cuenta que, si dos dispositivos transmiten durante el mismo periodo
de tiempo, sus seales pueden solaparse distorsionarse.
Memoria

Est constituida por N palabras de la misma longitud, a cada palabra se le asigna


una nica direccin numrica (0,1,, N-1). El tipo de operacin se indica mediante
seales de control como: Read (leer) y Write (escribir).

Mdulo de E/S

Funcionalmente es similar a la memoria. Hay dos tipos de operaciones (lectura y


escritura), adems un mdulo de E/S puede controlar ms de un dispositivo externo
(puerto; USB) y a cada puerto se le asignar una direccin (0,1,, M-1). Posee adems
lneas externas de datos para la entrada y salida de datos por un dispositivo externo. El
mdulo de E/S puede enviar seales de interrupcin al procesador.

CPU

Lee instrucciones y datos, escribe datos una vez que los ha procesado, y utiliza
ciertas seales para controlar el funcionamiento del sistema. Tambin puede recibir
seales de interrupcin.

Tipos de transferencias en la estructura de interconexin

La estructura de interconexin debe dar cobertura a los siguientes tipos de


transferencias:

Memoria CPU: El CPU lee una instruccin o dato desde la memoria.


CPU Memoria: El CPU escribe un dato en la memoria.
E/S CPU: El CPU lee datos de un dispositivo de E/S a travs de un mdulo de
E/S.
CPU - E/S: El CPU enva datos al dispositivo de E/S.
Memoria - E/S y viceversa: El mdulo de E/S puede intercambiar datos
directamente con la memoria, sin pasar por el procesador, utilizando acceso
directo a memoria (DMA), por ejemplo: impresin de archivo.

Con el pasar del tiempo se han desarrollado y se han vuelto los buses mltiples.
2.3 BUSES DEL SISTEMA

El bus ha sido el camino de comunicacin de alta velocidad tradicional entre la


CPU y la memoria del sistema. Las velocidades de la GPU y los anchos del bus se
incrementaron de 8 MHz y 16 bits en 1979, con sistemas basados en el procesador 8086
hasta a los sistemas avanzados con microprocesadores Pentium III; asimismo, las
velocidades de transferencia de disco aumentaron. Los avances en la tecnologa siguieron
a esas mejoras con frecuencias de reloj ms altas y anchos de canal mayores, por lo que
la CPU y la memoria pueden operar con mximo rendimiento.

Figura 1. Buses del sistema

Un bus es en esencia una ruta compartida que conecta diferentes partes del
sistema, como el microprocesador, la controladora de unidad de disco, la memoria y los
puertos de entrada/salida (E/S), para permitir la transmisin de informacin. Un bus est
constituido por muchas lneas, por ejemplo el bus del sistema est constituido por entre
50 y 100 lneas. A cada lnea se le asigna una funcin determinada. Las lneas del bus se
pueden clasificar en tres grupos funcionales: lneas de datos, de direcciones, y de control.

Figura 2. Clasificacin de bus


Las lneas de datos del bus proporcionan el camino para transmitir datos entre los
mdulos del sistema. El bus de datos consta de 8, 16, 32 lneas distintas, cuyo nmero se
conoce como anchura del bus de datos. Este nmero de lneas determina cuantos bits se
pueden transmitir al mismo tiempo. La anchura del bus es un factor clave a la hora de
determinar las prestaciones del sistema.

Las lneas de direccin se utilizan para direccionar la fuente o el destino de los


datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad
mxima de memoria direccionable en el sistema.

Las lneas de control se emplean para gestionar el acceso y el uso de las lneas de
datos y direccin, sealizando peticiones y reconocimientos e indicando que tipo de
informacin pasa por las lneas de datos.

Algunas lneas de control tpicas son:

Escritura en memoria (Memory Write): hace que el dato del bus se escriba en
la posicin direccionada.
Lectura de memoria (Memory Read): hace que el dato de la posicin
direccionada se site en el bus.
Escritura de E/S (I/O Write): hace que el dato del bus se transfiera a travs del
puerto de E/S direccionado.
Lectura de E/S (I/O Read): hace que dato del puerto de E/S direccionado se
site en bus.
Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o
se ha situado en bus.
Peticin de bus (Bus Request): Indica que un mdulo necesita disponer del
control del bus.
Cesin de bus (Bus Grant): indica que se cede el control del bus a un mdulo
que lo haba solicitado.
Peticin de interrupcin (Interrupt Request): indica si hay una interrupcin
pendiente.
Interrupcin reconocida (Interrupt ACK): seala que la interrupcin pendiente
se ha aceptado.
Reloj (Clock): se utiliza para sincronizar las operaciones.
Reinicio (Reset): pone los mdulos conectados en su estado inicial

Los objetivos de un bus de sistema son cuatro:

Conectar las placas con el micro, la RAM, etc. para permitir el intercambio de
datos.
Llevar tensin de alimentacin a las placas (+5 v, -5 v. +12 v y -12 v).
Facilitar la instalacin o remocin de las diversas placas.
Ofrecer un estndar de conexin al sistema, para poder ensamblar en el futuro
cualquier tipo de tarjeta.

El bus del sistema es responsable de la correcta interaccin entre los diferentes


componentes de la computadora. El bus del sistema permite a la CPU comunicarse con
los perifricos de entrada y salida. El bus del sistema, que se encuentra ubicado fuera del
microprocesador, se puede clasificar en:

Bus local, compuesto por el bus de datos, el bus de direcciones y el bus de


control. El bus de datos transfiere datos a los diferentes componentes de la
CPU y el bus de direcciones da a conocer las posiciones de memoria de
aqullos. El bus de control se ocupa de evitar colisiones en la
transferencia/recepcin de datos y de que toda la informacin llegue a destino
y sea recibida desde el exterior sin problemas.

Un sistema de control compuesto slo por cables no podra dirigir tareas de


direccionamiento por s solo: el controlador de bus es el autntico cerebro del sistema de
buses y se ocupa de evitar cualquier colisin y de que toda la informacin llegue a destino.

Bus de expansin permite el intercambio de datos con perifricos ubicados en


la placa madre o fuera de la PC. Existen varias tecnologas, la diferencia entre
ellas est en la cantidad simultnea de informacin que manejan y en su
velocidad de trabajo

Jerarqua de buses

Para mejorar el rendimiento del bus, las jerarquas de buses fueron implementadas
cada vez ms, una primera aproximacin a una jerarqua de bus bsica.
Primero tenemos un bus local, de alta velocidad que conecta el procesador a la
cache, el controlador de la cache tambin puede acceder al bus del sistema, con esta
implementacin, la mayor parte de los datos a los que va a acceder el procesador, que
estn en la cache, sern entregados a una alta velocidad, otro punto a destacar de esta
parte es que los accesos a memoria por parte de la cache no van a interrumpir el flujo de
datos entre procesador y cache. Tambin se ve la posibilidad de conectar un dispositivo
de entrada salida al bus local. Luego tenemos el bus del sistema, al cual est conectada
la memoria y por debajo el bus de expansin, al cual se pueden conectar una amplia
diversidad de dispositivos, entre el bus del sistema y el bus de expansin se encuentra una
interface, que entre las principales tareas est la de adaptar las velocidades de transmisin,
por ejemplo para un dispositivo muy lento conectado al bus de expansin la interface
podra acumular una cierta cantidad de datos y luego transmitirla a travs del bus del
sistema.

Figura 3. Esquema de la jerarqua de buses

Ventajas de la jerarqua de buses:


El bus local entre el procesador y la cache asla el trfico de E/S del procesador
o Se puede transferir informacin entre la memoria y la E/S si interrumpir
la actividad del procesador
El bus de expansin reduce el trfico en el bus del sistema
o La transferencia entre la cache y memoria principal se puede realizar de
forma ms eficiente
Se elimina el problema de la incompatibilidad
o El bus local y del sistema suelen ser propietarios y estn optimizados para
cada arquitectura en particular
o Los buses de expansin son buses estndares

Tipos de buses

Una clasificacin que podemos hacer es segn la funcionalidad de este, los


podramos dividir en dedicados o multiplexados.

Un ejemplo comn de dedicados serian el bus de datos y el bus de direcciones,


cada uno se utiliza solo para una funcin especfica. Esta situacin de bus de datos y de
direcciones dedicados es lo ms comn, pero podra llegar a implementarse con un solo
bus multiplexado el tiempo. Esto funcionaria a grandes rasgos de la siguiente forma:

Al comienzo de la transferencia se sita en el bus la direccin de donde se quiere


leer o a donde se desea escribir, luego se emite por el bus de datos una seal indicando
que en el bus se encuentra una direccin valida.

A partir de ese momento se dispone de una unidad de tiempo para que los
dispositivos identifiquen si es su direccin, luego de esto se pone en el mismo bus los
datos y se realiza la transferencia en el sentido que lo indique una orden emitida por el
bus de control. La Ventaja de este mtodo es la reduccin de la cantidad de lneas, lo cual
ahorra espacio y costos, la desventaja son que para poder implementar la forma de operar
la circuitera en cada mdulo tiene que ser ms compleja, y que el rendimiento del sistema
ser menor por no poder transmitir los datos simultneamente, en paralelo (datos y
direccin).

Otro tipo de clarificacin podra ser segn su dedicacin fsica: Podramos poner
como ejemplo el bus de E/S, el cual se encarga de conectar solo los dispositivos de E/S,
este bus se conecta al bus principal mediante algn adaptador, la ventaja est en que al
ser dedicado solo a E/S, el rendimiento de este va a ser mejor, ya que solo van a operar
con l los mdulos de E/S, y no va a haber tanta competencia por el bus.
Mtodo de arbitraje

Por la razn de que en un momento dado solo puede usar el bus un solo
dispositivo, debe existir un mtodo para decidir quin hace uso de l. Todos los mtodos
que existen en general pueden ser clasificados en 2 grandes grupos:

Arbitraje centralizado: Una parte del hardware del sistema denominada


controlador del bus se encarga de decidir el uso del bus en cada momento, este
dispositivo puede ser un mdulo separado o puede estar incorporado al
procesador.
Arbitraje distribuido: En este esquema no existe un controlador centralizado, en
su lugar, cada dispositivo que hace uso del bus tiene que tener incorporada la
lgica necesaria para poder interactuar con los dems dispositivos y decidir quin
hace uso del bus.

En cualquiera de los dos casos lo que se busca es que se decida quin va a tener
la posesin del bus en un momento dado, procesador, mdulo de E/S o memoria, al cual
se lo denomina maestro del bus, el maestro del bus establecer una comunicacin con
otro dispositivo (lectura o escritura) al cual se lo denominara esclavo.

Temporizacin

La temporizacin clasifica al mtodo utilizado para coordinar los eventos dentro


del bus. Segn la temporizacin usada podemos clasificar los buses en 2 grupos.

Temporizacin sncrona: Todos los eventos del bus se rigen a travs del reloj del
computador. Una de las lneas del bus transmite continuamente una seal de reloj,
simplemente una secuencia de unos y ceros, la cual puede ser leda por todos los
dispositivos conectados al bus. Al intervalo transcurrido en la emisin de un uno y un
cero se lo llama ciclo de reloj, todos los eventos ocurridos dentro del bus comienzan el
principio del ciclo y puede durar uno ms. En este mtodo de temporizacin todos van
al ritmo del reloj como se muestra en la figura 4.
Figura 4. Temporizacin sncrona

Las lneas solo pueden tener uno de dos estados, uno o cero. La velocidad en el ritmo
que se alterna de un uno a un cero en la lnea del reloj nos da la velocidad del bus, y como
todas las operaciones se van a realizar al ritmo del reloj, al aumentar la velocidad del ciclo
vamos a aumentar la velocidad del sistema.

Temporizacin asncrona: Ac los eventos no se rigen por la lnea del reloj, en


general todo evento es disparado por otro evento anterior. As se muestra en la figura 5.

Figura 5. Temporizacin asncrona

El procesador pone en el bus de direcciones la direccin a ser leda y en el bus de


control por la lnea correspondiente seal de lectura, luego de un breve tiempo para que
las seales elctricas se estabilicen, se manda seal por la lnea MSYN (sincronizacin
del maestro) indicando que hay seales validas en el bus de direccin y de control, el
modulo correspondiente reconocer su direccin, pone el dato solicitado en el bus de
datos y emite una seal SSYN(sincronizacin del esclavo) por el bus de control indicando
en las seales del bus de datos que la informacin es vlida.
La temporizacin sncrona es ms fcil de implementar y comprobar, pero es
menos flexible que la sncrona. Por ejemplo, en el caso de que hubiesen varios
dispositivos conectados al bus, de distintas velocidades, todos tienen que funcionar a la
velocidad del reloj, si hay uno ms rpido, este tiene que bajar su velocidad: En cambio
con el asncrono, cada uno funcionaria a su velocidad, en el mismo bus se trabajara a
distintas velocidades, cada transferencia se hara con la velocidad ptima de sus dos partes
(maestro-esclavo).

Anchura del bus

La anchura del bus es simplemente la cantidad de lneas que posee, y est


directamente relacionado con el rendimiento del sistema, cuanto ms ancho el bus de
direcciones, mayor va a ser la cantidad de direcciones posibles utilizadas para direccionar
memoria y dispositivos de E/S, y cuanto ms ancho el bus de datos, mayor ser la cantidad
de bits que se va a poder transmitir en paralelo.

Tipo de trasferencia de datos

Todos los buses permiten la transferencia de datos, ya sea para escritura como
para lectura. La transferencia de dichos datos se muestra en la figura 6.

Figura 6. Transferencia de datos

En el grfico tenemos ejemplificado una escritura y una lectura, en este caso el


bus esta multiplexado en el tiempo, primero se utiliza para transmitir la direccin y luego
los datos.
Para optimizar el rendimiento existen algunas operaciones combinadas en las
cuales se pasa la direccin una sola vez, por ejemplo "lectura-modificacin-escritura",
sera la lectura del dato, se le aplica alguna modificacin y luego se escribe nuevamente.
Todo esto es una sola operacin, nadie puede acceder al bus en el medio de la operacin,
se utiliza para proteger los recursos de memoria compartida en sistemas con
multiprogramacin para mantener la integridad de los datos. Otra instruccin es "lectura
despus de escritura" que servira para comprobar el resultado.

Otra operacin muy comn es la transferencia por bloque, se pasa al principio de


la operacin la direccin inicial y luego se realiza lectura o escritura a las siguientes
direcciones, la cantidad de direcciones siguientes tambin es un parmetro que hay que
pasar. Dichas operaciones se muestran en la figura 7.

Figura 7. Bloque de transferencia de datos

2.4 Bus PCI

A diferencia de su predecesor el VESA Local Bus (VLB), el Peripheral


Component Interconnect (PCI) no es un complemente de una arquitectura de bus ya
existente, sino que define su propio estndar de componentes, para el que son necesarios
unos chipsets especiales. El bus PCI no es el nico de la arquitectura de PC, sino que
tambin encuentra aplicacin en los Apple o en las estaciones de trabajo Alpha de la
antigua casa DEC (Compaq HP en la actualidad).
Toda unidad que siga en el estndar PCI, ya se encuentre directamente en la placa
base o en forma de tarjeta de expansin, utiliza, en principio, adems de una direccin de
Entrada/Salida y/o de memoria, un espacio de configuracin para la identificacin y la
configuracin de unidades PCI, con lo cual puede prescindirse de los puentes y otros
elementos de configuracin manuales. Por consiguiente, el estndar PCI trae la funcin
Plug & Play de fbrica, y es el primer sistema que posee esta funcionalidad
completamente en el BIOS y no requiere ningn software de configuracin adicional.
Igual que en el ya inexistente VESA Local Bus, en el bus PCI se emplea la misma solucin
mecnica de ranuras, que se utiliz por primera vez en MicroChannel. Sin embargo, las
ranuras PCI no se encuentran detrs de la conexin ISA, sino que en las placas base de
PC se encuentran inmediatamente al lado de ellas, o bien se colocan en otro lugar de la
placa base, separadas de las otras ranuras de expansin.

Figura 8. Bus local PCI

Estructura del bus PCI

El bus PCI puede configurarse como un bus de 32 o 64 bits. En el apartado


siguiente podemos ver las diferentes lneas de seal obligatorias que existen en el bus PCI
(en total son 49). Las seales se dividen en los grupos funcionales siguientes:

Terminales (patillas) de sistema: constituidas por los terminales de reloj y de


inicio (reset).
Terminales de direcciones y datos: incluye 32 lneas para datos y direcciones
multiplexadas en el tiempo. Las otras lneas del grupo se utilizan para interpretar
y validar las lneas de seal correspondientes a los datos y a las direcciones.
Terminales de control de la interfaz: controlan la Temporizacin de las
transferencias y proporcionan coordinacin entre los que las inician y los
destinatarios.
Terminales de arbitraje: a diferencia de las otras lneas de seal del PCI, stas no
son lneas compartidas. Cada maestro del PCI tiene su par propio de lneas que lo
conectan directamente al rbitro del bus PCI.
Terminales para seales de error: utilizadas para indicar errores de paridad, u
otros.
Terminales de Interrupcin: para los dispositivos PCI que deben generar
peticiones de servicio. Igual que los terminales de arbitraje, no son lneas
compartidas sino que cada dispositivo PCI tiene su propia lnea o lneas de
peticin de interrupcin a un controlador de interrupciones.
Terminales de Soporte de Cache: necesarios para permitir memorias cache en el
bus PCI asociadas a un procesador o a otro dispositivo. Estos terminales permiten
el uso de protocolos de coherencia de cache de sondeo de bus.
Terminales de Ampliacin a Bus de 64 bits: incluye 32 lneas multiplexadas en el
tiempo para direcciones y datos y se combinan con las lneas obligatorias de
direccin y datos para constituir un bus de direcciones y datos de 64 bits. Hay
otras lneas de este grupo que se utilizan para interpretar y validar las lneas de
datos y direcciones. Por ltimo, hay dos lneas que permiten que dos dispositivos
PCI se pongan de acuerdo para usar los 64 bits.
Terminales de Test (JTAG/Boundary Scan): estas seales se ajustan al estndar
IEEE 1149.1 para la definicin de procedimientos de test.

La actividad del bus consiste en transferencias entre dos elementos,


denominndose maestro al que inicia la transaccin. Cuando un maestro del bus adquiere
el control del mismo, determina el tipo de transferencia que se producir a continuacin.
Durante la fase de direccionamiento de transferencia, se utilizan las lneas C/BE para
indicar el tipo de transferencia. Los tipos de rdenes son:

Reconocimiento de interrupcin
Ciclo especial
Lectura de E/S
Escritura de E/S
Lectura de memoria
Lectura de lnea de memoria
Lectura mltiple de memoria
Escritura en memoria
Escritura e invalidacin de memoria
Lectura de configuracin
Escritura de configuracin
Ciclo de direccin dual

Figura 9. Seales del PCI agrupadas segn su funcionalidad