jueves, 13 de diciembre de 2012

VIDEOS SERGIO GARCIA RODRIGUEZ

-ESTRUCTURA BASICA DE LAS COMPUTADORAS

https://www.youtube.com/watch?v=BO9_-jSPRRI

-SISTEMAS DE NUMERACIÓN

https://www.youtube.com/watch?v=z5AWCvzaBCk

-CODIGOS

BINARIO https://www.youtube.com/watch?v=EK-GNyKV0Gs

BCD, gray https://www.youtube.com/watch?v=9bSmcx9rDtw

-ÁLGEBRA DE BOOLE

https://www.youtube.com/watch?v=0L3QOIwiJH8

-CIRCUITOS COMBINATORIOS Y SECUENCIALES

https://www.youtube.com/watch?v=hGA0dDV6Y44

-MEMORIAS

https://www.youtube.com/watch?v=tE0hxTn5qoI

-UNIDADES FUNCIONALES

https://www.youtube.com/watch?v=bhFJtZl4o7Y

miércoles, 12 de diciembre de 2012

SISTEMAS SECUENCIALES SÍNCRONOS


SISTEMAS SECUENCIALES SÍNCRONOS
Según la forma de realizar el elemento de memoria nos podemos encontrar
distintos tipos de sistemas secuenciales, principalmente dos:
· Sistemas Secuenciales Síncronos, en los que su comportamiento puede
definirse en instantes de discretos de tiempo, se necesita una
sincronización de los elementos del sistema mediante una señal de reloj,
que no es más que un tren de pulsos periódico. Las variables internas no
cambian hasta que no llega un pulso del reloj.
· Sistemas Secuenciales Asíncronos, actúan de forma continua en el
tiempo, un cambio de las entradas provoca cambios en las variables
internas sin esperar a la intervención de un reloj. Son sistemas más
difíciles de diseñar.
El cambio de las variables internas se puede producir de dos maneras en un
sistema secuencial síncrono:
· Por niveles, cuando permiten que las variables de entrada actúen sobre el
sistema en el instante en el que la señal de reloj toma un determinado
nivel lógico (0 ó 1).
· Por flancos, o cambios de nivel, cuando la acción de las variables de
entrada sobre el sistema se produce cuando ocurre un flanco activo del
reloj. Este flanco activo puede ser de subida (cambio de 0 a 1) o de bajada
(cambio de 1 a 0).
El elemento de memoria básico de los circuitos secuenciales
síncronos es el biestable. Almacena el estado 0 ó el estado 1,
y de ahí su nombre, tienen dos estados estables de
funcionamiento.

También se les suele conocer como FLIP-FLOPS.


TIPOS DE BIESTABLES
Biestable RS
El biestable básico es el RS. Su símbolo lógico se muestra a continuación.
Tiene dos entradas S(set) y R(reset), y tiene dos salidas complementarias Q (qn)
y Q, tiene además una entrada CLK(reloj) activa por flanco de subida.

Biestable D (Latch o Cerrojo)
Se trata de otro tipo de Biestable, esta vez con una entrada D(datos) y dos
salidas de estados complementarias, Q. Cuenta además con una entrada de
CLK(reloj), activada por flanco de subida. También puede contar con dos
entradas más, conocidas por PR (de preset: reiniciar) y CLR (de clear:
despejar). Estas últimas son de tipo asíncrono.

El Biestable D que aparece en la figura, puede funcionar de dos formas:
· Síncrona: usa una señal de reloj.
· Asíncrona: usa las señales PR Y CLR.
De forma síncrona lo hace de la siguiente manera: Si la transición de la señal
de reloj es de bajo a alto (o sea, de 0 a 1) se traslada el dato D a la salida, se dice
que el biestable ha sido disparado por la señal de reloj. Si por el contrario la
transición en el pulso de reloj es de estado alto a bajo (o sea, pasa de 1 a 0) el
biestable no responde. En este caso, el último valor permanece almacenado sin
cambios.
Las entradas PR y CLR son lo que se llaman entradas asíncronas, pues
independientemente de cómo esté la señal de reloj, reiniciarán (pondrán un 1 en
la salida) o despejarán (pondrán un 0 en la salida) el biestable. Éste es el modo
de funcionamiento asíncrono.


Biestable JK
El biestable JK puede considerarse como el biestable universal. Dispone de tres
entradas síncronas J y K, para especificar la operación y CLK, para disparar el
biestable. También consta de dos entradas asíncronas PR y CLR, y por supuesto
dos salidas complementarias.
Su ecuación característica es: Qn+1 = JQn’ + K’Qn

SECUENCIALES  ASÍNCRONOS

Los circuitos secuenciales asíncronos o autómatas finitos
asíncronos, también suelen denominarse como circuitos en
modo fundamental. Estos circuitos no usan elementos
especiales de memoria, pues se sirven de los retardos propios
(tiempos de propagación) de las compuertas lógicas usados en
ellos. Esta manera de operar puede ocasionar algunos
problemas de funcionamiento, ya que estos retardos naturales
no están bajo el control del diseñador, por lo que una de sus
principales características consiste en no permitir cambios
simultáneos en las variables de entrada, a fin de evitar el
fenómeno de carreras críticas entre variables de entrada



Tipos de registros de desplazamiento
Dependiendo del tipo de entradas y salidas, los registros de desplazamiento se clasifican como:
·         Serie-Serie: sólo la entrada del primer flip-flop y la salida del último son accesibles externamente. Se emplean como líneas de retardo digitales y en tareas de sincronización.
·         Paralelo-Serie: son accesibles las entradas de todos los flip-flops, pero sólo la salida del último. Normalmente también existe una entrada serie, que sólo altera el contenido del primer flip-flop, pudiendo funcionar como los del grupo anterior.
·         Serie-Paralelo: son accesibles las salidas de todos los flip-flops, pero sólo la entrada del primero. Este tipo y el anterior se emplean para convertir datos serie en paralelo y viceversa, por ejemplo para conexiones serie como el RS232.
·         Paralelo-Paralelo: tanto las entradas como las salidas son accesibles. Se usan para cálculos aritméticos.
Un registro de desplazamiento muy utilizado, que es universal (se llama así porque puede utilizarse en cualquiera de las cuatro configuraciones anteriormente descritas) y bidireccional (porque puede desplazar los bits en un sentido u otro) es el 74HC194, de cuatro bits de datos.
Otros registros de desplazamiento conocidos, fabricados también con la tecnología CMOS, son el 74HC165 (entrada paralelo, salida serie) y 74HC164 (entrada serie, salida paralelo).
Aplicaciones
Además de la conversión serie-paralelo y paralelo-serie, los registros de desplazamiento tienen otras aplicaciones típicas:
·         Generador pseudoaleatorio. Se construye con un registro de desplazamiento, realimentando a la entrada una combinación de varias salidas, normalmente un or exclusivo entre ellas.
·         Multiplicador serie. Se realiza la multiplicación mediante sumas y desplazamientos. Un ejemplo es el 74LS384.
·         Registro de aproximaciones sucesivas. Se usa en conversores A/D. Se van calculando los bits sucesivamente, empezando por el más significativo. Mediante un conversor DAC se compara la entrada analógica con los resultados parciales, generando el siguiente bit.
·         Retardo. Se pueden utilizar para retardar un bit un número entero de ciclos de reloj (consiste simplemente en un conjunto de biestables en cascada, tantos como ciclos de reloj deseemos retardar los bits).
Formas de construir registros de desplazamiento
Se pueden combinacionales y secuenciales). Por ejemplo:
·         Registro de entrada paralelo y salida serie. Puede construirse con un multiplexor digital combinacional y un contador. Las entradas de datos del multiplexor se conectan a los datos a transmitir, y las entradas de control, a las salidas del contador (el bMs del MUX conectado al bMs del contador), dicho contador deberá estar en modo de carrera libre.
·         Registro de entrada serie y salida paralelo. Similar al caso anterior, se sustituye el muliplexor por un demultiplexor, ahora las salidas de éste serán las salidas paralelos.
·         Biestables en cascada. Con esto y la lógica combinacional adecuada, se pueden construir incluso registros de desplazamiento bidireccionales y universales, aunque en este caso es más aconsejable disponer del 74HC194, dado que ocupa mucho menos espacio (y el precio del integrado es muy asequible) y en un solo integrado incluye las cuatro posibles configuraciones y la funcionalidad de desplazar los bits en ambos sentidos.

          Temporizador 

  El circuito electrónico que más se utiliza, tanto en la industria como en circuitería comercial, es el circuito de retardo de tiempos o temporizador, dentro de la categoría de temporizadores, cabe destacar el más económico y también menos preciso consistente en una resistencia y un condensador, como ya veremos, a partir de aquí se puede contar con un sinfín de opciones y posibilidades. En este manual se tratarán unos tipos sencillos para adquirir conocimiento de cómo conseguir un retardo en un sistema que no requiera gran precisión y terminaremos por analizar un temporizador de mayores prestaciones y sobre todo precisión.
 Cuando necesitamos un temporizador, lo primero que debemos considerar es la precisión en el tiempo de retardo, es una base muy importante para determinar los elementos que vamos a utilizar en su concepción y diseño.
Como se ha mencionado anteriormente un temporizador básicamente consiste en un elemento que activa o desactiva una carga después de un tiempo preestablecido más o menos largo. De esta manera podemos determinar el parámetro relacionado con el tiempo que ha de transcurrir para que el circuito susceptible de programarse, se active o desactive o lo que es lo mismo, simplemente cierre o abra un contacto.

CONTADORES
Un contador es un circuito secuencial cuyo diagrama de estados se encuentra en un 
ciclo. De esta manera, una vez que llega al estado final, vuelve a comenzar la misma 
secuencia de estados.  
La cantidad de estados por los que pasa el contador se denomina módulo del contador. 
Por ejemplo, para un contador del 0 al 5 (módulo 6), su diagrama de estados es el que se 
muestra en la siguiente figura: 
Un contador módulo 10 (0-9) es también llamado un contador de décadas. Un contador 
cuyo módulo es un valor de 2
n
 es llamado contador binario (2, 4, 8, 16, 32, etc.). 
En su caso más general, un contador no tiene ninguna entrada que afecte la secuencia de 
estados, mientras que su salida corresponde al valor numérico del estado actual. A esto 
último se le conoce como salida codificada en el estado. Cuando se utiliza esta técnica, 
no es necesario generar ecuaciones para el bloque de salida. 
EL CONTADOR 74163
Este es un circuito de mediana escala de integración (MSI) cuyo comportamiento es el 
de un contador binario de 4 bits. Por medio de sus entradas, se puede controlar su 
funcionamiento de alguna de las siguientes formas: 
• Contador: El valor de sus salidas se incrementa en 1. El rango de conteo es del 
0 al 15. 
• Carga paralela: Las salidas toman el valor de las entradas de carga. 
• Reset: El valor de las salidas se vuelve cero. 
• Mantener: No se modifica el valor de la salida. 
Todas las funciones del 74163 son síncronas, es decir, se requiere que se presente la 
señal de reloj para que se ejecuten. 
Las siguientes figuras muestran la distribución de terminales en la pastilla, así como la 
tabla de verdad del contador. 



















Memoria ram

se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible. 

MEMORIA ROM

es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite sólo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.

CICLOS DE MEMORIA

El refrescamiento de memoria es el proceso de la lectura periódica de información de un área de la memoria de computadora, e inmediatamente reescribir la información leída en la misma área sin modificaciones. Cada ciclo de refrescamiento de memoria refresca una sucesiva área de la memoria. El refrescamiento está más frecuentemente asociado con la modernamemoria dinamica de acceso aleatorio (DRAM). Sin embargo, varias tecnologías tempranas memorias de computadora también requirieron procesos periódicos similares en propósito. Estas tecnologías incluyeron la memoria de linea de retardo  y el tubo de williams

MEMORIA EXPANDIDA
La memoria expandida fue un método desarrollado alrededor de 1984 que proporcionaba memoria paginada extra a los programas de ms-dos
Éstos programas, que corrían en la ibm-pc original, y sus sucesores como elibm tx y el ibm at, eran típicamente aplicaciones como hojas de calculo ybase de datos que necesitaban una gran cantidad de memoria para trabajar correctamente.

MEMORIA EXTENDIDA

n un ibm pco compatible con un microprocesador 80286 o posterior, la memoria extendida se refiere a la memoria por arriba del primer megabyte de espacio de direccion.
La memoria extendida está solamente disponible en PC basadas en el Intel 80286 o un procesador más alto. Solamente estos chips pueden acceder más de 1 mb de ram. En un microprocesador 286 o posterior, en PC equipados con más que 640 kb de RAM, la memoria adicional por arriba de esos 640 KB es generalmente remapeada por arriba de 1MB, haciendo que toda ella sea disponible a programas corriendo en modo protegido. Incluso sin este remapeo, las máquinas con más de 1 MB de RAM pueden tener acceso a la memoria sobre el 1 MB.


CACHE

En informatica el caché de CPU, es un caché (/ˈkæʃ/ o /kaʃ/) usado por la unidad central de procesamiento de una computadora para reducir el tiempo de acceso a la memoria. El caché es una memoria más diminuta y rápida, la cual almacena copias de datos ubicados en la memoria principal que se utilizan con más frecuencia.

VIRTUAL

La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que la disponible fisicamente. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la cpu, la memoria cache (tanto dentro como fuera del CPU), la memoria ram y el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad.
4.3.2 MAPAS DE KARNAUGH

Podría definirlo como un método para encontrar la forma más sencilla de representar una función lógica.

Esto es... Encontrar la función que relaciona todas las variables disponibles, de tal modo que el resultado sea el que se está buscando.

Para esto vamos a aclarar tres conceptos que son fundamentales

a)- Minitérmino Es cada una de las combinaciones posibles entre todas las variables disponibles, por ejemplo con 2 variables obtienes 4 minitérminos; con 3 obtienes 8; con 4, 16 etc., como te darás cuenta se puede encontrar la cantidad de minitérminos haciendo 2n donde n es el número de variables disponibles.

b)- Numeración de un minitérmino Cada minitérmino es numerado en decimal de acuerdo a la combinación de las variables y su equivalente en binario así...
Bien... El Mapa de Karnaugh representa la misma tabla de verdad a través de una matriz, en la cual en la primer fila y la primer columna se indican las posibles combinaciones de las variables. Aquí tienes tres mapas para 2, 3 y 4 variables...







4.2.2 COMPUERTAS LÓGICAS

Definamos compuerta lógica
Una compuerta lógica es un dispositivo que es la expresión física de un operador booleano en la lógica de conmutación  Cada compuerta consiste de una red dispositivos interruptores que cumplen las condiciones booleanas 

A CONTINUACION MENCIONAMOS LAS COMPUERTAS LOGICAS BASICAS
(NOT, AND Y OR)

COMPUERTA NOT
El circuito NOT es un inversor que invierte el nivel lógico de una señal binaria (aveces a lo invertido tambien se le llama"negado").
Bueno, todo esto significa que si la variable binaria posee un valor 0, la compuerta NOT cambia su estado al valor 1 y viceversa.


                                                               



COMPUERTA AND
La compuerta AND, realiza una multiplicacion, esto es: la salida es 1 si la entrada A y la entrada B son 1, si no es asi, la salida es 0.
Las compuertas AND pueden tener más de dos entradas y por definición, la salida es 1 si todas las entradas son 1.

COMPUERTA OR 
La compuerta OR, lo que hace es sumar los bits que le pongamos en las entradas esto significa que la salida es 1 si la entrada A, B o ambas son 1, (1 y 1: al sumarlos nos da 2 (logicamente) pero como en la suma binaria solo existen o's y 1's, el resultado es 1), claro que si tenemos 0 y 0 pues la salida sera 0
Las compuertas OR pueden tener más de dos entradas y por definición la salida es 1 si cualquier entrada es 1.
                                                              
AHORA MENCIONAREMOS LAS COMPUERTAS COMPUESTAS
(NAND, NOR)

COMPUERTA NAND
Es el complemento de la función AND, como se indica por el símbolo gráfico, que consiste en una compuerta AND seguida por un pequeño círculo (quiere decir que invierte la señal).
La designación NAND se deriva de la abreviación NOT - AND. Una designación más adecuada habría sido AND invertido puesto que es la función AND la que se ha invertido.
Las compuertas NAND pueden tener más de dos entradas, y la salida es siempre el complemento de la función AND.

                                                               
COMPUERTA NOR
La compuerta NOR es el complemento de la compuerta OR y utiliza el símbolo de la compuerta OR seguido de un círculo pequeño (quiere decir que invierte la señal). Las compuertas NOR pueden tener más de dos entradas, y la salida es siempre el complemento de la función OR. 
                                                              

Circuitos Combinatorios


5.1. Multiplexores
Los multiplexores son circuitos combinacionales con varias entradas y una salida de datos, y están dotados de entradas de control capaces de seleccionar una de las entradas de datos para permitir su transmisión desde la entrada seleccionada a la salida que es única.
La entrada seleccionada viene determinada por la combinación de ceros (0) y unos (1) lógicos en las entradas de control. La cantidad de entradas de control que necesitaremos para seleccionar, será el resultado de elevar el 2 a una potencia. Así, por ejemplo, a un multiplexor de 8 entradas le corresponderán 3 de control.
Podemos decir que la función de un multiplexor consiste en seleccionar una entrada de entre un número de líneas de entrada y transmitir el dato de un canal de información único. Por lo tanto, es equivalente a un conmutador de varias entradas y una salida.

Circuito Multiplexor
El circuito multiplexor es un circuito con N + 2N entradas y 1 salida. Para el caso de N = 3 tiene el siguiente símbolo:
Su tabla de verdad es:
A  B  C  Y
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
1 0 0 D4
1 0 1 D5
1 1 0 D6
1 1 1 D

Es decir que la salida Y toma el valor de la entrada D cuyo índice coincida con el número
binario representado por las entradas A, B y C. Las entradas A, B y C se llaman entradas de "control" y las entradas D se llaman de "datos".
Se denomina multiplexor porque es capaz de presentar en una sola variable Y cualquiera de las 2N entradas. Esto tiene aplicaciones cuando la salida Y es un "canal principal de comunicación", mientras que las entradas D son "sub-canales de comunicación". Este circuito permite que variando en el tiempo las entradas de control logremos dividir la utilización del canal principal entre los subcanales. Esta técnica se denomina TDM (Time Division Multiplexing). De allí que el circuito se denomine multiplexor.

Una característica distintiva del circuito multiplexor es su aplicabilidad para la realización de
funciones lógicas. Consideremos el siguiente circuito basado en un multilexor 8 a 1:
Si escribimos la tabla de verdad de este circuito nos queda:
a  b  c  M
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

que coincide con la tabla de verdad del circuito Mayoría (a, b, c).
Si observamos nuevamente la tabla de verdad resumida del circuito multiplexor
constataremos que asignando un valor apropiado a cada una de las entradas del datos D, estamos
en condiciones de generar el valor 0 ó 1 correspondiente a cada una de las combinaciones de los bits de control (entradas A, B, C). Esto permite construir cualquier función lógica de n variables con un multiplexor de n entradas de control.
Los circuitos integrados disponibles (como el 74251) disponen de salida "tri-state" (el
concepto de tri-state se verá más adelante) controlada por una entrada adicional G y una salida de
lógica invertida W: 


5.2. Demultiplexores

El circuito demultiplexor realiza la tarea inversa al multiplexor. Posee 1 entrada de datos, N entradas de control y 2N salidas, según el símbolo:
5.3. Codificadores

Un codificador es un circuito combinatorio que cuenta con un número determinado de entradas, de las cuales sólo una tiene el estado lógico 1, y se genera un código de varios bits que depende de cuál sea la entrada excitada.


Son los dispositivos MSI que realizan la operación inversa a la realizada por
los decodificadores. Generalmente, poseen 2
n entradas y n salidas.
Cuando solo una de las entradas está activa para cada combinación de salida, se
le denomina codificador completo.
Por ejemplo, el siguiente circuito proporciona a la salida la combinación
binaria de la entrada que se encuentra activada. En este caso se trata de un
codificador completo de 8 bits, o también llamado codificador de 8 a 3 líneas:


Las salidas codificadas, generalmente se usan para controlar un conjunto de 2n
dispositivos, suponiendo claro está que sólo uno de ellos está activo en cualquier
momento. Sin embargo cuando nos encontremos con que se deben controlar
dispositivos que pueden estar activos al mismo tiempo, problema que se suelen
encontrar los sistemas microprocesadores, es preciso usar un dispositivo que nos
proporcione a la salida el código del dispositivo que tenga más alta prioridad.


 5.4. Decodificadores

un decodificador realiza la función opuesta a la de codificar, es decir, convierte un código binario de varias entradas en salidas exclusivas. Podemos distinguir dos tipos básicos de decodificadores: los excitadores y los no excitadores. En el primero de los casos tenemos, por ejemplo, aquellos cuya misión es convertir el código BCD de sus entradas al formato de salida necesario para excitar un visualizador numérico o alfanumérico.

El decodificador es un dispositivo que acepta una entrada digital codificada en binario y activa una salida.
Este dispositivo tiene varias salidas, y se activará aquella que establezca el código aplicado a la entrada.
Con un código de n bits se pueden encontrar 2n posibles combinaciones. Si se tienen 3 bits (3 entradas) serán posibles 23 = 8 combinaciones.
Una combinación en particular activará sólo una salida.

5.5. Sumador medio

Medio Sumador: Un medio sumador es un circuito que se caracteriza por tener dos entradas y dos salidas que vendrían a ser el resultado de la suma y el acarreo mientras que los dos bits de entrada representan el sumando y el añadido de la operación. 
La tabla de verdad de un medio sumador es la siguiente:
x     | y     | c     | s     |
0     | 0     | 0     | 0     |
0     | 1     | 0     | 1     |
1     | 0     | 0     | 1     |
1     | 1     | 1     | 0     |

Las ecuaciones lógicas para las salidas s y c son:
s=x`y+xy`=x(xor)y.
c= xy.

  



5.6. Sumador completo
 Completo: Un sumador completo es un circuito combinacional que forma la suma aritmética de 3 bits de entrada. El sumador completo consta de 3 entradas y 2 salidas. Las 2 primeras entradas que se denominan “x” y “y” representan los dos bits significativos que van a añadirse mientras que la tercer entrada que se denomina “z” representa la cuenta que se lleva de la posición previa significativa más baja. Al igual que en el medio sumador las 2 salidas se denominan “s” y “c”. La tabla de verdad de un sumador completo es la siguiente:
x     | y     | z     | c     | S     |
0     | 0     | 0     | 0     | 0     |
0     | 0     | 1     | 0     | 1     |
0     | 1     | 0     | 0     | 1     |
0     | 1     | 1     | 1     | 0     |
1     | 0     | 0     | 0     | 1     |
1     | 0     | 1     | 1     | 0     |
1     | 1     | 0     | 1     | 0     |
1     | 1     | 1     | 1     | 1     |

Las ecuaciones lógicas para s y c son las siguientes:
S= x`y`z + x`yz`+ xy`z`+ xyz
C= xy + xz+ yz



BIBLIOGRAFIA:
http://www.fing.edu.uy/tecnoinf/cursos/arqcomp/material/teorico/arq-teorico03.pdf
http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/529-multiplexor

http://www.angelfire.com/al2/Comunicaciones/Laboratorio/codifica.html
http://www.angelfire.com/al2/Comunicaciones/Laboratorio/demulti.html

http://www.unicrom.com/dig_decodificadores.asp
http://www.slideshare.net/Ka
salazar rivera










lunes, 10 de diciembre de 2012

8.1.3. Niveles de interrupción (IRQ´S)


IRQ: Interrupt Request (Pedido de Interrupción)

En los PCs, un IRQ es una señal de un dispositivo de hardware (por ej. el teclado o tarjeta de sonido) indicando que el dispositivo necesita que la CPU haga algo. La señal del pedido de interrupción va a través de las líneas IRQ a un controlador que asigna prioridades a los pedidos IRQ y se los entrega a la CPU. Ya que el controlador de IRQ espera señales de solo un dispositivo por línea IRQ, si tienen más que un dispositivo por línea terminan con un conflicto de IRQ que puede congelar su máquina. Esto es por qué asignar IRQs a dispositivos nuevos al instalarlos es tan importante - y por qué puede ser tan frustrante cuando no se hace bien.
Recurso que emplean los componentes para comunicarle al sistema operativo que están trabajando y desobedecer la acción que se les propone. es lo que hace, por ejemplo, una placa de video que, está realizando una tarea cuando recibe una orden incompatible en su momento.
Son 16 IRQ’S que van del 0 al 15 los q mencionemos a continuación

Líneas INT/IRQ independientes en la CPU 

En este caso el propio CPU tiene múltiples entradas INT (numeradas, por ej: INT0, INT1,  INT2, etc) y la idea es conectar un controlador de  E/S a cada una de ellas. La identificación es entonces por hardware y directa: el controlador que está pidiendo la interrupción es el que está conectado a la entrada INTn donde se detecta la solicitud. En este caso hay una dirección de la rutina de servicio a la interrupción por cada línea de pedido disponible. 
En algunos casos, como en el ejemplo de la arquitectura SPARC, las entradas de solicitud de interrupción están codificadas. Esto quiere decir que el SPARC en vez de tener 16 entradas de solicitud independientes, tiene 4 entradas en las cuáles se presenta el código binario del pedido de interrupción. Esto exige la inclusión de un hardware de codificación externo a la CPU
Existe  diverso  hardware  para  implementar  un  controlador  de  interrupciones,  los computadores  IBM  PC  o  compatibles,  utilizan  el  controlador  de  interrupciones programable de Intel 82C59A-2 Cmos o sus chips compatibles.  Este controlador ha sido utilizado desde los comienzos del IBM PC, y es bien conocido el espacio de direccionamiento de sus  registros en la arquitectura ISA.  Incluso  en chips más modernos se ha mantenido la misma  localización.



Interrupciones Hardware. 

En la figura, se muestra dos controladores de 8 entradas, cada uno de ellos tiene una máscara y un registro de estatus de interrupción, un PIC1 y un PIC2. Los registros de máscara están en los direccionamientos 0x21 y 0xA1 y los registros del estatus están en 0x20 y 0xA0.
Al escribir en un bit determinado del registro de máscara permite una interrupción, escribiendo un cero se invalida esta interrupción. Así pues, escribir un uno en la entrada 3 permite la interrupción 3, escribiendo cero se invalida. Los registros de máscara de interrupción son solamente de escritura, por lo tanto Linux debe guardar una copia local de lo que se ha escrito en los registros de máscara. Cuando se produce una señal de interrupción, el código de manejo de la interrupción lee dos registros de estatus de interrupción (ISRs). Trata el ISR en 0x20 como los ocho bits inferiores, y el ISR en 0xA0 como los ocho bits superiores. Así pues, una interrupción en el dígito binario 1 del ISR en 0xA0 será tratada como la interrupción 9 del sistema. El segundo bit de PIC1 no es utilizado ya que sirve para encadenar las interrupciones  del  controlador  PIC2,  por  lo  tanto  cualquier  interrupción  del controlador PIC2 se pasa al bit 2 del controlador PIC1.
El controlador de interrupción programable 8259 (PIC en la placa base) maneja todas las interrupciones hardware. Estos controladores toman las señales de los dispositivos y los convierten a las interrupciones específicas en el procesador. Interrupciones Hardware Los IRQ o interrupt request (Pedido de Interrupción), son las notificaciones de las interrupciones enviadas desde los dispositivos hardware a la CPU, en respuesta a la IRQ, la CPU salta a una dirección – una  rutina de  servicio de  interrupción (ISR), comúnmente llamada Interrupt  handler (Manejador de interrupciones) -  Que se encuentra  como  una  función  dentro  del  software  manejador  de  ese  dispositivo formando parte del núcleo. Así, una función manejadora de interrupciones es una función del núcleo que ejecuta el servicio de esa interrupción. Los  IRQ  se  encuentran  numerados,  y  cada  dispositivo  hardware  se  encuentra asociado a un número IRQ. En la arquitectura IBM PC y compatibles, por ejemplo, IRQ  0  se  encuentra  asociado  al  reloj  o  temporizador,  el  cual  genera  100 interrupciones por segundo, disquete el 6, los discos IDE la 14 y 15. Se puede compartir un IRQ entre varios dispositivos.
La  siguiente  figura,  muestra  las  interrupciones   hardware  y  su  correspondiente puerto  en  el  Controlador  Programable  de  Interrupciones  (PIC).  No  se  deben confundir  los  números  IRQ  entradas  al  controlador  con  los  números  de  la interrupción que son las entradas en la tabla de interrupciones. Los PIC se pueden programar para generar diversos números de interrupción para cada IRQ. Los Controladores también controlan la prioridad de las interrupciones. Por ejemplo,
el  reloj  (en  IRQ  0)  tiene  una  prioridad  más  alta  que  el  teclado  (IRQ  1).  Si  el procesador  está  atendiendo  una  interrupción  del  reloj,  el  PIC  no  generará  una interrupción para el teclado hasta que ISR del reloj reajusta el PIC. Por otra parte, el reloj puede interrumpir ISR del teclado. El PICs se puede programar para utilizar una variedad de esquemas de la prioridad, pero no se suele hacer esto. Se debe de tener en cuenta que el IRQ 2 del primer PIC, valida o invalida las entradas del Segundo PIC (8 a 15). Algunas interrupciones son fijadas por convenio en la configuración del PC, así es que los manejadores de los dispositivos solicitan simplemente la interrupción cuando se inicializan. Por ejemplo esto es lo que lo hace el manejador de disquete, solicita siempre la IRQ 6.
Interrupción IRQ Descripción
00H  -  división por cero o desbordamiento
02H  -  NMI (interrupción no-enmascarable)
04H  -  desbordamiento (EN)
08H  0  Temporizador del sistema
09H  1  Teclado
0AH  2  Interrupción del segundo PIC
0BH  3  COM2
0CH  4  COM1
0DH  5  LPT2
0EH 6 disquete
0FH  7  LPT1
70H 8  Reloj
71H  9  I/o general
72H  10  I/o general Interrupciones Hardware
73H  11  I/o general
74H  12  I/o general
75H  13  Coprocesador
76H  14  Disco duro
77H  15  I/o general

                                                                                                                               Edgar Cesar Hernández