Professional Documents
Culture Documents
COMPUTADORES
Buses de memoria
Se utilizan para transferir datos entre el microprocesador y la memoria RAM
El
bus
del sistema se clasifica en: BUS LOCAL
BUS DE EXPANSIN
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.
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.
Las lneas
Un ciclo de bus tiene varios pasos, indicados por seales de control de modo que
los eventos ocurran en un orden correcto.
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.
Distribuida
Centralizada
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
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.
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.
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.
2.
DH = Fila
3.
DL = Columna
CONSULTA
Consulte las causas de interrupciones, funciones de las interrupciones en el
microcontrolador 16f877