Sunteți pe pagina 1din 18

ARQUITECTURA DE COMPUTADORAS

UNIDAD 1 ARQUITECTURA DE CMPUTO

1.1 MODELOS DE ARQUITECTURAS DE CMPUTO.


1.1.1 Arquitecturas Clsicas.

Estas arquitecturas se desarrollaron en las primeras computadoras


electromecnicas y de tubos de vaco. Aun son usadas en procesadores
empotrados de gama baja y son la base de la mayora de las arquitecturas
modernas.

Arquitectura Mauchly-Eckert (Von Newman)

Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una


unidad central de proceso que se comunica a travs de un solo bus con
un banco de memoria en donde se almacenan tanto los cdigos de
instruccin del programa, como los datos que sern procesados por este.
Esta arquitectura es la ms empleada en la actualidad ya, que es muy
verstil. Ejemplo de esta versatilidad es el funcionamiento de los
compiladores, los cuales son programas que toman como entrada un
archivo de texto conteniendo cdigo fuente y generan como datos de
salida, el cdigo mquina que corresponde a dicho cdigo fuente (Son
programas que crean o modifican otros programas). Estos datos de salida
pueden ejecutarse como un programa posteriormente ya que se usa la
misma memoria para datos y para el cdigo del programa.

Figura 1.1.1.2 Diagrama a bloques de la arquitectura Von Newman.

La principal desventaja de esta arquitectura, es que el bus de datos y


direcciones nico se convierte en un cuello de botella por el cual debe
pasar toda la informacin que se lee de o se escribe a la memoria,
obligando a que todos los accesos a esta sean secuenciales. Esto limita el
grado de paralelismo (acciones que se pueden realizar al mismo tiempo)
y por lo tanto, el desempeo de la computadora. Este efecto se conoce
como el cuello de botella de Von Newman.
En esta arquitectura apareci por primera vez el concepto de programa
almacenado. Anteriormente la secuencia de las operaciones era dictada
por el alambrado de la unidad de control, y cambiarla implicaba un
proceso de recableado laborioso, lento (hasta tres semanas) y propenso
a errores. En esta arquitectura se asigna un cdigo numrico a cada
instruccin. Dichos cdigos se almacenan en la misma unidad de memoria
que los datos que van a procesarse, para ser ejecutados en el orden en
que se encuentran almacenados en memoria. Esto permite cambiar
rpidamente la aplicacin de la computadora y dio origen a las
computadoras de propsito general.
Mas a detalle, el procesador se subdivide en una unidad de control (C.U.),
una unidad lgica aritmtica (A.L.U.) y una serie de registros. Los
registros sirven para almacenar internamente datos y estado del
procesador. La unidad aritmtica lgica proporciona la capacidad de
realizar operaciones aritmticas y lgicas. La unidad de control genera las
seales de control para leer el cdigo de las instrucciones, decodificarlas
y hacer que la ALU las ejecute.

Arquitectura Harvard

Esta arquitectura surgi en la universidad del mismo nombre, poco


despus de que la arquitectura Von Newman apareciera en la universidad
de Princeton. 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 ocho bits en
una memoria aparte.

Figura 1.1.1.2 Diagrama a bloques de la arquitectura Harvard


El hecho de 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.
En la actualidad la mayora de los procesadores modernos se conectan al
exterior de manera similar a a la arquitectura Von Newman, con un banco
de memoria masivo nico, pero internamente incluyen varios niveles de
memoria cache con bancos separados en cache de programa y cache de
datos, buscando un mejor desempeo sin perder la versatilidad.

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. El procesador se divide en varias unidades
funcionales independientes y se dividen entre ellas el procesamiento de
las instrucciones.
Para comprender mejor esto, supongamos que un procesador simple
tiene un ciclo de instruccin sencillo consistente solamente en una etapa
de bsqueda del cdigo de instruccin y en otra etapa de ejecucin de la
instruccin. En un procesador sin segmentacin del cauce, las dos etapas
se realizaran de manera secuencial para cada una de las instrucciones,
como lo muestra la siguiente figura.

Figura 1.1.2.1 Bsqueda y ejecucin en secuencia de tres instrucciones


en un procesador sin segmentacin del cause
En un procesador con segmentacin del cauce, cada una de estas etapas
se asigna a una unidad funcional diferente, la bsqueda a la unidad de
bsqueda y la ejecucin a la unidad de ejecucin. Estas unidades pueden
trabajar en forma paralela en instrucciones diferentes. Estas unidades se
comunican por medio de una cola de instrucciones en la que la unidad de
bsqueda coloca los cdigos de instruccin que ley para que la unidad
de ejecucin los tome de la cola y los ejecute. Esta cola se parece a un
tubo donde las instrucciones entran por un extremo y salen por el otro.
De esta analoga proviene el nombre en ingls: Pipelining o entubamiento.

Figura 1.1.2.3 Comunicacin entre las unidades en un procesador con


segmentacin de cauce.
Completando el ejemplo anterior, en un procesador con segmentacin, la
unidad de bsqueda comenzara buscando el cdigo de la primera
instruccin en el primer ciclo de reloj. Durante el segundo ciclo de reloj,
la unidad de bsqueda obtendra el cdigo de la instruccin 2, mientras
que la unidad de ejecucin ejecuta la instruccin 1 y as sucesivamente.
La siguiente figura muestra este proceso.

En este esquema sigue tomando el mismo nmero de ciclos de reloj (el


mismo tiempo), pero como se trabaja en varias instrucciones al mismo
tiempo, el nmero promedio de instrucciones por segundo se multiplica.
La mejora en el rendimiento no es proporcional al nmero 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. Otra razn por la que las
ventajas de este esquema se pierden es cuando se encuentra un salto en
el programa y todas las instrucciones que ya se buscaron y se encuentran
en la cola, deben descartarse y comenzar a buscar las instrucciones desde
cero a partir de la direccin a la que se salt. Esto reduce el desempeo
del procesador y an se investigan maneras de predecir los saltos para
evitar este problema.

Figura 1.1.2.4 Consecuencias de la competencia por un recurso.

1.1.3 Arquitecturas de Multi-procesamiento.

Cuando se desea incrementar el desempeo ms aya 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.
Las CPU de multiprocesamiento se clasifican de la siguiente manera
(Clasificacin de Flynn):
SISO (Single Instruction, Single Operand) computadoras
Monoprocesador
SIMO (Single Instruction, Multiple Operand) procesadores
vectoriales, Exenciones MMX
MISO (Multiple Instruction, Single Operand) No implementado
MIMO (Multiple Instruction, Multiple Operand) sistemas SMP,
Clusters, GPUs
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.
La mayora de los procesadores modernos incluye algunas instrucciones
de tipo vectorial, tales como las extensiones al conjunto de instrucciones
tales como MMX y SSE. Estas instrucciones les permiten procesar flujos
multimedia ms eficientemente.
Los Procesadores Digitales de Seales (DSP), son procesadores
especializados en el procesamiento de seales tales como audio, vdeo,
radar, sonar, radio, etc. Cuentan con instrucciones tipo vectorial que los
hace muy aptos para dicha aplicacin. Suelen utilizarse en conjunto con
un microcontrolador en dispositivos como reproductores de audio,
reproductores de dvd y Blueray, telfonos celulares, sistemas de
entretenimiento, sistemas de adquisicin de datos, instrumentos
mdicos, controles industriales, etc.
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.
Pueden formarse con varios ncleos en un solo circuito integrado o con
varios circuitos integrados en una misma tarjeta madre. La primera
opcin ha sido popularizada al hacerse ms econmicos los procesadores
multinucleo de los principales fabricantes y con su uso en sistemas de
gama media y baja, e inclusive en telfonos celulares y tabletas. La
segunda opcin fue la que se uso en un principio y sigue siendo usada en
en estaciones de trabajo y en servidores de alto rendimiento debido a que
incrementa el poder computacional del sistema, pero tambin incrementa
considerablemente el costo del sistema.

Figura 1.1.3.1 Diagrama a bloques de un sistema multi-procesador


simtrico.
Los Clsters 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. Este tipo de computadora paralela se ha vuelto muy popular por que
permite usar los avances en los procesadores comerciales que tienen una
muy buena relacin costo rendimiento y se puede incorporar rpidamente
los avances que proporciona las nuevas tecnologas en cuanto es
econmicamente viable.
Sin embargo, se debe tener cuidado al implementar la aplicacin, ya que
si los datos que hay que pasar de un procesador a otro son demasiados,
el tiempo empleado en pasar informacin de un nodo a otro puede
sobrepasar a la ganancia que se tiene al dividir el trabajo entre varios
procesadores.

Figura 1.1.3.2 Diagrama a bloques de un cluster.


Las unidades de procesamiento grfico (Graphics Processing Unit GPU)
sistemas diseados originalmente para el procesamiento de Grficos, con
mltiples procesadores vectoriales sencillos compartiendo la misma
memoria, la cual tambin puede ser accedida por el CPU. Por la gran
cantidad de ncleos con los que cuenta, logran un excelente desempeo
al ejecutar algoritmos que se adaptan a ser paralelizados, a tal grado que
muchas de las supercomputadoras ms rpidas de la actualidad utilizan
estos procesadores, y los fabricantes de tarjetas grficas producen
versiones de sus productos especializadas en acelerar los clculos de
propsito general.

Figura 1.1.3.3 Diagrama a bloques de una unidad de procesamiento


grfico.
1.2 ANLISIS DE LOS COMPONENTES.
1.2.1 CPU
1.2.1.1 Arquitecturas.
Adems de las Arquitecturas clsicas mencionadas
anteriormente, en la actualidad han aparecido Arquitecturas
hbridas entre la Von Newman y la Harvard, buscando conservar
la flexibilidad, pero mejorando el rendimiento.
Esta escuela pretende aplicar un enfoque totalmente distinto al
tradicional hasta entonces, que pas a conocerse como
computadoras de conjunto complejo de instrucciones (CISC) para
diferenciarla de la nueva tendencia.
Se implementan instrucciones especiales que realizan funciones
complejas, de manera que un programador puede encontrar con
seguridad, una instruccin especial que realiza en hardware la
funcin que el necesita.
CISC vs RISC
Considere los siguientes fragmentos de programas:

El total de ciclos de reloj para la versin cisc debe ser:


(2 movs * 1 ciclo) +(1 mul * 30 ciclos) = 32 ciclos

El total de ciclos de reloj para la version risc debe ser:


(3 movs * 1 ciclo) +(5 adds * 1 ciclo)+(5 loops *1 ciclo) = 13
ciclos
La diferencia entre cisc y risc empieza a ser evidente por medio
de la ecuacin bsica de la eficiencia en cmputo:

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 pipeline,
si son tipo CISC o RISC, Von Newmann o Harvard y si solo tienen
instrucciones enteras o implementan tambin instrucciones de
punto flotante.
Clasificacin de procesadores intel
Qu procesador necesito?
No hace mucho tiempo, el procesador era algo totalmente
desconocido por los usuarios de PCs. Esto fue cambiando con el
tiempo y en la actualidad cualquier persona al comprar un equipo
se pregunta acerca de los atributos elementales de este
dispositivo.
Es que el procesador es una parte esencial de la computadora,
por eso generalmente se la conoce como su cerebro.

Procesadores Intel para porttiles


Lo primero a definir es qu necesidades se tienen.
Si la movilidad o la falta de espacio son elementos claves a
considerar se optar por una computadora porttil, o laptop.
Intel ofrece para estos dispositivos diferentes familias de
procesadores segn los requerimientos de cada usuario.
Los procesadores para porttiles calificados con 5 estrellas
satisfacen la mxima exigencia mvil.
Si eres un gamer y necesitas que tu porttil sea
extremadamente potente, debers optar por el procesador Intel
Core 2 Quad Serie Q9000, los procesadores que permiten
ejecutar varias aplicaciones simultneamente, con la posibilidad
de vivir los juegos con mucho realismo y excelente performance
grfica.

1.2.1.3 Caractersticas.
Las caractersticas ms importantes a considerar al escoger un
CPU para usarlo (idealmente) 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.
Caractersticas de los CPU
En qu casos debo seleccionar un(os) CPU(s)?
Acciones Directas
Integrar un nuevo sistema de cmputo
Reemplazar un cpu daado
Actualizar un sistema de cmputo
Acciones Indirectas
Comprar equipo de cmputo nuevo
Construir un equipo de control Microcontrolador

1.2.1.4 Funcionamiento (ALU, unidad de control,


Registros y buses internos)
Todos los CPU tienen como funcin principal la ejecucin de un
programa acorde a la aplicacin del mismo.
Un programa es un conjunto de instrucciones almacenadas de
acuerdo al orden en que deben ejecutarse.
Por lo tanto, toda computadora debe ser capaz de procesar las
instrucciones de su programa en un ciclo de instruccin,
consistente en un nmero de etapas que vara con cada
CPU, pero que tradicionalmente han sido tres (trabajando en un
cpu ideal):
1-Bsqueda del cdigo de Instruccin.
Esta consiste en leer de la memoria cual ser la siguiente
instruccin a ejecutar, la cual esta almacenada en forma de un
cdigo numrico que indica cual de todas las operaciones que
puede realizar el CPU ser la siguiente y con que operandos se
ejecutar.
2- Decodificacin.
Consiste en tomar el cdigo numrico e identificar a cul de las
operaciones que puede realizar el CPU corresponde dicho cdigo.
Esta etapa usualmente se realiza con un decodificador binario.
3- Ejecucin.
En esta etapa se lleva a cabo la operacin sobre los datos que se
vayan a procesar.
En general, la unidad de control (UC) genera las seales de
control necesarias para llevar los datos a las entradas de la
Unidad Aritmtica Lgica, la cual efectuar las operaciones
aritmticas y lgicas.
Posteriormente, la unidad de control generara las seales de
control necesarias para transferir la salida de la Unidad Aritmtica
Lgica al registro donde sern almacenados los resultados para
su uso posterior.

1.2.2 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
Un dispositivo de memoria completo se forma con varias celdas
bsicas y los circuitos asociados para poder leer y escribir dichas
celdas bsicas, agrupadas como localidades de memoria que
permitan almacenar un grupo de N bits. El nmero de bits que
puede almacenar cada localidad de memoria es conocido como el
ancho de palabra de la memoria. Coincide con el ancho del bus
de datos. Uno de los circuitos auxiliares que integran la memoria
es el decodificador de direcciones. Su funcin es la de activar a
las celdas bsicas que van a ser ledas o escritas a partir de la
direccin presente en el bus de direcciones. Tiene como entradas
las n lneas del bus de direcciones y 2N lneas de habilitacin de
localidad, cada una correspondiente a una combinacin binaria
distinta de los bits de direcciones. Por lo tanto, el nmero de
localidades de memoria disponibles en un dispositivo (T) se
relaciona con el nmero de lneas de direccin N por T= 2N.
1.2.2.1 Conceptos bsicos del manejo de la memoria.
Se produce bajo el control directo y continuo del programa que
solicita la operacin de E/S. tanto en la entrada y salida
programada como con interrupciones, el procesador es
responsable de extraer los datos de la memoria en una salida, y
almacenar los datos en la memoria principal. El problema con la
E/S es que el procesador tiene que esperar un tiempo
considerable hasta que el modulo en cuestin est preparado
para recibir o transmitir datos

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, su acrnimo ingls. Con el cambio de
siglo, ha habido un crecimiento constante en el uso de un nuevo
tipo de memoria de semiconductor no voltil llamado memoria
flash. Dicho crecimiento se ha dado, principalmente en el campo
de las memorias fuera de lnea en computadoras domsticas. Las
memorias de semiconductor no voltiles se estn usando tambin
como memorias secundarias en varios dispositivos de electrnica
avanzada y computadoras especializadas y no especializadas.

1.2.2.3 Memoria Cache


En informtica, la cach es la memoria de acceso rpido de
una computadora, que guarda temporalmente las ltimas
informaciones procesadas.
La memoria cach es un bfer especial de memoria que poseen
las computadoras, que funciona de manera similar a la memoria
principal, pero es de menor tamao y de acceso ms rpido. Es
usada por el microprocesador para reducir el tiempo de acceso a
datos ubicados en la memoria principal que se utilizan con ms
frecuencia.
La cach es una memoria que se sita entre la unidad central de
procesamiento (CPU) y la memoria de acceso aleatorio (RAM)
para acelerar el intercambio de datos.
Cuando se accede por primera vez a un dato, se hace una copia
en la cach; los accesos siguientes se realizan a dicha copia,
haciendo que sea menor el tiempo de acceso medio al dato.
Cuando el microprocesador necesita leer o escribir en una
ubicacin en memoria principal, primero verifica si una copia de
los datos est en la cach; si es as, el microprocesador de
inmediato lee o escribe en la memoria cach, que es mucho ms
rpido que de la lectura o la escritura a la memoria principal.

1.2.3 Manejo de la entrada/salida.


1.2.3.1 Mdulos de Entrada/Salida
Los mdulos de entrada y salida estn conectados con el
procesador y la memoria principal, y cada uno controla uno o ms
dispositivos externos. La arquitectura de E/S es su interfaz con el
exterior, esta arquitectura se disea de manera que permita una
forma sistemtica de controlar las interacciones con el mundo
exterior y proporcione al sistema operativo la informacin que
necesita para gestionar la actividad de E/S. Hay tres tcnicas de
E/S principales:

1.2.3.2. Entrada/Salida Programada


Se produce bajo el control directo y continuo del programa que
solicita la operacin de E/S. tanto en la entrada y salida
programada como con interrupciones, el procesador es
responsable de extraer los datos de la memoria en una salida, y
almacenar los datos en la memoria principal. El problema con la
E/S es que el procesador tiene que esperar un tiempo
considerable hasta que el modulo en cuestin est preparado
para recibir o transmitir datos
1.2.3.3. Entrada y salida mediante interruptores
El programa genera una orden de E/S y despus contina
ejecutndose hasta que el hardware lo interrumpe para indicar
que la operacin ha concluido. La entrada y salida con
interrupciones, aunque es ms eficiente que la sencilla, tambin
requiere la intervencin activa del procesador para transferir
los datos entre la memoria y el mdulo de E/S.

1.2.3.4 Acceso directo a memoria


Un procesador de E/S especfico toma el control de la operacin
para transferir un bloque de datos. El mdulo DMA(Acceso Directo
a Memoria) es capaz de imitar al procesador y, de hecho, es capaz
de transferir datos desde memoria a travs del bus del sistema.
El mdulo DMA debe utilizar el bus solo cuando el procesador no
lo necesita, o debe forzar al procesador a que suspenda
temporalmente su funcionamiento. Un mdulo de E/S no
es nicamente un conector mecnico que permite enchufar el
dispositivo al bus del sistema, sino que adems, est dotado de
inteligencia, es decir, contiene la lgica necesaria para permitir la
comunicacin entre el perifrico y el bus.

1.2.3.5 Canales y Procesadores de Entrada/Salida.


El canal de entrada y salida representa una ampliacin del
concepto de DMA. Un canal de entrada y salida puede
ejecutarinstrucciones de entrada y salida, lo que le confiere un
control completo sobre las operaciones de entrada y salida. Un
canal selector controla varios dispositivos de velocidad elevada y
en un instante dado, se dedica a transferir datos a uno de esos
dispositivos, es decir el canal de entrada y salida selecciona un
dispositivo y efecta la transferencia de datos. Cada dispositivo o
pequeo grupo de dispositivos es manejado por un controlador o
mdulo de E/S, as el canal de entrada y salida se utiliza en lugar
de la CPU para controlar estos controladores de E/S. Un canal
multiplexor puede manejar la entrada y salida de varios
dispositivos al mismo tiempo. Para dispositivos de velocidad
reducida, un multiplexor de byte acepta o transmite caracteres
tan rpido como es posible a varios dispositivos.
1.2.4 BUSES
BUS: Elemento fundamental de intercomunicacin en la
arquitectura de Von Newmann. Se define mediante:
Nmero y tipo de lneas que lo componen.
Protocolo de transmisin de informacin.
Consta de un camino que permite comunicar selectivamente un
cierto nmero de componentes o dispositivos, de acuerdo a unas
ciertas reglas o normas de conexin.

El bus incluye los conceptos de enlace y conmutador, ya que


permite en cada momento seleccionar los dispositivos que se
conectan a travs suyo.
Enlace: Elemento que permite transmitir informacin entre dos
o ms dispositivos.
Conmutador: Elemento que permite encaminar la informacin
entre varios enlaces, activando unos e inhibiendo otros.
Multiplexado temporal: Utilizacin de las mismas lneas del bus
para enviar en momentos distintos, informaciones distintas. En
estos buses de incluyen seales adicionales para identificar qu
informacin est circulando por el bus en cada momento.
Sistema Abierto:
Sistema que permite acoplar placas de distintos fabricantes.
Hasta hace unos aos el estudio de los buses era algo que no
se haca, dado que cada fabricante desarrollaba su propio bus.
Los sistemas abiertos supusieron la creacin de estndares que
garantizan la compatibilidad entre las placas diseadas por
distintos fabricantes.

1.2.4.2 Tipo de buses


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

1.2.4.3 Estructura de buses


Los buses se componen de lneas elctricas que transmiten un 0
(cero voltios) o un 1 (ms de cero voltios).
Lneas/bus de datos: camino para transferir datos entre el resto
de componentes de un computador.
Su anchura (nmero de lneas elctricas) suele ser una potencia
de dos (8=23, 16=24, 32=25, 64=26,...).Estructura de los Buses
Lneas/bus de direcciones: designan la posicin/direccin de los
datos. Son salidas de la CPU/procesador y determinan capacidad
de direccionamiento.
Lneas/bus de control: controlan el acceso y uso de las
lneas/buses anteriores.

1.2.4.3 Jerarqua de buses


Compatibilidad entre buses:
Slo si son elctricamente idnticos. Las caractersticas de los
diferentes tipos de buses deben estar normalizadas. Ejemplo: bus
PCI, AGP, USB, FireWire...Jerarquas de Buses
Antiguamente slo exista un bus principal que lo conectaba
todo: bus del sistema.
Actualmente existe un conjunto de buses conectados entre s y
formando una jerarqua.
Facilita la mejora del rendimiento de todo el computador al
agrupar dentro de los diferentes tipos de buses aquellos
componentes del ordenador que tienen aproximadamente la
misma velocidad de transmisin de la informacin.
Mientras ms lejos del CPU, buses ms lentos y normalmente
de menos lneas de datos. Jerarquas de Buses
Varios tipos de buses en funcin de su posicin dentro de la
jerarqua:
Bus de CPU o bus local del procesador: elementos ms rpidos
tales como la memoria cach.
Bus local bus del Sistema (Front Side Bus): conecta elementos
tales como la memoria principal o dispositivos rpidos (por
ejemplo AGP).
Bus de expansin y/o E/S: PCI, USB, ATA, SCSI,...
1.2.5 Interrupciones
Hay tres tipos de interrupciones: Reset del sistema, no
enmascarables (NMI) y enmascarables.
Las enmascarables puedes ser habilitadas o deshabilitadas
individualmente o mediante el flag e habilitacin general (GIE).
Son generadas por perifricos con capacidad de interrumpir.
En cambio las no enmascarables slo puedes ser habilitadas o
deshabilitadas individualmente (NMIIE, ACCVIE, OFIE). El flag de
habilitacin general no les afecta.
Cuando una NMI es aceptada, todos los bits de NMI son
automticamente reseteados. La ejecucin del programa empieza
en la direccin almacenada en el vector de NMI, 0FFFCh.
Una NMI puede ser generada por tres fuentes: Un flanco en el pin
RST/NMI cuando est configurado en modo NMI; un fallo en el
oscilador o condiciones de error con el cristal oscilador; violacin
acceso a la memoria flash, cuando se quiere leer o borrar la flash
desde la memoria RAM mientras BUSY=1, escritura del registro
de control 1 (FCTL1) mientras WAIT=0 o escritura registro de
control 2 (FTL2) mientras BUSY=1.
Cuando una interrupcin es requerida por un perifrico, est
habilitada la interrupcin y el bit GIE=1, se salta a la rutina de
servicio a la interrupcin. En el caso de NMI slo hace falta que
est a 1 el bit de habilitacin individual.
Aceptacin de una Interrupcin el tiempo de aceptacin de una
interrupcin son seis ciclos de reloj, contando desde la aceptacin
de la peticin de interrupcin hasta el inicio de la primera
instruccin de larutina de servicio a la interrupcin.

1) Finaliza instruccin en ejecucin, si la interrupcin est


habilitada y el bit GIE=1 se acepta la interrupcin.
2) Se pone en pila PC.
3) Se pone en pila SR.
4) Se selecciona la interrupcin ms prioritaria de las que pidan
servicio.
5) El flag de peticin de interrupcin es reseteado
automticamente. Los dems flags siguen pidiendo interrupcin.
6) El SR es limpiado a excepcin del SCG0, el cual no cambia.
Esto termina cualquier modo de bajo consumo.
7) El contenido del vector de interrupcin es volcado en PC, el
programa continua con la ejecucin de la rutina de servicio a la
interrupcin.

Vuelta de una Interrupcin

La interrupcin debe terminar con la instruccin: RETI. El retorno


tarda 5 ciclos enejecutar las siguientes acciones:

1) SR es retornado de pila
2) PC es tomado de pila y empieza la ejecucin en la siguiente
instruccin donde fue interrumpido
Anidamiento de Interrupciones
El anidamiento de una interrupcin es habilitado si se aserta el
bit GIE=1 dentro de la rutina de servicio a la interrupcin, ya
que GIE ha sido puesto a 0 al resetear SR.

S-ar putea să vă placă și