Está en la página 1de 19

Curso: Sistemas Digitales

Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt


Pontificia Universidad Católica del Perú Área de circuitos y sistemas

CAPITULO 1 – PARTE I

El Computador Digital

¿Qué es un sistema?

Un sistema es un grupo de partes o elementos que están integradas con el propósito de


alcanzar algún objetivo común.

Grupo de partes : Un sistema tiene más de un elemento. Por ejemplo, una llanta no es un
sistema, pero es parte vital de un sistema llamado “automóvil”.

Partes integradas : debe existir una relación lógica entre las partes de un sistema. Por ejemplo,
un videojuego, una lavadora automática, un reloj, tienen muchas partes.

Propósito común de alcanzar un objetivo : El sistema es diseñado para lograr una o más
metas. Todos los elementos del sistema deberán estar interconectados y controlados de
manera que el objetivo del sistema sea alcanzado.

¿Qué es un sistema digital ?


Un sistema basado en elementos digitales.

¿Qué es una computadora ?


Un sistema manipulador de símbolos (datos) diseñado para automáticamente procesar datos
de entrada y almacenarlos, procesarlos y producir resultados, bajo la dirección de un
programa de instrucciones almacenado, que se ejecuta paso a paso.

¿Qué es un programa ?
Es un conjunto detallado de instrucciones que ejecuta el computador de manera secuencial,
que hacen funcionar al computador de una manera específica y producir el resultado deseado.
Al cambiarse el programa se cambian los resultados.

¿Qué es un algoritmo ?
Es un conjunto de pasos que seguidos de manera secuencial permiten resolver un problema.

Capítulo1Parte1 rev. 7 1 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Arquitectura Básica de un Computador


Hay dos términos empleados al referirse al diseño de un computador: arquitectura
(architecture), y organización (organization). En la práctica, en el lenguaje español se ha
hecho común su uso como sinónimos.
El término “organización” se refiere a la forma como están conectados los diferentes
elementos físicos que conforman el computador y por tanto afectan la manera como ésta
funciona. Podrían tenerse cientos de computadores diferentes, todos ellos utilizando el mismo
microprocesador. El término “arquitectura” se refiere a la manera como se comporta el
computador desde el punto de vista de un programador. Pueden haber computadoras con
organización diferente (una computadora compatible Pentium 4, es diferente a las antiguas
computadoras IBM PC/XT),y sin embargo tener la misma arquitectura, o por lo menos
compatibilidad hacia atrás. Eso trae como ventaja que los programas desarrollados para la
computadora más antigua, puedan ejecutarse en la computadora más moderna.
En ese sentido, un programador sólo requiere conocer la arquitectura del computador para
escribir aplicaciones para dicho computador.

Partes de un computador
De la definición vista antes para el computador, podemos deducir lo siguiente :
 Ya que el computador puede ejecutar un programa, debe ser capaz de recordar las
instrucciones de dicho programa, por lo tanto debe contar con memoria.
 Debe reconocer instrucciones y ejecutarlas. Al elemento que lee y procesa las
instrucciones se le llama unidad de procesamiento central o CPU (central processing
unit).
 Tiene que haber alguna manera de “enviarle” el programa que deseamos que ejecute, y
debe haber alguna manera de que “veamos” el resultado. Para ello se deben contar con
dispositivos periféricos de entrada/salida, como por ejemplo el teclado (dispositivo de
entrada de datos), monitor (dispositivo de salida de datos), unidad de disco (dispositivo de
entrada/salida).
 Debe existir alguna manera de que el CPU se comunique con los dispositivos periféricos.
El nexo entre éstos y el CPU son las interfases de entrada/salida (input/output interfaces).
 Todo computador es un circuito secuencial sincrónico, y como tal, debe contar con una
señal de reloj, que actúa como “el corazón” del sistema, haciendo una analogía con el
cuerpo humano.

Como se verá más adelante, existen memorias que sólo almacenan y retienen la información
cuando están energizadas (memorias volátiles), y otras que mantienen la información grabada
incluso cuando no están conectadas a la fuente de alimentación (memorias no volátiles). Un
computador para funcionar debe contar como mínimo de memoria no volátil (donde estará el
programa inicial que ejecuta el computador al encenderse). Y si se van a manipular datos,
(que es lo usual) también requerirá memoria RAM (más adelante se describe este tipo de
memoria).

En resumen, un computador consta de : memoria no volátil, memoria RAM, CPU, interfases


de entrada/salida, periféricos, y circuito de reloj.

Capítulo1Parte1 rev. 7 2 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

UNIDAD DE
MEMORIA

INTERFASES
PERIFERICOS CPU RELOJ
E/S

Fig. 1 Estructura básica de un computador

Microcontrolador, microprocesador, procesador.


Antes de 1970, el CPU de un computador era un circuito electrónico conformado por varios
circuitos integrados. En la década del 70 se fabrica el primer CPU que ocupaba un solo
circuito integrado, y se le denominó microprocesador (microprocessor), y con ese término
se conoce hasta el día de hoy a un circuito integrado que contiene únicamente el CPU de un
computador (ejemplos de microprocesadores son: Z80, 8088, 80486).
Al mejorar la tecnología de fabricación de circuitos integrados, se crea el microcontrolador
(microcontroller): un circuito integrado (C.I.) que, además de un CPU, cuenta con memoria
no volátil para almacenar programas, memoria RAM, interfases de entrada/salida y algunos
periféricos. Por ejemplo, el chip 68HC11 de Motorola es un microcontrolador, y el chip
ATmega8 también.
Posteriormente, a llegarse a más de un millón de transistores por circuito integrado, los
fabricantes comienzan a emplear un nuevo término: procesador (processor) para definir a un
circuito integrado que además del CPU incluye otros elementos del computador, pero no
todos. Ejemplo de ello es el procesador Pentium 4.

La unidad de procesamiento central (CPU) :

Es la unidad que reconoce un número finito de instrucciones, las que lee (de una unidad de
memoria), procesa y ejecuta, y gracias a ello es capaz de ejecutar cualquier algoritmo descrito
en base a estas instrucciones.
Consta de dos elementos fundamentales : la unidad de procesos y la unidad de control.

Unidad de Procesos (Processing Unit):


Es la encargada de efectuar las operaciones aritméticas y lógicas con los operandos de las
instrucciones que así lo requieran. Consta para ello de:
 Una o más unidades aritmético-lógicas (ALU)
 Registros, que proveen almacenamiento interno al CPU
 Caminos de comunicación entre los registros y ALU. También se le suele conocer
como "camino de datos" (datapath).

Capítulo1Parte1 rev. 7 3 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Unidad Aritmético-lógica ALU (Arithmetic-Logic Unit):


Es un circuito, que puede combinacional o secuencial, que efectúa operaciones aritméticas
y lógicas. Para ello cuenta con líneas de entrada para los operandos, y de selección para
elegir la operación a realizar. Forma parte de la unidad de procesos.

Unidad de Control (Control Unit):


Es un circuito secuencial encargado de generar las señales de control requeridas para
accesar a la memoria, interfases de E/S, la unidad de procesos (indicándole lo que tiene
que hacer, cada ciclo de reloj, durante la ejecución de las instrucciones) y otras partes del
sistema. Este circuito es el que lee las instrucciones y las interpreta.

Tipos de Arquitecturas:
Hay muchas maneras de clasificar las arquitecturas de un computador. Dependiendo de la
manera como el CPU accede a los datos y las instrucciones, se pueden clasificar en dos tipos.

Arquitectura Von Neuman


El CPU no distingue entre memoria de datos y memoria de programa (o también denominado
"memoria de instrucciones"). Para el CPU existe una única memoria en la cual están tanto las
instrucciones como los datos.

En la figura se muestra un diagrama de bloques de un computador con dicha arquitectura.

ARQUITECTURA VON NEUMAN

Control

Memoria Instrucción y datos

datos

instrucción

Entrada Datos CPU


Interface Unidad de Unidad de
Salida Entrada/Salida Procesos Control

Control

Reloj

Fig. 2 Arquitectura Von Neuman

Capítulo1Parte1 rev. 7 4 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Arquitectura Harvard:
En esta arquitectura, el CPU distingue dos tipos de memoria. Una de las cuales lee las
instrucciones, denominada memoria de instrucciones ó memoria de programa (program
memory), y otra que contiene los datos a utilizar por las instrucciones. En la figura se puede
apreciar el diagrama de bloques de un computador con esta arquitectura. Observar la
presencia de dos caminos independientes para los datos y las instrucciones, que van a
diferentes memorias.
ARQUITECTURA HARVARD

Memoria de Memoria de
Datos Instrucciones

Control Instrucción
Datos

salida Datos Unidad de


Unidad de
Entrada/Salida
Procesos Control
entrada

Control

Reloj

Fig. 3 Arquitectura Harvard

Memoria
Es un dispositivo que almacena información de manera binaria. La unidad de almacenamiento
más pequeña se denomina celda de memoria (memory cell) capaz de almacenar un bit de
información. Un conjunto de celdas de memoria a las que se puede tener acceso
simultáneamente (para leer o escribir) se denomina registro (register).

Cada registro tiene asignado un único número de acceso, denominado dirección (address).
Para que el CPU pueda tener acceso a la información almacenada en la memoria, ésta debe
contar con líneas por las cuales se pueda leer la información almacenada en un registro, o
escribir en ella. A este conjunto de líneas se les denomina líneas de datos (data lines).
Además, debe contar con líneas de selección, para elegir el registro que se desea leer o
escribir.
Estas líneas se denominan líneas de direcciones (address lines).
Además también debe contar con líneas que permitan controlar cuando se desea escribir o leer
la memoria. Estas líneas se denominan líneas de control (control lines).

En la figura 4 se muestra el bosquejo de una memoria de 4 registros, de 4 bits cada uno.

Capítulo1Parte1 rev. 7 5 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Como se indica, cada cuadro representa una celda, en este caso un flip-flop. Tiene cuatro
multiplexores de 4x1 y observar que cada celda va a una única entrada de un único
multiplexor, y además que las líneas de selección de los cuatro multiplexores son comunes.

Si por ejemplo, se tuviese en las entradas de las líneas de selección 0 y 1 el valor 11, en la
salida D0 se tendrá el contenido de la celda superior del registro 3 (bit 0 del registro 3), en la
salida D1 el contenido de la siguiente celda del registro 3 (bit 1 del registro 3), y en la salida
D3 el contenido de la celda inferior del registro 3 (bit 3 del registro 3). Esto se muestra en la
figura 5, donde están sombreadas las celdas cuya información aparece en las salidas.

Para este ejemplo, las líneas de dirección son las líneas de selección de los multiplexores (2
líneas), las líneas de datos son las salidas de los multiplexores (D0, D1, D2 y D3) y los
registros son los conjuntos de 4 celdas verticales, como se indica en la figura.

Fig. 4 Memoria de 4x4 bits

Capítulo1Parte1 rev. 7 6 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Fig. 5 Selección del contenido del registro 3

A continuación se definen una serie de términos utilizados en relación con las memorias y en
general con las computadoras.

Palabra (word): Es un conjunto de bits de información accesados simultáneamente.

Byte: Conjunto de 8 bits de información.

Capítulo1Parte1 rev. 7 7 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Longitud de palabra (word length): Es el número de bits de información que almacena un


registro de la memoria. En el caso de memorias de acceso paralelo, éstas tendrán un número
de líneas de datos igual a la longitud de palabra.

Capacidad de la memoria: Es la cantidad de bits de información que es capaz de almacenar


una memoria. O lo que es lo mismo, el número total de celdas de memoria con las que cuenta.
Se especifica indicando el número de registros con los que cuenta, seguido de la longitud de
palabra (número de bits de cada registro), como por ejemplo 32Kx8, que significa que la
memoria tiene una capacidad de 256Kb o lo que es lo mismo 32K registros de 8 bits cada
uno.

Kilobyte (KB): 1024 bytes.


Kilobit (Kb): 1024 bits
Megabyte: 1024 KB (210 bytes)
Megabit: 1024 Kb (210 bits)

Señal: Es una cantidad eléctrica que lleva información.

Señal binaria: Aquellas que pueden representar sólo dos valores lógicos.

Buses: Grupo de señales binarias que colectivamente transportan un valor numérico, o que
tienen algo en común.

Modelo de Memoria
Es una representación gráfica de la memoria, en la cual se muestran las direcciones de los
registros de manera consecutiva y el contenido de dichos registros. Cada registro viene
representado por un pequeño rectángulo, cuyo número interior representa el valor almacenado
en el registro (su contenido), y el número al lado izquierdo fuera del rectángulo la dirección
de dicho registro, o dirección de memoria, como se muestra en el ejemplo de la figura.

Las líneas punteadas indican que hay un grupo de registros con direcciones consecutivas que
no se muestran.

Capítulo1Parte1 rev. 7 8 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

MODELO DE MEMORIA

Direcciones $0000
Valores contenidos
en las direcciones de
$0020 $14 memoria
$0021 $15

$1000 $8C
$1001 $20
$17

$2016 $01
$2017 $02
$2018 $03

$FFFF

Fig. 6 Modelo de memoria

Por ejemplo, el registro con dirección $0020 tiene almacenado el valor $14, y el registro con
dirección $2017 tiene almacenado el valor $02.

El signo $ indica que el número está expresado en base 16, por lo que $14 equivale a 20 en
base 10.

Este tipo de representación es muy útil para poder visualizar el contenido de las áreas de
interés de la memoria que son accedidas por un programa o instrucción que se quiera analizar.

Tipos de memorias

Existen muchos tipos de memorias, las cuales se pueden clasificar dependiendo de la


tecnología en base a la cual están hechas, la manera como se logra el acceso a sus registros,
o la duración de la información almacenada en ellas.

Dependiendo de la duración de la información almacenada en ellas se pueden clasificar en:


 Memorias no volátiles (non-volatile memories): Aquellas cuya información, una vez
grabada, no se pierde incluso cuando la memoria no está energizada (osea, no está

Capítulo1Parte1 rev. 7 9 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

conectada a una fuente de alimentación). En este grupo están las memorias ROM, PROM,
EPROM, EEPROM, FLASH EPROM.
 Memorias volátiles(volatile memories): También conocidas como memorias RAM
(memorias de acceso aleatorio, del inglés: Random Access Memory). Son memorias en las
que la información se pierde cuando se les desconecta la fuente de alimentación. Estas a
su vez se clasifican en:
 memorias estáticas (static memories): La información almacenada se mantiene
mientras esté conectada la fuente de alimentación. En este grupo están las
memorias RAM estáticas.
 memorias dinámicas (dynamic memories): En estas memorias, no basta con
mantener conectada la fuente de alimentación al chip, sino que se requiere un
proceso denominado de "refresco de memoria" (refresh memory), pues de no
hacerse, se pierde la información. Este ciclo de refresco debe realizarse cada 2 a 4
ms como máximo, en cada celda de memoria. Para el refresco se requiere el diseño
de un circuito especial, ya que las memorias no lo hacen automáticamente.

Dependiendo de la forma de acceso a la información se pueden clasificar en:


 Memorias seriales: El acceso a los registros se hace por medio de una línea de datos
únicamente, de modo que si un registro tiene por ejemplo 8 bits, tienen que hacerse 8
lecturas por esa línea.
 Memorias de acceso paralelo: tal vez deberían de llamarse de acceso aleatorio, pero ese
término ya es utilizado para referirse a las memorias volátiles. En el lenguaje común, a las
memorias de acceso paralelo se les llama simplemente memorias. De hecho, el término
"acceso paralelo" no es muy usado, y tampoco del todo adecuado. En estas memorias se
accede simultáneamente a todos los bits de un registro. Para ello la memoria cuenta con
líneas de datos (tantos como bits tengan sus registros) y líneas de direcciones.

Dependiendo de si se pueden leer y escribir:


 Memorias de sólo lectura: Son memorias que una vez instalados en un circuito, sólo
pueden leerse, o, de poder escribirse, el tiempo para la escritura es considerable comparado
con el tiempo de lectura. Por dar un ejemplo: para leer el registro de una EEPROM, se
requieren unos 150ns, pero para escribir en un registro se requieren unos 2ms, es decir más
de diez mil veces el tiempo requerido para la lectura.
 Memorias de lectura/escritura: Pueden leerse y escribirse, y el tiempo de acceso para la
lectura y la escritura es del mismo orden de magnitud. Un ejemplo son las memorias RAM
tanto estáticas como dinámicas.

MEMORIAS ROM (Read Only Memory)


Son memorias de sólo lectura, cuya grabación se realiza durante el proceso de fabricación del
circuito integrado, es decir, es el fabricante del chip quien lo programa. El diseñador que
requiere la memoria debe indicar al fabricante qué información desea grabar. Y deben de
comprarse en el orden de 1000 unidades a más, todas con la misma información grabada.
Además, el tiempo desde el momento que se solicita la grabación, hasta que finalmente se
tienen los dispositivos, es de varias semanas (antiguamente varios meses). Por esta razón, se
emplean sólo en productos masivos, como los juegos de video. Son los de más bajo costo, en
relación con los demás tipos de memorias, cuando se compran en grandes volúmenes.

Capítulo1Parte1 rev. 7 10 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Existen memorias de hasta 512Kx8

Existen microcontroladores cuya memoria no volátil es memoria ROM. Estos


microcontroladores son más baratos que sus equivalentes con otro tipo de memoria no volátil,
pero se venden en grandes volúmenes. Los compradores, al momento de hacer el pedido al
fabricante, entregan el programa que deberá ser grabado en la memoria ROM, y el fabricante
del microcontrolador los graba durante el proceso de fabricación. Un ejemplo de este tipo de
microcontrolador es el que tiene la computadora de aplicación específica NMY-0020 de la
Cía. New Micros, en el cual se emplea el microcontrolador 68HC11A8, y que en su memoria
ROM tiene grabado un programa monitor.

MEMORIAS PROM (Programmable ROM)


A diferencia de las memorias ROM, éstas pueden ser programadas eléctricamente (osea,
grabadas), con ayuda de un programador de memorias. Estas memorias se venden sin nada
grabado (memorias en blanco), y es el diseñador el que las programa con la información que
desea, con ayuda del programador de memorias.

El inconveniente que tienen es que pueden programarse sólo una vez, y una vez grabadas no
se pueden borrar.
La razón de ello es que la programación de sus celdas de memoria con un 1 o un 0 se basa en
quemar o no unos fusibles, y como tales, una vez quemados, no se pueden volver a
reconectar.
Son de baja capacidad (unos 4Kb u 8Kb), pero mucho más veloces que los demás tipos de
memorias de sólo lectura.

Actualmente no se utilizan mucho.

MEMORIAS EPROM (Erasable PROM)


Son memorias que al igual que las PROM, se programan eléctricamente, pero además pueden
borrarse con luz ultravioleta y reprogramarse. Para ello, los encapsulados de estas memorias
cuentan con una pequeña ventana transparente poer donde se debe hacer incidir la luz
ultravioleta cuando se desea borrarlas.

Para grabarlas se requiere, al igual que las PROM, de un programador de memorias.


Los fabricantes de estos chips, dan la información de cómo programarlas en sus hojas
técnicas. Y es posible que uno pueda diseñar su propio circuito grabador de memorias
EPROM.
Ejemplos de este tipo de memorias son el chip de 4Mb AMDF27C040 en un arreglo de
512Kx8 de la Cía. Advance Microdevices, el chip M27C322 de 32Mb con un arreglo de
4Mx8 de la Cía. STMicroelectronics y precio de $12.85 en lotes de 100 unidades ($18.31 c/u
en Marzo del 2007. Fuente http://www.mouser.com Marzo del 2007 y Marzo del 2009), y el
chip M27C512-90F6 de 512Kb con un arreglo de 64Kx8, de la Cía. STMicroelectronics, y
precio de $2.82 c/u ( $1.91 c/u en Marzo del 2009 en lotes de 1000 unidades. Fuente
http://www.em.avnet.com Marzo del 2007 y Marzo del 2009).

Capítulo1Parte1 rev. 7 11 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Debido a que son reprogramables, y de capacidades similares a las memorias ROM, son más
utilizadas que éstas, pues es posible comprarlas por unidad, y a precios económicos en
grandes volúmenes.
Son más caras que las memorias ROM.

Existe un tipo particular de memoria EPROM que se define a continuación.

 Memorias OTP EPROM (One Time Programmable EPROM):


Son memorias EPROM con un encapsulado que no cuenta con ventana para la
incidencia de luz ultravioleta. Debido a ello, no se pueden borrar, y de allí que se
denominen "programables una sola vez". El costo de un encapsulado sin ventana es
menor que el de uno con ventana (en la década de los 90, del orden de $1.00) , y ello
influye en el costo final del circuito integrado. Por ello las memorias OTP EPROM
son de menor precio que las EPROM convencionales. Ejemplos de memorias OTP
EPROM son: el chip MR27V6402D de 64Mb en arreglo de 8MBx8 de la Cía. OKI
Semiconductors, el chip M27C512-90B6 de 512Kb con un arreglo de 64Kx8, de la
Cía. STMicroelectronics, y precio de $1.23 c/u en Marzo del 2009 ($0.90 c/u en lotes
de 1000 unidades en Marzo del 2007. Fuente http://www.em.avnet.com Marzo del
2007, Marzo del 2009).

En los microcontroladores que cuentan con memoria EPROM, a la memoria se le


denomina OTP EPROM si el circuito integrado no cuenta con ventana para el borrado
de la misma. La diferencia en precio de un microcontrolador de encapsulado con
ventana y otro sin ventana es significativa. Por ejemplo, el microcontrolador
PIC12C508A/JW-ND de la Cía. Microchip, que cuenta con una memoria EPROM de
512x12, cuesta por unidad $16.00, y por ciento $8.02 c/u. Sin embargo, el
PIC12C508A-04/P-ND, cuya única diferencia con el anterior es contar con memoria
OTP-EPROM, cuesta por unidad $1.73, y por ciento $0.96 c/u. Es decir, una relación
de 9 a 1 en el precio. (precios tomados de Cía. Digi-key, Marzo del 2007,
http://www.digi-key.com ).1

Por ejemplo, el microcontrolador PIC12C508JW-ND de la Cía. Microchip, que cuenta


con una memoria EPROM de 512x12, cuesta por unidad $16.65, y por ciento $8.44
c/u. Sin embargo, el PIC12C508-04/P-ND, cuya única diferencia con el anterior es
contar con memoria OTP-EPROM, cuesta por unidad $2.05, y por ciento $1.40 c/u. Es
decir, una relación de 6 a 1 en el precio. (precios tomados de Cía. Digi-key. Página
web: www.digi-key.com)

1
La diferencia tan grande en precios de los microcontroladores no es tanto por la existencia o no de la ventana,
sino en los volúmenes de producción y ventas. Como los encapsulados con ventana se usan para la construcción
de prototipos, no se venden tantos y por ello no se fabrican tantos: eso eleva su precio de venta. Para que se
tenga una idea de los volúmenes de ventas y su impacto en los precios, en el año 2004 el microcontrolador
PIC12C508-04/P-ND costaba $2.05 por unidad, ($1.40 c/u por ciento) y en Marzo del 2007 $2.25 por unidad
($1.44 c/u por ciento), es decir, aumentó en 10% su precio. Pero el microcontrolador PIC12508A-04/P-ND, que
según el fabricante Microchip es una mejora y reemplaza al anterior , cuesta $1.73 por unidad ($0.93 por
ciento), es decir, cuesta 20% menos. De hecho, disminuyó el volumen de ventas del PIC12C508-04/P-ND y la
fabricación se centra en el nuevo microcontrolador.

Capítulo1Parte1 rev. 7 12 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

MEMORIAS EEPROM (Electrically Erasable PROM)


Son memorias que pueden grabarse y borrarse eléctricamente. Más caras que las memorias
EPROM. Estas memorias han sido diseñadas para programarse en el circuito en el que van a
ir instaladas, a diferencia de las anteriores, que requieren de un programador de memorias.
Estas memorias pueden borrarse de dos maneras.
En una, mediante un pulso eléctrico se borran todas los registros de la memoria. A este
método se le llama "Bulk erase", o borrado en bloque.
En la otra, se selecciona un registro que se desea borrar, y con un pulso eléctrico se borra sólo
dicho registro, manteniéndose la informacion de los demás. Este tipo de borrado se denomina
"Byte erase", debido al hecho que estas memorias normalmente cuentan con registros de 8
bits.
Un ejemplo de memoria de acceso serial es el chip AT24C1024B-PU25 de la compañía
Atmel2, que es una memoria EEPROM de acceso serial en un arreglo interno de 128Kx8, y
tiene un precio de $3.91 por unidad y de $2.60 c/u por ciento (fuente:
http://www.digikey.com, Marzo 2009).
Otro ejemplo, de acceso paralelo es el chip AT28C256 de 256Kb, fabricado por la compañía
Atmel, con un arreglo de 32Kx8 y un precio de $5.90 por unidad ($8.99 por unidad el año
2004. Fuentes: www.jameco.com, Agosto 2004, www.digikey.com Marzo 2009).

Actualmente predominan las memorias EEPROM seriales sobre las EEPROM de acceso
paralelo, pues las de acceso paralelo fueron desplazadas por las memorias Flash. Por ejemplo,
a Marzo del 2007, la memoria paralela 28LV010E-12PI de 1Mb (128Kx8) de la Cía. Atmel,
tiene un precio de $31.93 por unidad, y de $19.30 c/u por ciento (fuente:
http://www.digikey.com Marzo 2007). Una memoria Flash de la misma capacidad, la
AT29B010A-12JU del mismo fabricante, tiene un precio de $2.63 por unidad y $1.638 por
ciento. Más de 1000% de diferencia. Y para terminar la comparación, una memoria serial, la
AT24C1024W-10SU-2.7 de 1Mb (128Kx8) tiene un precio de $5.76 por unidad y $3.28 c/u
por ciento (fuente: http://www.digikey.com Marzo 2007).

MEMORIAS FLASH-EPROM (FLASH Memory)


Estas memorias también se denominan simplemente memorias Flash.
Al igual que las memorias EEPROM, se programan y borran eléctricamente, pero difieren en
los tipos de borrado. Al igual que en las EEPROM, se puede realizar el borrado de todas las
celdas del chip a la vez, es decir, el modo "Bulk erase". Sin embargo, no cuentan con el
borrado registro por registro. Hasta hace unos años, ese era el único tipo de borrado con el
que contaban, sin embargo, en la actualidad, las memorias Flash cuentan con un tipo de
borrado por bloques "Block erase" también denominado borrado por sectores ("sector erase").
En las memorias con este tipo de borrado, la memoria está dividida en varias partes
denominadas bloques ó sectores, cada uno con un número de registros consecutivos, y se
puede borrar un bloque sin afectar el contenido de los demás bloques. vale la pena resaltar
que al borrar un bloque ó sector, se borra un grupo de registros y no un único registro como es
en el caso de las memorias EEPROM.

2
En Agosto del 2004, el circuito integrado que existía era el AT24C1024-10PI-2.7 de la compañía Atmel, que
es una memoria EEPROM de acceso serial en un arreglo interno de 128Kx8, y tenía un precio de $8.04 por
unidad y de $6.17 c/u por ciento (fuente: http://www.digikey.com, Agosto 2004).

Capítulo1Parte1 rev. 7 13 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Al igual que las EEPROM, han sido diseñadas para no requerir de un programador de
memorias, sino que pueden reprogramarse en el circuito en el que van a ser instalados.
La mayoría de fabricantes de estos tipos de memorias, producen chips que requieren de un
circuito especial en la tarjeta en la que van a ir instalados. Pero desde hace unos años,
aparecieron fabricantes que han desarrollado memorias FLASH que no requieren de circuitos
especiales, y que se conectan como si fuesen memorias EEPROM.

La razón por la cual estas memorias son muy utilizadas, es que al mejorar la tecnología de
producción de memorias, las nuevas que aparecen de mayor capacidad, lo son unas 4 veces
más que las EEPROM de mayor capacidad que se introducen en el mercado.

Ejemplos de uso son las unidades de disco semiconductoras utilizadas en las computadoras
personales portátiles (Notebook´s), denominadas FLASH-Disks. También se utilizan en las
tarjetas de memoria de las cámaras digitales como las Sony "Memory Stick's® ", y en las
tarjetas de memoria usadas en las agendas electrónicas (las denominadas PDA's), como las
"SD-Memory cards". Éstas son tarjetas que contienen uno o más chips de memoria Flash.

Son en la actualidad el tipo de memoria no volátil más vendido a nivel mundial.

Hay varios tipos de memorias Flash, unas, denominadas NAND Flash, cuyas capacidades
llegan a 1Gb en la actualidad (128MB) como el chip HY27US001G1M-T de la compañía
Hynix Semiconductor, y la otra, de acceso paralelo, cuyas capacidades llegan a 128Mb
(8Mx16). Ejemplos de memorias de acceso paralelo son el chip de memoria Flash EPROM
LH28F320 de 32Mb en arreglo de 4Mx8, de la Cía. Sharp. el AM29LV065 de 64Mb de la
Cía. Advance Micro Devices (AMD), o el M29F010B70K6E de 1Mb (128Kx8) a $1.49 la
unidad (fuente: http://www.em.avnet.com Marzo 2007).

Hasta hace pocos años, la relación de precios de menor a mayor, para la misma capacidad de
memoria era: ROM, OTP-EPROM, EPROM, Flash, EEPROM (no se incluyen las memorias
PROM pues prácticamente son una reliquia, y existieron mientras fueron las memorias más
rápidas). Sin embargo, esto ya cambió (por lo menos para un rango de capacidades) y el orden
de precios, de menor a mayor es: ROM, Flash, OTP-EPROM, EPROM, EEPROM.
Es decir, en ciertos casos es más barata una memoria Flash que una memoria OTP-EPROM o
EEPROM.

Un ejemplo de microcontrolador con memoria flash es el ATmega8L-8PC de la familia AVR


de Atmel. Este chip puede programarse en el circuito, como se verá en el primer laboratorio
del curso, y tiene un precio de $3.66 por unidad y $2.2464 c/u por ciento (www.digikey.com
Marzo 2010). En Agosto del 2004 el mismo circuito integrado costaba $3.66 por unidad y
$2.13 c/u por ciento; y en Agosto del 2003 el mismo chip costaba $5.05 por unidad y $3.6093
c/u por ciento en el mismo proveedor (Digi-Key).3

3
Aunque el empleado en el laboratorio es el mencionado, está dejando de fabricarse ese modelo a favor del
ATmega8L-PU cuyo precio a Agosto del 2007 es $3.66 por unidad y $2.13 c/u por ciento. La razón del cambio
es para que el circuito integrado no tenga materiales que perjudiquen el medio ambiente. En Europa está vigente
la directiva RoHS 2002/95/EC (Restriction of the Use of certain Hazardous Substances in Electrical and
Electronic Equipment) que prohíbe el uso de ciertas sustancias, como el plomo, en la fabricación de equipos
eléctricos o eléctrónicos.

Capítulo1Parte1 rev. 7 14 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Líneas de control de las memorias: (todas son líneas de entrada)


Como se indicó anteriormente, las memorias cuentan con líneas de control. En el caso de las
memorias de acceso paralelo, algunas de estas líneas son:
 Habilitador de chip CE ó CS (chip enable, ó chip select)
 Cuando esta línea está activa, se puede tener acceso la memoria por medio de las
demás líneas.
 Cuando está inactiva, las líneas de datos permanecen en alta impedancia y no se
puede leer o escribir la memoria.

 Habilitador de salida OE (Output enable)


 Esta línea permite efectuar la lectura de un registro.
 Cuando está activa, la información que hay en el registro seleccionado (mediante
las líneas de dirección) aparece en las líneas de datos.
 Cuando está inactiva, las líneas de datos permanecen en alta impedancia.

 Escritura WR (write)
 Esta línea, que tienen las memorias de lectura/escritura, se debe activar para
efectuar una escritura en un registro de la memoria (que tiene que ser seleccionado
con las líneas de dirección) . Para ello debe estar presente en las líneas de datos el
valor que se desea escribir en el registro.

En general, no puede leerse y escribirse simultáneamente en una memoria, por lo que las
líneas OE y WR jamás deben estar activas simultáneamente. Además, ello significaría tener
una colisión de información.
Los chips de memoria Flash y EEPROM también cuentan con líneas de control de escritura.
Pero como se explicó anteriormente, son consideradas memorias de sólo lectura.

Ejemplo de un chip de memoria de 256Kb, 32Kx8

En la figura se muestra la disposición de patitas (pin-out) de una memoria EPROM 27C256,


que muestra qué señal corresponde a qué patita del circuito integrado. La presentación puede
ser en forma de diagrama (diagrama de conexiones) o como una tabla, en la que se indica el
número de patita en el chip y la señal que le corresponde. En este caso se muestra como
diagrama de conexiones.

Esta memoria tiene un arreglo de 32Kx8. Es decir, cuenta con 32K registros de 8 bits cada
uno. Pero 32K = 25*210 = 215. Esto significa que se requeren 15 líneas de direcciones para
poder accesar a cualesquiera de los 32K registros. Éstas son las líneas A0 hasta A14 que
aparecen en la figura.

Como los registros son de 8 bits, se requieren 8 líneas de datos para leer simultáneamente el
contenido de todas las celdas de memoria de un registro. Éstas son las líneas DQ0 hasta DQ7
que aparecen en el diagrama.

Capítulo1Parte1 rev. 7 15 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Como es una memoria EPROM, que es de sólo lectura, debe contar con las líneas de control
de habilitación de chip, y de habilitación de salidas. Éstas líneas son CE# y OE# de la figura
respectivamente.

Las líneas Vcc y Vss son las de la fuente de alimentación de 5V (Vcc terminal positivo).
Vpp es una línea de programación, que sólo se utiliza para programar la memoria en un
equipo programador de memorias EPROM. Esta línea en un computador debería estar
conectada al pin Vcc.

Capítulo1Parte1 rev. 7 16 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

Fig. 1 Diagrama de Bloques

Fig. 2 Diagrama de Conexiones

Capítulo1Parte1 rev. 7 17 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

El CPU y los buses de datos, de direcciones y de control


El CPU de un computador requiere acceder a dispositivos de memorias donde están tanto los
programas que debe ejecutar como los datos a procesar. Por lo tanto, los CPU’s deben contar
con líneas que permitan su fácil conexión a las memorias. Estas se describen a continuación.

Bus de datos: Es el conjunto de líneas por donde el CPU envía o recibe datos. Un CPU
puede tener más de un bus de datos, dependiendo de su arquitectura.

Bus de direcciones: Es el conjunto de líneas por medio de las cuales el CPU indica qué
número de registro desea acceder para su lectura o escritura.

Bus de control: Se denomina así al conjunto de todas las líneas de control con que cuenta el
CPU para poder controlar el acceso a los dispositivos de memoria, interfases de
entrada/salida, y otros elementos especiales con los que puede contar un computador.
También se les conoce simplemente como líneas de control.

Observación:
Realmente los tres términos anteriores deberían ser líneas de datos, líneas de direcciones y
líneas de control. En la práctica, es común llamarlos buses, pues necesariamente estas líneas
se conectarán a los demás dispositivos que forman el computador, y por tanto esas líneas
conectadas formarán buses.

“CPU de n bits”: Una característica importante de un CPU es el número de líneas de datos


con las que cuenta, pues ello significará acceder a mayor o menor información (número de
bits) en el mismo tiempo. Se dice que un CPU es de "n" bits cuando cuenta con "n" líneas de
datos. Si el CPU es de arquitectura Harvard, entonces se refiere a las líneas de datos utilizadas
para transferir información de la memoria de datos a los registros del CPU.
Por ejemplo, el ATmega8 que tiene arquitectura Harvard, cuenta con dos buses de datos. Uno
de 16 bits para la memoria de instrucciones, y otro de 8 bits para la memoria de datos. En este
caso, este microcontrolador tiene un CPU de 8 bits.
Como ejemplos de arquitectura Von Neuman tenemos al microcontrolador 68HC11, que tiene
un CPU de 8bits; el microprocesador 8088 con un CPU de 16 bits, a pesar que externamente
sólo cuente con 8 líneas de datos (internamente el bus de datos es de 16 bits); y el 8086 que
tiene el mismo CPU que el 8088 (de 16 bits) pero externamente también cuenta con 16 líneas
de datos.

Rango de direccionamiento del CPU:


Para poder acceder a "2N" registros de una memoria, se requieren N bits para identificar sin
ambigüedad a cada registro. Por lo tanto se requieren N líneas de direcciones. Por ello,
cuando un CPU tiene N líneas de direcciones, se dice que su capacidad de direccionamiento
es de 2N registros.
Por ejemplo, el CPU del 68HC11 tiene 16 líneas de direcciones, por lo tanto tiene un rango de
direccionamiento de 216 registros ó 64K.
El 8088 tiene 20 líneas de direcciones, por lo que su capacidad de direccionamiento es de 1M.
Es común que en vez de registro se indique la capacidad de cada uno. En los ejemplos
anteriores se diría que el Z80 puede direccionar 64KB y el 8088 1MB.

Capítulo1Parte1 rev. 7 18 6/03/2009


Curso: Sistemas Digitales
Especialidad: Ing. Electrónica Profesor: Ing. Hugo Pratt
Pontificia Universidad Católica del Perú Área de circuitos y sistemas

En el caso del microcontrolador ATmega8, que tiene arquitectura Harvard, se tienen dos
rangos de direccionamiento: para la memoria de programa el rango de direccionamiento es de
4K registros de 16 bits, y para la memoria de datos es de 1KB.

Lista de términos
1. Arquitectura de un computador 31. señal
2. Organización de un computador 32. señal binaria
3. Memoria 33. buses
4. CPU 34. modelo de memoria
5. microprocesador 35. memorias no volátiles
6. periférico 36. memorias volátiles
7. interfaz, interfaces 37. memoria RAM
8. Unidad de procesos 38. memorias estáticas (SRAM)
9. Unidad de control 39. memorias dinámicas (DRAM)
10. ALU 40. memorias seriales
11. registro del CPU 41. memorias de acceso paralelo
12. Arquitectura Von Neuman 42. memorias de solo lectura
13. Arquitectura Harvard 43. memorias de lectura/escritura
14. memoria de instrucciones, memoria de 44. memoria ROM
programa 45. memoria PROM
15. memoria de datos 46. memoria EPROM
16. microcontrolador 47. memoria OTP-EPROM
17. registro de memoria 48. memoria EEPROM
18. celda de memoria 49. memoria Flash
19. dirección de memoria 50. habilitador de chip CE de las memorias
20. líneas de datos 51. habilitador de salida OE de las memorias
21. líneas de direcciones 52. línea de escritura WR de las memorias
22. líneas de control de memoria 53. Bus de datos
23. Palabra 54. Bus de direcciones
24. Byte 55. Bus de control
25. Longitud de palabra 56. CPU de n bits
26. capacidad de una memoria 57. Rango de direccionamiento de un CPU
27. kilobyte KB
28. kilobit Kb
29. megabyte MB
30. megabit Mb

Capítulo1Parte1 rev. 7 19 6/03/2009

También podría gustarte