APUNTES DE SISTEMAS DIGITALES II
I. CONCEPTOS BASICOS
Una computadora digital es una combinación de dispositivos y circuitos digitales que
pueden realizar una secuencia programada de operaciones con un mínimo de intervención
humana. A la secuencia de operaciones se le domina programa. El programa es un conjunto
de instrucciones codificadas que se almacena en la memoria interna de la computadora con
todos los datos que el programa requiere. Cuando a la computadora se le ordena ejecutar el
programa, esta lleva acabo las instrucciones en el orden en que están almacenadas en la
memoria hasta que el programa se completa. Esto lo hace a velocidades extremadamente altas
sin cometer ningún error.
1.1 Elementos y Características de un Sistema de Computo
Toda computadora contiene cinco elementos o unidades esenciales. La unidad
aritmética-1ogica (ALU por sus siglas en ingles), la unidad de memoria, la unidad de control,
la unidad de entrada y la unidad de salida. La interconexión básica de estas unidades se
muestra en la figura 1.1. Las flechas en este diagrama indican la dirección en la cual fluyen
los datos, información o señales de control. Se usan dos flechas de diferente tamaño; las
flechas mayores representan datos o información que consisten en un número relativamente
grande de líneas paralelas y las flechas menores representan señales de control que por lo
general son sólo una o unas cuantas líneas. Las diversas flechas también se numeran para
permitir un fácil acceso a ellas en las descripciones que siguen.
Unidad aritmética-1ógica. La ALU es área de la computadora en la cual se realizan
operaciones aritméticas y 1ógicas con datos. El tipo de operación que se realizará se
determina por medio de señales de la unidad de control (flecha 1). Los datos que serán
utilizados por la ALU pueden provenir de la unidad de memoria (flecha 2) o de la unidad de
entrada (flecha 3). Los resultados de operaciones realizadas en la ALU pueden transferirse a
la unidad de memoria para ser almacenados (flecha 4) o a la unidad de salida (flecha 5).
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 1
APUNTES DE SISTEMAS DIGITALES II
Figura 1.1 Organización básica de la computadora
Unidad de memoria. La memoria almacena grupos de dígitos (palabras) binarios que
pueden representar instrucciones (programa) que la computadora ejecutará y los datos que
serán operados por el programa. La memoria sirve también como almacenamiento de
resultados intermedios y finales de operaciones aritméticas (flecha 4). La operación de la
memoria es controlada por la unidad de control (flecha 6), que indica una operación de
lectura o de escritura. Una localidad dada en la memoria se accesa por la unidad de control, la
cual proporciona el código de dirección adecuado (flecha 7). Puede escribirse información en
la memoria de la ALU o de la unidad de entrada (flecha 8), una vez más bajo el control de la
unidad de control. Puede leerse información de la memoria de la ALU (flecha 2) o de la
unidad de entrada (flecha 9).
Unidad de entrada. Esta unidad consta de todos los dispositivos que se usan para
tomar información y datos externos a la computadora y colocarlos en la unidad de memoria
(flecha 8) o la ALU (flecha 3). La unidad de control determine hacia dónde se envía la
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 2
APUNTES DE SISTEMAS DIGITALES II
información de entrada (flecha 10). La unidad de entrada se utiliza para meter el programa y
los datos en la unidad de memoria antes de poner en marcha la computadora. Esta unidad se
usa asimismo para introducir datos en la ALU desde un dispositivo externo durante la
ejecución de un programa. Algunos de los dispositivos de entrada comunes son los teclados,
interruptores, impresoras, unidades de disco magnético, unidades de cinta magnética y
convertidores de analógico en digital (ADC).
Unidad de salida. Esta unidad consta de los dispositivos que se usan para transferir
datos e información de la computadora al "mundo exterior". Los dispositivos de salida son
dirigidos por la unidad de control (flecha 12) y pueden recibir datos de la memoria (flecha 9)
o de la ALU (flecha 5), los cuales después se ponen en forma adecuada para uso externo.
Algunos ejemplos de dispositivos de salida comunes son dispositivos de exhibición LED,
luces indicadoras, impresoras, unidades de disco o cinta, monitores de vídeo y convertidores
de digital a analógico (DAC).
Conforme la computadora ejecuta su programa, generalmente tiene resultados o
señales de control que debe presentar al mundo exterior, Por ejemplo, un sistema de
computación podría tener una impresora de líneas como dispositivo de salida. Aquí, la
computadora envía señales para imprimir los resultados en papel. Una microcomputadora
podría exhibir sus resultados en luces indicadoras o en dispositivos de exhibición visual LED.
Interfase. El aspecto más importante de las unidades E/S implica la interfase que
puede definirse como la unión de dispositivos disímiles en tal forma que puedan funcionar de
manera compatible y coordinada. La interfase de la computadora se define más
específicamente como la sincronización de la transmisión de información digital entre la
computadora y dispositivos externos de entrada/salida.
Muchos dispositivos de entrada/salida no son directamente compatibles con la
computadora debido a diferencia en características como velocidad de operación, formato de
datos (por ejemplo, hex, ASCII, binario), modo de transmisión de datos (por ejemplo, serial,
paralelo) y nivel de señales 1ógicas. Dichos dispositivos E/S requieren circuitos especiales
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 3
APUNTES DE SISTEMAS DIGITALES II
de interfase que les permitan comunicarse con las porciones CONTROL, MEMORIA y
ALU del sistema de la computadora. Un ejemplo común es la terminal de video (que se
abrevia VDT), la cual puede operar como dispositivo de entrada y de salida. La VDT
transmite y recibe datos en serie (un bit a la vez) mientras que la mayoría de las
computadoras manejan datos en forma paralela. Por lo tanto, una VDT requiere circuitos de
interfase a fin de enviar datos o recibirlos de una computadora.
Unidad de control. La función de la unidad de control debe ser obvia ahora. Dirige la
operación de todas las otras unidades ofreciendo señales de temporización y control. En cierto
sentido, la unidad de control es como el director de una orquesta, quien es responsable de
mantener a cada uno de los miembros de la orquesta en sincronización adecuada. Esta unidad
contiene circuitos 1ógicos y de temporización que generan las señales adecuadas que se
necesitan para ejecutar cada instrucción en un programa.
La unidad de control extrae una instrucción de la memoria enviando una dirección
(flecha 7) y un comando de lectura (flecha 6) a la unidad de memoria. La palabra de
instrucción almacenada en la localidad de la memoria se transfiere después a la unidad de
control (flecha 11). Esta palabra de instrucción, la cual esta en alguna forma de código
binario, es decodificada después por los circuitos 1ógicos de la unidad de control para
determinar que instrucción es solicitada. La unidad de control utiliza esta información para
generar las señales necesarias para ejecutar la instrucción.
Unidad central de procesamiento (CPU). En la figura 1.1, la ALU y las unidades de
control se muestran combinadas en una unidad denominada unidad central de procesamiento
CPU por sus siglas en inglés. Esto se hace comúnmente con el objeto de separar el "cerebro"
real de la computadora de las otras unidades. Utilizaremos la designación CPU en nuestro
trabajo con las microcomputadoras debido a que, como observaremos, en las
microcomputadoras la CPU a menudo está encapsulada en un solo Cl LSI llamado
microprocesador.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 4
APUNTES DE SISTEMAS DIGITALES II
Elementos básicos de la microcomputadora
Es importante que comprendamos la distinción entre la microcomputadora (C) y el
microprocesador (P). Una microcomputadora contiene varios elementos, donde el
microprocesador es el más importante de todos ellos. En general, el microprocesador está
contenido en un solo CI que contiene toda la circuitería de las unidades de control y
aritmética-lógica en otras palabras, la CPU. Es común referirse al microprocesador como la
MPU (unidad microprocesadora) dado que ésta es la CPU (unidad central de procesamiento)
de la microcomputadora. Lo anterior se ilustra en la figura 1.2, donde aparecen los elementos
básicos de una microcomputadora.
La unidad de memoria muestra dispositivos RAM y ROM. La sección de la RAM
consta de uno o más circuitos LSI conectados para ofrecer la capacidad de memoria diseñada.
Esta sección de la memoria se utiliza para almacenar programas y datos, los cuales cambiaran
con frecuencia durante el curso de la operación. También se utiliza como almacenamiento de
resultados intermedios y finales de operaciones realizadas durante la ejecución de un
programa.
La sección de la ROM consta de uno o más circuitos LSI para almacenar
instrucciones y datos que no varían. Por ejemplo, podrían almacenar un programa que
ocasiona que la C monitoree continuamente un teclado o bien podría almacenar una tabla de
códigos ASCII que se necesitan para exhibir la información en una VDT o en una impresora.
Las secciones de entrada y salida contienen los circuitos de interfase que se necesitan
para permitir que los dispositivos E/S se comuniquen adecuadamente con el resto de la
computadora. En algunos casos estos circuitos son circuitos LSI diseñados por el fabricante
del MPU para sincronizar su MPU con varios dispositivos E/S. En otros casos los circuitos de
interfase pueden ser tan simples como un registro.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 5
APUNTES DE SISTEMAS DIGITALES II
Figura 1.2 Elementos básicos de una microcomputadora (C).
El microprocesador (MPU). El MPU es el corazón de cualquier microcomputadora.
Realiza muchas funciones, entre las que se incluyen:
1. Proporcionar las señales de control y temporización para todos los elementos de la
microcomputadora.
2. Extraer las instrucciones y los datos de la memoria.
3. Transferir los datos a y desde la memoria y los dispositivos de entrada/salida.
4. Decodificación de instrucciones.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 6
APUNTES DE SISTEMAS DIGITALES II
5. Ejecutar las operaciones aritméticas y 1ógicas invocadas por las instrucciones.
6. Responder a las señales de control generadas en entrada/salida tales como
REINICIO E INTERRUPCION.
El MPU contiene toda la circuitería 1ógica necesaria para llevar a cabo las funciones
anteriores pero, en general, no existe manera de tener acceso a la 1ógica interna. En lugar de
ello, se puede controlar lo que ocurre dentro del MPU mediante un programa formado por
varias instrucciones mismo que se coloca en la memoria para que el MPU lo ejecute. Esto es
lo que hace al MPU tan versátil y flexible - cuando se desea cambiar su operación, sólo es
necesario cambiar los programas almacenados en la RAM (software) o grabada en la ROM
(firmware) sin necesidad de cambiar la electrónica (hardware).
La 1ógica interna del MPU es muy compleja pero puede considerarse corno formada
por tres secciones básicas: la sección de control y temporización, la sección de registros y la
ALU (véase Fig. 1.3). Aunque existen interacciones bien definidas entre estas secciones, cada
una tiene funciones especificas.
Figura 1.3 Areas de mejor funcionamiento para un chip P.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 7
APUNTES DE SISTEMAS DIGITALES II
La función principal de la sección de control y temporización es traer de la memoria y
decodificar (interpretar) las instrucciones que están en la memoria y que forman parte de un
programa, para después generar las señales de control necesarias para ejecutar las
instrucciones. Esta sección también genera las señales de control y temporización (por
ejemplo, R/W y de reloj) para la RAM, ROM y dispositivos de E/S externos.
La sección de registros contiene varios registros (dentro del MPU) y cada uno tiene
una función especial. El más importante de todos ellos es el contador del programa (PC), el
cual mantiene la dirección donde se encuentra la siguiente instrucción que se extraerá de la
memoria. Se hará uso de las siglas PC en la descripción de la ejecución de un programa. Los
demás registros del MPU se emplean para realizar funciones tales como guardar los códigos
correspondientes a las instrucciones mientras éstas son decodificadas, retener los datos que
constituyen los operandos con los que trabaja la ALU, almacenar las direcciones donde se
encuentran los datos en la memoria y varias funciones más de conteo y almacenamiento con
propósitos generales.
La ALU efectúa una gran variedad de operaciones aritméticas y 1ógicas. Estas
operaciones siempre incluyen la adición y la sustracción, y las operaciones 1ógicas AND,
OR, EX-OR, corrimiento, incremento y decremento. Los MPU más avanzados tienen una
ALU que realiza operaciones de multiplicación y división. Durante la operación de la
microcomputadora, las operaciones que la ALU realiza se llevan a cabo bajo el control de la
sección de control y temporización la que, claro está, hace lo que indican los códigos de
instrucción que trae de la memoria.
El sistema de canales. La C tiene tres canales que transportan toda la información y
señales implicadas en la operación del sistema. Estos canales conectan el microprocesador
CPU a cada uno de los elementos de memoria y E/S, de manera que los datos y la información
puedan fluir entre la CPU y cualquiera de estos otros elementos. En otras palabras, la CPU se
ve continuamente envuelta en el envío o recepción de información hacia o desde una localidad
en la memoria, un dispositivo de entrada o un dispositivo de salida.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 8
APUNTES DE SISTEMAS DIGITALES II
En la C, todas las transferencias de información se dirigen a la CPU. Cuando la CPU
envía datos a otro elemento de la computadora, a ésta se le llama operación de escritura y la
CPU escribe en el elemento seleccionado. Cuando la CPU recibe datos de otro elemento se le
llama operación de lectura y la CPU lee del elemento seleccionado. Es muy importante
entender que los términos "lectura" y "escritura" siempre se refieren a la operación realizada
por la CPU.
Los canales implicados en todas las transferencias de datos tienen funciones que se
describen como sigue:
Canal de direcciones: Este es un canal unidireccional, debido a que la información
fluye en una sola dirección, de la CPU a la memoria o a elementos E/S. La CPU sólo puede
colocar niveles 1ógicos en las líneas del canal de direcciones, con lo cual se generan 216 =
65,536 posibles direcciones diferentes. Cada una de estas direcciones corresponde a una
localidad de la memoria o a un elemento E/S. Por ejemplo, la dirección 20A016 podría ser una
localidad en RAM o ROM donde se almacena una palabra de ocho bits o bien, podría ser un
registro buffer de ocho bits que es parte de la circuitería de interfase de un dispositivo de
entrada como el teclado.
Cuando la CPU desea comunicarse (leer o escribir) con cierta localidad de la memoria
o dispositivo E/S, coloca el código de dirección de 16 bits adecuado en sus salidas de
dirección de 16 bits, A0-A15, y en el canal de direcciones. Estos bits de direcciones se
decodifican después para seleccionar la localidad de memoria deseada o dispositivo E/S. En
general, el proceso de decodificación requiere de una circuitería de decodificación, la cual no
se muestra en el diagrama.
Canal de datos: Este es un canal bidireccional pues los datos pueden fluir hacia o
desde la CPU. Las ocho terminales de datos de la CPU, D0-D7, pueden ser entradas o salidas,
según que la CPU realice una operación de lectura o escritura. Durante una operación de
lectura actúan como entradas y reciben datos que se han colocado en el canal de datos por la
memoria o elemento E/S seleccionados por el código de direcciones en el canal de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 9
APUNTES DE SISTEMAS DIGITALES II
direcciones. Durante una operación de escritura las terminales de datos de la CPU actúan
como salidas y colocan datos en el canal respectivo, que después se envían a la memoria
seleccionada o elemento E/S. En todos los casos, las palabras de datos transmitidas tienen
ocho bits de longitud debido a que la CPU maneja palabras de datos de ocho bits,
convirtiendo a esta computadora en una C de ocho bits.
Canal de control: Este es el conjunto de señales que se usa para sincronizar las
actividades de los elementos separados de la C. Algunas de estas señales, como R/W’, son
señales que la CPU envía a los otros elementos para indicarles que tipo de operación se
espera en ese momento. Los elementos E/S pueden enviar señales de control a la CPU. Un
ejemplo de esto es la entrada de reiniciación (RES’) de la CPU la cual, cuando se lleva a
BAJA, ocasiona que la CPU se regrese a cierto estado inicial. Otro ejemplo es la entrada de
interrupción de la CPU (INT’), que es utilizada por dispositivos E/S para captar la atención
de la CPU cuando realiza otras tareas.
Señales de reloj. Algunos microprocesadores emplean un sistema de reloj que tiene
dos fases y que presenta pulsos que no se superponen entre sí, como los que se muestran en la
figura 1.6. Otros microprocesadores como el Z-80 y el 8086 funcionan con una sola señal de
reloj. En nuestras explicaciones utilizaremos el sistema de reloj de dos fases. Las dos fases de
reloj, 1 y 2, siempre son parte del canal de control. Otras señales de temporización, que se
derivan de 1 y 2, algunas veces son generadas por la CPU y se vuelven parte del canal de
control.
Puertos de E/S. Durante la ejecución de un programa, la CPU constantemente lee de,
o escribe en la memoria. El programa puede solicitar también a la CPU leer de uno de los
dispositivos de entrada o bien escribir en uno de los dispositivos de salida. Cada dispositivo
E/S se conecta normalmente al sistema de canales de la PC a través de algún tipo de circuito
de interfase. La función de la interfase consiste en hacer que la C y el dispositivo sean
compatibles de manera que los datos puedan pasarse con facilidad entre ellos. La interfase se
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 10
APUNTES DE SISTEMAS DIGITALES II
necesita siempre que el dispositivo E/S utilice diferentes niveles, temporización o formato de
señales que la C.
Por ejemplo, un dispositivo E/S común es la terminal de vídeo estándar (que se
abrevia TTY), la cual envía información codificada en ASCII a la computadora en forma
serial (un bit a la vez por una sola línea). Sin embargo, la PC acepta datos paralelos (ocho
bits). Por lo tanto, se usa un circuito de interfase para convertir la señal en serie de la TTY en
una palabra de datos paralela de ocho bits y otro para convertir los datos paralelos de salida
de la C en una señal serial para la TTY.
Aunque los dispositivos E/S se tratan como localidades de la memoria, son
significativamente diferentes en algunos, aspectos. Una diferencia grande es que los
dispositivos E/S pueden tener la capacidad para interrumpir la CPU mientras ejecuta un
programa. Lo que esto quiere decir es que un dispositivo E/S puede enviar una señal a la
entrada de interrupción de la CPU (INT’) para indicar a la CPU que desea comunicarse con
ella. La CPU suspenderá la ejecución del programa con el cual esta trabajando en este
momento y realizará la operación adecuada con el dispositivo E/S interruptor. Los RAM y
ROM no tienen el recurso de interrupción.
Palabras de Computadora
La unidad más pequeña de información de una computadora es el bit. Sin embargo, un
sólo bit conlleva muy poca información. Por esta razón, la unidad principal de información en
una computadora es un grupo de bits a los cuales se les da el nombre de palabra. El número
de bits que forman la palabra recibe el nombre de tamaño de la palabra. El tamaño de la
palabra es una manera común de describir una computadora. Es frecuente que las
computadoras sean descritas en términos de su tamaño de palabra, tales como computadora
de 16 bits, computadora de 32 bits, etc. Por ejemplo, una computadora de 16 bits es aquella
en la que las instrucciones y datos se almacenan en la memoria en unidades de 16 bits, y son
procesados por la CPU también en unidades de 16 bits. El tamaño de la palabra también
indica el tamaño del canal de datos que lleva los datos entre la CPU y la memoria y entre la
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 11
APUNTES DE SISTEMAS DIGITALES II
CPU y los dispositivos de entrada/salida. En general, una computadora con tamaño de
palabra grande tiene una mayor velocidad de ejecución debido a la mayor cantidad de datos e
instrucciones que caben dentro de la palabra. Sin embargo, un tamaño de palabra grande
también significa mayor número de conexiones entre la CPU, la memoria y los dispositivos
de entrada/salida.
Como ya se sabe, un grupo de ocho bits se denomina byte. Dado que las
microcomputadoras de ocho bits se han utilizado por mucho tiempo y debido a que los
códigos ASCII ocupan sólo un byte, el byte se sigue empleando como unidad para describir
el tamaño de la palabra y la capacidad de memoria, aun en computadoras que tienen un
tamaño de palabra grande. Una computadora de 16 bits tiene un tamaño de palabra de dos
bytes y así sucesivamente. Una memoria que almacena 128K palabras de 16 bits, tiene una
capacidad de 256K bytes.
Tipos de palabras de computadora. Una palabra almacenada en la memoria de una
computadora puede contener dos clases de información instrucciones o datos. Los datos
pueden ser numéricos o caracteres y serán procesados por el programa que ejecuta la CPU.
Estos pueden encontrarse en muchos formatos, entre los que se incluyen representaciones
binarias con y sin signo, BCD, de punto flotante (algo similar a la notación de ingeniería), o
códigos ASCII entre otros. A continuación se proporciona un ejemplo sobre cómo se
almacena en una palabra de ocho bits el número +8610:
01010110
El siguiente ejemplo muestra la forma en que se almacena en ASCII el código
correspondiente al caracter "V" en una palabra de ocho bits.
01010110
Note que las dos palabras son idénticas. La computadora no conoce la diferencia entre
las dos. Es responsabilidad del programador saber que tipo de dato está almacenado en la
memoria y asegurarse de que el programa interprete y procese los datos de manera apropiada.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 12
APUNTES DE SISTEMAS DIGITALES II
A continuación se proporciona otro ejemplo donde se almacenan en una palabra de 16
bits dos caracteres codificados en ASCII:
0101011001010111
v w
La misma palabra de 16 bits bien podría ser la representación del número +2210310.
De lo anterior, resulta claro que entre más grande sea el tamaño de la palabra mayor será el
número de caracteres así como la magnitud de los números que se pueden guardar en ella.
Las palabras que guardan instrucciones son más complejas que las que sólo contiene datos.
Palabras de instrucción. El formato que se utiliza con palabras de datos sólo varia
ligeramente entre diferentes computadoras, especialmente en aquellas con el mismo tamaño
de palabra. Sin embargo, no sucede lo mismo con el formato de las palabras de instrucción.
Estas palabras contienen la información que se necesita para que una computadora ejecute sus
diversas operaciones, y el formato y código de éstas pueden variar ampliamente de una
computadora a otra. Según la computadora, la información contenida en una palabra de
instrucción puede ser diferente. Pero, para la mayoría de las computadoras, las palabras de
instrucción llevan dos unidades básicas de información: la operación que se realizará y la
dirección del operando (datos) con el cual se operará
La figura 1.4 muestra un ejemplo de una palabra de instrucción de una sola
dirección de una computadora hipotética de 20 bits. Los 20 bits de la palabra de instrucción
se dividen en dos partes. La primera parte de la palabra (bits 16-19) contiene el código de
operación (código op, para abreviar). El código op de cuatro bits representa la operación
que a la computadora se le pide ejecutar como la adición o sustracción. La segunda parte
(bits 0-15) es la dirección del operando que representa la localidad en memoria donde se
almacena el operando.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 13
APUNTES DE SISTEMAS DIGITALES II
Figura 1.4. Palabra de instrucción común de una sola dirección.
Con cuatro bits que se usan para el código op hay 24 = 16 posibles códigos op
diferentes, donde cada uno indica una instrucción distinta. Esto significa que una
computadora que utiliza este formato de palabra de instrucción se limita a 16 diferentes
instrucciones posibles que puede efectuar. Una computadora más versátil tendría un número
mayor de instrucciones y por lo tanto requeriría más bits en su código op. En cualquier caso,
cada instrucción que una computadora puede ejecutar tiene un código op especifico que la
computadora (unidad de control) debe interpretar (decodificar).
La palabra de instrucción de la figura 1.4 tiene 16 bits reservados para el código de
dirección del operando. Con 16 bits, hay 216 = 65,536 posibles direcciones diferentes. Por
consiguiente, esta palabra de instrucción puede especificar 16 instrucciones distintas y 65,536
direcciones de operando.
Instrucciones de dirección múltiple. La instrucción de una sola dirección que se
describió, fue el tipo principal que se usó en computadoras de mayor tamaño. Sin embargo,
las computadoras más grandes han empezado a usar otros formatos de instrucción que
ofrecen más información por palabra de instrucción.
La figura 1.5 muestra dos formatos de palabra de instrucción que contienen más de
una dirección. La instrucción de dos direcciones tiene el código op más las direcciones de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 14
APUNTES DE SISTEMAS DIGITALES II
ambos operandos que tomaran parte en la operación especificada. La instrucción de tres
direcciones tiene las direcciones de ambos operandos más la dirección en la memoria donde
se almacenará el resultado.
Estas palabras de instrucción de múltiples direcciones tienen la clara ventaja de que
contienen más información que una instrucción de una sola palabra. Esto significa que con
una computadora que utiliza instrucciones de múltiples direcciones requerirá menos
instrucciones para ejecutar un programa determinado. Desde luego, las palabras de
instrucción más largas requieren una unidad de memoria con un mayor tamaño de palabra.
Figura 1.5. Formatos de instrucción de múltiples direcciones.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 15
APUNTES DE SISTEMAS DIGITALES II
II MEMORIAS
2.1 Tipos
Una ventaja importante de los sistemas digitales sobre los analógicos es la capacidad
de almacenar fácilmente grandes cantidades de información digital por periodos cortos o
largos. Esta capacidad de memoria es la que hace que los sistemas digitales sean tan versátiles
y adaptables a muchas situaciones. Por ejemplo, en una computadora digital la memoria
principal interna almacena instrucciones que indican a la computadora qué hacer en todas las
circunstancias posibles, de manera que la computadora haga su trabajo con una mínima
cantidad de intervención humana.
El flip-flop es un dispositivo de memoria electrónico y grupos de Flip-Flops llamados
registros se pueden emplear para almacenar información y esta información puede ser
transferida a otras localidades. Los registros de los FF son elementos de memoria de alta
velocidad que se usan extensamente en las operaciones internas de una computadora digital,
donde la información digital se desplaza en forma continua de una localidad a otra.
Adelantos en tecnología de LSI y VLSI han hecho posible contar con grandes cantidades de
FF en un solo CI, dispuestas en diversos formatos de memoria. Estas memorias de
semiconductor bipolares y MOS son los dispositivos especializados más veloces de que se
dispone y su costo ha venido disminuyendo continuamente a medida que se mejora la
tecnología de los LSI.
Los datos digitales también pueden almacenarse como cargas en capacitores, y un tipo
muy importante de memoria de semiconductor hace uso de este principio para obtener
almacenamiento de alta densidad a niveles bajos de energía.
Las memorias de semiconductor se utilizan como la memoria principal a de una
computadora (Fig. 2.1), donde la rapidez en la operación es importante. La memoria interna
de la computadora está en comunicación constante con la unidad central de procesamiento
(CPU, por sus siglas en ingles) mientras se está ejecutando un programa de instrucciones. El
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 16
APUNTES DE SISTEMAS DIGITALES II
programa y cualquier información usada por éste generalmente están almacenados en la
memoria interna.
Aunque las memorias de semiconductor se adaptan bien a la memoria interna de alta
velocidad, su costo por bit de almacenamiento prohibe su uso como dispositivos de
almacenamiento masivo. Dicho concepto se refiere a la memoria que es externa a la
computadora central (Fig. 2.1) y tiene la capacidad de almacenar millones de bits de datos sin
energía eléctrica. Esta memoria secundaria normalmente es mucho más lenta que la interna y
se utiliza para almacenar información (programas, datos, etcétera) que no sean utilizados
regularmente por la computadora. La información es transferida a la memoria interna cuando
la computadora la necesita.
Figura 2.1. Un sistema de computación normalmente utiliza memoria interna de alta velocidad y memoria externa en masa más lenta.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 17
APUNTES DE SISTEMAS DIGITALES II
La cinta y el disco magnéticos son dispositivos populares de almacenamiento masivo que
son mucho menos costosos por bit almacenado que los dispositivos de memoria interna. Un
nuevo tipo en la categoría de memoria en masa es la memoria de burbuja magnética
(MBM), dispositivo semiconductor que utiliza principios magnéticos para almacenar
millones de bits en un CI. La MBM es relativamente lenta y no puede usarse como memoria
interna.
Operación general de la memoria
Aunque cada tipo de memoria es diferente en su operación interna, ciertos principios
básicos de operación son los mismos para todos los sistemas de memoria. Conocer estas ideas
básicas nos ayudará en el estudio de los dispositivos de memoria individuales.
Todo sistema de memoria requiere varios tipos diferentes de líneas de entrada y salida
para desempeñar las funciones siguientes:
1. Seleccionar la dirección de la memoria a la que se quiera tener acceso para una operación
de lectura o escritura.
2. Seleccionar una operación de lectura o bien de escritura para ser efectuada.
3. Proporcionar los datos de entrada para ser almacenados en la memoria durante una
operación de escritura.
4. Retener los datos de salida que vienen de la memoria durante una operación de lectura.
5. Habilitar (o deshabilitar) la memoria de manera que responda (o no) a las entradas de
dirección y al comando de lectura/escritura.
La figura 2.2 ilustra estas funciones básicas en un diagrama simplificado de una memoria
de 32 x 4 que almacena 32 palabras de cuatro bits. Como el tamaño de palabra es cuatro bits,
hay cuatro líneas de entrada, de datos E0-E3 y cuatro líneas de salida de datos S0-S3. Durante
una operación de escritura los datos que se almacenarán en la memoria tienen que ser
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 18
APUNTES DE SISTEMAS DIGITALES II
aplicados a las líneas de entrada de datos. Durante una operación de lectura la palabra que es
leída de la memoria figura en las líneas de salida de los datos.
Figura 2.2. Diagrama de una memoria de 32 * 4
Entradas para direcciones. Dado que esta memoria almacena 32 palabras, tiene 32
diferentes localidades de almacenamiento y, por consiguiente, 32 diferentes direcciones
binarias que van desde 00000 hasta 11111 (desde 0 hasta 31 en decimal). En consecuencia,
existen cinco entradas para direcciones, desde A0 hasta A4. Para tener acceso a una de las
localidades de memoria, ya sea para leer su contenido o escribir en ella, es necesario enviar a
través de las entradas de direcciones la dirección de cinco bits que corresponde a la localidad
de interés. En general, se requieren de N direcciones de entrada para una memoria que tiene
una capacidad de 2N palabras. La memoria de la figura 2.2 puede pensarse como un arreglo de
32 registros, donde cada uno de ellos retiene una palabra de cuatro bits.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 19
APUNTES DE SISTEMAS DIGITALES II
La entrada R/W. La línea de entrada para lectura/escritura (R/W) determina la
operación que llevara a cabo la memoria. Algunos sistemas de memoria utilizan dos entradas
diferentes, una para lectura y otra para escritura. Cuando se emplea una sola entrada R/W’ la
operación de lectura ocurre cuando R/W’ = 1, mientras que la de escritura sucede cuando
R/W’ = 0.
Habilitación de memoria. Muchos sistemas de memoria tienen algún medio para
deshabilitar completamente toda o parte de la memoria de manera que no responda. Esto se
representa en la figura 2.2 como la entrada HABILITACION DE MEMORIA, aunque puede
tener diferentes nombres en los varios sistemas de memoria. Es una entrada activa en ALTO
que habilita la memoria para operar en forma normal cuando se mantiene en ALTO. Un
estado BAJO en esta entrada deshabilita la memoria, de modo que no responderá la
dirección y a las entradas R/W’. Este tipo de entrada es de utilidad cuando varios módulos de
memoria se combinan para formar una memoria mayor.
2.2 Conexiones
La memoria interna se encuentra en comunicación constante el CPU (unidad de
procesamiento central). En este momento no es necesario estar familiarizado con la operación
detallada de un CPU, así que el siguiente simplificado de la interface CPU-memoria
proporcionará la perspectiva para hacer más significativo el estudio de los dispositivos de
memoria.
La memoria interna de una computadora esta formada por CI RAM y ROM que son
conectados a la CPU mediante tres grupos de líneas de señal o canales. En la figura 2.3 éstos
se indican como las líneas de dirección o canal de direcciones, líneas de datos o canal de
datos, y líneas de control o canal de control. Cada uno de estos canales esta formado por
varias líneas (note que están representados por una sola línea con una diagonal) y el numero
de estas cambia de una computadora a otra. Los tres canales juegan una parte necesaria al
permitir que el CPU escriba o lea datos en la memoria.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 20
APUNTES DE SISTEMAS DIGITALES II
Figura 2.3. Tres grupos de líneas (canales) conectan los CI de memoria interna con el
CPU.
Cuando una computadora ejecuta las instrucciones de un programa, el CPU extrae(lee)
de manera continua información de las localidades de memoria las cuales contienen (1) los
códigos de operación que representan las operaciones que se van a realizar y (2) los datos con
los que se llevarán a cabo dichas operaciones. El CPU también (escribe) datos en las
localidades de memoria que indican las instrucciones del programa. Cada vez que el CPU
desea escribir un dato en determinada localidad de memoria, emprende los siguientes pasos:
Operación de escritura
1. El CPU proporciona la dirección binaria de la localidad de memoria donde debe
almacenarse el dato. Coloca esta dirección sobre las líneas del canal de direcciones.
2. El CPU coloca el dato a ser almacenado sobre las líneas del canal de datos.
3. El CPU activa las líneas de control apropiadas para la operación de escritura en la
memoria.
4. Los CI de memoria decodifican la dirección para determinar cual es la localidad de
memoria seleccionada para llevar a cabo la operación de escritura.
5. El dato que se encuentra sobre el canal de datos se transfiere hacia la localidad
seleccionada de la memoria.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 21
APUNTES DE SISTEMAS DIGITALES II
Cada vez que el CPU desea leer un dato que se encuentra en determinada localidad de
memoria, emprende los siguientes pasos:
Operación de lectura
1. El CPU proporciona la dirección de la localidad de memoria donde se encuentra el dato
que va a recuperar. Coloca esta dirección sobre el canal de direcciones.
2. El CPU activa las líneas de control apropiadas para la operación de lectura de la
memoria.
3. Los CI de la memoria decodifican la dirección para determinar cual es la localidad
seleccionada para realizar la operación de lectura.
4. Los CI de memoria colocan el contenido de localidad de memoria sobre el canal de datos,
de donde son transferidos hacia el CPU.
Los pasos anteriores deben aclarar la función de cada uno de los canales del sistema:
Canal de direcciones. Este es un canal unidireccional que lleva las direcciones desde el CPU
hacia los CI de memoria.
Canal de datos. Este canal es bidireccional y lleva los datos entre el CPU y los CI de
memoria.
Canal de control. Este canal lleva las señales de control (como la señal R/W’) desde el CPU
hacia los CI de memoria.
2.3 Memorias Electrónicas (interna)
Memorias solo de lectura (ROM)
Las memorias de solo lectura son un tipo de memoria de semiconductor que están
diseñadas para retener datos que son permanentes o que no cambian con mucha frecuencia.
Durante la operación normal, no pueden escribirse nuevos datos en una ROM pero si puede
leerse información de ella. Para algunas ROM los datos que están almacenados tienen que
grabarse durante el proceso de fabricación; para otras ROM esto se puede hacer en forma
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 22
APUNTES DE SISTEMAS DIGITALES II
eléctrica. El proceso de grabar datos se conoce como programación de la ROM. Algunas
ROM no pueden alterar sus datos una vez que se hayan programado; otras pueden borrarse y
reprogramarse con la frecuencia que se desee.
Las ROM se usan para almacenar datos e información que no cambiara durante la
operación de un sistema. Un uso importante de las ROM se encuentra en el almacenamiento
de programas en microcomputadoras. Ya que todas las ROM son no volátiles, estos programas
no se pierden cuando la microcomputadora es desconectada. Cuando enciende la máquina,
puede empezar de inmediato a ejecutar el programa almacenado en ROM. Las ROM también
se utilizan para guardar programas y datos en equipos controlados por microprocesador tales
como las cajas registradoras electrónicas, instrumentos y sistemas de seguridad.
Diagrama de bloques en ROM. Un diagrama de bloques común para una ROM se
muestra en la figura 2.4. Tiene tres conjuntos de señales: entradas de dirección, entrada(s) de
control y salidas de datos. De lo que hemos visto antes, podemos determinar esta
ROM almacena 16 palabras, ya que tiene 24 = 16 posibles direcciones y cada palabra
contiene ocho bits, puesto que hay ocho salidas de datos. Por lo tanto, ésta es una ROM de
16 x 8. Otra manera de describir esta capacidad de la ROM consiste en decir que almacena
16 bytes de datos.
Figura 2.4. Diagrama de bloques de ROM.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 23
APUNTES DE SISTEMAS DIGITALES II
Las salidas de datos de muchos circuitos integrados de ROM son salidas de tres
estados para permitir la conexión de muchos circuitos ROM al mismo canal de datos para
lograr la expansión de la memoria. Los números más comunes de salidas de datos para ROM
son cuatro y ocho bits, con palabras de ocho bits que son las más comunes.
La entrada de control CS’ significa selección de CI. Esta es esencialmente una entrada
de habilitación que habilita o deshabilita las salidas ROM. Algunos fabricantes utilizan
diferentes indicaciones para la entrada de control, como CE (selección de CI) o bien OE
(habilitación de salida). Muchas ROM tienen dos o más entradas de control que deben estar
activas para habilitar las salidas de datos y con esto poder leer los datos de la dirección
seleccionada. En algunos CI ROM una de las entradas de control (por lo general CE) se
emplea para colocar la ROM en un modo espera de bajo consumo de potencia cuando no se
hace uso de la memoria. Esto diminuye el consumo de corriente de la fuente de alimentación
del sistema.
La entrada CS’ que se muestra en la figura 2.4 se encuentra activa en BAJO. Por lo tanto
debe estar en el estado BAJO para habilitar la ROM y que los datos aparezcan en las salidas
de datos. Note que no existe la entrada R/W’ (lectura/escritura) debido a que la ROM no
puede grabarse en condiciones normales de operación.
La operación de lectura. Suponga que la ROM ha sido programada con los datos que
se muestran en la tabla 2.1. Dieciséis diferentes palabras de datos se almacenan en las 16
localidades de dirección distintas. Por ejemplo, la palabra de datos almacenada en la
localidad 0011es 10101111. Por supuesto, los datos se almacenan en binario dentro de la
ROM, pero con mucha frecuencia se usa la notación hexadecimal para mostrar
adecuadamente los datos programados. Esto se hace en la tabla 2.2.
A fin de leer una palabra de datos de la ROM, se necesita hacer dos cosas: aplicar las
entradas de dirección adecuadas y luego activar las entradas de control. Por ejemplo, si se
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 24
APUNTES DE SISTEMAS DIGITALES II
desea leer el dato almacenado en la localidad 0111 de la ROM de la figura 2.4, se tiene
primero que aplicar 0111 en las entradas de dirección A3A2A1A0 de la ROM y después un
nivel BAJO en CS’. Las entradas de dirección serán decodificadas dentro de la ROM para
seleccionar la palabra de datos correcta, 11101101, la que entonces aparecerá en las salidas,
D7 hasta D0. Si CS’ se mantiene en ALTO, las salidas de la ROM son deshabilitadas y
permanecerán en el estado Alta-Z.
Palabra A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 1 1 0 1 1 1 1 0
1 0 0 0 1 0 0 1 1 1 0 1 0
2 0 0 1 0 1 0 0 0 0 1 0 1
3 0 0 1 1 1 0 1 0 1 1 1 1
4 0 1 0 0 0 0 0 1 1 0 0 1
5 0 1 0 1 0 1 1 1 1 0 1 1
6 0 1 1 0 0 0 0 0 0 0 0 0
7 0 1 1 1 1 1 1 0 1 1 0 1
8 1 0 0 0 0 0 1 1 1 1 0 0
9 1 0 0 1 1 1 1 1 1 1 1 1
10 1 0 1 0 1 0 1 1 1 0 0 0
11 1 0 1 1 1 1 0 0 0 1 1 1
12 1 1 0 0 0 0 1 0 0 1 1 1
13 1 1 0 1 0 1 1 0 1 0 1 0
14 1 1 1 0 1 1 0 1 0 0 1 0
15 1 1 1 1 0 1 0 1 1 0 1 1
Tabla 2.1. Datos Programados
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 25
Palabra A3 A2 A1 A0 D7-D0
0 0 DE
1 1 3A
2 2 85
3 3 AF
4 4 19
5 5 7B
6 6 00
7 7 ED
8 8 3C
9 9 FF
10 A B8
11 B C7
12 C 27
13 D 6A
14 E D2
15 F 5B
APUNTES DE SISTEMAS DIGITALES II
Tabla 2.2. Datos Hexadecimales (hex).
Arquitectura de la ROM
La arquitectura (estructura) interna de un Cl ROM es muy compleja y no necesitamos
conocer todos sus detalles. Sin embargo, es constructivo observar un diagrama simplificado
de la arquitectura interna como el que se muestra en la figura 2.5 para la ROM de 16 x 8.
Existen cuatro partes básicas: decodificador de renglones, decodificador de columnas,
disposición de registros y buffers de salida.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 26
APUNTES DE SISTEMAS DIGITALES II
Figura 2.5. Arquitectura de la ROM de 16 X 8.
Arreglo de registros. El arreglo de registros almacena los datos que han sido
programados en la ROM. Cada registro contiene un número de celdas de memoria que es
igual al tamaño de la palabra. En este caso, cada registro almacena una palabra de ocho
bits. Los registros se disponen en un arreglo de matriz cuadrada que es común a muchos
circuitos de memoria de semiconductor. Podemos especificar la posición de cada registro
como ubicada en un renglón y una columna específicos. Por ejemplo, el registro 0 se
encuentra en el renglón 0 / columna 0 y el registro 9 está en el renglón 1 / columna 2.
Las ocho salidas de datos de cada registro se conectan a un canal de datos interno
que corre a través de todo el circuito. Cada registro tiene dos entradas de habilitación (E);
ambas tienen que ser ALTAS a fin de que los datos del registro sean colocados en el canal.
Decodificadores de direcciones. El código de dirección aplicado A3A2A1A0
determine qué registro del arreglo será habilitado para colocar su palabra de datos de 8 bits
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 27
APUNTES DE SISTEMAS DIGITALES II
en el canal. Los bits de dirección A1A0 se alimentan a un decodificador 1 de 4 que activa una
línea de selección de renglón, y los bits de dirección A3A2 se alimentan a un segundo
decodificador 1 de 4 que activa una línea de selección de columna. Solamente un registro
estará en el renglón y la columna seleccionados por las entradas de dirección, y estará
habilitado.
Buffers de salida. El registro habilitado por las entradas de dirección coloca el dato
que contiene sobre el canal de datos. Estos datos entran en los buffers de salida, los cuales se
encargan de transmitirlos hacia las salidas externas siempre y cuando CS’ esté en BAJO. Si
CS’ esta en ALTO los buffers de salida se encuentran en el estado de alta impedancia, con lo
que de D7 hasta D0 se encuentran flotando.
La arquitectura mostrada en la figura 2.5 es similar a la de muchos Cl ROM. En
algunas ROM los registros no están acomodados en un arreglo cuadrado, hecho que depende
del número de palabras almacenadas. Por ejemplo, el Cl Intel 2708 es una ROM MOS que
guarda 1024 palabras de ocho bits. Sus 1024 registros están acomodados en un arreglo de 64
por 16. Por lo general, la capacidad de las ROM varía desde 32 * 8 hasta 512K * 8.
Temporizacion de la ROM
Habrá un retardo en la propagación entre la aplicación de las entradas de una ROM y
la aparición de las salidas de datos durante una operación de lectura. Este retardo,
denominado tiempo de acceso, tACC, es una medida de la velocidad de operación de la ROM.
El tiempo de acceso se describe gráficamente por medio de las formas de onda de la figura
2.6
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 28
APUNTES DE SISTEMAS DIGITALES II
Figura 2.6. Temporización común de una operación de lectura en ROM.
La forma de onda de más arriba representa las entradas de dirección, la del medio es
una selección de CI activa en BAJO, CS’, y la de más abajo representa las salidas de datos.
Al tiempo t0 las entradas de dirección están en algún nivel especifico, algunas en ALTO y
algunas en BAJO. CS’ es ALTA, de manera que las salidas de datos de la ROM se
encuentran en su estado alta-Z (representado por la línea sombreada).
Antes de t1 las entradas de dirección cambian a una nueva dirección para realizar una
nueva operación de lectura. En t1, la nueva dirección es válida; es decir, cada entrada de
dirección está en un nivel 1ógico válido. En este punto la circuitería interna de la ROM
empieza a decodificar las nuevas entradas de dirección para seleccionar el registro que
enviará sus datos a los buffers de salida. En t2 la entrada CS’ es activada para habilitar los
buffers de salida. Finalmente, en t3, las salidas cambian del estado Alta-Z a los datos válidos
que representan los almacenados en la dirección especificada.
El retardo entre t1, y t3, cuando la nueva dirección y las salidas de datos se vuelven
válidas, es el tiempo de acceso tACC. En general, las ROM bipolares tienen tiempos de acceso
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 29
APUNTES DE SISTEMAS DIGITALES II
que van desde 30 hasta 90 ns; para los dispositivos NMOS este tiempo varia desde 35 hasta
500 ns.
Otro importante parámetro de temporización es el tiempo de habilitación de salida,
tOE, que es el retardo entre la entrada CS’ y la salida de datos válida. Valores comunes de tOE
son de 10 a 20 ns para ROM bipolares y de 25 a 100 ns para ROM MOS. Este parámetro de
temporización es importante en situaciones donde ]as entradas de dirección están ya en sus
nuevos valores, pero las salidas de la ROM no han sido habilitadas aún. Cuando CS’ pasa a
BAJA para habilitar las salidas, el retardo será tOE.
Tipos de ROM
Ahora que se tiene un conocimiento general de la arquitectura interna y operación
externa de los dispositivos ROM, se observaran brevemente los diversos tipos de ROM para
notar cómo difieren en la forma en que son programados y en su capacidad para ser borrados
y reprogramados.
ROM programada por mascarilla. Este tipo de ROM tiene sus localidades de
almacenamiento escritas (programadas) por el fabricante según las especificaciones del
cliente. Se utiliza un negativo fotográfico llamado mascarilla para controlar las conexiones
eléctricas en el circuito. Se requiere una mascarilla especial por cada conjunto diferente de
información para ser almacenada en la ROM. Ya que las mascarillas son costosas, este tipo
de ROM es económico sólo si se necesita una cantidad considerable de la misma ROM.
Algunas ROM de este tipo se encuentran disponibles como dispositivos preprogramados
tomados de una tabla o manual con información que comúnmente se utiliza, como fórmulas
matemáticas y códigos generadores de caracteres para exhibiciones en tubo de rayos
catódicos (CRT). Una desventaja importante de este tipo de ROM es que no puede
reprogramarse en el caso de un cambio de diseño que requiera una modificación del
programa almacenado. La ROM tendría que ser remplazada por una nueva con el programa
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 30
APUNTES DE SISTEMAS DIGITALES II
deseado escrito en ella. Se han creado varios tipos de ROM programables por el usuario para
superar esta desventaja. Sin embargo, las ROM programadas por mascarilla todavía
representan el enfoque más económico cuando se necesita una cantidad considerable de ROM
programadas idénticas.
Es común referirse a las ROM programadas por mascarilla sólo como ROM, pero esto
puede ser confuso ya que el término ROM representa en realidad una categoría muy amplia
de dispositivos en los que durante su operación normal, sólo se puede leer. Por tanto, se hará
uso del mnemónico MROM cada vez que se haga referencia a una ROM programada por
mascarilla.
La figura 2.7 muestra la estructura de una pequeña MROM bipolar. La memoria
contiene 16 celdas de memoria colocadas en cuatro renglones, cada uno con cuatro celdas.
Cada celda está formada por un transistor bipolar conectado en configuración de colector
común (entrada en la base, salida en el emisor). El renglón superior de celdas (RENGLON
0) forma un registro de cuatro bits. Note cómo algunos de los transistores (Q0 y Q2) tienen
sus bases conectadas a la línea de habilitación del RENGLON 0, mientras que otros (Q 1 y
Q3) no. Lo mismo es cierto para las celdas que se encuentran en los demas renglones. La
presencia o ausencia de estas conexiones de base determina si la celda guarda un 1 o un 0,
respectivamente. La condición en cada conexión de base está controlada por la mascarilla
fotográfica durante el proceso de producción basado en los datos proporcionados por el
cliente.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 31
APUNTES DE SISTEMAS DIGITALES II
Figura 2.7 Estructura de una MROM bipolar que ilustra el uso de un transistor bipolar
para cada celda de memoria. Una conexión de base abierta almacena un 0; una conexión de
base cerrada almacena un 1.
Note que las celdas que se encuentran en las mismas posiciones dentro de cada
renglón (registro) tienen sus emisores conectados a una salida común. Por ejemplo, los
emisores de Q0, Q4, Q8, y Q12 están conectados entre sí en la salida D3. Como se verá más
adelante, esto no constituye ningún problema ya que sólo se activa un renglón de celdas a la
vez.
El decodificador de 1 a 4 se emplea para decodificar las entradas de direcciones
A1A0, que son las que seleccionan qué renglón (registro) contiene los datos que se van a leer.
Las salidas del decodificador, que son activas en ALTO, están conectadas a las líneas de
habilitación de cada RENGLON, que son las entradas base para los distintos renglones de
celdas. Si la entrada de habilitación del decodificador, EN’, se mantiene en el estado ALTO,
todas las salidas del decodificador permanecen en su estado inactivo BAJO y con ello todos
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 32
APUNTES DE SISTEMAS DIGITALES II
los transistores del arreglo quedan apagados debido a la ausencia de cualquier voltaje en sus
bases. En este caso, todas las salidas de datos se encuentran en el estado BAJO.
Cuando EN’ se encuentra en su estado activo en BAJO, las condiciones en las entradas
de direcciones determinan el renglón (registro) que será habilitado en forma que se pueda
leer en las salidas, del dato contenido en él. Por ejemplo, para leer el RENGLON 0, las
entradas A1A0 se ponen en 00. Esto coloca un estado ALTO en la línea correspondiente al
RENGLON 0; las líneas correspondientes a los demas renglones permanecen en 0 V. Este
estado ALTO en el RENGLON 0 enciende los transistores Q0 y Q2, pero no a Q1 y Q3. Con
Q0 y Q2 en el estado de conducción, las salidas de dalos D3 y D1 se encuentran en ALTO; las
salidas D2 y D0 permanecen en BAJO. De manera similar, la aplicación de otras direcciones
produce los datos de salida correspondientes al registro en cuestión. Usted debe verificar la
forma en que las diferentes celdas se correlacionan con las conexiones de base. Las MROM
se encuentran disponibles en varias capacidades, todas ellas pequeñas. Una de las más
populares es la 74187, la cual se encuentra organizada como una memoria de 256 x 4 y tiene
un tiempo de acceso de 40 ns. Sus salidas son del tipo de colector abierto por lo que
requieren de resistores externos. Otra ROM bipolar es la 7488A, la cual tiene una capacidad
de 32 x 8 y un tiempo de acceso de 45 ns.
Figura 2.8. Símbolo lógico para la MROM TMS47256 fabricada con tecnología MOS
Las MROM MOS tienen una estructura similar a la que se encuentra en la figura 2.7,
con excepción de que las celdas son MOSFET más que transistores bipolares. La TMS47256
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 33
APUNTES DE SISTEMAS DIGITALES II
es una versión NMOS que tiene una capacidad de 32K x 8. Su símbolo aparece en la figura
2.8. Note que esta memoria tiene salidas de tres estados que permiten su fácil conexión al
canal de datos de una computadora. Además de las 14 entradas de direcciones, esta memoria
tiene dos entrada de habilitación, E’ y S’. Ambas entradas tienen que estar en el estado BAJO
para habilitar las salidas de la MROM. La entrada E’ también tiene una función de
reducción de potencia. Cuando E’ se mantiene en el estado ALTO, la circuitería interna del
Cl se coloca en un estado de espera donde consume muy poca potencia, alrededor de la cuarta
parte del valor normal. El TMS47256 tiene un tiempo de acceso de 200 ns y una disipación de
potencia en el estado de espera igual con 82.5 mW. La versión CMOS, el TMS47C256, tiene
un tiempo de acceso de 150 ns y una disipación de potencia en el estado de espera de sólo 2.8
mW.
ROM programables (PROM). Una ROM programable por mascarilla es muy costosa
y no se utilizará excepto en aplicaciones de grandes volúmenes, donde el costo sería
repartido sobre muchas unidades. Para ]as aplicaciones de bajo volumen, los fabricantes han
creado PROM con conexión fusible, que no se programa durante el proceso de
manufacturación sino que son programadas por el usurio. Sin embargo, una vez programada
una PROM se parece a una MROM en que no puede borrarse y reprogramarse. Por lo tanto,
si el programa en la PROM es erróneo o tiene que ser cambiado, la PROM tiene que ser
desechada. Es por esta razón que a menudo se hace referencia a estos dispositivos como
ROM "programable una sola vez".
La estructura de la PROM con conexión fusible es muy semejante a la MROM en
cuanto que ciertas conexiones quedan intactas o bien son abiertas a fin de programar una
celda de la memoria como un 1 o un 0. En la MROM de la figura 2.7 estas conexiones se
hacen de las líneas de habilitación a las bases de transistores. En una PROM cada una de
estas conexiones se hace con una pequeña conexión fusible que viene intacta del fabricante
(véase la figura 2.9). El usuario puede fundir selectivamente cualquiera de estas conexiones
fusibles para producir en la memoria los datos almacenados que se desean. Comúnmente esto
se lleva a cabo aplicando con mucha precaución un voltaje controlado al dispositivo para
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 34
APUNTES DE SISTEMAS DIGITALES II
producir un flujo de corriente que ocasionará que la conexión fusible se abra en forma
semejante a cuando se funde un fusible. Una vez que se funde una conexión fusible, ya no
puede volver a conectarse.
Figura 2.9. Las PROM utilizan conexiones fusibles que pueden ser quemadas de
manera selectiva por el usuario para programar un 0 lógico en la celda.
El proceso de programación de una PROM y luego la verificación de los datos
programados puede consumir mucho tiempo y ser muy tedioso cuando se efectúa
manualmente. Se encuentran disponibles varios programadores comerciales de PROM por
varios cientos de dólares, que permiten que se introduzca un programa desde el teclado en
memoria de lectura/escritura (RWM) y luego realizar la fundición del fusible y la
verificación automática sin intervención del usuario.
Un CI PROM muy popular es el 74186, el cual esta organizado como 64 palabras de
ocho bits y tiene un tiempo de acceso típico de 50 ns. Otro CI PROM es el TBP28S166, que
es un CI de 2K x 8. Las PROM MOS se encuentran en el mercado con capacidades de
almacenamiento mucho mayores que las de los dispositivos bipolares. El TMS27PC256 es
una PROM CMOS que tiene una capacidad de 32K x 8 y una disipación de potencia en el
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 35
APUNTES DE SISTEMAS DIGITALES II
estado de espera de sólo 1.4 mW. Se encuentra en el mercado con tiempos de acceso que van
desde 120 hasta 250 ns.
ROM programable y borrable (EPROM). Una EPROM puede ser programada por el
usuario y también puede borrarse y reprogramarse tantas veces como se desee. Una vez
programada, la EPROM es una memoria no volátil que contendrá sus datos almacenados
indefinidamente. El proceso para programar una EPROM implica la aplicación de niveles
de voltaje especiales (comúnmente en el orden de 10 a 25 V) a las entradas adecuadas del
circuito en una cantidad de tiempo especificada (por lo general 50 ms por localidad de
dirección). El proceso de programación usualmente es efectuado por un circuito especial de
programación que está separado del circuito en el cual la EPROM trabajará por ú1timo. El
proceso de programación completo puede llevar varios minutos para una EPROM.
En una EPROM las celdas de almacenamiento son transistores MOSFET que tienen
una compuerta de silicio sin ninguna conexión eléctrica (es decir, una compuerta flotante).
En su estado normal, cada transistor esta apagado y cada celda guarda un 1 1ógico. El
transistor puede encenderse mediante la aplicación de un pulso de programación de alto
voltaje, el cual inyecta electrones de alta energía en la región formada por la compuerta
flotante. Estos electrones permanecen en esta región una vez que ha finalizado el pulso ya
que no existe ninguna trayectoria de descarga. Esto mantiene al transistor encendido de
manera permanente, aun cuando se retire la potencia de alimentación del dispositivo; con
esto la celda guarda ahora un 0 1ógico. Durante el proceso de programación se emplean las
direcciones y terminales de la EPROM para seleccionar las celdas de memoria que serán
programadas con ceros así como las que se dejarán como unos.
Una vez que se ha programado una celda de la EPROM, se puede borrar su contenido
exponiendo la EPROM a la luz ultravioleta (UV), la cual se aplica a través de la ventana que
se encuentra sobre el encapsulado del circuito. La luz UV produce una fotocorriente que va
desde la compuerta flotante hacia el sustrato de silicio; con esto se apaga el transistor y se
lleva de nuevo a la celda hacia el estado 1 1ógico. El proceso de borrado requiere entre 15 y
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 36
APUNTES DE SISTEMAS DIGITALES II
30 minutos de exposición a los rayos UV. Desafortunadamente no existe ninguna forma de
borrar sólo algunas celdas; la luz UV borra todas las celdas al mismo tiempo, por lo que una
EPROM borrada almacena sólo unos 1ógicos. Una vez borrada, la EPROM puede volverse a
programar.
Las EPROM se encuentran disponibles en el mercado en una amplia gama de
capacidades y tiempos de acceso; es común encontrar dispositivos con una capacidad de
128K x 8 y un tiempo de acceso de 45 ns. Para ilustrar la operación de una EPROM, se hará
uso de una 2732. La 2732 es una EPROM NMOS de 4K x 8 que funciona con una sola
fuente de alimentación de +5V. La figura 2.10 es el símbolo de bloque para la 2732.
Figura 2.10 Símbolo lógico para la EPROM 2732
Note que el símbolo muestra 12 entradas para direcciones, ya que 212 = 4096, y 8
salidas para datos. La memoria tiene dos entradas de control CE’ es la entrada de
habilitación del circuito y que también sirve para colocarlo en el modo de espera, donde
disminuye el consumo de energía. La entrada OE’/VPP tiene una doble función que depende
del modo de operación del dispositivo. OE’ es la entrada que habilita las salidas y se emplea
para controlar los buffers de salida de datos, lo que permite que el dispositivo pueda
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 37
APUNTES DE SISTEMAS DIGITALES II
conectarse al canal de datos de un microprocesador sin contienda por el canal. VPP es el
voltaje especial de programación requerido durante el proceso de programación.
La 2732 tiene varios modos de programación que están controlados por los voltajes
aplicados en las terminales CE’ y OE’/VPP , mismos que se presentan en la figura 2.10. El
modo de lectura y el de deshabilitación de salidas son los modos normales de operación para
una EPROM cuando ésta forma parte del sistema de memoria interna de una computadora y
el CPU lee su contenido con bastante frecuencia. Para estos modos, la entrada CE’ permanece
en su estado activo en BAJO, mientras que el nivel aplicado en OE’ es el que determina si las
terminales de salida del dispositivo contienen datos o son deshabilitadas.
El modo de espera se obtiene a] mantener CE’ en su estado inactivo en ALTO. Este
estado de reducción de potencia se emplea cuando el CPU no va a tener acceso al dispositivo.
En este estado la EPROM no responde a ninguna de sus demás entradas. En el modo de
espera, el consumo máximo de potencia de la 2732 es de 175 mW; en los demás modos de
operación este consumo es de 500 mW.
El modo de programa se emplea para grabar nuevos datos en las celdas de la EPROM.
El proceso de programación puede grabar una palabra de ocho bits en una localidad de
memoria a la vez. Por un momento suponga que la EPROM ha sido borrada con luz UV, con
lo que se tiene una EPROM "limpia" (todas las celdas contienen unos 1ógicos). Los pasos
requeridos para programar (grabar datos) cualquier localidad de la memoria, son los
siguientes:
1. Se aplica en las entradas de direcciones de la EPROM la dirección de la localidad
que se desea programar.
2. Al mismo tiempo, se aplica en la terminal de entrada OE’/VPP el pulso VPP (21 V).
3. Al mismo tiempo, se ponen los datos que van a escribirse en la localidad de
memoria en las terminales para datos del dispositivo, D7 a D0. En el modo de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 38
APUNTES DE SISTEMAS DIGITALES II
programa, las terminales de datos funcionan como entradas debido a que el alto
voltaje aplicado en la terminal OE’/VPP deshabilita los buffers de salida de datos.
4. Una vez que se han estabilizado tanto los datos como la dirección, se aplica un pulso
BAJO en la entrada CE’ con una duraci6n de tPW = 50 ms. Durante este intervalo, cada
celda de memoria perteneciente a la localidad seleccionada, permanece en uno o es
cambiada a cero, dependiendo del correspondiente bit del dato de entrada.
5. Cuando el proceso de programación está terminado, la entrada CE’ regresa a su
estado ALTO, mientras que OE’/VPP lo hace hacia el estado BAJO. En este modo de
espera, se retiran los datos de las terminales de datos del dispositivo y éstas entran de
nuevo en el estado de alta impedancia.
6. El paso final del proceso de programación es verificar que la palabra de datos haya
sido escrita de manera correcta en la localidad de memoria. El modo de verificación es
en realidad, el mismo modo de lectura. La entrada OE’ se mantiene en BAJO y se
aplica un pulso hacia el nivel BAJO en CE. Lo anterior causa que la circuitería interna
de la EPROM lleve el dato desde la localidad de memoria seleccionada hacia los
buffers de salida para los datos, lugar donde puede leerse el dato.
El proceso de programación cuando se efectúa manualmente puede tomar horas. Se
encuentran disponibles en el mercado numerosos programadores de EPROM que pueden
programar y verificar una 2732 completa en menos de dos minutos, una vez que el usuario ha
introducido los datos en la RWM del programador de la EPROM desde un teclado. Algunos
programadores de EPROM permiten que se transfieran datos en la RWM desde una
computadora. Este proceso, llamado carga hacia abajo, permite al usuario primero elaborar
su programa en una computadora y después, cuando se termina y está trabajando, transferirlo
de la memoria de la computadora al programador de la EPROM, que lo grabará a la EPROM.
PROM eléctricamente borrable (EEPROM). Como se observó antes, las EPROM
tienen dos desventajas importantes. Primero, tienen que ser retiradas de sus bases a fin de ser
borradas y reprogramadas. Segundo, el borrado retira todo el contenido de la memoria; esto
requiere una reprogramación completa aun cuando sólo tenga que alterarse una palabra de la
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 39
APUNTES DE SISTEMAS DIGITALES II
memoria. La PROM eléctricamente borrable (EEPROM) se inventó alrededor del año de
1980 como una mejora a la EPROM.
La EEPROM aprovecha la misma estructura de compuerta flotante de la EPROM.
Agrega la característica de borrado eléctrico a través de la adición de una delgada región de
óxido arriba del drenaje de la celda de memoria MOSFET. Aplicando un voltaje ALTO (21
V) entre la compuerta y el consumo del MOSFET, puede inducirse una carga en la compuerta
flotante, donde permanecerá aun cuando se suspenda el suministro de energía. La inversión
del mismo voltaje produce una eliminación de las cargas capturadas de la compuerta flotante
y borra la celda. Ya que este mecanismo de transporte de cargas requiere corrientes muy
bajas, la programaci6n y el borrado de una EPROM puede hacerse por lo general en el
circuito (es decir, sin una fuente de luz UV y unidad programadora de PROM).
Una ventaja importante ofrecida por las EEPROM sobre las EPROM es la capacidad
de borrar y reprogramar eléctricamente palabras individuales en el arreglo de la memoria.
Otra ventaja es que una EEPROM completa puede borrarse en cerca de 10 ms (en circuito)
versus cerca de 30 minutos de una EPROM en luz UV externa. Una EEPROM también puede
ser programada con mayor rapidez; requiere sólo un pulso de programación de 10 ms por cada
palabra de datos, en comparaci6n con 50 ms de una EPROM.
Debido a que la EEPROM puede borrarse y reprogramarse aplicando voltajes
adecuados, no necesitamos retirarla del circuito del cual forma parte, siempre que los
componentes de soporte adicionales también sean parte de la circuitería. La circuitería de
soporte incluye el voltaje de programación de 21 V (VPP), que generalmente se genera a partir
de la fuente de +5V a través de un convertidor DC a DC, y circuitería para controlar la
temporización y secuenciación de 10 ms de las operaciones de borrado y programación.
La Intel 2816 fue la EEPROM original; fue introducida en el mercado por Intel
Corporation en 1981 con una capacidad de 2K x 8, tiempo de acceso de 250 ns y las
características ya descritas con anterioridad. Desde entonces, los avances en el diseño de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 40
APUNTES DE SISTEMAS DIGITALES II
EEPROM han dado como resultado muchas mejoras. La 2864 es una EEPROM de 8K x 8 que
contiene sobre el sustrato de silicio circuitería que es capaz de generar los altos voltajes
necesario para ]as operaciones de borrado y programación; de este modo, el CI requiere sólo
de una terminal de alimentación +VCC. Esta característica hace que la 2864 sea tan fácil de
utilizar cómo los dispositivos RWM estáticos. Claro está, a diferencia de la RWM estática, la
EEPROM es no volátil y mantendrá todos los datos escritos en ella aun después de apagado el
voltaje de alirnentación. Por otro lado, la RWM estática tiene una circuitería interna menos
compleja y tiempos de acceso mucho menores.
Figura 2.11. Símbolo para la EEPROM 2864.
La figura 2.11 muestra el símbolo para la EEPROM 2864 junto con sus modos de
operación más importantes. Note que las terminales de entrada de datos del dispositivo están
marcadas como terminales de E/S, ya que pueden funcionar como entradas o salidas de datos
de acuerdo con el modo de operación. Tres entradas de control determinan el modo de
operación. CE’ se emplea para habilitar o deshabilitar el circuito; cuando esta deshabilitado,
el circuito se encuentra en el modo de espera de bajo consumo de potencia. OE’ se emplea
para habilitar y deshabilitar los buffers de salida de datos. Durante una operación de lectura,
OE’ = 0 con lo que se habilitan los buffers de salida; durante la operación de escritura, 0E’ =
1 y esto habilita los buffers de salida para que los datos de entrada puedan aplicarse en las
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 41
APUNTES DE SISTEMAS DIGITALES II
terminales E/S. WE’ selecciona el modo, ya sea éste de escritura o de lectura. En el modo de
escritura, se aplica un pulso hacia el nivel BAJO en WE’ mientras los datos que se desean
escribir se colocan en las terminales de E/S. La circuitería interna borra de manera
automática las celdas correspondientes en la localidad de memoria antes de escribir los
nuevos datos.
Aplicaciones de las ROM
Las ROM pueden utilizarse en cualquier aplicación que requiera almacenamiento de
datos no volátil, donde los datos rara vez o nunca tengan que ser alterados. Describiremos
brevemente algunas de las áreas de aplicación más comunes.
Almacenamiento de programas en microcomputadora programación en firme
(firmware). En la actualidad, ésta es la aplicación más ampliamente utilizada de las ROM.
Las microcomputadoras personales y de empresas usan ROM para almacenar sus programas
de sistema operativo y sus intérpretes de lenguajes (es decir, BASIC), de manera que la
computadora pueda utilizarse inmediatamente después de encenderse. Los productos que
tienen una microcomputadora para controlar su operación utilizan ROM para almacenar
programas de control. Algunos ejemplos de estos productos son los juegos electrónicos, las
cajas registradoras electrónicas, las balanzas electrónicas e inyección de combustible en
automóviles controlada por microcomputadora.
Los programas de microcomputadora que se almacenan en ROM se conocen como
programación en firme (firmware) ya que no están sujetos a cambios; los programas que se
almacenan en RWM reciben el nombre de programación blanda (software) puesto que
pueden ser fácilmente alterados.
Memoria de arranque. Muchas microcomputadoras y la mayor parte de las
computadoras grandes, no guardan sus programas de sistema operativo en ROM. En lugar de
ello, dichos programas están guardados en memoria externa por lo general en disco
magnético. Entonces, cómo saben las computadoras qué hacer cuando se les enciende?. En la
ROM se guarda un pequeño programa denominado programa de arranque. Cuando se
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 42
APUNTES DE SISTEMAS DIGITALES II
enciende la computadora, ésta ejecuta las instrucciones que se encuentran en el programa de
arranque. Por lo general, estas instrucciones hacen que el CPU inicialice la circuitería
(hardware) del sistema. Hecho esto, el programa de arranque carga los programas del sistema
operativo desde la memoria secundaria (disco) hacia la memoria interna de la computadora.
En este momento, la computadora comienza a ejecutar el programa correspondiente al
sistema operativo y está lista para dar respuesta a los mandatos del usuario. Este proceso de
inicio recibe con frecuencia el nombre de "arranque del sistema".
Tablas de datos. Las ROM se usan para almacenar tablas de datos que no varían.
Algunos ejemplos de éstas son las tablas trigonométricas (es decir, seno, coseno, etc.) y tablas
de conversión de códigos.
Se dispone de varias tablas de "búsqueda" en ROM estándar con las funciones
trigonométricas. Una de ellas, la National Semiconductor MM4220BM, almacena la función
seno para ángulos entre 0 y 90 grados. La ROM se organiza como una memoria de 128 x 8,
con siete entradas de dirección y ocho salidas de datos. Las entradas de dirección representan
el ángulo en incrementos de aproximadamente 0.7o. Por ejemplo, la dirección 0000000 es 0o,
la dirección 0000001 es 0.7o, la dirección 0000010 es 1.41o y así sucesivamente hasta llegar a
la dirección 1111111, que es 89.3o. Cuando una dirección se aplica a la ROM, las salidas de
datos representarán el valor aproximado del seno del ángulo. Por ejemplo, con la entrada de
dirección 1000000 (que representa aproximadamente 45o) las salidas de datos serán 10110101.
Como el seno es menor que o igual a 1, estos datos se interpretan como una fracción; esto
es, .10110101, el cual, cuando se convierte a decimal es igual a .707 (seno de 45o).
Convertidor de datos. El circuito convertidor de datos toma un dato expresado en
cierto código y produce como salida el mismo dato pero en otro código. Por ejemplo, la
conversión de código se necesita cuando una computadora saca datos en código binario
directo y se desea convertirlo en BCD a fin de exhibirl6 en exhibiciones LED de 7
segmentos.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 43
APUNTES DE SISTEMAS DIGITALES II
Uno de los métodos más simples de conversión de código utiliza una ROM
programada, de manera que la aplicación de cierta dirección (el código anterior) produzca
una salida de datos que representa el equivalente en el nuevo código. La 74185 es una ROM
TTL que almacena la conversión de código de binario en BCD para una entrada binaria de 6
bits. Para ilustrar esto, una entrada de dirección de 100110 (38 decimal) producirá una salida
de datos de 00111000, que es el código BCD del decimal 38. El problema 11-19 trata con
este tipo de ROM.
Generadores de caracteres. Si el lector alguna vez ha observado de cerca caracteres
alfanuméricos (letras, números, etc.) impresos en el monitor de una computadora,
seguramente ha notado que cada uno se forma, en términos generales, un grupo de puntos.
Según el carácter exhibido, algunas posiciones de los puntos son brillantes mientras que otras
son oscuras. Cada carácter debe ajustarse a un patrón de posiciones de puntos, que
generalmente se dispone como una matriz de 5 x 7 o bien de 7 x 9. El modelo de puntos de
cada carácter puede representarse como un código binario (es decir, punto brillante = 1, punto
oscuro = 0).
Una ROM generadora de caracteres almacena los códigos del modelo de puntos por
cada carácter ubicado en una dirección correspondiente al código ASCII de ese carácter. Por
ejemplo, el modo de puntos de la letra "A" se almacenaría en la dirección 1000001, que es el
código ASCII de la A mayúscula. Las ROM generadoras de caracteres se usan intensamente
en cualquier aplicación que exhiba o impriman caracteres alfanuméricos.
Generador de funciones. El generador de funciones es un circuito que produce formas
de onda tales como ondas senoidales, diente de sierra, triangulares y cuadradas. La figura
2.12 muestra cómo utilizar una tabla de búsqueda en ROM y un DAC para generar como
salida una señal senoidal.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 44
APUNTES DE SISTEMAS DIGITALES II
Figura 2.12. Generador de Funciones utilizando una ROM y un ADC.
La ROM guarda 256 distintos valores de ocho bits que corresponden cada uno a un
valor diferente de la forma de onda (es decir, a un punto con diferente voltaje sobre la onda
senoidal). El contador de ocho bits recibe de manera continua la señal de reloj y con esto
proporciona en forma secuencial las direcciones de entrada a la ROM. Conforme el contador
recorre sus 256 estados, mismos que generan 256 direcciones, la ROM da salida a 256 puntos
hacia el DAC. La salida del DAC será una forma de onda escalonada con 256 valores de
voltaje analógico diferentes, los cuales corresponden a los datos. El filtro pasa bajas reduce la
amplitud de los pasos en la salida del DAC para producir una forma de onda casi lisa.
Circuitos como estos se emplean en algunos generadores de función comerciales. La
misma idea se utiliza en algunos sintetizadores de voz donde la forma de onda digitalizada de
voz se almacena en ROM.
RAM de semiconductor
Recordemos que el término RAM significa memoria con acceso aleatorio, lo cual
quiere decir que se puede tener acceso fácilmente a cualquier localidad de dirección de
memoria. Muchos tipos de memoria se pueden clasificar como de acceso aleatorio, pero
cuando el término RAM se utiliza con memorias de semiconductor, generalmente se considera
que significa memoria de lectura y escritura (RWM) en contraste con la ROM. Ya que es una
práctica común usar el término RAM para referirnos al RWM de semiconductor, lo
utilizaremos de aquí en adelante.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 45
APUNTES DE SISTEMAS DIGITALES II
Las RAM se emplean en las computadoras como medios de almacenamiento temporal
para programas y datos. El contenido de muchas de las localidades de dirección de la RAM
será leído y escrito a medida que la computadora ejecuta un programa. Esto requiere que la
RAM tenga ciclos de escritura y lectura rápidos para que no reduzca la velocidad de operación
de la computadora.
Una gran desventaja de las RAM es que son volátiles o pierden toda la información
contenida en ellas si se interrumpe el suministro de potencia. Sin embargo, algunas RAM
CMOS emplean una cantidad tan pequeña de potencia en el modo de espera (ninguna tarea de
escritura o lectura), que se pueden alimentar con baterías cada vez que se interrumpe la fuente
de alimentación principal. Por supuesto, la ventaja principal de la RAM es que se puede
escribir en ella y también se puede leer de ella muy rápidamente con la misma facilidad.
Arquitectura de la RAM
Como sucede con la ROM, es útil pensar que la RAM consta de varios registros, cada
uno de los cuales almacena una sola palabra de datos y con una dirección única. Las RAM
comúnmente vienen con capacidades de palabras de 1K, 4K, 8K, 16K, 64K, 128K, 256K; y
tamaños de palabra de uno, cuatro u ocho bits. Como se observará más adelante, la
capacidad de palabras y el tamaño de éstas pueden extenderse combinando circuitos
integrados de memoria.
La figura 2.13 muestra la arquitectura simplificada de una RAM que almacena 64
palabras de cuatro bits cada una (es decir, una memoria de 64 x 4). Estas palabras tienen
direcciones que van de 0 a 6310. A fin de seleccionar una de las 64 localidades de dirección
para leer o escribir, se aplica un código de dirección binario a un circuito decodificador. Ya
que 64 = 26, el decodificador requiere un código de entrada de seis bits. Cada código de
dirección activa una determinada salida del decodificador la cual, a su vez, habilita su registro
correspondiente. Por ejemplo, suponga un código de dirección aplicado de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 46
APUNTES DE SISTEMAS DIGITALES II
A5A4A3A2A1A0 = 011010
Como 0110102 = 2610 la salida del decodificador 26 pasara a estado alto, seleccionan el
registro 26 para una operación de lectura o bien de escritura.
Figura 2.13. Organización interna de una RAM de 64 * 4.
Operación de lectura. El código de dirección selecciona un registro del circuito de
memoria para leer o escribir. A fin de leer el contenido del registro seleccionado, la entrada
LECTURA/ESCRITURA (R/W’) debe ser un 1. Además, la entrada CS (SELECCION DE
CI) debe ser activada (un 1 en este caso). La combinación de R/W’ = 1 y CS = 1 habilita los
buffers de salida de manera que el contenido del registro seleccionado aparecerá en las
cuatro salidas de datos. R/W’ = 1 también deshabilita los buffers de entrada de manera que
las entradas de datos no afecten la memoria durante la operación de lectura.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 47
APUNTES DE SISTEMAS DIGITALES II
Operación de escritura. Para escribir una nueva palabra de cuatro bits en el registro
seleccionado se requiere que R/W’ = 0 y CS = 1. Esta combinación habilita los buffers de
entrada de manera que la palabra de cuatro bits aplicada a las entradas de datos se cargará en
el registro seleccionado. R/W = 0 también deshabilita los buffers de salida que son de tres
estados, de manera que las salidas de datos se encuentren en estado Alta-Z durante una
operación de escritura. La operación de escritura, desde luego, destruye la palabra que estaba
almacenada antes en la dirección.
Selección de CI. Muchos circuitos de memoria tienen una o más entradas CS que se
usan para habilitar o deshabilitar al circuito en su totalidad. En el modo deshabilitado todas
las entradas y salidas de datos se deshabilitan (Alta-Z) de manera cuando se combinen CI de
memoria para obtener mayores memorias. Note que muchos fabricantes llaman a estas
entradas CE (HABILITACION DE CIRCUITO). Cuando las entradas CS o CE se
encuentran en su estado activo, se dice que el CI de memoria ha sido seleccionado; de otro
modo se dice que no estd seleccionado. Muchos CI de memoria están diseñados para
consumir una potencia mucho menor cuando no están seleccionados. En sistemas de
memoria grandes, para una operación dada de memorial serán seleccionados uno o más CI
de memoria mientras que los demás no.
Terminales comunes de entrada/salida. A fin de conservar terminales en un
encapsulado de CT, los fabricantes a menudo combinan las funciones de entrada y salida de
datos utilizando terminales comunes de entrada/salida. La entrada R/W’ controla la función
de estas terminales E/S. Durante una operación de lectura, las terminales E/S actúan como
salidas de datos que reproducen el contenido de la localidad de dirección seleccionada.
Durante una operación de escritura, las terminales E/S actúan como entradas de datos.
Podemos observar por qué se hace esto considerando el CI de la figura 2.13. Con
terminales de entrada y salida aparte, se requiere un total de 18 terminales (incluyendo tierra y
fuente de potencia). Con cuatro terminales comunes E/S, sólo se necesitan 14 terminales . El
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 48
APUNTES DE SISTEMAS DIGITALES II
ahorro en el uso de terminales se hace aún más significativo en CI con tamaño de palabra
mayor.
RAM estática (SRAM)
La operación de la RAM que se ha venido analizando hasta ahora se aplica a una RAM
estática (aquella que puede almacenar datos mientras se aplica energía al circuito). Las celdas
de la memoria RAM estática son en esencia flip-flops que permanecerán en un estado
determinado (almacenaran un bit) indefinidamente, siempre y cuando no se interrumpa el
suministro de energía al circuito. Más adelante describiremos las RAM dinámicas, que
almacenan datos como cargas en capacitares. Con la RAM dinámica los datos almacenados
desaparecerán gradualmente debido a la descarga del capacitor, de manera que se necesitan
refrescar en forma periódica los datos (o sea, recargar los capacitores).
Las RAM estáticas (SRAM) se encuentran disponibles en tecnologías bipolar y MOS,
aunque la vasta mayoría de las aplicaciones hacen uso de RAM NMOS o bien CMOS. Como
se dijo antes, las bipolares tienen la ventaja en velocidad (a pesar que el NMOS cierra
gradualmente la brecha) y los dispositivos MOS tienen capacidades mucho mayores con
menor consumo de potencia. La celda bipolar contiene dos transistores bipolares y dos
resistores, en tanto que la celda NMOS contiene cuatro MOSFET de canales N. La celda
bipolar requiere mas área de circuito debido a que un transistor bipolar es más complejo que
un MOSFET, y la celda bipolar requiere resistores separados, mientras que la celda MOS
utiliza MOSFET como resistores. Una celda de memoria CMOS seria semejante a la celda
NMOS, excepto que emplearía MOSFET de canales P. Esto origina menor consumo de
energía pero incrementa la complejidad del circuito.
Circuito Real SRAM. Un ejemplo de un CI real SRAM es la CMOS 6264 que es una
memoria de 8K * 8 con ciclos de lectura y escritura de 100 ns y un consumo de potencia de
sólo 0.1 mW en el estado de espera. En la figura 2.14 se muestra el símbolo 1ógico
correspondiente a la 6264. Note que el circuito tiene 13 entradas para direcciones, dado que
213 = 8192 = 8K, y ocho líneas de E/S para datos. Las cuatro entradas de control determinan
el modo de operación del circuito.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 49
APUNTES DE SISTEMAS DIGITALES II
Figura 2.14. Símbolo para la SRAM CMOS 6264.
La entrada WE’ es igual a la entrada R/W’ que se ha utilizado hasta este momento. Un
nivel BAJO en la entrada WE’ hará que se escriban los datos en la RAM siempre y cuando el
circuito haya sido seleccionado las dos entradas de selección del CI deben encontrarse
activas. Note la forma en que se utiliza el símbolo & para denotar que ambas entradas tienen
que estar activas. Un nivel ALTO aplicado en WE’ produce la operación de lectura siempre
que el dispositivo se encuentre seleccionado y los buffers de salida estén habilitados por OE’
= BAJO. Cuando el dispositivo deja de estar seleccionado, pasa al estado de bajo consumo de
potencia en el que ninguna de las demás entradas tienen efecto sobre él.
RAM dinámica (DRAM)
Las RAM dinámicas se fabrican con tecnología MOS y se caracterizan por su gran
capacidad, bajos requerimientos de consumo de potencia y velocidad de operación media. Tal
como ya se mencionó, a diferencia de las RAM estáticas, las cuales guardan información en
FF, las RAM dinámicas guardan los unos y ceros como cargas sobre pequeños capacitores
MOS (con capacitancia de sólo unos cuantos picofaradios). Dada la tendencia que tienen
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 50
APUNTES DE SISTEMAS DIGITALES II
estas cargas a fugarse después de cierto tiempo, las RAM dinámicas requieren de la recarga
periódica de las celdas de memoria; este proceso recibe el nombre de refresco de la memoria
RAM dinámica. En general, cada celda debe refrescarse por lo menos cada cierto periodo, de
2 a 10 ms, o de lo contrario se perderán los datos.
La necesidad de refrescar las celdas es una desventaja de las RAM dinámicas cuando
éstas se comparan con las RAM estáticas, debido a que las primeras añaden más
requerimientos al diseño del sistema de memoria. Hasta hace poco los diseñadores de
sistemas tenían que incluir circuitería adicional para implantar la operación de refresco de la
memoria durante los intervalos de tiempo en que no se tiene acceso a ésta para una operación
de lectura o de escritura. Ahora existen dos alternativas disponibles para ayudar a neutralizar
esta desventaja. Para memorias relativamente pequeñas (< 64K palabras) la RAM integrada
(IRAM) proporciona una solución. Una IRAM es un CI que incluye la circuitería de refresco
sobre el mismo microcircuito, junto con la matriz de celdas de memoria. El resultado es un
CI que funciona, desde el punto de vista externo, como un CI de RAM estática - usted
proporciona las direcciones y entonces recoge los datos - pero que en su interior emplea una
estructura de RAM dinámica de alta densidad. El diseñador no tiene que preocuparse por la
operación de refresco de la memoria ya que ésta se realiza de manera automática en el
interior del CI.
Para sistemas de memoria grandes (>64K), existe un enfoque que es más eficiente en
términos de costos y que hace uso de microcircuitos LSI denominados controladores de
memoria dinámica, los cuales contienen toda la 1ógica necesaria para refrescar los CI de
RAM dinámica que integran el sistema. Esto reduce en buena parte la circuitería adicional
que contiene un sistema de RAM dinámica.
Para aplicaciones donde los factores de velocidad y reducción en la complejidad son
más importantes que las consideraciones de espacio y consumo de potencia, las RAM
estáticas siguen siendo la mejor opción. En general, son más rápidas que las RAM dinámicas
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 51
APUNTES DE SISTEMAS DIGITALES II
y no requieren de ninguna operación de refresco. Son más fáciles de diseñar, pero no pueden
competir con la mayor capacidad y menor requerimiento de potencia de las RAM dinámicas.
Como consecuencia de su estructura de celda más sencilla, las DRAM tienen por lo
general cuatro veces la densidad de las SRAM. Esto permite colocar hasta cuatro veces más
capacidad de memoria sobre una tarjeta de circuito impreso o, en otros términos, para la
misma cantidad de memoria sólo se necesita la cuarta parte del espacio que se ocuparía si se
emplearan SRAM. El costo por bit de almacenamiento en RAM dinámica se encuentra entre
la quinta y cuarta parte del costo en las RAM estáticas. Se obtiene un ahorro adicional en el
costo debido a los bajos requerimientos de potencia de la RAM dinámica, que por lo común
se encuentra entre un sexto y la mitad de los correspondientes a las RAM estáticas, y lo que a
su vez permite el uso de fuentes de alimentación más pequeñas y de menor costo.
Las principales aplicaciones de las SRAM se encuentran en áreas donde son
necesarias sólo pequeñas cantidades de memoria (hasta 64K) o donde se requiere de gran
velocidad. Muchos instrumentos y aparatos controlados por microprocesador tienen
requerimientos muy pequeños de capacidad de memoria. Algunos instrumentos, como el
osciloscopio de almacenamiento digital y los analizadores 1ógicos, requieren de una memoria
de alta velocidad. Para aplicaciones como éstas, por lo general se emplea memoria SRAM.
La memoria principal de muchas de las microcomputadoras personales (por ejemplo,
la IBM PC o APPLE) emplea DRAM debido a su gran capacidad y bajo consumo de
potencia. Sin embargo, estas computadoras algunas veces emplean pequeñas cantidades de
SRAM para funciones que requieren de máxima velocidad, como las gráficas en vídeo y las
tablas de búsqueda.
Refresco del contenido de la DRAM
Las celdas de la DRAM tienen que refrescarse de manera periódica (por lo general,
cada 2 ms) o de lo contrario pierden el dato que almacenan. Tal como ya se mencionó en el
estudio de la celda DRAM, la celda se refresca cada vez e se realiza en ellas una operación de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 52
APUNTES DE SISTEMAS DIGITALES II
lectura. Parecería entonces que para una DRAM de 16K x 1 es necesario llevar a cabo las
operaciones de lectura con una rapidez de una 122 ns (2ms/16,384 = 122 ns). Esto es
demasiada rapidez para las DRAM disponibles hoy en el mercado y aun si existiesen DRAM
suficientemente rápidas, es poco probable que durante la operación normal se leyeran todas
las celdas. Es por esta razón que los fabricantes diseñan sus microcircuitos DRAM de forma
que:
cada vez que se Ileve acabo una operación de lectura en una celda, se regeneren
todas las celdas que se encuentran en el mismo renglón.
Esto disminuye en gran medida el número de operaciones de lectura que deben
efectuarse para regenerar toda la memoria; es así como sólo es necesario leer 128 renglones
una vez cada 2 ms. Aun así, es poco probable leer 128 renglones durante la operación normal
de la memoria; por consiguiente, la operación de refresco tiene que efectuarse por algún otro
medio.
El medio más común es el proporcionado por un contador de refresco de siete bits,
el cual se emplea para recorrer de manera cíclica las 128 direcciones diferentes que
corresponden a los renglones. El contador comienza en 0000000, lo que corresponden al
renglón 0. Esta dirección se aplica en las entradas para direcciones de la DRAM (MUX = 0) y
se cambia RAS’ hacia el nivel BAJO, mientras que R/W’ y CAS’ se mantienen en el nivel
ALTO. Esto permite regenerar el renglón 0. El contador se incrementa y la secuencia vuelve
a repetirse hasta alcanzar el renglón 127. Este proceso de regeneración se puede realizar de
manera completa en alrededor de 50 s.
Si bien la idea del contador de regeneración parece bastante sencilla, debe tomarse en
cuenta el hecho de que las direcciones de los renglones que provienen del contador no
interfieran con las direcciones enviadas por la CPU durante un ciclo normal de
lectura/escritura. Por esta razón las direcciones del contador de regeneración tienen que ser
multiplexadas con las de la CPU, de este modo siempre se activarán las direcciones
apropiadas para la DRAM en los tiempos apropiados.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 53
APUNTES DE SISTEMAS DIGITALES II
Muchos fabricantes de CI de memoria dinámica han desarrollado CI especiales para el
manejo de la operación de refresco así como del multiplexado necesario para los sistemas de
DRAM. Estos CI se conocen como controladores de RAM dinámica. A continuación se
examina de manera breve un CI de este tipo, el 3242 de Intel, que está diseñado para
emplearse con DRAM de 16K. El diagrama de bloques de la figura 2.15 muestra un 3242
utilizado en conjunción con una DRAM de 16K x 1.
Figura 2.15. El controlador de DRAM 3242 realiza el multiplexado y refresco de las
direcciones y regenera el conteo de éstas para una DRAM de 16K.
El 3242 ofrece como salida una dirección multiplexada de siete bits que está
conectada a las entradas para direcciones de la DRAM. Existen tres posibles fuentes para esta
dirección. El contador de regeneración de siete bits se incrementa de acuerdo con una señal
externa de reloj que esta conectada en su entrada COUNT’. Este contador proporciona las
direcciones de los renglones de la DRAM durante la operación de regeneración. El 3242
también toma la dirección de 14 bits que envía la CPU y la multiplexa hacia las direcciones
de renglón y columna que se emplean cuando la CPU efectúa una operación de lectura o una
de escritura sobre la DRAM. Los niveles 1ógicos aplicados a la entrada HABILITACION
DEL REFRESCO y HABILITACION DE RENGLON, determinan qué direcciones de siete
bits aparecerán en las salidas del controlador.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 54
APUNTES DE SISTEMAS DIGITALES II
Expansión del tamaño de la palabra y de la capacidad
En muchas aplicaciones de memoria en CI la capacidad de almacenamiento que se
requiere o bien el tamaño de palabra no pueden ser satisfechos por un circuito integrado de
memoria. En cambio, varios circuitos integrados de memoria tienen que ser combinados para
ofrecer la capacidad y el tamaño de palabra deseados. Observaremos cómo se hace esto a
través de ejemplos que ilustran todos los conceptos importantes que se necesitarán cuando se
conecten los circuitos integrados de memoria con un microprocesador.
Expansión del tamaño de palabra. Suponga que se necesita una memoria que pueda
almacenar 16 palabras de ocho bits y todo lo que se tiene son circuitos RAM que se disponen
como memorias de 16 x 4 con líneas E/S comunes. Podemos combinar dos de estos circuitos
integrados de 16 x 4 para producir la memoria que se busca. La configuración para realizar
esto se muestra en la figura 2.16. Examinemos este diagrama cuidadosamente y observemos
qué se puede indagar de él antes de seguir leyéndolo.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 55
APUNTES DE SISTEMAS DIGITALES II
Figura 2.16 Combinación de dos RAM de 16 x 4 para una memoria de 16 x 8.
Como cada circuito puede almacenar 16 palabras de cuatro bits y deseamos almacenar
16 palabras de ocho bits, utilizamos cada uno para almacenar la mitad de cada palabra. En
otras palabras, RAM-0 almacena los cuatro bits de orden superior de cada una de las 16
palabras y RAM-1 almacena los cuatro bits de orden inferior de cada una de las 16 palabras.
En las salidas de la RAM conectadas al canal de datos se dispone de una palabra completa de
ocho bits.
Cualquiera de estas 16 palabras se selecciona mediante la aplicación del código de
dirección adecuado al canal de direcciones de cuatro líneas (AB3, AB2, AB1, AB0). Las líneas
de dirección por lo general se originan en la CPU. Note que cada línea del canal de dirección
esta conectada a la correspondiente entrada de dirección de cada circuito. Esto significa que
una vez que un código de dirección se coloque en el canal de direcciones, este mismo código
se aplicara a ambos circuitos de manera que se tenga acceso a la misma localidad en cada
circuito a] mismo tiempo.
Una vez que se selecciona la dirección, podemos leer o escribir en esta dirección con
el control de la línea R/W’ y CS común. Para leer, R/W’ debe estar en ALTO y CS’ debe
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 56
APUNTES DE SISTEMAS DIGITALES II
estar en BAJO. Esto ocasiona que las líneas E/S de la RAM actúen como salidas. RAM-0
coloca su palabra de cuatro bits seleccionada en las cuatro líneas superiores del canal de datos
y RAM-1 las coloca en las cuatro líneas inferiores del mismo canal de datos. En este
momento el canal de datos contiene la palabra seleccionada de ocho bits, la que ahora puede
transmitirse hacia otro dispositivo (por lo común, un registro de la CPU).
Para escribir, R/W’ = 0 y CS’ = 0 provocan que las líneas de E/S de la RAM actúen
como entradas. La palabra de ocho bits que se desea escribir en la memoria, se coloca sobre
el canal de datos (lo que en general hace la CPU). Los primeros cuatro bits se escriben en la
localidad seleccionada de la RAM-0, mientras que los otros cuatro se escriben en la RAM-1.
En esencia, la combinación de las dos RAM actúan como una sola memoria de 16 x 8.
A esta combinación nos referimos como un módulo de memoria de 16 x 8.
Expansión de la capacidad. Suponga que se necesita una memoria que pueda
almacenar 32 palabras de cuatro bits y todo lo que se tiene son circuitos de 16 x 4.
Combinando dos de ellos de 16 x 4 como se muestra en la figura 2.17, podemos producir la
memoria que se pide. Una vez más, examine este diagrama y observe lo que se puede
determinar a partir de él antes de continuar.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 57
APUNTES DE SISTEMAS DIGITALES II
Figura 2.17. Combinación de dos CI de 16 x 4 para una memoria de 32 x 4.
Cada RAM se utiliza para almacenar 16 palabras de cuatro bits. Las terminales de
datos de cada RAM se conectan al canal de datos común de cuatro líneas. Sólo una de las
RAM puede ser seleccionada (habilitada) a la vez, de manera que no habrá problemas de
contienda por el canal de datos. Esto se asegura conduciendo las entradas CS’ respectivas
desde diferentes señales 1ógicas.
Ya que la capacidad total de este módulo de memoria es 32 x 4, tiene que haber 32
direcciones diferentes. Esto requiere cinco líneas del canal de direcciones. La línea de
dirección superior AB4 se usa para seleccionar una RAM o la otra (vía las entradas CS’)
como una de la que se leerá o en la que se escribirá. Las otras cuatro líneas de dirección AB 0-
AB3 se utilizan para seleccionar una localidad de memoria de 16 circuitos seleccionados de la
RAM.
Para ilustrar esto, cuando AB4 = 0, la CS’ de RAM-0 habilita este circuito para leer o
escribir. Por lo tanto, cualquier localidad de dirección en RAM-0 puede tener acceso por
AB3-AB0. Las últimas cuatro líneas de dirección pueden variar de 0000 a 1111 a fin de
seleccionar la localidad deseada. En consecuencia, el intervalo de direcciones que representa
las localidades en RAM-0 son:
AB4AB3AB2AB1AB0 = 00000 to 01111
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 58
APUNTES DE SISTEMAS DIGITALES II
Note que cuando AB4 = 0, la CS’ de RAM-1 es alta, de manera que sus líneas E/S se
deshabiliten y no puedan comunicarse (dar o tomar datos) con el canal de datos.
Debe estar claro que cuando AB4 = 1, los papeles de RAM-0 y RAM-1 se invierten.
Ahora RAM-1 esta habilitada y las líneas AB3-AB0 seleccionan una de sus localidades. Por lo
tanto, el intervalo de direcciones en RAM-1 es:
AB4AB3AB2AB1AB0 = 10000 to 11111
2.4 Memorias de Soporte (externa)
Disco y cinta magnéticos. Los dispositivos de cinta y disco graban y leen marcas
magnéticas sobre una superficie en movimiento de material magnético. Para cada uno de estos
dispositivos, se aplica una delgada cubierta de material magnético a una superficie lisa no
magnética. Por ejemplo, las cintas magnéticas constan de una capa de material magnético
depositada en cinta plástica. Los discos tienen el material magnético depositado en ambos
lados de un disco plano que se asemeja a un disco fonográfico.
La grabación y lectura de información binaria en cintas y discos usa los mismos
principios básicos. La figura 2.18 ilustra el concepto fundamental de la grabación en una
superficie magnética móvil. La cabeza de lectura/escritura es un núcleo de hierro dulce de alta
permeabilidad con una bobina enrollada y un pequeño orificio de aire (comúnmente mide
0.001 plg. de ancho). Al escribir, se conduce una corriente a través de la bobina, estableciendo
líneas magnéticas de flujo en el núcleo. Estas líneas de flujo permanecen en el núcleo hasta
que encuentran la brecha de aire, la cual tiene una muy baja reluctancia al flujo magnético.
Esto ocasiona que las líneas de flujo se desvíen y viajen a través de la cubierta magnética en la
superficie móvil. Por lo tanto, los pulsos de corriente en la bobina originan canales de
magnetismo en la superficie móvil. Estos canales permanecen magnetizados después de que
pasan la cabeza de lectura/escritura.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 59
APUNTES DE SISTEMAS DIGITALES II
La operación de lectura es la inversa de la operación de escritura. Durante una
operación de lectura la bobina se usa como línea sensora. Conforme la superficie magnética
se desplaza bajo la cabeza de lectura/escritura, los canales que han sido magnetizados
producen un flujo a través del conducto de aire y en el núcleo. Este cambio en el flujo del
núcleo induce una señal de voltaje en el devanado de detección, la cual es entonces
amplificada e interpretada como 1 o 0.
Figura 2.18. Partes fundamentales para grabar en una superficie magnética.
La bobina que esta alrededor del núcleo a menudo tiene una derivación central que
permite que la mitad de la bobina sea utilizada corno devanado de detección y la otra mitad
como alambre de grueso calibre para proporcionar la corriente necesaria para la operación de
escritura.
El disco y la cinta se utilizan como sistemas no volátiles de memoria masiva donde se
necesita guardar de manera permanente grandes cantidades de datos; en este tipo de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 60
APUNTES DE SISTEMAS DIGITALES II
dispositivos también se puede escribir y borrar una y otra vez. Dado que ambos emplean
medios mecánicos para grabar y leer los datos, sus tiempos de acceso son mucho más grandes
que los de la memoria principal de la computadora. Por otra parte su costo por bit así como su
gran capacidad los hace ideales como medios de almacenamiento secundario; los datos
pueden transferirse hacia la memoria principal de la computadora cuando se les necesite y es
esto precisamente su principal campo de aplicación.
Sistemas de disco duro (o rígido). En un sistema de disco duro, los datos se graban
sobre pistas concéntricas que están sobre un disco de aluminio que tiene un recubrimiento
magnético en ambas caras. Los discos duros tienen tamaños que varían desde 31/2 plg. hasta
20 plg. y giran sobre un eje común a velocidades que van desde 1000 hasta 3600 rpm. Los
discos que en la actualidad se encuentran disponibles en el mercado, tienen tiempos de acceso
entre 20 y 100 ms. El tiempo de acceso es el tiempo promedio que tarda la cabeza de
lectura/escritura en colocarse sobre la parte de la superficie del disco donde deben leerse o
escribirse los datos. La rapidez de transferencia de los discos duros varia entre 1 M y 10 M
bits por segundo. Esta cifra corresponde a la rapidez con que pueden leerse los datos una vez
que la cabeza se encuentra en posición.
Un sistema típico de disco duro de 5 plg. tal como el que se encuentra en la IBM PC,
esta formado por dos discos duros (cuatro superficies) y tiene una capacidad de
almacenamiento entre 10 y 20 MB. La tecnología actual está produciendo unidades de disco
múltiple cuya capacidad varia entre 100 MB y 1000 MB. Muchos discos duros son unidades
de disco fijas en las que los discos están montados de manera permanente sobre el
mecanismo de la unidad y éstos no pueden retirarse de ella. Algunos sistemas de disco duro
utilizan discos removibles denominados cartuchos o paquetes de discos.
La gran velocidad de rotación de los discos duros produce un delgado colchón de aire
sobre la superficie del disco. La cabeza de lectura/escritura flota sobre este colchón, de forma
que ésta nunca toca la superficie del disco. Lo anterior evita el desgaste de la superficie del
disco y de la cabeza de lectura/escritura. Si existen combas o protuberancias sobre la
superficie del disco, o partículas de polvo o suciedad, entonces puede ocurrir un colapso de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 61
APUNTES DE SISTEMAS DIGITALES II
la cabeza. Si esto ocurre, entonces la cabeza entra en contacto con la superficie del disco,
dañándola. Lo anterior da como resultado la destrucción de los datos grabados y la
disminución de la utilidad del disco. Para minimizar la posibilidad de colapso, muchos
sistemas de disco duro succionan el aire a través de filtros. Cuando se retira la energía del
disco, la cabeza se retrae antes que el disco deje de girar. Cuando se establece la energía
eléctrica la cabeza de lectura/escritura permanece retraída hasta que el disco alcanza su
máxima velocidad y ésta le permite formar el colchón de aire.
Sistemas de disco flexible (floppy). Un disco flexible (también conocido como
disquete), es un disco delgado de Mylar que da vueltas dentro de una funda que lo protege
del medio ambiente. Las dos superficies del disco están recubiertas con material magnético,
lo que permite grabar datos en ambos lados (grabación de doble densidad). Los discos se
encuentran disponibles en tres tamaños: 8 plg. (disco flexible original), 5.25 plg. (minifloppy)
y 3.5 plg. (microfloppy). El microfloppy viene en la actualidad en una funda de plástico
rígido. Cuando un disco flexible se inserta en una unidad de disco gira con una velocidad de
300 o 360 rpm, que es mucho menor que la de un disco duro.
La capacidad de almacenamiento de este tipo de discos varia desde 100k hasta 1
MB aunque ahora algunas compañías distribuyen unidades de disco flexible que tienen una
capacidad de 4 MB. Los discos flexibles tienen tiempos de acceso casi 10 veces mayores que
los discos duros; en cuanto a la rapidez de transferencia de datos, ésta es casi 10 veces menor
que la de los discos duros. El tiempo de acceso promedio de las unidades de disco flexible se
encuentra entre 100 y 500 ms, mientras que su rapidez de transferencia de datos varia entre
250K y 1M bits/s.
Si bien los sistemas de disco flexible son más lentos y ofrecen menor capacidad que
los de disco duro, tienen las ventajas de menor costo y transportabilidad. Los discos flexibles
pueden llevarse con facilidad de una computadora a otra y también pueden enviarse por
correo.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 62
APUNTES DE SISTEMAS DIGITALES II
Cinta magnética. El uso principal que recibe el almacenamiento en cinta magnética es
servir como respaldo de la información contenida en un sistema de disco duro. Dado que por
lo general los sistemas de disco duro almacenan grandes bases de datos (como inventarios,
datos del personal o calificaciones y cursos de estudiantes), un colapso de la cabeza puede ser
desastroso a menos que los datos se copien (respalden) de manera periódica en una cinta
magnética. La mayor ventaja de la cinta magnética es el bajo costo por bit y su gran
capacidad de almacenamiento. El principal problema que presenta la cinta es el largo tiempo
de acceso requerido para encontrar un bloque de datos específicos (para esto piense en el
tiempo que le llevaría a usted encontrar su melodía favorita en una cinta de audio). Este
problema no tiene importancia cuando la cinta se emplea como respaldo del contenido de un
disco. En una cinta, los datos no se leen con mucha frecuencia y cuando esto sucede la cinta
se lee desde el principio.
Memoria de disco óptico. La memoria de disco óptico es la tecnología más reciente de
almacenamiento masivo y promete ser la que predomine el futuro. Su operación se basa en la
reflexión o dispersión de un haz láser muy fino por superficie de un disco que tiene huecos o
burbujas microscópicas que representan niveles 1ógicos 1 "impresos" sobre la superficie. Una
característica muy importante de la memoria de disco óptico es su gran capacidad -ya está
disponible en el mercado un disco de 51/2 plg. que tiene una capacidad de 1000 MB. Otras
ventajas son su costo, que es relativamente bajo, y su inmunidad al polvo. Los tiempos de
acceso y la rapidez de transferencia de datos son similares a las de los más recientes sistemas
de disco duro.
Los sistemas de disco óptico se encuentran disponibles en tres tipos que dependen del
modo de escritura. Los discos donde sólo se puede leer reciben el nombre de ROM óptica
(OROM) o ROM de disco compacto (CD-ROM). Este tipo de discos se emplea para
almacenar bases de datos muy grandes y que no cambiarán, como los diccionarios o las
enciclopedias. Un disco óptico donde se puede escribir sólo una vez, recibe el nombre de
disco de escritura sólo una vez - lectura muchas (WORM). Los CD-ROM y los WORM
no se pueden borrar. El disco óptico de lectura/escritura permite escribir y volver a escribir
las veces que sea necesario y, por tanto, funciona como si fuera un disco duro magnético.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 63
APUNTES DE SISTEMAS DIGITALES II
Este tipo de disco emplea una superficie diferente a las de los otros tipos. Su superficie está
recubierta con un material magnético cuyas propiedades magnéticas pueden cambiarse
mediante un haz láser.
El almacenamiento de disco óptico tiene un futuro prometedor, en el que puede surgir
como el principal dispositivo de almacenamiento masivo. En el presente, muchas compañías
realizan investigaciones para desarrollar nuevas técnicas para lectura y escritura.
III. UNIDAD ARITMETICA LOGICA (ALU)
Una unidad aritmética 1ógica es un circuito digital que realiza un conjunto de micro-
operaciones aritméticas y un conjunto de micro-operaciones 1ógicas. La ALU tiene un
número de líneas de selección para seleccionar una micro-operación particular en la unidad.
Las variables de selección son decodificadas dentro de la ALU de tal manera que las variables
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 64
APUNTES DE SISTEMAS DIGITALES II
de selección k puedan especificar hasta 2k micro-operaciones distintas. La operación interna
de una ALU se entiende mejor si es separada en sus partes aritmética y 1ógica.
CIRCUITO ARITMÉTICO
El sumador paralelo binario, es un circuito aritmético que suma dos números
binarios. Las micro-operaciones aritméticas adicionales pueden obtenerse aumentando el
sumador paralelo con ciertos circuitos 1ógicos de selección. A continuación se mostrarán las
micro-operaciones aritméticas obtenidas cuando un conjunto de entradas a un sumador
paralelo se controla externamente.
La suma aritmética simple se logra cuando un conjunto de entradas recibe un número
binario A, el otro conjunto de entradas recibe un número binario B, y el acarreo de entrada Ci
se mantiene en 0. Este caso se muestra en la figura 3.1 en donde la salida del circuito
designado por F produce la micro-operación add (suma) F = A + B.
Figura 3.1. Suma
Haciendo el acarreo de entrada Ci = 1 como en la Figura 3.2 es posible sumar 1 a la
suma para producir una salida F = A + B + 1.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 65
APUNTES DE SISTEMAS DIGITALES II
Figura 3.2. Suma con acarreo
Pueden obtenerse diferentes micro-operaciones aritméticas controlando los datos que
entran a las entradas en B como se indica en los otros seis siguientes diagramas.
Complementando todos los bits de la entrada B se obtiene una micro-operación F = A + B’,
que es la suma de A más el complemento a 1 de B.
Figura 3.3. Suma de A más el complemento a 1 de B
Sumando 1 a esta suma, haciendo el acarreo de entrada Ci = 1, obtenemos F = A + B’
+ 1, el cual produce la suma de A más el complemento a 2 de B. Esto es equivalente a la
operación resta F = A - B.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 66
APUNTES DE SISTEMAS DIGITALES II
Figura 3.3. Resta
Seguidamente, consideremos forzar todos los 0 en las terminales de B del sumador
paralelo. Puesto que B es ahora cero, la suma producida en la salida se vuelve F = A, que
trasfiere la entrada A en la salida F.
Figura 3.4. Trasfiera A
Sumando 1 al circuito anterior a través del acarreo de entrada Ci, como se muestra en
la figura 3.5 obtenemos F = A + 1, que es la micro-operación incremento.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 67
APUNTES DE SISTEMAS DIGITALES II
Figura 3.5. Incremente A
La condición ilustrada en la figura 3.6 inserta todos los 1 en los terminales B del
sumador paralelo. Un número binario con todos los 1 representa el complemento a 2 de la
unidad. Considere, por ejemplo un sumador paralelo de 4 bits. El complemento a 2 del
número binario 0001 es 1111. Sumando un número A al complemento a 2 de la unidad
produce una salida F = A + el complemento a 2 de 1 = A-1, que es la micro-operación de
decremento.
Figura 3.6. Decremente A
Una etapa de un circuito aritmético que proporciona las micro-operaciones
enumeradas antes se muestra en la Figura 3.7. El circuito sumador completo representa un
estado del sumador paralelo. Las dos líneas de selección S1 y S0 controlan la ruta de datos
entre el terminal B y una entrada del circuito sumador completo. Cuando S1S0 = 00, la entrada
controlada del sumador completo es siempre 0. Cuando S1S0 = 01 la entrada recibe el valor de
Bi. Cuando S1S0 = 10, la entrada recibe el valor complemento de Bi. Cuando S1S0 = 11, la
entrada es siempre igual a 1. Estas condiciones pueden verificarse derivando la tabla de
verdad de la 1ógica de selección. Note que las dos variables de selección S1 y S0 controlan las
rutas de entrada en el terminal B.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 68
APUNTES DE SISTEMAS DIGITALES II
Figura 3.7. Una etapa de un circuito aritmético
Precisamente como en un sumador paralelo, el circuito aritmético puede partirse en
etapas, una para cada par de bits de los operandos de entrada. Para los operandos con n bits, el
circuito aritmético consta de n etapas idénticas. La Figura 3.8 muestra el diagrama de bloques
de un circuito aritmético partido en n etapas. Cada una de las etapas es idéntica al circuito que
se muestra en la Figura 3.7. Los bits de las entradas A y B son designados por los números
subíndices de derecha a izquierda con el subíndice 1 denotando el bit de orden inferior. Los
acarreos son conectados en una cadena a través de las etapas. Las líneas de selección de
función S1 S0 y Ci seleccionan las micro-operaciones aritméticas y los terminales de F generan
la función de salida. Note que Ci es el acarreo de entrada de la primera etapa y su efecto es
sumar 1 al par de orden inferior de bits. S1 y S0 controlan las entradas a los terminales de B en
cada una de las etapas.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 69
APUNTES DE SISTEMAS DIGITALES II
Figura 3.8. Circuito aritmético partido en n etapas.
Las micro-operaciones aritméticas implementadas en el circuito aritmético se
enumeran en la siguiente tabla.
Tabla 3.1. Tabla de función para el circuito aritmético
CIRCUITO LÓGICO
Las micro-operaciones 1ógicas manipulan los bits de los operandos tratando cada uno
de los bits como una variable binaria. Hay esencialmente sólo cuatro operaciones 1ógicas
básicas a partir de las cuales todas las otras se pueden obtener por medio del álgebra
Booleana. Ellas son la AND, OR, XOR (OR exclusiva) y la micro-operación complemento.
La Figura 3.9 muestra una etapa de un circuito 1ógico. Consta de cuatro compuertas y
un multiplexor. Cada una de las cuatro operaciones 1ógicas AND, OR, XOR y el
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 70
S1 S0 C1 Salida Operación
0 0 0 F = A Trasfiera A
0 0 1 F = A + 1 Incremente A
0 1 0 F = A + B Suma
0 1 1 F = A + B + 1 Suma con acarreo
1 0 0 F = A + B’ Suma de A más el complemento a 1 de B.
1 0 1 F = A + B’ + 1 Resta
1 1 0 F = A - 1 Decremente A
1 1 1 F = A Trasfiera A
APUNTES DE SISTEMAS DIGITALES II
complemento se generan con una compuerta que realiza la 1ógica requerida. Las salidas de las
compuertas son aplicadas a un multiplexor con dos variables de selección S1 y S0. Estas
variables de selección escogen una de las entradas del multiplexor y dirigen su valor a la
salida. El diagrama muestra una etapa típica con subíndice i. Para un circuito 1ógico con n
bits, el diagrama de la Figura 3.9 debe ser repetido n veces para i = 1, 2, 3, . . ., n. Las
variables de selección deben ser aplicadas a todas las etapas.
Figura 3.9. Una etapa de un circuito lógico
La siguiente tabla de función enumera la micro-operación lógica obtenida para cada
combinación de las variables de selección.
S1 S0 Salida Micro-operación
0 0 F = A B AND
0 1 F = A B OR
1 0 F = A B XOR
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 71
APUNTES DE SISTEMAS DIGITALES II
1 1 F = A’ Complemento
Tabla 3.2. Tabla de función para el circuito lógico
UNIDAD ARITMÉTICA LÓGICA
El circuito 1ógico puede combinarse con el circuito aritmético para producir una
unidad aritmética 1ógica comúnmente denominada una ALU. Las variables de selección S1 y
S0 pueden ser comunes a ambos circuitos siempre que utilicemos una tercera variable de
selección para diferenciar entre los dos. La configuración de una etapa ALU se ilustra en la
Figura 3.10. Las salidas de los circuitos aritmético y 1ógico en una de las etapas son aplicadas
a un multiplexor con variable de selección S2. Cuando S2 = 0, la salida aritmética es
seleccionada, pero cuando S2 = 1, la salida 1ógica es seleccionada.
Note que el diagrama muestra justamente una etapa típica del ALU. El circuito de la
Figura 3.10 puede repetirse n veces para una ALU de n bits. El acarreo de salida C i+1 de una
etapa dada debe conectarse al acarreo de entrada Ci de la etapa siguiente de orden superior. El
acarreo de entrada en la primera etapa se designa por C1, y proporciona una variable de
selección para las micro-operaciones aritméticas. La entrada C1 no tiene efecto en las micro-
operaciones 1ógicas.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 72
APUNTES DE SISTEMAS DIGITALES II
Figura 3.10. Una etapa de una unidad aritmética lógica (ALU).
Una ALU con etapas individuales como se define en la Figura 3.10 proporcionará 8
micro-operaciones aritméticas y 4 1ógicas, para un total de 12 micro-operaciones. Cada
micro-operación es seleccionada a través de las variables S2, S1, S0 y C1. El acarreo de entrada
C1 se utiliza para la selección de micro-operaciones aritméticas solamente.
La siguiente tabla lista las 12 micro-operaciones de la ALU. Las primeras ocho
enumeradas (con S2 = 0) son idénticas a las micro-operaciones de la Tabla 3.1. El acarreo de
entrada durante las cuatro operaciones 1ógicas (cuando S2 = 1) no tiene efecto en la operación
de la unidad, de tal manera que las entradas bajo la columna C1 para las micro-operaciones
1ógicas se marcan con X que no importa.
S2 S1 S0 C1 Salida Función
0 0 0 0 F = A Trasfiera A
0 0 0 1 F = A +1 Incremente A
0 0 1 0 F = A + B Suma
0 0 1 1 F = A + B + 1 Suma con acarreo
0 1 0 0 F = A + B’ Suma de A más el complemento a 1 de B
0 1 0 1 F = A + B’ + 1 Resta
0 1 1 0 F = A - 1 Decremente A
0 1 1 1 F = A Trasfiera A
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 73
APUNTES DE SISTEMAS DIGITALES II
1 0 0 X F = A B AND
1 0 1 X F = A B OR
1 1 0 X F = A B XOR
1 1 1 X F = A’ Complemente A
Tabla 3.3. Tabla de función para la ALU
3.1 Algoritmos secuenciales
Las instrucciones aritméticas en los computadoras digitales manipulan datos para
producir los resultados necesarios para la solución de problemas de cómputo. Estas
instrucciones realizan cálculos aritméticos y son responsables por el volumen de la actividad
que está involucrada en el procesamiento de datos en una computadora. Las operaciones
aritméticas básicas son: suma, resta, multiplicación, y división. De estas cuatro operaciones
básicas, es posible formular otras funciones aritméticas y resolver problemas científicos por
medio de métodos de análisis numérico.
Existen procedimientos para realizar las operaciones aritméticas básicas y todo
diseñador debe estar completamente familiarizado con la secuencia de pasos que se debe
seguir para llevar a cabo la operación y lograr el resultado correcto. La solución a cualquier
problema que sea expresado por un número finito de pasos procedimentales bien definidos se
denomina un algoritmo. Usualmente, un algoritmo contendrá un número de pasos
procedimentales que dependen de los resultados de los pasos previos. Un método conveniente
para representar algoritmos es un diagrama de flujo.
ALGORITMOS DE SUMA Y RESTA
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 74
APUNTES DE SISTEMAS DIGITALES II
La representación de números en magnitud con signo es familiar debido a que es
utilizada en cálculos aritméticos todos los días. El procedimiento para sumar o restar dos
números binarios con signo con papel y lápiz es simple y directo. Una revisión de este
procedimiento será útil para derivar el algoritmo del hardware.
Designaremos la magnitud de dos números por A y B. Cuando los números con signo
se suman o se restan, encontramos que hay ocho condiciones diferentes para considerar,
dependiendo del signo de los números y de la operación que se realice. Estas condiciones se
enumeran en la Tabla 3. Las otras columnas en la tabla muestran la operación actual que se
debe realizar con la magnitud de los números. La ú1tima columna es necesaria para prevenir
un cero negativo. En otras palabras, cuando dos números iguales se restan, el resultado debería
ser +0 no –0.
Los algoritmos para suma y resta se derivan de la tabla y pueden enunciarse como
sigue (las palabras dentro de los paréntesis deben utilizarse para el algoritmo de resta):
Algoritmo de suma (resta): cuando los signos de A y B son idénticos (diferentes) sume
las dos magnitudes y amarre el signo de A al resultado. Cuando los signos de A y B son
diferentes (idénticos), compare las magnitudes y reste el número menor del número mayor.
Elija el signo del resultado como el mismo de A si A > B o el complemento del signo de A si
A < B. Si las dos magnitudes son iguales, reste B de A y tome el signo del resultado como un
más.
Los dos algoritmos son similares excepto por la comparación de signo. El
procedimiento que se debe seguir para signos idénticos en el algoritmo de suma es el mismo
que el de signos diferentes en el algoritmo de resta, y viceversa.
Reste Las Magnitudes
Operación Sume Las Magnitudes Cuando A>B Cuando A<B Cuando A=B
(+A) + (+B) +(A+B)
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 75
APUNTES DE SISTEMAS DIGITALES II
(+A) + (-B) +(A-B) -(B-A) +(A-B)
(-A) + (+B) -(A-B) +(B-A) +(A-B)
(-A) + (-B) -(A+B)
(+A) - (+B) +(A-B) -(B-A) +(A-B)
(+A) - (-B) +(A+B)
(-A) - (+B) -(A+B)
(-A) - (-B) -(A-B) +(B-A) +(A-B)
Tabla 3.4. Suma y resta de números en magnitud con signo
IMPLEMENTACIÓN DE HARDWARE
Para implementar las dos operaciones aritméticas con hardware, es necesario primero
que los dos números sean almacenados en registros. Sean A y B dos registros que retienen las
magnitudes de los números, y As y Bs, los dos flip-flops que retienen los signos
correspondientes. El resultado de la operación puede ser transferido a un tercer registro: sin
embargo, se logra un ahorro si el resultado es transferido en A y As. Así, A y As juntos forman
un registro acumulador.
Considere ahora la implementación de hardware de los algoritmos anteriores. Primero,
se necesita un sumador paralelo para realizar la micro-operación A + B. Segundo, se necesita
un circuito comparador para establecer si A > B, A = B, ó A < B. Tercero, se necesitan dos
circuitos sustractores paralelos para realizar las micro-operaciones A - B y B - A. La relación
de signo puede determinarse de una compuerta OR exclusiva con As y Bs como entradas.
Este procedimiento requiere un comparador de magnitud, un sumador y dos
sustractores. Sin embargo, analizando el problema podemos encontrar un proceso diferente
que requiera menos equipo. Primero que todo, sabemos que la resta puede realizarse por
medio de complemento y suma. Segundo, el resultado de una comparación puede
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 76
APUNTES DE SISTEMAS DIGITALES II
determinarse del acarreo final después de la resta. Una investigación cuidadosa de las
alternativas revela que el uso del complemento a 2 para la resta y la comparación es un
procedimiento que requiere solamente un sumador y un complementador.
Figura 3.11. Diagrama de bloques del hardware para suma y resta
La Figura 3.11 muestra un diagrama de bloques del hardware para implementar las
operaciones de suma y de resta. El cual consta de los registros A y B y los flip-flops de signo
As y Bs. La resta se realiza sumando A al complemento a 2 de B. El acarreo final es transferido
al flip-flop E en donde puede verificarse para determinar la magnitud relativa de los dos
números. El flip-flop de sobrefujo de suma AVF retiene el bit de sobreflujo cuando se suman
A y B. El registro A proporciona otras micro-operaciones que pueden ser necesarias cuando
especificamos la secuencia de pasos en el algoritmo.
La suma de A y B se realiza por medio de un sumador paralelo binario. Las salidas S
del sumador son aplicadas a las entradas del registro A para su trasferencia con una micro-
operación de carga paralela. El complementador proporciona una salida de B o B’
dependiendo del estado de la variable binaria CC (control de complemento). El
complementador consta de compuertas OR exclusivas y el sumador paralelo consta de cuatro
circuitos sumadores completos. Una etapa típica del complementador y el sumador se muestra
en la Figura 3.12. De la tabla de verdad de la compuerta OR exclusiva es claro que la entrada
yi al sumador completo es igual a Bi cuando CC = 0. Pero yi = Bi’ si CC = 1. La variable CC
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 77
APUNTES DE SISTEMAS DIGITALES II
también suministra el acarreo de entrada al sumador paralelo binario. Cuando CC = 0, B es
aplicado al sumador, el acarreo de entrada es 0, y la salida del sumador paralelo es igual a A +
B. Cuando CC = 1, B’ es aplicado al sumador, el acarreo de entrada es 1, y S = A + B’ + 1.
Esto es igual a A más el complemento a 2 de B.
Figura 3.12. Una etapa del complementador y sumador paralelo.
ALGORITMO DE HARDWARE
El diagrama de flujo para el algoritmo de hardware se presenta en la Figura 3.13. Los
dos signos As y Bs son comparados por Una compuerta OR exclusiva. Si la salida de la
compuerta es 0, los, signos son idénticos; si ella es 1, los signos son diferentes. Para una
operación add (suma), los signos idénticos, indican que las magnitudes se deben sumar. Para
Una operación subtract (resta) los signos diferentes indican que las magnitudes se deben
sumar. Las magnitudes son sumadas con una micro-operación EA = A + B, en donde EA es
un registro que combina E y A. El acarreo en E después de la suma constituye un sobreflujo si
es igual a 1. El valor de E es transferido en el flip-flop de sobreflujo-suma AVF.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 78
APUNTES DE SISTEMAS DIGITALES II
Las dos magnitudes se restan si los signos son diferentes para una operación add o
idénticos para una operación subtract. Las magnitudes se restan sumando A al complemento
a 2 de B. No puede ocurrir sobreflujo si los números son restados de tal manera que AVF se
aclara a 0. Un 1 en E indica que A > B y el número en A es el resultado correcto. Si este
número es cero, el signo de As debe hacerse positivo para evitar un cero negativo. Un 0 en E
indica que A < B. Para este caso, es necesario tomar el complemento a 2 del valor en A. Esta
operación puede hacerse con una micro-operación A = A’ + 1. Sin embargo, suponemos que
el registro A tiene circuitos para las micro-operaciones complemento e incremento, de tal
manera que el complemento a 2 se obtiene de estas dos micro-operaciones. En otras rutas del
diagrama de flujo, el signo del resultado es el mismo del signo de A, de tal manera que no se
requiere cambio en As. Sin embargo, cuando A < B, el signo del resultado es el complemento
del signo original de A. Es entonces necesario complementar As para obtener el signo
correcto. El resultado final se encuentra en el registro A y su signo en As. El valor en AVF
proporciona una indicación de sobreflujo. El valor final de E no tiene ninguna importancia.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 79
APUNTES DE SISTEMAS DIGITALES II
Figura 3.13. Diagrama de flujo para las operaciones sumar y restar3.2 ALU INTEGRADA
Una unidad 1ógico-aritmética, es un CI que contiene cerca de 100 compuertas
equivalentes que proveen un gran número de operaciones aritméticas. Por ejemplo, un
74LS181 realiza 16 funciones de aritmética binaria, en dos palabras de 4 bits, como se
describe en la tabla 3.5. La suma de dos números de 4 bits usando esta unidad, por ejemplo,
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 80
APUNTES DE SISTEMAS DIGITALES II
tomaría 24 ns. Las operaciones que se realizan por la ALU se seleccionan usando las cuatro
líneas de selección de funciones S0, S1, S2, S3. La entrada M del 74LS181 selecciona entre las
operaciones aritméticas y lógicas. Cuando M = 1, se seleccionan las operaciones lógicas y
cada salida Fi es función sólo de las correspondientes entradas de datos A i y Bi. No se
propagan acarreos entre las etapas y se ignora la entrada Cn. Cuando M = 0 se seleccionan las
operaciones aritméticas, se propagan los acarreos entre las etapas y se usa Cn como una
entrada de acarreo a la etapa más significativa.
La gran variedad de operaciones 1ógicas y aritméticas de un simple CI hace a la ALU
una unidad muy común. El CI permite la adición, substracción, decremento, y la transferencia
directa de datos entre operaciones aritméticas. Entre las operaciones 1ógicas, provee la
inversión, AND, OR, OR exclusiva, NAND y NOR.
Para operaciones de más de 4 bits, pueden ponerse en cascada múltiples ALU, con el
acarreo de salida Cn+4 de cada ALU conectado al acarreo de entrada Cn de la etapa siguiente,
más significativa. Las mismas señales de selección de función (M, S3-S0) se aplican a todos
los 74LS181 en la cascada. El uso de dos CI's 74LS181 provee la facilidad de hacer una
cierta variedad de operaciones 1ógicas o aritméticas con dos números de 8 bits. Esta
aritmética podría proveer las operaciones necesarias en un sistema digital, sin necesidad de
una computadora, o podría proporcionar capacidad 1ógica o aritmética adicional para una
computadora.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 81
APUNTES DE SISTEMAS DIGITALES II
Figura 3.14. Conexiones de terminal para la ALU 74LS181
M = 0 Operaciones Aritméticas
S3 S2 S1 S0 M=1 Funciones
Lógicas
Cn = 0
(sin acarreo)
Cn = 1
(con acarreo)
0 0 0 0 F = A’ F = A - 1 F = A
0 0 0 1 F = (AB)’ F = AB - 1 F = AB
0 0 1 0 F = A’ + B F = AB’ - 1 F = AB’
0 0 1 1 F = 1 F = -1 F = 0
0 1 0 0 F = (A + B)’ F = A + (A+B’) F = A + (A+B’) + 1
0 1 0 1 F = B’ F = AB + (A+B’) F = AB + (A+B’) + 1
0 1 1 0 F = (A B)’ F = A – B - 1 F = A – B
0 1 1 1 F = A’ + B F = A + B’ F = A + B’ + 1
1 0 0 0 F = A’B F = A + (A + B) F = A + (A + B) + 1
1 0 0 1 F = (A B)’ F = A + B F = A + B + 1
1 0 1 0 F = B F = AB’ + (A + B) F = AB’ + (A + B) + 1
1 0 1 1 F = A + B F = A + B F = A + B + 1
1 1 0 0 F = 0 F = A + A F = A + A + 1
1 1 0 1 F = AB’ F = AB + A F = AB + A + 1
1 1 1 0 F = AB F = AB’ + A F = AB’ + A + 1
1 1 1 1 F = A F = A F = A + 1
Tabla 3.5. Tabla de operaciones aritméticas y lógicas de la ALU 74LS181.
IV. UNIDAD DE CONTROL
La función de la unidad de control es dirigir la operación de todas las otras unidades
ofreciendo señales de temporización y control. En cierto sentido, la unidad de control es como
el director de una orquesta, quien es responsable de mantener a cada uno de los miembros de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 82
APUNTES DE SISTEMAS DIGITALES II
la orquesta en sincronización adecuada. Esta unidad contiene circuitos 1ógicos y de
temporización que generan las señales adecuadas que se necesitan para ejecutar cada
instrucción en un programa.
La unidad de control extrae una instrucción de la memoria enviando una dirección y
un comando de lectura a la unidad de memoria. La palabra de instrucción almacenada en la
localidad de la memoria se transfiere después a la unidad de control. Esta palabra de
instrucción, la cual esta en alguna forma de código binario, es decodificada después por los
circuitos 1ógicos de la unidad de control para determinar que instrucción es solicitada. La
unidad de control utiliza esta información para generar las señales necesarias para ejecutar la
instrucción.
La relación entre la unidad de control y el procesador de datos en un sistema digital se
muestra en la Figura 4.1. La parte del procesador de datos puede ser una unidad procesadora
de propósito general, o puede consistir de registros individuales y funciones digitales
asociadas. El control inicia todas las microoperaciones en el procesamiento de datos. La
1ógica de control que genera las señales para dar secuencia a las microoperaciones en un
circuito secuencial cuyos estados internos indican las funciones de control del sistema. En un
tiempo dado, el estado de control secuencial inicia un conjunto de microoperaciones
preseleccionadas. El control secuencial pasa el siguiente estado o inicia otras
microoperaciones dependiendo de las condiciones presentes y otras entradas. Así, el circuito
digital que actúa como la 1ógica de control suministra una secuencia de tiempo de señales
para iniciar las microoperaciones en la parte del procesador de datos del sistema.
El diseño de un sistema digital que requiere una secuencia de control comienza con la
suposición de la disponibilidad de variables de tiempo. Se diseña cada variable en la
secuencia por medio de un estado y luego se forma un diagrama de estado o una
representación equivalente para la transición entre estados. Paralelamente con el desarrollo de
la secuencia de control se hace una lista de microoperaciones que se van a iniciar, para cada
estado de control. Si el sistema es muy complicado para un diagrama de estado, puede ser
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 83
APUNTES DE SISTEMAS DIGITALES II
conveniente especificar enteramente el sistema por el método de trasferencia entre registros
por medio de las funciones de control y las proposiciones de microoperaciones.
Figura 4.1 Interacción entre el control y el procesador de datos
La secuencia de control y las relaciones de trasferencia entre registros pueden
deducirse directamente de la especificación en palabras del problema. Sin embargo es
conveniente algunas veces usar una representación intermedia para describir la secuencia
necesaria de operaciones del sistema. Dos representaciones, útiles en el diseño de sistemas
que necesitan control, son los diagramas de tiempo y los flujogramas.
4.1 Técnicas de Diseño
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 84
APUNTES DE SISTEMAS DIGITALES II
Una vez que se haya establecido la secuencia de control se puede diseñar el sistema
secuencial que configura las operaciones de control. Como el control es un circuito
secuencial, éste se puede diseñar por medio de un procedimiento 1ógico secuencial. Sin
embargo, este método es poco practico en la mayoría de los casos debido al gran número de
estados que el circuito de control puede tener. Los métodos de diseño que usan estados y
tablas de excitación pueden usarse en teoría, pero en la práctica son engorrosos y difíciles de
manejar. Además, los circuitos de control obtenidos por este método requieren por lo general
un número excesivo de flip-flops y compuertas, lo cual implica el uso de compuertas SSI.
Este tipo de configuración es ineficiente con respecto al número de CI que se usan y al
número de alambres que deben ser interconectados. El principal objetivo del diseño de 1ógica
de control debe ser el desarrollo de un circuito que configure la secuencia de control deseada
de una manera 1ógica y directa. El esfuerzo de minimizar el número de circuitos tendería a
producir una configuración irregular, lo cual haría difícil para cualquier persona diferente al
diseñador, el reconocimiento de la secuencia de eventos por los cuales pasa el control. Como
consecuencia podría ser difícil dar servicio y mantener el equipo cuando esta en operación.
Debido a las razones citadas anteriormente los diseñadores con experiencia 1ógica
usan métodos para el diseño de 1ógica de control que pueden ser considerados como una
extensión del método 1ógico secuencial clásico combinado con el método de trasferencia
entre registros. En esta sección se consideran cuatro técnicas de diseño de organización de
control:
1. Método de un flip-flop por estado.
2. Método del registro de secuencia y el decodificador.
3. Control PLA.
4. Control del microprograma.
Los primeros dos métodos resultan en un circuito que debe usar circuitos SSI y MSI
para la configuración. Los diferentes circuitos se interconectan con alambres para formar una
red circuito de control. Una unidad de control configurada con elementos SSI y MSI se
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 85
APUNTES DE SISTEMAS DIGITALES II
denota como un control a base de materiales interconectados. Si se necesitan alteraciones o
modificaciones, los circuitos se deben alambrar de nuevo para cumplir con las nuevas
especificaciones. Esto es en contraste al PLA o control de microprograma el cual usa un
elemento LSI tal como un arreglo 1ógico programable o una memoria de solamente lectura.
Cualquier alteración o modificación en el microprograma de control puede lograrse
fácilmente sin cambiar de alambrado removiendo la ROM de su base y colocando otra ROM
programada para copiar las nuevas especificaciones.
4.2 Alambradas
Método de un flip-flop por estado
Este método usa un flip-flop por estado en el circuito secuencial de control. Solamente
se pone a uno un flip-flop en un tiempo dado, los demás se ponen a cero. Se hace programar
un solo bit de un flip-flop a otro bajo el control de la 1ógica de decisión. En tal arreglo cada
flip-flop representa un estado y se activa solamente cuando el bit de control se transfiere a
éste.
Es obvio que este método no usa un número mínimo de flip-flops para el circuito
secuencial. De hecho, éste usa un número máximo de flip-flops. Por ejemplo un circuito
secuencial con 12 estados requiere un mínimo de cuatro flip-flops porque 23 <12 < 24. Aun
por medio de este método el circuito de control usa 12 flip-flops para cada estado.
La ventaja de un flip-flop por método de estado es la simplicidad con la cual se diseña.
Este tipo de controlador puede diseñarse por inspección a partir de un diagrama de estado que
describe la secuencia de control. A primera vista, parece que este método aumentará el costo
del sistema ya que se necesita un mayor numero de flip-flops, pero, este método ofrece otras
ventajas que no son aparentes a primera vista. Por ejemplo, éste ofrece un ahorro de esfuerzos
en el diseño, un aumento en la simplicidad operacional y una disminución potencial en los
circuitos combinacionales requeridos para configurar el circuito secuencial completo.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 86
APUNTES DE SISTEMAS DIGITALES II
Figura 4.2 Lógica de control con un flip-flop por estado
La Figura 4.2 muestra la configuración de una 1ógica de control secuencial de cuatro
estados, que usa cuatro flip-flops tipo D: un flip-flop por estado T i, i = 0, 1, 2, 3. En cualquier
intervalo de tiempo dado entre dos pulsos de reloj solamente un flip-flop es igual a 1, el resto
será igual a 0. La transición del estado presente al siguiente es una función del presente T i que
es 1 y de ciertas condiciones de entrada. El siguiente estado se manifiesta cuando el flip-flop
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 87
APUNTES DE SISTEMAS DIGITALES II
anterior se borra y el nuevo se pone a uno. Cada una de las salidas del flip-flop se conecta a la
sección de procesamiento de datos del sistema digital para iniciar ciertas microoperaciones.
Las otras salidas de control mostradas en el diagrama son una función de las T y de las
entradas externas. Estas salidas pueden también iniciar microoperaciones.
Si el circuito de control no necesita entradas externas para su cadencia, el circuito se
reduce a un circuito de desplazamiento simple con un solo bit que se desplaza de una posición
a la siguiente. Si la secuencia de control debe repetirse una y otra vez, el control se reduce a
un contador de anillo. Un contador de anillo es un registro de desplazamiento con la salida
del ú1timo flip-flop conectado a la entrada del primer flip-flop. En un contador de anillo el
solo bit se desplaza continuamente de una posición a la siguiente de una manera circular. Por
esta razón el método de un flip-flop por estado se llama algunas veces un controlador del
contador de anillo.
Registro de secuencia y método del decodificador
Este método usa un registro para darle secuencia a los estados de control. El registro
se decodifica para suministrar una salida por cada estado. El circuito tendrá 2n estados y el
decodificador 2n salidas, para n flip-flops en el registro de secuencia. Por ejemplo, un registro
de 4 bits puede estar en cualquiera de los 16 estados. Un decodificador de 4x16 tendrá 16
salidas, una para cada estado del registro. Tanto el registro de secuencia como el
decodificador son componentes MSI.
La figura 4.3 muestra la configuración de una lógica de control secuencial de cuatro
estados. El registro de secuencia tiene dos flip-flops y el decodificador establece salidas
separadas para cada estado en el registro. La transición al siguiente estado en el registro de
secuencia es una función del estado presente y de las condiciones de entrada externas. Como
las salidas del decodificador están de alguna forma disponibles, es conveniente usarlas como
variables de estado presente en vez de usar directamente las salidas de los flip-flops. Otras
salidas que son función del estado presente y de las entradas externas pueden iniciar
microoperaciones en adición a las salidas del decodificador.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 88
APUNTES DE SISTEMAS DIGITALES II
Figura 4.3 Lógica de control con registro de secuencia y decodificador.
Si el circuito de la figura 4.3 no necesita entradas externas, el registro de secuencia se
reduce a un contador que continuamente hace secuencias por los cuatro estados. Por esta
razón, el método es llamado algunas veces un método decodificador contador.
4.3 Microprogramadas
El propósito de la unidad de control es iniciar una serie de pasos secuenciales de
microoperaciones. Durante cualquier tiempo dado se deben iniciar ciertas operaciones
mientras que otras permanecen latentes. Asi, las variables de control en un tiempo dado
pueden ser representadas por una cadena de 1 ó 0 llamada palabra de control. Como tales,
dichas palabras de control pueden ser programadas para iniciar las diferentes componentes en
el sistema de una manera organizada. Una unidad de control cuyas variables de control se
almacenan en una memoria, se llaman unidad de control microprogramada. Cada palabra de
control de memoria se llama microinstrucción y una secuencia de microinstrucciones se llama
microprograma. Como poco se necesitan las alteraciones del microprograma, la memoria de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 89
APUNTES DE SISTEMAS DIGITALES II
control puede ser una ROM. El uso del microprograma comprende la ubicación de todas las
variables de control en palabras de la ROM para usarlas por medio de las unidades de control
a través de operaciones sucesivas de lecturas. El contenido de la palabra en la ROM en una
dirección dada especifica las microoperaciones del sistema.
Un desarrollo más avanzado, conocido como microprogramación dinámica permite
cargar inicialmente un microprograma a partir de una consola de computadora o de una
memoria auxiliar tal como un disco magnético. Las unidades de control que usan
microprogramación dinámica emplean una memoria de control en la cual se puede escribir
(WCM = Writable control memory). Este tipo de memoria puede ser usada para escribir (o
cambiar el microprograma) pero se usa mayormente para lectura. Una ROM, un PLA o un
WCM cuando se usan en una unidad de control se les trata como memoria de control.
Figura 4.4 Lógica de control del microprograma
La Figura 4.4 ilustra la configuración general de la unidad de control de
microprograma. La memoria de control se asume como una ROM dentro de la cual se
almacena permanentemente toda la información de control. El registro de control de las
direcciones de memoria especifica la palabra de control leída de la memoria de control. Se
debe tener en cuenta que una ROM opera como un circuito combinacional con el valor de la
dirección como entrada y la palabra correspondiente como salida. El contenido de la palabra
especificada permanece en los alambres de salida por el tiempo que el valor de la dirección
permanece en el registro de dirección. No se necesita señal de lectura como en una memoria
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 90
APUNTES DE SISTEMAS DIGITALES II
de acceso aleatorio. Una palabra que sale de la ROM debe transferirse al registro separador, si
el registro de direcciones cambia mientras que la palabra de ROM está aún en uso. Si pueden
ocurrir simultáneamente un cambio en dirección y una palabra de ROM no es necesario un
registro separador.
La palabra leída de una memoria de control representa una microinstrucción. La
microinstrucción especifica una o más microoperaciones para los componentes del sistema.
Una vez que se ejecuten las operaciones, la unidad de control debe determinar la siguiente
dirección. La ubicación de la siguiente microinstrucción podría ser la siguiente en secuencia o
podría ser ubicada en otro lugar en la memoria de control. Por esta razón es necesario usar
algunos bits de la microinstrucción para controlar la generación de la dirección para la
siguiente microinstrucción. La siguiente dirección puede ser también una función de las
condiciones de entrada externas. Mientras se ejecutan las microoperaciones, la siguiente
dirección es computada en el circuito generador de la siguiente dirección y luego transferida
(con el siguiente pulso de reloj) al registro de control de direcciones para leer la siguiente
microinstrucción. La construcción detallada del generador de la siguiente dirección depende
de la aplicación particular.
V. UNIDADES DE ENTRADA/SALIDA
La interfase de entrada – salida proporciona un método para transferir información
entre dispositivos de almacenamiento interno y de E/S externas. Los periféricos conectados a
una computadora necesitan enlace de comunicación especial para funcionar como una
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 91
APUNTES DE SISTEMAS DIGITALES II
interfase con la unidad de procesamiento central. El propósito del enlace de comunicación es
resolver las diferencias que existen entre la computadora central y cada periférico. Las
diferencias principales son:
1. Los periféricos son dispositivos electromecánicos y electromagnéticos y su manera de
operación es diferente a la de la CPU y la memoria, que son dispositivos electrónicos.
Por lo tanto, puede requerirse una conversión de valores de señales.
2. La velocidad de transferencia de datos de los periféricos, por lo general, es menor que
la velocidad de transferencia de la CPU y, en consecuencia, puede necesitarse un
mecanismo de sincronización.
3. Los códigos de datos y los formatos en los periféricos son diferentes del formato de la
palabra en la CPU y en la memoria.
4. Los modos de operación de los periféricos son diferentes uno de otro y cada uno debe
estar controlado para no perturbar la operación de otros periféricos conectados a la
CPU.
Para resolver estas diferencias, los sistemas de computadora incluyen componentes
de circuitería especiales entre la CPU y los periféricos para supervisar y sincronizar todas las
transferencias de entrada y salida. Estos componentes se llaman interfaces porque se
comunican tanto con el canal del procesador como con el dispositivo periférico.
Además, cada dispositivo puede tener su propio controlador que supervisa las
operaciones del mecanismo particular en el periférico.
Canal de E/S y módulos de interfase
Un enlace de comunicación típico entre el procesador y varios periféricos se muestra
en la figura 5.1. El canal de E/S, consta de líneas de datos, líneas de dirección y líneas de
control. Se emplean el disco magnético, la impresora y la terminal en casi cualquier
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 92
APUNTES DE SISTEMAS DIGITALES II
computadora de propósito general. La cinta magnética se utiliza en algunas computadoras
para el almacenamiento de respaldos. Cada dispositivo periférico tiene asociada una unidad de
interfase. Cada interfase decodifica la dirección y el control que se recibe del canal de E/S, y
las interpreta para el periférico y proporciona señales para el controlador del periférico.
También sincroniza el flujo de datos y supervisa la transferencia entre el periférico y el
procesador. Cada periférico tiene su propio controlador que opera el dispositivo
electromecánico particular. Por ejemplo, el controlador de impresora se hace cargo del
movimiento de papel, la temporización de la impresión y la selección de los caracteres que se
imprimen. Un controlador puede alojarse en forma separada o puede integrarse físicamente
con el periférico.
Figura 5.1 Conexión de canal de E/S a dispositivos de entrada – salida.
El canal de E/S del procesador se conecta a todas las interfaces del periférico. Para
comunicarse con un dispositivo particular, el procesador coloca una dirección de dispositivo
en las líneas de direccionamiento. Cada línea conectada al canal de E/S contiene un
decodificador de dirección que monitorea las líneas de direccionamiento. Cuando la interfase
detecta su propia dirección, activa la trayectoria entre las líneas del canal y el dispositivo que
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 93
APUNTES DE SISTEMAS DIGITALES II
controla. Todos los periféricos cuyas direcciones no corresponden a la dirección en el canal,
son inhabilitados por su interfase.
Al mismo tiempo que queda disponible la dirección en las líneas de direccionamiento,
el procesador proporciona un código de función en las líneas de control. La interfase
seleccionada responde al código de función y avanza a ejecutarlo. El código de función se
denomina un comando de E/S y es, en esencia, una instrucción que se ejecuta en la interfase y
está conectada a la unidad periférica. La interpretación del comando depende del periférico
que direcciona el procesador. Una interfase puede recibir cuatro tipos de comandos. Se
clasifican como control, estado, salida de datos y entrada de datos.
Se emite un comando de control para activar el periférico e informarle qué hacer. Por
ejemplo, una unidad de cinta magnética puede instruirse para que haga regresar la cinta un
registro, para que se rebobine o para que empiece a moverse hacia adelante. El comando de
control particular que se emite depende del periférico y cada periférico recibe su propia
secuencia distinta de comandos de control, dependiendo de su modo de operación.
Se utiliza un comando de estado para probar diversas condiciones de estado en la
interfase y un periférico. Por ejemplo, es posible que la computadora quiera comprobar el
estado del periférico antes de que se inicie una transferencia. Durante la transferencia, pueden
ocurrir uno o más errores que detecta la interfase. Estos errores se representan al activar bits
en un registro de estado que el procesador pueda leer en ciertos intervalos.
Un comando de salida de datos hace que la interfase responda transfiriendo datos del
canal a uno de sus registros. Consideremos un ejemplo con una unidad de cinta. La
computadora comienza a mover la cinta al emitir un comando de control. Después, el
procesador monitorea el estado de la cinta mediante un comando de estado. Cuando la cinta
está en la posición correcta, el procesador envía un comando de salida de datos. La interfase
responde a la dirección y al comando y transfiere la información de las líneas de datos del
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 94
APUNTES DE SISTEMAS DIGITALES II
canal a su registro intermedio (buffer). En seguida, la interfase comunica con el controlador
de la cinta y envía los datos que se van a almacenar.
El comando de entrada de datos es lo opuesto al de salida de datos. En este caso, la
interfase recibe datos del periférico y los coloca en su registro intermedio. El procesador
verifica si los datos están disponibles mediante un comando de estado y después envía un
comando de entrada de datos. La interfase coloca los datos sobre las líneas de datos, donde el
procesador los acepta.
V.1Puertos, Técnicas de Mapeo
Hay dos métodos completamente distintos para hacer la interfase del espacio de E/S:
aislado y mapeado en memoria. En el E/S aislado, las instrucciones IN, INS, OUT y OUTS
transfieren datos entre el acumulador o la memoria del microprocesador y el dispositivo de
E/S. En el E/S mapeado en la memoria, cualquier instrucción que haga referencia a la
memoria puede lograr la transferencia.
E/S aislado. La técnica más común para transferencia de E/S utilizada en los sistemas
basados en microprocesadores de Intel, es la del E/S aislado. La palabra aislado indica la
forma en que las localidades de E/S están aisladas de la memoria del sistema, en un espacio
separado de direcciones de E/S. (En la figura 5.2 se ilustran el espacio de E/S aislado e
incluido en la memoria para el microprocesador 8088.) Las direcciones para el espacio de E/S
aislado, llamadas puertos están separadas de la memoria. Por ello, el usuario puede ampliar la
memoria a la totalidad de su tamaño sin emplear nada de este espacio para dispositivos de
E/S. Una desventaja del espacio de E/S aislado es que para accesar a los datos transferidos
entre E/S y el microprocesador, se deben emplear las instrucciones IN, INS, OUT y OUTS. Se
producen señales separadas para el espacio en E/S que indican una operación de lectura en
E/S (IORC’) o una de escritura en E/S (IOWC’).
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 95
APUNTES DE SISTEMAS DIGITALES II
Estas señales indican que la dirección del puerto de E/S aparece en el canal de
dirección, se emplea para seleccionar un dispositivo de E/S. En la computadora personal, se
utilizan puertos de E/S aislados para controlar a los periféricos. Como regla general, se
emplea una dirección de 8 bits para accesar los dispositivos ubicados en el circuito impreso
del sistema, tales como la interfase del temporizador y el teclado, y se emplea un puerto de 16
bits para accesar a los puertos serie y paralelo así como a los sistemas de vídeo y de unidad
de disco.
E/S mapeado en memoria. En el E/S mapeado en memoria no se utilizan las
instrucciones IN, INS, OUT u OUTS como en el E/S aislado. En realidad se utiliza cualquier
instrucción que transfiera datos entre el microprocesador y la memoria. Un E/S incluido en la
memoria se maneja como si fuera una localidad de memoria del mapa de memoria. La
ventaja principal del E/S incluido en la memoria, es que para accesar el E/S se puede emplear
cualquier instrucción pan transferencia a la memoria. La desventaja principal es que se
emplea una zona de la memoria para mapear la E/S. Esto reduce la cantidad de memoria
disponible para las demás aplicaciones. Otra ventaja es que las señales IORC’ e IOWC’ no
tienen ninguna función en un sistema de E/S incluido en la memoria, lo cual reduce el
número de circuitos requeridos para la decodificación.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 96
APUNTES DE SISTEMAS DIGITALES II
Figura 5.2 Mapas de memoria y de E/S para los microprocesadores 8086/8088.
(a) E/S aislada. (b) E/S mapeada en la memoria.
Decodificación de direcciones de puertos de E/S.
La decodificación de las direcciones en los puertos de E/S es muy similar a la de
direcciones en la memoria, en especial para los E/S mapeados en la memoria. La
decodificación de E/S mapeado en memoria, es casi igual que para la memoria, excepto que
no se utilizan las señales IORC’ y IOWC’, porque no hay instrucciones IN o OUT. La
decisión de mapear E/S en memoria se determina frecuentemente por el tamaño de la
memoria y por la posición de dispositivos de E/S en el sistema.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 97
APUNTES DE SISTEMAS DIGITALES II
La diferencia principal entre la decodificación de la memoria y la decodificación de
E/S aisladas, es el número de terminales de dirección conectadas en el decodificador. Se
decodifican A32-A0, A23-A0 o A19-A0 en la memoria y A15-A0 para E/S aislada. En ocasiones, si
en dispositivos de E/S se utiliza sólo direccionamiento fijo, nada más se decodifican A7-A0.
Otra diferencia es que se utilizan IORC’ e IOWC’ para habilitar a los dispositivos de E/S para
una lectura o una escritura. en los modelos anteriores de microprocesadores, se utilizaban
IO/M’ = 1 y RD’ o WR’ para poner a funcionar los dispositivos de E/S.
Decodificación de direcciones de E/S de 8 bits
Como se mencionó, en la instrucción E/S fija se emplea una dirección de puerto de
E/S de 8 bits que aparece en Al5 hasta A0 como 0000H-00FFH. Si un sistema tiene menos de
256 dispositivos de E/S, a menudo sólo se decodifican las terminales de las direcciones A7-A0
para un puerto E/S de 8 bits. Se debe tener en cuenta que el registro DX también puede
direccionar a los puertos de E/S 00H - FFH. Asimismo, si la dirección que se decodifica es de
8 bits, entonces nunca podrán incluir dispositivos E/S que tengan una dirección de 16 bits.
En la figura 5.3 se ilustra un decodificador 74ALS138 para los puertos F0H hasta F7H
E/S de 8 bits. (Se supone que en el sistema sólo habrá puertos E/S 00H hasta FFH para el
decodificador.) Este decodificador es muy similar al de dirección de memoria, excepto que en
sus entradas sólo se conectan los bits de direcciones A7-A0. En la figura 5.4 se ilustra la
versión PAL de este decodificador. Se debe tener en cuenta que es un mejor circuito
decodificador porque el número de circuitos integrados se ha reducido a un solo componente:
el PAL.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 98
APUNTES DE SISTEMAS DIGITALES II
Figura 5.3 Decodificador de puertos que decodifica los puertos E/S de 8 bits. Este
decodificador genera salidas activas en bajos en los puertos F0H hasta F7H.
Figura 5.4 Decodificador PAL 16L8 que genera señales para los puertos de E/S
para F0H – F7H.
V.2 Puertos Programables LSI
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 99
APUNTES DE SISTEMAS DIGITALES II
La interfase periférica programable (PPI) 8255 es un muy popular componente de bajo
costo para interfaces, que se encuentra en muchas aplicaciones. La PPI tiene 24 terminales
para E/S, programables por grupos de 12 terminales, que se utilizan en tres modos diferentes
de funcionamiento. La PPI 8255 puede tener interfase con cualquier dispositivo de E/S
compatible con TTL para el microprocesador. El 82C55A (versión CMOS) requiere introducir
estados de espeta si trabaja con un microprocesador que tenga reloj de más de 8 MHz. Debido
a que los dispositivos E/S son lentos por naturaleza, los estados de espera utilizados durante
las transferencias de E/S no producen un efecto importante en la velocidad del sistema. El
8255 todavía tiene aplicación (compatible para la programación aunque no aparezca en un
sistema como un 8255 discreto), incluso en los sistemas de computadora más recientes
basados en 80486. El 8255 se emplea para interfase con el teclado y con el puerto paralelo de
la impresora en estas computadoras personales.
Descripción básica de la 8255
En la figura 5.5 se ilustra el diagrama de base del 8255. Sus tres puertos de E/S
(Marcados A, B y C) se programan en grupos de 12 terminales. Las conexiones del grupo A
constan del puerto A (PA7-PA0) y de la mitad superior del puerto C (PC7-PC4); el grupo B
consiste en el puerto B (PB7-PB0) y la mitad inferior del puerto C (PC3-PC0). El 8255 se
selecciona con su terminal CS para programarla o para leer o escribir en un puerto. La
selección de sus registros se logra por medio de las terminales A1 y A0, que seleccionan un
registro interno para programación u operación. En la tabla 5.1 se muestran las asignaciones
de puertos de E/S usadas para programación y acceso a esos puertos. En la computadora
personal, un 8255 o su equivalente se decodifican en los puertos E/S 60H - 63H.
A1 A0 Función
0 0 Puerto A
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 100
APUNTES DE SISTEMAS DIGITALES II
0 1 Puerto B
1 0 Puerto C
1 1 Registro de comando
Tabla 5.1 Asignación de puertos de E/S para el 8255.
Figura 5.5 Diagrama de base de la interfase periférica programable (PPI) 8255A
El 8255 es bastante sencillo de conectar (hacer interfase) con el microprocesador y el
programa. Para que se pueda leer o escribir en la 8255, la entrada CS debe ser un 0 1ógico y
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 101
APUNTES DE SISTEMAS DIGITALES II
la dirección correcta de E/S se debe aplicar en las terminales A1 y A0. Las terminales
restantes de dirección de puerto son no importa y se decodifican en el exterior para
seleccionar 8255.
En la figura 5.6 se muestra un 8255 conectado con el 8086 de modo que funcione
como puerto de E/S de 8 bits, en las direcciones C0H (puerto A), C2H (puerto B), C4H
(puerto C) y C6H (registro de control). En esta interface se utiliza el sector inferior del mapa
de E/S del 8086. Se debe tener en cuenta que en esta interfase todas las terminales del 8255
están conectadas directamente con el 8086, excepto la terminal CS’ la cual se decodifica y
selecciona con un decodificador 74ALS138.
Figura 5.6 La 8255A en interfase con el banco bajo del microprocesador 80286.
La entrada de RESET del 8255 lo inicializa siempre que se inicializa el
microprocesador. Una entrada RESET al 8255 hace que se inicialicen todos los puertos como
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 102
APUNTES DE SISTEMAS DIGITALES II
puertos de entrada en el modo de funcionamiento 0. Debido a que las terminales de los
puertos son programadas como terminales de entrada, al aplicar un RESET, se evitan daños
cuando se aplica corriente por primera vez al sistema. Después de un RESET no se necesitan
otras instrucciones para programar 8255, siempre y cuando se utilice como dispositivo de
entrada en los tres puertos. Se debe tener en cuenta que la 8255 tiene interfase con la
computadora personal en las direcciones 60H - 63H de puertos para el control del teclado y
también para controlar la bocina, un temporizador y otros dispositivos internos, tales como
una expansión de memoria.
Programación del 8255
Es fácil programar el 8255 porque sólo contiene dos posibles comandos básicos, como
se ilustra en la figura 5.7. Se verá que el bit de la posición 7 selecciona comandos A o al B. El
comando A programa la función del grupo A y B, mientras que el comando B activa (1) bit o
desactiva (0) bits del puerto C, sólo si el 8255 se programa en el modo 1 o 2.
Las terminales del grupo B (puerto B y parte inferior del puerto C) se programan como
terminales de entrada o de salida. El grupo B puede funcionar en el modo 0 o en el modo 1,
modo 0 es el modo básico de entrada y salida (E/S) que permite programar a las terminales
grupo B como conexiones simples de entrada o de salida con "retención". El modo 1 es el
funcionamiento con señales de habilitación estroboscópica en algunos bits del grupo B cuando
se transfieren datos por el puerto B y C suministra señales de reconocimiento (handshake).
Las terminales del grupo A (puerto A y parte superior del puerto C) también se
programan como terminales de entrada o de salida. La diferencia es que el grupo A puede
funcionar en los modos 0, 1 y 2. El funcionamiento en el modo 2 es un funcionamiento
bidireccional para el puerto A.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 103
APUNTES DE SISTEMAS DIGITALES II
Figura 5.7 El byte de comando para el registro de control del 8255A. Programación de
los puertos A, B y C.
Si se pone un 0 en la posición 7 del byte de comando, se selecciona el comando B.
Este comando permite que cualquier bit del puerto C se active (1) o se desactive (0) si se hace
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 104
APUNTES DE SISTEMAS DIGITALES II
funcionar al 8255 en el modo 1 o el modo 2. De lo contrario, este byte de comando no se
utiliza. A menudo se utiliza la función de activar o desactivar bits en sistemas de control, para
establecer o borrar un bit de control en el puerto C.
V.3 Periféricos
El subsistema de entrada - salida de una computadora, denominado E/S, proporciona
un modo de comunicación eficiente entre el sistema central y el ambiente externo. Los
programas y datos deben introducirse a la memoria de la computadora para su procesamiento
y los resultados que se obtienen de los cálculos deben grabarse o registrarse para el usuario.
Una computadora no tiene ningún propósito útil sin la capacidad de recibir información de
una fuente externa y de transmitir los resultados de manera comprensible.
El medio más familiar de introducir información en una computadora es a través de un
teclado tipo maquina de escribir, que permite a una persona introducir información
alfanumérica en forma directa. Cada vez que se oprime una tecla, la terminal envía un carácter
codificado en binario a la computadora. La velocidad más alta posible para introducir
información de esta manera depende de la velocidad para teclear de una persona. Por otra
parte, la unidad de procesamiento central es un dispositivo extremadamente rápido capaz de
ejecutar operaciones a muy alta velocidad. Cuando se transfiere a un procesador información
de entrada mediante un teclado lento, el procesador estará ocioso la mayor parte del tiempo,
mientras espera que llegue la información. Para utilizar una computadora de manera eficiente,
deben prepararse con anticipación una gran cantidad de programas y datos, y deben
transmitirse a un medio de almacenamiento como discos o cintas magnéticas. La información
del disco se transfiere después a la memoria de la computadora a gran velocidad. Los
resultados de los programas también se transfieren a un almacenamiento de alta velocidad,
como discos, desde los cuales se pueden transferir, más tarde, a una impresora para
proporcionar una salida impresa de los resultados.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 105
APUNTES DE SISTEMAS DIGITALES II
Los dispositivos que están bajo el control directo de la computadora están conectados
en línea. Estos dispositivos están diseñados para leer información hacia adentro o afuera de la
unidad de memoria ante un comando de la CPU y se considera que son parte del sistema total
de la computadora. Los dispositivos de entrada o salida conectados a la computadora también
se llaman periféricos. Entre los periféricos más comunes están los teclados, los monitores y
las impresoras. Los periféricos que proporcionan almacenamiento auxiliar para el sistema son
cintas y discos magnéticos. Los periféricos son dispositivos electromecánicos y
electromagnéticos de cierta complejidad. Aquí sólo se proporcionara un breve análisis de su
funcionamiento, sin entrar en detalles de su construcción interna.
Los monitores de vídeo son los periféricos de uso más común. Consisten en un teclado
como dispositivo de entrada y una pantalla como dispositivo de salida. Hay diferentes tipos
de monitores de vídeo, pero los más populares utilizan un tubo de rayos catódicos (CRT). El
CRT contiene un cañón electrónico que envía un haz de electrones a una pantalla
fosforescente al frente del tubo. El haz puede desviarse en forma horizontal y vertical. Para
producir un patrón en la pantalla, una rejilla dentro del CRT recibe un voltaje variable que
hace que el haz entre en contacto con la pantalla y la haga brillar en puntos seleccionados.
Las señales horizontales y verticales desvían el haz y lo hacen barrer por el tubo, haciendo
que aparezca en la pantalla un patrón visual. Una característica de los monitores es un cursor
que marca la posición en que se insertará el siguiente carácter en la pantalla. El cursor puede
moverse a cualquier posición en la pantalla, sobre un carácter único, una palabra o cualquier
línea. Las teclas de edición agregan o borran información con base en la posición del cursor.
El monitor puede operar en forma de carácter único, de donde todos los caracteres
introducidos en la pantalla a través del teclado se trasmiten a la computadora en forma
simultanea. En el modo de bloque, el texto editado se almacena primero en una memoria
local dentro de la terminal. El texto se transfiere a la computadora como un bloque de datos.
Las impresoras proporcionan un registro permanente, sobre el papel, de los datos o el
texto de salida de la computadora. Hay tres tipos básicos de impresoras de caracteres: de
margarita, de matriz de puntos y láser. La impresora de margarita contiene un disco con los
caracteres colocados en la orilla de la circunferencia. Al imprimir un carácter, la rueda gira a
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 106
APUNTES DE SISTEMAS DIGITALES II
la posición apropiada y después un imán, al que se aplica una corriente, la oprime contra la
cinta. La impresora de matriz de puntos contiene un conjunto de puntos a lo largo del
mecanismo de impresión. Por ejemplo, una impresora de matriz de 5 x 7 puntos que imprime
80 caracteres por línea tiene varias líneas horizontales y cada una consta de 5 x 80 = 400
puntos. Cada punto puede imprimirse o no, dependiendo de los caracteres específicos que
están impresos en la línea. La impresora láser utiliza un tambor fotográfico rotatorio que se
emplea para imprimir las imágenes de caracteres. Después, el patrón se transfiere sobre el
papel igual que en una maquina copiadora.
Las cintas magnéticas se utilizan principalmente para almacenar archivos de datos:
por ejemplo, el registro de la nómina de una compañía. El acceso es secuencial y consta de
registros que pueden accesarse uno después de otro, conforme la cinta se mueve a lo largo de
un mecanismo estacionario de lectura - escritura. Es uno de los métodos más baratos y lentos
para almacenar y tiene la ventaja de que las cintas pueden quitarse cuando no se usan.
Los discos magnéticos tienen superficies rotatorias de alta velocidad, con una cubierta
de material magnético. El acceso se consigue al mover un mecanismo de lectura -escritura
sobre una pista en la superficie magnetizada. Sobre todo, los discos se utilizan para el
almacenamiento de grandes cantidades de programas y datos.
Otros dispositivos de entrada y salida que se encuentran en sistemas de computadora
son los graficadores digitales, los lectores de caracteres ópticos y magnéticos, los
convertidores analógicos-digitales y equipo diverso de adquisición de datos. No todas las
entradas provienen de personas y no todas las salidas están dirigidas a ellas. Las
computadoras se utilizan para controlar varios procesos en tiempo real, como provisión de
partes de máquinas, procedimientos de ensamblado en línea y procesos químicos e
industriales. Para tales aplicaciones, debe proporcionarse un método para captar las
condiciones de estado del proceso y enviar señales de control al proceso que se controle.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 107
APUNTES DE SISTEMAS DIGITALES II
La organización de entrada - salida de una computadora es una función del tamaño de
la computadora y de los dispositivos conectados a ella. La diferencia entre un sistema grande
y pequeño depende en gran parte de la cantidad de circuitería que tiene disponible la
computadora para comunicarse con unidades periféricas y la cantidad de periféricos
conectados al sistema. Como cada periférico se comporta en forma diferente de los demás,
sería prohibitivo entrar en detalles de las interconexiones necesarias entre la computadora y
cada periférico. En este trabajo se presentaron ciertas técnicas comunes a la mayoría de los
periféricos.
VI. SISTEMA MINIMO (proyecto)
VI.1Selección del Problema
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 108
APUNTES DE SISTEMAS DIGITALES II
El propósito de la fase de Selección del problema es el de maximizar la probabilidad
de aislar y definir satisfactoriamente el problema que se tiene entre manos, y de que deberá
hacerse desde un principio, ya que el tiempo que se dedique a la Selección del problema es,
cuando menos, tan productiva como el dedicado a cualquier otra de las fases esenciales en la
solución de problemas.
Ante todo, deberá tenerse presente que la Selección y Formulación del Problema
implica una descripción breve y general de las características del problema, sin tomar en
cuenta en ella los detalles y restricciones; es muy importante que esto se realice al iniciar la
solución del problema, tratándose de evitar las influencias que sobre el ingeniero tengan los
detalles, restricciones y la solución hasta ahora lograda. Debido al hecho de que esta etapa
requiere relativamente poco tiempo, suele dársele poca importancia, cuando en realidad es
definitiva.
En esencia, la formulación del problema requiere la definición de los estados iniciales
y finales, de los criterios principales, del volumen y del limite de tiempo. En la práctica,
raramente es necesario o común un enunciado formal que incluya todas estas características;
lo esencial es la identificación de los estados iniciales y finales, misma que puede ser verbal o
diagramática.
Amplitud de la formulación del problema
El término amplitud se usará con respecto a la formulación del problema para indicar :
el grado de especificación supuesto de los estados iniciales y finales, al
iniciarse el proceso de diseño.
la parte del problema total que el diseñador atacará personalmente. El grado de
especificación supuesto de los estados iniciales y finales, al iniciarse el proceso
de diseño, determine el número y variedad de soluciones alternativas a
disposición del diseñador.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 109
APUNTES DE SISTEMAS DIGITALES II
Se sugiere que al formular un problema, el diseñador suponga las especificaciones de
las estados iniciales y finales, tan generales como la economía y los límites de organización
lo permitan. La amplitud de la fomulación del problema lleva consigo la asignación de la
parte del problema que resolverá el propio diseñador. Es decir, cuanto más se divida un
problema total en sus partes, para ser atacadas independientemente, es probable que la
solución total o sistema, sea menos óptima.
La amplitud de formulación de un problema es una decisión que debe tomar el
diseñador, ya que su punto de vista es la manera en que ha captado el problema, bastando a
veces tan sólo una serie de razonamientos o simples anotaciones. Puesto que por naturaleza la
formulación es flexible, el diseñador puede y debe formular el problema ampliamente; siendo
esta una prerrogativa del diseñador, cuya utilización puede resultarle bastante ventajosa.
El grado hasta el cual un diseñador es capaz y está justificado para mantener una
formulación extensa de un problema, depende de los factores siguientes:
1. El alcance de sus responsabilidades. La capacidad oficial del diseñador es la
determinante principal de las decisiones que está autorizado a objetar y a cambiar.
2. La situación económica. En general, cuanto menos importante es el problema para
la empresa, desde un punto de vista económico, menores son las posibilidades que
puedan ser investigadas justificadamente, salvo las especificaciones que puedan ser
cambiadas; hay cosas que se deben aceptar “como son”, debido a lo improductivo
que resulta dedicarles atención. El volumen tiene una gran influencia a este
respecto.
3. El limite arbitrario (si acaso existe) que se haya puesto al tiempo y al dinero que
pueden ser dedicados al problema.
4. Circunstancias especiales. Por ejemplo, las personas involucradas en el problema
pueden hacer que sea imposible poner en duda las decisiones tomadas previamente,
aun cuando no estén justificadas por su organización deficiente.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 110
APUNTES DE SISTEMAS DIGITALES II
Fallas comunes al principio del proceso de diseño
Al ingeniero rara vez se le presenta el problema real; por el contrario, él debe intentar
estudiar el diseño existente, y examinar la tradición y las opiniones de otros, para determinar
cuál es en realidad el problema. Esto se hace difícil, no sólo por lo indefinido de los
problemas, sino por la práctica, generalizada en las universidades, de presentar los problemas
a los estudiantes en una forma pura e irreal, de tal manera que no están acostumbrados ni
tienen la habilidad de identificar un problema en la "vida real". Estas dos situaciones hacen
que el diseñador sea vulnerable al siguiente tipo de fallas:
Una falla que un diseñador debe procurar evitar cuando hace el enfoque de un
problema, es la de resolver parcial o totalmente un problema ficticio innecesario, ya que en tal
caso, el problema en sí, casi nunca requiere su atención.
Son ejemplos de problemas ficticios, el diseño de una parte componente que en
realidad no se necesita, y el rediseño de una operación de manufactura que pudiera ser
eliminada completamente. La falla al buscar y definir activa y efectivamente un problema al
iniciar el enfoque de la situación, sugiere un resultado como éste, con el subsecuente
descrédito para el diseñador.
La segunda falla principal consiste en atacar la solución actual en lugar del problema
mismo, ya que el diseño actual es simplemente una solución, entre muchas, del problema a
resolver y la solución actual no es el problema; sin embargo, con frecuencia el diseñador
ataca el diseño actual como si lo fuera. Nunca está por demás hacer hincapié respecto a la
facilidad con que puede incurrirse en esta falla. Existe diferencia, crucial y sutil, entre
empezar con la solución actual y trabajar en ella en un intento de eliminar las deficiencias, y
empezar con la definición básica del problema y sintetizar una solución superior mediante el
proceso de diseño. El ú1timo procedimiento es el principal factor en la obtención de un diseño
más eficiente en periodos a largo plazo.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 111
APUNTES DE SISTEMAS DIGITALES II
La mejor manera de evitar estas fallas consiste en concentrarse inicialmente en el
planteo del problema, evitando temporalmente los detalles, las restricciones y la solución
actual.
El punto de vista de la caja negra
Este útil y excepcional método de plantear un problema de diseño, lo llamaremos el
"método de la caja negra". La solución de un problema se visualiza como una caja negra de
contenido desconocido y no especificado, con una entrada especificada (estado A), una salida
especificada también (estado B), y con criterios dados para evaluar el funcionamiento de la
caja; en la figura 6.1 se muestra este punto de vista. Otros ejemplos de entradas son la pulpa
de madera, ropas sucias, o energía eléctrica, con sus salidas respectivas: papel, ropas limpias y
trabajo mecánico.
Entrada Salida
(Estado A) (Estado B)
Figura 6.1 Formulación de un problema utilizando la “caja negra”.
El método de la caja negra facilita la identificación adecuada de los estados A y B, a
medida que se formula el problema, pues es un truco visual especialmente útil para desviar de
la solución actual la atención del diseñador; para obtener el beneficio máximo de este método,
es importante que el diseñador permita que la caja negra aleje de su mente la solución actual,
y que él no haga, por el momento, suposiciones con respecto a cuál será la solución final, o
partes de ella. Entonces, corresponde al ingeniero joven desarrollar la habilidad para aislar
efectivamente el problema, independientemente de este método de ataque, y así el concepto
de la caja negra constituye un medio para desarrollar y aumentar esta habilidad.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 112
APUNTES DE SISTEMAS DIGITALES II
En resumen, antes de iniciar la solución de cualquier problema, el diseñador debe
formularlo, debiendo estar seguro que:
El problema merece su atención
Sea amplio su punto de vista con respecto al problema
Se eviten por el momento, los detalles y las restricciones
Sea cauto con los problemas ficticios y
No se dedique a la solución actual del problema, ni confunda el problema con la
solución.
Todo problema puede formularse en varios grados de amplitud, variando el rango,
desde una amplísima definición que maximice el número y alcance de las decisiones por
hacer, hasta una formulación que ofrezca una amplitud pequeña y que minimice el número y
alcance de variables por alterar. El diseñador debe formular el problema tan extensamente
como las circunstancias lo permitan.
Si por mantener tal formulación el diseñador sobrepasa sus fronteras organizacionales
o económicas, será informado de esto casi siempre automáticamente por otros empleados; si,
por el contrario, no desarrolla el problema tan ampliamente como debiera, no habrá una señal
que automáticamente le indique que su procedimiento resulta antieconómico para la
compañía, y que a él en lo personal lo desprestigia.
Nótese que en esta fase no hay lugar para una descripción o consideración detallada de
la solución actual, sino que es un planteo general del problema hecho antes de enfrascarse en
los detalles de la situación. Este enfoque amplio, hecho al principio, maximiza la probabilidad
de que el diseñador defina el problema satisfactoriamente.
VI.2Análisis de Alternativas
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 113
APUNTES DE SISTEMAS DIGITALES II
Esta fase del proceso de diseño se refiere a un intento para encontrar las soluciones
posibles que satisfagan las restricciones impuestas, e indudablemente, durante la valuación,
formulación y análisis del problema, el diseñador concebirá o se tropezará con varias de las
soluciones posibles. Sin embargo, es precisamente en esta etapa cuando el diseñador
concentra sus esfuerzos en la elaboración de soluciones.
Específicamente, esta fase incluye la acumulación de soluciones alternativas y
parciales, a partir de diversas fuentes, entre las que pueden citarse libros, manuales,
conversaciones, conocimiento previo del diseñador, soluciones de problemas similares y
soluciones que anteriormente se dio al problema por resolver.
Esta fase raramente culmina en la obtención de un conjunto de soluciones completas,
mutuamente exclusivas; por el contrario, lo que se obtenga será probablemente soluciones
parciales, ideas relacionadas tan sólo con uno o varios pasos, o variables de las muchas que
una solución eventualmente completa debe incluir.
En la fase siguiente del proceso de diseño, el diseña dor evaluará las alternativas en
cada categoría, eliminando progresivamente las inferiores y sintetizando eventualmente la
solución completa que represente la combinación más favorable de soluciones parciales. A
partir de aquí, el diseñador del método de ensamble evaluará subsecuentemente las secuencias
posibles de ensamble, el número de estaciones de trabajo, su disposición, etc., y las
combinara, a todas ellas, hasta que encuentre la mejor solución general.
En esta fase, las alternativas raramente se especifican en detalle, lo que ordinariamente
no es necesario ni aconsejable hacer, ya que muchas alternativas pueden evaluarse sin estar
especificadas completamente. Por consiguiente, muchas alternativas pueden especificarse en
forma esquemática, y posteriormente con mucho mayor detalle, si es que el trabajo se justifica
ampliamente.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 114
APUNTES DE SISTEMAS DIGITALES II
Factores principales en la inventiva
Debido a que las ideas propias del ingeniero constituyen el principal factor del éxito en
su trabajo de diseño, y en última instancia, de su prestigio profesional, haremos hincapié en la
elaboración de ideas. En lo sucesivo, nos referimos a la inventiva como a la capacidad de una
persona para elaborar ideas, en cantidad, calidad y diversidad. La utilidad de la misma es
maximizar los diseños ideados.
Los factores principales de la inventiva de un diseñador, parecen ser las siguientes:
1. Sus conocimientos: La información de que dispone para ser usada en la concepción
de ideas.
2. El esfuerzo que realiza: Lo activo de su búsqueda de ideas, así como el grado de su
dedicación.
3. Su aptitud: Las cualidades innatas que contribuyen a la inventiva.
4. El método que usa: Su modo particular de concebir ideas; por ejemplo, el tipo de
proceso de pensamiento, los auxiliares del mismo, el proceso de solución de
problemas, las fuentes de consulta, etc.
5. El Azar: Entre el gran número de soluciones posibles a un problema, la que una
persona conciba dependerá considerablemente del azar. Y esto será según la cadena
de ideas que vaya siguiendo, viendo u oyendo en el transcurso de este periodo.
La aptitud tiene por lo general un efecto insignificante en la inventiva, en contraste
con el método de concebir ideas; asimismo, una persona que tenga la llamada baja aptitud
inventiva, lo cual, desde luego, está fuera de su control, puede, por lo general, compensar esta
"deficiencia" con algún método para concebir ideas, lo cual si está bajo su control.
Independientemente de la sistematización, dirección y de lo casual que pueda
caracterizar a esta búsqueda, lo importante es que el diseñador penetre en las áreas en las
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 115
APUNTES DE SISTEMAS DIGITALES II
cuales puede buscar ideas con éxito. Existe un número de sugestiones que el diseñador debe
considerar come un medio para mejorar la efectividad de este proceso de búsqueda, algunas
son auxiliares del pensamiento, otras son precauciones que han de tomarse en contra de
tendencias perjudiciales, y otras más, son métodos para facilitar una búsqueda sistemática.
Las siguientes sugerencias son típicas de estas medidas:
a) Ejerza el esfuerzo necesario. El diseñador debe concentrarse y dedicarse
efectivamente al problema, ya que la inventiva va acompañada de una buena
dosis de esfuerzo mental.
b) Asuma una actitud totalmente indagatoria. El uso frecuente de la sencilla
pregunta POR QUE?, puede hacer maravillas descubriendo alternativas
productivas.
c) Intente utilizar un método sistemálico. Por ejemplo, la aplicación sistemática de
preguntas diferentes, la alteraci6n sistemática de las variables, la examinación
también sistemática de soluciones análogas, o la substitución, inversión, rearreglo
y combinación sistemático de las ideas.
d) Intente hacer lista de verificación de buenas ideas y preguntas, las cuales han
demostrado, con anterioridad, la conveniencia de tomarlas en consideración, ya
que esto resulta un auxiliar de la memoria, y su objetivo es orientar el
pensamiento de una persona en varias direcciones. En términos de la analogía del
espacio antes mencionada, el uso de las listas de verificación obliga a realizar
saltos a puntos remotos, eliminando la tendencia de agrupación.
e) Busque muchas alternativas. Permita que el objetivo inmediato sea el de
acumular tantas alternativas como el tiempo lo permita.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 116
APUNTES DE SISTEMAS DIGITALES II
f) Consulte a los demás. Busque activamente información y sugerencias de
vendedores, clientes, supervisores, inspectores y demás personas relacionadas con
el asunto; estas conversaciones, además de aumentar los conocimientos del
diseñador, hacen que emerjan sus ideas y, como tercer efecto benéfico, facilitan la
aceptación futura de proposiciones, por parte de las personas que fueron
consultadas y que, como una consecuencia de ello, tuvieron la oportunidad de
contribuir.
g) Intente alejar su pensamiento de la solución existente. Este es un ataque directo a
la tendencia de agrupación, lo que no es fácil, ya que la solución actúa en
ocasiones como una barrera formidable al pensamiento. Sin embargo, con un
poco de disciplina mental se pueden iniciar valiosas series de pensamientos.
h) Intente el método de grupo. Este método, popularmente conocido como
"discusión colectiva", incluye a un grupo de personas reunidas con el propósito
exclusivo de obtener soluciones para un problema; durante su realización se
solicitan ideas que se escriben en un pizarrón para que puedan ser vistas por
todos, estimulándose así el volumen de ideas, y eliminando cualquier forma de
evaluación durante este periodo. Se contribuirá con ideas sin importar lo ridículas
que puedan parecer al momento, ya que realmente la cantidad de ideas así
generadas, es mayor que la lograda por el mismo número de personas trabajando
independientemente, lo que se debe a las dos siguientes razones: Primera, los
limites impuestos por los conocimientos de cada individuo, se amplían debido a
que las esferas de conocimientos de individuos diferentes, no coinciden
completamente. Segunda, el flujo constante de ideas tiene el efecto de activar el
pensamiento de cada individuo.
i) No sea conservador. No se aleje de las ideas completamente nuevas. En términos
de la analogía, cuando realizamos un gran salto con éxito, la tendencia natural es
volverse hacia atrás, siendo lo correcto favorecer las ideas probadas durante un
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 117
APUNTES DE SISTEMAS DIGITALES II
largo tiempo y de las cuales estamos seguros de que trabajaran satisfactoriamente.
Existe una tendencia a ser conservadores en este respecto, eliminando ideas que
implican un riesgo razonable. Por su naturaleza misma, la originalidad lleva
consigo un elemento de riesgo adicional, pero con originalidad es con lo que se
escribe la historia.
j) Evite el rechazo prematuro. No se apresure en rechazar las ideas; de hecho,
aplace la evaluación de las mismas. Como dijo un autor, "no mezcle la generación
de ideas con su evaluación". Lo que parezca una idea ridícula en un momento,
puede ser modificada por otra y convertirse en una alternativa productiva; operar
sin prejuicios suele presentar la ventaja de no precipitar los errores.
k) Evite la satisfacción prematura. No se sienta tentado a aceptar la primera "buena"
idea, o la primera que parezca ser una mejora apreciable a la solución actual,
cuando en realidad se justifica económicamente continuar con la búsqueda. Es
muy fácil cegarse con la primera idea "brillante", y este es el caso cuando un
diseñador ha empleado mucho tiempo en los detalles de un nuevo diseño, y
repentinamente descubre la existencia de una solución muy superior, que hace
inútiles estos detalles. Bajo esta circunstancia, el diseñador puede tender
injustificada e inconscientemente a eliminar de consideración posterior la nueva
idea. Debido a que ésta es una reacción subjetiva, debemos darnos cuenta de su
existencia para poder eliminarla.
l) Refiérase a problemas análogos para buscar ideas.
m) Trabaje en un ambiente propicio al pensamiento creativo. Es de gran ayuda
trabajar en un ambiente propicio, en donde el diseñador pueda pensar sin
interrupción durante periodos prolongados.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 118
APUNTES DE SISTEMAS DIGITALES II
n) Permanezca consciente de las limitaciones de la mente en la concepción de ideas.
Si el diseñador está consciente siempre de su tendencia a imponer restricciones
artificiales, a ser conservador, a evaluar prematuramente, etc., entonces habrá
dado un paso importante en la eliminación de estas tendencias.
Existen otras medidas para aumentar la inventiva, por ejemplo: concentrarse en lo
ridículo, hacerlo uno mismo, haciendo a un lado el problema durante un tiempo, y anotando
todas las ideas.
Todo lo anterior se refiere a lo que el diseñador puede recurrir con objeto de
auxiliarse, a corto plazo, en la solución de un problema. Existen medidas tendientes a
mejorar, a largo plazo, la inventiva del diseñador, las cuales deben considerarse
cuidadosamente.
En resumen, esta fase cubre una búsqueda parcialmente fortuita, sistemática y directa,
con base en las restricciones, volumen y criterios. Primariamente, consiste en la búsqueda de
soluciones progresivamente mejores en el caudal de conocimientos del diseñador.
Esta búsqueda debe terminar, conceptualmente, cuando el costo incremental de la
búsqueda equilibre las mejoras probables en ]as soluciones, siendo difícil decidir, en la
práctica, cuando termina esta fase.
La efectividad de esta búsqueda se aumenta adhiriéndose al proceso del diseño
descrito aquí, ya que muchas de sus características tienen el objeto de encontrar soluciones
mejores. En esta fase en particular, se sugiere que el diseñador intente primero maximizar el
número y la variedad de alternativas elegibles, y después muestree tan efectivamente como le
sea posible, eliminando ciertas tendencias indeseables, valiéndose de los descritos auxiliares
de búsqueda.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 119
APUNTES DE SISTEMAS DIGITALES II
VI.3Selección de la Alternativa
Una vez que el diseñador ha logrado obtener un conjunto de soluciones conforme a
los métodos descritos en la fase anterior, procederá a la fase de la búsqueda, la que con toda
propiedad puede describirse como un proceso de ampliación, tanto del número como de la
diversidad de soluciones alternativas, para hacer posteriormente su selección.
Una vez terminado este proceso de ampliación, mediante una evaluación y
comparación, combinación y recombinación, se procede a una eliminación, la cual condensará
esta colección de ideas en una única y mejor solución. Entonces, al proceso de ampliación
1ógicamente le sigue uno de reducción, para lo cual la secuela usual es: con medios
relativamente burdos, por el simple sentido común, por ejemplo, se empiezan a evaluar las
distintas alternativas, todas ellas aún en un estado aproximado de especificación; después, con
un procedimiento todavía más discriminatorio se procede a una segunda evaluación de las
alternativas, lo que conduce a la eliminación de un mayor número de posibilidades,
prosiguiendo el método, a criterio del diseñador, hasta la solución que é1 considere óptima.
Debe observarse que gran parte de este proceso involucra soluciones parciales, cuya
combinación y recombinación muy probablemente convergen en la solución final.
Al final de esta fase, se procede a especificar y detallar suficientemente la solución
"final", a fin de que sea aplicable. En ciertas ocasiones, el diseñador no hace la elección final,
sino que presenta a la persona encargada de ello, un número limitado de alternativas con datos
sobre su rendimiento y costo, para que así ella pueda tomar una decisión. Es muy difícil hacer
generalizaciones con respecto al procedimiento de evaluación; sin embargo, se puede detectar
un procedimiento general de evaluación cuando ésta no es meramente subjetiva, sino que es
formal, refinada y de naturaleza cuantitativa. Este proceso incluye la solución de los criterios,
la predicción de la "efectividad" de cada alternativa con respecto a cada criterio la conversión
a términos monetarios de estas estimaciones y la comparación de las alternativas de una
manera inteligente que facilita la decisión, seguida de la selección de la mejor alternativa.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 120
APUNTES DE SISTEMAS DIGITALES II
VI.4 Elaboración de Dibujos y Planos
El diseño puede presentarse por medio de dibujos, modelos, patrones, especificaciones
u otros medios de comunicación semejante. Cualquiera que sean los medios con que sé de a
conocer el diseño, se han de dar todos los detalles importantes para su comunicación. Para
ello ha de comprender elementos tales como los materiales y sus características, los métodos
para adaptar dichos materiales a su objeto o a su trabajo, la relación de las piezas dentro del
conjunto y el efecto del producto terminado sobre los que pueden verlo, usarlo o tengan
alguna relación con el mismo.
Diseño es una palabra usada mas o menos en forma indefinida en todas las artes al
referirse a composición, estilo, declaración o a cualquier relación de partes de una entidad
completa. En algunas áreas, notablemente en él área de arquitectura y en la de aquellos
productos del diseño, el arte y la ingeniería se ven afectados el uno respecto del otro, de tal
modo que la completa libertad en el diseño se ve restringida.
Lógicamente, al que diseña se le llama diseñador. Todos los diseñadores necesitan
tener experiencia y estar organizados y orientados educativamente. En otras palabras: deben
tener amplios conocimientos sobre lo que están intentando diseñar, si no quieren fracasar
miserablemente.
En cuanto a los diseños y en un amplio sentido, pueden ser clasificados, y con
frecuencia se clasifican, de acuerdo o en su función de cualidad de realización practica. Así, el
diseño, abstracto no guarda relación alguna con los objetos útiles o físicos, y su fin es
únicamente crear un interés o producir una expresión visual. Una gran parte llamado arte
“moderno” es diseño abstracto.
El diseño estético es el que se aplica algún objeto útil; persigue fines decorativos
solamente, y no tiene nada que ver con la utilidad del objeto.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 121
APUNTES DE SISTEMAS DIGITALES II
El diseño estético funcional esta comprendido en la categoría en la que están
íntimamente ligados los aspectos estéticos y funcional.
El diseño puramente funcional es aquel en que la función es el elemento totalmente
dominante, sin que se considere en absoluto la estética. Aunque haya que tener presente
consideraciones estéticas en el proyecto técnico, la relación principal en este estudio debe
restringirse necesariamente al buen proyecto técnico funcional. Sin embargo, nunca debe
creerse que la función pura prevalece siempre como factor dominante.
En consecuencia, todo proyectista debe tener: 1) dominio cabal de su campo; 2)
experiencia; 3) ingenio inventivo; 4) conocimiento de materiales y de procesos, y 5)
habilidad para representar (dibujo) sus ideas con objeto de transmitir sus proyectos a otros.
Todo lo anterior no es tan difícil como se pudiera pensar. La clave real esta
principalmente en la habilidad para dibujar, tanto a mano alzada como con instrumentos;
luego se desarrolla el instinto creador. En este momento, todo conocimiento, la destreza y la
experiencia del diseñador entran a juego. A medida que piensa en las maneras de resolver el
problema, registra sus ideas y desarrolla su proyecto. A causa de su aspecto creador, el
proyectar o diseñar es personalmente muy interesante y satisfactorio.
Todo diseñador, cualquiera que sea el campo o el producto de que se trate, debe tener
un adiestramiento completo en la presentación gráfica. Sin él, un diseñador fracasaría
rotundamente, porque, a medida que se progresan en la concepción del proyecto las ideas
propias de los diseñadores deben registrase en forma de esquemas y dibujos. Además,
conforme se va desarrollando el proyecto debe discutirse, y someterse a su aprobación, con
personas como el proyectista jefe, el ingeniero jefe y los ejecutivos de la gerencia. Esto
significa que se hace necesaria la comunicación clara y concisa, la cual se efectúa por medio
de los esquemas y dibujos hechos por el diseñador. Los dibujos del proyecto o diseño son
frecuentemente completados y apoyados con datos matemáticos y diagramas, que incluyen
algunas veces datos de computadora, pero los esquemas y dibujos de los proyectistas, así
como su exposición y las explicaciones construyen los aspectos más significativo de la
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 122
APUNTES DE SISTEMAS DIGITALES II
comunicación. Como se ha dicho con frecuencia, mientras es casi imposible describir ni aun
simple componente por medio de palabras, la comunican se hace muy simple y directamente
por medio de un dibujo.
Los dibujos de proyecto no son como los demás dibujos, la diferencia estriba en que
los de proyecto proporcionan la información a partir de la cual han de prepararse los dibujos
de montaje y de detalle. Los dibujos de proyecto se dividen en dos clases: preliminares y
finales o definitivos.
Los dibujos preliminares de proyecto, o sea dibujos de anteproyecto, son en su gran
mayoría esquemas, aunque algunos pueden ser dibujos hechos con instrumentos.
Dibujos de proyectos finales. Representan la culminación de los esquemas de
proyectos anterior en un dibujos final, completo y exacto, acompañado por todos los datos y
especificaciones necesarias. A partir de este dibujo se separan los de detalle y montaje.
VI.5 Aplicación de Criterios
En ciertas etapas de nuestra formación académica, resulta difícil reconocer y aceptar
el grado hasta el cual es aplicable el criterio en los problemas usuales de la ingeniería y la
administración. Actualmente, y quizá por desgracia, el criterio juega un papel
importantísimo en todas las etapas del trabajo del ingeniero; por ejemplo:
1. La selección de los mejores procedimientos, técnica o practica a seguir en la
solución de un problema particular, requiere, ante todo, criterio ya que los factores citados
rara vez son claros, debido a lo cual suelen originarse serias controversias entre los
especialistas.
2. Tanto en la selección como en la aplicación de las diversas técnicas y
procedimientos, frecuentemente se requiere un grado de criterio difícil de alcanzar.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 123
APUNTES DE SISTEMAS DIGITALES II
3. Y tal como se mencionó antes, se necesita criterio para la evaluación de las posibles
soluciones a un problema.
El ejercicio constante del criterio es inevitable, ya que en el dinámico mundo de los
negocios, las decisiones deben tomarse rápidamente, a fin de encontrar y aplicar la solución
antes de que el problema deje de existir; por otra parte, debe utilizarse libremente el criterio a
falta de una investigación cuantitativa y exhaustiva, y de una evaluación de todas las
alternativas y factores involucrados.
La base para la evaluación la proporcionan los criterios identificados como parte del
análisis del problema, al menos en una forma general. En muchos problemas de ingeniería,
el criterio principal es la ganancia en la inversión, la cual en su más amplio sentido se refiere
al beneficio esperado de una solución alternativa en relación con su costo. En el diseño del
producto, esto requiere valorar los beneficios de cada alternativa del diseño, expresados en
forma de ingresos por concepto de ventas y de servicios al público, junto con una estimación
del costo total de cada una de ellas; por ejemplo, en el caso de construcción de puentes,
presas o carreteras, las estimaciones se refieren a los servicios al público y al costo de
construcción de la obra.
No obstante que el criterio más común puede ser la ganancia en la inversión, no debe
suponerse que siempre se busca la masificación de las ganancias, sino que algunas veces
suelen regir criterios menos objetivos. Por ejemplo, existe el "criterio de la felicidad", en el
que el objetivo del diseñador es el de seleccionar aquella alternativa que sea aceptada por
todas las personas involucradas; en algunas ocasiones, éste suele ser el criterio básico, y en
otras, sólo uno de los varios establecidos.
Una de las tareas principales del diseñador en la fase de evaluación, es la de predecir
cuantitativamente el comportamiento de cada alternativa con respecto a cada uno de los
criterios considerados. La existencia de muchos criterios y su interdependencia obliga, en
ocasiones, a ignorar varios de ellos durante la evaluación, debido a limitaciones de criterios
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 124
APUNTES DE SISTEMAS DIGITALES II
intangibles, los cuales no se pueden expresar cuantitativamente; por ejemplo, no se puede
expresar cuantitativamente la aceptación que entre los clientes tengan diferentes diseños del
producto. Hay otros criterios, que aun cuando se puedan expresar cuantitativamente, no
pueden ser convertidos de modo satisfactorio a términos monetarios, trayendo como
consecuencia que en la solución final deban considerarse muchos criterios no expresados en
pesos y centavos, o numéricamente debido a lo cual, el buen juicio tiene un papel muy
importante en la fase de evaluación.
6.6 Interpretación de Proyectos
Interpretación es una forma de dar a los demás una visión utilizando un sistema de
comunicación atractivo que ofrezca una explicación con el objetivo. El proyecto debe estar
bien especificado, expresándonos claramente entre los que estén familiarizados con él, y leerlo
e interpretarlo con facilidad, cuando haya sido escrito por otro.
La fase de especificación del proyecto, implica una delineación de los atributos y de
las características de comportamiento del diseño seleccionado, siendo el propósito principal
de esta fase el de comunicar la solución a las personas involucradas, tales como:
1. Las personas responsables de aprobar la solución.
2. Las personas encargadas de la creación física de la solución.
3. Las personas responsables de administrar la solución una vez en uso.
4. Las personas responsables del mantenimiento de la solución, tales como el personal
responsable de prestar servicio a un producto, una vez que está en el mercado.
5. Todo aquel que en el futuro necesite de las especificaciones detalladas de la
solución.
El hecho de que no es probable que el diseñador desempeñe las funciones
mencionadas, hace necesario que él ponga una atención particular en esta función de
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 125
APUNTES DE SISTEMAS DIGITALES II
comunicación, debiendo registrar su solución claramente y con el detalle suficiente, de
manera que le permita tomar decisiones inteligentes y un mejoramiento fructífero de la
misma. Nunca está por demás hacer hincapié en la importancia que tiene la habilidad del
diseñador para comunicar sus ideas en forma efectiva.
6.7 Conclusiones
La conclusión es una exposición elaborada por el autor del trabajo (actualmente es
aceptada como una especie de discusión). En ella se reflexiona sobre el proceso de la
investigación realizada y se somete a la consideración y discusión de los virtuales lectores.
Toda conclusión deberá incluir como mínimo los siguientes aspectos:
Los resultados obtenidos.
Los aspectos que no se lograron, según el plan inicial.
Los elementos aprendidos sobre el tema desarrollado.
Con base en la experiencia obtenida, se acostumbra sugerir temas
semejantes o perspectivas diferentes de estudio.
Una conclusión bien escrita es un texto conciso que apoya el tema y deja saber al
lector que se ha dado fin a la reflexión - discusión.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 126
APUNTES DE SISTEMAS DIGITALES II
Veamos un ejemplo de conclusión:
CONCLUSION
Como intentamos mostrar en este informe, en la actualidad la interacción de la
electrónica con otros campos de la ciencia y la tecnología es tan estrecha, que con frecuencia
resulta difícil distinguir los limites entre las cuestiones científicas y las apreciaciones técnicas.
Las investigaciones especiales utilizan sistemas de pilotaje que se controlan por
medios electrónicos. En los sistemas de comunicación modernos que actúan mediante láseres
y fibras ópticas, se utilizan técnicas electrónicas. Asimismo, el desarrollo y estudio de la
robótica incluye métodos y técnicas electrónicas. En el campo de la medicina, de la
transportación en general, en muchos de los productos domésticos encontramos elementos y
subsistemas electrónicos. En resumen, podemos decir que nuestra vida cotidiana se rige por la
electrónica.
Como se mencionó al inicio, la atención de este trabajo era, básicamente,
proporcionar información respecto al origen y desarrollo del fenómeno electromagnético, y en
este sentido, creo que se cumplieron los objetivos trazados. Por otra parte, como ya también
mencione, considero que este tema tiene mucho por investigar, por lo que invito a los
compañeros de las áreas afines a complementar el presente informe.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 127
APUNTES DE SISTEMAS DIGITALES II
En conclusión, en la actualidad Sistemas Digitales II es una materia que tiene mucha
aplicación en todas las industrias ya que siempre existirá la necesidad de utilizar Sistemas
Digitales por la capacidad que tienen de almacenar fácilmente grandes cantidades de
información así como la capacidad de control y realización de operaciones aritméticas y
lógicas con señales digitales por lo que es necesario contar con conocimientos acerca de los
diferentes elementos de almacenamiento como son las memorias electrónicas y externas
existen así como también conocer las unidades aritméticas y lógicas, unidades de control y
unidades de entrada / salida.
La intención de estos apuntes es básicamente proporcionar información básica de los
diferentes temas que comprende la materia de Sistemas Digitales II, y en este sentido, creo
que se cumplieron los objetivos trazados. Por otra parte los sistemas digitales sigue
evolucionando por lo que todavía hay mucho que investigar acerca de estos temas y la
invitación es que realicen practicas en cada unidad para fortalecer los conocimientos
adquiridos.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 128
APUNTES DE SISTEMAS DIGITALES II
1. - Rolando J. Tocci SISTEMAS DIGITALES PRINCIPIOS Y APLICACIONES 5ª. Edición Ed. Prentice Hall 2.- M. Morris Mano ARQUITECTURA DE COMPUTADORAS 3ª. Edición Ed. Prentice Hall
3. - Barry B. Brey LOS MICROPROCESADORES INTEL 3a. Edición Ed. Prentice Hall
4.- M. Morris Mano LOGICA DIGITAL Y DISEÑO DE COMPUTADORAS 2ª. Edición Ed. Prentice Hall
5.- Johm F. Wakerly DISEÑO DIGITAL PRINCIPIOS Y PRACTICAS 2ª. Edición Ed. Prentice Hall
6.- Louis Nashelsky FUNDAMENTOS DE TECNOLOGIA DIGITAL 3ª. Edición Ed. Limusa
7.- Edward V. Krick INGENIERIA DE METODOS 1a. Edición Ed. Noriega Limusa
8.- Thomas E. French DIBUJO DE INGENIERIA 3a. Edición Ed. Mc. Graw Hill
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 129
APUNTES DE SISTEMAS DIGITALES II
9.- Fermín González Gaxiola PRESENTACION DE TRABAJOS ACADEMICOS 4ª. Edición Universidad de Sonora.
ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 130