Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura de La Computadora Digital: Tema 4
Estructura de La Computadora Digital: Tema 4
Como se avanzó en el tema 1, la computadora digital está 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 razón de esta diferencia es
resaltar, que la comunicación entre bloques es de dos tipos: información y señales de control. La
primera categorı́a, la información, abarca los datos, los resultados y otras informaciones como
direcciones de memoria, estados, etc. La segunda categorı́a, las señales de control son órdenes
que la UC manda a los distintos elementos para que se realicen las operaciones.
Se verá más adelante que la UC y la UAL forman la unidad central de proceso (UCP), que es
la responsable de la ejecución del programa. La memoria tiene un papel pasivo proporcionando
los datos e instrucciones cuando son solicitados por la UCP.
unidad de entrada/salida
Memoria Periféfico 1
UAL
principal
señales
Periférico n de control
Unidad de control
información
37
38 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
R y
S y
El biestable es un dispositivo (electrónico) con dos posibles estados estables; es decir, estados
que en ausencia de excitación externa no cambian. Hay varias clases de biestables, pero todos
permiten almacenar una unidad de información (0 ó 1). Considerado como un sistema lógico,
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
lógicos 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 lógico 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 construcción 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 están 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. También es
fácil demostrar que la salida no sólo depende del valor de las entradas, sino de la salida anterior
a la aplicación de tales entradas.
La tabla de transición 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 ón.
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 guión indica que la entrada correspondiente
puede tomar cualquier valor (0 ó 1), porque el resultado no se ve afectado.
4.2.2 El registro
Las celdas elementales sólo pueden representar los números cero o uno; para poder usar
números mayores estas celdas se agrupan. Un registro es un conjunto de celdas de memo-
ria, cuyo contenido representa una información codificada en binario que es procesada como un
ente único. Fı́sicamente es una asociación 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 número de cifras aumenta el número de combinaciones posibles, por lo que se puede
representar una cantidad mayor de información. Por ejemplo, un registro de 7 células puede
almacenar 27 = 128 informaciones binarias distintas mientras que uno con 6 sólo 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 estén 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
señales R y S actúen hasta que se active la de sincronismo. La señal 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 número 25 + 23 + 22 = 44, que es el número original multiplicado por dos.
En el esquema funcional de Von Neumann (véase la figura 4.1) la memoria es el bloque que
almacena tanto los datos y resultados como las instrucciones. A petición de la unidad de control
la memoria es capaz de realizar 3 operaciones:
• Lectura. Consiste en extraer una copia de cierta información. En la mayorı́a de las compu-
tadoras tal información pueden leerse cuantas veces se desee, pues no es destruida por el
proceso de lectura.
Esta memoria es llamada hoy en dı́a memoria interna y es la que contiene el programa
durante su ejecución. En la actualidad se compone de circuitos integrados y por este motivo se
les llama memorias de silicio por ser este elemento la base de los dichos circuitos electrónicos.
Además de la memoria interna existen dispositivos de memoria auxiliares como el disco duro y
los discos ópticos (CD, DVD, etc.).
En la historia de las computadoras se han usado muchos dispositivos para almacenar información.
En la actualidad se usan circuitos integrados, discos magnéticos y discos ópticos. Cualquiera
que sea el soporte de la información la memoria queda definida por ciertas propiedades o carac-
terı́sticas como son:
• Modo de acceso. Hay varias formas en las que se puede accceder a la información, entre
las que destacan el acceso directo y el secuencial, que se definen a continuación.
- Acceso directo. Para llegar a una determinada información no es preciso pasar por las
anteriores. Este modo es también llamado aleatorio. El tiempo invertido en el acceso
es independiente de donde se encuentre la información.
- Acceso secuencial. En este tipo de acceso, para llegar a un dato hay que dejar pasar
la información que le precede. Esto es lo que sucede, por ejemplo, cuando se usa una
cinta magnética.
42 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Medidas de capacidad
Las memorias como se ve pueden ser de muchos tipos, la más importante para nuestro estudio
de la computadora digital es la memoria principal. En los equipos actuales esta memoria está
realizada mediante circuitos semiconductores que forman puertas lógicas. De este modo surge la
celda que da cobijo a la unidad fundamental de información. Éstos y otros conceptos se definen
a continuación.
Al tratar con memorias la unidad básica suele ser el carácter o byte. En términos informáticos
kilo es un prefijo que equivale a 210 = 1024 unidades, pues es la potencia exacta de dos más
próxima a mil. Del mismo modo, mega equivale a 220 = 1048576 unidades. En la tabla siguiente
se muestran algunos tamaños 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 misión particular. En esta sección
se enumeran algunos de los tipos más habituales de memoria.
c MRA & JAAR
2009 DISA. ESI. US. 43
Otra clasificación de las memorias atiende al tipo de operaciones que es posible realizar en
ellas.
• Memorias de acceso aleatorio. Más conocidas como RAM, Random Access Memory. Son
memorias de lectura y escritura, en las que se puede direccionar directamente cualquier
posición de la misma, a diferencia de las de acceso secuencial. Están realizadas a base
de circuitos integrados que necesitan alimentación constante, por lo que son volátiles. La
memoria principal de la computadora es de este tipo.
• Memoria sólo para lectura. Llamadas ROM, del inglés Read Only Memory. Se trata de
memorias en las que la información se almacena de forma permanente, bien durante su
construcción o bien en una fase posterior. De estos dispositivos, una vez en uso, sólo puede
leerse la información almacenada, pero no puede escribirse nueva información.
Las operaciones para el arranque de una computadora están 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 volátiles.
• Memoria reprogramable sólo 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 técnicas especiales (por ejemplo, exposición a rayos ultra-violeta). Tras
el borrado se puede reprogramar la memoria para que contenga nueva información de forma
permanente (hasta un nuevo borrado). El borrado y reprogramación 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 está constituida por circuitos integrados en cuyo
interior residen las células básicas de almacenamiento, organizadas en registros como ya se ha
dicho. Una forma de representar esto es usando una disposición 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 también longitud de la palabra. El número de filas N suele ser muy
alto como puede suponerse sabiendo la capacidad normal de las memorias actuales que es de
1
Necesita conexión especial para unirse al resto de módulos.
44 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
hilos de
registro selección
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 información de cada celda del
registro seleccionado. La escritura realiza el proceso inverso, destruyendo la información que
residı́a 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 cómo se enlazan los elementos vistos hasta
ahora relativos a las memorias, se analizará la memoria central de una computadora. Ésta está
formada por una matriz celular de elementos de memoria, un decodificador de direcciones y una
2
Término heredado de los dı́as en que las memorias eran de núcleos 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
pequeña 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 continuación.
LECM
S
Decodificador
m ESCM
direcciones
n
datos T
Figura 4.6: Diagrama de bloques de la memoria central mostrando los registros y señales de
gobierno.
Para realizar una operación de lectura o escritura con la estructura anteriormente descrita,
es necesario seguir un procedimiento que se detalla a continuación.
• Lectura. El objetivo final es obtener una copia del contenido de una dirección particular de
la memoria. Los pasos a seguir son:
• Seleccionar la dirección que contiene la información a recuperar; para ello se ha de
introducir dicha dirección en el registro S.
46 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
• Dar la orden de lectura activando LECM; es decir, dando el valor lógico 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 información dada en una posición de
memoria concreta conocida. Los pasos a seguir son:
• Selecionar la dirección que contiene la información a recuperar; para ello se ha de
introducir dicha dirección en el registro S.
• Copiar en T la información 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 señal 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 número binario 010010 |2) que en decimal es 010010 |2) = 18 |10) .
Similarmente, el registro 2 contiene los bits 000011 que puede interpretarse como el número
binario 000011 |2) que en decimal es 000011 |2) = 3 |10) . Es fácil comprobar que el circuito
sumador debe combinar la información de ambos registros de tal modo que el registro resultado
contenga 010101 que es la representación binaria de la cantidad 18 + 3 = 21.
Registro resultado
010101
Sumador
010010 000011
Registro 1 Registro 2
Existen circuitos capaces de realizar operaciones aritméticas como la suma, la resta, etc.
También interesan operaciones llamadas lógicas. Como ejemplo de operaciones lógicas se puede
citar la comparación 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.
La construcción de la UAL se lleva a cabo hoy en dı́a en una pastilla de silicio, agrupando
una serie de circuitos con puertas lógicas. Estos circuitos son capaces de realizar tareas concretas
c MRA & JAAR
2009 DISA. ESI. US. 47
A
estado
SUMA
MULT Señales de
··· control.
Figura 4.8: Esquema de la Unidad Aritmético Lógica mostrando el acumulador y las señales de
gobierno. Las lı́neas que unen los registros consisten en realidad en uniones de n vı́as, siendo n
el número de celdas de los registros.
como desplazamientos, sumas, comparaciones, etc. La unidad de control que también reside en
la pastilla puede seleccionar la operación a efectuar gracias a las señales de control. La activación
de alguna de estas señales provoca la puesta en marcha de la operación 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 tamaño de la UAL, el acumulador es a
menudo también el soporte de uno de los operandos.
La UAL recibe órdenes de la unidad de control que especifican la operación 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 operación con dos operandos, como por ejemplo la suma, se procede del
siguiente modo:
Se va a tratar ahora el problema de realizar operaciones aritméticas con números usando circuitos
lógicos. Los ejemplos que se van a explicar tienen como objetivo mostrar que es posible construir
una unidad de cálculo basada en puertas lógicas.
Semisumador
El semisumador permite realizar sumas aritméticas entre bits. En cualquier sistema de nume-
ración, la suma más sencilla es la de números de un sólo dı́gito, por ejemplo 2 + 4. En el sistema
de numeración en base dos los dı́gitos reciben el nombre de bits. El objetivo, por tanto, es sumar
dos números de un bit a y b, obteniendo además de la suma s el acarreo c. Obsérvese que se
quiere obtener la suma aritmética, no la suma lógica, para aclarar esto último considérese 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 más 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 operación resta con circuitos digitales se suele recurrir a propiedades de la
aritmética binaria. En efecto, no es difı́cil ver que una de estas propiedades es que restar dos
números en binario es equivalente a sumar al minuendo el complemento a dos del sustraendo.
Veamos un ejemplo considérese la operación en decimal 7 − 5 = 2, usando registros de 4 bits.
Entonces se tiene que 7|10 = 0111|2 y el número 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 función booleana para cada bit de salida se indica a continuación. Puede comprobarse
que el resultado proporcionado es correcto realizando a mano cada una de las 16 multiplicaciones
y las conversiones a base dos.
División
La división es la más complicada de entre las operaciones. Se puede diseñar un circuito es-
pecı́fico para esta tarea, pero resulta más sencillo utilizar circuitos que realizan sumas, restas,
52 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
Como se recordará, los números fraccionarios se representan en formato de punto flotante, como:
M · 2E . Para realizar operaciones con números flotantes basta con usar los circuitos ya vistos
actuando independientemente sobre la mantisa y el exponente de acuerdo con ciertas reglas. En
notación de mantisa y exponente las operaciones entre dos números 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 números deben tener el mismo exponente, para ello se toma el mayor
de los dos (normalización): a · 2p + b · 2q = c · 2q + b · 2q = (c + b) · 2q .
Tı́picamente, los periféricos se conectan a la computadora mediante circuitos que realizan las
adaptaciones necesarias (niveles de tensión, formato de la información, etc.). Ésta es la situación
mostrada en la figura 4.12. En el desarrollo del capı́tulo se van a describir brevemente algunos
periféricos, para pasar posteriormente al problema de la comunicación entre éstos y la UCP.
c MRA & JAAR
2009 DISA. ESI. US. 53
4.4.1 Periféricos
Como se ha dicho, los periféricos son dispositivos que permiten el trasvase de información desde
el exterior a la computadora o al contrario. Los más comunes son descritos a continuación:
Teclado Permite tanto introducir texto, números y proporcionar señales para los programas. Se
compone de pulsadores electromecánicos que mandan un código identificador a un espacio
de almacenamiento temporal que la computadora lee y vacı́a periódicamente. Las teclas
que incluye son:
• Letras, números y signos de puntuación. Esta parte del teclado se asemeja al de una
máquina de escribir convencional.
• Tecla INTRO. Tiene dos funciones: en primer lugar permite pasar a la siguiente lı́nea
en la escritura. Además, en programas de uso interactivo sirve para dar entrada a la
información tecleada anteriormente de forma que pueda ser procesada. Por ejemplo,
después de introducir una orden hay que pulsar esta tecla, para que la computadora
ejecute la orden. En algunos teclados aparece el sı́mbolo ←| , o la palabra RETURN o
ENTER.
• Teclas de función, Numeradas desde la F1 a la F12 sirven para realizar órdenes dentro
de ciertos programas. No tienen un significado definido, sino que cada programa les
asigna una función, 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 numérico. Además de los números, los teclados modernos, suelen traer un
teclado numérico compuesto por los números, 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 mayúsculas, bloqueo de teclado numérico, etc.
• Otras teclas especiales, como flechas, botón de parada, etc.
• Teclas que alteran la función de otras teclas.
– Tecla MAY3 . Pulsada simultáneamente con otra produce la escritura de la letra
en mayúsculas 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: Imágenes proporcionadas por dos tarjetas de vı́deo 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 más usadas actualmente son las impresoras de chorro de tinta y
las láser.
La tinta en una impresora de chorro o inyección 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 eléctricos para que lleguen
al lugar indicado sobre el papel.
La impresora láser permite copiar páginas enteras de una vez. Se basan en un tambor
cargado electrostáticamente, que al ser expuesto a un rayo láser 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 láser es muy fino, la
calidad de impresión es muy alta.
No hay ningún código normalizado para la comunicación ente impresoras y computadoras.
Sin embargo, normalmente no hay que preocuparse por estos detalles pues los programas
(o sistemas de explotación) permiten seleccionar el tipo de impresora a usar mediante
menús, 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 descripción de páginas 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 imágenes Se usan para obtener una versión digital de imágenes 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 gráfico, como los conocidos GIF y
TIFF.
En ocasiones la digitalización de imágenes tiene por objeto conseguir un archivo conte-
niendo el texto impreso en la imagen. Es decir, la imagen puede ser una página de un
periódico y lo que se desea es el texto contenido en dicha página. 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 sólo con letra de imprenta.
Discos magnéticos 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
plástico
(a) (b)
Figura 4.15: (a) Esquema del disco óptico. (b) Representación de la información en el mismo.
tidades de datos de forma no volátil. Los dispositivos más usados han sido de soporte
magnético como el disco duro, las cintas magnéticas y los discos flexibles hoy ya casi
desaparecidos.
Los discos duros están fijos en el interior de la computadora. Su construcción 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 óptico Los discos con soporte óptico como los populares CD-ROM, CDR, DVD-ROM
y DVD-RAM permiten guardar gran cantidad de datos (de 700 Mc a varios Gc). La
información se guarda en binario en forma de agujeros o huecos microscópicos en el metal
interior del disco. Mediante un rayo láser se puede obtener una señal eléctrica con un
voltaje alto o bajo dependiendo del paso de depresiones bajo el láser a medida que el disco
gira.
El CD-ROM es casi idéntico a los discos compactos para audio que existı́an previamente.
De hecho, ambos discos son compatibles. Los reproductores de discos para audio incorpo-
ran una etapa de conversión de digital a analógico 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 está protegido por una capa de plástico se
consigue un medio menos sensible que los discos flexibles. El disco tiene los datos grabados
en una única pista espiral. La lectura sobre la pista es a velocidad constante, por lo que
el disco gira a distintas velocidades según 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 carácter. Se
incluye un código de detección 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 ópticos hay varias clases: hay discos que sólo 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: Conexión de cuatro módulos punto a punto (izquierda) y mediante una lı́nea
(derecha).
Esta sección tiene por objeto mostrar cómo se unen los módulos que componen una computa-
dora digital mediante enlaces. De este modo estaremos en disposición de presentar un modelo
simplificado de computadora capaz de ejemplificar las funciones básicas de las computadoras
reales. Este modelo servirá, 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 módulos de la
computadora.
4.5.1 Enlaces
Los enlaces tienen como misión conectar los distintos módulos para poder transferir información
entre ellos. Por ejemplo, las instrucciones que componen el programa han de ser leı́das 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 éstos módulos
han de estar conectados también.
• Simplificación de los sistemas (cada uno sólo tiene una entrada y una salida).
enlace
enlace
gobierno
gobierno
información
información
Aunque el enlace se represente en los diagramas con un solo trazo, suelen haber varias pistas
en paralelo, con lo que la transmisión es más rápida. El ancho del enlace es el número 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 información desde los módulos hacia el enlace se ha de controlar
pues no puede producirse en cualquier momento, de otro modo podrı́an aparecer colisiones de
mensajes si dos módulos transmiten al mismo tiempo. Una posible solución para controlar el
acceso a la lı́nea 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 también permite mandar al enlace la información que la atraviesa.
El esquema se aprecia en la figura 4.17 a la izquierda. La señal que niega o permite el acceso
al enlace se llama de gobierno. La puerta triestado permite que la salida fluctúe libremente
cuando la señal de gobierno vale cero. De este modo, el enlace transporta el valor indicado
por algún otro elemento. Por contra, cuando la señal de gobierno toma el valor uno la puerta
triestado permite el paso de información a través suyo.
La unidad de control es el elemento que ordena a todos los demás. La tarea que tiene enco-
mendada consiste en enviar las señales de control que provocan operaciones de los módulos 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 señales 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 él
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 explicación se parte de una situación en la que el programa ha sido alma-
cenado previamente en la memoria. El programa se va a ejecutar paso a paso bajo la dirección
de la unidad de control. Ésta debe obtener de la memoria la instrucción a ejecutar, por lo que
necesita disponer de algún medio que le permita conocer en qué posición 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 dirección de la instrucción
(registro P en la figura anterior). Este registro es un contador que se incrementa en una unidad
cada vez que se realiza una instrucción, pasando ası́ a apuntar a la siguiente.
Cada instrucción requiere tres componentes para quedar totalmente definida: la operación,
la forma de direccionamiento y una dirección 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 continuación.
1. Código de operación (CO), es un conjunto de ceros y unos que identifica la operación que
debe realizarse. Las instrucciones como la suma, la resta, etc. tienen cada una un código
distinto.
2. El modo de direccionamiento (MD), que indica la forma en que se ha de interpretar la
dirección que está incluida en la instrucción. En el caso más sencillo (llamado direcciona-
miento directo) la dirección es la del dato o resultado de la operación.
3. Dirección de memoria (D). Esta dirección puede interpretarse de formas distintas, según
el modo de direccionamiento y la instrucción de que se trate. En un caso simple como la
suma directa, esta dirección 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 esquemática el desarrollo de las cuatro fases para una
instrucción como la suma directa. Como es sabido los registros contienen los números en binario,
sin embargo, para dar mayor claridad al dibujo se han indicado aquı́ en decimal. Las posiciones
de memoria también se han indicado con su dirección en decimal por idéntico motivo.
En la parte C) se realiza una nueva lectura de memoria que permite pasar el operando al
registro de operando de la UAL. Después se efectúa la suma del acumulador que contenı́a el
número 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 número a sumar en T.
4. Preparación de la siguiente instrucción. 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 instrucción suma
consiste en dar las transferencias elementales entre registros. Del diagrama 4.18
resulta claro que para lograr estas transferencias es necesario activar las señales 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 señales de gobierno
necesarias.
La instrucción de salto
Se ha indicado que el contador de pasos de programa se incrementa en una unidad cada vez que
se ejecuta una instrucción, de forma que pase a señalar la dirección de la siguiente instrucción
en la memoria. Esta forma de proceder es adecuada para muchas situaciones, pero está muy
falta de versatilidad. El llamado salto incondicional permite romper el orden de ejecución de
las instrucciones, de forma que, tras la instrucción de salto situada en la dirección d, se pasa
a ejecutar otra, situada en una dirección distinta de d + 1. Para ello es necesario y suficiente
modificar el registro contador de pasos del programa P. Los pasos necesarios son:
2. Búsqueda del operando: en la parte D del registro I debe figurar la dirección del salto, que
se debe introducir en P, por lo que no es necesario buscar en memoria.
4. Preparación de la siguiente instrucción. En este caso no hay que hacer nada pues el
contador de pasos del programa contiene ya la dirección de la siguiente instrucción tras
del salto.
Saltos condicionales
La instrucción de salto condicional permite realizar el salto de una instrucción a otra dependiendo
de una condición, 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 verá más adelante) para
realizar las llamadas bifurcaciones.
64 TEMA 4. ESTRUCTURA DE LA COMPUTADORA DIGITAL
LECM
señales de gobierno
...
EO
SP
reloj
CO MD I
La función de la unidad de control es interpretar cada una de las instrucciones del programa a
ejecutar, enviando las señales 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 señales de control permiten realizar operaciones
y transferencias de información 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 señales de gobierno a partir del código de operación.
Volviendo al cronograma hay que indicar el eje vertical indica el voltaje de la señal 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 ejecución de la instrucción. 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 instrucción se realiza mediante transferencias entre re-
gistros, las cuales se llevan a cabo gracias a una secuencia concreta de microórdenes; por lo
tanto, cada instrucción tiene un cronograma. El cronograma de cada instrucción es trazado por
el diseñador de la computadora de acuerdo con las caracterı́sticas del mismo, como son: número
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 señales 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 señales
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 más importantes de este tema.
1. Diseñe un circuito con puertas lógicas que realize la función de un decodificador de direc-
ciones para seleccionar entre 8 registros de una memoria.