Escolar Documentos
Profissional Documentos
Cultura Documentos
CAPITULO 1 PARTE I
El Computador Digital
Una computadora es sistema manipulador de smbolos (datos) diseado para automticamente
procesar datos de entrada y almacenarlos, procesarlos y producir resultados, bajo la direccin
de un programa de instrucciones almacenado, que se ejecuta paso a paso.
Por sistema nos referimos a que consta de varias partes o elementos que estn integrados
(interconectados) con el propsito de alcanzar un objetivo comn.
Por programa nos referimos a un conjunto detallado de instrucciones que ejecuta el
computador de manera secuencial, que hacen funcionar al computador de una manera
especfica y producir el resultado deseado. Al cambiarse el programa se cambian los
resultados.
Partes de un computador
De la definicin para el computador dada al inicio, se puede 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 perifricos de entrada/salida, como por ejemplo el teclado (dispositivo de
CAPITULO1Parte1rev20.doc
27/02/2014
UNIDAD DE
MEMORIA
PERIFERICOS
INTERFASES
E/S
CPU
RELOJ
CAPITULO1Parte1rev20.doc
27/02/2014
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.
CAPITULO1Parte1rev20.doc
27/02/2014
Instruccin y datos
datos
instruccin
Entrada
Salida
Datos
Interface
Entrada/Salida
CPU
Unidad de
Procesos
Unidad de
Control
Control
Reloj
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
Datos
Memoria de
Instrucciones
Control
Instruccin
Datos
salida
Datos
Entrada/Salida
entrada
Unidad de
Control
Unidad de
Procesos
Control
Reloj
CAPITULO1Parte1rev20.doc
27/02/2014
Memoria
Es un dispositivo que almacena informacin de manera binaria. La unidad de almacenamiento
ms pequea se denomina celda de memoria (memory cell) capaz de almacenar un bit de
informacin. Un conjunto de celdas de memoria a las que se puede tener acceso
simultneamente (para leer o escribir) se denomina registro (register).
Cada registro tiene asignado un nico nmero de acceso, denominado direccin (address).
Para que el CPU pueda tener acceso a la informacin almacenada en la memoria, sta debe
contar con lneas por las cuales se pueda leer la informacin almacenada en un registro, o
escribir en ella. A este conjunto de lneas se les denomina lneas de datos (data lines).
Adems, debe contar con lneas de seleccin, para elegir el registro que se desea leer o
escribir. Estas lneas se denominan lneas de direcciones (address lines).
Adems tambin debe contar con lneas que permitan controlar cuando se desea escribir o leer
la memoria. Estas lneas se denominan lneas de control (control lines).
En la figura 4 se muestra el bosquejo de una memoria de 4 registros, de 4 bits cada uno. Cada
cuadro representa una celda, en este caso un flip-flop. Tiene cuatro multiplexores de 4x1 y
cada celda va a una nica entrada de un nico multiplexor, y adems las lneas de seleccin de
los cuatro multiplexores son comunes.
MEMORIA DE 4 REGISTROS DE 4 BITS
MUX
0
1
D0
2
3
0
1
D1
2
3 0
D2
2
3
0
1
D3
2
3
Registro 0
Registro 1
Registro 2
Registro 3
2 lneas de seleccin
(lneas de direcciones)
CAPITULO1Parte1rev20.doc
27/02/2014
Si por ejemplo, se tuviese en las entradas de las lneas de seleccin 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 estn sombreadas las celdas cuya informacin aparece en las salidas.
Para este ejemplo, las lneas de direccin son las lneas de seleccin de los multiplexores (2
lneas), las lneas 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.
lneas de
datos
0
1
D0
2
3
bit 0
0
1
D1
2
3 0
0
1
D2
2
3
0
1
D3
2
3
bit 3
Registro 0
Registro 1
Registro 2
Registro 3
11
lneas de seleccin
(lneas de direcciones)
se est seleccionando
entrada 3
CAPITULO1Parte1rev20.doc
27/02/2014
A continuacin se definen una serie de trminos utilizados en relacin con las memorias y en
general con las computadoras.
Palabra (word): Es un conjunto de bits de informacin accedidos simultneamente.
Byte: Conjunto de 8 bits de informacin.
Longitud de palabra (word length): Es el nmero de bits de informacin que almacena un
registro de la memoria. En el caso de memorias de acceso paralelo, stas tendrn un nmero
de lneas de datos igual a la longitud de palabra.
Capacidad de la memoria: Es la cantidad de bits de informacin que es capaz de almacenar
una memoria. O lo que es lo mismo, el nmero total de celdas de memoria con las que cuenta.
Se especifica indicando el nmero de registros con los que cuenta, seguido de la longitud de
palabra (nmero 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)
Seal: Es una cantidad elctrica que lleva informacin.
Seal binaria: Aquellas que pueden representar slo dos valores lgicos.
Buses: Grupo de seales binarias que colectivamente transportan un valor numrico, o que
tienen algo en comn.
Modelo de Memoria
Es una representacin grfica 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 pequeo rectngulo, cuyo nmero interior representa el valor almacenado
en el registro (su contenido), y el nmero al lado izquierdo fuera del rectngulo la direccin de
dicho registro, o direccin de memoria, como se muestra en el ejemplo de la figura.
Las lneas punteadas indican que hay un grupo de registros con direcciones consecutivas que
no se muestran.
CAPITULO1Parte1rev20.doc
27/02/2014
MODELO DE MEMORIA
Direcciones
$0000
$0020
$14
$0021
$15
$1000
$8C
$1001
$20
Valores contenidos
en las direcciones de
memoria
$17
$2016
$01
$2017
$02
$2018
$03
$FFFF
Fig. 6 Modelo de memoria
Por ejemplo, el registro con direccin $0020 tiene almacenado el valor $14, y el registro con
direccin $2017 tiene almacenado el valor $02.
El signo $ indica que el nmero est expresado en base 16, por lo que $14 equivale a 20 en
base 10.
Este tipo de representacin es muy til para poder visualizar el contenido de las reas de
inters de la memoria que son accedidas por un programa o instruccin que se quiera analizar.
Tipos de memorias
Existen muchos tipos de memorias, las cuales se pueden clasificar dependiendo de la
tecnologa en base a la cual estn hechas, la manera como se logra el acceso a sus registros, o
la duracin de la informacin almacenada en ellas.
27/02/2014
conectada a una fuente de alimentacin). En este grupo estn las memorias ROM,
EPROM, EEPROM, Flash EPROM, siendo las ms empleadas actualmente las memorias
Flash EPROM y EEPROM.
Memorias voltiles (volatile memories): Tambin conocidas como memorias RAM
(memorias de acceso aleatorio, del ingls: Random Access Memory). Son memorias en las
que la informacin se pierde cuando se les desconecta la fuente de alimentacin. Estas a su
vez se clasifican en:
memorias estticas (static memories): La informacin almacenada se mantiene
mientras est conectada la fuente de alimentacin. En este grupo estn las memorias
RAM estticas.
memorias dinmicas (dynamic memories): En estas memorias, no basta con
mantener conectada la fuente de alimentacin al chip, sino que se requiere un
proceso denominado de "refresco de memoria" (refresh memory), pues de no
hacerse, se pierde la informacin. Este ciclo de refresco debe realizarse cada 2 a 4
ms como mximo, en cada celda de memoria. Para el refresco se requiere el diseo
de un circuito especial, ya que las memorias no lo hacen automticamente.
Dependiendo de la forma de acceso a la informacin se pueden clasificar en:
Memorias seriales: El acceso a los registros se hace por medio de una lnea de datos
nicamente, de modo que si un registro tiene por ejemplo 8 bits, tienen que hacerse 8
lecturas por esa lnea.
Memorias de acceso paralelo: En el lenguaje comn, a las memorias de acceso paralelo se
les llama simplemente memorias. En estas memorias se accede simultneamente a todos
los bits de un registro. Para ello la memoria cuenta con lneas de datos (tantos como bits
tengan sus registros) y lneas de direcciones.
Dependiendo de si se pueden leer y escribir:
Memorias de slo lectura: Son memorias que una vez instalados en un circuito, slo
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 ms
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 estticas como dinmicas.
CAPITULO1Parte1rev20.doc
27/02/2014
fabricante, entregan el programa que deber ser grabado en la memoria ROM, y el fabricante
del microcontrolador los graba durante el proceso de fabricacin
Aunque todava se producen los microcontroladores con memoria OTP EPROM (ao 2012),
los fabricantes ya han desarrollado versiones de estos microcontroladores con memoria Flash
y sugieren el empleo de las versiones de sus microcontroladores con memoria Flash. Por
ejemplo, para el PIC12C508A-04/P-ND ($1.80 c/u) existe el PIC12F508-I/P con memoria
Flash ($0.84 c/u) y a menos de la mitad de precio (Fuente: www.digikey.com Abril 2012).
10
27/02/2014
bloque. En la otra, se selecciona un registro que se desea borrar, y con un pulso elctrico se
borra slo dicho registro, mantenindose la informacin de los dems. 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 compaa
Atmel, que es una memoria EEPROM de acceso serial en un arreglo interno de 128Kx8. Otro
ejemplo, de acceso paralelo es el chip AT28C256 de 256Kb, fabricado por la compaa
Atmel, con un arreglo de 32Kx8.
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 Ca. 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. Ms de 1000% de diferencia. Y para terminar la comparacin, 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).
CAPITULO1Parte1rev20.doc
11
27/02/2014
menor energa cuando no estn en uso (lectura o escritura) razones por las cuales stas se
suelen emplear como memoria para almacenamiento de programas.
Como comparativa de precios, una memoria NOR Flash de 512Mb, la S29GL512P11TFI010
de la Ca. Spansion LLC, cuesta $14.24, y una NAND Flash de la misma capacidad, la
H27U518S2CTP-BC de la Ca. Hynix Semiconductor, cuesta
$4.99 (fuente:
www.mouser.com, Abril del 2012).
Ejemplos de uso de las NAND Flash son: en las unidades de disco semiconductoras utilizadas
en las computadoras personales porttiles (Notebooks) denominadas FLASH-Disks, en las
tarjetas de memoria de las cmaras digitales como las Sony "Memory Stick's ", en las tarjetas
de memoria externa usadas en los telfonos celulares como las micro-SD.
Ejemplo de uso de las NOR Flash es en la memoria interna no voltil de las agendas
electrnicas (PDA) y de algunos telfonos celulares.
Actualmente hay una tendencia, debido al costo reducido de las NAND Flash, de emplearlas
tambin para almacenamiento de programas, los cuales, antes de ejecutarse son copiados a
memoria RAM, desde donde son ejecutados.
Es en la actualidad el tipo de memoria no voltil ms vendido a nivel mundial.
Hasta hace pocos aos, la relacin de precios de menor a mayor, para la misma capacidad de
memoria era: ROM, OTP-EPROM, EPROM, Flash, EEPROM. 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 ms barata una memoria Flash que una memoria OTP-EPROM o
EPROM.
Un ejemplo de microcontrolador con memoria flash es el ATmega88A-PU de la familia
AVR8 de Atmel. Este circuito integrado puede programarse en el circuito y tiene un precio de
$2.24 por unidad y $1.248 c/u por ciento (www.digikey.com Abril 2012). Otro
microcontrolador, el TM4C123GH6PM de la familia Tiva de Texas Instruments cuesta $11.55
por unidad y $8.54 c/u por ciento en el mismo proveedor (Digi-Key, 2014).
CAPITULO1Parte1rev20.doc
12
27/02/2014
CAPITULO1Parte1rev20.doc
13
27/02/2014
CAPITULO1Parte1rev20.doc
14
27/02/2014
Bus de direcciones. Es el conjunto de lneas por medio de las cuales el CPU indica qu
nmero de registro desea acceder para su lectura o escritura.
Bus de control. Se denomina as al conjunto de todas las lneas de control con que cuenta el
CPU para poder controlar el acceso a los dispositivos de memoria, interfaces de
entrada/salida, y otros elementos especiales con los que puede contar un computador.
Tambin se les conoce simplemente como lneas de control.
Realmente los tres trminos anteriores deberan ser lneas de datos, lneas de direcciones y
lneas de control. En la prctica, es comn llamarlos buses, pues necesariamente estas lneas
se conectarn a los dems dispositivos que forman el computador, y por tanto esas lneas
conectadas formarn buses.
CPU de n bits
Una caracterstica importante de un CPU es el nmero de lneas de datos con las que cuenta,
pues ello significar acceder a mayor o menor informacin (nmero de bits) en el mismo
tiempo. Se dice que un CPU es de "n" bits cuando cuenta con "n" lneas de datos. Si el CPU es
de arquitectura Harvard, entonces se refiere a las lneas de datos utilizadas para transferir
informacin de la memoria de datos a los registros del CPU.
Por ejemplo, el ATmega88A 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
MC68HC908QT1A, de la Ca. Freescale Semiconductor, que tiene un CPU de 8 bits.
Rango de direccionamiento del CPU
Para poder acceder a "2N" registros de una memoria, se requieren N bits para identificar sin
ambigedad a cada registro. Por lo tanto se requieren N lneas de direcciones. Por ello, cuando
un CPU tiene N lneas de direcciones, se dice que su capacidad de direccionamiento es de 2N
registros.
Por ejemplo, el CPU del 68HC11 tiene 16 lneas de direcciones, por lo tanto tiene un rango de
direccionamiento de 216 registros 64K.
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.
CAPITULO1Parte1rev20.doc
15
27/02/2014