Logo Studenta

bmartindelbriosistemasmicroprocesadoresymicrocontroladores

¡Este material tiene más páginas!

Vista previa del material en texto

Sistemas Electrónicos Basados en 
Microprocesadores y 
Microcontroladores
(6800 y 68HC11) 
Bonifacio Martín del Brío 
Area de Tecnología Electrónica 
Depto. de Ingeniería Electrónica y 
Comunicaciones 
Universidad de Zaragoza 
Revisión de Abril de 1999 
Editorial Prensas Universitarias de Zaragoza (España)
ISBN 84-7733-516-8. Puede adquirirse en papel:
http://puz.unizar.es/colecciones/21/62-Textos+Docentes%3A+Tecnol%F3gicas.html
Prólogo 
Este texto constituye un curso de introducción al desarrollo de sistemas 
electrónicos basados en microprocesadores y microcontroladores, tal y como 
podría impartirse en una asignatura relacionada con la electrónica industrial 
dentro de una carrera universitaria de tipo técnico. 
La construcción de sistemas basados en microprocesador involucra tanto el 
desarrollo del hardware (sistema electrónico) como del software (programa), por 
lo que un curso donde se estudie este tipo de sistemas debe tratar con suficiente 
profundidad ambos aspectos. Por ello, y sin dejar de lado los importantes temas 
de arquitectura y programación, que son tratados en los primeros capítulos (y que 
suelen ser objeto de asignaturas específicas de mayor contenido informático, 
como «Arquitectura/Organización de Computadores»), se incidirá aquí de forma 
muy especial en el empleo del microprocesador como herramienta útil para 
desempeñar tareas de instrumentación y control, es decir, en las cuestiones 
relativas al diseño y realización de sistemas microprocesadores, y a su interacción 
con el exterior (interfacing). 
Este texto se ha tratado de orientar de manera que se estudien conceptos 
generales, que puedan aplicarse en la mayor parte de los sistemas 
microprocesadores existentes en el mercado. No obstante, se requiere seleccionar 
uno o más microprocesadores reales que ilustren la implementación y manejo 
práctico de dichos conceptos generales. En este sentido, no nos hemos decantado 
por microprocesadores típicos de 16 o 32 bits, como el 68000, muy pedagógico, o 
algún miembro de la omnipresente familia 80x86, sino por microprocesadores 
mucho más sencillos, de 8 bits, que son los que se siguen empleando en la 
mayoría de las aplicaciones industriales (en la era de los microprocesadores de 32 
y 64 bits, prácticamente la mitad de las unidades vendidas en el mundo siguen 
siendo de 8 bits). 
Por otro lado, dentro de la electrónica industrial el tipo de microprocesador 
más empleado es el microcontrolador, que integra en una única pastilla CPU, 
memoria, puertos y algunos periféricos, por lo que podríamos estar tentados a 
limitar nuestro estudio a él; sin embargo, pensamos que de esta manera un alumno 
sin conocimientos previos (generales) de microprocesadores podría adquirir una 
perspectiva un tanto sesgada. Creemos necesario en una asignatura de corte 
generalista que el alumno asimile primero los conceptos fundamentales de los 
sistemas microprocesadores, para luego presentar y estudiar en profundidad el 
microcontrolador como un tipo especial de microprocesador que integra en la 
VIII Microprocesadores y microcontroladores 
pastilla la mayor parte del sistema, y que está especialmente orientado a tareas de 
instrumentación y control específicos. 
Conjugando estas ideas hemos seleccionado un microprocesador y un 
microcontrolador de la familia 68XX de 8 bits de Motorola. Esta familia, además 
de ser la líder indiscutible del mercado mundial de los 8 bits, se ha distinguido 
siempre por su pedagogía, gracias a su arquitectura sencilla y «lineal». 
Así, emplearemos el clásico M6800 (antecesor del M68000) para ilustrar los 
conceptos generales relativos al desarrollo de sistemas electrónicos basados en 
microprocesadores. El 6800 (de la misma época que el 6502, Z80 o 8085), nos 
permitirá estudiar todos los conceptos fundamentales relativos a la programación, 
sistema de buses, conexión con periféricos, interrupciones, etc.; gracias a la 
sencillez de su arquitectura, un alumno sin conocimientos previos de 
microprocesadores podrá asimilarlo sin dificultad en el muy limitado espacio de 
tiempo asignado a las actuales asignaturas universitarias cuatrimestrales. 
Aunque el 6800 nos resultará de utilidad para aprender los conceptos 
generales sobre microprocesadores, en la práctica el actual profesional de la 
electrónica en la mayor parte de las ocasiones no construye sistemas basados en el 
6800 (ni en el 8085 o el Z80), sino, más bien, en microcontroladores. Por ello, 
introducidos los conceptos genéricos sobre sistemas microprocesadores, nos 
centraremos en los microcontroladores. En este caso, emplearemos como 
ilustración el M68HC11 de Motorola, un potente y bien conocido 
microcontrolador de 8 bits, utilizado en infinidad de universidades de todo el 
mundo para la enseñanza y desarrollo de proyectos. El núcleo interno del 
68HC11 es un 6800 mejorado, por lo que todo lo aprendido para el 6800 se aplica 
de forma directa al 68HC11 (en particular, el juego de instrucciones del HC11 es 
una ampliación del del 6800), con lo que al alumno no le cuesta un esfuerzo 
adicional su aprendizaje. Por lo tanto, el tándem 6800-68HC11 resulta 
pedagógico y perfectamente representativo de los sistemas microprocesadores y 
microcontroladores reales. 
Además, el 68HC11 no sólo es un potente microcontrolador (de entre los más 
empleados en el mundo); asimismo resulta una excelente herramienta educativa 
que permite enseñar una enorme variedad de conceptos, gracias a los numerosos 
periféricos que integra. Por otro lado, resulta extremadamente sencillo construir 
un sistema mínimo basado en un 68HC11, y la grabación de un programa de 
aplicación en su EEPROM interna desde un PC convencional resulta muy simple 
y no requiere hardware adicional. Como su precio es relativamente asequible, el 
alumno interesado puede experimentar con él con tan sólo un pequeño 
desembolso económico (veáse el Apéndice C dedicado al «Kit del 68HC11»). 
Prólogo IX 
En definitiva, este libro no es un manual de empleo del microprocesador 
6800 o del microcontrolador 68HC11, sino que hace uso de los citados 
dispositivos para ilustrar los conceptos generales sobre el desarrollo de este tipo 
de sistemas electrónicos. Por este motivo, no estudiaremos a fondo todos los 
bloques internos del 68HC11, lo que merecería un libro aparte (de hecho, el 
manual de referencia del 68HC11 de Motorola [Motorola 91] requiere para ello 
más de 500 páginas de apretada información). A dicho manual y a libros como 
[Driscoll 94, Huang 96, Lipovski 88, Miller 93, Spasov 96], que tratan el 68HC11 
de forma exclusiva y en profundidad, remitimos al lector interesado. 
Para concluir, y sin olvidar nuestro objetivo de disponer de un texto para una 
asignatura generalista sobre microprocesadores, consideramos que resulta también 
importante no perder de vista los grandes microprocesadores incorporados en los 
actuales computadores. Por ello, incluimos un capítulo final dedicado al 
panorama actual del campo de los microprocesadores, centrado en los de altas 
prestaciones. En él se introducen ideas como las relativas a las arquitecturas 
CISC y RISC, las unidades segmentadas (pipeline), los sistemas multiprocesador, 
e incluso dos temas «de moda», como las redes neuronales y los sistemas 
borrosos. También dedicaremos una sección a los procesadores digitales de señal 
(DSP), que, aunque inicialmente centrados más en los campos de 
telecomunicaciones y multimedia, empiezan también a aplicarse en tareas de 
electrónica industrial (como en el control de máquinas eléctricas). Este último 
tema no tiene como pretensión que el alumno asimile en su totalidad todos estos 
conceptos «avanzados»; su intención es meramente informativa, de modo que el 
interesado podrá profundizar en ellos siguiendo las referencias que se indican. 
Conocimientos previos 
Para poder seguir sin problemas este texto se requiere que el lector se 
desenvuelva con soltura en el campo de la electrónica digital, resultando además 
de utilidadconocimientos básicos de electrónica analógica. No es necesario 
disponer de experiencia previa en programación. 
Este libro representaría la continuación natural de un curso de electrónica 
digital básica (como sucede en nuestra Escuela). En este sentido, nuestra obra 
podría considerarse la segunda parte del libro de Tomás Pollán Santamaría 
titulado Electrónica Digital [Pollán 94], al que en numerosas ocasiones haremos 
referencia. En [Pollán 94] se introduce al alumno tanto en el diseño lógico como 
en aspectos más electrónicos, tratándose al final las arquitecturas orientadas a bus, 
memorias y conversión A/D y D/A; estos conocimientos se darán aquí por 
Capítulo 1 
Introducción y conceptos previos 
1.1. Introducción: el ubicuo microprocesador 
A mediados del presente siglo, tras el desarrollo de la bomba atómica y las 
centrales nucleares, imperaba la idea de que la humanidad se adentraba en la 
denominada «Era atómica»; algo más adelante, cuando el hombre pisó por 
primera vez la Luna, se hablaba de la «Era espacial». Sin embargo, y sin ningún 
género de duda, nuestra época está resultando ser la Era de la información, debido 
fundamentalmente a la expansión de la informática y las telecomunicaciones, 
sustentadas por el enorme desarrollo de las tecnologías electrónicas (a las que se 
van sumando las ópticas). Para ratificarlo, solamente tenemos que pensar en la 
radio, la televisión, el teletexto, el vídeo, los satélites de comunicaciones, 
teléfonos convencionales y móviles, el fax, y, sobre todo, el omnipresente 
computador, del que cada vez más depende nuestra sociedad (automatización de 
plantas industriales, control del tráfico por tierra, mar y aire, gestión de las 
empresas y bancos, Internet, diseño en ingeniería, cálculos científicos, etc.). 
La electrónica ha sido (y es) el causante y soporte de esta verdadera 
revolución de nuestra sociedad, pero dentro del campo de la electrónica el 
microprocesador es con frecuencia el gran protagonista. A este hecho no es ajeno 
el ciudadano medio, que habla sin problemas de su nuevo flamante Pentium II, o 
de su MacIntosh con procesador PowerPC. No obstante, la mayor parte de los 
microprocesadores no residen en los computadores, sino ocultos en cualquier 
dispositivo electrónico, que el usuario utiliza sin ser consciente de ello. 
El desarrollo de los microprocesadores (un relativamente reciente invento 
introducido comercialmente en 1971) ha revolucionado las áreas más importantes 
de la electrónica. La mayor parte de los instrumentos electrónicos incorporan en 
la actualidad por lo menos un microprocesador (µP), aunque es habitual que 
hagan uso de varios de ellos. La electrónica de consumo (audio y vídeo, 
electrodomésticos) y las telecomunicaciones hacen un insistente uso de 
microprocesadores; también éstos han permitido que los computadores personales 
sean económicamente viables. Su impacto está siendo tan importante como lo 
fueron hace unos años el de las válvulas de vacío, el transistor o el circuito 
integrado. 
2 Microprocesadores y microcontroladores 
Como vamos a ir viendo poco a poco, el µP es un producto que surge del 
«matrimonio» de las tecnologías microelectrónicas y de la arquitectura de 
computadores, y conforme progresa la tecnología de integración se van 
incorporando a él más y más rasgos, antes solamente incluidos en la estructura de 
los grandes ordenadores. 
Los primeros circuitos integrados (CI o chips) comerciales fueron 
introducidos hacia 1960. Con tan sólo unos cuantos transistores por CI, resultó 
fácil construir circuitos digitales de propósito general (puertas lógicas, biestables, 
registros...). En los años siguientes, el número de transistores que podían 
integrarse en un CI se incrementó rápidamente. Recordemos que los CI suelen 
clasificarse atendiendo al número de transistores por chip de la siguiente manera: 
• Integración a pequeña escala o SSI (small-scale integration): hasta 100
transistores por chip.
• Integración a media escala o MSI (medium-scale integration): de 100 a 1.000.
• Integración a gran escala o LSI (large-scale integration): de 1.000 a 10.000.
• Integración a muy alta escala o VLSI (very large-scale integration): 10.000 o
más.
Mientras que los circuitos integrados SSI (como los correspondientes a 
biestables) incluyen del orden de 10 o 12 puertas lógicas, la integración MSI hizo 
posible integrar bloques más complejos, como contadores, registros de 
desplazamiento, multiplexores, etc. Con la integración LSI se comenzaron a 
realizar circuitos a medida (custom), específicos para ciertas aplicaciones, como 
controladores de pantallas de vídeo. Sin embargo, el coste de su desarrollo era 
muy alto, de modo que su uso se limitaba a aplicaciones de alto volumen de 
ventas. A finales de los sesenta no estaba claro qué CI estándar LSI compuesto 
por cientos o miles de puertas podría ser de utilidad tan general que poseyera un 
mercado amplio (aparte de los chip de memoria). 
Por la época (1969) la compañía japonesa Busicom (fabricante de 
calculadoras) encargó a Intel (una nueva compañía del valle del Silicio 
especializada en la fabricación de memorias) la realización del circuito de control 
de un nuevo modelo de calculadora de sobremesa. El primer diseño resultó tan 
complejo que Ted Hoff, ingeniero de Intel, pensó que las minicomputadoras de la 
época poseían una complejidad similar, pero haciendo uso de una arquitectura 
mucho más simple. A raíz de ello, Hoff rediseñó completamente el sistema 
basándose en la estructura de los computadores: existiría un chip que integraría 
una CPU (Central Processing Unit) sencilla, que ejecutaría un programa de 
control que se guardaría en una pastilla de memoria ROM, emplearía una RAM 
Introducción y conceptos previos 3 
para almacenamiento de datos y un registro como puerto de entrada/salida. Por lo 
tanto, el nuevo diseño era un conjunto de cuatro chips, que implementaban al 
completo la estructura de un computador, de modo que cambiando el programa 
podría dedicarse a realizar tareas muy diferentes. La realización práctica del 
sistema de cuatro circuitos integrados fue en gran parte obra de Federico Faggin, 
en aquella época recién incorporado a Intel. 
Desde que se contrató a Intel hasta que el diseño resultó operativo pasaron 
muchos meses, durante los cuales los precios habían caído y el valor del contrato 
inicial resultaba desorbitado para los parámetros de principios de los setenta, por 
lo que Busicom pidió a Intel una rebaja en el precio. Intel aceptó a cambio de 
quedarse con los derechos del conjunto de circuitos integrados construidos, la 
familia 4000, para poderlos comercializar por su cuenta, a lo cual Busicom 
accedió sin demasiados problemas. Finalmente, Intel introdujo el chip 
programable desarrollado, el 4004, en sus catálogos en noviembre de 1971 y 
comenzó a desarrollar una gran labor de marketing para dar a conocer el nuevo 
«invento», bautizado como microprocesador, que ellos pensaban les ayudaría a 
vender memorias, su principal área de negocio entonces. 
En este punto, es importante hacer notar que aunque realmente implementaba 
la unidad de procesamiento central o CPU de un computador, Intel no pensó en el 
4004 como un bloque para construir computadores (resultaba aún demasiado 
lento), sino más bien para reemplazar lógica cableada convencional (aquella 
cuyas conexiones determinan la función). En lógica programada, basada en 
sistemas microprocesadores, se hace uso de bloques estándar e interconexiones 
(hardware), pero el programa (software) es el que determina la función. 
El 4004 y el resto de los primeros microprocesadores, construidos con 
tecnologías LSI (PMOS), eran tan primitivos y lentos que, aunque resultaban 
útiles para tareas de control, no podían competir con la potencia de los 
computadores de la época. No obstante, el avance de las nuevas tecnologías de 
integración VLSI (NMOS y, algo más adelante, CMOS) y las nuevas 
arquitecturas lograron prontoconstruir potentes dispositivos de cálculo basados 
en microprocesadores, los microordenadores y estaciones de trabajo, que poco a 
poco han ido sustituyendo a muchas de las computadoras tradicionales. 
4 Microprocesadores y microcontroladores 
1.1.1. El desarrollo de los microprocesadores 
Antes de proseguir, propondremos la siguiente definición: 
Definición de microprocesador: componente electrónico que realiza en una 
única pastilla el procesador (CPU) de una máquina programable de tratamiento 
de la información. 
Es decir, el µP es un componente electrónico complejo que incorpora las 
funciones típicas de todo un computador. La clave del éxito de los 
microprocesadores como componente electrónico reside en que modificando el 
programa almacenado en memoria pueden adaptarse a numerosas y diferentes 
aplicaciones, de manera que en la actualidad, debido a su creciente potencia de 
cálculo y variedad de funciones integradas, se han convertido en el estándar para 
la implementación de tareas, tanto de cálculo como de control. De este modo, los 
microprocesadores no sólo se utilizan para construir potentes computadoras, 
quizás su aplicación más espectacular y conocida, sino también para la realización 
de tareas de control en sistemas de aplicación específica (por ejemplo, el control 
de un horno microondas, un teléfono móvil o unos frenos ABS), sustituyendo 
circuitería convencional. 
El espectacular desarrollo de las prestaciones de los µP durante los últimos 
veinticinco años se ha producido por dos circunstancias, que denominaremos 
«leyes» de los microprocesadores: 
a) Ley de Moore: «El número de transistores que pueden integrarse
económicamente dentro de un chip se duplica aproximadamente cada 18 meses». 
Gordon Moore, cofundador de Intel, realizó esta observación ya en los años 
sesenta cuando trabajaba para Fairchild, y 30 años después todavía se sigue 
cumpliendo (y parece que continuará por lo menos hasta comienzos del siglo 
XXI). En este sentido, es interesante hacer notar que el i4004 original (1971) 
incluía 2300 transistores, mientras que el 80486 (1990) contiene más de un millón 
y el Pentium (1993) más de tres millones; el reciente Pentium II (1997) incluye ya 
siete millones. Esta ley se debe a dos circunstancias: por una parte, al aumento 
de la densidad de integración, causado por la constante disminución en el tamaño 
del transistor (se suele dar como cifra la anchura de canal, que en la actualidad se 
sitúa muy por debajo de la media micra); por otra, el constante aumento del 
tamaño de la propia pastilla. 
Introducción y conceptos previos 5 
4004
8008
8080
8085 8086
80286
386
486
Pentium
100
1000
10000
100000
1000000
10000000
100000000
1970 1975 1980 1985 1990 1995
año
transistores
FIGURA 1.1. Ilustración de la ley de Moore mediante la familia 80x86 de Intel. El eje de ordenadas 
se representa en escala logarítmica, por lo que la recta que aparece como tendencia seguida indica 
en realidad un crecimiento exponencial del número de transistores por chip. 
b) Ley de los microprocesadores: «Cada buena idea que se ha mostrado
eficaz en los ordenadores centrales o miniordenadores se traslada al µP». 
Lo cual viene a decir que muchos de los logros arquitecturales introducidos 
para construir grandes computadores, años más tarde, y cuando la tecnología 
permite integrar más bloques y mayores velocidades de operación, se incorporan 
en el diseño de microprocesadores de nueva generación. 
1.1.2. Aplicaciones de los microprocesadores 
Los microprocesadores cuentan con múltiples aplicaciones, pertenecientes a 
dos ámbitos diferentes: por un lado, la construcción de computadoras; por otro, la 
realización de tareas de control e instrumentación, sustituyendo lógica 
convencional. 
En el primer caso (el más conocido para los profanos en la materia) se 
emplean microprocesadores actuales de nueva generación, optimizados para la 
realización de tratamiento de datos. Por ejemplo, los µP de las series Alpha de 
Digital, o PowerPC de Motorola e IBM, se emplean en la realización de 
poderosos computadores denominados estaciones de trabajo, que están orientadas 
al cálculo científico y diseño en ingeniería. Otros, como el Pentium de Intel, se 
orientan más bien al desarrollo de ordenadores personales, cuyas prestaciones, no 
obstante, son comparables a las de los grandes ordenadores de hace unos pocos 
6 Microprocesadores y microcontroladores 
años, pero a un precio asequible al ciudadano medio (aunque Intel fabrica ya 
microprocesadores muy potentes destinados también al nicho de mercado de los 
servidores y estaciones de trabajo, como el Pentium II Xeon o el futuro Merced). 
FIGURA 1.2. Algunos campos de aplicación de los microprocesadores. 
En el segundo caso suelen emplearse microcontroladores, microprocesadores 
especiales, generalmente de menores prestaciones de cálculo, pues están 
optimizados para tareas de control (entendido en un sentido amplio), con 
numerosos dispositivos integrados en una única pastilla, como memoria, puertos 
de entrada/salida o diversos periféricos. Éstos se emplean en el desarrollo de 
sistemas industriales (por ejemplo, robótica, autómatas programables o tarjetas de 
control industrial), aplicaciones de consumo (como lavadoras, hornos microondas, 
audio y vídeo, cámaras fotográficas o videojuegos), telecomunicaciones (como 
teléfonos móviles), automoción (frenos ABS, inyección electrónica, ordenador de 
a bordo, etc.). La sustitución de lógica convencional por microcontroladores 
permite reducir el tamaño de los diseños, disminuir el tiempo de desarrollo y 
también el coste final del producto. La consecuencia es que estos 
microprocesadores especiales se aplican a ámbitos considerados no rentables con 
Introducción y conceptos previos 7 
anterioridad, e impensables hasta hace poco tiempo. Por ejemplo, en un 
automóvil moderno pueden encontrarse del orden de quince microprocesadores 
realizando distintas tareas. Como dato curioso podemos decir que las impresoras 
láser actuales, al incluir potentes microprocesadores RISC de 32 bits, encierran 
una potencia de cálculo superior a la de los PC de hace unos pocos años. En 
resumen, el ciudadano medio puede emplear, sin él mismo saberlo, del orden de 
una docena de µP al día (lo que se suele denominar computación oculta). 
1.1.3. Ventajas del uso de microprocesadores 
Las ventajas del uso de microprocesadores en el diseño de sistemas digitales, 
sustituyendo lógica convencional, son las siguientes: 
a) Reducción del número de componentes, lo que conlleva la miniaturización del
sistema, reducción de consumo y aumento de fiabilidad.
b) Programabilidad, que permite la simplificación del diseño y reducción del
tiempo de desarrollo.
c) Disminución de costes, causado por los aspectos descritos en los puntos a) y
b), y por la fabricación de series de muchas unidades de un mismo µP, pues
podrá aplicarse a muchos diferentes problemas sin más que reprogramarlo.
FIGURA 1.3. Algunas aplicaciones de los microprocesadores en el automóvil. 
8 Microprocesadores y microcontroladores 
1.2. Sistemas electrónicos industriales 
Introducida la figura del microprocesador, centraremos a continuación las 
principales ideas que guiarán el presente texto. Observemos la fig. 1.4: en ella se 
muestra el esquema genérico de un sistema electrónico industrial, cuyo objetivo 
es la monitorización y control por procedimientos electrónicos de un determinado 
sistema exterior, como pueda ser una máquina, proceso o incluso toda una planta 
industrial. 
Supongamos a modo de ejemplo que se trata de supervisar y controlar una 
máquina industrial. El sistema electrónico que se requiere puede ser dividido en 
tres módulos. El primero es el subsistema de adquisición de datos, esencialmente 
de tipo analógico, compuesto por: un conjunto de sensores, que detectan el estado 
de la máquina; circuitería de acondicionamiento de señal, que amplifica y adapta 
la señal para su posteriortratamiento; por último, etapa de conversión A/D, 
encargada de transformar las señales analógicas en valores digitales. El segundo 
módulo es el sistema digital de procesamiento, que se ocupa de tomar los valores 
digitalizados de las señales (así como las señales puramente digitales que pueden 
existir), procesarlas, presentarlas al exterior o registrarlas y, posteriormente, 
enviar las órdenes de las acciones a realizar sobre la máquina controlada. 
Finalmente, el tercero bloque es el subsistema de actuación, encargado de 
convertir las señales digitales de control en valores analógicos y actuar sobre la 
máquina. 
En este esquema pueden contemplarse distintas disciplinas electrónicas del 
campo de la electrónica industrial: electrónica analógica e instrumentación 
electrónica, especialmente en las etapas más directamente conectadas con el 
exterior; electrónica de potencia, esencialmente en la etapa de actuación sobre el 
exterior, y en las fuentes de alimentación; electrónica digital, especialmente en el 
sistema microprocesador. Además, también pueden considerarse las siguientes 
disciplinas relacionadas con la electrónica industrial: regulación de máquinas 
eléctricas, regulación automática (control), informática y computadores. 
El esquema propuesto para lo que hemos denominado sistema electrónico 
industrial en realidad representa un sistema electrónico genérico, que puede ser 
aplicado a numerosas situaciones diferentes, como un pequeño termostato 
electrónico, un sistema de frenado ABS, una máquina expendedora de refrescos, 
una lavadora, el automatismo de control de una granja o incluso el control de toda 
una planta industrial. En estos casos, el control digital se realiza con 
microprocesador, aunque, en ocasiones, éste puede estar incluido dentro de un 
autómata programable (PLC) o de un ordenador. Por ejemplo, en el caso de la 
planta industrial, una serie de autómatas programables (PLC) recogen señales y 
Introducción y conceptos previos 9 
controlan maquinaria, siendo todos ellos monitorizados por un ordenador PC a 
través de líneas de transmisión de datos en serie. 
Otro ejemplo es el de la fig. 1.5, en el que se muestra de forma detallada el 
esquema de una tarjeta de adquisición de datos típica, que puede emplearse en la 
industria, en un laboratorio de medida y test, o en un laboratorio científico. Este 
esquema es en realidad una versión detallada del subsistema de adquisición de 
datos de la fig. 1.4, en el que se especifican algunos de los módulos incluidos en 
el bloque de acondicionamiento: amplificador, filtro pasa baja y etapa de 
muestreo y mantenimiento (sample and hold, S&H). 
Acondicionador
Procesamiento
Digital (mP)
Acondicionador
Procesamiento
Digital (mP)C. A/D
Acondicionador
Procesamiento
Digital
(µC, DSP)
Proceso
Transmisión de
datos
Acondicionador
Procesamiento
Digital (mP)C. D/A
Acondicionador/
Potencia
Procesamiento
Digital
(µC, DSP)
Actuador/
Carga
Acondicionador
Transmisión de
datos
Procesamiento
Digital
(µP, µC, DSP,
computador)
Sensor
Información
Actuación
Fuente de energía
Subsistema de Actuación
Subsistema de Adquisición de Datos
FIGURA 1.4. Diagrama de bloques de un sistema electrónico industrial o genérico. 
10 Microprocesadores y microcontroladores 
FIGURA 1.5. Diagrama de bloques de un sistema de adquisición de datos. La lógica de control a 
menudo se implementa mediante algún tipo de microprocesador. 
1.3. Sistemas programables: la arquitectura von Neumann 
De lo expuesto podemos deducir que el microprocesador, además de ser el 
componente central de los computadores actuales, también constituye el elemento 
básico empleado en la realización de sistemas electrónicos industriales, aparatos 
de consumo, telecomunicaciones, etc., desempeñando tareas que podemos 
denominar de instrumentación y control. Va a ser precisamente el punto de vista 
del microprocesador como elemento que sustituye lógica convencional el que a 
nosotros más nos va a interesar en adelante. 
1.3.1. Sistemas electrónicos complejos. Diseño descendente 
De los subsistemas incluidos en un sistema electrónico industrial (fig. 1.4), 
nos centraremos en el bloque de procesamiento. Se trata de un sistema digital de 
alta complejidad, cuyo papel principal es llevar a cabo el tratamiento del conjunto 
de datos procedentes del exterior (sistema bajo control). Es decir, podemos 
considerar este gran bloque digital como un procesador, que deberá incluir cierta 
cantidad de memoria (conjunto de registros) para el almacenamiento de datos. 
Introducción y conceptos previos 11 
Supongamos que debemos realizar el sistema digital que constituye dicho 
procesador, el cual se tratará de un sistema electrónico de elevada complejidad. 
Para abordar un diseño de este tipo, se hace necesario emplear una metodología 
que ayude a manejar dicha complejidad (debe tenerse en cuenta que las 
tecnologías microelectrónicas permiten en la actualidad construir sistemas 
compuestos por millones de transistores). La metodología que permite manejar 
dicha complejidad se denomina diseño descendente (top-down), consistente en 
dividir el diseño de alto nivel en partes más pequeñas («divide y vencerás»), para 
posteriormente abordar por separado el diseño interno de cada una de ellas. 
En el caso que nos ocupa, el procesador queda dividido en una parte 
operativa y una parte de control (fig. 1.6). La parte operativa, o unidad de 
procesamiento, contiene el conjunto de recursos operativos que el procesador 
requiere. Así, suele incluir un conjunto de registros para almacenamiento de 
datos y resultados, biestables que indican ciertas condiciones que pueden darse, 
contadores, y multiplexores que permiten seleccionar entre diferentes rutas de 
datos o registros. La unidad de procesamiento con frecuencia incluirá además una 
unidad lógico-aritmética (ALU) de propósito más o menos general, dependiendo 
de la aplicación. 
FIGURA 1.6. Esquema de los grandes bloques que componen un procesador digital genérico. 
12 Microprocesadores y microcontroladores 
 
 
FIGURA 1.7. Componentes esenciales de la unidad de procesamiento. 
Por otro lado, la parte de control (o unidad de control) establecerá la 
secuencia de pasos que el procesador debe llevar a cabo en cada momento, 
controlando, entre otros, los elementos de la parte operativa. La unidad de control 
puede sintetizarse a partir de la máquina de estados del sistema, haciendo uso para 
ello de los métodos generales de los sistemas secuenciales (ver, p.e., [Pollán 94]); 
no obstante, debe tenerse en cuenta que este procedimiento puede en ocasiones 
resultar difícil de llevar a la práctica a causa de la complejidad del sistema a 
diseñar. Debido a que esta máquina de estados representa la transcripción directa 
del algoritmo de control de la máquina, que suele consistir en una serie de estados 
sucesivos y saltos condicionales, recibe el nombre de máquina algorítmica. 
Una ampliación de los conceptos aquí expuestos, junto al proceso de diseño 
de un sistema digital complejo, puede encontrarse en el capítulo XIV del libro 
Electrónica Digital, de Tomás Pollán [Pollán 94] (allí se presenta como 
ilustración el ejemplo de un multiplicador de números binarios de 64 bits). 
1.3.2. Máquinas gobernadas por programa (programables). 
Arquitectura von Neumann 
Por lo tanto, denominaremos máquinas algorítmicas o de tratamiento de 
información a aquellas máquinas que implementan un algoritmo. En ellas, 
además de la parte operativa o unidad de procesamiento (UP), y de la de control o 
unidad de control (UC), se considera un tercer subsistema adicional, el de 
entradas y salidas (E/S), encargado de recibir y enviar datos desde y hacia el 
exterior. 
Introducción y conceptos previos 13 
FIGURA 1.8. Estructura básica de una máquina de tratamiento de la información (tanto específica 
como programable). 
En este punto es importante distinguir entre máquinas específicas y máquinas 
de propósito general. Lasmáquinas específicas se diseñan expresamente para 
resolver un problema determinado y concreto (por ejemplo, un sistema que 
multiplique dos números binarios de 64 bits). Por otra parte, las máquinas de 
propósito general se diseñan para que puedan resolver muchos tipos diferentes de 
problemas, sin más que adaptarlas a cada caso particular. Tanto unas como otras 
responden al mismo esquema genérico descrito: UP + UC + E/S. 
La que se considera primera computadora electrónica de la historia, Colossus, 
desarrollada por el gobierno británico para descifrar las órdenes enviadas por 
radio a los submarinos alemanes durante la segunda guerra mundial, es un 
ejemplo de máquina específica. Por otra parte, el famoso ENIAC, empleado por 
los americanos en el desarrollo de la bomba atómica y en el cálculo de 
trayectorias balísticas, es un ejemplo de máquina de propósito general (véase el 
apéndice al final del capítulo). Efectivamente, algunas de las primeras 
computadoras electrónicas de propósito general de los años cuarenta, como 
ENIAC, podían realizar diferentes tareas organizando miles de interruptores de 
posición múltiple y conectando una enorme cantidad de enchufes con una maraña 
de cables (como en las antiguas centralitas telefónicas). Estas máquinas eran 
«programables», en el sentido de que podían cambiar su funcionalidad, pero ello 
requería cambios en el propio hardware de la máquina (conexiones físicas reales) 
que resultaban complejos, tediosos y lentos. 
Con posterioridad se propuso un procedimiento que permitiese cambiar la 
funcionalidad de la máquina y que resultase más eficiente (sencilla y rápida) que 
tener que modificar una maraña de conexiones: establecer la operación de la 
máquina (los pasos y operaciones que debía llevar a cabo) mediante unos 
14 Microprocesadores y microcontroladores 
 
contenidos almacenados en una determinada zona de su memoria, los cuales 
representan la secuencia de instrucciones que deberá ejecutar, lo que constituye el 
programa. Este tipo de máquina de propósito general que ejecuta un programa 
almacenado en memoria se denomina máquina controlada por programa o 
programable. De esta manera puede disponerse de una máquina de propósito 
general, cuya función puede ser cambiada sin más que modificar los contenidos 
de una zona de memoria (programación), lo cual resulta mucho más sencillo que 
modificar su propia estructura de conexiones. 
Así, en una máquina gobernada por programa la UP (compuesta por una 
unidad lógico-aritmética, o ALU, y por registros de almacenamiento de datos) es 
de propósito general, mientras que la UC es un órgano encargado de leer el 
programa que se guarda en memoria, interpretarlo y ejecutarlo. Las instrucciones 
que componen el programa se codifican en binario, de manera que cada 
instrucción (por ejemplo, «Sumar A y B») viene definida por un conjunto de bits 
denominado código de operación o, abreviadamente, opcode (operation code). El 
programa, es decir, la secuencia de códigos de operación binarios, se almacena en 
la memoria. 
Si, dado el esquema de máquina programable anterior, compuesta por UP, 
UC y E/S, consideramos el conjunto de la memoria como un elemento adicional 
diferenciado, la memoria central o principal (dentro de la cual almacenamos el 
programa y los datos), obtendremos la denominada arquitectura von Neumann. 
Por otra parte, el conjunto de UP y UC constituye el procesador o CPU (Central 
Processing Unit, unidad de procesamiento central). 
El nombre de arquitectura von Neumann procede del matemático de origen 
húngaro John von Neumann, que ya había participado activamente en el 
desarrollo de diversas computadoras electrónicas. A von Neumann se le ocurrió 
la idea de representar el programa en forma digital en la memoria de la 
computadora (como ya se hacía con los datos), y además propuso sustituir la 
aritmética decimal empleada en el ENIAC (con cada dígito representado por diez 
válvulas, una encendida y nueve apagadas) por la aritmética binaria paralela, más 
eficaz. Estas ideas sentaron las bases de las máquinas de cómputo modernas: 
desde las máquinas EDSAC e IAS (finales de los años cuarenta y principios de los 
cincuenta, véase el apéndice), la mayoría de los computadores siguen este 
esquema (o alguna variante). 
Introducción y conceptos previos 15 
FIGURA 1.9. Máquina de von Neumann 
En resumen, se considera la arquitectura von Neumann compuesta por los 
siguientes cinco elementos básicos: 
a) Dispositivos de entrada, como el teclado. Sirven para introducir en memoria
instrucciones y datos.
b) Memoria. Almacena tanto el programa como los datos.
c) Unidad de control. Decodifica las instrucciones y genera las señales necesarias
para que la unidad de procesamiento y el resto de los elementos del sistema
cumplan las tareas encomendadas.
d) Unidad de procesamiento. Realiza las operaciones lógicas y aritméticas.
Incluye una ALU y registros.
e) Dispositivos de salida, como la pantalla o la impresora. Presentan los
resultados.
En el proceso de ejecución de instrucciones la máquina debe realizar dos 
fases fundamentales: la de búsqueda y decodificación, en la que la unidad de 
control toma una instrucción de memoria y la decodifica, y la de ejecución, en la 
que la unidad de control ejecuta la instrucción, enviando las señales pertinentes a 
la UP y al sistema de E/S. 
En resumen, la importancia conceptual de la arquitectura von Neumann 
reside en que puede disponerse de una máquina de procesamiento completamente 
general, la cual, sin más que cambiar el programa que almacena en su memoria, 
16 Microprocesadores y microcontroladores 
puede desempeñar distintas funciones (desde realizar declaraciones de la renta a 
editar textos, controlar una lavadora o implementar un juego de marcianos). 
1.4. Microprocesadores y microcontroladores 
Una vez estudiado el concepto de máquina programable y de arquitectura von 
Neumann, recordemos la definición de microprocesador propuesta con 
anterioridad: 
Microprocesador: componente electrónico que realiza en una única pastilla el 
procesador (CPU) de una máquina programable de tratamiento de la 
información. 
Por lo tanto, el microprocesador no es otra cosa que la integración electrónica 
(normalmente VLSI) en una única pastilla de toda la CPU de una máquina 
programable. Es decir, el µP incluye en un solo chip dos de las partes 
constituyentes de la arquitectura von Neumann, la UC y la UP (ver fig. 1.10a). 
Más aún, gracias al aumento en la capacidad de integración se han podido 
introducir más elementos de la estructura von Neumann dentro de un único 
circuito. Así, algunos microprocesadores convencionales incluyen también en el 
mismo chip cierta cantidad de memoria (por ejemplo, la memoria caché), 
controladores de DMA (que forma parte del subsistema de E/S) y otros elementos 
Por otra parte, un tipo de microprocesador denominado microcontrolador 
(µC) o microcomputador en una única pastilla (single-chip computer), incorpora 
la totalidad de la estructura von Neumann en su interior (fig. 1.10b), pues, además 
de la CPU (UC más UP), integra en el mismo chip cierta cantidad de memoria 
(ROM, RAM, EPROM...) y diversos elementos del subsistema de E/S, como 
puertos y dispositivos periféricos (contadores, temporizadores, conversores A/D, 
etc.). De este modo, los microcontroladores permiten incorporar la práctica 
totalidad de un sistema computador en un espacio muy reducido, por lo que se 
emplean en la construcción de sistemas específicos, en los que el espacio 
ocupado, consumo y precio deben ser mínimos. Por su importancia en los 
campos relacionados con la electrónica industrial y de consumo, el 
microcontrolador será uno de los objetos de estudio centrales en este curso (por 
ejemplo, para construir el control de una lavadora automática se recurre a un 
microcontrolador, en vez de a un microprocesador convencional). 
Introducción y conceptos previos 17 
 
 
FIGURA 1.10. Microprocesador y microcontrolador.1.4.1. Clasificación de los microprocesadores 
Según su propósito, podemos distinguir: 
1) µP de propósito general. Válidos para múltiples tareas diferentes de 
tratamiento de la información. Son los que se emplean fundamentalmente para 
construir computadores o máquinas de propósito general (editar, realizar 
cálculos, diseñar, etc.). 
2) µP de propósito específico. Son los que se programan para llevar a cabo una 
tarea o aplicación específica, es decir, se programan una sola vez y después 
siempre ejecutan el mismo programa, que se guarda en ROM. Un caso ya 
conocido es el microcontrolador, cuyo diseño está orientado al control de 
dispositivos, como su nombre indica (por ejemplo, los frenos ABS de un 
automóvil están controlados por un µC, que siempre ejecuta el mismo 
programa). Otro ejemplo es el de los procesadores digitales de señal (DSP), 
diseñados para multimedia y telecomunicaciones. 
En resumen, los µP de propósito general se utilizan esencialmente para 
construir computadores, y los de propósito específico para llevar a cabo siempre 
una misma tarea repetitiva, que de otro modo tendría que realizarse mediante un 
sistema electrónico cableado, en general mucho más complejo y caro. 
Por otra parte, podemos clasificar los µP atendiendo a una característica que 
describiremos como número de bits, con la que denotaremos el tamaño (en bits) 
de los datos que un microprocesador es capaz de procesar en paralelo (a la vez), 
número que suele coincidir con la anchura del bus de datos y con el tamaño de los 
18 Microprocesadores y microcontroladores 
datos con los que opera su ALU. Así, se habla de µP de 4, 8, 16, 32 o 64 bits. 
Generalmente, un mayor número de bits indica un µP más potente, pues es capaz 
de procesar más cantidad de información a la vez, pero también resultará más 
complejo y caro. Por ello, para cada aplicación particular debe elegirse el mP que 
mejor se adapte a ella, es decir, con mejor relación prestaciones/precio. 
Los µP también pueden clasificarse por el número de instrucciones que 
incorporan en su repertorio. Así, se distingue entre microprocesadores CISC y 
RISC: 
a) CISC (Complex Instruction Set Computer). Computadores de extenso (amplio)
conjunto de instrucciones, es decir, aquellos µP que incluyen muchas
instrucciones diferentes (del orden de cien). El ejemplo clásico es la familia
Intel 80x86.
b) RISC (Reduced Instruction Set Computer). Son las máquinas de conjunto de
instrucciones reducido, es decir, incluyen relativamente pocas instrucciones en
su repertorio (del orden de treinta). Ejemplos de ello son las familias Alpha,
SPARC y PowerPC.
La distinción únicamente en cuanto al número de instrucciones que un µP 
incorpora no permite apreciar a primera vista la gran trascendencia que conlleva, 
que ha sido causa de una dura batalla en el estilo de diseño de µP en los últimos 
años. Aunque uno pueda pensar que un microprocesador será más potente si 
incorpora muchas más instrucciones, la tendencia actual parece mostrar lo 
contrario. Profundizaremos en esta cuestión mucho más adelante en el curso. 
1.4.2. Importancia e interés de los microprocesadores 
¿Por qué, pese a la complejidad de diseño e implementación de un µP (que 
puede integrar millones de transistores), su coste resulta relativamente reducido? 
Debido al carácter general del µP, en muchos casos no es necesario diseñar 
hardware especial para cada aplicación, sino que puede utilizarse un µP estándar, 
que será programado para la aplicación específica. Por esta razón muchísimos 
sistemas diferentes pueden utilizar un mismo tipo de circuito, lo que permite su 
fabricación en grandes cantidades, de lo que se deriva un coste por unidad muy 
reducido (existen µP cuyo coste es inferior a las cien pesetas si se compran miles 
de ejemplares). De este modo, la utilización de un µP puede suponer una alta 
reducción en el coste del sistema, además de una importante disminución de 
tiempo de diseño. 
Introducción y conceptos previos 19 
Por otro lado, la funcionalidad del circuito cambia al modificar el programa, 
por lo que pueden introducirse cambios en la actuación del sistema con relativa 
facilidad, reprogramando el microprocesador, lo cual implica que el µP permite 
introducir cierta flexibilidad en los sistemas. 
En el curso estudiaremos el µP desde dos puntos de vista: 
a) Como componente electrónico. Se trata de un componente algo peculiar, pues
posee un aspecto hardware y otro software o de programación.
b) Como ladrillo básico en la construcción de sistemas de procesamiento de datos
(computadores), o de control (sistemas específicos), que sustituye a sistemas
cableados.
1.5. Apéndice. Breve historia de las máquinas de cálculo 
En este apéndice vamos a exponer brevemente los hitos fundamentales en el 
desarrollo de máquinas de cálculo (o, en general, de procesamiento), que llevaron 
finalmente a la introducción del microprocesador a comienzos de los años setenta. 
Para realizar este apéndice hemos seguido en buena parte el conocido texto de 
[Tanenbaum 92], aunque el de [Stallings 87] es también muy recomendable. Por 
otro lado, el libro de [Malone 96] resulta una interesante y amena historia de los 
microprocesadores. 
Como es habitual, dividiremos la historia del desarrollo de máquinas de 
cálculo en generaciones, cada una de las cuales se caracteriza por la tecnología 
empleada (elementos mecánicos, electromecánicos, válvulas, transistores o 
circuitos integrados). 
1.5.1. Generación 0. Computadoras mecánicas y electromecánicas 
(1642-1945) 
El ser humano ha sentido la necesidad de realizar cálculos desde los mismos 
albores de la civilización. Uno de los primeros instrumentos de los que se valió 
fue el ábaco (un marco rectangular de madera con cuentas insertadas en ejes 
colocados transversalmente), probablemente inventado en Babilonia hace unos 
cinco mil años. Durante muchos siglos el ábaco ha sido el calculador más 
empleado, siendo desbancado tan sólo en las últimas décadas con la introducción 
masiva en el mercado de las calculadoras electrónicas de bolsillo. Aunque este 
tipo de instrumento de cálculo puede considerarse parte de la prehistoria de la 
computación, todavía se emplea en algunos lugares del mundo, como Rusia y 
China (en un documental recientemente emitido en la televisión se observaba 
20 Microprocesadores y microcontroladores 
cómo en una estación del ferrocarril en China el expendedor de billetes empleaba 
un ábaco para calcular los importes y cambios). 
Precursores más directos de las actuales computadoras son las calculadoras 
mecánicas realizadas mediante ejes y engranajes realizadas a partir del siglo XVII 
La primera de ellas fue la calculadora del filósofo y matemático francés Blaise 
Pascal, que era capaz de realizar sumas y restas. Pascal (en cuyo honor se bautizó 
el conocido lenguaje de programación) la construyó en 1642, cuando contaba con 
tan sólo 19 años, para ayudar a su padre, recaudador de impuestos. Se trataba de 
un aparato construido con engranajes y accionado con una manivela. Unos treinta 
años más tarde, el alemán Gottfried Leibnitz (1671) construyó otra calculadora, 
esta vez con capacidad de multiplicar y dividir. 
El siguiente gran hito sucede a finales del siglo XVIII, pero en este caso 
dentro del muy incipiente campo del «control industrial». Por esta época, la 
confección de tejidos con dibujos era un proceso manual, tedioso y sujeto a 
errores. Hacia 1750 se extiende la costumbre de perforar códigos en tarjetas, que 
especificaban los patrones a representar en el tejido, y que el obrero (con 
frecuencia un niño) debía interpretar. La lentitud del proceso y los errores de 
interpretación hicieron que no mucho más tarde el proceso fuese automatizado, de 
modo que las tarjetas perforadas eran introducidas en la propia máquina de tejer, 
que ella misma interpretaba y ejecutaba. El último paso lo da Joseph Jacquard 
(1801), al construir un telar completamente automático, enteramente controladopor estas tarjetas perforadas, y cuya energía era suministrada por una máquina de 
vapor. La presencia o ausencia de agujero en determinado lugar de la tarjeta 
implicaba el movimiento o no de determinadas partes de la máquina, para así 
crear el patrón deseado. Es decir, el telar de Jacquard era una máquina controlada 
por programa, el cual era suministrado en la forma de una pila de tarjetas 
perforadas, lo que inspiró una manera de introducir datos y programas a las 
máquinas que sería ampliamente empleada hasta épocas recientes. 
Ya a mitad del siglo XIX Charles Babbage (1793-1871), profesor de 
matemáticas en la Universidad de Cambridge, proyecta una serie de computadoras 
mecánicas. Por aquella época se disponía de tablas numéricas para cálculo 
matemático (funciones trigonométricas, logarítmicas, etc.), tablas para la 
navegación, etc., cuyos valores numéricos eran calculados por seres humanos y 
transcritos a papel. En ellas, lógicamente, aparecían muchos errores, cuyas 
consecuencias podían resultar graves, por lo que Babbage decidió construir una 
máquina capaz de generar e imprimir dichas tablas automáticamente. 
Introducción y conceptos previos 21 
FIGURA 1.11. Calculadora de Pascal. Grabado y fotografía. 
La primera de ellas, la denominada máquina diferencial (proyectada hacia 
1833), realizaba un algoritmo denominado método de las diferencias finitas, capaz 
de calcular valores de polinomios simplemente mediante el empleo de sumas y 
restas, y cuyos resultados eran ofrecidos perforando con un troquel de acero sobre 
un plato de cobre. Se trataba, por lo tanto, de una máquina de propósito 
específico. Esta máquina solamente pudo realizarse en parte, debido a diversos 
problemas, más económicos y de gestión que tecnológicos (Babbage invirtió 
buena parte de su tiempo y fortuna familiar en sus proyectos, que, dada su gran 
magnitud, precisaron también de la financiación de la corona británica, la cual fue 
años después retirada debido a lo dilatado del proyecto). 
Más adelante, Babbage proyectó una segunda máquina diferencial, versión 
mejorada y de menores dimensiones que la primera, que no llegó a construir. Esta 
máquina fue realizada en 1991 por el Museo de Ciencias de Londres, en la 
conmemoración del bicentenario del nacimiento de Babbage, haciendo uso de 
elementos mecánicos construidos con la misma precisión que Babbage pudo 
disponer en su época. Para que la máquina funcionase perfectamente solamente 
fueron precisas mínimas correcciones sobre el proyecto original de Babbage. El 
ingenio construido mide dos metros de altura y tres de longitud, consta de 4.000 
22 Microprocesadores y microcontroladores 
piezas y pesa tres toneladas; para su confección se invirtieron nada menos que 
600.000 dólares. Cabe señalar que, si la primera máquina de diferencias se 
hubiese construido al completo, habría ocupado la superficie de un campo de 
fútbol y debería haber sido impulsada mediante una máquina de vapor. 
FIGURA 1.12. Charles Babbage y proyecto de máquina de diferencias. 
Babbage también proyectó una computadora de propósito general, que 
denominó máquina analítica. Ésta se dividía en cuatro partes: el almacén 
(memoria), el taller (unidad de cálculo, capaz de realizar las cuatro operaciones 
básicas), la sección de entrada (una lectora de tarjetas perforadas) y la de salida 
(perforadas e impresas). La máquina leería las instrucciones perforadas en 
tarjetas y luego las ejecutaría; todo este esquema recuerda poderosamente a los 
modernos computadores electrónicos. Ada Lovelace, hija de Lord Byron y 
consejera de Babbage en este proyecto, sugirió que las instrucciones escritas en 
un rudimentario lenguaje ensamblador podrían enviarse a la máquina mediante 
tarjetas perforadas, por lo que algunos la consideran la precursora de los actuales 
programadores (en su honor se ha bautizado el moderno lenguaje Ada). Babbage 
es considerado, con todo merecimiento, el «abuelo» de la moderna computación; 
Introducción y conceptos previos 23 
por otra parte, la figura de Ada está envuelta en un halo de misterio (quizás fruto 
de la época romántica en la que vivió). Al parecer, buena parte de las 
descripciones de la máquina analítica no proceden de Babbage sino de Ada, quien 
pudo transcribir sus ideas. 
FIGURA 1.13. Máquina de diferencias construida en 1991 por el Museo de Ciencias de Londres, en 
la conmemoración del bicentenario del nacimiento de Babbage. 
Ya en los años treinta del presente siglo el alemán Konrad Zuse, estudiante 
de ingeniería, y al parecer sin disponer de conocimiento previo sobre los trabajos 
de Babbage, construyó las primeras máquinas electromecánicas de cálculo 
(haciendo amplio uso de relés). Buena parte de ellas fueron destruidas por el 
bombardeo aliado sobre Berlín en 1944, y, aunque con posterioridad algunas 
fueron instaladas en Europa, su trabajo no tuvo repercusión en el futuro, siendo 
éste reconocido en sus justos términos muchos años después. 
J. Astanasoff y C. Berry, físicos de la Universidad de Iowa, construyeron 
también en los años treinta una máquina sorprendentemente avanzada para su 
época, el ABC (Astanasoff-Berry Computer, 1939), en la que introdujeron 
técnicas que serían implementadas en las computadoras posteriores, como el 
empleo de aritmética binaria o un tipo de memoria basada en un tambor de 
condensadores que debían ser refrescados periódicamente, precursores de las 
actuales memorias dinámicas. El ABC permaneció en el olvido durante mucho 
24 Microprocesadores y microcontroladores 
 
tiempo, saliendo a la luz en los últimos años por un problema sobre la propiedad 
de la patente original del computador. A raíz de ello, una sentencia judicial en 
Estados Unidos estableció en los años setenta que el primer computador de las 
historia con derecho a patente no es ENIAC (del que hablaremos más adelante), 
como hasta entonces se daba por sentado, sino precisamente la máquina de 
Astanasoff, de la que John Mauchley (uno de los autores de ENIAC) se comprobó 
que tomó muchas ideas. 
La última computadora mecánica a la que haremos referencia es el Mark I, 
construida por Howard Aitken, la cual se concluyó en Harvard en 1944, siendo la 
primera computadora de propósito general desarrollada en Estados Unidos. 
Aitken construyó con relés lo que Babbage proyectó con ruedas dentadas, 
alcanzando su máquina unas dimensiones finales de 17 metros de largo y 2,5 de 
altura. Más adelante Aitken construyó la Mark II, pero cuando la concluyó las 
computadoras electromecánicas eran ya obsoletas, pues había comenzado la era 
de la electrónica. 
1.5.2. Generación 1. Válvulas electrónicas (1945-1955) 
La segunda guerra mundial supuso un enorme impulso en el desarrollo de las 
computadoras electrónicas, basadas en válvulas electrónicas, como el triodo 
(inventado en 1906). Las válvulas tenían como ventaja frente a los relés y 
engranajes la ausencia de partes móviles (cuya inercia limitaba la velocidad de 
proceso), así como un menor tamaño y mayor fiabilidad. Los dispositivos 
construidos con válvulas resultaban así más rápidos, fiables y baratos. 
La primera computadora electrónica (aunque de propósito específico) fue 
Colossus, desarrollada por el ejército británico. Durante la segunda guerra 
Mundial los submarinos alemanes representaban una gran amenaza para los 
barcos británicos; las órdenes del almirantazgo alemán eran enviadas por radio 
desde Berlín, pero codificadas por medio de una máquina denominada Enigma. 
La inteligencia polaca consiguió robar una máquina Enigma a los alemanes, y de 
ellos pasó a los británicos, con lo que éstos descubrieron la manera como los 
alemanes codificaban los mensajes. El problema era que para descifrar el código 
se necesitaba realizar una enorme cantidad de cálculos en muy corto espacio de 
tiempo, para lo que se construyó Colossus (1943), en cuyo diseño participó el 
matemático Alan Turing, que ya hacia 1937 había sentado las bases teóricas de la 
computación.Por su parte, el ejército americano necesitaba calcular tablas de tiro para 
apuntar su artillería pesada (¡solamente el 20% de las bombas caían en un rango 
de 300 metros del objetivo!). John Mauchley, profesor de física de la Universidad 
Introducción y conceptos previos 25 
de Pensilvania, y conocedor del trabajo de Astanasoff, propuso al ejército el 
desarrollo de una computadora electrónica, la cual fue aceptada en 1943. Así, 
Mauchley, junto con su alumno P. Eckert, construyeron la primera computadora 
electrónica de propósito general del mundo, ENIAC (Electrical Numerical 
Integrator And Computer). ENIAC constaba de 18.000 válvulas, 1.500 relés, 
pesaba 30 toneladas, consumía 140 kW y ocupaba 1.400 metros cuadrados. Su 
construcción se concluyó completamente en 1946, aunque ya antes fue empleada 
en la realización de cálculos que llevaron al desarrollo de la bomba atómica. 
ENIAC operaba con aritmética decimal y su programación se realizaba mediante 
interruptores y conectando y desconectando cables (como en las antiguas 
centralitas telefónicas), lo cual resultaba extremadamente tedioso e incómodo. 
En 1945 John von Neumann, consciente de los problemas de la programación 
del ENIAC, publica la idea de controlar los procesos a ejecutar por la 
computadora mediante un programa almacenado en memoria (idea, al parecer, 
desarrollada más o menos a la vez por Turing), en una propuesta para el proyecto 
de una nueva máquina, EDVAC (Electronic Discrete Variable Computer). 
Mauchley y Eckert comienzan su desarrollo, pero éste queda finalmente truncado. 
En 1949 Maurice Wilkes concluye el EDSAC, construido tomando como base la 
misma idea, por lo que resultó ser la primera máquina operativa que funcionaba 
controlada por programa almacenado. En 1946 von Neumann y sus colegas 
comenzaron en el Instituto de Estudios Avanzados de Princeton el desarrollo de 
otra máquina controlada por programa almacenado, la IAS, su propia versión del 
EDVAC. Aunque no fue completado hasta 1952, IAS representa el prototipo de 
todos los ordenadores de propósito general posteriores. 
Por su parte, Eckert y Mauchley emprenden una actividad empresarial 
construyendo la primera de una serie de computadoras, el UNIVAC I (1951), el 
primer ordenador electrónico de gran éxito comercial, inaugurando así la era 
comercial de las computadoras. Mientras tanto, la International Business 
Machines Corporation, más conocida por sus siglas, IBM (por entonces pequeña 
empresa dedicada a la fabricación de máquinas lectoras de tarjetas perforadas y 
clasificadoras, y que ya aportó parte de la financiación de las máquinas de 
Aitken), construye sus primeras computadoras, las IBM 701 (1953) y 704. La 
709 (1958) fue su última máquina de válvulas, y además una de las primeras 
máquinas pensadas para trabajar con sistemas operativos. 
26 Microprocesadores y microcontroladores 
FIGURA 1.14. Programando el ENIAC. 
Figura 1.15. John Von Neumann. 
1.5.3. Generación 2. Transistores (1955-1965) 
En 1948, J. Bardeen, W. Brattain y W. Shockley, de los laboratorios Bell, 
inventan un dispositivo que causará una verdadera revolución, el transistor (por 
ello fueron galardonados con el Premio Nobel de Física en 1956). El transistor es 
más pequeño que una válvula de vacío, disipa menos potencia y es más barato, 
por lo que en 10 años desbancaron a las válvulas en la confección de 
computadores (y en muchas otras tareas). 
Introducción y conceptos previos 27 
Uno de los hechos más destacados de esta segunda generación es la irrupción 
en escena en 1957 de Digital Equipment Corporation, DEC, que poco tiempo más 
tarde comercializaron la primera minicomputadora, la PDP-1 (1961). Aunque 
contaba con menores prestaciones que las máquinas de IBM, costaba tan sólo 
120.000 dólares (frente al millón de una IBM 7090), por lo que DEC vendió 
docenas de PDP-1 (algo más tarde introdujeron la PDP-8, por tan sólo 16.000 
dólares, de la que vendieron más de 50.000 unidades). 
Mientras tanto, IBM se convertía en una de las más importantes compañías, 
gracias a la 7094, que dominó la computación científica a principio de los sesenta, 
y a la 1401, una pequeña computadora orientada a gestión. De ambas se 
vendieron numerosas unidades. 
De entre las muchas otras máquinas de la época destacaremos la B5000 de 
Burroughs. Mientras que otras compañías se centraban en el hardware, 
esforzándose en la construcción de máquinas baratas (DEC), o rápidas (IBM), los 
diseñadores de la B5000 pensaron que el software también era importante, por lo 
que la idearon de forma que pudiera ser programada en Algol 60, el primer 
lenguaje de alto nivel. No obstante, esta tendencia tuvo que esperar unos años 
antes de que fuera explotada al máximo. 
1.5.4. Generación 3. Circuitos integrados SSI y MSI (1965-1971) 
Algunas computadoras de la segunda generación podían incluir hasta 10.000 
transistores, los cuales se agrupaban en tarjetas de circuito impreso, de decímetros 
de tamaño. El siguiente paso importante consistió en integrar diversos 
transistores en un único fragmento de silicio, realizando así un circuito integrado 
(CI o chip): Jack Kilby (Texas instruments) y Robert Noyce (Fairchild, y luego, 
junto con Gordon Moore, cofundador de Intel) son los responsables del invento. 
Pronto todas las computadoras se construyeron mediante CI, que eran más 
pequeños, más rápidos, más baratos y de menor consumo que las tarjetas. Los 
primeros CI se denominaban de pequeña escala de integración o SSI, al incluir 
menos de 100 transistores. Los siguientes eran ya de media escala o MSI, 
pudiendo incluir hasta mil transistores. 
Empleando ya circuitos integrados, IBM introduce la serie 360, como una 
sola línea de productos destinada a sustituir las máquinas 7094 y 1401, orientada 
tanto hacia el cálculo científico como a gestión. La idea de comercializar una 
familia, en la que cada miembro contaba con distintas características particulares 
sobre un núcleo común, siendo el software compatible hacia arriba (un programa 
escrito para una máquina de gama baja podría ejecutarse en otra de gama más 
alta), se volvió popular de inmediato. Otra novedad de la 360 era la posibilidad 
28 Microprocesadores y microcontroladores 
de trabajo multitarea y su operación con números de 32 bits. La 360 fue el gran 
éxito comercial de la década, cimentando el aplastante liderazgo de IBM en el 
campo de las computadoras (llegó a dominar en aquella época el 70% del 
mercado). La arquitectura 360 es el origen de las grandes computadoras o 
mainframes de IBM. 
DEC introduce en 1965 la minicomputadora ya citada PDP-8, de la que se 
vendieron más de 50.000 unidades; de esa época arranca la fortuna de DEC. La 
PDP-8 contaba con la gran innovación de su estructuración alrededor de un bus 
(el denominado omnibus), frente a las basadas en la IAS, como las IBM, de 
estructura centralizada; esta estructura en buses ha sido desde entonces 
universalmente adoptada por todos los mini y micro ordenadores. Posteriormente 
apareció la PDP-11, sustituto de 16 bits de la PDP-8. La PDP-11 puede 
considerarse por sus características la hermana menor de la 360, teniendo un gran 
éxito comercial, sobre todo en las universidades, lo que sostuvo el liderazgo de 
DEC en el mercado de las minicomputadoras. 
1.5.5. Generación 4. Alta escala de integración (LSI) (1971-1977) 
A partir de la tercera no existe un acuerdo general sobre la denominación y 
delimitación temporal de las siguientes generaciones. Nosotros consideraremos 
que una cuarta generación comienza con el desarrollo de la alta escala de 
integración o LSI (más de 1.000 transistores en un CI) a principios de los setenta, 
y que una quinta generación comienza con el advenimiento de la muy alta escala 
de integración o VLSI (más de 10.000 transistores), a finales de los setenta. 
A finales de los años sesenta y comienzos de los setenta el gran desarrollo de 
la integración microelectrónica permite la realización de chipsde memoria 
(memoria de semiconductores). Recordemos que hasta entonces la memoria 
central se construía mediante pequeños anillos de ferritas, que almacenaban un ‘0’ 
o un ‘1’ dependiendo de su estado de magnetización. También se empleaban
tarjetas perforadas, cintas de papel y magnéticas. 
La integración LSI permite ya a principios de los setenta integrar toda una 
unidad de procesamiento central, o CPU, en una única pastilla de silicio, es decir, 
la confección de microprocesadores. Así, en 1971 Intel comercializa el primer 
microprocesador de la historia, el 4004, de 4 bits y tecnología PMOS, y poco 
tiempo después los primeros de 8 bits, el 8008 (1972) y, sobre todo, el 8080 
(1974), el cual es considerado el verdadero primer microprocesador de propósito 
general. Motorola realiza el 6800 en 1974 (NMOS), y otras muchas compañías, 
como Zilog, Texas Instruments, Fairchild, etc., comienzan también a desarrollar 
sus propios microprocesadores. Aunque en origen éstos se idearon para 
Introducción y conceptos previos 29 
desempeñar tareas de control, sustituyendo electrónica convencional, poco más 
adelante se empezaron a construir los primeros microordenadores basados en 
ellos, que, a un precio reducidísimo, poco a poco fueron adquiriendo mayor 
popularidad. 
A la par que los primeros sistemas basados en microprocesadores, por esta 
época se siguen desarrollando minicomputadores (como los de DEC) y grandes 
computadoras, como las de IBM. Por su relativamente reducido precio y su 
orientación a tiempo real, los minicomputadores se emplean en tareas de control 
industrial (entre otras). 
1.5.6. Generación 5. Muy alta escala de integración (VLSI) (1977-) 
Con la llegada de la integración a muy alta escala, o VLSI, los 
microprocesadores que pueden fabricarse a finales de los setenta y principios de 
los ochenta resultan cada vez más potentes. De entre ellos cabe destacar el 
8086/88 de Intel (1978) y el 68000 de Motorola (1979), ambos de 16 bits y 
tecnología CMOS, y que darán lugar a las famosas familias 80x86 y 68K, 
respectivamente. 
La adopción del 8088 de Intel como microprocesador de la nueva línea de 
computadores personales PC de IBM (Personal Computer, 1980), y del MS-DOS 
de Microsoft como su sistema operativo, resultará decisiva para ambas modestas 
compañías (en principio, el 68000 de Motorola era mejor y más potente que el 
8086/88, pero...). La enorme popularidad con la que contó el PC desde sus 
comienzos hizo que Intel y Microsoft se convirtiesen en pocos años en los dos 
gigantes que hoy en día son. Curiosamente, IBM entró sin demasiado 
convencimiento en el incipiente mercado de pequeños ordenadores, pero el primer 
año ya vendió 300.000 unidades del PC y el segundo 600.000. 
Con anterioridad, solamente los grandes centros de cálculo podían abordar la 
compra de un computador. Con el advenimiento de los ordenadores personales o 
microcomputadores, basados en microprocesadores, el precio de un ordenador 
personal resultaba asequible al ciudadano medio, por lo que el PC se ha 
convertido en un objeto de consumo, estando presente en numerosos hogares. 
Hay en día un PC posee tanta potencia de cálculo como un mainframe de los años 
sesenta, a un coste infinitamente inferior. 
30 Microprocesadores y microcontroladores 
Tipo de computador Ejemplos Aplicaciones 
Ordenadores personales (PC) PC, MacIntosh Edición, hojas de cálculo, etc. 
Miniordenadores VAX 8600 Control en tiempo real 
Estaciones de trabajo (workstations) Sun, HP-Apollo, Alpha Diseño y cálculo. Servidores 
Ordenadores centrales (mainframes) IBM 3090/400 Gestión 
Supercomputadores Cray XMP Cálculo científico intensivo 
TABLA 1.1. Tipos de computadores. 
En la actualidad, la potencia de los microprocesadores es tan grande que 
eclipsa a muchos de los computadores centrales o minicomputadoras, creándose 
un nuevo tipo de computador, las estaciones de trabajo (workstations), de muy 
elevadas prestaciones, orientadas a diseño en ingeniería y cálculo científico. 
Ejemplos de éstas son las Sparc de Sun Microsystems, las HP-Apollo de Hewlet-
Packard, o las Alpha de DEC. Una estación de trabajo permite disponer de un 
miniordenador de sobremesa a un precio muy reducido. Dichas estaciones se 
basan en el empleo de microprocesadores de tipo RISC, como el SPARC, PA-
RISC o PowerPC, que parecen haber ganado la batalla de las altas prestaciones a 
los CISC, como los clásicos 68000 u 8086. 
La era actual se distingue por la convivencia de diversos tipos de 
computadores. Así, ordenadores personales y estaciones de trabajo coexisten con 
minicomputadoras, super-mini-computadoras (como el clásico VAX de DEC, 
sucesor de los PDP), supercomputadores (como los Cray, de la compañía Cray 
Research, orientados al cálculo científico), y con los grandes sistemas o 
mainframes (gestión). No obstante, la distinción entre los distintos tipos de 
computadores disponibles es cada día más difusa; por ejemplo, el término 
minicomputador está cayendo en desuso en favor de estación de trabajo, mientras 
que los PC de altas prestaciones (basados en potentísimos microprocesadores 
como el Pentium III) rivalizan en potencia con muchas estaciones de trabajo. 
Otros rasgos que caracterizan nuestra época son la creciente importancia del 
software, la tendencia en contra de los grandes sistemas y a favor de las redes de 
ordenadores (arquitectura cliente-servidor), el amplio trabajo en computación 
paralela, desarrollo de la inteligencia artificial, el PC como equipo de consumo, 
las tecnologías multimedia y, por supuesto, Internet (que, como verdadera punta 
de lanza de lo que será el siglo XXI, ha empezado a cambiar ya el mundo). 
Introducción y conceptos previos 31 
Generación 0. Computadoras mecánicas y electromecánicas (1642-1945) 
1642 Calculadora Pascal Primera calculadora mecánica 
1834 Máq. dif. y analítica Babbage Primeras computadoras mecánicas 
1936 Z1 Zuse Primera computadora electromecánica (relés) 
1939 ABC Astanasoff-Brerry Introduce técnicas importantes en el futuro 
1944 Mark I Aitken Primera computadora electromecánica americana 
Generación 1. Válvulas electrónicas (1945-1955) 
1943 Colossus Turing-Gobierno G.B. Primera computadora electrónica 
1946 ENIAC I Mauchley/Eckert Comienzo de la historia de la computación 
1949 EDSAC Wilkes Primera computadora por programa almacenado 
1952 IAS von Neumann El diseño seguido por la mayoría de las máquinas 
1951 UNIVAC 1 Eckert/Mauchley Primera computadora vendida comercialmente 
1953- 701, 704, 709 IBM Despegue de IBM. Sistemas operativos (709) 
Generación 2. Transistores (1955-1965) 
1960 PDP-1 DEC Primera minicomputadora 
1961 1401 IBM Pequeña máquina de gestión 
1961 7094 IBM Dominio de la computación científica 
1963 B5000 Burroughs Lenguajes de alto nivel (Algol 60) 
Generación 3. Circuitos integrados SSI y MSI (1965-1971) 
1964 360 IBM Primera línea de productos. Reinado de IBM 
1965 PDP-8 DEC Primera minicomputadora vendida masivamente 
1970 PDP-11 DEC Dominio de la computación en los setenta 
Generación 4. Alta escala de integración (LSI) (1971-1977) 
1971 4004 Intel El primer microprocesador 
1974 8080 Intel Primer microprocesador de propósito general 
1974 6800 Motorola Primero de Motorola, padre de la familia 68XX 
Generación 5. Muy alta escala de integración (VLSI) (1977-) 
1978 VAX DEC Primera superminicomputadora de 32 bits 
1978 8086 Intel Padre de la familia 80x86 (PC compatibles) 
1979 68000 Motorola Padre de la familia 68K (Apple MacIntosh y WS) 
1980 PC IBM El microordenador cambiará la historia 
Supercomputadores Cray Cálculo científico intensivo 
µP RISC Dominio de los µP RISC frente a los CISC 
Estaciones de trabajo Sun, HP, DEC, IBM Redes de ordenadores. Arq. cliente-servidor 
Inteligencia artificial, Internet, multimedia 
TABLA 1.2. Historia de la computación (adaptado de [Tanenbaum 92]). 
32 Microprocesadores y microcontroladores 
La electricidad (s. XVIII y XIX) 
XVIII -
XIX 
La electricidadCoulomb, Ohm, Ampère, 
Gauss 
Se sientan las bases de la electricidad 
Siglo 
XIX 
La ingeniería eléctrica Faraday, Hertz, Edison, 
Marconi 
Ingeniería eléctrica: «paso de partículas 
cargadas a través de los metales».
El electrón (finales siglo S. XIX) 
1885 Postulado del electrón H.A. Lorentz 
Su descubrimiento J.J. Thonsom Descubrimiento experimental
Válvulas de vacío (principios S. XX) 
1904 Diodo Fleming 1.ª válvula de vacío (det. señales inalámbr.) 
1906 Triodo De Forest Como amplificador de señales 
1920 KDKA Westinghouse 1.ª emisora de radiodifusión (Pittsburgh).
En 1924 hay ya 500 en EE.UU. 
1930 TV en blanco y negro Radio y TV, impulsores de la electrónica 
Transistores 
1940 Bell labs. Tras el «amplificador de estado sólido» 
1947 Prototipo de transistor Brattain, Bardeen, Shockley Inventan el transistor 
1947 Transistor BJT Shockley Perfecciona el prototipo. 
1951 Comercialización del BJT 
El transistor FET 
Bell, y otras 
Shockley 
La Bell no guarda en secreto la tecnología 
Propuesta (todavía es pronto). 
1954 Transistores de silicio Texas Instr. 
1956 Premio Nobel de Física Brattain, Bardeen, Shockley 1.er Premio Nobel dispositivo ingeniería 
Circuitos integrados SSI, MSI y LSI (1965-1977) 
1958 El circuito integrado (CI) J. Kilby y R. Noyce Texas Instruments y Fairchild 
1958 Primer transistor por 
difusión moderno 
Hoerni (Fairchild) Proceso planar y fotolitografía, se abren las 
puertas a los MOSFET 
1960 El primer MOSFET Kahng y Atalla Bell 
1961 Comercialización del CI Texas Instruments, Fairchild Integración SSI (<100 transistores) 
1964 Ley de Moore. CI lineales 
1966 MSI (de 100 a 1.000) 
1969 LSI (de 1.000 a 10.000) 
1970 RAM Intel, Fairchild Comercialización de pastillas de RAM 
1971 Microprocesadores Intel El i4004 
Muy alta escala de integración (VLSI) (1977-hoy) 
1977 VLSI (>10.000) µP de altas prestaciones, entre otros 
1979 El PC 
Electrónica e Informática Era de la información y comunicaciones 
TABLA 1.3. Principales hitos en la historia de la electrónica. 
 
Capítulo 2 
 Componentes del sistema microprocesador 
2.1. El sistema microprocesador 
En este capítulo estudiaremos las partes que componen un sistema 
microprocesador. Describiremos primero de una manera general (sin tener en 
cuenta ningún µP concreto) los bloques fundamentales del hardware del sistema 
(CPU, memoria central y entradas y salidas), para realizar después una primera 
incursión en el campo del software, proporcionando unas cuantas ideas sobre las 
bases en las que éste se asienta (utilizaremos siempre los términos anglosajones 
hardware y software, ya que se han impuesto en nuestra lengua). Ofrecida una 
perspectiva genérica, en el capítulo siguiente profundizaremos ya en los casos 
concretos del M6800 y del M68HC11, los microprocesadores de Motorola que 
nos servirán como ilustración a lo largo del texto. 
Aunque en este capítulo hablaremos en términos generales, sin tener en 
cuenta ninguna CPU en concreto, queremos advertir que nuestra mayor fuente de 
inspiración serán los clásicos microprocesadores de 8 bits. Pese a que el 
computador es el ejemplo de sistema basado en microprocesador más conocido 
por todos, también son sistemas microprocesadores el circuito de control de una 
lavadora automática, el sistema de frenado ABS o el control de un aparato de 
vídeo. A una persona ajena al campo de la electrónica industrial o de consumo 
los µP de 8 bits pueden parecerle obsoletos, especialmente cuando sus 
prestaciones se comparan con las de los potentes µP de 32 o 64 bits, base de los 
actuales computadores; sin embargo, los µP más sencillos siguen siendo los más 
vendidos en el mercado (alrededor del 80% son de 4 y 8 bits [Bursky 95], aunque 
el volumen de negocio de los microprocesadores de altas prestaciones es mayor, 
debido a su muy elevado coste). La razón de que los más sencillos sean los más 
vendidos radica en que la mayor parte de los sistemas electrónicos incorporan en 
la actualidad un microprocesador (normalmente, un microcontrolador), y para las 
aplicaciones sencillas y medias un procesador de 4 u 8 bits es la mejor solución si 
atendemos a la relación prestaciones/precio. Así, cuando un ingeniero debe 
desarrollar un sistema electrónico industrial, muy a menudo debe trabajar con un 
microcontrolador de 8 bits. 
34 Microprocesadores y microcontroladores 
CPU (Microprocesador)
Memoria Central
Bus de Datos
Bus de Direcciones
Bus de Control
Entradas/
Salidas
Unidad de
Procesamiento
Unidad de
Control
FIGURA 2.1. Bloques generales de un sistema microprocesador, y estructura de buses. 
Por otra parte, comprender el funcionamiento de un µP de 8 bits resulta más 
sencillo que el de un gran µP de 32 o 64 bits, en los cuales los nuevos logros 
tecnológicos y de arquitectura (unidades en paralelo, ejecución desordenada de las 
instrucciones, etc.) ocultan la comprensión de los principios más básicos de 
funcionamiento (por ejemplo, el clásico ciclo carga instrucción y ejecuta). 
Además, algunas familias de µP de 8 bits, como la 68XX de Motorola, incorporan 
muchas de las características que luego vuelven a aparecer en los µP más 
potentes. Finalmente, desarrollar aplicaciones y realizar montajes con µP 
sencillos, en especial con µC, resultará relativamente sencillo para el estudiante. 
Por todas estas razones consideramos que los µP de 8 bits son los más idóneos 
desde el punto de vista pedagógico para el primer contacto de un estudiante de 
ingeniería con este campo. 
2.1.1. Microprocesadores y sistemas microprocesadores 
Como ya sabemos, el microprocesador es el circuito integrado (chip) que 
materializa al completo una unidad de procesamiento central (CPU). Pero para 
que la CPU pueda funcionar se precisa de un conjunto adicional de elementos, los 
cuales conforman el sistema microprocesador, en el que el µP es la pieza central. 
Los componentes del sistema microprocesador que estudiaremos en este capítulo 
son, por este orden, memoria, subsistema de entradas/salidas (E/S) y CPU, los 
cuales se conectan entre sí por medio de buses. Ésta va a ser nuestra primera 
perspectiva general sobre el sistema µP; un lector sin conocimientos previos sobre 
Componentes del sistema microprocesador 35 
el tema puede que no llegue a comprender todos los detalles que 
proporcionaremos a continuación, pero no debe preocuparse por ello, pues la 
mayor parte de las cuestiones se volverán a abordar más profundidamente a lo 
largo del texto, de modo que las podrá ir asimilando gradualmente. 
2.2. Buses del sistema 
Recordemos en primer lugar que los sistemas digitales complejos, en los que 
se debe trabajar con una elevada cantidad de información (como los µP), se 
estructuran de una manera peculiar que facilita enormemente su diseño y 
realización. En ellos se considera que la información se organiza en palabras 
digitales, con frecuencia de 8 bits (byte); cada palabra (byte) se almacena en un 
registro y a cada registro se le asigna una dirección. El conjunto de los registros 
constituyen la memoria del sistema. Buena parte de la operación del sistema 
digital consiste en desplazar datos entre los registros, pero en vez de conectar cada 
registro con todos los demás, lo que crearía una maraña de conexiones 
difícilmente manejable, se introducen unos canales o líneas por los que transita la 
información, los buses, en torno a los cuales se organizan los registros, pudiendo 
cada uno en un momento dado conectarse o bien permanecer desconectado. De 
todos los registros acoplados a los buses, en cada instante solamente se conectarán 
de forma efectiva el registro que desea enviar un dato y el que debe recibirlo 
[Pollán 94]. 
Por lo tanto, un bus es un conjunto de líneas de comunicación de señales y 
datos que es compartido por varios bloques digitales. Cada subsistema digital 
acoplado al sistema de buses puede en un momento dado estar conectado al bus 
(habilitado) o desconectado (deshabilitado); en este último caso se dice que

Continuar navegando