Вы находитесь на странице: 1из 27

1.1Modelos de arquitecturas de cmputo.

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)
En esta arquitectura tanto los datos como los programas, se almacenan en la memoria antes
de ser utilizados. 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.

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
Arquitecturas de multiprocesamiento.
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 :


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 sobr los que se deben de aplicar el mismo algoritmo numrico.
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.

1.2 Anlisis de los Componentes.


1.2.1 CPU
1 Arquitecturas.
2 Tipos.
3 Caractersticas.
4 Funcionamiento(ALU, unidad de control, Registros y buses internos)

Arquitecturas
* Ademas 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.

* El cambio ms importante de los ltimos aos en diseo de las computadoras se dio


durante los aos 1980, con la aparicin de la corriente de diseo conocida como
computadoras de conjunto reducido de instrucciones (RISC, por sus siglas en ingles).
* Esta escuela pretende aplicar un enfoque totalmente distinto al tradicional hasta entonces,
que paso a conocerse como computadoras de conjunto complejo de instrucciones (CISC)
para diferenciarla de la nueva tendencia.
* La tendencia tradicional, representada por las arquitecturas CISC (Complex Instruction Set
Computing) se caracterizan por tener un nmero amplio de instrucciones y modos de
direccionamiento.
* 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.
* El nmero de registros del CPU es limitado, ya que las compuertas lgicas del circuito
integrado se emplean para implementar las secuencias de control de estas instrucciones
especiales.
* Al investigar las tendencias en la escritura de software cientfico y comercial al inicio de los
80, ya se pudo observar que en general ya no se programaba mucho en ensamblador, sino
en lenguajes de alto nivel, tales como C.

* Los compiladores de lenguajes de alto nivel no hacan uso de las instrucciones especiales
implementadas en los procesadores CISC, por lo que resultaba un desperdicio de recursos
emplear las compuertas del circuito de esta forma.
* Por lo anterior, se decidi que era mejor emplear estos recursos en hacer que las pocas
instrucciones que realmente empleaban los compiladores se ejecutaran lo ms rpidamente
posible.

* As surgi la escuela de diseo RISC (Reduced Instruction Set Computing) donde solo se
cuenta con unas pocas instrucciones y modos de direccionamiento, pero se busca
implementarlos de forma muy eficiente y que todas las instrucciones trabajen con todos los
modos de direccionamiento
* Ademas, se observo que una de las tareas que tomaban ms tiempo en ejecutarse en
lenguajes dealto nivel, era el pasar los parmetros a las subrutinas a travs de la pila.
* Como la forma ms rpida de hacer este paso es por medio de registros del CPU, se busco
dotarlo con un amplio nmero de registros, a travs de los cuales se pueden pasar dichos
parmetros.

Tipos de CPU
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
computadora porttil, o laptop.

optar por una

* 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 CoreTM 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.
* 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 CoreTM 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.
* Si consideras el acceso a Internet como lo fundamental en tu porttil, ya que la usas para trabajar o
porque disfrutas de estar conectado continuamente a las redes sociales, dispositivos de mensajera o
mundos virtuales, puedes optar por la tecnologa del procesador Intel Centrino 2 con el procesador
Intel CoreTM 2 Duo Series T9000, P9000 o SU9000.
* El ranking en las porttiles contempla algo ms que la velocidad y el rendimiento. La duracin de la
batera es sustancial para aquellos que utilizan su computadora fuera de casa, por eso Intel incorpor
Deep Power Down y otras funciones que amplan la eficiencia energtica y permiten as que puedas
utilizar una porttil por ms tiempo sin depender de tomacorrientes y cables.
* Para aquellos que utilizan su computadora para realizar varias tareas sencillas al mismo tiempo y
adems buscan la confiabilidad de un procesador Intel, la mejor opcin es un procesador multitarea,
Intel PentiumTM.

Intel para computadoras de escritorio


* La familia de procesadores [Intel CoreTM i7] tiene los mejores procesadores de PCs de escritoro
del mundo.
* Si eres un Hardcore gamer y pretendes que tu PC te brinde las mximas posibilidades para disfrutar
de los videojuegos o de las redes sociales el procesador para tu computadora de escritorio debe ser el
Intel CoreTM i7.
* Estos modelos tambin son aptos para realizar simultneamente varias tareas complejas como el
retoque, la edicin o generacin de fotografas y videos.

* Otra opcin, son los procesadores Intel CoreTM 2 Quad y CoreTM 2 Duo.
* Con ellos Intel posibilita el mximo disfrute de los entornos y aplicaciones multimedia, algo muy
importante si se considera que videos, imgenes y msica son los elementos caractersticos de la
experiencia digital actual.

1.3 Caractersticas de los CPU


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.

Estructura Interna de un CPU

Funcionamiento de los CPU


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 varia 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 elcdigo numrico e identificar a cual de las operaciones que puede realizar el CPU
corresponde dicho cdigo.
Esta etapa usualmente se realiza con un decodificador binario.
3- Ejecucin.
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.

* Es importante recordar que cada instruccin del programa se almacena en memoria como un nmero
binario.
* Este nmero se conoce como cdigo de instruccin, y usualmente se divide en al menos dos campos:
un cdigo de operacin (Opcode) y un nmero que representa al operando u operandos de la
instruccin.

En el caso de la computadora ideal, se almacena cada instruccin en una de las 4096 palabras de
memoria de 16 bits cada una.

Se utiliza un formato de un solo operando, con un segundo operando en el acumulador cuando es


necesario.
Los cuatro bits ms significativos de los 16 bits de la palabra se dedican a almacenar el cdigo de
operacin.
Los doce bits menos significativos se dedican a almacenar la direccin del operando.
La siguiente tabla nos resume los cdigos de operacin de la computadora de ejemplo

Las partes del cpu de una computadora ideal


ACC Acumulador, se usar para almacenar uno de los operandos y el resultado de varias de las
instrucciones
MAR (Memory Address Register) Registro de direccin de memoria, selecciona a que localidad de
memoria se va a leer o a escribir.
MBR (Memory Bus Register) Registro de bus de memoria. A travs de l se lee y se escriben los
datos.
PC (Program Counter) El contador de programa almacena la direccin de la siguiente instruccin a
buscar. Por esta razn tambin es conocido como apuntador de instrucciones.
IR - Registro de instruccin, guarda el cdigo de la instruccin que se est ejecutando.
Flags Registro de Banderas, agrupa a todas las banderas de la ALU en un registro, en el caso de
nuestra computadora imaginaria, las banderas disponibles sern:
Z Bandera de Cero, se pone en uno cuando todos los bits del resultado son cero;
O Sobreflujo, se pone en uno cuando el resultado de la ltima operacin se sale de el rango de los
nmeros de 16 bits con signo;
C Acarreo, se enciende cuando el resultado de la ltima operacin se sale del rango de los nmeros
de 16 bits sin signo.

Diagrama a bloques del CPU de ejemplo

El ciclo de instruccin
Primer Bloque: Bsqueda de la instruccin:
1. El registro PC contiene la direccin de la localidad de memoria que contiene el cdigo de instruccin
de la siguiente instruccin a ejecutar. 2. La etapa de bsqueda consistir bsicamente en leer este
cdigo y almacenarlo en el registro IR para su posterior uso en las etapas de decodificacin y
ejecucin, el contenido de PC se copia al MAR para poder leer esa localidad de memoria. 3. Se lee la
memoria y el resultado de dicha lectura se copia del MBR al IR.
Finalmente, se incrementa el PC para que en el siguiente ciclo de instruccin se lea la instruccin de la
localidad de memoria consecutiva. Resumiendo estas operaciones en lenguaje de transferencia de
registros:
Bsqueda de la Instruccin
MARPC
IR[MAR]
PCPC+1

Segundo Bloque: Decodificacin


En la etapa de Decodificacin simplemente se separan el cdigo de operacin de los operandos.
Por ejemplo, la instruccin LOAD 023h se codificara como 0023h, siendo 0h el cdigo de operacin
y 023h el operando.
Adems, la unidad de control deber identificar que al opcode 0 corresponde a la instruccin LOAD
para que en la siguiente etapa se realicen las operaciones correspondientes a esta instruccin.

ALU
ALU (siglas en ingls de arithmetic logic unit), la unidad aritmtico lgica es un circuito digital que
calcula operaciones aritmticas. Forma parte de la Unidad Central de Procesos (CPU) mediante la cual
es posible realizar una gran cantidad de operaciones aritmticas bsicas (Suma, Resta, Divisin y
Multiplicacin) adems de realizar algunas operaciones Lgicas (Yes, Or, Not, And - Es decir, si; y, o,
no) entre dos nmeros o dos conjuntos de nmeros.
En informtica, la Unidad Aritmtica Lgica forma parte del circuito digital del procesador
indefectiblemente, teniendo adems presencia en otros Circuitos Electrnicos que necesiten realizar
estas operaciones, teniendo por ejemplo la utilizacin de un Reloj Digital, donde estos clculos lgicos
se basan en dos funcionalidades bsicas:
Sumar de a 1 al tiempo actual (para los Segundos, Minutos y las Horas)
Comprobacin de la activacin o no activacin del sonido de la alarma
Cambio de Hora y Minutos de acuerdo al sistema hexadecimal
Pero esta unidad es generalmente utilizada en circuitos de alta complejidad, cubriendo no solo
operaciones matemticas simples, sino una gran cantidad de clculos por segundos, siendo en el caso
de los ltimos aquellos que son conocidos como Microprocesadores, y que como hemos dicho, son el
cerebro de un ordenador y te toda la informacin que se procesa a travs de l.

Unidad de control
La unidad de control es uno de los tres bloques funcionales principales en los que se divide una unidad
central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de
entrada/salida.
Su funcin es buscar las instrucciones en la memoria principal, decodificarlas (interpretacin) y
ejecutarlas, empleando para ello la unidad de proceso.
Existen dos tipos de unidades de control, las cableadas, usadas generalmente en mquinas sencillas, y
las microprogramadas, propias de mquinas ms complejas. En el primer caso, los componentes
principales son el circuito de lgica secuencial, el de control de estado, el de lgica combinacional y el
de emisin de reconocimiento de seales de control. En el segundo caso, la microprogramacin de la
unidad de control se encuentra almacenada en una micromemoria, a la cual se accede de manera
secuencial para posteriormente ir ejecutando cada una de las microinstrucciones. Estructura del
computador: Unidad aritmtico-lgica (UAL o ALU por su nombre en ingls, Arithmetic Logic Unit):
aqu se llevan a cabo las operaciones aritmticas y lgicas.

Registros
un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que
permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones
matemticas.

Los registros estn en la cumbre de la jerarqua de memoria, y son la manera ms rpida que tiene el
sistema de almacenar datos. Los registros se miden generalmente por el nmero de bits que almacenan;
por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se
implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria
SRAM o formas aun ms primitivas.
El trmino es usado generalmente para referirse al grupo de registros que pueden ser directamente
indexados como operandos de una instruccin, como est definido en el conjunto de instrucciones. Sin
embargo, los microprocesadores tienen adems muchos otros registros que son usados con un propsito
especfico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de
instrucciones define 8 registros de 32 bits.

BUS
En informtica, a un bus se le denomina todo un conjunto de cables que se conectan entre los
componentes de un computador con el fin de comunicar datos direcciones ycomandos entre ellos.
Existen dos tipos de buses, en paralelo y en serie.
Buses Internos
Son buses que comunican todos los componentes del computador con el procesador y la memoria,
inicialmente la arquitectura de los buses internos era la de ISA(Industry Standard Architecture) creada
por IBM la cual ha ido avanzando en trminos de tecnologa, pasando por el MCA (MicroChannel

Architecture) el cual mejor la velocidad de transmisin de datos pasandode 8 Mbps a 20 Mbps y se


dirigi bajo el principio de manejar el bus desde el microprocesador y ensanchar la ruta de datos, sin
embargo este tena la limitacin de no tener compatibilidad con los.

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 lineas del bus de direcciones y 2N lineas 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 lineas de direccin N por T= 2N .
1.2.2.1 Arquitecturas.
Desde hace unas decenas de aos, los procesadores han estado aumentando su velocidad
de operacin a un paso mucho ms rpido que las memorias, lo que ha llevado a la situacin
en que los procesadores actuales operan mucho ms rpidamente que la memoria principal
de las computadoras. Esto hace que el procesador tenga que quedarse detenido por varios
ciclos de reloj (estados de espera) cada vez que tiene que leer o escribir a la memoria
principal.
Para aliviar un poco esta situacin conservando el precio de la computadora razonablemente
bajo, se ha organizado a la memoria como una jerarqua de diversos niveles con distintos
tamaos y velocidades.
Hay que recordar que la memoria ms rpida es mucho ms cara que la ms lenta y que por
lo tanto, es menor la cantidad de memoria de este tipo que se puede usar. Esta estructura
jerrquica se ilustra en la figura 1.2.2.1. De esta manera, la mayor parte de la capacidad de
almacenamiento de la maquina se encuentra en el disco duro, que tiene un costo por Gbyte
muy bajo, pero que tambin es muy lento debido a que hay que mover piezas mecnicas
para leer o escribir en l. En seguida se encuentra la memoria principal, que normalmente es
del tipo RAM dinmica. Es en esta memoria donde se almacenan los programas para que los
pueda ejecutar el procesador, as como los datos con que trabajan dichos programas. Con el

objetivo de mejorar la velocidad del procesador al ejecutar ciclos y al leer repetidamente


datos de uso comn, se coloca una pequea cantidad de memoria RAM esttica entre el
procesador y la memoria principal. Esta memoria es conocida como memoria cache y guarda
una copia de una pequea regin de la memoria principal, para que si se requiere volver a
leer los datos almacenados en esta regin de memoria, no se tenga que esperar a que se lea
la memoria principal, que es mucho ms lenta que la cache y que el procesador. Finalmente,
en la cima de la jerarqua, se encuentran los registros del procesador que aunque son muy
pocos, son los que se pueden leer y escribir ms rpidamente.

Menor tamao, Mayor Velocidad

Menor velocidad, mayor tamao

1.2.2.2 Tipos.
Los diversos tipos de memorias se clasifican como memorias voltiles y memorias no
voltiles. Las memorias voltiles pierden la informacin que almacenan al momento en que
se les desconecta la energa, mientras que las no voltiles conservan su contenido aunque
no estn alimentadas.

Las memorias voltiles son conocidas desde las primeras computadoras como memorias de
acceso aleatorio (RAM), ya que en esa poca las memorias voltiles eran de acceso
secuencial. Dentro de las memorias voltiles se encuentran las subclases RAM Dinmica y
RAM Esttica.
Las memorias no voltiles conservan sus datos a pesar de que en este conectadas el voltaje
del alimentacin. De hecho pueden conservar sus datos por un periodo de tiempo
relativamente largo, usualmente entre cien y 200 aos. Conforme evolucionado la tecnologa,
se han desarrollado diversas familias de rumores no voltiles, entre las cuales se encuentran:
la memoria de solo lectura (ROM - Read only Memory), la memoria de solo lectura
programable (PROM -Programable Read only Memory), la memoria de solo lectura
programable y borrable (EPROM - Erasable Read only Memory), la memoria de solo lectura
programable y borrable elctricamente (EEPROM Electricaly Erasable Read only Memory) y
la memoria flash.

1.2.2.3 Caractersticas.
En cuanto a las memorias voltiles, la memoria RAM dinmica es muy rpida pero muy cara.
En contraste, la memoria RAM esttica es muy barata pero muy lenta.
En general, las memorias no voltiles son baratas y su precio depende sobre todo de su
capacidad de almacenamiento. Algunas de estas tecnologas son consideradas obsoletas y
por lo tanto casi no son utilizadas en actualidad.
1.2.2.4 Funcionamiento.
El tipo ms comn de memorias voltiles es la RAM dinmica, que utiliza la capacitancia
parsita de los transistores MOSFET (en ingls Metal-oxide-semiconductor Field-effect
transistor) con los que esta construida para almacenar un bit. Como solo se requiere de
un transistor por celda de memoria, esta memoria es muy econmica, pero debido al tiempo
que toma cargar la gran capacitancia de los transistores con los que esta construida, es muy
lenta.
El otro tipo de memoria RAM utilizado en la actualidad, es la RAM esttica. Esta memoria se
construye con el mismo tipo de transistores con los que se construyen los procesadores, por
lo que pueden operar a una velocidad similar a la del procesador. Sin embargo, como se
requieren alrededor de 8 transistores por bit, el costo de esta memoria es mucho ms alto
que el de la RAM dinmica.
En cuanto a las memorias no voltiles, histricamente han existido varios tipos. Los primeros
slo podan ser ledos, por lo que fueron conocidos como memorias de solo lectura (ROM Read Only Memory). A pesar de que los tipos ms modernos permiten que su contenido se
ha modificado por el usuario, an son conocidos como memorias de solo lectura.
En las memorias de solo lectura originales (ROM), el almacenar en uno o un cero, depende
de si el fabricante coloc o no un diodo fsicamente en el circuito de la memoria. De esta
manera, el contenido de la memoria queda establecido por el fabricante desde el momento

de su construccin y no es posible que el usuario lo modifique. Sin embargo, este tipo de


memoria es an muy usada debido a que es muy econmica y por lo tanto, ideal para la
produccin en masa de muchos artefactos de consumo masivo.
Con el objetivo de hacer a la memoria de solo lectura un dispositivo ms verstil, algunos
fabricantes de memorias sustituyeron a los diodos por fusibles semiconductores que el
usuario poda quemar usando un programador especial. Esto permiti a los usuarios tener
dispositivos de memoria de solo lectura cuyo contenido ellos mismos podan programar, por
lo que estos dispositivos fueron conocidos como memorias de solo lectura programables
(PROM - Programable Read Only Memory). El nico inconveniente que presentaban estas
memorias era que si se necesitaba hacer un pequeo cambio, deba descartarse a la
memoria ya programada y utilizar un dispositivo nuevo en blanco.
Este problema pudo eliminarse al sustituir los fusibles semiconductores por transistores con
una compuerta flotante que les permita almacenar una carga elctrica por un tiempo muy
grande. Esta compuerta flotante permite almacenar una carga elctrica que reduce el voltaje
que debe ser aplicado a la compuerta principal para hacer que el rector conduzca. De esta
manera, aplicando un voltaje de prueba a la compuerta principal y observando si el transistor
conduce, se puede saber si un transistor no tiene carga en su compuerta flotante (est
borrado o almacena un uno) o s (estaba programado o almacena un cero).
La primera generacin de dispositivos que utiliz esta tecnologa, conocidos como memorias
de solo lectura programables y borrables (EPROM), podan grabarse elctricamente
aplicando un voltaje ms alto de lo normal a la compuerta principal. Sin embargo, para
eliminar la carga tendra que aplicarse una luz ultravioleta intensa al dispositivo, lo cual
eliminaba la carga almacenada en la compuerta flotante. Para realizar este proceso de
borrado era necesario retirar al dispositivo del circuito de aplicacin y colocarlo en el borrador
de luz ultravioleta por aproximadamente media hora .
En la segunda generacin de dispositivos de memoria que utilizaban transistores con
compuertas flotante se logr eliminar la carga elctricamente, con lo que dichos dispositivos
se volvieron ms verstiles. Los dispositivos de esta generacin se conocieron como
memorias de solo lectura programables y borrables elctricamente (EEPROM). Como cada
byte de la memoria poda ser borrado de forma independiente, requeran de muchos circuitos
auxiliares para permitir este tipo de borrado, lo que aumentaba su costo.
Para la tercera generacin, se busc reducir el costo de los dispositivos reduciendo la
cantidades circuitos auxiliares necesarios para el borrado. Esto se logr permitiendo
nicamente el borrado de bloques de memoria de tamao relativamente grande. Tambin se
busc almacenar ms de un bit por celda de memoria controlando la cantidad de carga
almacenada en cada celda, de manera que con ocho voltajes discretos se pueden
representar las ocho combinaciones correspondientes a tres bits. Los dispositivos de esta
generacin son conocidos como memorias FLASH.

Entrada/Salida
Una computadora no puede estar formado slo por la CPU y la memoria.
Para darle alguna utilidad debe de comunicarse con el mundo exterior a travs del
subsistema de entrada/salida (I/O input/output).

La misin principal del subsistema de E/S es adaptar los dispositivos externos antes de
conectarlos al bus del sistema.
Por qu no se conectan directamente al bus del sistema?
1. La velocidad de transmisin de datos de los perifricos es siempre menor que la de la
memoria y la CPU.
2. Debido a la gran diversidad de perifricos no es posible incorporar toda la lgica
necesaria en el computador para manejar cada uno de stos.
3. Los formatos de datos de los perifricos son diferentes a los del resto de la
computadora.

Hay dos formas de implementar la E/S en una computadora:


1. Construir a medida el subsistema utilizando elementos bsicos
2. Incorporar y programar dispositivos estndares ms complejos y genricos.

Funciones del Sistema de E/S


2
3
4

DIRECCIONAMIENTO: seleccin del dispositivo correspondiente de entre los dispositivos


disponibles en el sistema.
SINCRONIZACIN: ha de posibilitar que la CPU y la memoria (alta velocidad
transferencia de datos) se puedan comunicar con los dispositivos de E/S (baja velocidad)
sincronizando los envos de datos entre ambos.
TRANSFERENCIA: el sistema E/S debe de tener toda la circuitera y seales de
comunicacin apropiadas para llevar a cabo la comunicacin con cada uno de los
dispositivos del sistema.

Mdulos de Entrada/Salida
Comunicacin CPU-Perifrico
La E/S se implementa mediante dispositivos perifricos.
DISPOSITIVO PERIFRICO:
Elemento que permiten la transferencia de informacin entre la CPU y el mundo exterior.
Interfaz que traduce la informacin asncrona y analgica del mundo exterior a la
informacin sncrona y codificada del computador.
Dos partes: mdulo de E/S y dispositivo (externo).
Coordina el correcto flujo de informacin entre uno o varios dispositivos externos (impresora,
monitor, ...) e internos (memoria, procesador).
FUNCIONES:
1. Reconocer la direccin de la CPU que identifica al dispositivo externo.
2. Transferencia de datos entre el CPU y el dispositivo externo.
3. Recepcin comandos desde el CPU.
4. Mantener informacin del estado del perifrico y mantener el protocolo de comunicaciones
con el perifrico.
Un mdulo de E/S puede controlar varios dispositivos externos.
El mdulo de E/S tambin almacena datos temporalmente debido a las diferencias de
velocidades entre los perifricos y el CPU o la memoria.
Dispone de un mecanismo de deteccin de errores tales como el uso del bit de paridad.
Los trminos controlador, procesador de E/S y mdulo de E/S son equivalentes. La

diferencia radica en su complejidad.

Dispositivo Externo
La forma de comunicacin con el mdulo de E/S se hace mediante:
SEALES DE CONTROL (mandatos/comandos enviados por el CPU),
ESTADO (informacin sobre el funcionamiento del dispositivo)
DATOS.
Internamente suele haber una serie de buffers que son capaces de almacenar
temporalmente datos o informacin adicional de contexto.
Un componente importante suele ser el transductor que transforma la informacin analgica
en digital.

Entrada/Salida Programada
(Encuesta o Polling)
El CPU tiene el control absoluto de la operacin de E/S: inicia y lleva a cabo la
transferencia.
La CPU est dedicndose por completo a realizar la operacin de E/S: realiza tanto la
comprobacin de estado como la transferencia y la inicializacin:
poco eficiente.
Hardware mnimo.

Entrada/Salida mediante Interrupciones


La E/S le indica al CPU cuando est preparada para transferir datos (genera una
interrupcin al CPU), activando una lnea especial conectada al CPU (lnea de interrupcin).
Funcionamiento
El procesador ejecuta instrucciones de un programa. Al finalizar cada instruccin comprueba
si se ha producido una interrupcin.
2. En caso afirmativo se salva el estado actual del programa (contador del programa y
registros) y se salta a ejecutar la rutina de servicio correspondiente.
3. La rutina de servicio efecta las operaciones apropiadas en la E/S para realizar la
transferencia de datos solicitada.
4. Al finalizar la rutina de servicio se recupera el estado de la CPU y se contina
ejecutando el programa que se estaba ejecutando antes de la interrupcin.

Las interrupciones pueden ser:


ENMASCARABLES (se pueden dejar de atender por software)
o NO ENMASCARABLES (siempre atendidas).
Dos formas de conocer la direccin/posicin (vector) donde se encuentra la rutina de
servicio de la interrupcin:
Vector de interrupciones siempre FIJO
el perifrico suministra el vector de interrupcin.

Generalmente existen VARIOS PERIFRICOS (y no uno slo) conectados


que pueden realizar interrupciones,
Esto obliga a ESTABLECER PRIORIDADES y decidir cmo se conectan a la
CPU.
Tambin hay que determinar para cada perifrico su vector de interrupciones.
SOLUCIONES ms extendidas:
A. Una sola lnea de interrupcin
B. Varias lneas de interrupcin
C. Lneas de interrupcin y aceptacin

Acceso directo a memoria


El DMA (Direct Memory Access) es un procesador/controlador especializado en
transferencias muy grandes desde perifricos a memoria y viceversa.
Es programable. La CPU no realiza ninguna tarea (salvo programar el DMA) ya que la
inicializacin y transferencia son gobernadas por el perifrico.
Para programar el DMA hay que enviarle al menos los siguientes datos:
Direccin/puerto perifrico E/S.
Posicin/direccin en memoria principal.
Tamao (nmero de bytes a transferir).
Tipo transferencia: lectura o escritura.
Al finalizar el DMA avisa mediante una interrupcin.
Esta interrupcin al igual que el resto de interrupciones son normalmente atendidas al final
de cada instruccin.
La rutina de servicio asociada comprobar el estado del DMA para ver si se han producido
errores al ejecutar la transferencia que se le ha encomendado.

A diferencia del mecanismo por interrupcin convencional, una orden DMA puede transferir
muchsimos datos de una sola vez. Por lo tanto, el nmero de interrupciones por byte
transferido es mucho menor que con las interrupciones convencionales: se gana en rapidez.
El procesador no se encarga de la transferencia de datos.

Вам также может понравиться