APUNTES DE SISTEMAS DIGITALES II.doc

193
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 ELABORADO POR: ING. SILVIA PATRICIA GUTIERREZ FONSECA 1

Transcript of APUNTES DE SISTEMAS DIGITALES II.doc

Page 1: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 2: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 3: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 4: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 5: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 6: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 7: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 8: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 9: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 10: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 11: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 12: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 13: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 14: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 15: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 16: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 17: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 18: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 19: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 20: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 21: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 22: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 23: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 24: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 25: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 26: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 27: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 28: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 29: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 30: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 31: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 32: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 33: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 34: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 35: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 36: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 37: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 38: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 39: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 40: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 41: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 42: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 43: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 44: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 45: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 46: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 47: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 48: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 49: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 50: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 51: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 52: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 53: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 54: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 55: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 56: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 57: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 58: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 59: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 60: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 61: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 62: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 63: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 64: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 65: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 66: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 67: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 68: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 69: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 70: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 71: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 72: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 73: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 74: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 75: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 76: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 77: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 78: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 79: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 80: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 81: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 82: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 83: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 84: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 85: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 86: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 87: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 88: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 89: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 90: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 91: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 92: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 93: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 94: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 95: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 96: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 97: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 98: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 99: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 100: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 101: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 102: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 103: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 104: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 105: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 106: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 107: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 108: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 109: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 110: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 111: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 112: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 113: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 114: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 115: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 116: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 117: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 118: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 119: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 120: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 121: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 122: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 123: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 124: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 125: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 126: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 127: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 128: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 129: APUNTES DE SISTEMAS DIGITALES II.doc

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

Page 130: APUNTES DE SISTEMAS DIGITALES II.doc

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