You are on page 1of 33

NA

Introduccin A La Arquitectura De Computadoras


En 1971 se construyo el primer microprocesador: el INTEL4004, estaba formado por un
solo chip de cilicio.
Proceso de canalizacin o concurrentes o en serie o en lnea o segmentado o pipeline:
cuando hay 2 procesos por ejemplo el lavado de 2 canastos de ropa, cuando se comienza
a lavar el primer canasto el otro espera, cuando se termino de lavar el primer canasto se
pasa a la secadora y se comienza a lavar el segundo canasto, cuando el primer canasto
esta secado se pasa al planchado mientras que el segundo canasto es pasado al secado, el
primer canasto ha finalizado la etapa del planchado, entonces se coloca el segundo
canasto para el planchado y cuando este termina finalizaran los 2 procesos
concurrentes.
El proceso de canalizacin es el mas RAPIDO.
Proceso No concurrente: utilizando el ejemplo anterior, primero se completar el
lavado, secado y planchado del primer canasto y luego se repetir para l segundo
lavado.
Procesamiento superescalar: circuitos mas rpidos y ejecutan mas tareas en cada fase de
procesamiento.
Actualmente los microprocesadores superescalares tratan de realizar de 3 a 6
instrucciones por etapa.
El procesamiento superescalar es parecido al procesamiento en paralelo que es mas
popular, pero solo resulta practico para unos pocos tipos de programas.
Las computadoras obedecen a las leyes de fsicas fundamentales de: OHM y MURPHY.
La computadora: maquina capaz de aceptar datos a travs de un medio de entrada,
procesarlos automticamente bajo el control de un programa previamente cargado y
proporcionar la informacin resultante a travs de un medio de salida.
El Hardware:
clasificacin:
- Tipo de procesamiento (forma de representar la informacin)
- Segn la cantidad de procesadores

Computadora de procesamiento analgico


Computadora de procesamiento digital:
# Programa exterior
# Programa registrado
# Programa cableado

Computadora analgica:
Las magnitudes continuas son directamente proporcional a los datos.
Solo representan nmeros.
Se construye en funcin del problema.
Computadora digital:
Utiliza magnitudes discontinuas, 2 estados (sistema binario)

NA
Procesan cualquier tipo de informacin (letras, nmeros y/o smbolos)
La computadora digital es mejor que la analgica en:
1- Facilidad y capacidad de almacenamiento.
2- Precisin de la representacin numrica.
3- Comodidad de uso.
4- Posibilidad de tratar informacin NO numrica.
Computadora digital de programa exterior:
Compuesta por:
- Unidades de entrada
- Memoria central
- Memoria auxiliar
- Unidad aritmtica lgica
- Unidades de salida
- Unidad de control
La estructura del tipo DE BABBAGE, el programa se guarda en un soporte continuo de
progresin secuencial.
Pasos que realiza:
1) Lee el programa
2) Interpreta la instruccin
3) Ordena la ejecucin
4) Lee la prxima instruccin
Inconvenientes:
a. La ruptura de secuencia (toma de decisin) era difcil de implementar.
b. Los tiempos de respuesta eran de distintos tipos:
tiempo de ejecucin -> nano o pico segundos
Dispositivos electromecnicos -> segundos o microsegundos
Computadora digital de programa registrado:
Introduce 2 conceptos:
1- Programa registrado
2- Ruptura de secuencia
Consiste en almacenar el programa en memoria para mejorar tiempos de lectura y
ejecucin de instrucciones y para realizar salto condicional o ruptura de secuencia.
Caractersticas:
Las unidades son:

o Unidad de control
o Unidad aritmtica lgica
o Memoria
o Recursos de E/S
Los programas y datos comparten la misma memoria.
El procesador central (UC+UAL) determina las acciones leyendo las
instrucciones.

Computadora digital de programa exterior esta formada por:

NA
-

Unidad principal:
Memoria (datos e instrucciones)
CPU (UC+UAL)
Unidades de intercambio (E/S Memoria auxiliar)

Arquitectura Harvard:
Es una variante de las computadoras de programa registrado, se caracteriza por tener 2
memorias principales: una para datos y otra para programas.
Permite leer en paralelo datos y programas, ES MAS RAPIDO.
El inconveniente es que no se aprovecha bien la memoria disponible.
Computadora digital de programa cableado:
El programa esta constituido por su circuitera.
Ventaja:
Gran velocidad porque solo ejecuta instrucciones y no necesita leerlas ni analizarlas
Desventaja:
Solo ejecuta los programas de su circuitera.
Clasificacin de FLYNN
SISD: Von Neumann
SIMD: Supercomputadoras vectoriales
MISD: no hay
MIMD: multiprocesadores / multicomputadoras
Flujo de datos: conjunto de operandos.
Parmetros de la computadora digital:
- Ancho de palabra:
Nmero de bits que maneja en paralelo, a mayor ancho de palabra, mayor
potencia de calculo.
-

Memoria RAM:
Memoria principal.

Memoria auxiliar:
Expresa el tamao de los perifricos de almacenamiento.

Ancho de Banda:
Caudal de informacin capaz de trasmitir

MIPS:
Microinstruccin por segundo, velocidad de ejecucin de las instrucciones.

MFLOPS o Mega FLOPS:


Millones de operaciones en coma flotante por segundo.

Vectores por segundo:


Potencia de clculo en la generacin de grficos.

NA

Test sinttico:
Comparar computadoras de distintos fabricantes.

Seales de telecomunicaciones
Redes analgicas
Redes digitales

Seales analgicas: representada por funciones que pueden tomar valores


infinitos.
Seales digitales: representadas por funciones que pueden tomar valores finitos
en cualquier intervalo de tiempo.
Los sistemas de comunicaciones trasmiten seales inteligentes.
Sistema analgico:
Las seales contienen informacin en la propia forma de onda que se transmite.
Sistema digital:
Las seales transmitidas contienen informacin en la codificacin de pulsos que
se transmiten.
Hay servicios que son desde que se originan hasta que se reciben tpicamente
analgicos o tpicamente digitales.
Transmisin de seales:
una fuente y un sumidero
trasductores en ambos extremos
medio de comunicacin
En el futuro los medios sern digitales porque el problema de los medios
analgicos es el RUIDO.
Umbral de deteccin: esta determinada por el ruido del medio de transmisin.

Memoria Interna

Requisitos:
medio o soporte donde almacenar datos, estados de energa
(medible/cambia/detectable)
trasductor de escritura
trasductor de lectura
mecanismo de diraccionamiento

Situaciones:
Duradera: se mantiene en forma permanente (no voltil)

NA
Voltil: la informacin desaparece si no se administra energa.
Con refresco: recarga peridica para evitar la perdida de informacin
De lectura destructiva: la lectura implica el borrado la informacin.
Permanente:(o solo lectura) contienen siempre lo mismo informacin (ROM)
Unidad de organizacin: es la palabra (unidad natural)
Unidad de direccionamiento: en algunos sistemas es la palabra y en otros sistemas
se permite direccionar a nivel de BYTES. 2 elevado a la A = N, donde A es la
longitud de palabra y N las unidades direccionables.
Unidad de transferencia: Nmero de bits que se leen o escriben a la vez en la
memoria principal.

Tipos de memoria segn el acceso:


Secuencial:
La memoria se organiza en unidades de datos llamados REGISTROS.
El acceso debe realizarse con una secuencia lineal especfica.
Se utiliza un mecanismo de lectura / escritura que va pasando de la posicin inicial a
la deseada pasando por cada registro y obviando cada registro intermedio para
acceder al registro, ejemplo UNIDADES DE CINTA.
Directo:
Mecanismo de lectura / escritura, para los registros tiene una direccin, ejemplo
UNIDADES DE DISCO.
Aleatorio:
Se puede seleccionar cualquier posicin en forma aleatoria y se direcciona y accede
directamente, ejemplo MEMORIA PRINCIPAL.
Por Contenido:
Es del tipo aleatorio, permite comparar ciertas posiciones de bits dentro de una
palabra.
Tiempo de acceso
En las memorias de acceso aleatorio es el tiempo que tarda en hacer una lectura /
escritura.
Lectura: N*TL ciclo de lectura: TL+TRL (tiempo de regeneracin de lectura)
Escritura: TE ciclo de escritura: TE+TRE
Tiempo de ciclo de memoria (aleatoria)
Ciclo RMW consiste en hacer una operacin de lectura luego de una escritura.
El tiempo total RMW=TL+TRL+TE+TRE
Velocidad de transferencia
Velocidad que se puede transferir datos, a o desde una unidad de memoria.
TN=TA+N/VTR
TN: tiempo medio de E/L en N bits

NA
TA: tiempo de acceso medio
N: Nro. de bits
VTR: velocidad de transferencia (bit por segundo)

Jerarqua de Memoria

Regis
tros
Memoria
Asociativa
Cache
Memoria Central
Costo

Velocidad

Memoria Central
Lectura/Escritura (RAM)

Esttica: SRAM
Dinmica o con refresco: DRAM
Dinmica para grficos: VRAM

Solo Lectura (ROM)

ROM
PROM
EPROM
EEPROM

La celda: es la unidad mas pequea direccionable

Capacidad

NA
La palabra: unidad bsica de informacin en la memoria
Direccin de memoria: Nmero asociado a una celda
Trasductores: son muy costosos:
- de lectura: captan la energa de los puntos de memoria
- de escritura: suministran energa a los puntos de memoria

Unidad Central de Proceso (Procesador o microprocesador)


Esta formado por varias unidades funcionales, la cantidad y tarea que realizan varan
segn el modelo.
Tienen la funcin de ejecutar los programas almacenados en memoria central, toma las
instrucciones, las examina y luego las ejecuta una tras otra.
Unidades funcionales: (como mnimo)
- Unidad de control
- Unidad de clculo
- Unidad de interfaz del bus
Se pueden agregar una unidad de bsqueda anticipada y una unidad de decodificacin
Los microprocesadores se caracterizan por:
velocidad
longitud de palabra
arquitectura
conjunto de instrucciones (fijas o microprogramadas)
La mayora de los microprocesadores poseen un conjunto fijo de instrucciones
Los procesadores que son microprogramados tienen una unidad de control que contiene
un microcdigo o microinstruccin.
La arquitectura del procesador determina:
# El registro
# La pila
# El direccionamiento
# Servicios de entrada/salida
# Datos de tipo primario: bit, nibble, byte, palabra16, palabra32 y palabra64
Palabra: Nmero de bits en el bus de datos interno.

Unidad de clculo
Efecta operaciones ordenadas por la unidad de control sobre datos recibidos de la
memoria central o de la cach.
Parte aritmtica:
Es la parte mas importante y compleja.
La mayora esta basada en un circuito sumador-restador. Operaciones elementales.
Estructura:

NA
-

Unidad aritmtica lgica


Registro acumulador
Varias vas o buses de transferencia
Un selector de operacin
En algunas: registro de entrada o fuentes o banco de registros
Registro de estado

Unidad aritmtico lgica:


Esta formada por operadores (circuitos especializados)
Los operadores son de tipo combinacional y paralelo.
La unidad de control le enva al selector de operacin un cdigo de operacin a realizar,
el selector activa el circuito de clculo correspondiente.
Si la operacin implica 2 operandos como mximo, los cuales acceden a la UAL por 2
vas: va del primer operando y va del segundo operando.
El resultado aparecer en la va de resultado y ser transferido al registro acumulador.
Como la UAL no posee dispositivos de almacenamiento utiliza REGISTROS.
Acumulador:
Almacena el primer operando, resultados parciales y el resultado final.
Registro de entrada o registros fuentes:
Presentes en la UAL con operadores combinacionales, guardan los operandos a utilizar
el la operacin.

Banco de registros:
Almacenan datos temporalmente y resultados intermedios.
Registro de estado: (biestables de estado)
Almacena valores de condiciones al finalizar una operacin:
Indicadores: (si esta en 1 es verdadero)
- Zero
- Negativo
- Acarreo
- Desbordamiento

Unidad de Control
Contiene registros, contadores y otros elementos necesarios para controlar el
movimiento de informacin entre la memoria, la UAL y otras partes de la mquina.
La arquitectura de VON NEWMANN tiene en la unidad de control un contador de
programas, un registro de direccin, un registro de instruccin y un decodificador.
Esta unidad de control opera un ciclo de bsqueda y un ciclo de ejecucin en 2 pasos:
En el ciclo de bsqueda la UC obtiene la instruccin de la memoria central, el
decodificador determina su naturaleza y realiza el paso de ejecucin.

NA

Las mquinas mas complejas (no son Von Newmann), la UC contiene registros
adicionales, que pueden ser INDICES, UAL para calcular direcciones, REGISTROS,
PILAS y otras memorias.
La UC contiene el microcdigo que trae la instruccin de la memoria central y la deja
en el registro de instruccin o en la cola de espera en la memoria cach.
Informacin que utiliza la Unidad de Control:
- instruccin en ejecucin
- el registro de estado
- el contador de perodos (accionado por el reloj)
- seales de control y estado externos a la CPU

La UC emplea el contador para secuenciar las instrucciones.


El cdigo de operacin indica que operacin realizar y que mtodo de direccionamiento
aplicar.
El registro de estado contiene informacin de condiciones de los resultados de
operaciones anteriores. Se emplea para realizar rupturas de secuencia.
Las ruptura de secuencias o saltos pueden ser: IMPLCITAS o EXPLISITAS.
Implcitas: Interrupciones externas o producidas por errores.
Explcitas: estn en el programa.
Seales de Entrada / Salida:
Permiten dialogar con los perifricos.
La ejecucin de cada instruccin realiza una secuencia de operaciones elementales.
Hay 2 grupos de operaciones elementales:
operaciones de transferencia
operaciones de proceso
Las operaciones de transferencia requieren 2 registros (origen/destino), se establece un
camino, enva una seal al destino para cargar la informacin.
La informacin de origen no cambia, queda sin modificar.
Las operaciones de proceso es igual a las de transferencia, solo que la informacin del
origen se transforma en el camino al destino (al pasar por operandos)
Componentes de la UC
- contador de programa
- reloj
- decodificador
- generador de ordenes o secuenciador
- memoria de control
- unidad aritmtica
- registro base
- registro de instruccin
- registro ndice
- registro de fases y perodos

NA

Registro de prxima instruccin:


Contiene la prxima instruccin a ejecutar, NO accesible por el usuario.
Registro de instruccin:
Contiene la instruccin que se ejecutar. Comprende 2 partes:
- cdigo de operacin
- cdigo de direccionamiento
Reloj:
Generador de pulsos elctricos, la cantidad por unidad de tiempo determina la velocidad
de la maquina.
Registro base:
Pequea memoria que contiene una direccin absoluta, que permite calcular la direccin
efectiva.
Decodificador:
Decodifica el cdigo de operacin y las condiciones de direccionamiento, el resultado lo
enva al secuenciador.
Secuenciador:
Rene el resultado del decodificador con las seales recibida de los dispositivos de la
computadora y genera microinstrucciones.
El secuenciador no es controlado por nadie, solo debe saber cuando y donde enviar una
micro orden.
Estado de la maquina:
Es el conjunto de seales recibida de los dispositivos de maquina. (1 bit por dispositivo)
El secuenciador cumple una secuencia de pasos para ejecutar una microinstruccin, de
aqu surge su nombre, es el centro del equipo, sin el no funcionaria.
Puede ser: SINCRONICO o ASINCRONICO
Secuenciador sincrnico:
Conocen el tiempo de respuesta de los dispositivos, si son 2 microinstrucciones pasa la
segunda a la cach y si son 3 pasa las 2 ultimas a la cach y crea una cola de espera
llamada MEMORIA DEL PROCESADOR.
Secuenciador asincrnico:
El dispositivo le avisa al secuenciador cuando esta disponible, las nuevas
microinstrucciones forman una cola de espera. Son mas RAPIDOS.
De acuerdo al secuenciador, las computadoras pueden ser: SINCRONICAS,
ASINCRONICAS o PARCIALMENTE ASINCRONICAS.
Las parcialmente asincrnicas, tiene un secuenciador asincrnico central y un conjunto
de secuenciadores sincrnicos que manejan un nmero de dispositivos c/u.

NA
Hay otra clasificacin de secuenciadores: CABLEADO o MICROPROGRAMADO.
Conceptos:
Circuito combinacional:
una o mas entradas
calcula una o varias salidas determinada/s por la/s entrada/s.
Circuito secuencial:
una o mas entradas
calcula una o varias salidas determinada/s por la/s entrada/s y el tiempo.

Secuenciador cableado:
Formado por circuitos SECUENCIALES (dependen de la entrada y del tiempo), es mas
rpido porque no existe microprograma.

Secuenciador microprogramado:
Esta conectado con una unidad de memoria que esta dentro de la UC.
En esta unidad de memoria estn los microprogramas formado por las
microinstrucciones.
Esta memoria se llama MEMORIA DE MICROPROGRAMA o MEMORIA DE
CONTROL.
La unidad aritmtica:
Realiza las operaciones para obtener la memoria efectiva.
Registro Indice:
Utilizada por las instrucciones con direccionamiento indexado, su contenido se suma a
la direccin que esta en la instruccin.
Registro de fases y perodos:
Es un contador que se incrementa con los pulsos del reloj.
Diferencia los perodos y fases de las instrucciones.
La Unidad de Control es un traductor (circuito combinacional) que recibe:
Cd. de Operacin + Perodo + Estado = SEAL DE CONTROL

Modelo de la Unidad de Control


Caractersticas:
- Cdigo de operacin de 8 bits
- 32 perodos por instruccin como mximo
- 16 perodos por instruccin como media
- Del orden de 150 seales de control
Entradas:

Cdigo de operacin
Registro (registro fase), que es el perodo
Resultado del comparador 1 bit (estado)

NA

Hay 2 mtodos para construir y disear una UC:


1- lgica cableada
2- lgica almacenada (mediante una memoria)

Unidad de Control Microprogramada: (lgica almacenada)


Forman una secuencia de operaciones elementales, utiliza una memoria adicional
llamada MEMORIA DE MICROPROGRAMA o MEMORIA DE CONTROL.
Esta memoria es de tipo ROM (no voltil).

Las microinstrucciones se clasifican en horizontales y verticales.


Microinstrucciones horizontales:
Las posiciones de los bits se corresponden con funciones de control, son mas amplios.
Microinstrucciones verticales:
Contienen campos codificados con operaciones elementales, requieren mas
decodificacin.
Las memorias de microprogramas, se hacen con ROM (mas seguras, mas rpidas y sin
errores).
Las memorias grabables de control se hacen con RAM.
Algunas unidades tienen memorias de microprograma RAM y ROM.
Unidad de Control Cableada: (lgica cableada)
Se utiliza en las supercomputadoras, son mas RAPIDAS.
Se construye con puertas lgicas.
Los compiladores de cilicio generan matrices de fabricacin de los circuitos UCSI.
MICROPROGRAMA:
La microinstruccin es una cadena de 1 y 0 que representan el estado de cada seal
de control durante un perodo.
El conjunto ordenado de microinstrucciones es un MICROPROGRAMA.
Ejecutar un microprograma consiste en ir leyendo cada una de las microinstrucciones y
activan las seales de control correspondientes.
FIRMWARE: (microcdigo) conjunto de microprogramas.
Estructura de la unidad de control microprogramada:
1) Memoria de control para almacenar todos los microprogramas de todas las
instrucciones mquina.
2) Procedimiento para que relacione cada instruccin con su programa.
3) Mecanismo para ir leyendo las microinstrucciones del microprograma.
2) y 3) tienen 2 alternativas:
Secuenciamiento explsito

NA

Secuenciamiento implcito

Secuenciamiento explsito: incluye la direccin de la siguiente microinstruccin en cada


micropinstruccin. El encadenamiento se realiza con una seal de control.
Secuenciamiento implcito: obliga a tener ordenadas las microinstrucciones en el
microprograma en posiciones consecutivas.
Tipos de instrucciones
Segn el tipo de operacin puede ser:
- Aritmticas
- De transferencia de control
- De entrada / Salida
- Cambios y desplazamientos en la memoria
- Manipulacin de bits
- Manipulacin de caracteres
- Instrucciones privilegiadas
Aritmtica: realizan alguna de las 4 operaciones (+ - * /)
Transferencia de control o lgicas: establecen cual es la direccin de la siguiente
instruccin a ejecutar.
Los saltos o rupturas de secuencia pueden ser:
Incondicional: va a una direccin sin evaluar alguna condicin previa.
Condicional: va a una direccin evaluando una condicin.
Pausa: se detiene la ejecucin del programa a la espera de una orden.
Alto final: fin, se detiene el programa.
Entrada / Salida: permiten transferencia de datos de un dispositivo a la memoria
principal o viceversa.
Hay 2 grupos:
- Comandos al perifrico
- Verificacin de status
Instrucciones de cambio y desplazamientos: corresponden a movimientos dentro de la
memoria central de una direccin a otra.
Instrucciones de manipulacin de bits: Todas las operaciones booleanas.
Manipulacin de caracteres: manejan los caracteres que componen cadenas.
Instrucciones privilegiadas: (estado superior) provoca una interrupcin en la ejecucin
del programa.
Los tipos de instrucciones tambin se pueden clasificar en:
Activas
De encadenamiento
De servitud

NA
Funcionamiento de la computadora:
La funcin bsica es la ejecucin de programas (conjunto de instrucciones almacenadas
en memoria).
La CPU se encarga de ejecutar las instrucciones, el procesamiento de una instruccin
tiene 2 etapas: fase de bsqueda y fase de ejecucin => CICLO DE INSTRUCCIN.
Flujo de datos: la secuencia de eventos en un ciclo de instruccin depende de la CPU.
Segmentacin de instrucciones:
FI: fetch instruction lee la siguiente instruccin
DI: decode instruction decodifica la instruccin
CO: calculate operands Calcula operandos
FO: fetch operands Capta operandos
EI: execute instruction ejecuta instruccin
WO: write operand escribe operando

BHT: branch history table (tabla histrica de saltos) o buffer de destino de saltos.
Salto retardado: reordena automticamente las instrucciones de un programa.
Estados del procesador:
- Activo: la CPU esta ejecutando una instruccin.
- En espera: la CPU no esta ejecutando nada.
- Supervisor: el procesador puede ejecutar la totalidad de las instrucciones
privilegiadas y las no privilegiadas.
- Problema: la CPU solo tiene permitido el uso de las instrucciones NO
privilegiadas.
- Enmascarado: la CPU esta impedido de atender una interrupcin.
- Desenmascarado: la CPU atiende cualquier solicitud de interrupcin.
Diagrama de estados:
Clculo de la direccin de la instruccin (IAC)
Captacin de instruccin (IF)
Decodificacin de la operacin indicada en la instruccin (IOD)
Clculo de la direccin del operando (OAC)
Captacin de operando (OF)
Operacin con los datos (DO)
Almacenamiento de operando (OS)

Desarrollo de una instruccin:


Fase de bsqueda de la instruccin en la Memoria Central:
o La UC ordena la transferencia del contenido del registro de prxima
instruccin hacia el registro de direccin de memoria.
o La UC enva una orden de lectura a la memoria central.
o Cuando termina la lectura, la instruccin esta disponible en el RIM.
o La UC ordena transferir el contenido del RIM hacia el registro de
instruccin.

NA
Fase de ejecucin de la instruccin:
o Busca el operando: calcula la direccin efectiva y busca el operando.
o Almacena el operando.
o Instruccin de ruptura de secuencia.
Fase de preparacin de la instruccin siguiente
Computacin con un conjunto reducido de instrucciones (RISC)
Para disear una maquina RISC hay 5 pasos:
1- Analizar las aplicaciones existentes para encontrar las operaciones clave.
2- Disear una trayectoria de datos optima para operaciones clave.
3- Disear instrucciones que realicen las operaciones clave usando la
trayectoria de datos.
4- Agregar instrucciones solo si no hacen lenta la maquina.
5- Repetir este proceso para otros recursos.
El corazn de cualquier computadora es la trayectoria de datos, la cual contiene:
registros, unidad de clculo y los buses que lo conectan.
El tiempo requerido para extraer los operandos de los registros, almacenar el resultado
en un registro se llama TIEMPO DE CICLO DE LA TRAYECTORIA DE DATOS.
1er. regla de oro de RISC: Sacrificar todo para reducir el tiempo del ciclo de la
trayectoria de datos.
Las instrucciones se completan en un solo ciclo de trayectoria de datos.
Solo permite el direccionamiento de registro.
Arquitectura LOAD/STORE: instrucciones especiales que hacen referencia a la
memoria.
Las instrucciones son ejecutadas por el hardware.
Las microinstrucciones provienen de la memoria principal.
2da regla de oro de las RISC: El microcdigo no es mgico.
Las RISC utilizan el procesamiento PIPELINE o EN LINEA.
La CPU contiene unidades que trabajan en paralelo.
Carga retardada: Cuando una instruccin LOAD no se lleva a cabo de inmediato.
Generalmente la RISC tiene una longitud de instruccin de 32 bits y 4 formatos de
instrucciones diferentes:
- UC Cableada (rpida)
- Instrucciones sencillas
Para una instruccin compleja hay que microprogramar y causar una interrupcin
interna.
La RISC tiene hasta 128 instrucciones.
Tipos:

Movimiento de datos
Aritmtica y lgicas sencillas

NA

Bifurcaciones

Procesadores Superescalares (basadas en RISC)


Pueden ejecutar en paralelo varias instrucciones (3 o 4 por ciclo)
El RS6000 de IBM puede empezar 4 instrucciones.
Supersegmentado
Solucin para alcanzar mayores prestaciones.
Limitaciones:
- dependencia de datos verdadera
- dependencia relativo al procesamiento
- conflicto de recursos
- dependencia de salida
- antidependencia
Paralelismo de la mquina
Depende de la cantidad de instrucciones que pueden captarse y ejecutarse al mismo
tiempo, de la velocidad y de la sofisticacin que usa el procesador para localizar
instrucciones independientes.
Computacin vectorial (MAINFRAMES)
Simulacin de campos continuos: clculos repetitivos, en punto flotantes con grandes
matrices numricas.
Estas computadoras estn diseadas de acuerdo a las tcnicas del paralelismo interno.
La potencia se mide en MFLOPs (mayor que los mips) 20GFLOPS como mximo.
Hay 3 categoras:
ALU segmentada
ALU paralelas
Procesadores paralelos
Encadenamiento: (chaining) una operacin vectorial comienza cuando el primer
elemento del operando vectorial esta disponible y la unidad funcional esta libre.
Supercomputadoras
Son computadoras comerciales con instrucciones de vector y operaciones aritmticas de
punto flotante de lneas paralelas.
Son de alto rendimiento. Son poderosas.
Se utiliza para clculos cientficos.
La medida para su capacidad de ejecutar cierta cantidad de operaciones de punto
flotante por segundo se llama FLOPS (de 50 a 250 MFLOPS)
CRAY1:
12 unidades funcionales (+ de 150 registros en la CPU)
80 MFLOPS
4000000 palabras de 64 bits
la memoria se divide en 16 bancos.
Arreglo del procesador
Es un procesador que ejecuta clculos sobre arreglo de datos grandes.

NA

Arreglo de procesador conectado


Es como un perifrico, mejora el desempeo de la computadora en clculos complejos.
El usuario la puede programar.
Arreglo de procesadores SIMD
Es una computadora con mltiples unidades de procesamiento que operan en paralelo.
Microprocesadores configurables
ASIC: son circuitos integrados especializados en una aplicacin.
PLA: matriz lgica programable (puertas NOT, AND y OR).
FPGA: matriz de puertas programables mediante un campo.
Procesadores multihebra (hebra=hilo=programa)
El tiempo de ejecucin de un programa esta afectado por el RETARDO o LATENCIA
que produce la memoria a la CPU.
Se puede:
- eliminar la latencia
- ocultar la latencia
Para eliminar la latencia se dota a memoria principal de una cach que tenga un tiempo
de respuesta que no haga esperar a la CPU.
Exige:
. Paralelismo de software: dividir el problema en mas de una secuencia de instrucciones
o
ejecutar mas de un problema en paralelo.
. El hardware tiene que tener repetido N veces los registros
Las hebras pueden estar en 3 estados:
en ejecucin: hebra cuyos registros esta utilizando la CPU
en espera: hebras pendientes que termine una operacin para ser ejecutada
ejecutables: hebra que pueden pasar a ser ejecutadas por la CPU
Cambio de contexto: operacin en dejar de ejecutar una hebra y pasar a ejecutar otra.
Diferencias con la multiprogramacin
1- En la multiprogramacin se trata de ocultar la latencia en las operaciones de E/S
y en las multihebra en las operaciones internas del procesador
2- El cambio de contexto en las multiprogramacin se hace por software y en la
multihebra se hace por hardware

Ruta de datos (BUSES)


Son los dispositivos encargados de transferir, memorizar o procesar las informaciones
procedentes de la memoria central.
Las seales son las microinstrucciones generadas por el secuenciador.

NA
Las rutas de datos son comunes a la unidad de instrucciones (UControl) y a la unidad de
procesamiento (UClculo).
Niveles:
- Registro de instruccin: depende del cdigo de operacin
- El impacto de las microinstrucciones sobre los distintos componentes de la ruta
de datos.
Dimensin de la ruta de datos
Nmero de dgitos binarios transmitidos en paralelo.
Las lneas que conectan los mdulos o unidades (CPU, MEM, E/S) se llaman VIAS DE
COMUNICACIN.
Tipos de transferencia
MEM a CPU: la CPU lee una instruccin o un dato desde la MEM
CPU a MEM: la CPU escribe un dato en la MEM
E/S a CPU: la CPU lee datos de un dispositivo E/S desde el mdulo E/S
MEM a E/S o viceversa: el mdulo E/S puede intercambiar datos con la MEM sin pasar
por la CPU, utilizando DMA.
Segn el funcionamiento se puede dividir en:
- BUS de la computadora
- Canal de comunicaciones
Bus de la computadora
Es una ruta elctrica comn entre mltiples dispositivos, hilos elctricos, copia el
contenido de un registro a otro.
El bus que conecta la CPU, MEM y E/S se llama BUS DEL SISTEMA.
Otros buses: local, interno de la CPU, de expansin y de alta velocidad.
Protocolo del bus
Son las reglas de funcionamiento obedecidas por todos los dispositivos a el conectado.
Estructura del bus
Tiene 3 grupos:
lnea de datos - bidirecional
lnea de direcciones - bidireccional
lnea de control unidireccional

lneas de control:
- Escritura en memoria
- Lectura de memoria
- Escritura / lectura de E/S
- Transferencia reconocida
- Peticin del bus
- Cesin del bus
- Peticin de interrupcin
- Interrupcin reconocida

NA
-

Reloj
Inicio

Cuando un mdulo enva un dato a otro debe:


obtener el uso del bus
transferir el dato por el bus
cuando un mdulo quiere pedir un dato a otro debe:
obtener el uso del bus
transferir la peticin al otro mdulo por lneas de control y de direccin
Jerarqua de buses mltiples:
MAESTROS: dispositivos activos
ESCLAVOS: dispositivos pasivos
Los dispositivos maestros se conectan al bus por el MANEJADOR DEL BUS y los
esclavos por el receptor del bus.
Unidad de interfaz del bus
Pastilla decodificadora entre la CPU y el bus del sistema.
Tipos de buses:
Unidireccional: puede transferir informacin en un solo sentido.
Bidireccional: transfiere en los 2 sentidos pero no simultneamente.
Las lneas del bus se dividen en 2 tipos genricos:
DEDICADAS: esta permanentemente dedicada a una funcin
MULTIPLEXADAS: cada mdulo dispone de un perodo de tiempo
Temporizacin (mecanismo de arbitraje, el manejo de errores y de interrupcin)
SINCRONA: determinada por el reloj
ASINCRONA: depende de que se produzca un evento propio
Arbitro del bus
Mecanismo para evitar el caos (centralizado o descentralizado)
Anchura del bus
Cuan mas ancho es el bus, mayor es el nmero de bits que puede transmitir en paralelo.

PCI:
Bus de ancho de bada elevada, independiente del procesador.
Escritura
- Terminales de sistema
- Terminales de direccin y de datos
- Terminales de control de la interfaz
- Terminales de arbitraje
- Terminales para seales de error

NA
Divisin de grupos funcionales
Terminales de interrupcin
Terminales de soporte de cach
Terminales de extensin a bus de 64 bits
Ordenes del PCI:
- Reconocimiento de interrupcin (de lectura, es como el controlador de
interrupciones)
- Ciclo especial (difunde un mensaje a uno o mas destinos)
- Lectura E/S
- Escritura E/S
- Lectura de memoria
- Lectura de lnea de H/memoria
- Lectura de mltiple memoria
- Escritura en PI/Memoria
- Escritura e invalidacin (transfiere datos a MEM en uno o mas ciclos)
- Escritura de configuracin
- Ciclo de direccin DUAL (indica que esta utilizando direccin de 64 bits)
AGP:
Proporciona un medio de alta velocidad para que un procesador grafico de una tarjeta
aceleradora 3D acceda mas rpido a la MEM.
USB: (para dispositivos externos)
No necesitan un elevado ancho de banda, 12 MBITS por segundo
Conectan a la PC a dispositivos y a los dispositivos entre s.
Canal de comunicacin:
Tarjetas de comunicacin: son tarjetas con circuitos integrados que se encargan de las
E/S.
Se caracterizan por el nmero de bits. ISA(8-16 bits), EISA y MICROCHANEL(32
bits), VL(32 bits) y PCI(32 o 64 bits).
Puertos:
MONOPUERTO
MULTIPUERTO (tarjeta coprocesadora o canal procesador)
Si el control lo lleva la CPU, se llama TARJETA DE EXPANSION.
El canal procesador es capaz de:
- Gestionar la realizacin fsica de las ordenes E/S
- Vigilar la ocurrencia de errores en la E/S
- Repetir la operacin de E/S

Interfaz externa
Interfaz paralela:
Se conectan varias lneas entre el modulo E/S y el perifrico. Se transfieren varios bits
simultneamente.

NA
Interfaz serie:
Hay una sola lnea para transferir datos. Los bits se transfieren de a uno.
Dilogo para una operacin de escritura:
El mdulo E/S enva una seal solicitando permiso para enviar datos
El perifrico reconoce la solicitud
El mdulo E/S transfiere los datos
El perifrico recibe los datos

Interfaz SCSI:
Se considera como un bus, en realidad los dispositivos se conectan juntos de forma
encadenada.
Seales y fases:
Bus libre: ningn dispositivo esta utilizando el bus
Arbitraje: un dispositivo toma el control del bus puede iniciar o reanudar un proceso
E/S
Seleccin: el indicador selecciona un dispositivo para realizar una operacin (lect/escr)
Reseleccin: permite que el dispositivo seleccionado se vuelva a conectar
Orden: el dispositivo puede solicitar una orden de informacin
Datos: el dispositivo puede solicitar la transferencia de un dato hacia el iniciador o
viceversa.
Estado: el dispositivo solicita que se le enve informacin del estado (dispositivo al
iniciador)
Mensaje: el dispositivo solicita el envo de mensajes del dispositivo al iniciador
Las ordenes son definidas por el CDB (bloque descriptor de ordenes)

Campos:
- Cdigo de operacin: especifica la orden
- Nmero de unidad lgica: direccionan varios dispositivos
- Direccin del bloque lgico: para operaciones de Lectura / escritura
- Longitud de la transferencia: para lectura/escritura, especifica el nmero de
bloques lgicos contiguos de datos a transferir.
- Longitud de la lista de parmetros: Nmero de bits enviados durante la fase de
salida de datos.
- Longitud de asignacin: nmero mximo de bits que el iniciador ha designado
para recibir datos.
- Control: bits de enlace e iniciador, el 1 es una interrupcin.
- Pregunta: solicita que los parmetros del mdulo y de los dispositivos
conectados a el se enven al iniciador.
- Solicitud de situacin: solicita que el dispositivo seleccionado enve ciertos
datos de su estado al iniciador.

BUS SERIE
Igual que el USB es un bus serie que permite la conexin simultanea al ordenador de
varios dispositivos.

NA

Capas:
- Fsica: define los medios de transmisin
- Enlaces: describe la transmisin de datos por medio de paquetes
- Transaccin: define el protocolo de peticin / respuesta, que oculta a las
aplicaciones los detalles de las capas inferiores
Capa de enlace:
ASINCRONA: se transmite una cantidad variable de datos y varios bits por medio de
paquetes de tamao variable.
ISOCRONA: se transmite una cantidad variable de datos por medio paquetes de tamao
fijos.
Subaccin: proceso de enviar un paquete.
La subaccin consta de 5 perodos de tiempo.
secuencia de arbitraje
Transmisin de paquete
Intervalo de reconocimiento
Reconocimiento
Intervalo de subaccin

ENTRADA, SALIDA e INTERRUPCIONES


Hay 3 tcnicas para las operaciones de E/S:
- E/S programada:
Se intercambian datos entre la CPU y el mdulo E/S
La CPU ejecuta un programa que controla la operacin de E/S
Cuando la CPU enva una orden al mdulo E/S debe esperar que la
operacin termine
Si la CPU es mas rpida que el mdlo E/S, el tiempo se desperdicia
-

E/S mediante interrupciones:


La CPU proporciona la orden de E/S
Contina ejecutando otras instrucciones hasta que llega una interrupcin
del mdulo E/S

En estas 2 tcnicas, la CPU es la extrae los datos de la memoria principal.


- DMA (acceso directo a memoria)
El mdulo E/S y la memoria principal intercambian datos sin la
intervencin de la CPU

Ordenes E/S
Cuando se ejecuta una instruccin relacionada con la E/S, la CPU enva una direccin
con el mdulo E/S y el dispositivo externo y una orden E/S

NA

Ordenes:
- Control: activa el perifrico e indica que hacer.
- Test: comprueba condiciones de estados asociados con el ME/S y sus
perifricos.
- Lectura: hace que el ME/S capte un dato del perifrico (va al buffer)
- Escritura: hace que el ME/S tome un dato del bus de datos y lo transmite al
perifrico.
Instrucciones de E/S:
En la E/S programada hay una correspondencia entre las instrucciones de E/S y las
ordenes de E/S (relacin uno a uno)
Las instrucciones de E/S: son las que la CPU capta de la memoria principal.
Ordenes de E/S: son las que la CPU enva al mdulo E/S al ejecutar las instrucciones.
Cada dispositivo tiene asociado un identificador nico o direccin.
La forma de la instruccin depende de la manera de direccionar los dispositivos.
Cuando la CPU enva una orden de E/S y cada ME/S debe determinar si la orden es par
el por la direccin que trae la orden.
Cuando la CPU, la memoria principal y las E/S comparten el mismo bus.
Hay 2 modos de direccionamiento:
asignado en memoria
aislado
Asignado en memoria:
- Existe un nico espacio de direcciones para las posiciones de memoria y los
dispositivos E/S.
- La CPU considera a los registros de estado y de datos de los ME/S como
posiciones de memoria.
- Utiliza las mismas instrucciones maquina para acceder a la memoria o alos
perifricos.
- Se necesita 1 lnea de lectura y 1 de escritura en el bus.
E/S aislada:
- cuando el bus dispone de lneas de lectura / escritura en memoria junto a las
ordenes de E/S, las lneas de ordenes especifican si la direccin es una posicin
de memoria o un dispositivo E/S.
La mayor parte de las CPU disponen de un conjunto grande de instrucciones distintas
para acceder a memoria, si se utiliza E/S aislada, slo existen unas pocas.
Ventaja de la E/S asignada en memoria: muchas instrucciones.
Desventaja de la E/S asignada en memoria: ocupa espacio de direccin en memoria.

NA
Sistema de interrupciones
Fuerza el cambio de estado de la CPU permitiendo que varios programas se alternen.
Al interrumpirse la ejecucin de un programa, toma el control de la CPU el sistema
operativo, atiende la interrupcin y cuando termina, el despachador indica cual es el
siguiente programa que usar la CPU.
Es una forma econmica de llamar la atencin a la CPU, porque la CPU no necesita
chequear constantemente los dispositivos para ver si alguno necesita ser atendido.
PSW: (registro palabra de estado del programa)
Es donde se guarda toda la informacin del programa interrumpido.
Cuando ocurre una interrupcin sucede que:
el SO toma el control.
El FIRMWARE toma la PSW lgica del procesador y lo lleva a memoria.
Se cargar en la PSW fsica la PSW lgica del programa del SO que analiza
la interrupcin.
Se transfiere el control al programa del SO para atender la interrupcin.
Se establece el estado del proceso interrumpido.
Segn sea el estado del proceso interrumpido se continua la ejecucin o no.
En primer lugar las interrupciones proporcionan una forma de mejorar la eficiencia del
procesador, porque los dispositivos son mas lentos que la CPU.

Las interrupciones y el ciclo de Instruccin:


Con el uso de las interrupciones, el procesador puede dedicarse a ejecutar otras
instrucciones mientras una operacin de E/S esta en curso.
Flujo de control:
Cuando el programa de usuario llega a hacer una llamada al sistema para realizar una
escritura.
El programa de E/S al que se llama esta formado por el cdigo de preparacin y la
orden de E/S, despus de ejecutado vuelve el control al programa de usuario.
Mientras el dispositivo esta ocupado tomando el dato de la memoria e imprimindolo,
se contina la ejecucin del programa del usuario.
Cuando el dispositivo externo esta listo, enva una seal para pedir una interrupcin al
procesador.
El procesador atiende la interrupcin deteniendo la ejecucin del programa de usuario y
salta a un programa que da servicio a ese dispositivo. (GESTOR DE INTERRUPCION)
y continua la ejecucin del programa original despus de haber dado servicio al
dispositivo.
El SO y la CPU son los responsables de detener el programa del usuario y despus
permitir que prosiga en el mismo punto.
Interrupciones mltiples:
Hay 2 alternativas:
1) Desactivar las interrupciones mientras se esta procesando una interrupcin.

NA
El procesador debe ignorar la seal de peticin de interrupcin, este quedar
pendiente para que el procesador la examine cuando se vuelvan a habilitar las
interrupciones.
Las interrupciones se manejan en orden SECUENCIAL ESTRICTO.
El inconveniente es que no tiene en cuenta prioridades.
2) Definir prioridades para las interrupciones.
Permite que una interrupcin de prioridad alta pueda interrumpir a una de
prioridad baja.

Clases de interrupciones:
TRAMPA: sincronizada con la operacin del proceso, iniciada por un proceso en
ejecucin.
ASINCRONA: no esta sincronizada con la operacin del proceso, interrupcin causada
por algn evento que puede estar relacionado con el proceso en ejecucin o no.
En las MACROCOMPUTADORAS hay 6 clases de interrupciones:
SVC (llamadas al supervisor)
De verificacin de programa
Por error de mquina
Externa
Poe E/S
De reinicio

SVC:
Es la peticin generada por el usuario de un servicio particular del sistema.
Esta peticin puede ser rechazada por el SO.
La CPU debe atender inmediatamente:
- Cumplir funciones sobre perifricos.
- Cumplir funciones sobre programas:
Solicitar su ejecucin
Modificar su prioridad
Cancelarlo
- Comunicarse con el operador
- Cumplir funciones sobre la memoria:
Liberar memoria real
Liberar memoria virtual
Liberar buffer
De verificacin de programa:
Causado por una amplia clase de problemas, por ej.: Divisin por cero.
Por error de mquina:
Ocasionado por el mal funcionamiento del hardware, es una interrupcin asncrona y el
sistema puede inhibirse de atender algunas de ellas, por ej.:
- fallas de circuitos en la CPU
- fallas de circuitos en la memoria principal

NA

Externa:
Causadas por diversos eventos externos a la CPU.
- pulsacin de tecla de interrupcin de consola
- llega de otra CPU una seal de multiprocesamiento
- llegan seales emitidas por dispositivos robticos usados en procesos
industriales
Por E/S:
Generados por el canal procesador de la realizacin de la operacin E/S.
Le indican a la CPU el cambio de estado del canal o de un dispositivo.
Se producen cuando finaliza una E/S o cuando un dispositivo esta listo.
De reinicio:
Ocurre cuando se presiona el botn de reinicio o cuando llega desde otro procesador una
instruccin de reinicio en un sistema de multiprocesamiento.
Desarrollo de una interrupcin:
Generalmente una interrupcin es atendida al finalizar la ejecucin de la instruccin que
se esta ejecutando o cuando la interrupcin es detectada.
En las macrocomputadoras, el SO tiene rutinas llamadas MANEJADORES DE
INTERRUPCIONES DE PRIMER NIVEL (FLIH)
Son 6:
FLIH SVC, FLIH E/S, FLIH EXTERNO, FLIH de REINICIO, FLIH de
VERIFICACIN DE PROGRAMA y FLIH de ERRORES DE MAQUINA.
Cuando ocurre una interrupcin, el SO guarda el estado del programa interrumpido,
transfiere el control al manejador de interrupciones de primer nivel que corresponda,
para esto analiza la PSW del programa interrumpido.
En la PSW hay un conjunto de bits llamado MASCARA DE INTERRUPCION o BIT
DE INTERRUPCION (1 por clase), se pone en 1 el bit de la clase que corresponde, en
ese momento la PSW se guarda en memoria.
Los FLIH deben distinguir interrupciones de la misma clase, el procesamiento de estas
la realizan las SLIH.
Hay 2 tipos de PSW:
- Fsica
- Lgica: # PSW Actual
# PSW Nueva
# PSW Antigua
El procesador SIEMPRE est habilitado para interrupciones: SVC, de Reinicio y
algunos tipos de interrupciones de programa.
En un sistema de una CPU hay 1 PSW actual pero hay 6 PSW nuevas y 6 PSW
antiguas.

NA
Cuando ocurre una interrupcin y el procesador NO esta inhabilitado, el FIRMWARE
cambia las PSWs:
PSW actual a la PSW anterior de este tipo de interrupcin
PSW nueva de este tipo de interrupcin a la PSW actual
Luego de este cambio la PSW actual va a contener la direccin del FLIH apropiado y se
procesa la interrupcin.
Despus que se ejecuta la interrupcin se asigna la CPU al programa que estaba
ejecutando o al programa en estado LISTO de mayor prioridad, esta eleccin depende
de que si el programa es apropiable o no.
Si el programa NO es apropiable, la CPU recupera el control.
Si el programa es apropiable, la CPU recupera el control solo si NO hay otros
programas en estado LISTO.
Interrupciones con vectores completos:
Cada interrupcin genera un cdigo de interrupcin UNICO.
Hay un vector de interrupciones almacenados en memoria que contiene las direcciones
de memoria de los manejadores de interrupciones para cada cdigo.
BUS: Manejo de interrupciones:
Ocurre lo mismo que en los ciclos de bus ordinarios, cuando varios dispositivos quieren
enviar una interrupcin al mismo tiempo, la solucin usual es asignar prioridades a los
dispositivos y usar un arbitro.
Existen pastillas para el control de interrupciones.
En las entradas de solicitud de interrupcin de estas pastillas se pueden conectar en
forma directa varias pastillas controladoras de E/S.
VECTORES DE INTERRUPCION: tabla de apuntadores con direcciones ndices.
E/S mediante interrupciones:
Como la E/S programada es mas lenta, es una opcin, luego de enviar una orden de E/S,
la CPU ejecuta la transferencia de datos y despus contina.
E/S (Entrada):
- E/S recibe orden del CPU READ
- E/S lee el dato desde el perifrico
- Cuando el dato esta en el registro de datos del ME/S, enva una interrupcin a la
CPU por medio de la lnea de control.
- El mdulo situa su dato en el bus de datos y se prepara para otras operaciones
E/S.
CPU (Entrada)
- La CPU enva una orden READ
- Pasa a realizar otro trabajo.
- Al fin de cada ciclo de instruccin, la CPU comprueba las interrupciones.
- Cuando se pide una interrupcin desde el ME/S la CPU guarda el contexto y
procesa la interrupcin.

NA
-

Luego recupera el contexto del programa que estaba ejecutando y lo continua


ejecutando.

Interrupciones de E/S: PROCESAMIENTO:


Cuando un dispositivo E/S termina una operacin, se produce:
1- El dispositivo enva una seal al procesador.
2- El procesador termina la ejecucin de la instruccin en curso.
3- El procesador comprueba si hay interrupciones, como hay una, enva una seal
para reconocer el dispositivo de donde viene, esta seal de reconocimiento hace
que el dispositivo desactive la seal de la interrupcin.
4- El procesador guarda el estado del procesador en el registro (PSW) y la posicin
de la siguiente instruccin que esta en el PC la guarda en la pila de control de
sistema.
5- El procesador carga al PC con la posicin de inicio del programa gestor de la
interrupcin solicitada.
6- La rutina de gestin de interrupcin almacenar en la pila del sistema todos los
registros, el PC se actualiza para que apunte al inicio de la rutina de servicio de
interrupcin.
7- La rutina de gestin de interrupcin continua procesando la interrupcin.
8- Cuando finaliza el procesamiento de la interrupcin, se recuperan de la pila los
contenidos de los registros.
9- El paso final, es recuperar los valores de la PSW y del contador de programas de
la pila, la siguiente instruccin pertenecer al programa previamente
interrumpido.

Interrupciones de E/S : cuestin de diseo:


Hay 4 tcnicas para identificar el dispositivo que enva una interrupcin:
- Mltiples lneas de interrupcin (NO ES PRACTICO), lnea de mayor prioridad.
- Consulta software
- Conexin en cadena (Consulta hardware)
- Arbitraje del bus (vectorizado)
Consulta software:
Cuando la CPU detecta una interrupcin, se produce una bifurcacin a una rutina de
servicio de interrupcin que se encarga de consultar a cada ME/S cual fue el que la
provoc.
La consulta se podra realizar desde una lnea especfica (ej.: TEST_E/S), la CPU activa
la lnea y sita la direccin de un mdulo E/S en las lneas de direccin.
El ME/S responde positivamente si solicit la interrupcin.
La desventaja es el tiempo que consume.
Conexin en cadena o consulta hardware:
Todos los ME/S comparten una lnea comn para solicitar interrupciones, la lnea de
reconocimiento de interrupcin se conecta encadenando los mdulos uno tras otro.
Cuando la CPU recibe una interrupcin, activa el reconocimiento de interrupcin, la
seal se propaga a travs de la secuencia de mdulos de E/S hasta llegar al que solicit
la interrupcin.
El ME/S responde colocando una palabra en las lneas de datos (vector).

NA

VECTOR: direccin del ME/S o identificador especfico.


La CPU utiliza al vector como puntero a la rutina de servicio, a esta tcnica se la llama:
INTERRUPCIONES VECTORIZADAS.
Arbitraje del Bus:
El ME/S primero debe disponer del control del bus antes de poder activar la lnea de
peticin de interrupcin.
As solo un mdulo puede activar la lnea de peticin de interrupcin en un instante.
Cuando la CPU detecta la interrupcin responde mediante la lnea de reconocimiento,
despus el mdulo sita su vector en las lneas de datos.
Acceso directo a memoria (DMA)
El DMA requiere un mdulo adicional en el bus del sistema, capaz de imitar a la CPU y
que recibe el control del sistema cedido por la CPU.
Cuando la CPU quiere leer o escribir un bloque de datos, enva una orden al mdulo
MDA, incluyendo esta informacin:
-

Si es lectura o escritura
La direccin del dispositivo E/S en cuestin
La posicin inicial de memoria de donde se leer o escribir
El nmero de palabras a leer o escribir

Despus la CPU contina con otro trabajo.


El mdulo MDA transfiere el bloque completo de datos, palabra a palabra directamente
desde o hacia memoria.
Cuando la transferencia termino, el DMA enva una seal de interrupcin a la CPU.
La CPU solo interviene al comienzo y al final de la transferencia el DMA utiliza el bus
solo cuando la CPU no lo necesita o debe forzar a la CPU que se detenga
temporalmente (ROBO DE CICLO).
Configuraciones del DMA:
1- bus nico / DMA independiente: mas econmico y mas ineficiente
2- bus nico / DMA E/S integrados
3- bus de sistema / bus de E/S

Multiprocesadores y Multicomputadoras
Varios procesadores con una memoria en comn.
Permiten ejecutar 2 o mas tareas simultaneas en distintos CPUs interconectadas.
Cada CPU tiene sus propios registros generales, de control y su propia PSW.
En la memoria real hay un rea especial para cada CPU donde se realizan los
resguardos.
Procesadores doblemente acolados:
Cada CPU tiene sus buses, si una de ellas se cae el resto contina.

NA
Todos los procesadores pueden utilizar todos los recursos.
La comunicacin entre ellas es por medio de la memoria comn.
Procesadores enganchados: (por el bus del sistema)
Solo una CPU tiene los buses, la otra CPU solo cumple tareas especficas.
Si la CPU2 se cae, la otra contina, si se cae la CPU1, se cae todo.
Procesadores Didicos:
Todas las CPU estn conectadas a otra que administra los buses.
Si se cae una CPU las otras continan trabajando.
Multiprocesadores de Memoria compartida en bases a Buses:
Son computadoras que tiene cierta cantidad de CPUs conectadas a un bus comun, junto
con un mdulo de memoria.
La configuracin consta de una TARJETA MADRE en las que se pueden insertar las
CPUs y el o los mdulos de memoria.
UMA (uniform memory access):
Todos los procesadores comparten uniformemente toda la memoria principal.
Bus tpico: (operan en paralelo)
- 32 o 64 lneas de direccin
- 32 o 64 lneas de datos
- 32 o ms lneas de control
Para no sobrecargar el bus, se utiliza una memoria cach entre la CPU y el bus.
Tasa de encuentros: probabilidad de xito.
Problema de coherencia de la memoria cach:
Suponiendo que 2 CPU A y B tienen cach, las 2 CPU leen la palabra w y la escriben
en sus cach, luego A modifica w y la guarda e su cach, luego B utiliza w pero esta
desactualizada.
Las soluciones a este problema se dividen en 2 categoras: Software y Hardware.
Software:
El programador o compilador clasifica cada elemento del dato como compartido o no y
los de solo lectura o los de escritura.
Los datos no compartidos (privados de un proceso) y los de solo lectura, no causan
inconsistencias, porque nunca cambian.
Los datos compartidos y los que se pueden escribir, deben venir de la memoria y ser
escritos en ella nuevamente sin pasar por la cach.
Esta solucin no es indicada para las bases de datos.
Hardware:
Se disea el controlador de la cach para que pueda supervisar el bus monitoreando
todas las solicitudes a este (CACHE DE INTERVENCION)
El conjunto de reglas implantadas por las cach, las CPU y la memoria para evitar
distintas versiones de un mismo bloque en varias cach se llama: PROTOCOLO DE
CONSISTENCIA DE LA CACHE.

NA
El protocolo mas conocido, mas fcil de implementar y mas sencillo, es: ESCRITURA
VIA LA CACHE.
FALLA DE ESCRITURA: cuando la CPU intenta leer una palabra de la cach y no
esta.
CACHE DE ESCRITURA: cuando la palabra modificada es un fallo de escritura se
escribe en la memoria principal.
La idea es que todas las escrituras se realicen a travs de la memoria.
Cach Monitor:
Monitoreo constante del bus, observa la escritura a una direccin de memoria presente
en l.
Multiprocesamiento Simtrico:
Cuando todas las CPUs tienen la misma posibilidad de acceso a todos los perifricos.
Multiprocesamiento Asimtrico:
Algunas CPUs tienen acceso a todos los perifricos y otras no.
Protocolo de coherencia de la chach:
- desacierto de lectura = extrae datos de la memoria
- acierto de lectura = extrae los datos de la cach
-

desacierto de escritura = actualiza datos en memoria


acierto de escritura = actualiza cach y memoria

Estados de la cach:
1- Invlido: este mdulo de la cach no tiene datos
2- Limpio: la memoria esta actualizada, el bloque puede estas en otras cach
3- Reservado: la memoria esta actualizada, ninguna cach tiene este bloque
4- Sucio: la memoria es incorrecta, ninguna otra cach tiene este bloque
Lnea del bus: compartida.

Multiprocesadores MIMD de memoria compartida con etapas mltiples:


La nica forma prctica de implantar una memoria compartida junto con un nmero
importante de CPU, se divide la memoria en diversos mdulos y proporcionan
trayectorias mltiples entre las CPUs y la memoria.
Esto permite un canal mas ancho para el flujo de datos y manejar varias solicitudes en
paralelo.
Propiedad especial: el tiempo de acceso de cada uno de los procesadores a cada
memoria es el mismo.
Multiprocesadores de memoria compartida con conmutador:
Es el circuito mas simple para conectar N CPUs a K memorias y se llama:
INTERRUPTOR DE BARRAS CRUZADAS o CONMUTADOR CRUCETA.
Existe un puerto de cruce que es un pequeo interruptor que se abre o cierra
elctricamente.

NA

Red de No-Bloqueo: Nunca se negara a una CPU la conexin que necesite.


Redes Omega: (red de bloqueo) Interruptor 2x2 (2 entradas 2 salidas).
Estas redes 2x2 se pueden acomodar en muchas formas para formar grandes: REDES de
INTERRUPCIN MULTIETAPAS.
Mezcla perfecta: Patrn de escritura de la red omega.
Red de bloqueo: No se puede procesar al mismo tiempo cualquier conjunto de
solicitudes.
Sistema de memoria intercalado: cuando las palabras consecutivas se encuentran en
mdulos diferentes (maximiza el paralelismo).
Redes de Benes: (No - Bloqueo) tienen una ruta de una CPU a cualquier memoria.
Multiprocesadores de memoria compartida de acceso no uniforme (NUMA):
Cada CPU tiene asociada cierta memoria, cada CPU puede tener un acceso rpido a su
propia memoria pero ser mas lento a la memoria de las dems.
Memoria local: memoria de cada CPU.
Memoria global: conjunto de memorias locales.
Las maquinas NUMA tienen un mejor promedio de acceso.
Problema:
Cuando hay que colocar programas y datos deben ser lo mas locales posibles para evitar
el elevado costo de los accesos a memorias distantes.
Multiprocesadores de memoria cach compartida de acceso No uniforme:
Las CPUs acceden a la informacin a travs de sus cach.
COMA: cach only memory architecture
Son un caso particular de las NUMA, donde las memorias locales se han convertido en
cach.
Cada CPU accede a su cach, en caso de no encontrar la palabra deseada, busca en las
otras cach de los otros procesadores.
Los accesos a las cach remotas se fundamentan en unos mdulos de directorio.
Son mquinas construidas mediante una red jerrquica y los mdulos de directorios se
estructuran tambin en forma jerrquica.

Multicomputadoras
Es una maquina de memoria distribuida.

NA
Cada CPU tiene su propia memoria central con la cual tiene una conexin directa.
Todas las memorias son locales NORMA (No Remote Memory Access) o
computadoras MIMD DE MEMORIA DESARTICULADA.
Cada una tiene un SO (que pueden ser distintos), comparten el mismo spool y la misma
cola de trabajos.
Es mas fcil de construir.
El modelo de programa es mas complejo.
Hay que programar todas las transferencias de datos entre las memorias.
Multiconputadoras con spooling compartido:
Todas las CPUs tienen igual nivel de importancia, mismo SO.
Los SO acceden a la cola de trabajos (en serie) una por vez.
Cuando una CPU deja de funcionar, las otras siguen.
Multicomputadoras dbilmente acopladas: (Computadora asimtrica)
Existe una CPU maestra que gobierna a las otras (esclavas), la maestra es la nica que
accede a la cola de trabajos y le comunica a las esclavas el prximo trabajo.
Pueden ejecutarse varios procesos a la vez sin bajar el rendimiento.
Multicomputadoras con base en el bus:
Similar a la computadora asimtrica, puede ser una LAN con menor velocidad.
Interconexin total malla o cuadrcula:
Conjunto de computadoras en las que cada CPU tiene su memoria privada.
Las comunicaciones se llevan a cabo por medio de transmisin de mensajes.
Hipercubos:
Se basan en tarjetas de circuitos impresos.

You might also like