Está en la página 1de 70

Concepto de

Ordenador o Computadora
Sistema de calculo de propsito general
que incorpora una unidad central de
proceso, memoria y dispositivos de
entrada y salida.
Caractersticas
Habilidad para realizar operaciones aritmticas y
lgicas.
Memoria. Puede retener informacin por un periodo
de tiempo dado.
Es programable. Efecta una serie de operaciones en
un orden determinado.
Capacidad de recibir informacin del mundo exterior y
entregar resultados de sus clculos.
jerarqua de un sistema de
computo

Computadora
Procesador Subsistemas de entrada salida
CPU
Subsistema de memoria
ALU Unidad de control
Flujo de informacin

Subsistema de memoria
Unidad de control
Unidad aritmtica y
lgica
Control Resultados
Datos
Estado
Control
Cdigo de
operacin
1.1.1 Modelos de arquitectura de
computo clsicas
Arquitectura Mauchly-Eckert (VonNewman)
Primeras computadoras electromecnicas y de
tubos de vaco.
Concepto de programa almacenado.
Desventajas:
Cuello de botella de Von newman
Arquitectura Mauchly-Eckert (Von
Newman)

Procesador
ALUAL
Memoria principal
almacena los
programas y los datos
Entrada y salida
UNIDAD DE
CONTROL
ALU
Registros
BUS PRINCIPAL
Un ordenador con esta arquitectura
realiza o emula los siguientes pasos
secuencialmente:
1.--Enciende el ordenador y obtiene la
siguiente instruccin desde la memoria
en la direccin indicada por el contador
de programa y la guarda en el registro de
instruccin.
2.--Aumenta el contador de programa en
la longitud de la instruccin para apuntar
a la siguiente.
3.--Decodifica la instruccin mediante la
unidad de control. sta se encarga de
coordinar el resto de componentes del
ordenador para realizar una funcin
determinada.
4.--Se ejecuta la instruccin. sta puede
cambiar el valor del contador del
programa, permitiendo as operaciones
repetitivas. El contador puede cambiar
tambin cuando se cumpla una cierta
condicin aritmtica, haciendo que el
ordenador pueda 'tomar decisiones', que
pueden alcanzar cualquier grado de
complejidad, mediante la aritmtica y
lgica anteriores.

Arquitectura Harvard
Al igual que en la
arquitectura Von Newman,
el programa se almacena
como un cdigo numrico
en la memoria, pero no en
el mismo espacio de
memoria ni en el mismo
formato que los datos. Por
ejemplo, se pueden
almacenar las instrucciones
en doce bits en la memoria
de programa, mientras los
datos de almacenan en 8
bits en una memoria
aparte.
Arquitectura Harvard
Memoria
de
programa
Memoria
de datos
Entrada y salida
Procesador
ALU
Registros
Unidad de
control
Tener un bus separado para el programa y otro para los datos permite que se lea el cdigo de
operacin de una instruccin, al mismo tiempo se lee de la memoria de datos los operados
de la instruccin previa. As se evita el problema del cuello de botella de Von Newman y se
obtiene un mejor desempeo.
1.1.2 Arquitecturas
Segmentadas.
Las arquitecturas segmentadas aparecieron a mediados de
los aos 1960's como una manera de aumentar el
rendimiento sin implicar un nivel
masivo de paralelismo

Durante los aos 1980's fueron una de las ideas centrales de
los procesadores RISC, buscando alcanzar el objetivo de que
se ejecutara una
instruccin cada ciclo de maquina.
En Ingls se conocen como pipelined procesors o
procesadores entubados
1.1.2 Arquitecturas
Segmentadas.

Las arquitecturas segmentadas o con
segmentacin del cauce buscan mejorar el
desempeo realizando paralelamente
varias etapas del ciclo de instruccin al
mismo tiempo.
1.1.2 Arquitecturas
Segmentadas.
El procesador se divide en varias
unidades funcionales independientes
y se dividen entre ellas el
procesamiento de las instrucciones.
1.1.2 Arquitecturas
Segmentadas.
Consiste en dedicar unidades especificas del
procesador a cada una de las partes del ciclo de
instruccin y ejecutarlas paralelamente.
Este proceso mejora dramticamente el
rendimiento debido a que en los procesadores
modernos se tienen hasta 14 etapas en el ciclo de
instruccin.



1.1.2 Arquitecturas
Segmentadas.




B1 E1 B2 E2 B3 E3
Procesador sin entubamiento
1.1.2 Arquitecturas
Segmentadas.




B1 B2 B3 B4
Procesador sin entubamiento
E1 E2 E3
B/U
EU
Segmentacin del cause.





La unidad de control se subdivide en dos o ms
unidades funcionales, cada una encargada de llevar a cabo una
parte del ciclo de instruccin.
Se comunican a travs de una cola de instrucciones (Pipeline)









Unidad de
Bsqueda
Unidad de
ejecucin
de e
Cola de instrucciones
Segmentacin del cause(2).

La mejora en el rendimiento no es proporcional al numero de
segmentos en el cauce debido a que cada etapa no toma el mismo
tiempo en realizarse, adems de que se puede presentar
competencia por el uso de algunos recursos como la memoria
Principal









Bsqueda
Ejecucin
Espera
Espera
Consecuencias de la competencia por un recurso
1.1.3 Arquitecturas de
multiprocesamiento.
Cuando se desea incrementar el desempeo ms
haya de lo que permite la tcnica de
segmentacin del cauce (limite terico de una
instruccin por ciclo de reloj), se requiere utilizar
ms de un procesador para la ejecucin del
programa de aplicacin.
1.1.3 Arquitecturas de
multiprocesamiento.
Las CPU de multiprocesamiento se clasifican de la siguiente
manera:
SISO (Single Instruction, Single Operand ) computadoras
independientes
SIMO (Single Instruction, Multiple Operand )
procesadores vectoriales
MISO (Multiple Instruction, Single Operand ) No
implementado
MIMO (Multiple Instruction, Multiple Operand ) sistemas
SMP, Clusters
Procesadores vectoriales
Son computadoras pensadas para aplicar un
mismo algoritmo numrico a una serie de datos
matriciales, en especial en la simulacin de
sistemas fsicos complejos, tales como
simuladores para predecir el clima, explosiones
atmicas, reacciones qumicas complejas, etc.,
donde los datos son representados como
grandes nmeros de datos en forma matricial
sobre los que se deben se aplicar el mismo
algoritmo numrico.
Sistemas SMP (Simetric
Multiprocesesors),
En los sistemas SMP (Simetric Multiprocesesors),
varios procesadores comparten la misma memoria
principal y perifricos de I/O, Normalmente
conectados por un bus comn. Se conocen como
simtricos, ya que ningn procesador toma el papel
de maestro y los dems de esclavos, sino que todos
tienen derechos similares en cuanto al acceso a la
memoria y perifricos y ambos son administrados
por el sistema operativo.
Clusters
Los Clusters son conjuntos de computadoras
independientes conectadas en una red de rea
local o por un bis de interconexin y que
trabajan cooperativamente para resolver un
problema. Es clave en su funcionamiento contar
con un sistema operativo y programas de
aplicacin capaces de distribuir el trabajo entre
las computadoras de la red.
1.2 Anlisis de los componentes
1.-CPU
2.-Memoria
3.-Manejo de entrada/salida
4.-Buses
5.-Interrupciones

1.2.1 CPU
1.2.1.1 Arquitecturas
Adems de las arquitecturas de Von Newman
y la Harvard han aparecido otras arquitecturas
hibridas como:
RISC y CISC.


Arquitecturas RISC
En arquitectura computacional, RISC (del ingls Reduced Instruction
Set Computer ) Computador con Conjunto de Instrucciones Reducidas)
es un tipo de diseo de CPU generalmente utilizado en
microprocesadores o microcontroladores con las siguientes
caractersticas fundamentales:
Instrucciones de tamao fijo y presentadas en un reducido nmero
de formatos.
Slo las instrucciones de carga y almacenamiento acceden a la
memoria de datos.
Adems estos procesadores suelen disponer de muchos registros
de propsito general.
El objetivo de disear mquinas con esta arquitectura es posibilitar
la segmentacin y el paralelismo en la ejecucin de instrucciones y
reducir los accesos a memoria. Las mquinas RISC protagonizan la
tendencia actual de construccin de microprocesadores. PowerPC,
DEC Alpha, MIPS, ARM, SPARC son ejemplos de algunos de ellos.
Arquitecturas RISC
RISC es una filosofa de diseo de CPU para computadora
que est a favor de conjuntos de instrucciones pequeas y
simples que toman menor tiempo para ejecutarse.

La idea fue inspirada por el hecho de que muchas de las
caractersticas que eran incluidas en los diseos
tradicionales de CPU para aumentar la velocidad estaban
siendo ignoradas por los programas que eran ejecutados en
ellas. Adems, la velocidad del procesador en relacin con
la memoria de la computadora que acceda era cada vez
ms alta. Esto conllev la aparicin de numerosas tcnicas
para reducir el procesamiento dentro del CPU, as como de
reducir el nmero total de accesos a memoria.


Arquitecturas CISC
En arquitectura computacional, CISC (del ingls
Complex Instruction Set Computer, Computador
con Conjunto de Instrucciones Complejas). En este
modelo de arquitectura de computadoras los
microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy
amplio y permitir operaciones complejas entre
operandos situados en la memoria o en los
registros internos, en contraposicin a la
arquitectura RISC.


Arquitecturas CISC
Este tipo de arquitectura dificulta el paralelismo entre
instrucciones, por lo que, en la actualidad, la mayora
de los sistemas CISC de alto rendimiento implementan
un sistema que convierte dichas instrucciones
complejas en varias instrucciones simples del tipo
RISC, llamadas generalmente microinstrucciones.
Los CISC pertenecen a la primera corriente de
construccin de procesadores, antes del desarrollo de
los RISC. Ejemplos de ellos son: Motorola 68000,
Zilog, Z80 y toda la familia Intel x86, AMD x86-64
usada en la mayora de las computadoras personales
actuales.



1.2.1.2 Tipos.
Los CPUs modernos pueden clasificarse de acuerdo
a varias caractersticas, tales como: el tamao del
ALU o del Bus de conexin al exterior (8, 16, 32, 64
bits),si tienen cauce segmentado o no
segmentado, si con tipo CISC o RISC, Von Newan o
Harvard y si solo tienen instrucciones enteras o
implementan tambin instrucciones de punto
flotante.
1.2.1.3 Caractersticas.
Las caractersticas ms importantes a considerar al escoger
un CPU para usarlo en una aplicacin, son:
Modelo del programador (Conjunto de registros que el
programador puede utilizar), forman el modelo mental
del CPU que el programador utiliza al programar en
ensamblador.
Conjunto de instrucciones que puede ejecutar el CPU
Modos de direccionamiento que pueden usarse para
obtener los operandos de las instrucciones.
Ciclo de instruccin (el conjunto de pasos que realiza el
CPU para procesar cada instruccin)
Buses de interconexin, usados para que el CPU lea y
escriba a la memoria y a los dispositivos de entrada y
salida.
1.2.1.4 Funcionamiento
Se explicara el funcionamiento de una
computadora imaginaria, cuyo funcionamiento
bsico es similar al de la mayora de las
computadoras de propsito general.

Contara con una memoria de 4096 palabras de 16
bits cada una (12 bits de direcciones, 16 bits de
datos).
En cada localidad de memoria se podr almacenar
un entero de 16 bits o el cdigo de una instruccin,
tambin de 16 bits.
Componentes del CPU
Registro ACC (16 bits) Acumulador, se usar
para almacenar uno de los operandos y el
resultado de varias de las instrucciones.
MAR (Memory Address Register 12 bits)
Registro de direccin de memoria, selecciona
a que localidad de memoria se va a leer o a
escribir.
MBR (Memory Bus Register 16 bits) Registro
de bus de memoria. A travs de l se lee y se
escriben los datos.
Componentes del CPU (2)
IR Registro de instruccin (16 bits), guarda el
codigo de la instruccin que se esta ejecutando.
Flags Registro de Banderas, agrupa a todas
las banderas de la ALU en un registro:
Z Bandera de Cero
O Sobreflujo
C Acarreo
PC (Program Counter 16 bits) Contador de
programa almacena la direccin de la
siguiente instruccin a leer.
Codificacin de una instruccin
Cdigo de Instruccin
Operacin Operando 1 Operando 2
Operacin Operando nico
Cdigo de Operacin
Cdigos de operacin
Cdigo de
Operacin
Instruccin Operacin
0h LOAD ACC<-[M]
1h STORE (almacena) [M]<-ACC
2h ADD(suma) ACC<-ACC + [M]
3h ADC(suma con acarreo) ACC<-ACC+[M]+C
4h SUB(Resta) ACC<-ACC-[M]
5h OR (OR Bit A Bit) ACC<-ACC or [M]
6h AND (And Bit a Bit) ACC<-ACC and [M]
7h XOR (Xor Bit a Bit) ACC<-ACC xor [M]
8h SHL (Corrimiento a la izq) ACC<-ACC << 1
9h SHR (Corrimiento a la der) ACC<-ACC>>1
Cdigos de operacin (2)
Cdigo de
Operacin
Instruccin Operacin
Ah BRA (Bifurcacin o Salto) PC<-M
Bh BRZ (Bifurca si es Cero) Si Z==1 =>PC<-M
Ch BRC (Bifurca si hay Acarreo) Si C==1 =>PC<-M
Dh BRO(Bifurca si hay Sobre flujo) Si O==1 =>PC<-M
Eh LDI (Carga Constante
Inmediata)
ACC<-[PC] , PC<-PC +1
Fh STOP Detener la simulacin
Notas: M es el operando
LDI se codifica en dos palabras, una para el
cdigo de operacin y otra para la constante inmediata
Ejemplos de Codificacin
Instruccion Opcode Operando Codigo
LD 123h 0h 123h 0123H
ADD 123H 2h 123h 2123h
BRA 123h Ah 123h A123h
LDI 1234h E000h 1234h E000h,1234h
STOP Fh No Aplica F000h
Ciclo de instruccin
Bsqueda de Instruccin
Decodificacin de instruccin
Ejecucin de la instruccin
Ciclo de instruccin (2)
Bsqueda de instruccin: En esta etapa se lee
el cdigo de la siguiente instruccin a ejecutar
PC Contiene la direccin de la instruccin
IR<-[ PC] (se lee de memoria el cdigo)
PC<-PC+1(PC apunta a la siguiente
instruccin
Decodificacin de la instruccin
Se separa el contenido de IR en Opcode
Operando
Se busca a que instruccin corresponde el
Opcode
Ejecucin Instruccin
LOAD 023h
BUS
Contenido Direccin
XXXXh 000h
XXXXh 001h
0023h 002h
2024h 0023h
XXXXh 022h
1234h 023h
456h 024h
Banderas
Acumulador
003h
0023h
0
2
h

0
0
2
3
h

XXXXh FFFh
CPU Memoria


Ejecucin Instruccin
LOAD 023h
BUS
Contenido Direccin
XXXXh 000h
XXXXh 001h
0023h 002h
2024h 0023h
XXXXh 022h
1234h 023h
456h 024h
Banderas
1234H
003h
0023h
0
2
3
h

1
2
3
4
h

XXXXh FFFh
CPU Memoria
Ejecucin Instruccin
ADD 024h
BUS
Contenido Direccin
XXXXh 000h
XXXXh 001h
0023h 002h
2024h 003h
XXXXh 022h
1234h 023h
456h 024h
Banderas
Acumulador
004h
2024h
0
0
3
h

2
0
2
4
h

XXXXh FFFh
CPU Memoria
Ejecucin Instruccin ADD 024h
BUS
Contenido Direccin
XXXXh 000h
XXXXh 001h
0023h 002h
2024h 003h
XXXXh 022h
1234h 023h
4567h 024h
Z=0,C=0,V=0
579Bh
004h
2024h
0
2
4
h

4
5
6
7
h

XXXXh FFFh
CPU Memoria
1.2.2 Memorias.
1.- Conceptos bsicos de manejo de la memoria
2.- Memoria principal semiconductora
3.- Memoria Cache
Conceptos Bsicos del Manejo
de la memoria

Una memoria es un dispositivo que puede
mantenerse en por lo menos dos estados estables
por un cierto periodo de tiempo.
Cada uno de estos estados estables puede
utilizarse para representar un bit.
A un dispositivo con la capacidad de almacenar por
lo menos un bit se le conoce como celda bsica de
memoria.
Conceptos Bsicos del Manejo
de la memoria

Una palabra es el conjunto de bits que puede leerse o
escribirse en una sola operacin.
Un grupo de 8 bits es un byte. Un grupo de 4 bits un
Nible.
Los tamaos de palabra en las memorias suelen ser
mltiplos de 8 bis.
El tamao de la palabra coincide con el numero de
terminales de datos que poseen.
Conceptos Bsicos del Manejo
de la memoria
Las lneas de direcciones sirven para escoger en cual de todas las
palabras de la memoria se va a guardar o a leer un dato.
El nmero de lneas de direcciones se determina por el tamao de
la memoria:
T=2N
T - Nmero de palabras o localidades
N - Nmero de lneas de direcciones
Es comn que el tamao de las memorias se exprese como un
mltiplo de las siguientes unidades: 1K = 2^10=1024; 1M = 2^20
= 1024*1024, 1G=2^30 = 1024*1024 *1024
Clasificacin de Memorias
Voltiles: pierden la
informacin
Cuando son desenergizadas
(RAM)
RAM esttica: Se forma con
flip-flops. Rpida pero cara.
RAM Dinmica: Se almacenan
los datos en la capacitancia
parsita de un transistor. Como
el capacitor se descarga
necesita reescribirse el dato
con frecuencia. Alta densidad,
baratas pero lentas.
No voltiles: conservan la
informacin an sin suministro
de energa.
ROM: Se construyen con diodos,
datos grabados por el fabricante
PROM: Los datos se graban
quemando fusibles.
EPROM: Similares a la DRAM,
guardan los datos en la carga
almacenada en la compuerta
flotante de un MOSFET especial.
Se borran con Luz UV
EEPROM y FLASH: Se borran
Elctricamente
Esquema tpico de una memoria
Esquema tpico de una memoria
1.2.2.2 Memoria principal
semiconductora
La memoria de semiconductor usa circuitos integrados
basados en semiconductores para almacenar
informacin. Un chip de memoria de semiconductor
puede contener millones de minsculos transistores o
condensadores. Existen memorias de semiconductor de
ambos tipos: voltiles y no voltiles. En las
computadoras modernas, la memoria principal consiste
casi exclusivamente en memoria de semiconductor
voltil y dinmica, tambin conocida como memoria
dinmica de acceso aleatorio o ms comnmente RAM
1.2.2.3 Memoria cache
La memoria cache naci cuando se descubri que
las memorias ya no eran capaces de acompaar a
la velocidad del procesador, haciendo que muchas
veces este ltimo se quedara "esperando" por los
datos que deba entregar la memoria RAM para
poder concluir sus tareas, perdiendo mucho
rendimiento.
Si en la poca del 386, ao 1991, la velocidad de las
memorias ya era un factor limitante.


Los tipos de memoria cache
Se utilizan dos tipos de memoria cache, llamados cache
primario, o cache L1 (level 1), y cache secundario, o cache L2 (level
2). La memoria cache primaria est insertada en el mismo
procesador y es tan rpida como para acompaarlo en velocidad.
Siempre que un nuevo procesador es desarrollado, es preciso
desarrollar tambin un tipo ms rpido de memoria cache para
acompaarlo. Como este tipo de memoria es extremadamente
cara (llega a ser centenares de veces ms cara que la memoria
RAM convencional) se usa slo una pequea cantidad de ella. Para
complementar, se utiliza tambin un tipo de memoria cache un
poco ms lenta, la cual se llama cache secundario, que por ser
mucho ms barata, permite usar mayor cantidad.



1.2.3 Manejo de la entrada/salida.
En cualquier computador es imprescindible un sistema de E/S que permita el
intercambio de informacin con el mundo exterior, y sin este sistema las
computadoras serviran de poco.
Chipsets
(Controladores)
Bus
Interfaz

Datos

Control

Estado

z
puerto
perifrico
Sistema operativo + Drivers
procesador
Usuario
Mecanismo completo de entrada y salida
1.2.3 Manejo de la entrada/salida.
En esta figura se puede observar el camino completo que el procesador debe seguir para hacer una
operacin de entrada o salida con un dispositivo perifrico. En este esquema de la operacin de E/S
solo se muestra el aspecto hardware, ya que tanto el sistema operativo como los drivers de los
dispositivos tienen un papel importante en las transferencias de la informacion.
Chipsets
(Controladores)
Bus
Interfaz

Datos

Control

Estado

z
puerto
perifrico
Sistema operativo + Drivers
procesador
Usuario
Mecanismo completo de entrada y salida
1.2.3.1. Mdulos de E/S
Existe una gran variedad de dispositivos conectados perifricos que se pueden
conectar a una computadora hoy en da:
a).- De E/S bsica: Teclado, ratn Monitor.
b).- De Almacenamiento: Disco duro, CD, DVD.
c).- De Impresin : Impresora, escner.
d).- De Comunicacin: Modem, acceso a Red LAN.
e).- De Multimedia: Micrfono, altavoces, capturadora, cmara de video.
f).- De automatizacin y control: sensores, alarmas, Adquisicin de datos.

Sea cual sea el dispositivo, todos se conectan al sistema a travs de un interfaz
cuyas funciones principales son:
Interpretar las ordenes que recibe del procesador y transmitirlas al perifrico.
Controlar las transferencias de datos entre el procesador y el perifrico
(Convertir formatos, adaptar velocidades).
Informar al procesador del estado del perifrico.


1.2.3.1. Mdulos de E/S
Este interfaz es una unidad hardware / software (la parte
ligada a los drivers y el sistema operativo) que suele estar
ubicada en una tarjeta o adaptador. Los interfaces suelen
clasificarse como serie o paralelo segn estn diseados
para que soporten un gran conjunto de dispositivos. Se
conectan a travs de puertos.
Este se conecta mediante un bus de E/S con un
controlador que suele encontrarse en un chipset o hub y
que gestiona la transferencia de informacin con el
procesador o con la memoria segn los mecanismos de
gestin de E/S disponibles en la arquitectura.
1.2.3.1. Mdulos de E/S
Con esta estructura el sistema de E/S debe ser capaz de cumplir tres funciones
que son imprescindible para la realizacin de una operacin de entrada o salida:
Direccionamiento: El procesador debe ser capaz de seleccionar de alguna
manera el dispositivo con el que quiere realizar la transferencia de E/S o de
identificar el dispositivo que le hace algn tipo de solicitud.
Existen dos alternativas:
E/S mapeada en memoria: El sistema de E/S y la memoria principal comparten el
mismo espacio de direcciones de manera que las E/S se realizan con instrucciones
de load y store. Se asigna a los puertos de E/S una porcin de del espacio de
direcciones fsicas de memoria.
E/S aislada: El sistema de E/S y la memoria utilizan un espacio de direcciones
diferentes. Existen instrucciones especificas para E/S (Tipo in y out). Hay una lnea
en el bus de direcciones que especifica si se realiza un direccionamiento de
memoria o de E/S.
Transferencia de informacin: Que puede ser de dos tipos, lectura o escritura.
Gestin de la transferencia: El sistema de E/S es necesario un mecanismo de
sincronizacin y control de la transferencia de informacin porque el procesador
debe saber si el perifrico esta preparado para enviar o recibir datos.
Gestin del sistema E/S.
En todas las arquitecturas , fue necesario implementar un
sistema un mecanismo de gestin de E/S que controle las
transferencias de informacin entre le procesador y el
dispositivo perifrico. Estos mecanismos de gestin con
muy variados, y es mejor utilizar unos u otros dependiendo
del tipo de dispositivo que se conecte a la computadora.

1.2.3.2 Entrada/salida programada con
espera de respuesta.
Cada ves que el
procesador tiene que
realizar una transferencia
de E/S entra en un bucle
en que consulta una y otra
vez el estado del
perifrico hasta que ste
est preparado para
realizar la transferencia.
Figura

Leer registro de
estado del
interfaz de E/S
Examinar bits de
estado
Perifrico
preparado?
Perifrico
preparado?
Transferir datos
hacia/desde
perifrico
FIN
SI
NO
NO
SI
1.2.3.2 Entrada/salida programada con
espera de respuestas.
Los inconvenientes de este mtodo
son:
El procesador no hace trabajo
til durante el bucle de espera.
La dinmica del programa que
estaba en ejecucin se detiene
completamente durante la
operacin de E/S.
Existen dificultades para atender
a varios dispositivos al mismo
tiempo.
Por eso una tcnica de gestin
intuitiva y fcil de programar, pero
no se utiliza prcticamente nunca.

Leer registro de
estado del
interfaz de E/S
Examinar bits de
estado
Perifrico
preparado?
Perifrico
preparado?
Transferir datos
hacia/desde
perifrico
FIN
SI
NO
NO
SI
1.2.3.3 Entrada/salida mediante
interrupciones.
En este caso no existe ningn tipo de bucle de espera,
sino que es el perifrico quien avisa al procesador
cuando este listo para la transferencia.

En este caso se realiza activando una lnea de peticin
de interrupcin ("Interrupt ReQuest" o peticin de
interrupcin). Cuando el procesador recibe esta seal
de peticin salta a ejecutar una Rutina de Tratamiento
de Interrupciones(RTI) que se encarga de atender al
perifrico que solicit la interrupcin y realiza la
operacin de E/S.
1.2.3.3 Entrada/salida mediante
interrupciones.
En caso de un procesador secuencial, la secuencia tpica de eventos que se
produce en el tratamiento de excepciones es la siguiente:
1.- El perifrico activa la lnea de peticin de interrupcin (IRQ).
2.- Cuando el procesador termina de ejecutar la interrupcin en curso, comprueba
si tiene alguna peticin de interrupcin pendiente.
3.- Si es as, el procesador almacena el contexto de ejecucin(Contador de y
registro de estado) en la pila, des capacita interrupciones y salta a la RTI. En estos
pasos se realiza lo siguiente:
a).- Informa al perifrico que se ha reconocido su peticin, utilizando software,
accediendo los registros de estado del interfaz. El perifrico desactiva el IRQ.
b).- Salva en pila todas los registros de datos y direcciones utilizados por el RTI.
c).- Realiza la operacin de E/S con el perifrico.
d).- Restaura los registros de direcciones y de datos.
e).- Ejecuta la instruccin de retorno de interrupcin.
4.- El procesador vuelve a capacitar las interrupciones, restaura el contexto y
retorna al programa que estaba ejecutando antes de pasar a activar la
interrupcin, continuando con la ejecucin normal del programa.



1.2.3.3 Entrada/salida mediante
interrupciones.
Los procesadores actuales necesitan conectarse a multitud de
dispositivos perifricos diferentes, no solo a uno. Esto obliga en
muchos casos a conectar varios dispositivos a una nica lnea
de peticin de interrupcin y a implementar mecanismos de
identificacin de la fuente de interrupcin.

Cuando existen varias fuentes de interrupcin en una misma
lnea de peticin es necesario un mecanismo para identificar al
perifrico que ha originado la interrupcin y ejecutar la RTI
adecuada para atender a ese perifrico en particular.
1.2.3.3 Entrada/salida mediante
interrupciones.
Para el cual existen dos posibilidades
1.- Identificacin software por encuesta(polling): La RTI examina los
bits de estado de cada perifrico hasta hallar el que tiene activado su
bit de peticin de interrupcin. Una vez detectado, se ejecuta su RTI,
durante la cual se debe desactivar su bit de peticin de interrupcin
del perifrico. Se introduce un mtodo de prioridad, si existen varios
peticiones simultaneas, se atiende el primero. Se desperdicia tiempo
consultando dispositivos que no han solicitado interrupcin.
2.- Identificacin hardware por vectores: En este caso el perifrico
que ha solicitado la interrupcin enva un cdigo o numero de vector
al procesador a partir del cual se puede calcular la direccin de
comienzo de la RTI de ese perifrico en la memoria principal.
Cuando el perifrico recibe la seal de confirmacin o
reconocimiento de interrupcin INT A enva su numero de vector a
travs de su bus de datos. Es rpido que la escueta. El problema es la
cantidad de perifrico que pueden identificarse con este mtodo.
1.2.3.3 Entrada/salida mediante
interrupciones.
Con un vector de 4 bits solo puede identificar hasta 16
dispositivos.
Solucin: utilizar un condigo de grupo, esto es un mismo
numero de vector puede utilizarse para identificar a un grupo
de varios dispositivos.
1.2.3.3 Entrada/salida mediante
interrupciones.
De cualquier manera la gestin de E/S mediante interrupciones implica la necesidad de un
controlador de interrupciones o PIC que se encargue de dar acceso a la nica lnea de peticin de
interrupciones que incorporan los procesadores.










El PIC se incluye en los chipset o hubs del sistema y suele tener varias lneas de peticin de
interrupcin de entrada y una de salida que se conecta directamente a la del procesador.
Datos
Procesador

IRQ INT A

E/S 3
E/S 2 E/S 1
PIC
1.2.3.3 Entrada/salida mediante
interrupciones.
En un sistema de interrupciones multinivel , existen varias lneas o niveles
de peticin y a cada lnea de interrupcin se pueden conectar uno o varios
dispositivos . Cada puede tener asignada una prioridad distinta, porque
hay que resolver de alguna manera el conflicto que se producen por
peticiones simultaneas.
1.2.3.4 Acceso directo a memoria.
La tcnica de Acceso Directo a Memoria (DMA) permite la transferencia de datos
entre un perifrico y la memoria principal sin intervencin del procesador, salva en
las fases de inicializacin de los parmetros de la transferencia.
Datos
Direcciones
IRQ
Sincro
Arbitraje
R/W






DMAC
Dispositivo
E/S
Memoria
principal
Dir. Memoria
No. palabras
Sentido
C
P
U

L

g
i
c
a

d
e

c
o
n
t
r
o
l


DMA-REQ
DMA-ACK
RW-IO

1.2.3.4 Acceso directo a memoria.
La tcnica de Acceso Directo a Memoria (DMA) permite la transferencia de datos
entre un perifrico y la memoria principal sin intervencin del procesador, salva en
las fases de inicializacin de los parmetros de la transferencia.
Datos
Direcciones
IRQ
Sincro
Arbitraje
R/W






DMAC
Dispositivo
E/S
Memoria
principal
Dir. Memoria
No. palabras
Sentido
C
P
U

L

g
i
c
a

d
e

c
o
n
t
r
o
l


DMA-REQ
DMA-ACK
RW-IO