Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apuntes Unidad 1
Apuntes Unidad 1
Bus principal
Entrada y salida
(igura ).).).* +iagrama a bloques de la arquitectura ,on Ne-man. .a 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 informaci!n 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 desempe0o de la computadora. Este efecto se conoce como el cuello de botella de ,on Ne-man 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" e cambiarla implicaba un proceso de recableado laborioso" lento%#asta tres semanas' y propenso a errores. En esta arquitectura se asigna un c!digo num rico a cada instrucci!n. +ic#os c!digos 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 aplicaci!n de la computadora y dio origen a las computadoras de prop!sito general 1as a detalle" el procesador se subdivide en una unidad de control %C.2.'" una unidad l!gica aritm tica %A...2.' y una serie de registros. .os registros sirven para almacenar internamente datos y estado del procesador. .a unidad aritm tica l!gica proporciona la capacidad de realizar operaciones aritm ticas y l!gicas. .a unidad de control genera las se0ales de control para leer el c!digo de las instrucciones" decodificarlas y #acer que la A.2 las ejecute. Arquitectura Harvard Esta arquitectura surgi! en la universidad del mismo nombre" poco despu s de que la arquitectura ,on Ne-man apareciera en la universidad de 3rinceton. Al igual que en la arquitectura ,on Ne-man" el programa se almacena como un c!digo num rico en la memoria" pero no en el mismo espacio de memoria ni en el mismo formato que los datos. 3or ejemplo" se pueden almacenar las instrucciones en doce bits en la memoria de programa" mientras los datos de almacenan en 4 bits en una memoria aparte.
Bus de datos
Memoria de datos
Entrada y salida
(igura ).).).* +iagrama a bloques de la arquitectura 5arvard El #ec#o de tener un bus separado para el programa y otro para los datos permite que se lea el c!digo de operaci!n de una instrucci!n" al mismo tiempo se lee de la memoria de datos los operados de la instrucci!n previa. As se evita el problema del cuello de botella de ,on Ne-man y se obtiene un mejor desempe0o. En la actualidad la mayora de los procesadores modernos se conectan al e$terior de manera similar a a la arquitectura ,on Ne-man" con un banco de memoria masivo /nico" pero internamente incluyen varios niveles de memoria cac#e con bancos separados en cac#e de programa y cac#e de datos" buscando un mejor desempe0o sin perder la versatilidad.
unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. 3ara comprender mejor esto" supongamos que un procesador simple tiene un ciclo de instrucci!n sencillo consistente solamente en una etapa de b/squeda del c!digo de instrucci!n y en otra etapa de ejecuci!n de la instrucci!n. En un procesador sin segmentaci!n del cauce" las dos etapas se realizaran de manera secuencial para cada una de la instrucciones" como lo muestra la siguiente figura.
B1 E1 B2 E2 B3 E3
(igura ).).*.) 6/squeda y ejecuci!n en secuencia de tres instrucciones en un procesador sin segmentaci!n del cause En un procesador con segmentaci!n del cause" cada una de estas etapas se asigna a una unidad funcional diferente" la b/squeda a la unidad de b/squeda y la ejecuci!n a la unidad de ejecuci!n. 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 b/squeda coloca los c!digos de instrucci!n que ley! para que la unidad de ejecuci!n los tome de la cola y los ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un e$tremo y salen por el otro. +e esta analoga proviene el nombre en ingles7 3ipelining o entubamiento. En general se divide al procesador segmentado en una unidad independiente por cada etapa del ciclo de instrucci!n.
Unidad de Bsqueda
Cola de nstrucciones
Unidad de e ecucin
(igura ).).*.8 Comunicaci!n entre las unidades en un procesador con segmentaci!n de cauce. Completando el ejemplo anterior" en un procesador con segmentaci!n" la unidad de b/squeda comenzara buscando el c!digo de la primera instrucci!n en el primer ciclo de reloj. +urante el segundo ciclo de reloj" la unidad de b/squeda obtendra el c!digo de la instrucci!n *" mientras que la unidad de ejecuci!n ejecuta la instrucci!n ) y as sucesivamente. .a siguiente figura muestra este proceso.
B1 B2 B3 B3 E1 E2 E3
procesador con segmentaci!n del cause En este esquema sigue tomando el mismo numero de ciclos de reloj %el mismo tiempo'" pero como se trabaja en varias instrucciones al mismo tiempo" el n/mero promedio de instrucciones por segundo se multiplica. En teora" el rendimiento de un procesador segmentado mejora con respecto a uno no segmentado en un factor igual al numero de etapas independientes. &in embargo" la mejora en el rendimiento no es proporcional al numero de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse" adems de que se puede presentar competencia por el uso de algunos recursos como la memoria principal. 9tra raz!n 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 direcci!n a la que se salto. Esto reduce el desempe0o del procesador y a/n se investigan maneras de predecir los saltos para evitar este problema.
Espera Bsqueda
Espera E ecucin
.os Clusters son conjuntos de computadoras independientes conectadas en una red de rea local o por un bis de intercone$i!n y que trabajan cooperativamente para resolver un problema. Es clave en su funcionamiento contar con un sistema operativo y programas de aplicaci!n capaces de distribuir el trabajo entre las computadoras de la red.
1.2.1.2 "ipos.
.os C32s modernos pueden clasificarse de acuerdo a varias caractersticas" tales como7 el tama0o del A.2 o del 6us de cone$i!n al e$terior %4" )@" 8*" @: bits'"si tienen cauce segmentado o no segmentado" si con tipo CI&C o ?I&C" ,on Ne-an o 5arvard y si solo tienen instrucciones enteras o implementan tambi n instrucciones de punto flotante
1.2.1.3 Caracter#sticas.
.as caractersticas ms importantes a considerar al escoger un C32 para usarlo en una aplicaci!n" son7
1odelo
del programador %Conjunto de registros que el programador puede utilizar'" forman el modelo mental del C32 que el programador utiliza al programar en ensamblador.
Conjunto 1odos Ciclo 6uses
de direccionamiento que pueden usarse para obtener los operandos de las instrucciones.
de instrucci!n %el conjunto de pasos que realiza el C32 para procesar cada instrucci!n'
de intercone$i!n" usados para que el C32 lea y escriba a la memoria y a los dispositivos de entrada y salida.
1.2.1.$ %uncionamiento.
+ebido a la gran variedad de C32 disponibles comercialmente" se e$plicara el funcionamiento de un unidad central de proceso imaginaria muy simple" pero que resume el funcionamiento bsico de la mayora de los C32s. Este C32 es similar a las primeras computadoras e$istentes en los a0os )=A>s. Esta computadora contara con una memoria de :>=@ palabras de )@ bits cada una. Esto corresponde a un bus de direcciones de )* bits y un bus de datos de )@ bits'. En cada localidad de memoria se podr almacenar un entero de )@ bits o el c!digo de una instrucci!n" tambi n de )@ bits. Bodos los C32 tienen como funci!n principal la ejecuci!n de un programa acorde a la aplicaci!n del mismo. 2n programa es un conjunto de instrucciones almacenadas de acuerdo al orden en que deben ejecutarse. 3or lo tanto" toda computadora debe ser capaz de procesar las instrucciones de su programa en un ciclo de instrucci!n" consistente en un n/mero de etapas que varia con cada C32" pero que tradicionalmente #an sido tres7 )CBsqueda del c!digo de Instrucci!n. Esta consiste en leer de la memoria cual ser la siguiente instrucci!n a ejecutar" la cual esta almacenada en forma de un c!digo num rico que indica cual de todas las operaciones que puede realizar el C32 sera la siguiente y con que operandos se ejecutara. *C Decodificacin. Consiste en tomar el c!digo num rico e identificar a cual de las operaciones que puede realizar el C32 corresponde dic#o c!digo. El proceso contrario" la codificaci!n" consiste en conociendo la instrucci!n" determinar el n/mero que la va a representar. Esta etapa usualmente se realiza con un decodificador binario. 8C Ejecucin. En esta etapa se lleva a cabo la operaci!n sobre los datos que se vallan a procesar. En general" la unidad de control %C2' genera las se0ales de control necesarias para llevar los datos a las entradas de la 2nidad Aritm tica .!gica" la cual efectuar las operaciones aritm ticas y l!gicas. 3osteriormente" la unidad de control generara las se0ales de control necesarias para transferir la salida de la 2nidad Aritm tica .!gica al registro donde sern almacenados los resultados para su uso posterior.
Ejecuci!n de la Instrucci!n
(igura ).*.).:.) Ciclo de instrucci!n Es importante recordar que cada instrucci!n del programa se almacena en memoria como un n/mero binario. Este n/mero se conoce como c!digo de instrucci!n" y usualmente se divide en al menos dos campos7 un c!digo de operaci!n %9pcode' y un n/mero que representa al operando u operandos de la instrucci!n. En el caso de la computadora imaginaria que estamos estudiando" se almacena cada instrucci!n en una de las :>=@ palabras de memoria de )@ bits cada una. &e utiliza un formato de un solo operando" con un segundo operando en el acumulador cuando es necesario. .os cuatro bits ms significativos de los diecis is bits de la palabra se dedican a almacenar el c!digo de operaci!n. .os doce bits menos significativos se dedican a almacenar la direcci!n del operando.
A# @# H# 4# =# A# 6# C# +# E# (#
9? %9r 6it a 6it' AN+ %And bit a 6it' I9? %Ior 6it a 6it' &5. %Corrimiento a la Izquierda' &5? %Corrimiento a la derec#a' 6?A 6ifurcaci!n o salto 6?K %6ifurca si es Cero' 6?C %6ifurca si #ay Acarreo' 6?9 %6ifurca si #ay &obreflujo' .+I %Carga Constante Inmediata'
ACCDCACC or E1F ACCDCACC and E1F ACCDCACC $or E1F ACCDCACC DD ) ACCDCACC JJ ) 3CDC1 &i KLL) LJ 3CDC1 &i KLL) LJ 3CDC1 &i KLL) LJ 3CDC1 ACC DCE3CFM 3CDC3CG)
&B93 +etener la ejecuci!n Babla ).*.).:.) C!digos de operaci!n para la computadora de ejemplo
.as partes del C32 de la computadora imaginaria son7 ACC ; Acumulador" se usar para almacenar uno de los operandos y el resultado de varias de las instrucciones MAR ; %1emory Address ?egister' ?egistro de direcci!n de memoria" selecciona a que localidad de memoria se va a leer o a escribir. MBR ; %1emory 6us ?egister' ?egistro de bus de memoria. A trav s de l se lee y se escriben los datos. PC ; %3rogram Counter' El contador de programa almacena la direcci!n de la siguiente instrucci!n a buscar. 3or esta raz!n tambi n es conocido como apuntador de instrucciones. IR C ?egistro de instrucci!n" guarda el c!digo de la instrucci!n que se esta ejecutando. Flags ; ?egistro de 6anderas" agrupa a todas las banderas de la A.2 en un registro" en el caso de nuestra computadora imaginaria" las banderas disponibles sern7 K ; 6andera de Cero" se pone en uno cuando todos los bits del resultado son ceroM 9 ; &obreflujo" se pone en uno cuando el resultado de la ultima operaci!n se sale de el rango de los n/meros de )@ bits con signoM C ; Acarreo" se enciende cuando el resultado de la ultima operaci!n se sale del rengo de los n/meros de )@ bits sin signo.
Contenido $$$$% Banderas MAR $$$$% #&#'% (&#(% BU/ PC MBR R $$$$% "#'(% (+,-%
Acumulador
...
&##% &#'% &#(%
... C!U
$$$$% ...%
Memoria
(igura ).*.).:.* +iagrama a bloques del C32 a estudiar Como se e$plico anteriormente" el funcionamiento del C32 se basa en los pasos del ciclo de instrucci!n" consistentes en b/squeda" decodificaci!n y ejecuci!n de la instrucci!n. Comenzaremos revisando los pasos correspondientes a la b/squeda de la instrucci!n. El registro 3C contiene la direcci!n de la localidad de memoria que contiene el c!digo de instrucci!n de la siguiente instrucci!n a ejecutar. Como la etapa de b/squeda consistir bsicamente en leer este c!digo y almacenarlo en el registro I? para su posterior uso en las etapas de decodificaci!n y ejecuci!n" el contenido de 3C se copia al 1A? para poder leer esa localidad de memoria. &e lee la memoria y el resultado de dic#a lectura se copia del 16? al I?. (inalmente" se incrementa el 3C para que en el siguiente ciclo de instrucci!n se lea la instrucci!n de la localidad de memoria consecutiva. ?esumiendo estas operaciones en lenguaje de transferencia de registros7 1A?DC3C I?DCE1A?F 3CDC3CG) En la etapa de decodificaci!n simplemente se separan los c!digos de operaci!n de los operandos. 3or ejemplo" la instrucci!n .9A+ >*8# se codificara como >>*8#" siendo ># el c!digo de operaci!n y >*8# el operando. Adems" la unidad de control deber identificar que al opcode > corresponde a la instrucci!n .9A+ para que en la siguiente etapa se realicen las operaciones correspondientes a esta instrucci!n. En cuanto a la etapa de ejecuci!n" los pasos realizados en esta etapa varan dependiendo del c!digo de operaci!n ledo en la etapa de b/squeda. 3or ejemplo" si el c!digo ledo es un >" que corresponde con una instrucci!n .9A+" la etapa de ejecuci!n consistir en copiar la parte de la direcci!n del operando en el registro 1A? para poder leer la localidad en donde se encuentra el operando. &e lee el operando de memoria y el dato ledo se copia del 16? al acumulador. ?esumiendo dic#as operaciones en lenguaje de transferencia de registros se tiene7 1A?DCI?%1' <<I?%1' representa los bits del registro I? que almacenan la direcci!n del operando ACCDC16?
3ara el c!digo de operaci!n *" correspondiente a la instrucci!n A++" tambi n se transfiere la direcci!n del operando al 1A? y se lee el contenido de la memoria" pero en vez de enviarse directamente del 16? al acumulador" se enva al A.2 para que se sume con el contenido del acumulador y posteriormente se almacene el resultado de la suma en el acumulador. ?esumiendo en lenguaje de transferencia de registros7 1A?DCI?%1' <<I?%1' representa los bits del registro I? que almacenan la direcci!n del operando ACCDCACCG16? .a columna operaci!n de la Babla ).*.).:.) proporciona un resumen el lenguaje de transferencia de registros de las operaciones correspondientes a cada c!digo de operaci!n.
1.2.2 Memoria.
2na 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. 2n dispositivo de memoria completo se forma con varias celdas bsicas y los circuitos asociados para poder leer y escribir dic#as celdas bsicas" agrupadas como localidades de memoria que permitan almacenar un grupo de N bits. El n/mero de bits que puede almacenar cada localidad de memoria es conocido como el anc#o de palabra de la memoria. Coincide con el anc#o del bus de datos. 2no de los circuitos au$iliares que integran la memoria es el decodificador de direcciones. &u funci!n es la de activar a las celdas bsicas que van a ser ledas o escritas a partir de la direcci!n presente en el bus de direcciones. Biene como entradas las n lineas del bus de direcciones y *N lineas de #abilitaci!n de localidad" cada una correspondiente a una combinaci!n binaria distinta de los bits de direcciones. 3or lo tanto" el n/mero de localidades de memoria disponibles en un dispositivo %B' se relaciona con el n/mero de lineas de direcci!n N por BL *N .
1.2.2.1 Arquitecturas.
+esde #ace unas decenas de a0os" los procesadores #an estado aumentando su velocidad de operaci!n a un paso muc#o ms rpido que las memorias" lo que #a llevado a la situaci!n en que los procesadores actuales operan muc#o ms rpidamente que la memoria principal de las computadoras. Esto #ace 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. 3ara aliviar un poco esta situaci!n conservando el precio de la computadora razonablemente bajo" se #a organizado a la memoria como una jerarqua de diversos niveles con distintos tama0os y velocidades. 5ay que recordar que la memoria ms rpida es muc#o 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 ).*.*.). +e esta manera" la mayor parte de la capacidad de almacenamiento de la maquina se encuentra en el disco duro" que tiene un costo por Nbyte muy bajo" pero que tambi n es muy lento debido a que #ay que mover piezas mecnicas para leer o escribir en l. En seguida se encuentra la memoria principal" que normalmente es del tipo ?A1 dinmica. Es en esta memoria donde se almacenan los programas para que los pueda ejecutar el procesador" as como los datos con que trabajan dic#os programas. Con el objetivo de mejorar la velocidad del procesador al ejecutar ciclos y al leer repetidamente datos de uso com/n" se coloca una peque0a cantidad de memoria ?A1 esttica entre el procesador y la memoria principal. Esta memoria es conocida como memoria cac#e y guarda una copia de una peque0a regi!n de la memoria principal" para que si se requiere volver a leer los datos almacenados en esta regi!n de memoria" no se tenga que esperar a que se lea la memoria principal" que
es muc#o ms lenta que la cac#e y que el procesador. (inalmente" 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 tama0o1 Mayor 2elocidad Registros del procesador Memoria Cac%e Memoria principal )isco )uro Menor 3elocidad1 mayor tama0o
(igura ).*.*.) Oerarqua de memoria en un procesador 1oderno
1.2.2.2 "ipos.
.os diversos tipos de memorias se clasifican como memorias voltiles y memorias no voltiles. .as memorias voltiles pierden la informaci!n que almacenan al momento en que se les desconecta la energa" mientras que las no voltiles conservan su contenido aunque no est n alimentadas. .as memorias voltiles son conocidas desde las primeras computadoras como memorias de acceso aleatorio %?A1'" ya que en esa poca las memorias voltiles eran de acceso secuencial. +entro de las memorias voltiles se encuentran las subclases ?A1 +inmica y ?A1 Esttica. .as memorias no voltiles conservan sus datos a pesar de que en este conectadas el voltaje del alimentaci!n. +e #ec#o pueden conservar sus datos por un periodo de tiempo relativamente largo" usualmente entre cien y *>> a0os. Conforme evolucionado la tecnologa" se #an desarrollado diversas familias de rumores no voltiles" entre las cuales se encuentran7 la memoria de solo lectura %?91 C ?ead only 1emory'" la memoria de solo lectura programable %3?91 C3rogramable ?ead only 1emory'" la memoria de solo lectura programable y borrable %E3?91 C Erasable ?ead only 1emory'" la memoria de solo lectura programable y borrable el ctricamente %EE3?91 Electricaly Erasable ?ead
1.2.2.3 Caracter#sticas.
En cuanto a las memorias voltiles" la memoria ?A1 dinmica es muy rpida pero muy cara. En contraste" la memoria ?A1 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.$ %uncionamiento.
El tipo ms com/n de memorias voltiles es la ?A1 dinmica" que utiliza la capacitancia parsita de los transistores 19&(EB con los que esta construida para almacenar un bit. Como solo se requiere de un transistor por celda de memoria" esta memoria es muy econ!mica" pero debido al tiempo que toma cargar la gran capacitancia de los transistores con los que esta construida" es muy lenta.
/ e le c c i n d e r e n g lo n
4! d e C o lu m n a
C a p a c ita n c ia p a r 5 s ita
(igura ).*.*.:.) C Estructura de una celda de ?A1 +inmica mostrando la capacitancia parsita en donde se almacenan el dato. El otro tipo de memoria ?A1 utilizado en la actualidad" es la ?A1 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. &in embargo" como se requieren alrededor de 4 transistores por bit" el costo de esta memoria es muc#o ms alto que el de la ?A1 dinmica.
(igura ).*.*.:.* Estructura de una celda de ?A1 Esttica a nivel de transistores. En cuanto a las memorias no voltiles" En cuanto a las memorias no voltiles" #ist!ricamente #an e$istido varios tipos. .os primeros s!lo podan ser ledos" por lo que fueron conocidos como memorias de solo lectura %?91 C ?ead 9nly 1emory'. A pesar de que los tipos ms modernos permiten que su contenido se #a modificado por el usuario" a/n son conocidos como memorias de solo lectura. En las memorias de solo lectura originales %?91'" el almacenar en uno o un cero" depende de si el fabricante coloc! o no un diodo fsicamente en el circuito de la memoria. +e esta manera" el contenido de la memoria queda establecido por el fabricante desde el momento de su construcci!n y no es posible que el usuario no modifique. &in embargo" este tipo de memoria es a/n muy usada debido a que es muy econ!mica y por lo tanto" ideal para la producci!n en masa de muc#os artefactos de consumo masivo.
CE " " " " " " " " & A# & & & & " " " " $ A" & & " " & & " " $ A& /alida & & " " & & " " & " " & & " " & $ 67
(igura ).*.*.:.8 ; Estructura de una memoria ?91 de 4$) bits y la tabla con el contenido de cada celda. &olo #ay ceros en las columnas con un diodo conectado. Con el objetivo de #acer 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 %3?91 C 3rogramable ?ead 9nly 1emory'. El /nico inconveniente que presentaban estas memorias era que si se necesitaba #acer un peque0o 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 el ctrica por un tiempo muy grande. Esta compuerta flotante permite almacenar una carga el ctrica que reduce el voltaje que debe ser aplicado a la compuerta principal para #acer que el rector conduzca. +e 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'. .a primera generaci!n de dispositivos que utiliz! esta tecnologa" conocidos como memorias de solo lectura programables y borrables %E3?91'" podan grabarse el ctricamente aplicando un voltaje ms alto de lo normal a la compuerta principal. &in embargo" para eliminar la carga tendra que aplicarse una luz ultravioleta intensa al dispositivo" lo cual eliminaba la carga almacenada en la compuerta flotante. 3ara realizar este proceso de borrado era necesario retirar al dispositivo del circuito de aplicaci!n y colocarlo en el borrador de luz ultravioleta por apro$imadamente media #ora . En la segunda generaci!n de dispositivos de memoria que utilizaban transistores con compuertas flotante se logr! eliminar la carga el ctricamente" con lo que dic#os dispositivos se volvieron ms verstiles. .os dispositivos de esta generaci!n se conocieron como memorias de solo lectura programables y borrables el ctricamente %EE3?91'. Como cada byte de la memoria poda ser borrado de forma independiente" requeran de muc#os circuitos au$iliares para permitir este tipo de borrado" lo que aumentaba su costo. 3ara la tercera generaci!n" se busc! reducir el costo de los dispositivos reduciendo la cantidades circuitos au$iliares necesarios para el borrado. Esto se logr! permitiendo /nicamente el borrado de bloques de memoria de tama0o relativamente grande. Bambi n se busc! almacenar ms de un bit por celda de memoria controlando la cantidad de carga almacenada en cada celda" de manera que con oc#o voltajes discretos se pueden representar las oc#o combinaciones correspondientes a tres bits. .os dispositivos de esta generaci!n son conocidos como memorias (.A&5.
1.2.3 Dispositivos de I/O. 1.2.3.1 Arquitecturas. 1.2.3.2 "ipos. 1.2.3.3 Caracter#sticas. 1.2.3.$ %uncionamiento.