Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Como se avanzo en el tema 1, la computadora digital esta formada por varias unidades con
tareas claramente diferenciadas como puede verse en el diagrama de bloques de la figura 4.1.
Observe que las flechas que unen los bloques son de dos tipos. La razon de esta diferencia es
resaltar, que la comunicacion entre bloques es de dos tipos: informacion y senales de control. La
primera categora, la informacion, abarca los datos, los resultados y otras informaciones como
direcciones de memoria, estados, etc. La segunda categora, las senales de control son ordenes
que la UC manda a los distintos elementos para que se realicen las operaciones.
Se vera mas adelante que la UC y la UAL forman la unidad central de proceso (UCP), que es
la responsable de la ejecucion del programa. La memoria tiene un papel pasivo proporcionando
los datos e instrucciones cuando son solicitados por la UCP.
unidad de entrada/salida
Memoria Periffico 1
UAL
principal
seales
Perifrico n de control
Unidad de control
informacin
37
38 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
R y
S y
El biestable es un dispositivo (electronico) con dos posibles estados estables; es decir, estados
que en ausencia de excitacion externa no cambian. Hay varias clases de biestables, pero todos
permiten almacenar una unidad de informacion (0 o 1). Considerado como un sistema logico,
cada biestable puede describirse mediante las operaciones necesarias para producir las salidas
a partir del valor de las entradas. Hay que tener en cuenta que, a diferencia de los circuitos
logicos vistos con anterioridad (denominados circuitos combinacionales), el biestable tiene
memoria. Esto conlleva que ante un mismo valor de las entradas puede producir salidas distintas
dependiendo del estado anterior. Este tipo de circuitos es un circuito logico no combinacional
denominados circuitos secuenciales.
Aqu se describe el biestable denominado R-S, que posee dos entradas: la entrada S para
su puesta a uno (set) y la entrada R para la puesta a cero (reset). Tiene dos salidas: el estado
y y el complementario y. La figura 4.2 muestra la construccion de un biestable R-S a base de
dos puertas O negadas. Para describir su funcionamiento es preciso suponer un estado inicial.
Consideramos que en el instante t = 0 el biestable tiene por salida y0 = y(0). El funcionamiento
del biestable queda entonces descrito por las siguientes reglas:
Si las entradas R y S estan inactivas (valen 0), el biestable conserva el estado anterior.
R = S = 0 y(t) = y0 t > 0
Es posible comprobar que estas reglas se cumplen para el circuito de la figura 4.2. Tambien es
facil demostrar que la salida no solo depende del valor de las entradas, sino de la salida anterior
a la aplicacion de tales entradas.
La tabla de transicion del biestable proporciona la salida del mismo en el instante pos-
terior y(t), conocida la salida en el instante actual y0 , y el valor actual de las entradas (RS):
RS 00 01 10 11
y0 = 0 0 1 0 X
y0 = 1 1 1 0 X
La tabla inversa a es la que da el valor de las entradas (RS) necesario para obtener un estado
y(t + 1), conocido el estado actual y(t), y recibe el nombre de tabla de excitaci on.
y(t) 0 1
y0 = 0 -0 01
y0 = 1 10 0-
En la tabla anterior se ha escrito el valor de R y S para que el estado en los instantes siguientes
sea el que aparece en la cabecera de la columna. El guion indica que la entrada correspondiente
puede tomar cualquier valor (0 o 1), porque el resultado no se ve afectado.
4.2.2 El registro
Las celdas elementales solo pueden representar los numeros cero o uno; para poder usar
numeros mayores estas celdas se agrupan. Un registro es un conjunto de celdas de memo-
ria, cuyo contenido representa una informacion codificada en binario que es procesada como un
ente unico. Fsicamente es una asociacion de biestables (figura 4.3). La salida de cada uno de
los biestables (bits Q0 a Q3 ) se interpreta como cifra de una cantidad expresada en binario. Al
aumentar el numero de cifras aumenta el numero de combinaciones posibles, por lo que se puede
representar una cantidad mayor de informacion. Por ejemplo, un registro de 7 celulas puede
almacenar 27 = 128 informaciones binarias distintas mientras que uno con 6 solo la mitad.
Es necesario comentar que, al unir varios biestables, interesa que los cambios ocurran en
todos ellos al mismo tiempo; es decir, que las transiciones entre estados esten coordinadas. Esto
se consigue disponiendo en cada biestable una entrada adicional llamada de sincronismo, la
cual se conecta mediante una puerta Y a las otras entradas R y S, de forma que, se impide que
senales R y S actuen hasta que se active la de sincronismo. La senal de sincronismo suele tomar
la forma dada en la figura 4.3, llamada tren de pulsos. El sincronismo viene dado por el reloj
40 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Q3 Q2 Q1 Q0
RS RS RS RS
sincronismo
interno del sistema y su papel es similar al del tambor que marca el ritmo a los remeros de una
galera.
que representa el numero 25 + 23 + 22 = 44, que es el numero original multiplicado por dos.
En el esquema funcional de Von Neumann (vease la figura 4.1) la memoria es el bloque que
almacena tanto los datos y resultados como las instrucciones. A peticion de la unidad de control
la memoria es capaz de realizar 3 operaciones:
Lectura. Consiste en extraer una copia de cierta informacion. En la mayora de las compu-
tadoras tal informacion pueden leerse cuantas veces se desee, pues no es destruida por el
proceso de lectura.
En la historia de las computadoras se han usado muchos dispositivos para almacenar informacion.
En la actualidad se usan circuitos integrados, discos magneticos y discos opticos. Cualquiera
que sea el soporte de la informacion la memoria queda definida por ciertas propiedades o carac-
tersticas como son:
Modo de acceso. Hay varias formas en las que se puede accceder a la informacion, entre
las que destacan el acceso directo y el secuencial, que se definen a continuacion.
- Acceso directo. Para llegar a una determinada informacion no es preciso pasar por las
anteriores. Este modo es tambien llamado aleatorio. El tiempo invertido en el acceso
es independiente de donde se encuentre la informacion.
- Acceso secuencial. En este tipo de acceso, para llegar a un dato hay que dejar pasar
la informacion que le precede. Esto es lo que sucede, por ejemplo, cuando se usa una
cinta magnetica.
42 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Medidas de capacidad
Las memorias como se ve pueden ser de muchos tipos, la mas importante para nuestro estudio
de la computadora digital es la memoria principal. En los equipos actuales esta memoria esta
realizada mediante circuitos semiconductores que forman puertas logicas. De este modo surge la
celda que da cobijo a la unidad fundamental de informacion. Estos y otros conceptos se definen
a continuacion.
Al tratar con memorias la unidad basica suele ser el caracter o byte. En terminos informaticos
kilo es un prefijo que equivale a 210 = 1024 unidades, pues es la potencia exacta de dos mas
proxima a mil. Del mismo modo, mega equivale a 220 = 1048576 unidades. En la tabla siguiente
se muestran algunos tamanos de memorias expresados de varios modos.
Clases de memoria
Aunque el esquema de la figura 4.1 no lo muestra, el hecho es que existen dentro de la compu-
tadora varias clases de memoria, atendiendo cada una a una mision particular. En esta seccion
se enumeran algunos de los tipos mas habituales de memoria.
c MRA & JAAR
2009 DISA. ESI. US. 43
Otra clasificacion de las memorias atiende al tipo de operaciones que es posible realizar en
ellas.
Memorias de acceso aleatorio. Mas conocidas como RAM, Random Access Memory. Son
memorias de lectura y escritura, en las que se puede direccionar directamente cualquier
posicion de la misma, a diferencia de las de acceso secuencial. Estan realizadas a base
de circuitos integrados que necesitan alimentacion constante, por lo que son volatiles. La
memoria principal de la computadora es de este tipo.
Memoria solo para lectura. Llamadas ROM, del ingles Read Only Memory. Se trata de
memorias en las que la informacion se almacena de forma permanente, bien durante su
construccion o bien en una fase posterior. De estos dispositivos, una vez en uso, solo puede
leerse la informacion almacenada, pero no puede escribirse nueva informacion.
Las operaciones para el arranque de una computadora estan contenidas en este tipo de
memorias. Esto es as puesto que se deben preservar al apagar el equipo, por lo que no
pueden usarse memorias volatiles.
Memoria reprogramable solo para lectura. Este tipo de memoria es conocida por el
nombre de EPROM, que son las siglas de Erasable-Programable ROM. Se trata de una
memoria para lectura que puede ser borrada por completo y regrabada. El borrado se
realiza mediante tecnicas especiales (por ejemplo, exposicion a rayos ultra-violeta). Tras
el borrado se puede reprogramar la memoria para que contenga nueva informacion de forma
permanente (hasta un nuevo borrado). El borrado y reprogramacion implica desmontar el
circuito integrado del resto de la placa, por lo que no son frecuentes.
Estructura matricial
La memoria principal en los equipos actuales esta constituida por circuitos integrados en cuyo
interior residen las celulas basicas de almacenamiento, organizadas en registros como ya se ha
dicho. Una forma de representar esto es usando una disposicion rectangular a base de filas y
columnas, como se muestra en la figura 4.4. Cada fila es un registro de n celdas, siendo n el
ancho del registro llamado tambien longitud de la palabra. El numero de filas N suele ser muy
alto como puede suponerse sabiendo la capacidad normal de las memorias actuales que es de
1
Necesita conexion especial para unirse al resto de modulos.
44 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
hilos de
registro seleccin
varios megacaracteres. Cada registro puede ser seleccionado mediante un hilo 2 . Para acceder
a los bits individuales que forman la palabra contenida en el registro se tienen n hilos llamados
de lectura/escritura (abreviadamente l/e).
La lectura se realiza transmitiendo por los hilos de l/e la informacion de cada celda del
registro seleccionado. La escritura realiza el proceso inverso, destruyendo la informacion que
resida previamente en el registro seleccionado.
De la figura 4.5 queda claro que la memoria contiene n 2m celdas por lo que su capacidad
es n 2m bits o bien n 2m /8 caracteres.
A modo de resumen, y para hacerse una idea de como se enlazan los elementos vistos hasta
ahora relativos a las memorias, se analizara la memoria central de una computadora. Esta esta
formada por una matriz celular de elementos de memoria, un decodificador de direcciones y una
2
Termino heredado de los das en que las memorias eran de nucleos de ferrita ensartados en los nodos de una
red de hilos conductores.
c MRA & JAAR
2009 DISA. ESI. US. 45
0
1
de direcciones
decodificador
m
m N=2
N-1
pequena unidad de control que coordina las operaciones necesarias para leer o escribir; todo ello
dentro de un circuito integrado. Los bloques funcionales se pueden ver en la figura 4.6, y se
describen a continuacion.
LECM
S
Decodificador
m ESCM
direcciones
n
datos T
Figura 4.6: Diagrama de bloques de la memoria central mostrando los registros y senales de
gobierno.
Para realizar una operacion de lectura o escritura con la estructura anteriormente descrita,
es necesario seguir un procedimiento que se detalla a continuacion.
Lectura. El objetivo final es obtener una copia del contenido de una direccion particular de
la memoria. Los pasos a seguir son:
Seleccionar la direccion que contiene la informacion a recuperar; para ello se ha de
introducir dicha direccion en el registro S.
46 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Dar la orden de lectura activando LECM; es decir, dando el valor logico 1 a LECM.
Con esto se consigue que la palabra seleccionada transfiera una copia de sus bits al
registro T.
Tomar el contenido del registro T, el cual contiene una copia de la palabra buscada.
Escritura. La escritura consiste en introducir una informacion dada en una posicion de
memoria concreta conocida. Los pasos a seguir son:
Selecionar la direccion que contiene la informacion a recuperar; para ello se ha de
introducir dicha direccion en el registro S.
Copiar en T la informacion que se quiere escribir en la memoria. Para ello se usan
los hilos de bit que conectan cada palabra de la memoria con el registro T.
Activar la senal de escritura haciendo ESCM=1.
La figura 4.7 ilustra esta idea. Puede verse que el registro 1 contiene los bits 010010 que
puede interpretarse como el numero binario 010010 |2) que en decimal es 010010 |2) = 18 |10) .
Similarmente, el registro 2 contiene los bits 000011 que puede interpretarse como el numero
binario 000011 |2) que en decimal es 000011 |2) = 3 |10) . Es facil comprobar que el circuito
sumador debe combinar la informacion de ambos registros de tal modo que el registro resultado
contenga 010101 que es la representacion binaria de la cantidad 18 + 3 = 21.
Registro resultado
010101
Sumador
010010 000011
Registro 1 Registro 2
Existen circuitos capaces de realizar operaciones aritmeticas como la suma, la resta, etc.
Tambien interesan operaciones llamadas logicas. Como ejemplo de operaciones logicas se puede
citar la comparacion de igualdad. Un circuito comparador produce el valor binario 1 si los dos
registros R1 y R2 son iguales y el valor 0 en caso contrario.
A
estado
SUMA
MULT Seales de
control.
Figura 4.8: Esquema de la Unidad Aritmetico Logica mostrando el acumulador y las senales de
gobierno. Las lneas que unen los registros consisten en realidad en uniones de n vas, siendo n
el numero de celdas de los registros.
como desplazamientos, sumas, comparaciones, etc. La unidad de control que tambien reside en
la pastilla puede seleccionar la operacion a efectuar gracias a las senales de control. La activacion
de alguna de estas senales provoca la puesta en marcha de la operacion correspondiente.
Los dos operandos provienen de la memoria. Para operar con ellos se saca una copia que se
guarda en registros especiales separados de la memoria central . Frecuentemente, en computa-
doras y calculadoras, el resultado de las operaciones se almacena en un registro A que recibe
el nombre de registro acumulador. Para reducir el tamano de la UAL, el acumulador es a
menudo tambien el soporte de uno de los operandos.
La UAL recibe ordenes de la unidad de control que especifican la operacion a realizar con
los datos del acumulador y del registro de operando. El resultado de las operaciones queda en
el acumulador a la espera de ser transferido cuando lo indique la unidad de control.
Para realizar una operacion con dos operandos, como por ejemplo la suma, se procede del
siguiente modo:
Se va a tratar ahora el problema de realizar operaciones aritmeticas con numeros usando circuitos
logicos. Los ejemplos que se van a explicar tienen como objetivo mostrar que es posible construir
una unidad de calculo basada en puertas logicas.
Semisumador
El semisumador permite realizar sumas aritmeticas entre bits. En cualquier sistema de nume-
racion, la suma mas sencilla es la de numeros de un solo dgito, por ejemplo 2 + 4. En el sistema
de numeracion en base dos los dgitos reciben el nombre de bits. El objetivo, por tanto, es sumar
dos numeros de un bit a y b, obteniendo ademas de la suma s el acarreo c. Observese que se
quiere obtener la suma aritmetica, no la suma logica, para aclarar esto ultimo considerese la
tabla de sumar en decimal y en binario.
decimal binario
+ 0 1 + 0 1
0 0 1 0 0 1
1 1 2 1 1 10
Como puede verse en la tabla anterior, la suma puede llegar a valer dos, que en binario es
10 |2 . En este caso son necesarios dos bits para almacenar el resultado. Para ello se utiliza el
acarreo, que es el valor del segundo bit por la derecha. El acarreo es igual a cero en todos casos
menos cuando se suma uno mas uno. La tabla de verdad se obtiene simplemente sumando:
a b c s
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Sumador completo
Interesa disponer de un sumador que admita tres entradas: el sumando primero, a, el segundo,
b y el acarreo de la suma anterior c1 . La tabla de verdad es:
c MRA & JAAR
2009 DISA. ESI. US. 49
a b c1 c s
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
a b c1
c1 a s s
a b SS (a b) c1
a a s b c
SS ab c
b b c
Sumador en paralelo
Restador
Para realizar la operacion resta con circuitos digitales se suele recurrir a propiedades de la
aritmetica binaria. En efecto, no es difcil ver que una de estas propiedades es que restar dos
numeros en binario es equivalente a sumar al minuendo el complemento a dos del sustraendo.
Veamos un ejemplo considerese la operacion en decimal 7 5 = 2, usando registros de 4 bits.
Entonces se tiene que 7|10 = 0111|2 y el numero 5 en complemento a dos es C2 (5) = 1011. Si
ahora hacemos la suma
0111 + 1011
|{z} |{z} = 1 0010
|{z} ,
7 C2 (5) SVA(2)
50 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
a2 a1 a0 b2 b1 b0
A B
SC SC SS
S
s3 s2 s1 s0
donde en el resultado se obtiene un bit de acarreo que no se tiene en cuenta ya que el resultado
no puede ser mayor que el minuendo.
a1 a0
m3 m2 m1 m0
b1 b0
a1 a0 b1 b0 m3 m2 m1 m0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 1
0 1 1 0 0 0 1 0
0 1 1 1 0 0 1 1
1 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 1 0
1 1 0 0 0 0 0 0
1 1 0 1 0 0 1 1
1 1 1 0 0 1 1 0
1 1 1 1 1 0 0 1
La funcion booleana para cada bit de salida se indica a continuacion. Puede comprobarse
que el resultado proporcionado es correcto realizando a mano cada una de las 16 multiplicaciones
y las conversiones a base dos.
Division
La division es la mas complicada de entre las operaciones. Se puede disenar un circuito es-
pecfico para esta tarea, pero resulta mas sencillo utilizar circuitos que realizan sumas, restas,
52 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Como se recordara, los numeros fraccionarios se representan en formato de punto flotante, como:
M 2E . Para realizar operaciones con numeros flotantes basta con usar los circuitos ya vistos
actuando independientemente sobre la mantisa y el exponente de acuerdo con ciertas reglas. En
notacion de mantisa y exponente las operaciones entre dos numeros A = a 2 p y B = b 2q se
realizan de la siguiente forma:
Producto. Basta con multiplicar las mantisas, sumar los exponentes y realizar ajuste
fraccionario del resultado: a 2p b 2q = ab 2p+q .
Suma y resta. Ambos numeros deben tener el mismo exponente, para ello se toma el mayor
de los dos (normalizacion): a 2p + b 2q = c 2q + b 2q = (c + b) 2q .
Tpicamente, los perifericos se conectan a la computadora mediante circuitos que realizan las
adaptaciones necesarias (niveles de tension, formato de la informacion, etc.). Esta es la situacion
mostrada en la figura 4.12. En el desarrollo del captulo se van a describir brevemente algunos
perifericos, para pasar posteriormente al problema de la comunicacion entre estos y la UCP.
c MRA & JAAR
2009 DISA. ESI. US. 53
4.4.1 Perifericos
Como se ha dicho, los perifericos son dispositivos que permiten el trasvase de informacion desde
el exterior a la computadora o al contrario. Los mas comunes son descritos a continuacion:
Teclado Permite tanto introducir texto, numeros y proporcionar senales para los programas. Se
compone de pulsadores electromecanicos que mandan un codigo identificador a un espacio
de almacenamiento temporal que la computadora lee y vaca periodicamente. Las teclas
que incluye son:
Letras, numeros y signos de puntuacion. Esta parte del teclado se asemeja al de una
maquina de escribir convencional.
Tecla INTRO. Tiene dos funciones: en primer lugar permite pasar a la siguiente lnea
en la escritura. Ademas, en programas de uso interactivo sirve para dar entrada a la
informacion tecleada anteriormente de forma que pueda ser procesada. Por ejemplo,
despues de introducir una orden hay que pulsar esta tecla, para que la computadora
ejecute la orden. En algunos teclados aparece el smbolo | , o la palabra RETURN o
ENTER.
Teclas de funcion, Numeradas desde la F1 a la F12 sirven para realizar ordenes dentro
de ciertos programas. No tienen un significado definido, sino que cada programa les
asigna una funcion, lo cual permite ahorrar tiempo de escritura. Por ejemplo, en
algunos editores la tecla F2 sirve para guardar una copia del texto actual en el disco.
Teclado numerico. Ademas de los numeros, los teclados modernos, suelen traer un
teclado numerico compuesto por los numeros, el punto decimal y otras, en la parte
derecha del teclado. De esta forma se agiliza la escritura de grandes cantidades de
datos.
Teclas de bloqueo de mayusculas, bloqueo de teclado numerico, etc.
Otras teclas especiales, como flechas, boton de parada, etc.
Teclas que alteran la funcion de otras teclas.
Tecla MAY3 . Pulsada simultaneamente con otra produce la escritura de la letra
en mayusculas o del signo superior de los dos que aparecen encima en la tecla.
3
En algunos teclados aparece como Shift, en otros como una flecha vertical .
54 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Figura 4.13: Imagenes proporcionadas por dos tarjetas de vdeo distintas. A la izquierda una
imagen de 201 129 puntos; a la derecha una imagen de 402 258 puntos, ambas en blanco y
negro.
impregnar el papel. Las mas usadas actualmente son las impresoras de chorro de tinta y
las laser.
La tinta en una impresora de chorro o inyeccion es lanzada gota a gota sobre el papel
formando los caracteres o dibujos. Un mecanismo especial va soltando la tinta (o tintas
de diversos colores). Las gotas son dirigidas mediante campos electricos para que lleguen
al lugar indicado sobre el papel.
La impresora laser permite copiar paginas enteras de una vez. Se basan en un tambor
cargado electrostaticamente, que al ser expuesto a un rayo laser se descarga en algunas
zonas. La tinta en polvo impregna luego esas zonas del tambor. Al pasar cerca del papel
cargado opuestamente al tambor la tinta se adhiere al papel. Finalmente se aplica calor
para que la tinta en polvo funda sobre el papel. Debido a que el laser es muy fino, la
calidad de impresion es muy alta.
No hay ningun codigo normalizado para la comunicacion ente impresoras y computadoras.
Sin embargo, normalmente no hay que preocuparse por estos detalles pues los programas
(o sistemas de explotacion) permiten seleccionar el tipo de impresora a usar mediante
menus, por lo que todo lo que uno debe saber es la marca y modelo de la impresora que
tiene conectada. Entre los muchos lenguajes se pueden destacar los siguentes: PCL 1 a
PCL 5 de Hewlett-Packard y PostScript o lenguaje de descripcion de paginas a base de
instrucciones producido por Adobe Systems Inc,
Las impresoras pueden conectarse a la computadora usando diversos adaptadores de entrada-
salida entre los que destacan: Centronics, RS232, SCSI y las conexiones de red como
Ethernet u otras.
Digitalizador de imagenes Se usan para obtener una version digital de imagenes sobre el
papel. Para ello la imagen es descompuesta en una matriz de puntos de color y posterior-
mente almacenada como un archivo en un formato grafico, como los conocidos GIF y
TIFF.
En ocasiones la digitalizacion de imagenes tiene por objeto conseguir un archivo conte-
niendo el texto impreso en la imagen. Es decir, la imagen puede ser una pagina de un
periodico y lo que se desea es el texto contenido en dicha pagina. A partir de la imagen
se pueden usar programas de reconocimiento de caracteres (conocidos como OCR) para
obtener el texto en un archivo. Los programas de reconocimiento de caracteres suelen
funcionar solo con letra de imprenta.
Discos magneticos Los dispositivos de almacenamiento masivo permiten guardar grandes can-
56 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Pista Cabezas
bits modulados
etiqueta 00100010000100000100
objetivo
detector datos
plstico
(a) (b)
Figura 4.15: (a) Esquema del disco optico. (b) Representacion de la informacion en el mismo.
tidades de datos de forma no volatil. Los dispositivos mas usados han sido de soporte
magnetico como el disco duro, las cintas magneticas y los discos flexibles hoy ya casi
desaparecidos.
Los discos duros estan fijos en el interior de la computadora. Su construccion les confiere
mayor rapidez y capacidad. Actualmente los discos duros pueden tener capacidades de
miles de Megacaracteres. En la parte derecha de la figura 4.14 se muestra un diagrama
simplificado de un disco duro, mostrando las cabezas que permiten la lectura y escritura.
Disco optico Los discos con soporte optico como los populares CD-ROM, CDR, DVD-ROM
y DVD-RAM permiten guardar gran cantidad de datos (de 700 Mc a varios Gc). La
informacion se guarda en binario en forma de agujeros o huecos microscopicos en el metal
interior del disco. Mediante un rayo laser se puede obtener una senal electrica con un
voltaje alto o bajo dependiendo del paso de depresiones bajo el laser a medida que el disco
gira.
El CD-ROM es casi identico a los discos compactos para audio que existan previamente.
De hecho, ambos discos son compatibles. Los reproductores de discos para audio incorpo-
ran una etapa de conversion de digital a analogico para producir el sonido, la cual no es
necesaria en el caso de reproductores para uso de la computadora.
Puesto que el metal que contiene los datos esta protegido por una capa de plastico se
consigue un medio menos sensible que los discos flexibles. El disco tiene los datos grabados
en una unica pista espiral. La lectura sobre la pista es a velocidad constante, por lo que
el disco gira a distintas velocidades segun el tramo leido. Ver figura 4.15 (a). Los datos
se modulan siguiendo la regla 8 en 14, que usa 14 bits para codificar cada caracter. Se
incluye un codigo de deteccion de errores de tipo CRC. La figura 4.15 (b) muestra la forma
en que los bits quedan grabados en el disco.
Dentro de los discos opticos hay varias clases: hay discos que solo admiten lectura, discos
que se pueden grabar una sola vez desde el equipo personal y discos que admiten ser
regrabados varias veces.
c MRA & JAAR
2009 DISA. ESI. US. 57
A B A B
C D C D
Figura 4.16: Conexion de cuatro modulos punto a punto (izquierda) y mediante una lnea
(derecha).
Esta seccion tiene por objeto mostrar como se unen los modulos que componen una computa-
dora digital mediante enlaces. De este modo estaremos en disposicion de presentar un modelo
simplificado de computadora capaz de ejemplificar las funciones basicas de las computadoras
reales. Este modelo servira, entre otras cosas, para describir en detalle la unidad de control,
que es el elemento encargado de armonizar las operaciones de cada uno de los modulos de la
computadora.
4.5.1 Enlaces
Los enlaces tienen como mision conectar los distintos modulos para poder transferir informacion
entre ellos. Por ejemplo, las instrucciones que componen el programa han de ser ledas de la
memoria, de donde pasan a la unidad de control, donde son interpretadas. Los resultados de las
operaciones en la UAL son frecuentemente almacenados en memoria, por lo que estos modulos
han de estar conectados tambien.
Simplificacion de los sistemas (cada uno solo tiene una entrada y una salida).
enlace
enlace
gobierno
gobierno
informacin
informacin
Aunque el enlace se represente en los diagramas con un solo trazo, suelen haber varias pistas
en paralelo, con lo que la transmision es mas rapida. El ancho del enlace es el numero de bits
que se transmiten en paralelo, que puede ser menor, mayor o igual a la longitud de la palabra
de la memoria.
Por otro lado, el paso de informacion desde los modulos hacia el enlace se ha de controlar
pues no puede producirse en cualquier momento, de otro modo podran aparecer colisiones de
mensajes si dos modulos transmiten al mismo tiempo. Una posible solucion para controlar el
acceso a la lnea por parte de un dispositivo es el uso de una puerta AND triestado por cada
hilo que parte del dispositivo hacia el camino. La puerta triestado permite quedar a la escucha
y tambien permite mandar al enlace la informacion que la atraviesa.
El esquema se aprecia en la figura 4.17 a la izquierda. La senal que niega o permite el acceso
al enlace se llama de gobierno. La puerta triestado permite que la salida fluctue libremente
cuando la senal de gobierno vale cero. De este modo, el enlace transporta el valor indicado
por algun otro elemento. Por contra, cuando la senal de gobierno toma el valor uno la puerta
triestado permite el paso de informacion a traves suyo.
La unidad de control es el elemento que ordena a todos los demas. La tarea que tiene enco-
mendada consiste en enviar las senales de control que provocan operaciones de los modulos y
c MRA & JAAR
2009 DISA. ESI. US. 59
INCP
A P S LECM
EA EP SP ES ESCM
S
SUMA MEM
MULT SD
CO MD D
I ESCP LEET
SA EO EI T E
M ET ST EE SE M
Figura 4.18: Esquema de una computadora digital mostrando los enlaces y las senales de go-
bierno.
Los elementos con que se va a trabajar y que aparecen en dicha figura son:
2. Otro enlace S que une la unidad de control y el selector de posiciones de memoria. Por el
se transmiten direcciones de memoria.
4. La UAL con registro acumulador que almacena uno de los operandos y el resultado de las
operaciones.
Para comenzar la explicacion se parte de una situacion en la que el programa ha sido alma-
cenado previamente en la memoria. El programa se va a ejecutar paso a paso bajo la direccion
de la unidad de control. Esta debe obtener de la memoria la instruccion a ejecutar, por lo que
necesita disponer de algun medio que le permita conocer en que posicion de memoria se encuen-
tra localizada la misma. El problema se resuelve colocando las instrucciones secuencialmente
en la memoria y dotando a la unidad de control de un registro de direccion de la instruccion
(registro P en la figura anterior). Este registro es un contador que se incrementa en una unidad
cada vez que se realiza una instruccion, pasando as a apuntar a la siguiente.
Cada instruccion requiere tres componentes para quedar totalmente definida: la operacion,
la forma de direccionamiento y una direccion con la que operar. Estos elementos se codifican en
binario y se guardan en el registro I, que consta de las tres partes que se describen a continuacion.
1. Codigo de operacion (CO), es un conjunto de ceros y unos que identifica la operacion que
debe realizarse. Las instrucciones como la suma, la resta, etc. tienen cada una un codigo
distinto.
2. El modo de direccionamiento (MD), que indica la forma en que se ha de interpretar la
direccion que esta incluida en la instruccion. En el caso mas sencillo (llamado direcciona-
miento directo) la direccion es la del dato o resultado de la operacion.
3. Direccion de memoria (D). Esta direccion puede interpretarse de formas distintas, segun
el modo de direccionamiento y la instruccion de que se trate. En un caso simple como la
suma directa, esta direccion es el lugar de la memoria donde reside el dato que se ha de
sumar.
CO MD D
0101 0 00000001000
4 A 17 P S 4 A 17 P S
8 3 8 3
17 8
17 co | md | 8 17 co | md | 8
co | md | 8 I co | md | 8 I
A) B)
7 A 17 P S 7 A 18 P S
8 3 8 3
8 8
4 3 17 co | md | 8 17 co | md | 8
co | md | 8 I 3 co | md | 8 I
C) D)
La figura 4.19 muestra de forma esquematica el desarrollo de las cuatro fases para una
instruccion como la suma directa. Como es sabido los registros contienen los numeros en binario,
sin embargo, para dar mayor claridad al dibujo se han indicado aqu en decimal. Las posiciones
de memoria tambien se han indicado con su direccion en decimal por identico motivo.
En la parte C) se realiza una nueva lectura de memoria que permite pasar el operando al
registro de operando de la UAL. Despues se efectua la suma del acumulador que contena el
numero 4 con el operando. El resultado (7 = 4 + 3) pasa al propio acumulador.
(a) Buscar el operando a sumar. Para ello hay que permitir el paso de D al registro S:
(D) S. De este modo se direcciona dicho operando.
(b) Leer de memoria: M(S) T. El registro de la memoria que ha sido seleccionado es
copiado en T, con lo que se tiene el numero a sumar en T.
4. Preparacion de la siguiente instruccion. En este caso hay que sumar uno al contador de
pasos del programa: (P)+1 P.
La forma en que se han detallado los pasos a realizar para ejecutar la instruccion suma
consiste en dar las transferencias elementales entre registros. Del diagrama 4.18
resulta claro que para lograr estas transferencias es necesario activar las senales de entrada y
salida de los registros, tales como: SP, ES, etc. En la tabla 4.1 se muestra de nuevo la secuencia
de operaciones para el mismo ejemplo de la suma, pero incluyendo las senales de gobierno
necesarias.
La instruccion de salto
Se ha indicado que el contador de pasos de programa se incrementa en una unidad cada vez que
se ejecuta una instruccion, de forma que pase a senalar la direccion de la siguiente instruccion
en la memoria. Esta forma de proceder es adecuada para muchas situaciones, pero esta muy
falta de versatilidad. El llamado salto incondicional permite romper el orden de ejecucion de
las instrucciones, de forma que, tras la instruccion de salto situada en la direccion d, se pasa
a ejecutar otra, situada en una direccion distinta de d + 1. Para ello es necesario y suficiente
modificar el registro contador de pasos del programa P. Los pasos necesarios son:
2. Busqueda del operando: en la parte D del registro I debe figurar la direccion del salto, que
se debe introducir en P, por lo que no es necesario buscar en memoria.
4. Preparacion de la siguiente instruccion. En este caso no hay que hacer nada pues el
contador de pasos del programa contiene ya la direccion de la siguiente instruccion tras
del salto.
Saltos condicionales
La instruccion de salto condicional permite realizar el salto de una instruccion a otra dependiendo
de una condicion, por ejemplo si el acumulador es positivo. De este modo se puede obtener un
programa que a partir de un punto realiza unas instrucciones u otras dependiendo de que el
acumulador sea positivo o no. Esto es realmente importante (como se vera mas adelante) para
realizar las llamadas bifurcaciones.
64 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
LECM
seales de gobierno
...
EO
SP
reloj
CO MD I
La funcion de la unidad de control es interpretar cada una de las instrucciones del programa a
ejecutar, enviando las senales de control correspondientes a la memoria, la UAL, etc. de manera
que dichas instrucciones se ejecuten.
Se ha visto en los ejemplos anteriores que las senales de control permiten realizar operaciones
y transferencias de informacion entre registros, las cuales, son la base del funcionamiento de la
computadora.
La figura 4.20 muestra un diagrama incluyendo la unidad de control como un bloque funcional
que genera las senales de gobierno a partir del codigo de operacion.
Volviendo al cronograma hay que indicar el eje vertical indica el voltaje de la senal cuyo
nombre aparece a la derecha. El eje horizontal se ha dividido en cuatro partes llamadas fases
de reloj. Hay que hacer notar que las fases de reloj (1 , 2 , 3 y 4 ) no se corresponden con
las fases en las que se ha dividido la ejecucion de la instruccion. Las cuatro fases de reloj se
agrupan en dos ciclos:
1 2 3 4
reloj
SP
ES
LECM
ST
EI
SD
EO
SUMA
EA
INCP
Finalmente, es de resaltar que cada instruccion se realiza mediante transferencias entre re-
gistros, las cuales se llevan a cabo gracias a una secuencia concreta de microordenes; por lo
tanto, cada instruccion tiene un cronograma. El cronograma de cada instruccion es trazado por
el disenador de la computadora de acuerdo con las caractersticas del mismo, como son: numero
de registros de que se dispone, complejidad de la UAL, etc. Por lo tanto, cada equipo (cada
microprocesador) tiene sus cronogramas propios. El objetivo de la unidad de control va a ser va-
riar las senales de gobierno en los instantes adecuados de la forma marcada por los cronogramas
de las instrucciones.
Existe otro tipo de UC llamada microprogramada, ideada por Wilkes, en la cual las senales
de gobierno parten de una micro-memoria eliminando gran parte de los circuitos necesarios en
la UC cableada. Este esquema ofrece ciertas ventajas, pero que queda fuera del alcance de este
libro.
Los siguientes ejercicios sirven para consolidar las ideas mas importantes de este tema.
1. Disene un circuito con puertas logicas que realize la funcion de un decodificador de direc-
ciones para seleccionar entre 8 registros de una memoria.