Download resumen - Departamento de Arquitectura y Tecnología de

Document related concepts
no text concepts found
Transcript
5(680(1
%1/210'06'5&'70%1/276#&14
Como la inmensa mayoría de los libros sobre computadores, comenzaremos este tema considerando que
un computador básicamente consta de tres unidades fundamentales: CPU (&HQWUDO 3URFHVVLQJ 8QLW, o
simplemente SURFHVDGRU), Memoria y Estrada/Salida (E/S). Hablaremos brevemente de ellos a continuación.
Algunos autores incluyen un cuarto elemento que sería el sistema o estructura de interconexión que permite la
comunicación entre todos estos elementos, el mecanismo habitual de interconexión entre las tres unidades
mencionadas es el EXV. El objetivo de este capítulo es explicar por una parte la HVWUXFWXUD (la forma en que se
interrelacionan los componentes) y por otra la IXQFLyQ (la operación de cada componente individual como parte
de la estructura).
La CPU es el único elemento DFWLYR, en el sentido de que recibe una serie de datos y a partir de ellos
genera unos datos diferentes. A pesar de la complejidad de los computadores actuales, y de la enorme variedad
de aplicaciones, la CPU de un computador básico sólo es capaz de realizar operaciones relativamente sencillas
sobre los datos de entrada, como operaciones aritméticas (suma) o lógicas (AND, OR, etc.), transferencia de
datos, etc. Este conjunto de operaciones básicas o LQVWUXFFLRQHV es limitado y forma lo que se denomina el MXHJR
GH LQVWUXFFLRQHV. Por ejemplo, una CPU probablemente podrá realizar la suma de 2 números, pero quizá no
pueda multiplicarlos con una única instrucción. En ese caso, deberá proporcionarse una secuencia de
instrucciones o SURJUDPD que implemente un algoritmo de multiplicación. La CPU realiza o HMHFXWD estas
instrucciones una tras otra.
La MEMORIA, a diferencia de la CPU, es un elemento SDVLYR, en el sentido de que sólo sirve para
almacenar datos sin alterarlos. Por ejemplo, si quiero sumar D+E los valores de D y de E deben estar almacenados
en algún sitio, así como el resultado de la operación (a,b y el resultado de la suma se denominan datos). Lo que
quizá no resulte tan intuitivo es que la propia operación de suma debe estar almacenada en memoria. Es decir, la
secuencia de instrucciones comentada anteriormente debe estar almacenada en memoria, de donde la CPU las irá
tomando de una en una, esta secuencia de instrucciones es el código.
Finalmente, el subsistema de ENTRADA/SALIDA (E/S) se encarga de comunicar el computador
(sistema digital) con el mundo exterior (sistema analógico). La conexión con el mundo exterior no se puede
realizar directamente con el procesador, es necesario adaptar unas señales en otras y controlar su
funcionamiento, estas funciones la realiza los módulos de E/S, desde el punto de vista interno el procesador ve a
los módulos de entrada salida de forma similar a como lo hace con la memoria, es decir puede escribir datos en
los módulos de E/S u obtener datos de estos, sin embargo el procesador nunca buscará directamente del
subsistema de E/S el código a ejecutar, en ocasiones esta es la diferencia fundamental que determina si un
elemento en cuestión pertenece al subsistema de memoria o al de E/S. El código en principio puede estar
almacenado en el disco duro (periférico) pero antes de poderse ejecutar debe transferirse a la memoria principal
y es de ella de donde se lee para su ejecución.
Hemos comentado que el funcionamiento del computador se basa en la ejecución operaciones básicas o
instrucciones por parte del procesador, y que la secuencia de instrucciones a ejecutar, el programa, está
almacenado en memoria. Estas ideas de SURJUDPDDOPDFHQDGR y HMHFXFLyQVHFXHQFLDOforman la base de lo que
se denomina máquina o modelo Von Neumann, en honor a uno de los científicos que ya en 1945 establecieron
las bases de cómo debe fabricarse un computador. Sorprendentemente, estos principios siguen siendo
esencialmente válidos en la actualidad. Una explicación del enorme éxito de los computadores, y de este modelo
en particular, radica en que son máquinas de propósito general. Tengamos en cuenta que un computador no es
más que un conjunto complejo de circuitos lógicos capaz de realizar operaciones sobre datos. En principio,
podría plantearse el diseño de un circuito específico que realizara las operaciones necesarias en cada aplicación.
Dicho de una forma intuitiva, crear un sistema hardware de propósito específico para cada aplicación. La
alternativa del modelo Von Neumann es crear un hardware de propósito general, como el que hemos descrito. El
procesador sería capaz de ejecutar un conjunto de instrucciones, y variando el programa o secuencia de
instrucciones a realizar (el software) el sistema podría usarse para un amplio rango de problemas, amortizando
los recursos hardware. Dicho de otra forma, la especialización funcional no ocurre en el momento del diseño,
sino en el de programación.
Parece pues que el papel de la memoria es importante a pesar de su carácter “pasivo”, pues no sólo debe
almacenar los datos tanto de entrada como de salida, sino que debe almacenar el software, el programa o
secuencia de instrucciones que convertirá un sistema de propósito general en algo útil para una aplicación
concreta. Como sabemos, la unidad básica de almacenamiento de información es el bit. Esto quiere decir que la
memoria estará formada por un conjunto de elementos capaces de almacenar un cero o un uno. Las operaciones
básicas que se realizarán sobre estos elementos son la lectura (UHDG) y la alteración o escritura (ZULWH) de su
contenido. La tecnología utilizada para este almacenamiento puede evolucionar, proporcionando mayor
velocidad, menor tamaño y/o consumo, etc. Pero independientemente de esta tecnología, la memoria tendrá una
estructura común a todos los computadores. Los bits se agrupan en unidades que forman el DQFKRde la memoria.
Lo habitual actualmente es que este ancho sea de 8 bits (1 byte), de manera que la CPU ve la memoria como un
conjunto de M posiciones cada una de tamaño 1 byte (8 bits). Esta visión es lineal, es decir, todas las posiciones
son idénticas entre sí salvo por su contenido, y la CPU accede a ellas (y las distingue) usando su GLUHFFLyQ. Dado
que nuestro sistema es binario, el número de bits de la dirección debe ser m=log2M, o lo que es lo mismo, M=2m.
Por ejemplo una memoria de 8 posiciones requiere direcciones de log28=3 bits (23=8): 000, 001, ..., 111. Una
memoria de 64 Kilobytes requiere 16 bits pues 216=65536. El tamaño de las direcciones es un parámetro
importantísimo en una CPU, pues da idea de la FDSDFLGDG GH GLUHFFLRQDPLHQWR, el número máximo de
posiciones de memoria con los que puede trabajar. Por ejemplo, un procesador de 32 bits es capaz de direccionar
un máximo de 232=4 Gigabytes (4096 Megabytes). Un buen símil serían las matrículas de los coches. El número
de dígitos usado limita el número de coches que pueden “distinguirse”. Si se necesita aumentar el número de
coches, no hay más remedio que cambiar la propia estructura de las matrículas, como recientemente ha ocurrido
en nuestro país. De igual forma, un procesador cuya capacidad de direccionamiento no sea ya suficiente queda
rápidamente obsoleto.
Al asignar a cada dispositivo que compone el subsistema de memoria y el de E/S una dirección para
acceder al mismo estamos realizando una especie de guía o “callejero” de donde buscar cada elemento. A esta
guía se le denomina mapa de memoria (o mapa de E/S), en dichos mapas deben estar ubicados todos los
dispositivos, de forma que dos dispositivos diferentes no pueden coincidir con la misma dirección (misma
posición en el mapa). En la terminología MSWindows cada posición del mapa de memoria o de E/S es un
recurso del sistema que puede o no estar ocupado por un elemento (memoria o periférico).
La construcción física de un computador se realiza basándose en circuitos integrados. Así, por ejemplo,
encontramos que en la actualidad es habitual que el procesador, junto a otros elementos o unidades, se encuentre
integrado en un solo microchip, a este dispositivo se le denomina microprocesador. Al final encontramos que los
componentes (cpu, memoria y E/S) son en realidad chips que se conectan unos con otros mediante buses. Un
aspecto importante es que la conexión de estos dispositivos no se realiza de forma directa, es casi siempre
necesaria cierta lógica que conecte un dispositivo con otro, se le suele denominar lógica de pegado y en ella se
encuentra incluida por ejemplo la decodificación de direcciones, que permite seleccionar un chip u otro para que
este responda a requerimientos de la CPU.
/'%#0+5/1&'+06'4%10':+10$75
%QPEGRVQUD¶UKEQU
Un bus es un camino de comunicación entre dos o más dispositivos. La principal característica de este
tipo de conexión es que a él se puede conectar varios dispositivos al mismo tiempo, siendo por tanto un medio de
transmisión compartido, bien entendido que este hecho implica que sólo uno de los dispositivos puede transmitir
al tiempo, ya que si dos o más dispositivos realizasen dicha operación las señales se solaparían no produciendo el
resultado deseado. Los buses son mecanismos de conexión de uso generalizado en la electrónica digital, no sólo
sirve para conectar los tres componentes del computador (Memoria, CPU y E/S), sino que se utiliza dentro del
propio chip para conectar los elementos que lo componen, también se puede utilizar para conectar un
computador con los periféricos o a nivel de comunicaciones para conectar varios computadores entre si. Una
primera clasificación de los buses suele ser: bus serie o bus paralelo, dependiendo de si la información (datos)
aparece distribuida en el tiempo sobre una misma línea o aparece en cada ciclo de una vez sobre varias líneas
(paralelo), éste último es la forma de conexión más común y a la que nos vamos a dedicar en este apartado.
Los buses en los computadores básicamente realizan los siguientes tipo de transferencias:

Transferencia de información de memoria al procesador, el procesador lee los datos y el código
mediante este tipo de transferencia.

Transferencia del procesador a memoria: el procesador escribe un dato en memoria. Obsérvese
que el código en principio sólo se lee, pero antes de ejecutar el código en memoria debe
escribirse éste en la misma, y para ello el procesador lo transfiere desde los periféricos que lo
almacenan (disco, cdrom ...) hasta la memoria principal como si de un dato se tratara.

Transferencia de E/S a procesador, el procesador lee un dato de un dispositivo de
entrada/salida.

Transferencia de procesador a E/S, el procesador envía datos a un dispositivo de E/S

Transferencia de memoria a E/S, se transfiere directamente datos desde la memoria a E/S sin
pasar por el procesador, para que este tipo de transferencia se puedan llevar a cabo el sistema
debe disponer de mecanismo de control adecuado, este tipo de transferencia se denominan
Acceso Directo a Memoria (DMA).

Transferencia de E/S a memoria, iguales que las anteriores pero en sentido contrario.
Los buses están compuestos por líneas eléctricas (hilos), éstas dependiendo de su estado representa un “1”
o un “0”. Las líneas (hilos) se pueden agrupar atendiendo a su función, a su vez estas agrupaciones suelen
denominarse también bus (no sub-bus), podemos encontrar tres tipos de líneas:

Líneas de datos (o bus de datos): Proporcionan el camino para transferir los datos entre los
diferentes componentes del sistema, los buses de los procesadores suelen tener una anchura de
8, 16, 32, o 64 líneas, es evidente que mientras mayor sea el número de líneas de datos mayor
será la capacidad de transmitir información por unidad de tiempo. Si un procesador opera con
datos e instrucciones de 16 bits de ancho y el bus de datos fuese de 8 bits, el sistema tendría
que acceder dos veces para completar un dato o una instrucción. De igual forma si un
procesador opera con datos e instrucciones de 32 bits y el bus de datos es de 64, podría obtener
dos datos en una sola operación de acceso. Las líneas de datos dependen del tipo de ciclo
pueden ser entradas al procesador (ciclos de lectura) o salida del procesador (cilcos de
escritura.

Líneas de dirección (o bus de direcciones): Se utilizan para designar la fuente o el destino de
los datos. El número de líneas que componen el procesador determinan su capacidad de
direccionamiento. Es normal que un procesador tenga 16, 24 o 32 líneas de direcciones. Estas
líneas son casi siempre salidas del procesador.

Líneas de control (o bus de control): Sirven para controlar el acceso y el uso de las líneas de
datos y direcciones. Las líneas de control pueden realizar dos tipos de funciones: temporización
o comando, en el primer caso se encargan de indicar la validez de los datos y direcciones,
mientras que en el segundo caso determinan que tipo de operaciones debe realizarse. Algunas
líneas de control típica que podemos encontrar en los computadores son:
-
-
-
Inicio de ciclo o transferencia ADS ó MSYN (salida del procesador), indica cuando hay una
nueva dirección en el bus y por tanto se inicia una nueva transferencia (ciclo de bus).
Escritura en memoria MEMW (salida del procesador), su función siempre es la de comando
y en algunos sistemas también realizan funciones de temporización, cuando se activa esta
línea se indica que la transferencia va a ser del procesador a memoria (escritura)
Lectura de memoria MEMR (salida del procesador), cabe hacer consideraciones similares a
la del párrafo anterior. Hace que el dato de la dirección apuntada aparezca en el bus para
que lo capture el procesador
Lectura E/S IOR (salida del procesador), igual que MEMR pero en este caso indican que la
lectura se realiza de los dispositivos de E/S
Escritura E/S IOW (salida del procesador), igual que MEMW peor la escritura se realiza en
un dispositivo de E/S
-
-
-
-
Petición de interrupción INTR (entrada al procesador), con esta línea un dispositivo externo
puede interrumpir la ejecución del código para que se salte a ejecutar otro trozo de código,
el cual presta servicio al dispositivo demandante de la interrupción.
Petición de bus BR (entrada al procesador), generalmente es el procesador quien controla el
bus y determina que tipo de acceso se realiza, pero en ocasiones puede ceder este
“privilegio” si otro dispositivo le pide hacerse dueño del bus, esta línea es la que debe
utilizar el dispositivo que pretende hacerse dueño del bus
Concesión de bus BG (salida al procesador), cuando un dispositivo solicita hacerse dueño
del bus debe esperar a que se le conceda, el procesador indica que ha dejado de ser dueño
mediante esta línea, con lo que debe ser examinada por el dispositivo demandante para
reconocer cuando puede tomar el control del bus.
Reloj (CLK): se utiliza para sincronizar las operaciones
Transferencia reconocida ACK ó READY ó SSYN (entrada al procesador), suele indicar
que el dato ha sido aceptado o que ya se ha colocado en el bus para que pueda ser capturado
por el procesador.
%NCUKHKECEKÎPFGNQUDWUGU
Las líneas que componen los buses pueden ser dedicadas o multiplexadas, dedicadas son aquellas que
siempre realizan la misma misión y multiplexadas son las que dependiendo del tiempo realizan una u otra
misión, así por ejemplo una línea de direcciones/datos multiplexada implica que en ella en cierto momento se
presenta la dirección y en otro instante el dato, si se contásemos con dos líneas dedicadas se podría presentar al
mismo tiempo dirección y dato. La utilización de líneas multiplexadas disminuye el número total de estas en el
bus, facilitando la fabricación mecánica de los componentes, pero por otra parte complica el sistema electrónico
haciendo además que el bus sea más lento (a igual tecnología). No hay que confundir el término “transmisión
serie” con el de línea multiplexada, en el primer caso no cambia la funcionalidad de la línea lo que ocurre es que
por la misma se transmite diferentes bits de un mismo dato, en el segundo caso la línea sirve para representar una
cosa u otra dependiendo del instante de tiempo
Los buses son sistemas compartidos en el que sólo un elemento puede transmitir datos, para evitar que
más de un elemento transmita datos a la vez se suele contar con un sistema de arbitraje, cuando el elemento que
arbitra es uno sólo se le denomina arbitraje centralizado, cuando hay varios elementos que entre sí se ponen de
acuerdo para acceder al bus se le denomina arbitraje distribuido. Prácticamente todos los buses de sistemas en
los computadores personales son de arbitraje centralizado siendo el procesador (CPU) el que determina que
elemento debe transmitir datos, en realidad el procesador es el dueño (master) del bus del sistema, ya que es él
quien domina las líneas de control y direcciones, pero en ocasiones la cpu puede ceder el control de estas líneas a
otros elementos externos (véase acceso directo a memoria).
Un aspecto importante de los buses es su temporización o características temporales, estas indican como
transcurren los diferentes eventos que tienen como resultado que la transmisión de información se lleve a cabo
de forma correcta. Se suele denominar ciclo de bus al conjunto de eventos que dan lugar a que una transmisión
se lleve a cabo. Los dos tipos de ciclo de bus básicos son los de lectura y escritura, con la lectura el master
(CPU) obtiene un dato de otro componente (memoria o E/S), con la escritura es el master (CPU) el que transfiere
un dato a otro componente (memoria o E/S). Los ciclos de bus pueden transcurrir de dos formas diferentes:
gobernados por como evolucionan ciertas líneas de control denominadas de protocolo, de forma que son estas las
que determinan el principio y el final del ciclo de bus, o gobernados por un reloj de forma que el final de la
transferencia lo determina un número fijo, en principio, de ciclos de reloj; es decir si un ciclo de lectura dura tres
ciclos de reloj esto implica que al final del tercer ciclo el procesador toma del bus de datos la información que
allí se encuentre, esto supone que el dispositivo del cual lee debe antes haber colocado dicha información de
forma correcta. Los buses que utilizan el primer mecanismo se denominan buses asíncronos y los que utilizan el
segundo mecanismo se denomina buses síncronos. Los cronogramas son representaciones temporales de como
evolucionan las señales en un bus, suelen representar un ciclo de lectura o un ciclo de escritura, en la figura
siguiente se representa un ciclo de lectura síncrono y otro asíncrono. La principal ventaja de los buses asíncronos
es su mejor adaptación o flexibilidad a diferentes velocidades de transferencia, ya que esto se realiza de forma
automática mediante las líneas de protocolo sin necesidad de lógica adicional. Sin embargo la gran mayoría de
los sistemas se decantan por buses síncronos, estos son más fácil de implementar y a igualdad de tecnología y
por no tener protocolo son más rápidos que los asíncronos, a este tipo de buses nos vamos a referir generalmente.
El problema de la adaptación de velocidad con los buses síncronos se resuelve mediante la generación de
estados de espera. Supongamos, por ejemplo, que un bus síncrono de un procesador realiza un ciclo de lectura de
memoria en tres ciclos de reloj, la secuencia podría ser la siguiente: Coloca en el bus de direcciones el valor de la
dirección de memoria que pretende leer, en el bus de control coloca las correspondientes líneas de control que
indican que se va a realizar una lectura de memoria, el procesador al final del tercer ciclo espera que la memoria
haya colocado ya el dato, siendo entonces este capturado por la cpu. El tiempo desde que el procesador coloca la
dirección hasta que el dato es capturado es el tiempo de acceso del procesador, el tiempo desde que se coloca la
dirección en la memoria hasta que esta coloca su contenido (dato) es el tiempo de acceso de la memoria,
evidentemente el tiempo de acceso de la memoria debe ser menor que el tiempo de acceso del procesador para
que este pueda leer el dato correctamente, es decir la memoria cuando se le pide un dato debe colocarlo más
rápidamente que el procesador pretende leerlo, podemos decir que la memoria debe ser más rápida que el
procesador para que la transferencia se lleve a cabo de forma correcta. ¿Que ocurre si la memoria deposita el
dato más tarde de lo debido?, pues simplemente que el procesador habrá leído “basura” provocando un mal
funcionamiento. Para solventar este problema los buses síncronos cuenta con un mecanismo que permite alarga
el ciclo de bus por defecto, este mecanismo es el de generación de estados de espera, si una memoria lenta pone
el dato después del tercer ciclo de reloj, basta con hacer que el ciclo de bus dure cuatro ciclos de reloj en lugar de
tres, y que el procesador recoja el dato al final del cuarto ciclo, evidentemente esto implica una pérdida de
prestaciones, ya que el procesador debe adaptar su velocidad a la de la memoria. Los procesadores utilizan la
línea READY para controlar la generación de los estados de espera. Un aspecto importante es que la espera
siempre supone un número entero de ciclos de reloj, no podemos alargar el ciclo de bus de 3 ciclos de reloj a 3.5
ciclos de reloj.
Las características eléctricas del bus es otro parámetro importante a considerar, podemos encontrar buses
que funcionan a 5 V, 3.3V, 1.8V etc, siendo estas tensiones la que marcan junto a cero voltios los niveles lógicos
en las líneas (cero o uno).
En resumen los buses se pueden clasificar dependiendo del parámetro a que atendamos en: Buses
multiplexados o no multiplexados. Buses con arbitración centralizada, arbitración distribuida o con un sólo
master. Buses síncronos o asíncronos
Un sistema será compatible con otro cuando, al menos, sus buses sean iguales, es decir deben coincidir
todas sus características: número y tipos de líneas, cronogramas, niveles lógicos, etc. Cuando dos buses son
diferentes es necesario interponer algún tipo de mecanismo que permita transferir datos de los sistemas que están
conectados a un bus a los que se encuentran conectado a otro. Dichos mecanismos pueden ser más o menos
complejos, pudiéndose tratarse sólo de una transformación de niveles de tensión (características eléctricas) o de a
una adaptación total entre un tipo y otro de bus, a los elementos que realizan esta tarea se les denominan puentes.
Los ordenadores actuales, al tener una jerarquía de buses, con diferentes características temporales y números de
líneas, unen un bus con otro mediante puentes, convirtiéndose éstos en elementos fundamentales en la
construcción de los computadores.
Un último aspecto a tener en cuenta es que los buses pueden servir como mecanismo por el que se puede
añadir o sustituir componentes dentro del computador por parte del usuario, en este caso el diseño del bus no
sólo contempla los parámetros anteriormente expuestos, sino que además es necesario realizar unas
especificaciones mecánicas del mismo, de forma que los elementos que se construyan para ser insertados en el
bus puedan serlo de forma fácil por parte de los usuarios.
Tradicionalmente al mecanismo de interconexión entre los tres componentes del computador se le suele
llamar bus del sistema (system bus), en la actualidad la unión de los diferentes elementos no se realiza con un
único bus, sino que se utiliza un conjunto de buses con características diferentes de forma que cada uno se adapta
al tipo de componente que pretende conectar, esto representa en la realidad que los computadores poseen en su
interior una estructura de buses jerarquizada, encontrándose en el nivel más alto los buses más veloces (conectan
cpu y memoria) y en el nivel inferior los buses más lentos que conectan los periféricos con el resto del sistema.
Está estructura jerarquizada de buses minimiza el impacto de los dispositivos lentos sobre los más rápidos y en
numerosas ocasiones permite mantener la compatibilidad de las máquinas actuales con los periféricos de las
generaciones anteriores de computadores.
En esta figura se muestra la jerarquía de buses que se puede encontrar en un computador personal
cualquiera en la actualidad, en la figura ¿?? se muestra un esquema específico para un PC basado en el chipset
BX. Se puede observar que la denominación de bus del sistema se reserva a la conexión entre el sistema de CPU
y la memoria principal, a este se le suele denominar también bus de memoria, en los computadores actuales suele
estar accesible con objeto de poder aumentar la capacidad de la memoria principal añadiendo nuevos módulos.
El término bus de expansión hace referencia a un tipo de bus accesible por el usuario en el que se puede añadir
nuevos elementos al computador, generalmente estos elementos suelen ser dispositivos de entrada/salida, los
computadores personales suelen tener diferentes buses de expansión, en la figura se hace referencia a un bus de
alta velocidad (también es un bus de expansión) y a otro para dispositivos de baja velocidad. El bus local son las
líneas del propio procesador (“host bus”). Si se compara esta figura con el esquema de un computador personal
basado en chipset BX se puede observar los diferentes buses de expansión: el “bus de alta velocidad” es el PCI,
el “bus de expansión” es el ISA, además actualmente existe un tercer bus específico para dispositivos veloces
(vídeo), el AGP.
%CTCEVGTÈUVKECUCXCP\CFCUFGNQUDWUGU
Los buses de los procesadores actuales tienen una serie de características que permiten aumentar su ancho
de banda (cantidad de información capaz de transmitir por unidad de tiempo) o la utilización de memorias
relativamente lentas sin disminuir la velocidad del bus (sin generar estados de espera). Dos de estas
características son los accesos en modo ráfaga (burst) y los buses con direcciones anticipadas (pipeline). Un
acceso de lectura en modo ráfaga opera de la siguiente forma: el procesador coloca la dirección del primer dato
que pretende leer y las líneas de control que indican el tipo de acceso que va a realizar, el dispositivo
seleccionado coloca el primer dato solicitado y sin necesidad de colocar un nuevo valor en el bus de direcciones
coloca los datos siguientes al primero de forma consecutiva y con un menor tiempo de acceso, el procesador por
tanto direcciona un dato pero accede a varios de forma consecutiva en un menor tiempo que si accediese a cada
dato de forma individual, el ciclo de bus no acaba hasta que no finaliza la ráfaga de datos. Los accesos en modo
ráfaga suele transmitir 4, 8, 16 ó más datos en un sólo ciclo de bus tipo ráfaga, la duración de una ráfaga se suele
representar con cifras, por ejemplo, 3-1-1-1 representa la duración de una ráfaga en la que se transmite cuatro
palabras, la primera palabra tarda tres ciclos de reloj y la segunda, tercera y cuarta tardan un sólo ciclo de reloj.
En una memoria es fácil entender que el tiempo de acceso del primer dato es mayor debido a que el sistema debe
buscar que celda es la que ha direccionado el procesador (decodificación interna de la dirección), sin embargo
una vez localizada la primera celda los siguientes datos están uno tras otro sin necesidad de realizar busqueda o
decodificación.
Los buses con direcciones anticipadas operan colocando la dirección de un ciclo de bus antes de que éste
haya comenzado, es decir cuando estamos leyendo un dato en el ciclo de bus actual el bus de direcciones ya está
apuntando al siguiente, con la circuitería adecuada y utilizando varios bancos de memoria entrelazada se puede
empezar a buscar el dato del siguiente ciclo antes de que se haya leído el dato del ciclo actual, aumentando de
esta forma el tiempo de acceso del procesador sin disminuir su ancho de banda, esto implica que podrá trabajar
con memorias más lentas sin perder prestaciones por la generación de estados de espera. Los procesadores
actuales mezclan en sus buses ambos principios de funcionamiento, denominándose a los sistemas de memoria
que los utiliza burst-pipeline.
'.57$5+56'/#&'/'/14+#
%QPEGRVQUD¶UKEQU
Las memorias de los computadores, aunque parezcan conceptualmente sencillas, presentan tal vez la más
amplia diversidad de tipos, tecnología, estructura, prestaciones y coste, de entre todos los componentes de un
computador. Ninguna tecnología es óptima para satisfacer las necesidades de memoria de un computador. En
consecuencia, un computador convencional está equipado con una jerarquía de subsistemas de memoria, algunos
internos (directamente accesibles por el procesador), y otros externos (accesibles por el procesador mediante
módulos de entrada/salida). Este tema se centra en el estudio de la memoria interna.
El complejo tema de las memorias es más abordable si clasificamos los sistemas de memoria según sus
características clave. Las más importantes se listan a continuación:

Ubicación: CPU, Interna (principal), Externa (secundaria)

Capacidad: Tamaño de la palabra, Número de palabras

Unidad de transferencia: Palabra, Bloque

Prestaciones : Tiempo/velocidad de acceso, Tiempo de ciclo

Dispositivo físico: Semiconductor, Soporte magnético, Soporte óptico

Característica físicas: VoIátiI/No volátil, Borrable/No borrable

Coste por Mbit/Mbyte
Comenzaremos con el aspecto más visible de la memoria: su XELFDFLyQ. La CPU requiere su propia
memoria local en forma de registros. El acceso a estos registros no requiere un acceso externo a la CPU. La
interna se identifica a menudo con la memoria principal. La memoria externa consta de dispositivos de
almacenamiento periféricos, tales como discos y cintas, que son accesibles por la CPU a través de controladores
de E/S.
Una característica obvia de las memorias es su FDSDFLGDG Para memorias internas se expresa
normalmente en términos de bytes o de palabras. Longitudes de palabra comunes son 8, 16, 32 y 64 bits. La
capacidad de las memorias externas se suele expresar en bytes.
Un concepto relacionado es la XQLGDG GH WUDQVIHUHQFLD Para memorias internas, la unidad de
transferencia es igual al número de líneas de entrada/salida de datos del módulo de memoria. A menudo es igual
a la longitud de palabra, pero puede no serlo. Para aclararlo consideremos tres conceptos relacionados con la
memoria interna:
3DODEUDEs la unidad "natural" de organización de la memoria. El tamaño de la palabra suele coincidir
con el número de bits utilizados para representar números y con la longitud de las instrucciones. Por desgracia
hay muchas excepciones. Los procesadores de la familia 80x86 tienen una gran variedad de longitudes de
instrucción, expresadas como múltiplos de bytes, y de formato de datos. Aunque el juego de instrucciones y tipos
de datos apenas cambia en los procesadores de la familia, la longitud de palabra puede ser de 16 bits (80286), 32
(80386 y 80486) o 64 bits (Pentium).
8QLGDGHV GLUHFFLRQDEOHV En muchos sistemas la unidad direccionable es la palabra. Sin embargo
algunos de ellos permiten direccionar a nivel de bytes. En cualquier caso, la relación entre la longitud $de una
dirección y el numero 1de unidades direccionables, es 2A=N.
8QLGDG GH WUDQVIHUHQFLD Para la memoria principal es el número de bits que se leen o escriben en
memoria a la vez. La unidad de transferencia no tiene por que coincidir con una palabra o con una unidad
direccionable. Para la memoria externa, los datos se transfieren normalmente en unidades más grandes que la
palabra, denominadas bloques, por ejemplo en un disco de un PC la unidad mínima de transferencia es el sector,
compuesto en este caso por 512 bytes.
Desde el punto de vista del usuario, las dos características más importantes de una memoria son su
capacidad y sus SUHVWDFLRQHVSe utilizan tres parámetros de medida de prestaciones:
7LHPSRGHDFFHVRPara memorias de acceso aleatorio es el tiempo que tarda en realizarse una operación
de escritura o de lectura, es decir, el tiempo que transcurre desde el instante en el que se presenta una dirección a
1a memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso. Para memorias externas, el
tiempo de acceso es el que se tarda en situar el mecanismo de lectura/escritura en la posición deseada.
7LHPSRGHFLFORGHPHPRULDEste concepto se aplica primordialmente a las memorias de acceso aleatorio
y consiste en el tiempo de acceso y algún tiempo más que se requiere antes de que pueda iniciarse un segundo
acceso a memoria. Este tiempo adicional puede que sea necesario para que finalicen las transiciones en las líneas
de señal o para regenerar los datos en el caso de lecturas destructivas.
Se han empleado muy diversos GLVSRVLWLYRVItVLFRVde memoria. Los dos más comunes en la actualidad
son las memorias semiconductoras, que utilizan tecnologías LSI o VLSI, y las memorias de soporte magnético,
utilizadas en discos y cintas. Otro soporte cada vez más utilizado para el almacenamiento masivo es el soporte
óptico, usado en CDROM DV y discos magneto-ópticos. LA MEMORIA LA VAMOS A LIMITAR A LA
MEMORIA “REAL” ASOCIADA AL MICROPROCESADOR, Y NO A LOS DISPOSITIVOS
(PERIFÉRICOS ) DE ALMACENAMIENTO MASIVO.
Del almacenamiento de datos son importantes varias FDUDFWHUtVWLFDV ItVLFDV En memorias volátiles la
información se va perdiendo o desaparece cuando se desconecta la alimentación. En las memorias no-volátiles la
información, una vez grabada, permanece sin deteriorarse hasta que se modifique intencionadamente; no se
necesita la fuente de alimentación para retener la información. Las memorias de superficie magnética son novolátiles. Las memorias no-borrables no pueden modificarse, salvo que se destruya la unidad de
almacenamiento. Las memorias semiconductoras de este tipo se conocen por el nombre de PHPRULDV GH VyOR
OHFWXUD(ROM).
El coste es un elemento primordial desde el punto de vista del usuario, y suele calcular dividiendo el coste
total del sistema de memoria dividido por su capacidad en Mbytes o en Mbits.
,GTCTSWÈCFGOGOQTKC
Las restricciones de diseño de la memoria de un computador se pueden resumir en tres cuestiones:
tamaño, velocidad y coste. La cuestión del tamaño es un tema siempre abierto. Si se consigue hasta una cierta
capacidad, probablemente se desarrollarán aplicaciones que la utilicen. La cuestión de la velocidad deseada en el
sistema de memoria es, en cierto sentido, fácil de responder. Para conseguir las prestaciones óptimas, la memoria
debe seguir a la CPU. Es decir, cuando la CPU ejecuta instrucciones, no es deseable que tenga que detenerse a la
espera de instrucciones u operandos (generar estados de espera). En un sistema práctico, el coste de la memoria
debe ser razonable con relación a los otros componentes. No existe ninguna tecnología que sea óptima en estos
tres aspectos. De hecho, en todo el espectro de posibles tecnologías para implementar un sistema de memoria se
cumple que:

A menor tiempo de acceso, mayor coste por bit

A mayor capacidad, menor coste por bit.

A mayor capacidad, mayor tiempo de acceso.
El dilema con que se enfrenta el diseñador está claro. Se desea utilizar tecnologías de memoria que
proporcionen gran capacidad, tanto porque ésta es necesaria como porque el coste por bit es bajo. Sin embargo,
para satisfacer las prestaciones requeridas, el diseñador necesita utilizar memorias caras, de capacidad
relativamente baja, y con tiempos de acceso pequeños. La respuesta a este dilema es no contar con un solo
componente de memoria, sino emplear varios sistemas de memoria organizados en lo que se llama una jerarquía
de memoria.
)LJ
Jerarquía de memoria típica.
Una jerarquía de memoria es una organización de sistemas de memoria, cada uno con distintas
prestaciones y capacidad, de forma que el sistema de memoria total tenga unas prestaciones aproximadas al
subsistema más rápido, y pueda almacenar tanto datos como el subsistema con mayor capacidad.
Cuando se desciende en la jerarquía ocurre que:

Disminuye el coste por bit.

Aumenta la capacidad.

Aumenta el tiempo de acceso.

Disminuye la frecuencia de accesos a la memoria por parte de la CPU.
Así pues, memorias más pequeñas, más caras, y más rápidas, se complementan con otras más grandes,
más baratas, y más lentas. La clave del éxito de esta organización está en el punto d), la disminución de la
frecuencia de acceso. Si la memoria puede organizarse de acuerdo con los ítems (a) a (c) anteriores, y si los datos
e instrucciones pueden distribuirse a lo largo de esta memoria de acuerdo con (d), entonces, debiera claramente
intuirse que este esquema reducirá el coste total mientras que se mantiene un cierto nivel de prestaciones. Damos
un ejemplo sencillo para ilustrar este aspecto. Supongamos que la CPU tiene que acceder a dos niveles de la
memoria. El nivel 1 contiene 1000 palabras y tiene un tiempo de acceso de 1 µs. EI nivel 2 contiene 100.000
palabras y tiene un tiempo de acceso de 10 µs. Supongamos que si la palabra a la que se va a acceder está en el
nivel 1, la CPU accede a ella directamente. Si está en el nivel 2, entonces es primeramente transferida al nivel 1
y después accedida por la CPU. Para simplificar, ignoramos el tiempo requerido por la CPU para determinar si la
palabra está en un nivel u otro. La figura 2.2 muestra el tiempo de acceso total promedio en función del
porcentaje de veces que la palabra está ya en el nivel 1.
)LJ
Prestaciones de una memoria simple de dos niveles.
Como puede verse, para porcentajes altos de accesos sólo al nivel l, el tiempo de acceso total promedio es
mucho más próximo al del nivel 1 que al del nivel 2. Este ejemplo ilustra que, en principio, la estrategia
funciona. En la práctica funcionará si se aplican las condiciones (a) a (d). Las figuras 2.3 y 2.4 muestran
características típicas de sistemas de memoria alternativos actuales. La figura 2.3 muestra cómo, empleando
diversas tecnologías, existe un espectro de sistemas de memoria que satisfacen (b) y (c); y la figura 2.4 confirma
que se satisface la condición (a). Afortunadamente, la condición (d) es también generalmente válida. La base
para la validez de la condición (d) es el principio conocido como localidad de las referencias. En el curso de la
ejecución de un programa, las referencias a memoria por parte del procesador, tanto para instrucciones como
para datos, tienden a estar agrupadas. Los programas normalmente contienen un número de bucles iterativos y
subrutinas. Cada vez que se entra en un bucle o una subrutina, hay repetidas referencias a un pequeño conjunto
de instrucciones. De manera similar, las operaciones sobre tablas o matrices conllevan accesos a un conjunto de
datos agrupados. En períodos de tiempo largos, las agrupaciones en uso cambian, pero en períodos de tiempo
cortos, el procesador trabaja principalmente con grupos fijos de referencias a memoria.
De acuerdo con lo anterior, es posible organizar los datos a través de la jerarquía de tal manera que el
porcentaje de accesos a cada nivel siguiente más bajo, sea sustancialmente menor que al nivel anterior.
Considere el ejemplo de dos niveles ya presentado, y que la memoria del nivel 2 contiene todos los datos e
instrucciones del programa. Los grupos actuales pueden ubicarse temporalmente en el nivel 1. De vez en cuando,
uno de los grupos del nivel 1 tendrá que ser devuelto al nivel 2 a fin de que deje sitio para que entre un nuevo
grupo al nivel 1. En media, sin embargo, la mayoría de las referencias serán a instrucciones y datos contenidos
en el nivel 1.
Comparación de dispositivos de almacenamiento.
)LJ
Este principio puede aplicarse a través de más de dos niveles de memoria. Considere la jerarquía de la
figura 4.1a. El tipo de memoria mas rápida, pequeña y cara, lo constituye los registros internos al procesador. Un
procesador suele contener una docena de tales registros, aunque algunas máquinas contienen cientos de ellos.
Descendiendo dos niveles, la memoria principal, conocida también por memoria real, es el principal sistema de
memoria interna del computador. Cada posición de memoria principal tiene una única dirección, y la mayoría de
las instrucciones máquina referencian una o más direcciones de la memoria principal, la memoria principal es
normalmente ampliada con una FDFKH más pequeña y rápida. La cache no suele estar visible al programador ni,
realmente, al procesador. Es un dispositivo para escalonar los datos entre memoria principal y los registros del
procesador a fin de mejorar las prestaciones. Las tres formas de memoria que acabamos de describir son,
normalmente, volátiles y de tecnología semiconductora. El uso de tres niveles aprovecha la variedad existente de
tipos de memorias semiconductoras, que difieren en velocidad y coste. El almacenamiento de datos de forma
más permanente se hace en dispositivos de memoria masiva, de los cuales los más comunes son los discos y las
cintas magnéticas. Las memorias externas no volátiles o permanentes se denominan también memorias
secundarias o auxiliares. Se utilizan para almacenar programas y ficheros de datos, y suelen estar visibles al
programador sólo en términos de ficheros y registros, en lugar de bytes aislados o palabras. El disco se emplea
además para proporcionar una ampliación de la memoria principal conocida como almacenamiento o memoria
virtual. Otras formas de memoria secundaria incluyen los discos ópticos y los dispositivos de memoria de
burbujas. Finalmente, se pueden en efecto añadir más niveles a la jerarquía mediante software. Una parte de la
memoria principal puede utilizarse como buffer para guardar temporalmente datos que van a ser volcados en
disco. Esta técnica, denominada a PHQXGRFDFKHGHGLVFR, mejora las prestaciones de dos maneras:
Las escrituras en disco se hacen por grupos. En lugar de muchas transferencias cortas de datos, tenemos
unas cuantas transferencias largas. Esto mejora las prestaciones del disco y minimiza la participación del
procesador.
Algunos datos destinados a ser escritos como salidas pueden ser referenciados por un programa antes de
que sean volcados en disco. En ese caso, los datos se recuperan rápida- mente desde la cache software en lugar
de hacerlo lentamente de disco.
)LJ
Evolución del coste de las tecnologías de almacenamiento.
6GEPQNQIÈCFGOGOQTKCUGOKEQPFWEVQTC
En este punto vamos a ver los distintos tipos de memoriassemiconductoras que existen en el mercado y
las características que las definen.
Estrictamente hablando, el término memoria hace referencia a cualquier dispositivo de almacenamiento
de información. Dentro de esta categoría pueden entran memorias semiconductoras, discos (magnéticos,
ópticos), cintas, holográficas. Memorias semiconductoras son aquellas en las que la información se almacenan en
circuitos semiconductores. Son a las que comúnmente se les aplica el término memoria, mientras que las demás
se les denominan dispositivos de almacenamiento masivo.
En las memorias semiconductoras el acceso a la información implica exclusivamente operaciones
electrónicas con las señales de los chips donde se almacena la información. En los dispositivos de
almacenamiento masivo, el acceso a los datos implica además movimientos mecánicos en el medio donde se
almacenan (movimientos de cabezas lectoras, giros en discos,...). Las operaciones mecánicas son mucho más
lentas que las electrónicas, por tanto el tiempo de acceso a los datos también es mayor (del orden de
milisegundos, frente a los nanosegundos en la memoria semiconductora).
Los tipos de memoria semiconductora se clasifican tradicionalmente en función del sistema que utilizan
para guardar cada uno de los bits de datos. El circuito electrónico donde se guarda un bit se llama celda de
memoria. Podemos encontrar tres tipos de memorias semiconductoras: SRAM, DRAM y ROM.
5$0HVWiWLFD65$0
Las RAM estáticas son aquellas en las que la información se almacena en lo que se llama una celda
estática. Las tecnologías comúnmente utilizadas son: MOS (nmos,pmos), CMOS, Bipolar (TTL, ECL) y
BiCMOS. El circuito de las celdas y el tipo de transistores determinan las características principales de la RAM:
velocidad de acceso, densidad (capacidad), consumo. El transistor bipolar es más rápido que el NMOS/PMOS.
Las memorias bipolares son las de menor tiempo de acceso (hasta 3ns frente a 14 ns en las CMOS), consumen
mucho más y pueden ser de mayor capacidad (64 Kbit de capacidad máx. frente a 1 Mbit en CMOS).
5$0GLQiPLFD'5$0
En las memorias dinámicas o DRAM (Dynamic RAM) son aquellas que utilizan las llamadas celdas
dinámicas para almacenar los bits de información. Una celda dinámica contendrá un 0 o un 1 en función del
nivel de carga de un condensador interno. Comparando la celda dinámica con las estáticas se encuentran las
siguientes diferencias:
La celda dinámica tiene muchos menos transistores y conexiones, por lo que el espacio que ocupa
también es mucho menor. Los chips DRAM suelen tener una capacidad mucho mayor que los SRAM.
La escritura se hace cargando un condensador. La carga del condensador lleva un retraso inherente y que
no depende del estado actual de la tecnología con que se realice, sino del valor de su capacidad. La escritura en
una celda SRAM se hace conmutando transistores. Las operaciones de conmutación de transistores son más
rápidas que la carga de un condensador. Además, el tiempo de conmutación de un transistor mejora conforme
mejora la tecnología con que se fabrica. Una situación similar se da en las operaciones de lectura. Esto hace que
los chips SRAM puedan tener un tiempo de acceso menor que los DRAM.
Una característica importante de las memorias DRAM es que la carga almacenada en la celda tiende a
desaparecer con el tiempo debido, principalmente, a 2 causas: La operación de lectura es “destructiva”. Cuando
se conecta el condensador con la línea de bit, parte de la carga del condensador pasa a la línea de bit, por lo que
se produce una pérdida de carga que puede llegar al 10%. Por otra parte, existen fugas constantes de la carga
debidas a imperfecciones en el dieléctrico del condensador y en el transistor que lo aísla. Estas fugas hacen que,
en caso de que no se lea, la carga del condensador se puede perder en un tiempo del orden de milisegundos.
Para evitar la descarga de las celdas, se realiza un proceso llamado refresco, que consiste en leer y volver
a escribir cada bit de cada celda en todo el chip de memoria. Facilitar el proceso de refresco es un factor
importante en el diseño de la arquitectura interna de los chips DRAM.
Todas las celdas de un chip de memoria dinámica deben ser refrescadas periódicamente. En otro caso, los
condensadores que almacenan la información perderán su carga. El periodo de refresco varía en función de la
tecnología del chip pero suele ser del orden de pocos milisegundos. Los factores que influyen en el proceso de
refresco son el periodo de refresco y la organización interna de la matriz de memoria.
En la actualidad podemos encontrar cuatro tipos de DRAM: DRAM tradional o DRAM FPM, DRAM
EDO, DRAM síncronas o SDRAM y RDRAM. Las DRAM FPM y EDO son muy parecidas, ambas facilitan el
acceso en modo ráfaga, la EDO supone en realidad una mejora en la lectura sobre la FPM. Las SDRAM son
memorias dinámicas cuyas transferencias se realizan gobernadas de forma síncrona por un reloj, esto supone que
en cada ciclo de reloj se puede llegar transferir una palabra. Las DDR-SDRAM son variantes de las memorias
dinámicas síncronas en las que en cada ciclo de reloj puede llegarse a transferir hasta dos palabras. La última
tecnología en memorias dinámicas viene representada por las RDRAM, estas memorias utilizan un bus de alta
velocidad en las transferencias de datos (RAMBUS).
La memoria principal de los ordenadores personales suele estar compuesta por memorias dinámicas, para
facilitar su conexionado y posible expansión los fabricantes optaron por agrupar los chips sobre una placa de
circuito impreso dando lugar a módulos de memoria más o menos normalizados. Los módulos de memoria más
conocidos son: SIMM 32 contactos, SIMM72 contactos, DIMM 168 contactos. Por ejemplo, en la actulidad la
mayoría de los ordenadores personales utilizan módulos DIMM de 168 contactos de memoria SDRAM o DDRSDRAM.
0HPRULDVQRYROiWLOHV520
Las memorias no volátiles se agrupan bajo el nombre genérico de ROM (Read Only Memory: memorias
de solo lectura) pues el proceso de escrituras no existe o es mucho más complejo que la lectura. En las ROM la
información permanece en las celdas de memoria independientemente de que el chip esté alimentado o no.
Existen un tipo de memorias RAM a las que se les aplica el término “no volátil”, aunque están basadas en un
tipo de tecnología distinta. En las ROM, la información permanece debido a la propia estructura interna de la
celda, mientras que las RAM no volátiles son SRAM de bajo consumo que integran en el chip con un
condensador de gran capacidad (llamado supercap) o una pila de litio, por lo que en realidad las celdas de
memoria nunca dejan de tener alimentación. El tiempo de retención de datos es de unos 10 años y el coste por bit
de unas 4 veces mayor que en las ROM más caras.
Las memorias ROM se pueden clasificar en:
520 GH PiVFDUD. Son aquellas en las que los datos son programados en fábrica y el usuario no los
puede cambiar. El coste por chip es el más bajo de las ROM, aunque la cantidad mínima que se puede comprar
de una ROM de máscara es de unas 1.000 a 5.000 unidades (depende del fabricante), ya que para programar los
datos el fabricante tiene que cambiar parte del proceso de fabricación del chip. Una operación muy costosa que
solo es rentable si se producen cantidades importantes de circuitos. Se suelen usar en dispositivos de bajo coste y
producción masiva : pequeños electrodomésticos, juguetes, relojes, etc...
3520. (Programable ROM) Cada conexión se realiza con un fusible. El chip se fabrica con todos los
bits conectados (“en blanco”) y el usuario tiene la opción de cambiar los datos fundiendo los fusibles con un
programador de PROM. El programador es un ordenador de propósito especifico o un periférico donde se
insertan las PROMs o EPROMs que se quiere programar en zócalos especiales. El programador graba los datos
haciendo ciclos de escritura especiales (ciclos de programación) en todas las posiciones en las que se quiere
almacenar datos. Los ciclos de programación funden los fusibles de las celdas en las que se quiere almacenar un
0. Una PROM solo pueden programarse una vez. Si por cualquier causa hay que cambiar los datos que contiene,
se tiene que usar una en blanco.
(3520. (Erasable and Programable ROM). Son memorias que se programan igual que las PROM, pero
que disponen de un mecanismo de borrado, de forma que una vez borrada puede volverse a programar. El
mecanismo de borrado clásico se realiza mediante luz ultravioleta, las EPROM borrables mediante luz se
distinguen por disponer de una ventana de cristal/plástico en el encapsulado del chip, de forma que a la hora de
realizar el borrado pueda incidir la luz directamente sobre el chip.
((3520. Son un tipo especial de EPROM en el que el borrado se puede hacer eléctricamente,
aplicando una tensión de borrado a cada dato de la memoria. Se puede reprogramar el contenido de cada dato
individualmente, aunque, como en todas las EPROM, se debe borrar el dato previo antes de programar uno
nuevo.
)/$6+(3520. Son un tipo especial de EEPROM. En las EEPROM normales, se necesita aplicar una
intensidad relativamente elevada en los terminales de datos para realizar la programación y/o el borrado. Estas
características eléctricas son difíciles de conseguir en el bus local de un sistema digital típico, por lo que el
borrado de datos y la programación se hace “off-line” en un sistema, el programador de EPROM, distinto del
sistema donde se utiliza la EPROM finalmente. Las FLASH EPROMs tienen una circuitería interna que permite
el borrado y la programación con niveles de tensión e intensidad idénticos o muy parecidos a los que se
encuentran en un sistema digital típico. El único requerimiento que tenían las primeras FLASH EPROM era que
había que aplicar 12 voltios cuando se programaban o borraban. Actualmente muchas FLASH EPROM tienen
tensiones de borrado/programación de 5 voltios.
'.57$5+56'/#&''064#&#5#.+&#
%QPEGRVQUD¶UKEQU
El subsistema de E/S es la interfaz del computador con el exterior, para llevarla a cabo es preciso que de
alguna forma “el mundo exterior” pueda conectarse con el sistema computador, es evidente que el subsistema de
interconexión explicado en párrafos anteriores juega un papel primordial. En principio se podría pensar que al
igual que el subsistema de memoria se conecta al bus del sistema cada elemento que componga la E/S podría
conectarse a dicho bus, en cierta forma es así, pero encontramos ciertas dificultades por las que no es fácil dicha
conexión: En primer lugar los dispositivos de E/S (o periféricos) son muy diversos y su mecanismo de control
varía de forma notable entre si. En segundo lugar la velocidad de transferencia suele ser más lenta que la del
subsistema de memoria y en todo caso resulta muy variable, también el ancho de los datos de los diferentes
periféricos es bastante diverso. En definitiva es tan variado el número de periféricos y sus formas de control que
hace prácticamente imposible que haya un mecanismo de conexión único entre el bus del sistema y dichos
elementos. Para solventar este problema se recurre a ciertos elementos adaptadores que conectados entre el bus
del sistema y el periférico permite que el computador tenga acceso al mismo, dichos elementos son los módulos
de E/S. El diseño del módulo de E/S dependerá fundamentalmente del periférico que se pretenda conectar al
sistema computador. Ejemplos de módulos de E/S pueden ser: el puerto paralelo del PC, los puertos serie, el
USB, la conexión del teclado, la conexión del disco duro, etc. Cada uno de estos conectores se unen al bus del
sistema (u otro bus de la jerarquía de buses) mediante una circuitería específica dicho conjunto forma el módulo
de E/S.
Los periféricos podemos dividirlos en tres tipos: De interacción con humanos, permite la interacción con
le usuario del computador. De interacción con máquinas, permiten la comunicación entre los diferentes
elementos del equipo. De comunicación, permite la comunicación con dispositivos remotos relativamente
lejanos.
Internamente los módulos de E/S son muy variados, pero podemos encontrar que desde el punto de vista
del usuario en general cuentan con características comunes, así es normal que para su funcionamiento tengan una
serie de registros, lo más normales son:
Registro de datos, sirve para leer o escribir los datos en las transferencias con el periférico, por ejemplo,
en una impresora conectada al puerto paralelo en este registro se escribiría cada carácter que se pretenda
imprimir.
Registro de Control, se utiliza para hacer algún tipo de indicación al periférico por ejemplo que en el
registro de datos hay un nuevo carácter a imprimir
Registro de estado, le sirve al periférico para indicar su estado al computador, por ejemplo que el carácter
último ha sido impreso y necesita otro carácter o que el papel se ha atascado.
Todos los registros que contienen los módulos de E/S suelen ser accesibles por parte de la CPU, para ello
se direccionan de la misma forma que la memoria. Sin embargo podemos encontrar que los procesadores pueden
utilizar dos mecanismos diferentes a la hora de acceder a dichos registros: Pueden disponer de instrucciones
especificas para leer o escribir en la E/S diferentes de las que le sirven para acceder a memoria o que las mismas
instrucciones que sirven para acceder a la memoria puedan acceder también a la E/S.
En el primer caso el procesador tiene completamente separados el subsistema de E/S del de memoria, esto
significa que hay dos mapas diferentes uno de E/S y otro de memoria, por tanto podremos encontrar dos
posiciones con la misma dirección, por ejemplo 200, pero en mapas diferentes, podría haber dos dispositivos que
ocupasen la posición 200 pero uno en el mapa de memoria y otro en el mapa de E/S, evidentemente el sistema
siempre sabría a que dispositivo se accede dependiendo de que tipo de instrucción se esté ejecutando, de acceso a
E/S o a memoria. Un ejemplo de este tipo de procesadores es la familia de Intel 80x86, dispone de instrucciones
específicas para la E/S, estas son “in” y “out”, mientras que para la transferencia con la memoria se utiliza la
instrucción “mov”. En general a los procesadores que disponen de este tipo de instrucciones se les denominan
“procesadores con E/S independiente o separada”.
En aquellos procesadores que utilizan el mismo tipo de instrucciones para acceder a los subsistemas de
E/S y memoria, necesariamente los registros de los módulos de E/S deben ocupar el mismo mapa que la
memoria, de forma que en todo el sistema sólo habrá una dirección 200 que estará ocupada por la memoria o por
un registro de un módulo de E/S. A estos procesadores se les denomina “procesadores con E/S mapeada en
memoria”, un ejemplo son las cpu de la familia de Motorola 680xx.
Un aspecto interesante a tener en cuenta es que los registros de que disponen los módulos de E/S suelen
operar de forma diferente a como lo hace la memoria, si escribimos un dato en una posición de memoria y
después leemos de la misma dirección nos encontraremos el dato que anteriormente habíamos escrito y, si no
modificamos dicha dirección, siempre que leamos de la misma obtenemos el mismo dato. En los registros de E/S
puede no ocurrir esto, si leemos del registro de datos del puerto serie que ocupa siempre la misma dirección unas
veces podríamos encontrar un dato y otras uno diferente, esto se debe a que dicho registro de entrada refleja las
transferencias que algún elemento exterior esté realizando. Esta diferencia entre los registros de los módulos de
E/S y los de memoria determinan que en general la E/S no sea un elemento “cacheable” (a excepción de la
memoria secundaria, discos duros).
)GUVKÎPFGNCGPVTCFCUCNKFC
La gestión de la E/S por parte del computador la realiza en el nivel más alto el sistema operativo. En
general el subsistema de E/S opera siempre de la misma forma, hay dos tipos de transferencias: datos que se
encuentran dentro del computador (normalmente en memoria) deben ser entregado a un periférico o datos que
vienen del exterior deben ser introducidos en el computador (normalmente en memoria). Por ejemplo si tenemos
almacenada una carta en nuestro ordenador y queremos imprimirla, debemos ir depositando cada dato (carácter)
en el registro de datos del módulo de E/S de la impresora para que esta vaya imprimiéndola, evidentemente la
impresora no puede aceptar la ristra de caracteres que componen la carta a la misma velocidad que el
computador se la puede ir transmitiendo, hay que tener en cuenta que el proceso mecánico de escribir un carácter
es bastante más lento que el proceso electrónico de transferir el mismo, para adecuar la velocidad de
transferencia entre el computador y la impresora se dispone del registro de estado mediante el cual la impresora
le indica al sistema que durante cierto tiempo no puede admitir más caracteres. ¿Cómo se puede llevar a cabo
este proceso de imprimir la carta? Hay tres mecanismos por el que se puede llegar a transferir los datos o de
gestión de la E/S:
(6 SURJUDPDGD, en este caso el procesador esta constantemente pendiente del registro de estado del
periférico para saber cuando puede admitir un nuevo carácter, es decir si se le ha dado al sistema la orden de
imprimir la carta se lanza un programa que constantemente interroga el registro de estado para saber cuando
puede mandar el siguiente dato. Esto implica que cada vez que se vaya a transferir un dato se interrogará
múltiples veces el registro de datos hasta que finalmente se escriba el mismo en el correspondiente registro de
datos. Este procedimiento hace que el procesador deba estar pendiente de la E/S sin poder realizar otras tareas de
forma eficaz.
(6PHGLDQWHLQWHUUXSFLRQHV, en este caso el registro de estado cuando detecta que la impresora puede
recibir un nuevo carácter es capaz de activar una línea de petición de interrupción de la que dispone el bus del
sistema. De esta forma el programa que tiene que ir mandando los caracteres a la impresora no tiene que estar
ejecutándose constantemente, sólo se saltaría a la rutina de interrupción o programa de servicio de la interrupción
cuando con seguridad se sabe que la impresora está lista para recibir un nuevo carácter. En este caso el
procesador no pierde el tiempo interrogando el registro de estado para saber cuando la impresora está lista, es el
módulo de E/S a través de una línea de interrupción el que avisa. Evidentemente la cpu puede aprovechar
mientras que no se le pida interrupción para ejecutar otras tareas y sólo salta para escribir un dato en el módulo
de E/S cuando la impresora está lista. El ejemplo ilustra transferencias desde el computador al exterior, pero los
mismos planteamientos se pueden hacer cuando se trata de recibir datos desde el exterior por parte del
computador.
Un símil que permite comparar la E/S programada con la E/S por interrupciones es el del teléfono:
Supongamos que nos tienen que dar un mensaje por teléfono y este no tuviera timbre, constantemente
tendríamos que estar a la escucha diciendo “diga” para saber cuando está el mensaje, si tuvieramos que realizar
otra tarea como fregar los platos, prácticamente deberíamos hacer primero una y después otra, siempre cabe la
posibilidad de ir conmutando entre fregar los platos y atender el teléfono pero esto sería una perdida de tiempo
ya que cada vez que tuviéramos que ir de la cocina al teléfono perderíamos tiempo y al final en el teléfono puede
no estar el mensaje. Si el teléfono tuviera timbre, la cosa cambia, podríamos estar en la cocina y dirigirnos al
teléfono a recoger el mensaje sólo cuando sonara el timbre, en este caso tenemos la seguridad de que no hemos
perdido el tiempo atendiendo el teléfono. Evidentemente la E/S programada es similar a un teléfono sin timbre y
la E/S por interrupciones a uno con timbre. ¿Que sistema de los dos es más rápido, la E/S programada o las
interrupciones? Si el teléfono no tiene timbre y nos dedicamos a decir diga constantemente evidentemente en
cuanto el mensaje esté disponible nos enteraremos del mismo, pero a costa de no hacer nada más que atender el
teléfono. Sin embargo si el teléfono tiene timbre y nos encontramos en la cocina fregando platos, al sonar el
timbre debemos interrumpir lo que estamos haciendo depositando el plato que tenemos en las manos para
después seguir lavando y trasladarnos a donde se encuentre el teléfono para recoger el mensaje, evidentemente el
mensaje no se ha atendido tan rápidamente como si hubiéramos estado pegados al teléfono, pero el de disponer
de timbre nos ha permitido fregar mientras esperamos el mensaje. En definitiva la E/S programada es en general
más rápida pero las interrupciones nos permiten aprovechar el tiempo de forma más eficaz. El tiempo que desde
que se activa la línea de petición de interrupción (suena el teléfono) hasta que se salta al programa de servicio de
interrupción (se atiende el teléfono) se le denomina latencia de interrupción.
E/S mediante Acceso Directo a Memoria (DMA). Obsérvese que tanto en la E/S programada como por
interrupciones el procesador debe leer o escribir los datos en el módulo de E/S. Si se trata de imprimir la carta
que tenemos en la memoria principal, el procesador debe realizar por cada carácter que se pretenda imprimir al
menos dos ciclos: uno de lectura del dato de memoria y otro de escritura en el registro de datos del módulo de
E/S, no hay que olvidar que para leer o escribir hay que ejecutar el código correspondiente que a su vez debe
leerse de la memoria principal. Si los datos están en memoria y se trata de ponerlos siempre en el mismo registro
cuando la impresora se encuentre desocupada ¿Porque no idear un mecanismo que no tenga el procesador que
realizar dicha tarea rutinaria de transferir datos? Ese mecanismo es el de acceso directo a memoria, como su
propio nombre indica el módulo de E/S puede directamente coger los datos de memoria e ir colocándolos en el
registro de datos sin que la cpu tenga que intervenir. Para realizar dicha tarea es necesario que el módulo de E/S
(u otro dispositivo alternativo controlador de DMA) se haga dueño del bus (master) pidiéndoselo a un arbitrador
(normalmente el propio procesador). La principal ventaja del DMA es que no es necesario ejecutar instrucciones
para llevar a cabo las transferencias, es el propio hardware quien se encarga de mover los datos entre memoria y
periféricos. En el caso del DMA las transferencias se realizan más rápidamente, mientras el procesador puede
(en ocasiones) seguir ejecutando otras tareas. Siguiendo con el mismo símil del teléfono podemos considerar que
el DMA es equivalente a colocar un contestador automático que guardase el mensaje, en este caso cuando suena
el teléfono no tenemos que ir corriendo a contestar, salta el contestador y recoge el mensaje para que más tarde
sea procesado. Incluso el contestador sirve para transmitir un mensaje hacia fuera, basta con programar el
mensaje que queremos emitir cuando suene el teléfono. Es evidente que utilizar el contestador, ya sea para
transmitir o recibir mensajes, implica que antes hay que iniciarlo o programarlo y eso implica una tarea que sólo
nos merecerá la pena si el tiempo perdido en dicha tarea es menor que el tiempo que nos llevaría hacerlo
nosotros mismo sin necesidad de utilizar el contestador. El proceso de DMA también debe ser inicializado al
igual que el contestador y de esta tarea se debe encargar la CPU, la cual pierde un determinado tiempo en la
ejecución de la inicialización. Es evidente que el DMA es sólo interesante para transferir bloques de datos
relativamente grandes. Lo mismo ocurre con las interrupciones, estas también tiene un proceso de inicialización
(hay que activar el timbre del teléfono), puede que para transmitir sólo un dato no compense el uso de las
interrupciones. En general los tres procedimientos ilustrados en estas páginas pueden transferir cualquier
volumen de datos, pero la E/S programada puede ser suficiente para pocos datos, la interrupción para bloques
medianos y el DMA para bloques de gran tamaño.
6KRQUFGKPVGTTWREKQPGU
Las interrupciones se definen como un mecanismo por el que se rompe la secuencia de ejecución de un
programa (principal) para saltar a otro subprograma (interrupción). Cuando el subprograma de interrupción
termina el procesador vuelve al estado justo antes de la activación de la interrupción, con la ejecución del
programa principal, sin que aparentemente se note que se ha ejecutado una subrutina de interrupción.
La clasificación más habitual de las interrupciones se basa a como es el mecanismo de activación,
podemos entonces distinguir dos tipos de interrupciones:
+DUGZDUH: las interrupciones hardware son las que se han ilustrado en los párrafos anteriores, se disparan
al activarse una línea del bus. Se utilizan normalmente para la gestión de E/S, aunque también se pueden utilizar
como mecanismo de alarma. Por ejemplo si tenemos en nuestro sistema de memoria un mecanismo de detección
de errores, éste puede avisar al procesador de la existencia de datos erróneos en memoria mediante alguna línea
de interrupción. De la misma forma si disponemos de algún sistema de mediada de la energía eléctrica o fallo de
corriente se puede avisar a la cpu de que la máquina se va a pagar mediante una interrupción.
6RIWZDUH Las interrupciones software se disparan por la ejecución de una determinada instrucción o
código. Hay instrucciones específicas que sirven para saltar a una subrutina de interrupción, por ejemplo la
instrucción “int” de la familia 80x86. En principio este tipo de instrucciones son parecidas a los saltos a
subrutinas, sin embargo a diferencia de estas no es necesario indicar la dirección a donde se debe saltar, la
dirección de la subrutina de interrupción se obtiene por otros mecanismos, gracias a que las interrupciones
software ofrecen un procedimiento simple de saltar a subrutina, sin necesidad de saber su ubicación, se utilizan
para realizar las llamadas al sistema operativo. Por otra parte los sistemas suelen disponer de mecanismos de
depuración del sofware en el que también se precisa del uso de las interrupciones software. Una interrupción se
puede producir también por la ejecución de un código que genere algún tipo de error, en este caso no es la
ejecución de una instrucción de salto a interrupción la que provoca el proceso, sino que es otra instrucción que
en principio no tiene nada que ver con los saltos, por ejemplo si se ejecuta una instrucción de división siendo el
denominador cero hay procesadores que provocan una interrupción que avisa de la división por cero,
evidentemente con la instrucción de división no se pretendía saltar a una interrupción, pero el error ha provocado
la acción de salto a interrupción (algunos autores consideran este tipo de interrupciones dentro de las
interrupciones hardware al ser producidas internamente por la circuitería del procesador).
Un aspecto importante en las interrupciones es como se obtiene la dirección de la subrutina de
interrupción, en general podemos distinguir, atendiendo a este factor, dos tipos de interrupciones: YHFWRUL]DGDV y
QRYHFWRUL]DGDV. En las primeras existe algún mecanismo por el que se informa de la dirección de la subrutina
de interrupción, en el segundo caso se salta siempre a un sitio fijo predeterminado para cada familia de
procesadores.
Una última clasificación de las interrupciones atiende a si estas pueden ser HQPDVFDUDEOHV o QR
HQPDVFDUDEOHV. El término enmascarar se utiliza para indicar que existe un mecanismo por el que si se solicita
una interrupción esta no es atendida por estar enmascarada o deshabilitada, las interrupciones no enmascarables
siempre que se solicitan se atienden, no disponen de ningún procedimiento por el que se pueda deshabilitar. Las
interrupciones hardware que se utilizan para la E/S son normalmente enmascarables, de forma que si la
impresora nos dice que está lista para recibir un dato mediante una interrupción pero no hay nada que imprimir
podemos deshabilitar su interrupción para que no interfiera innecesariamente. Las interrupciones hardware de
alarma son no emascarables al igual que las interrupciones software.
4GEWTUQUFG'5EQPHKIWTCEKÎP[GZRCPUKÎPFGNUKUVGOC
Tanto las interrupciones hardware como el DMA tienen un número limitado de dispositivos que pueden
hacer uso de estos mecanismos de E/S. Tanto en el procedimiento de E/S mediante interrupciones hardware
como en el DMA, deben hacerse uso de líneas específicas por la que se avisa al sistema de que se puede realizar
transferencias. En principio el número de periféricos que pueden utilizar las interrupciones hardware está
limitado por le número de líneas de petición de interrupción de que disponga el sistema, esta situación puede
solventarse haciendo que una línea de petición de interrupción pueda ser utilizada por más de un periférico, es
evidente que en este caso cuando se activa la línea de interrupción el software debe preguntar cuál de los dos
periféricos es el que la activado, se estaría ante un mecanismo mezcla de E/S programada e interrupciones. Esto
sería equivalente a tener dos teléfonos diferentes con un mismo timbre. Sin embargo el acceso directo a memoria
no permite que se utilice el mismo hardware para dos periféricos diferentes, ya que al ser completamente
independiente de la cpu no cabe la posibilidad de preguntar quien, de los dos, ha activado el proceso de DMA,
por tanto no se pueden compartir las líneas de petición de DMA.
En los computadores tipo PC es fácil saber que dispositivos están utilizando acceso directo a memoria e
interrupciones mediante el panel de control, la información sobre el DMA que se da en estas ventanas hace
referencia al bus ISA y no a los dispositivos que se encuentren en posiciones superiores en la jerarquía de bus
(discos duros UDMA, tarjetas capturadoras de vídeo PCI, ...) . En este caso cabe destacar que los dispositivos
conectados al bus PCI pueden hacerse master del bus y realizar DMA sin que ello se muestre en el panel de
control.
Las direcciones del mapa de E/S (también el mapa de memoria), las líneas de interrupciones y las líneas
de petición de DMA (también denominadas canales de DMA) son recursos limitados del sistema, lo que implica
que un computador no puede ampliarse hasta el infinito con periféricos o memoria adicional, a parte de las
limitaciones mecánicas o eléctricas nos podemos encontrar que sea difícil añadir un nuevo periférico por no
disponer de más líneas de DMA o de petición de interrupciones. Colocar un dispositivo nuevo en un PC supone
una cierta configuración del sistema para que los programas puedan “ver” al nuevo elemento. La configuración
puede incluir los siguientes elementos: Asignar a los nuevos registros de E/S que se encuentran en el nuevo
dispositivo posiciones del mapa de E/S (puertos de E/S), asignar línea(s) de interrupción, asignar canales de
DMA, asignarle posiciones en el mapa de memoria (esto ocurre en los periféricos con memoria local, tarjetas de
vídeo por ejemplo), instalar un manejador de dispositivos (driver) que facilite su utilización por parte del resto
del sistema, ... Todos estos recursos no tienen por que configurarse en el sistema, por ejemplo, cuando
instalamos una impresora en un puerto paralelo sólo tenemos que instalar el driver ya que el módulo de E/S
(conector) está previamente instalado. Sin embargo, si tuviéramos que añadir una tarjeta al bus de expansión con
un puerto paralelo deberíamos configurar, su posición en el mapa de E/S, la línea de interrupción y el canal de
DMA que va a utilizar.
El configurar los recursos que utilizan cada uno de los elementos de un PC puede llegar a ser complicado,
muchos dispositivos de E/S necesariamente se deben configurar con unos recursos específicos debido a que los
drivers esperan dichas configuraciones para funcionar correctamente, por otra parte si dos módulos de E/S se
configuran para utilizar los mismos recursos puede llegar incluso a producir una avería en el PC. Al principio los
fabricantes de tarjetas (módulos de E/S) incluían en las mismas una serie de microinterruptores con los que se
configuraban que recursos de E/S utilizaba dicha tarjeta, en la actualidad este procedimiento manual no es
necesario utilizarlo casi nunca, gracias a que los sistemas han adoptado procedimientos para realizar la
configuración de forma automática, es lo que se denomina plug&play. Normalmente el quitar o poner cualquier
tipo de dispositivo en un PC implica apagar la máquina antes de realizar la operación de conexionado o
desconexionado, colocar una tarjeta o módulo de memoria con el PC encendido supone un riesgo grande de
avería grave y como mínimo un bloqueo (cuelgue) de la máquina. Desde hace unos pocos años se han
introducido cierto tipo de conexionado que no sólo permite que los dispositivos se conecten sin necesidad de
apagar la máquina sino que además es aconsejable conectarlos con el PC encendido, a este procedimiento se le
llama conexión en caliente e incluye normalmente la configuración automática (plug&play) de los recursos, los
ejemplos más claro de sistemas con conexión en caliente lo constituyen todos los dispositivos USB.
.1514&'0#&14'52'4510#.'56+212%
*KUVQTKCUFGN2%
La historia del PC arranca al principio de los 80, el primer PC estaba basado en el procesador 8088 de
Intel, esta cpu disponía de un bus de datos externo de 8 bits, siendo el de direcciones de 20 bits, internamente era
un procesador de 16 bits (datos e instrucciones). En principio su arquitectura era bastante simple, el propio bus
del procesador forma el bus del sistema con el que se accedía a la memoria principal, ésta estaba compuesta por
chips de DRAM y en principio era difícilmente ampliable pues no estaban previstas ranuras para conectar o
desconectar los chips de memoria. El procesador junto con la memoria y unos pocos dispositivos
complementarios de entrada salida (reloj, conector teclado ...) se encontraban dispuestos sobre una placa (placa
base), el resto de los dispositivos de entrada salida debían ser colocados en un bus de expansión prácticamente
igual que le bus del sistema, dicho bus de expansión se le denomina bus XT, por llamarse a esta primera
generación de PCs XT (también se le ha llamado posteriormente bus ISA de 8 bits). En el bus XT se le podía
colocar al PC todos los módulos de E/S para gestionar los periféricos, así había placas (módulos de E/S) de
puerto paralelo, puerto serie, para la disquetera, para el disco duro, monitor, etc. Todos estos dispositivos
precisaban de una placa o tarjeta que los conectase al bus del sistema. La memoria se podía expandir utilizando
también una placa conectada al bus XT, al fin y al cabo el bus XT era prácticamente el mismo que conectaba la
memoria que se encontraba en la placa base. Por tanto la estructura del PC XT estaba basada en una placa base
más una serie de tarjetas de expansión que permitía su conexión con el resto de los periféricos.
Al PC XT le siguió los computadores AT, estos en principio estaban basados en una segunda generación
más evolucionada de procesadores, el 80286. En estos micros el bus de datos era de 16 bits y el de direcciones de
24, mantenía una compatibilidad total con el 8088, disponiendo además de direcciones anticipadas. La máquina
AT mantenía la misma filosofía que la XT, el bus del sistema era el bus del procesador y el bus de expansión era
el mismo que el del sistema, pero con ciertas modificaciones para que las placas de 8 bits del bus XT pudieran
ser conectadas en los AT. Al bus de expansión de estas máquinas se le llamó bus AT o bus ISA y prácticamente
hasta la actualidad ha sido un elemento necesario en todos los PCs posteriores por motivos de compatibilidad. El
AT mantenía la filosofía de disponer en la placa base del procesador y unos pocos periféricos y utilizar el bus
ISA con las correspondientes tarjetas (módulos de expansión) para acceder a los periféricos externos. El 80286
no duró demasiado, ya que al poco tiempo Intel lanzó el 386, éste procesador era de 32 bits (32 bits de datos y 32
bits de direcciones) y superaba con creces al 80286, no sólo en prestaciones sino que además por primera vez
disponía la familia x86 de una gestión de memoria eficaz. Las máquinas 386 tenían también arquitectura AT, y
aunque internamente el bus del sistema era de 32 bits el bus de expansión seguía siendo de 16 bits, era en
realidad el mismo bus ISA. Esta compatibilidad hardware era importante ya que permitía utilizar los mismos
módulos de E/S que utilizaban las máquinas 80286 y las 8088. Pero además el 386 mantenía la compatibilidad
software a base de incorporar diferentes modos de funcionamiento. Obsérvese que en las máquinas 386 el bus
del procesador es el bus del sistema y con él se conecta a la memoria principal, pero ya entre el bus del sistema y
el bus de expansión ISA hay una circuitería que adapta dichos buses (comienzan a incorporarse los puentes a la
placa base). Aunque en principio la filosofía parecía la misma, las máquinas 386 marcaron una revolución en
varios aspectos:
- La primera ruptura que supuso las máquinas 386 fue en cuanto al software, la gestión de memoria
mejorada de que disponía permitía nuevos sistemas operativos y programas que no podían ejecutarse en las
viejas máquinas 8088 y 80286. La compatibilidad se mantenía hacia abajo pero no en los dos sentidos, en el 386
podía ejecutar todos los programas viejos. En esta época es cuando Microsoft lanza versiones de Windows de 32
bits que son las antecesoras de las versiones que actualmente comercializa, la aparición de Windows 32 bits
junto con la de otros sistemas operativos que también aprovechaban la gestión de memoria de forma eficaz
supuso la ruptura definitiva con las viejas máquinas 8088 y 80286.
- Los fabricantes de las máquinas 386 empezaron a pensar que todos los usuarios al final conectaban una
impresora, un ratón, un disco duro, una disquetera, etc. ¿Si eso es así, por que los módulos de E/S de estos
periféricos se tienen que añadir al bus de expansión y no se encuentra desde el principio integrados en la placa
base? La respuesta fue que los fabricantes integraron los módulos básicos de E/S, aquellos que todos los usuarios
más tarde o temprano van a utilizar, en la propia placa base. Esto no suponía una mejora de las prestaciones, ya
que la conexión de los módulos de E/S integrados en la placa base seguía siendo exactamente igual que si
estuvieran ubicados en el bus ISA. Lo que sí permitió fue compactar el diseño reduciendo el tamaño de las
máquinas, la producción masiva provocó una mayor compactación y una reducción de precios. En esta época
empiezan a fabricarse las placas bases con muy pocos componentes (chips), los cuales incluyen todo lo necesario
en poco espacio, nacen el chipset, o conjunto de chips que acompañados del microprocesador forman la placa
base. Los chipset de diferentes fabricantes incluyen los módulos de entrada salida para gobernar discos duros,
disquetera, puerto paralelo de impresora, puertos serie, etc., además de incorporar el puente entre el bus del
sistema y el bus ISA, las prestaciones del computador ya no dependen sólo de la velocidad del procesador y la
memoria, empieza a depender de lo bien diseñado que pueda estar el chipset.
- La memoria principal en una máquina 386 tiene un ancho de 32 bits diferente del bus ISA de sólo 16
bits, con lo que ampliar memoria utilizando el bus ISA no resulta eficaz al ser bastante más lentos los accesos.
Los fabricantes empiezan a agrupar los chips de memoria en módulos con objeto de que pueda ampliarse
directamente en la placa base con las correspondientes ranuras normalizadas para dichos módulos. Los primeros
módulos eran de 32 pines y cada módulo ofrecía 8 bits de datos, con lo que en las ranuras de memoria del 386
había que colocar los módulos de expansión de 4 en 4 módulos para obtener el ancho de 32 bits de datos que
tenía el bus del sistema. Los chips de memoria de las viejas máquinas 8088 y 80286 no servían en las nuevas
máquinas 386.
- Las placas bases 386 empiezan a incorporar masivamente caché de la memoria principal con objeto de
mejorar sus prestaciones (algunas máquinas 286 llegaron a disponer también de memoria caché).
- En los primeros computadores 286 el bus de expansión (ISA), el bus del sistema y el procesador
utilizaban el mismo reloj. En las máquinas 386 esto ya no puede ser así, el procesador y el bus de sistema
(memoria) tenían un reloj de bastante mas velocidad que el bus de expansión (ISA), este no podía crecer en
velocidad para mantener la compatibilidad compatibilidad con las placas antiguas. Así nos encontramos que el
bus ISA se estancó en los 8 Mhz, mientras que los procesadores empezaron a ser de 16, 25, 33 Mhz. en esta
época arranca ese fenómeno que ha dado en llamarse overclocking y que consiste en aumentar la frecuencia de
reloj de un dispositivo fuera de las especificaciones para la que está fabricado.
Al 386 le siguió el microprocesador 486, éste seguía siendo un procesador de 32 bits de datos y 32 bits de
direcciones, pero incorporaba mejoras que aumentaban notablemente su rendimiento: Incorporaba la caché en el
propio chip del procesador, además del coprocesador matemático o unidad de coma flotante (este era un
elemento que hasta la fecha se añadía de forma externa al procesador). Su arquitectura interna estaba
sustancialmente mejorada (RISC). El bus del 486 aunque no era de direcciones anticipadas si que disponía de
modo ráfaga lo que aumentaba de forma notable sus prestaciones. La frecuencia de funcionamiento de los 486
fue en aumento al mismo tiempo que empezaron a surgir versiones que internamente funcionaban más
rápidamente que el reloj externo de que disponían. La consecuencia fundamental de la incorporación de los 486
fue que el bus de expansión ISA quedó obsoleto con respecto a las nuevas prestaciones que los procesadores,
periféricos y aplicaciones podían ofrecer. Es evidente que el bus ISA se convirtió en un cuello de botella cuando
se trataba de incorporar periféricos de alta velocidad, donde primero se notó la falta de prestaciones fue en las
tarjetas de vídeo. Los fabricantes intentaron solventar dicho problema utilizando cierta variante del bus del
sistema de las máquinas 486 como bus de expansión de alta velocidad, nacieron los buses locales. Con
anterioridad hubo dos intentos de instaurar buses de expansión de alta velocidad, uno fue el EISA, sucesor del
ISA, y otro el Microchanel que IBM incorporó a sus máquinas PS, pero uno por ser demasiado complicado y
costoso y otro por ser propietario de un fabricante no llegaron a cuajar. Los buses locales del cual el VESA fue el
más popular duraron relativamente poco tiempo debido a dos causa fundamentalmente, primero eran específicos
de un microprocesador, y, segundo, ya se estaba definiendo y lanzando un nuevo bus bajo los auspicios de Intel
y otros grandes fabricantes que barrería al resto de las alternativas: el PCI. Toda esta proliferación de buses no
acabó con el ISA, simplemente aumentaba el número de buses del que podía disponer la placa base, se puso de
manifiesto lo que se ha dado en llamar la jerarquía de buses y los puentes que conectaban unos con otros. Hubo
un momento en el que las placas base de los 486 disponían de ranuras para bus VESA, para bus PCI y para bus
ISA. En la época final de los 486 hubo tres aspectos importantes a considerar:
- Se daba por fenecido el bus local, las placas base sólo incorporaban PCI como bus de expansión de alta
velocidad y bus ISA como bus de expansión compatible con la vieja arquitectura PC XT/AT.
- La velocidad del procesador aumentó junto con la velocidad de la memoria caché interna, sin embargo
las prestaciones de la memoria principal no se incrementó lo suficiente, haciendo de ésta un cuello de botella.
Para resolver el problema los fabricantes empezaran a incorporar otro nivel (L2) de caché externo (en la placa
base) entre la memoria principal y la memoria cache interna de primer nivel (L1)
- Era evidente que para aumentar la memoria de un 486 habría que colocar 4 módulos de 30 contactos
como en el caso del 386, esto suponía reservar en las placas base bastante espacio para las ranuras de ampliación
de memoria, para paliar dicho problema surgieron los SIMM de 72 contactos, estos tenían un ancho de datos de
32 bits, con lo que con un sólo módulo conectado en una ranura era suficiente para ampliar la memoria del PC
486. Evidentemente al surgir los módulos de 72 contactos se quedaron obsoletos los de 30.
Con la aparición de los primeros Pentium se volvió a dar un paso significativo en la mejora de la
arquitectura interna de las máquinas 80x86. Desde el punto de vista externo los Pentium incorporaron un bus de
64 bits de datos (internamente seguía siendo de 32) con accesos mezcla de ráfaga y direcciones anticipadas
(burstpipeline).
Los años de los PCs 486 y primeros Pentium se pueden definir como "la época dorada en el bricolador de
PCs", había múltiples fabricantes de procesadores tipo 486 y Pentium (K6 de AMD por ejemplo) con diferentes
arquitecturas, especificaciones y prestaciones que se podían colocar en las mismas placas debido a la
compatibilidad de conexionado de todos estos procesadores (las placas 486 no eran compatibles con las
Pentium), todo podía ensamblarse con todo aun siendo de diferentes fabricantes.
Las placas de los Pentium traen consigo mejoras en los sistemas de memoria, nacen las caches
burstpipeline de 2º nivel y para la memoria principal se adopta la DRAM EDO. En los Pentium para ampliar la
memoria es necesario colocar dos módulos de 72 contactos para obtener los 64 bits del bus de datos. Al final se
fabricaron placas base con módulos de 168 contactos que disponen de una anchura de 64 bits de datos, con lo
que con un solo módulo de memoria es suficiente para ampliar el sistema. Los módulos DIMM de 168 contactos
han evolucionado con el tiempo conteniendo diferentes especificaciones de memorias dinámicas síncronas
(SDRAM tipo PC66, PC100 y PC133) (DDR-SDRAM PC200, PC266...). El Pentium Pro fue un diseño
intermedio entre los primeros Pentium y las siguientes generaciones (Pentium II y sucesivos).
La aparición del Pentium II y III ha supuesto de nuevo mejoras en la arquitectura interna, además se ha
añadido nuevas instrucciones (unidades vectoriales) para aumentar las prestaciones en las aplicaciones
multimedia. Estos procesadores incorporan el segundo nivel de caché L2 dentro de la misma estructura. Un
cambio notable en estos procesadores fue que se perdió la compatibilidad de conexionado al incorporar Intel un
nuevo tipo de zócalo del cual sólo dicho fabricante era propietario, acabó la época dorada del bricolage de Pcs,
ahora las placas bases sirven sólo para los fabricantes y procesadores que fueron diseñadas. Una novedad que se
incorporó a las placas base de los Pentium II y III fue el bus AGP, este bus se puede considerar como un bus de
expansión específico (para vídeo) de alta velocidad, el PCI empezó a quedarse corto para las aplicaciones
multimedia. Coetáneos con los Pentium de Intel están los procesadores de AMD K6, K6-II, K6-III, K7 (Atlhon,
Duron ...), estos procesadores han competido en numerosas ocasiones con los de Intel superándoles en
prestaciones o relación prestaciones/precio. La última generación de procesadores de Intel para PC de 32 bits es
el Pentium IV con nuevas mejoras en su arquitectura que permite aumentar su velocidad notablemente, incorpora
además nuevas instrucciones multimedia con respecto a los Pentium III. Las placas base de los Pentium IV están
optimizadas para incorporar los nuevos módulos de memoria RDRAM y se caracterizan por ser las primeras
placas que han dejado de incorporar el bus ISA en su diseño, el bus ISA estaba herido de muerte hace ya varios
años pero ahora ha empezado a enterrarse definitivamente.
En la actualidad hay una fuerte competencia entre AMD e Intel y entre los fabricantes de memoria DDRSDRAM y RDRAM, parece que sólo el tiempo y los pleitos en los tribunales de justicia marcarán la futura
evolución de los Pcs.
Las placas base de los actuales Pcs están basadas en chipset compuestos por dos o tres chips, en la figura
anterior se muestra el esquema de un computador basado en el chipset BX, el más popular de los fabricados para
los procesadores Pentium II/III. Uno de estos chips (puente norte o host bridge) se suele encargar del control de
la memoria principal, de la caché de tercer nivel (en caso de que exista), de hacer de puente entre el bus local del
procesador y el PCI y entre el bus local del procesador y el AGP. El puente sur (PCI-ISA bridge) sirve de
adaptación entre el PCI y el bus ISA, incorpora la conexión de disco duro (UltraDMA) y la de USB. Al puente
sur se le suele añadir el chip multI/O que soporta el resto de los periféricos (puerto serie, paralelo, teclado,
disquetera, ...).
2GTKHÃTKEQUJCDKVWCNGUGPNQUQTFGPCFQTGURGTUQPCNGU
',6326,7,926'($/0$&(1$0,(1721292/È7,/(6
El empleo de extensos y complicado programas que además ayudan a crear grandes archivos de datos
unido a la volatilidad de la información ubicada en la RAM hace que tengamos que utilizar sistemas de
almacenamiento de información no volátiles y más capaces. Los mas empleados son los llamados discos duros
(fijos en ordenadores) y disquetes (extraíbles). Ambos sistemas utilizan prácticamente la misma tecnología y por
tanto tienen muchos elementos en común. Así ambos utilizan un motor para hacer girar los discos cuentan con
cabezas de lectura/escritura y utilizan un sistema de colocación para situar la cabeza sobre el disco. En la
actualidad coexisten con normalidad junto con los CD-ROM, también llamados discos ópticos que emplean una
tecnología diferente en cuanto a su sistema de lectura. Las unidades de cintas son dispositivos con una gran
capacidad de almacenamiento aunque con tiempos de acceso relativamente bajos, se utilizan normalmente para
realizar copias de seguridad.
DISQUETES.
Siempre se han designado por el valor de su diámetro expresados en pulgadas. Así los primeros en
aparecer fueron los flexibles de ocho pulgadas y luego los de 5 1/4". Estaban constituidos por una superficie fina
(como una hoja de papel) con forma circular hecha de un derivado plástico y recubierto por una fina capa de
óxido metálico encargada de registrar las alteraciones de polaridad magnética producidas por los impulsos
eléctricos derivados de "traducir " la información digital. El avance tecnológico permitió reducir la superficie del
disco a la vez que aumentaba su capacidad de información al ubicarlos en una carcasa de plástico duro que
aportaba al ya tejido mayor rigidez; es decir los discos podrían girar mas deprisa con menos desviaciones por lo
que las pistas que albergan la información podrían ser más finas (discos de 3 ½, ZIP y LS120).
UNIDADES DE DISCO DURO.
Un disco duro es similar al disquete en cuanto a su principio de funcionamiento pero tiene una gran
diferencia puesto que un disquete consta de un sólo disco en un disco duro. Se albergan varios discos o platos
que giran al unísono. Estos son de metal normalmente aluminio y también se recubren de una fina capa de óxido
metálico. Albergan información en sus dos caras. Sus dos grandes ventajas son: Su mayor capacidad de
información y su mayor velocidad de acceso. Su inconveniente: su no portabilidad. Aunque en la actualidad hay
diversos mecanismos que permiten tener discos duros portables (extraíbles, conectados al puerto paralelo, USB o
FIREWIRE)
La evolución de estos elementos ha sido tan vertiginosa como la de los propios procesadores. Los
primeros PCs disponían de discos duros de 10 megabytes en la actualidad (año 2001) se instalan discos duro de
40 gigabytes en los PC medios. Pero no sólo han crecido en capacidad, en velocidad también se ha producido un
incremento considerable. Tras los primeros años en los que coexistieron diversos mecanismos de conexionado,
podemos encontrar dos tipos de discos duros: IDE y SCSI. Los discos duros con conexión IDE (puerto IDE) son
los más populares y económicos del mercado, la interfaz IDE ha mejorado con el tiempo al incorporar
mecanismos de DMA para la transferencias de datos directamente entre la memoria principal y el disco duro
(ULTRADMA 33,66,100,133, la cifra indica la velocidad de transferencia en modo DMA, lo de ultra es una
“floritura comercial” copia de los discos SCSI). Los discos SCSI se pueden considerar que se utilizan en los PC
de gama alta o que vayan a ser utilizados como servidores, suelen tener mejores prestaciones que los IDE pero su
precio es bastante más elevado, algunas controladoras SCSI (módulo de E/S que sirve de interface entre el bus
del sistema o bus de expansión y el conector SCSI) incorporan características especiales como: la posibilidad de
quitar y poner discos sin necesidad de apagar el ordenador (conexión en caliente), entrelazar discos para
aumentar la velocidad, duplicar con dos discos la información como copia de seguridad, etc.
PARTES CONSTITUTIVAS DE UNA UNIDAD DE DISCO.
&DEH]DGHOHFWXUDHVFULWXUDSon unos brazos que recuerdan a los del tocadiscos. Estas cabezas leen o
escriben cargas magnéticas de la superficie del disco. Existe una cabeza en cada cara de un plato de disco.
3LVWDV GHO GLVFR Son las finas sendas concéntricas donde se almacenan los datos. Las cabezas se
desplazan radialmente de dentro hacia afuera saltando por las pistas. Un giro del disco describe una pista.
&LOLQGURVy VHFWRUHVHemos dicho que los discos o platos que componen un disco duro giran a la par así
que las cabezas lectoras se desplazan igualmente a la vez, pues bien se llama cilindro al conjunto de pistas que
coinciden verticalmente. La información se almacena de forma consecutiva ocupando todas pistas de un cilindro
para así evitar desplazamientos radiales de las cabezas mientras no se complete un cilindro. Los sectores son las
porciones en que se divide una pista, normalmente 18 sectores por pistas en disquetes de H.d. y de 17 a 34
sectores por pista en disco duro. Un sector siempre alberga 512 BYTES (medio K.B.).
EL &'520
Representa el gran salto en materia de almacenamiento de información. Como mínimo tiene capacidad
para almacenar 650 MB a un precio muy competitivo con respecto al resto de los sistemas de almacenamiento.
Para hacernos una idea de lo que esto representa pensemos en una enciclopedia de 150.000 páginas de solo texto
contenida en un disco de plástico de apenas 12 cm. de diámetro.
Están fabricados en varias capas siendo la base de bicarbonato plástico, la del medio una finísima capa de
aluminio y la exterior una capa de barniz.
Los datos están grabados en una única pista con forma de espiral ( 5 Km de longitud) sobre la que se han
grabado una serie de “huecos” de 1 milésima de micra de profundidad y 5 milésimas de micra de longitud que
equivale al cero del sistema binario. En los lugares donde no hay hueco se leerá el uno el encargado de leer es
un rayo láser que incide sobre la superficie del disco. Cuando se encuentra una meseta el rayo se refleja si
encuentra un hueco el rayo se pierde. Esta es la forma en que el controlador de la unidad CD-ROM sabe los
datos que se están leyendo (siempre en formato binario).
Los parámetros más importantes de las unidades lectoras de CD-ROM son: su tiempo de acceso a los
datos y la " velocidad de transferencia" de los mismos. La velocidad básica de transferencia de una unidad
básica es de 150 KB existen unidades de doble, cuádruple, óctuple, etc.,... velocidad que proporcionan el doble,
cuadruple, ... que lo anteriormente dicho. La velocidad de los CDROM está lejos de la que proporciona un HD
de calidad ( en la actualidad dicha velocidad se ha multiplicado por más de 50, por tanto se transfieren 150 KB/s
x 50).
EL '9'
Los DVD son el sustituto natural de los CD. Su apariencia externa es en principio identifica a las de los
CD pero su novedad reside en el gran incremento de su capacidad. Se ha cambiado la estructura de estos
elementos para conseguir dicha ventaja. En primer lugar reduciendo la separación y longitud de las marcas con
lo que se consigue pasar de los 650 MB. a los 4,7 GB, en segundo lugar se puede disponer de información en dos
caras cada un con dos capas metálicas superpuestas que pueden ser leídas por un rayo laser al que se le modifica
la longitud de onda y con ello su poder de penetración. Se conseguen así 17 GB en un sólo disco DVD, el
equivalente a 27 CDs o 12. 000 disquetes. Hay que hacer una distinción entre: '9'DXGLR '9'YtGHR
'9'520y '9'UHHVFULELEOH
El '9'$XGLRtendrá su aplicación en el mundo de las grabaciones musicales pero no hay gran interés
por ahora en ello, la aparición del sistema de compresión de audio MP3 ha hecho que los CD de audio
tradicionales puedan almacenar una gran cantidad de música sin cambiar el formato del soporte. El '9'YtGHR
constituye un gran paso en el mundo de la distribución y visionario de películas y videos en general, en un DVD
de 4 7 GB. se puede disponer de un film con gran calidad de imagen (MPEG 2) varios idiomas y soportes para
diferentes subtítulos. El '9'520 está destinado al soporte de información puramente informática
(aplicaciones, bases de datos y archivos digitales en gral.) también ofrece la posibilidad del DVD-vídeo si
incorporan en nuestro sistema informática una tarjeta decodificadora MPEG2 y su software correspondiente. Los
DVD-ROM son grabables una vez, los que se graban varias veces se les denomina DVD-RAM o DVDreescribilbles. En la actualidad existen en el mercado aparatos de sobremesa destinado a sustituir a las clásicas
cintas de VHS y que utilizan DVD regrabables.
5
(/021,725
El monitor del ordenador guarda básicamente la estructura de cualquier aparato de Tv. Nos interesa
conocer los parámetros más significativos de un monitor. En general. todos estos parámetros están relacionados
entre sí:
-Pixel.- Es la menor unidad de imagen representable en pantalla.
compuestos por tres puntos distintos con los colores rojo, verde y azul.
En los monitores R.G.B. están
-Paso.- Es la distancia existente entre dos puntos visibles colindantes de la pantalla también se le conoce
por "dot pitch" cuanto menor sea esta distancia mejor será la calidad de imagen aumentando su medida. Los
monitores actuales de una calidad medio elevada tienen un paso de 0.26 mm. Observe que un monitor puede
representar muchos pixels en pantalla pero si el paso es grande esto significa que la calidad de imagen es mala
ya que puede que más de un pixel se encuentre superpuesto sobre otro o no se represente de forma adecuada, en
este caso la imagen se ve menos nítidamente, como borrosa
-Resolución.- La resolución caracteriza la fineza de la imagen, se cuantifica por el número de píxeles
representados en sentido vertical y horizontal (por ejemplo resolución de 640 x 480).
- Colores.- Especifica el número de colores representables en pantalla para una resolución dada. La
resolución y el número de colores van en relación de inversa para un mismo monitor y tarjeta gráfica, es decir, a
mayor número de colores representados menor resolución obtenible. Este hecho está relacionado con la
memoria disponible en la tarjeta gráfica, una imagen de alta resolución consume mucha memoria por lo que el
número de colores disponibles tiene que ser menor.
-Tasa de refresco.- Es la frecuencia con la que el haz de electrones barre toda la pantalla. Cuanto mayor
sea el valor menor será el parpadeo del monitor. Los mejores monitores que se encuentran actualmente en el
mercado tienen una tasa de refresco mayor o igual a 100 hz. (el haz barre toda la pantalla 100 veces por
segundo). La frecuencia de línea es otra tasa de refresco que está ligada a la resolución.
-Dimensiones del tubo.- Es la longitud de la diagonal de la parte frontal del tubo de imagen. Cuanto
mayor sea el tamaño de la pantalla mas grande es el monitor y caro costará.
(/7(&/$'2
Como sabemos es el dispositivo standard utilizado para que el usuario realice la entrada de información.
Todo teclado va conectado al P.C. mediante un puerto dotado de un microcontrolador (pequeño computador
dedicado) que actúa de traductor para comunicarse con la CPU. Es importante saber la configuración que se la
va a dar al teclado, cada país utiliza una tabla de caracteres específica, así por ejemplo la configuración por
defecto de todo teclado es la Norteamericana cuya tabla de caracteres carece de 'Ñ'. Por tanto para visualizar los
caracteres españoles no solo debemos de disponer de un teclado con nuestros signos sino que además hemos de
darle la instrucción específica para que emplee la tabla de caracteres de nuestro idioma. Dicha instrucción la
dejamos insertada en los archivos de sistema autoexec.bat y config.sys. Cada tecla puede asumir dos tablas: Una
predeterminado y otra opcional. Cada país tiene asignada el número de su tabla siendo para España la 850 la
predeterminada, y la 437 la opcional
(/5$721
Surgió como respuesta natural ante la incomodidad del teclado. Inicialmente fue diseñado por Xerox para
Macintosch de la compañia Apple computers que fue la propulsora del sistema operativo con ventanas. Fue la
compañía Microsoft la que extendió su empleo para los PC. Como ocurre con la mayoría de los periféricos sólo
podrá trabajar con el ratón si previamente ha cargado en memoria un programa especial que servirá para
controlarlo esto es el driver. Existen dos tipos de ratones según el mecanismo utilizado para controlar el
movimiento del puntero: eléctrico y óptico. El primero es la más comercializado y barato. Dispone de una bola
que hace girar dos aspas, una horizontal que da los valores X del desplazamiento y otro vertical que compone los
desplazamientos en el ejeY. El segundo tipo es más preciso y caro. Está basado en dos emisores con luz y dos
fotoreceptores. Cada luz representa el movimiento X e Y respectivamente que incide sobre una alfombrilla
especial formada por una fina cuadrícula de dos tipos de líneas que reflejan la luz emitida. Los fotodetectores
reciben la luz reflejada y traduce la señal óptica al valor X o Y correspondiente.
El ratón es un dispositivo de “apuntamiento” o de manejo de puntero. Existen otros dispositivos con
idéntico cometido como son: El Joystick cuya aplicación es para juegos, la tarjeta digitalizadora que es la
superficie sobre la que se marca con un lápiz óptico y por último las pantallas táctiles que permiten trabajar
directamente con el dedo o con el lápiz óptico en el monitor. Las trackball son un ratón mecánico invertido.
,035(625$6
Tan importante como saber hacer un trabajo es saber o poder materializarlo sobre el papel. Esta es la
función de estos periféricos, representar sobre el papel lo que tienen en la memoria del computador.
Al igual que el resto de los dispositivos de E/S las impresoras necesitan de un driver de control para que
pueda ser manejada por el resto del sistema. Normalmente las principales aplicaciones o sistemas operativos
traen un listado de controladores de las impresoras más vendidas con el fin de poder imprimir. Si nuestra
impresora no estuviera en dicho listado seguro que se puede comportar (emular) como alguna otra más famosa.
En el caso de emplear una impresora de última generación hemos de utilizar el driver que vendrá en un disquete
junto a la impresora, el cual instalaremos de forma permanente en nuestro disco duro. Estos drivers permiten
configurar parámetros de impresión según nuestras necesidades. Pero también podremos hacerlo directamente
desde la impresora. En la actualidad existen tres familias de impresoras: Matriciales, chorro de tinta y láser.
Las matriciales se están quedando obsoletas, como ventajas tienen su bajo precio y la posibilidad de
trabajar con papel continuo y copias múltiples (carboncillos). Como inconvenientes tienen su baja resolución,
lentitud y ruido. Se siguen utilizando sobre todo en los comercios y cajas registradoras ya que permiten tener dos
copias de las facturas.
Las impresoras de inyección de tinta son las propuestas más interesantes que existen en el mercado,
debido a su buena relación entre el precio y la calidad de la impresión, que es óptima. Permite la impresión en
color con calidad casi fotográfica (con tinta y papeles especiales). El gran inconveniente de estas impresoras es
el coste de los consumibles, los cartuchos de tinta de repuesto pueden llegar a costar casi lo mismo que la
impresora, por otra parte son dispositivos menos robustos que las impresoras matriciales y las láser,
produciéndose en numerosas ocasiones averías debidas al atasco de los inyectores.
Las impresoras láser son las que consiguen más definición en sus impresiones debido a la tecnología
empleada ( no por puntos). El inconveniente es su precio elevado tanto en el coste de su adquisición como el de
su mantenimiento.
Los dos parámetros más importantes que definen la calidad de una impresora son su resolución medidas
en ppp (puntos por pulgadas) y su "velocidad de impresión" que se mide por los caracteres por segundo o
pág./min. Otros parámetros a tener en cuenta son: posibilidad de color, tamaño máximo del papel, coste de los
consumibles...
3/277(56
También llamados gráficos, se puede decir que son un tipo especial de impresoras. Su aplicación más
común es la realización de planos para arquitectura e ingeniería sobre papeles de gran tamaño (A0) empleando
plumillas de diferentes espesores y colores. Su tecnología está en constante avance existiendo Plotters láser, de
inyección de tinta, térmicos, etc, que han hecho ampliar el ámbito de sus aplicaciones hacia el diseño artístico,
artes gráficas y fotografía. Los más extendidos son los plotters de chorro o inyección de tinta, en realidad estas
máquinas son iguales que las impresoras de inyección de tinta, pero con posibilidad de soportar grandes tamaños
de papel y la emulación de plotters de plumillas, los fabricantes denominan a estas máquinas impresoras de gran
formato, dejando el término plotter para los dispositivos basados en plumillas.
6&$11(56
Es un periférico que permite digitalizar fotografías, dibujos o documentos de texto. Un scanner funciona
de forma similar a una fotocopiadora pues en vez de hacer una copia del original en papel lo convierte en una
serie de datos que se pueden visualizar, guardar en archivo, imprimir, mandar por teléfono, etc. Convirtiéndose
el ordenador en una fotocopiadora, fax, laboratorio fotográfico ...
Todo scanner desarrolla dos funciones principales según el tipo de documento tratado:
- Convertir a las fotografías, dibujos y gráficos en archivos que podrán ser editados con programas
específicos (imágenes raster o vectorizadas).
- Capturar documentos de texto y convertirlos en ficheros de texto editables tras aplicarle un programa de
reconocimiento de caracteres (ocr).
02'(06
Es un periférico que se conecta al ordenador y que tiene una función muy simple pero muy útil; convertir
el lenguaje binario del ordenador en tonos de audio (pulso o señales). Estos tonos podrán enviarse a cualquier
parte del mundo utilizando las líneas telefónicas. Esto implica que al otro lado de las líneas telefónicas ha de
haber otro módem que siga los tonos, que invierta los tonos en binario a este proceso se le llama MOdulaciónDEModulación (MODEM). La velocidad de transmisión se mide en "Baudios" (número de bits transmitidos por
seg.).