You are on page 1of 32

ARQUITECTURA DE

COMPUTADORES

BUSES DEL COMPUTADOR


CONCEPTO

Un bus es una trayectoria por la cual viajan los datos en una


computadora para comunicar los distintos dispositivos entre s. Los
principales buses que se encuentran dentro de una PC son: los Buses
del micro-procesador, los Buses de memoria y los Buses del sistema.

Canal de comunicacin compartido por varios dispositivos.

conjunto de lneas a las que se conectan los dispositivos y que


permiten que la informacin escrita por un dispositivo pueda ser leda
por el resto.

Conectar todos los componentes de un computador a travs de un nico bus proyecta


varios problemas:

Cuanto mayor es el nmero de dispositivos conectados, peor es el compartimiento


temporal de las seales que viajan por el bus, lo que disminuye las prestaciones
del mismo.

El bus se convierte en un cuello de botella ya que todas las transferencias de


informacin pasan a travs de l.

El bus debe soportar elementos de velocidades muy dispares, lo que implica un


diseo de bus poco ptimo.

Para resolver estos inconvenientes los computadores modernos implementan una


jerarqua de buses, que implica lo siguiente:

El bus de mayor velocidad es al que estara conectado el procesador y el bus


inferior conectara dispositivos de entrada/salida lentos.

Los distintos buses se interconectan por medio de puentes (bridges)

Buses del microprocesador


Es la trayectoria de comunicaciones entre la CPU y el Chipset. Se utiliza para
transferir datos entre la CPU y el bus principal, o entre la CPU y el Cach.
Corresponden con los buses de direcciones, de datos y de control.
BUS de DATOS: lleva informacin (Bytes) desde y hacia el micro, por eso es
"BIDIRECCIONAL".
BUS de DIRECCIONES: permite al micro seleccionar posiciones de memoria
para lectura o escritura. Es un bus "UNIDIRECCIONAL", ya que el micro
solicita direcciones que son ledas por los perifricos.
BUS de CONTROL: consiste en seales individuales con las que el micro
controla los dispositivos externos y mediante las cuales se pone de acuerdo
con ellos para realizar transferencias de informacin. Algunas de estas
seales son entrantes y otras salientes al micro; por eso, es tambin
BIDIRECCIONAL.

Buses de memoria
Se utilizan para transferir datos entre el microprocesador y la memoria RAM

Buses del Sistema


Son los caminos por los cuales los datos viajan, por ejemplo del microprocesador al disco rgido,
o de la memoria al disco.
Es el responsable de la correcta interaccin entre los componentes de la computadora. Gran
parte de las conexiones de la CPU son conductos del bus, siendo estos la nica va de contacto
del procesador con el exterior. Este bus del sistema permite a la CPU comunicarse con los
perifricos de entrada y salida.
OBJETIVOS DEL BUS DEL SISTEMA
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.

CLASIFICACIN DEL BUS DEL SISTEMA

El

bus
del sistema se clasifica en: BUS LOCAL
BUS DE EXPANSIN

BUS LOCAL.- compuesto a su vez por:


o

Bus de datos

Bus de direcciones

Bus de control

El bus de datos transfiere datos a los componentes de la CPU. Su anchura suele ser una potencia de 2
(8=, 16=).

El bus de direcciones da a conocer las posiciones de memoria de aquellos datos. Son salidas de la
CPU/procesador y determinan capacidad de direccionamiento.

El bus de control.- controlan el acceso y uso de los buses anteriores. Se encarga de evitar colisiones
en el proceso de Transferencia/recepcin de datos, as como tambin se ocupa de que toda la
informacin llegue a su destino y sea recibida desde el exterior sin problemas.

BUS DE EXPANSIN.- permite el intercambio de datos con perifricos ubicados en la placa madre o fuera de
la PC

TIPOS DE BUSES
SERIE y PARALELO: los Serie transmiten bit a bit y los paralelo varios bits a la vez.
MULTIPLEXADOS y NO MULTIPLEXADOS o DEDICADOS: los multiplexados realizan
diferentes funciones en funcin de las necesidades del momento. Ejemplo: bus
compartido para direcciones y datos, ahorro en Hardware y por lo tanto en costes.
CENTRALIZADOS y DISTRIBUIDOS (arbitracin): necesidad de determinar qu elemento
transmite y cul recibe. Generalmente existe arbitracin centralizada por la CPU o
procesador.
SNCRONOS y ASNCRONOS (temporizacin): cmo ocurren los diferentes eventos
(comienzo, fin, ...) implicados en la transmisin de informacin. Utilizacin de una
seal de reloj (comunicacin sncrona) o unas lneas de protocolo (comunicacin
asncrona).

Jerarqua de buses
Compatibilidad entre buses: solo si son
elctricamente idnticos.
Exista un solo bus que lo conectaba todo (bus
del sistema)
En la actualidad existe un conjunto de buses
conectados entre s, formando una jerarqua.
Agrupando dentro de los diferentes tipos de
buses aquellos componentes del ordenador
que tienen aproximadamente la misma
velocidad de transmisin para mejorar el
rendimiento de todo el computador.
Mientras mas lejos del CPU, se tiene buses
mas lentos y de menos lneas de datos
normalmente.

Esquema tpico de jerarqua de buses en un ordenador,


Los buses de arribas son los mas rpidos en tanto el de
expansin el mas lento.

Diagramas de temporizacin
Se encargan de mostrar como ocurren las secuencias de acciones y la relacin
causa-efecto entre diferentes sucesos, es decir muestran la comunicacin entre
dos dispositivos conectados a travs de un bus.
Las lneas de un bus tiene dos niveles de seal o tambin denominada tensin.
0 o 1

La transicin de una seal en un dispositivo puede dar lugar a transiciones en las seales de otros
dispositivos.

En los buses sncronos existe una seal de reloj que sirve para sincronizar sucesos. Se trata de una seal
peridica y repetitiva.

En los buses sncronos generalmente se lee el valor de una seal a la subida o a la bajada de una seal de
reloj.

Esquema cronograma para Operacin de lectura sncrona


La CPU emite una seal de lectura y coloca la direccin en el bus de direcciones.
Cada suceso ocupa un ciclo de reloj

Esquema cronograma para Operacin de lectura asncrona


1. El dispositivo Maestro solicita acceso (indicando que existen direccin y seales de control vlidas).
2. El esclavo realiza la tarea solicitada y activa una seal al terminar.
3. El maestro recoge el dato vlido, lo almacena y se encarga de desactivar la seal.
4. El esclavo determina si el maestro a desactivado la seal y tambin desactiva su seal.


Las lneas

de datos son las nicas realmente necesarias.

Las de Direccin y control son necesarias para el correcto funcionamiento. Ejemplo.


Bus serie
El ancho de banda, data rate o bits por unidad de tiempo est generalmente expresado
en bits/segundo. Ejemplo: Bus PCI de 64 bits a 66 Mhz
64 x 66*= 4224 Mbps=528MB/s
Generalmente los buses conectados a la CPU son del tamao de palabra del procesador.
Mientras buses mas pequeos, menor costo, menor patillaje.
Mientras sean los buses mas grandes se tendr aumento en el Ancho de Banda. (son
usados generalmente en procesadores superescalares capaces de ejecutar mas de una
instruccin por ciclo.).

Las lneas de direccin

Indican la localizacin del dato para Lectura/escritura y determinan adems el nmero de


posiciones accesibles.
Por ejemplo: en 68000 existen 24 bits direcciones entonces bytes = 16MB
Es posible dividiendo la fase de direcciones en dos ciclos/partes (inclusive mas partes), acceder
a mas posiciones. Ejemplo: Bus PCI.
Es posible que en ocasiones se realice el multiplexado en tiempo esto es COMPARTIR LOS BUSES
DE DATOS Y DIRECCIONES a travs de las mismas lneas.
Ventajas: Disminuye el patillaje del procesador que implica ahorro en costos.
Desventajas: se requiere de seales externas para diferencias los buses y circuitera adems
para separar ambos valores. Por ende es mas lento.
LOS BUSES NO MULTIPLEXADOS son mas rpidos ya que pueden indicar direcciones y recibir
datos a la vez.

IDENTIFICADOR DE CICLO DE BUS


Ciclo de bus.- periodo de tiempo en el que el procesador realiza un acceso exterior
a la memoria o E/S.
Deben existir lneas de control dentro del bus de control que permita que distinga
el tipo de acceso, ya sea de Lectura, Escritura, memoria, E/S, instrucciones, datos,
interrupciones.
Esta permitidas dos posibilidades para la activacin de seales:

El procesador activa directamente las seales de control o

El procesador indica el estatus y una circuitera externa activa las seales de


control.

Un ciclo de bus tiene varios pasos, indicados por seales de control de modo que
los eventos ocurran en un orden correcto.

Existen tres tipos de sincronizacin


SISTEMAS SINCRONOS
Gobernados por una seal de reloj peridica. Indica cuando leer, escribir, cuantos ciclos hay,
etc.
Tpico de buses locales o de sistema.
Requiere que todos los dispositivos (ya sean memoria, CPU o perifricos) tengan la misma
seal de reloj
En frecuencias altas el retraso de propagacin de la seal entre los diferentes alejados puede
provocar desfases temporales.
SISTEMAS ASINCRONOS
Utilizan seales del bus de control que sincronizan los diferentes pasos en la comunicacin.
Ejemplo: Protocolo de 4 eventos o Handshake

SISTEMAS SEMISINCRONOS, MIXTOS O DE BUS SNCRONO


Se trata de buses sncronos a los que se les aade seales
asncronas para comunicarse con dispositivos lentos.
Los dispositivos rpidos podrn tener que esperar ciertos ciclos de
reloj hasta que se produzca la activacin de alguna seal por
parte del dispositivo lento. A estos ciclos de espera se les
denomina WAIT STATES.

SEALES DE ARBITRAJE
Un dispositivo maestro (MASTER) puede controlar el bus, en tanto que un dispositivo Esclavo
(SlAVE) interpreta las seales del Master.
Ejemplo:
Controlador de DMA (Slave) en arquitecturas 80x86 que realiza transferencias entre la memoria
y los perifricos de E/S. Pide permiso de utilizacin del bus del sistema a la CPU (Master)
mediante la seal HOLD. La CPU concede permiso con seal HOLDA.

DMA (acceso directo a memoria)

El arbitraje en un bus puede ser

Distribuida

Centralizada

Centralizada: un dispositivo hace de arbitro y el arbitraje puede ser en paralelo

Distribuida: Todos los Master se ponen de acuerdo para ver quien transmite. Se
puede comparar con una red local.
Los dispositivos Masters (tambin denominados nodos) envan un identificador al
bus y luego monitorean el estado del bus. Si lo que enviaron al bus difiere de lo
luego ledo se entiende que SE HA PERDIDO EL ARBITRAJE.
Si se utilizan lneas de arbitraje diferentes a las de datos es posible transmitir
datos mientras se realiza la transmisin de datos y aprovechar as en ancho de
banda del bus.

MANEJO DE INTERRUPCIONES
Una interrupcin es un evento que hace que el microcontrolador deje de ejecutar la tarea que est
realizando para pasar a ejecutar una subrutina de servicio de interrupcin, la cual, por lo general, no
forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS) y luego regrese
y contine la tarea que estaba realizando antes de que se presentara la interrupcin.
Las interrupciones son un mtodo del que disponen los dispositivos e incluso los procesos para hacer
notar a la CPU la aparicin de alguna circunstancia que requiera su intervencin.
PASOS PARA EL PROCESAMIENTO DE UNA IRQ

Terminar la ejecucin de la instruccin de mquina en curso.

Guarda el valor del contador de programa de manera que en la CPU al terminar el proceso pueda
seguir ejecutando el programa a partir de la [ultima instruccin.

La CPU salta a la direccin donde esta almacenada la rutina de servicio de interrupcin (ISR) y
ejecuta esa rutina que tiene como objetivo atender al dispositivo que gener la interrupcin.

Una vez que la rutina de interrupcin termina, el procesador restaura el estado que guardo en la
pila y retoma el programa que estaba usando anteriormente.

Las interrupciones generadas por los dispositivos perifricos son generalmente asncronos con respecto al
programa que se est ejecutando.
Un evento esasncronoa una entidad si el momento cuando ocurre no est determinado por la entidad. Las
interrupciones no siempre ocurren en el mismo punto dentro de la ejecucin de un programa. En contraste, un
evento de error como la divisin por cero essncronoen el sentido de que siempre ocurre durante la ejecucin
de una instruccin particular si el mismo dato es presentado a la instruccin.
Las rutinas del Sistema de Operacin llamadas manejadores de dispositivos usualmente manejan las
interrupciones generadas por el dispositivo. Los Sistemas de Operacin usan interrupciones pare implementar
el tiempo compartido. Tienen un dispositivo llamadotimerque genera una interrupcin despus de un
intervalo especfico de tiempo. El Sistema de Operacin inicializa eltimerantes de actualizar elProgram
Counterpare ejecutar un programa de un usuario. Cuando eltimerexpira, genera una interrupcin causando
que el CPU ejecute la rutina de servicio de la interrupcin timer.
Unseal o signales la notificacin por software de que un evento ocurri. Por lo general es la respuesta del
Sistema de Operacin. Por ejemplo,ctrl-Cgenera una interrupcin para el manejador de dispositivo que
maneja el teclado. El manejador notifica al proceso apropiado mandando unsignal.El Sistema de Operacin
tambien puede enviarsignalsa un proceso para notificar la finalizacin de una E/S o de un error.

TIPOS DE INTERRUPCIONES

Se pueden producir por causas internas o externas y tambin se encuentran ligadas al hecho de las
interrupciones sean sncronas o asncronas.

Interrupciones de Hardware.- son asncronas a la ejecucin del procesador, se pueden producir en


cualquier momento sin que interese lo que esta haciendo la CPU en ese momento. Son producidas por un
dispositivo y viajan por el mismo bus del sistema.

Traps.- causadas generalmente al realizarse operaciones no permitidas como la divisin para 0, el acceso a
una posicin no permitida de memoria.

Interrupciones por software.- Son generadas por el programa en ejecucin, se trata de una operacin
especial que se le conoce como llamada al sistema o System Call, o tambin por errores producidos dentro
de un proceso a las que se les conoce como excepciones. Se generan mediante instrucciones en cdigo
mquina que permiten al programador producir una interrupcin.
Existen muchos tipos de interrupciones y para cada uno de estas existe una rutina en el sistema de operacin
que le da servicio. Los sistemas de operacin actuales permiten a los dispositivos tales como E/S o reloj del
sistema interrumpir el CPU asncronamente.

Pasos durante una interrupcin


El CPU suspende lo que estaba realizando. El hw transfiere el control al sistema de operacin. Se
dashabilita las interrupciones debido a que mientras se atienda una interrupcin no se puede atender
otra que llegue.
En arquitecturas con manejo de interrupciones sofisticadas mediante un sistema de prioridades permite
interrumpir el servicio de interrupcin para atender otra de mayor prioridad.
Generalmente se maneja mediante un vector de interrupciones, indexado por el tipo de interrupcin, en
este vector se encuentra la direccin de comienzo de la rutina que da servicio a dicho tipo, se le conoce
como vector de interrupcin, otra forma de localizar la rutina apropiada es mediante el pooling, es decir,
preguntando a cada dispositivo pare ver quien requiri el servicio.

Se ejecuta la rutina de interrupcin

Se restaura el estado anterior

Se habilitan las interrupciones

La arquitectura de interrupciones debe tambin almacenar la direccin de la instruccin interrumpida.

En un computador
Cuando una computadora esta realizando un proceso este puede interrumpirse por una de las dos siguientes
causas:
1.

Que se haya presentado una causa que impida que siga adelante un trabajo o un programaque no haya
terminado:

Por Software: quiere decir que la interrupcin se hace por medio de una instruccin del Sistema
operativo
que demanda la detencin del proceso o por una instruccin del programa mismo que demanda
la accin
de otro dispositivo.
Por Hardware: se refiere a interrupciones provocadas por la accin de algn elemento fsico ya sea por
una falla, por requerirlo el circuito, por falta de energa elctrica u otra causa que impida la
continuacin de un programa dado algunas de estas fallas pueden ser manejadas por el sistema operativo ya
sea por normalizar el proceso o para indicar al operador la causa de la interrupcin.
2. Es que haya llegado el fin lgico de un programa o de un trabajo, el sistema deber retirar el control al
programa que ha terminado de introducir una nueva tarea, esto no representa problema ya que solo puede
darse cuando el programa que se encuentra en proceso solicita a travs de una instruccin su propio fin

Interrupcin de E/S
Para iniciar una operacin de E/S la CPU carga lo registros apropiados en el controlador del dispositivo, este
controlador a su vez examina el contenido de estos registros para as determinar que accin debe realizar.
Si encuentra una solicitud de lectura, el controlador iniciar la transferencia de datos del dispositivo a su
buffer local, al terminar esto el controlador informar al CPU que ha completado la operacin, este proceso
se generar mediante una interrupcin.

Interrupciones de programa
Son provocadas por los programas usando una funcin especial del lenguaje, tienen como objetivo el que la CPU
ejecute algn tipo de funcin, al terminar de ejecutarse esta funcin, se seguir ejecutando el programa que
provoc la interrupcin.
Se este tipo de interrupciones son la forma que tendrn los programas de ejecutar funciones especiales del DOS o
la BIOS. Estas funciones tienen un nmero de interrupcin software asociada, cuando un programa lanza una
interrupcin de este tipo, la CPU ejecuta su funcin de tratamiento asociada, por lo que debemos saber qu es lo
que hace cada interrupcin para conseguir el efecto deseado.
Las Interrupciones son principalmente subrutinas de la BIOS o el DOS que pueden ser llamadas por un programa, su
funcin es controlar el hardware, servir de contacto entre los programas y las funciones del BIOS y del dos. Las
interrupciones de software pueden ser activadas directamente por el ensamblador invocando al nmero de
interrupcin deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin de programas, utilizndolas en programas, son ms cortos, es
ms fcil entenderlos y usualmente tienen un mejor desempeo debido en gran parte a su menor tamao.
Se dividen en dos categoras: Interrupciones de Sistema Operativo DOS e interrupciones de BIOS
Las interrupciones del Sistema Operativo son mas fciles de utilizar pero son lentas, pues hacen uso de la BIOS para
lograr su objetivo.
Las Interrupciones de BIOS son mas rpidas pero como son parte del HW son muy especficas e inclusive pueden
variar dependiendo del fabricante.

Interrupciones externas
Las interrupciones externas las generan los dispositivos perifricos, como pueden ser: teclado, impresoras,
tarjetas de comunicaciones; tambin son generadas por los coprocesadores.
Estas interrupciones no son enviadas directamente a la CPU, son enviadas a un circuito integrado cuya funcin es
exclusivamente manejar este tipo de interrupciones.
Ejemplo:
En un circuito llamado PIC 8259A si es controlado por la CPU utilizando para tal control una serie de vas de
comunicacin llamadas puertos:
Interrupcin 10H
Propsito: Llamar a diversas funciones de video del BIOS.
Sintaxis:
Int 10H
Esta interrupcin tiene diversas funciones, todas ellas nos sirven para controlar la entrada y salida de video, la
forma de acceso a cada una de las opciones es por medio del registro AH.
Funciones comunes de la interrupcin 10H.
02H Seleccin de posicin del cursor
09H Escribe atributo y carcter en el cursor
0AH Escribe carcter en la posicin del cursor
0EH Escritura de caracteres en modo alfanumrico

Funcin 02H
Uso: Posiciona el cursor en la pantalla dentro de las coordenadas vlidas de
texto.
Registros de llamada: AH = 02H
1.

BH = Pgina de video en la que se posicionar el cursor.

2.

DH = Fila

3.

DL = Columna
CONSULTA
Consulte las causas de interrupciones, funciones de las interrupciones en el
microcontrolador 16f877

You might also like