Introducción a los Sistemas Industriales

Anuncio
PAC- Performance-centered Adaptive Curriculum for Employment Needs
Programa ERASMUS: Acción Multilateral -517742-LLP-1-2011-1-BG-ERASMUS-ECUE
MASTER DEGREE:
Industrial Systems Engineering
ASIGNATURA ISE1:
Introducción a los Sistemas Industriales
MÓDULO 2:
Microprocesadores y sistemas MP
TAREA 2-1:
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP
Introducción a los Sistemas Industriales
Contenido
TAREA 2-1: MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP. ............ 4
1. INTRODUCCIÓN Y OBJETIVOS....................................................................................................... 4
2. CONTENIDO ................................................................................................................................................ 4
2.1 Qué es un microprocesador................................................................................................... 4
2.2 Microprocesadores y microcontroladores ...................................................................... 5
2.3 Componentes, funcionamiento y organización de un microprocesador ... 6
2.4 Arquitectura del Set de Instrucciones (ISA) .............................................................. 10
2.5 Interfaz de la memoria (arquitectura von Neumann y Harvard)................. 10
2.6 Ejemplo microcontrolador, diagrama de bloques .................................................. 12
2.7 Microprocesadores y microcontroladores ARM ....................................................... 14
2.8 Sistemas integrados (embebidos) ..................................................................................... 16
2.9 Paralelismo en MP ...................................................................................................................... 19
2.10 Evolución de los microprocesadores. Resumen de los
microprocesadores Intel. .................................................................................................................. 23
3. CONCLUSIONES .................................................................................................................................... 26
4. BIBLIOGRAFÍA Y/O REFERENCIAS .............................................................................................. 27
5. ENLACES DE INTERÉS ....................................................................................................................... 28
Índice de figuras
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
1: Microcontrolador y microprocesador ............................................................................ 5
2: Configuración mínima de un microprocesador ...................................................... 9
3: Diagrama de bloques simplificado de un microprocesador .......................... 9
4: Arquitectura Von Neumann ............................................................................................... 11
5: Arquitectura Harvard.............................................................................................................. 11
6: Diagrama de bloques de un microcontrolador ................................................... 12
7: Aspecto externo del PIC ..................................................................................................... 13
8: Esquema de arquitectura ARM ....................................................................................... 15
9: Diagrama de la ley de Moore, 1970 -2010 .......................................................... 20
10: Diagrama ejecución sin pipeline ................................................................................. 22
11: Diagrama de ejecución con pipeline ....................................................................... 22
12: Intel 4004 ................................................................................................................................... 23
13: Microprocesador Intel 8008 ........................................................................................... 23
14: Microprocesador Intel 8080 ........................................................................................... 23
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 2
Introducción a los Sistemas Industriales
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
15:
16:
17:
18:
19:
20:
21:
22:
Microprocesador
Microprocesador
Microprocesador
Microprocesador
Microprocesador
Microprocesador
Microprocesador
Microprocesador
Intel 8086/8088 ............................................................................. 24
Intel 80286 ........................................................................................ 24
Intel 8386 ........................................................................................... 24
Intel 80486 ........................................................................................ 25
Intel Pentium..................................................................................... 25
Intel Pentium Pro/II/III ............................................................... 25
Intel Pentium 4 ............................................................................... 25
Itanium 2............................................................................................. 26
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 3
Introducción a los Sistemas Industriales
TAREA 2-1: MICROPROCESADORES Y SISTEMAS MP.
PARALELISMO EN MP.
1. INTRODUCCIÓN Y OBJETIVOS
Los sistemas embebidos están completamente integrados en la vida cotidiana.
Si el lector no está familiarizado con este término, seguramente sea escéptico
a esta afirmación. Sin embargo, es raro ir a un hogar y que no haya
electrodomésticos o una televisión; es bastante inusual que cuando se viaja no
se utilice un aparato fotográfico. De hecho, lo habitual es cruzarse
continuamente con personas que están utilizando su teléfono móvil, ya sea
para conectarse a redes, para hablar, para plasmas cada momento o incluso
para guiarse gracias a la función GPS. Todos estos aparatos son sistemas
embebidos, o, lo que es lo mismo, sistemas integrados.
En este documento, se definirán los microprocesadores y se establecerán las
principales diferencias y ventajas frente a los microcontroladores, dispositivos
que hoy en día tienen amplio campo de acción y que de una u otra forma
representan gran parte del desarrollo tecnológico que se viene dando. Se
estudiarán los componentes básicos así como la Arquitectura del Set de
Instrucción (ISA).
Se estudiará la necesidad del paralelismo en los microprocesadores debido a
la demanda cada vez más exigente de los usuarios y la utilización de pipeline.
De hecho, se verá cómo ya JL Moore ya en 1965 predijo la tendencia actual,
en cuanto al número de transistores por microprocesador. Para finalizar, se
hará un repaso a la evolución del microprocesador Intel.
2. CONTENIDO
2.1 Qué es un microprocesador
Un microprocesador es un microcircuito muy potente que controla los demás
componentes de un sistema dado. Los componentes controlados por un
microprocesador pueden ser plaquetas diferentes, o piezas separadas de un
equipo eléctrico.
Se le tienen que dar instrucciones a un microprocesador para que sepa qué
tiene que hacer y cómo debe funcionar. Estas instrucciones están contenidas
en un microcircuito aparte. Esto significa que se puede usar el mismo
microprocesador con diferentes juegos de instrucciones para varias
aplicaciones diferentes. A pesar de ello, hay numerosos diseños de
microprocesadores –algunos más potentes que otros, los cuales se usan para
objetivos completamente diferentes. Por ejemplo, un microprocesador que se
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 4
Introducción a los Sistemas Industriales
usa para navegación aeronáutica seguramente será más potente que uno que
se usa para un reloj despertador.
2.2 Microprocesadores y microcontroladores
Si se optimiza el microprocesador para aplicaciones de control embebidas se
hablará de microcontrolador. Estas aplicaciones típicamente monitorean y fijan
numerosas señales de control de un único bit, pero no realizan cálculos
exhaustivos.
Así, los microcontroladores tienden a tener caminos de datos sencillos que se
destacan en operaciones a nivel de bit, para su lectura y escritura a nivel
externo. Además tienden a incorporar en el chip del microprocesador varios
componentes periféricos comunes en el control de aplicaciones, tales como:
periféricos de comunicación serial, temporizadores, contadores, modulador de
amplitud de pulso, etc. Esta incorporación de periféricos permite la
implementación de un único chip, lo que genera productos de menor costo.
Algunos ejemplos de microcontroladores son los MCS-48 y MCS-51 de Intel.
Figura 1: Microcontrolador y microprocesador
Podemos empezar estableciendo que el uso de una u otra tecnología depende
del fin que se espera, pues debido a sus características propias, los
microcontroladores y los microprocesadores pueden adquirir variados y
diferentes espacios de implementación, por ejemplo, los microprocesadores se
han desarrollado fundamentalmente orientados al mercado de los ordenadores
personales y las estaciones de trabajo, pues allí se requiere una elevada
potencia de cálculo, el manejo de gran cantidad de memoria y una gran
velocidad de procesamiento, mientras que los microcontroladores están
concebidos fundamentalmente para ser utilizados en aplicaciones puntuales, es
decir, aplicaciones donde el microcontrolador debe realizar un pequeño
número de tareas, al menos costo posible. En estas aplicaciones el
microcontrolador ejecuta un programa almacenado permanentemente en su
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 5
Introducción a los Sistemas Industriales
memoria, el cual trabaja con algunos datos almacenados temporalmente e
interactúa con el exterior a través de las líneas de entrada y salida de que
dispone.
El
microcontrolador
incluye
todos
estos
elementos
del
microprocesador en un solo circuito integrado por lo que implica una gran
ventaja en varios factores:
•
•
•
•
•
•
El costo para un sistema basado en microcontrolador es mucho menor,
mientras que para el microprocesador es muy alto en la actualidad.
Los microprocesadores tradicionales se basan en la arquitectura de Von
Newmann, mientras que los microcontroladores trabajan con arquitectura
de Harvard.
El tiempo de desarrollo de su proyecto electrónico es menor para los
microcontroladores.
En los microcontroladores tradicionales todas las operaciones se
realizan sobre el acumulador. La salida del acumulador está conectada
a una de las entradas de la Unidad Aritmética y Lógica (ALU), y por lo
tanto este es siempre uno de los dos operandos de cualquier
instrucción, las instrucciones de simple operando (borrar, incrementar,
decrementar, complementar), actúan sobre el acumulador.
En los microcontroladores PIC, la salida de la ALU va al registro W y
también a la memoria de datos, por lo tanto el resultado puede
guardarse en cualquiera de los dos destinos.
La gran ventaja de esta arquitectura (Microcontroladores) es que
permite un gran ahorro de instrucciones ya que el resultado de
cualquier instrucción que opere con la memoria, ya sea de simple o
doble operando, puede dejarse en la misma posición de memoria o en
el registro W, según se seleccione con un bit de la misma instrucción.
2.3
Componentes,
microprocesador
funcionamiento
y
organización
de
un
Componentes:
ALU - Unidad aritmética y lógica: Está formada por una serie de circuitos
electrónicos que son capaces de efectuar operaciones: aritméticas (suma y
resta binaria), lógicas (AND, OR, NOT Y XOR) y de corrimiento. Para que la
ALU efectúe operaciones, los operandos se guardan en los registros de trabajo
(operando 1 y operando 2), el resultado de la operación se guarda en un
registro llamado ACUMULADOR, antes de transferir el resultado a la memoria
o a la unidad de Entrada/Salida.
Registro de estados: Contiene los indicadores de estado que son una serie de
bits que se modifican según el resultado de las operaciones aritméticas o
lógicas, y se guardan en un registro, para posteriormente la UC las considere
para tomar una decisión.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 6
Introducción a los Sistemas Industriales
Unidad de control: Para efectuar una tarea, necesita conocer instrucciones e
informaciones adicionales que deberán tener en cuenta para coordinar la
ejecución de las instrucciones. Una computadora no emite todas las órdenes
al mismo tiempo, sino que sigue una determinada secuencia. La fase o rapidez
con que se ejecuta una instrucción está determinada por el reloj.
La unidad de control está formada, básicamente, por un elemento que
interpreta la instrucción (Decodificación) y varios elementos de memoria
denominados REGISTROS; Por la UC, deberá conocer cuál es la dirección de la
próxima instrucción para poder ir a buscarla una vez que finalice la que se
ejecuta, dicha dirección se guarda en un registro llamado Contador de
Programa (P.C.).
Unidad de Memoria.- Consta de dos dispositivos que son la Memoria RAM y
ROM. La memoria RAM se usa para almacenar datos iniciales, resultados
parciales y finales, durante la ejecución del programa. Esta RAM introduce,
saca y almacena datos como palabras de 8 bits (Tamaño del Bus de Datos).
En esta memoria también es posible correr programas que puedan alterarse
por el usuario sin necesidad de programar la memoria ROM.
La memoria ROM almacena instrucciones y datos que no varían, a lo anterior
se llama Programa Principal o Monitor del Sistema. También esta memoria
tiene 8 bits de salida y se conecta al Bus de Datos.
La sección de Entrada y Salida (E/S) contienen los circuitos de interfase que
se requieren para permitir que los dispositivos E/S se comuniquen
adecuadamente con el resto de la computadora o sistema mínimo. El Puerto
de Entrada se usa para introducir datos al sistema, normalmente se conecta
un teclado. El Puerto de Salida saca los datos resultantes del programa,
normalmente se conecta un visualizador (DISPLAY) tipo LED o LCD.
El bus de direcciones tiene 16 líneas, con ellas se pueden direccionar como
16
máximo 65 536 (2 ) palabras de memoria (patrones de unos y ceros). Las
líneas del Bus de Direcciones se conectan tanto a la RAM, la ROM e interfaces
de E/S [7].
Buses de conexión: los microprocesadores tiene tres buses que transportan
toda la información y las señales involucradas en la operación del sistema.
Estos buses conectan el microprocesador (CPU) con cada uno de los
elementos de memoria y de E/S, de modo que datos e información puedan
fluir entre la CPU y cualquiera de estos elementos. En otras palabras, la CPU
está continuamente ocupada en enviar información o recibirla de una
ubicación en memoria, de un dispositivo de entrada o hacia un dispositivo de
salida (SIS).
Los principales buses del sistema son:
- Bus de direcciones: el microprocesador emite una combinación binaria
para seleccionar un registro de la memoria o de la unidad de E/S para
escribir o leer algún dato en el registro seleccionado.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 7
Introducción a los Sistemas Industriales
•
Bus de datos: por este canal el microprocesador recibe el contenido de
los registros seleccionados por el bus de direcciones o envía desde el
microprocesador los datos que se desean almacenar en las memorias.
También circulan por este canal los datos que emite o recibe la unidad
E/S. Este es un bus bidireccional, pues los datos pueden fluir hacia o
desde la CPU. En algunos microprocesadores, el bus de datos se usa
para transmitir otra información además de los datos (por ejemplo, bits
de dirección o información de condiciones). Es decir, el bus de datos
es compartido en el tiempo o multiplexado. En general se adoptó 8 bits
como ancho estándar para el bus de datos de los primeros
computadores PC y XT. Usualmente el computador transmite un
carácter por cada pulsación de reloj que controla el bus (bus clock), el
cual deriva sus pulsaciones del reloj del sistema (system clock). Algunos
computadores lentos necesitan hasta dos pulsaciones de reloj para
transmitir un carácter. Los computadores con procesador 80286 usan
un bus de datos de 16 bits de ancho, lo cual permite la comunicación
de dos caracteres o bytes a la vez por cada pulsación de reloj en el
bus. Los procesadores 80386 y 80486 usan buses de 32 bits. El
PENTIUM de Intel utiliza bus externo de datos de 64 bits, y uno de 32
bits interno en el microprocesador.
•
Bus de control: por este canal se transmiten las señales para la
coordinación de todos los elementos del sistema: sincronización,
órdenes de lectura/escritura, selección de memoria, de unidad (E/S),
etc. Este conjunto de señales se usa para sincronizar las actividades y
transacciones con los periféricos del sistema. Algunas de estas señales,
como R/W, son señales que la CPU envía para indicar que tipo de
operación se espera en ese momento. Los periféricos también pueden
remitir señales de control a la CPU, como son INT, RESET, BUS RQ. Las
señales más importantes en el bus de control son las señales de
cronómetro, que generan los intervalos de tiempo durante los cuales se
realizan las operaciones. Este tipo de señales depende directamente del
tipo del microprocesador.
Algunas líneas típicas de control son:
 Una línea de RD (lectura) y WR (escritura)
 Una línea de reloj
 Una línea de reinicio
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 8
Introducción a los Sistemas Industriales
Figura 2: Configuración mínima de un microprocesador
Funcionamiento de un microprocesador
La secuencia de funcionamiento sería la siguiente:
El microprocesador busca las instrucciones o datos. Envía a través del bus de
direcciones la combinación binaria de la dirección de la posición de la
memoria o de la unidad (E/S) de la que quiere extraer las instrucciones o
datos.
El microprocesador controla las operaciones de lectura o escritura, de salidad
de datos y de selección de chip con combinaciones binarias, a través del bus
de control. Se transmite la información de la memoria o de la unidad (E/S) a
través del bus de datos al microprocesador, que la interpretará o decodificará
para después ejecutarla.
Una vez buscada, interpretada y ejecutada la primera instrucción, el
microprocesador automáticamente buscará y ejecutará la siguietne y así
sucesivamente, cambiando de unas secuencias a otras, según aparezcan
nuevas instrucciones en la unidad E/S [7].
Figura 3: Diagrama de bloques simplificado de un microprocesador
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 9
Introducción a los Sistemas Industriales
2.4 Arquitectura del Set de Instrucciones (ISA)
Los distintos computadores existentes, aunque similares en los elementos
fundamentales, presentan diversas diferencias en sus componentes de
hardware y su definición de instrucciones. Las variaciones existentes
dependerán del uso en que esté enfocado el computador particular, pudiendo
incluir mayores funcionalidades o mejoras en la eficiencia. En general la
arquitectura de un computador se puede
caracterizar en base a dos
elementos fundamentales: la microarquitectura y la arquitectura del set de
instrucciones o ISA.
La arquitectura del Set de Instrucciones (ISA) es el segundo elemento que
define la arquitectura de un computador. Las instrucciones de un computador
definirán cómo se deben escribir programas, y se diferenciarán por los
siguientes factores:
• Tipos de instrucciones: Dependiendo del ISA, existirán distintos tipos de
instrucciones disponibles. En general los tipos de instrucciones mínimos
que se soportan en un ISA son:
o Instrucciones de carga
o Instrucciones aritméticas
o Instrucciones lógicas y shifts
o Instrucciones de salto
o Instrucciones de subrutina
•
•
Tipos de datos: Distintos ISA pueden definir distintos tipos de datos que
son soportados.
Modos de direccionamiento: Además de las instrucciones, el ISA debe
definir que modos de direccionamiento son soportados por el sistema
para generar la dirección efectiva (effective address) con la que se
accederá a memoria.
2.5 Interfaz de la memoria (arquitectura von Neumann y Harvard)
Arquitectura von Neumann
A finales de la década de los 40, el matemático John von Neumann
revolucionó el mundo de la computación cuando publicó una nueva
arquitectura conocida desde entonces con el nombre de “arquitectura Von
Neumann”. En esta arquitectura tanto las instrucciones como los datos
comparten una misma memoria [1]. Esto significa que con un mismo bus de
direcciones se localizan (direccionan) instrucciones y datos y que por un único
bus de datos transitan tanto instrucciones como datos. La misma señal de
control que emite la CPU para leer un dato sirve para leer una instrucción. No
hay señales de control diferentes para datos e instrucciones. Debe quedar
claro que aunque se use memoria ROM para almacenar el programa y RAM
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 10
Introducción a los Sistemas Industriales
para los datos, para la CPU no hay tal distinción, sino que ROM y RAM
forman un conjunto único (una memoria de lectura y escritura) para el cual la
CPU emite señales de control, de dirección y de datos [9].
Figura 4: Arquitectura Von Neumann
Arquitectura Harvard
Se trata de una configuración de dispositivos con una CPU (Unidad Central de
Procesamiento) y dos memorias que almacenan por separado las instrucciones
y los datos tanto de entrada como de salida. El término Harvard procede del
primer computador digital automático electromecánico, el “Harvard Mark I”
(1944) diseñado conjuntamente por IBM y la Universidad de Harvard [1]. En
este caso, la memoria de programa (que almacena instrucciones) tiene su bus
de direcciones (de instrucciones), su propio bus de datos (más bien es un bus
de instrucciones) y su bus de control. Por otra parte, la memoria de datos
tiene sus propios buses de direcciones, datos y control, independientes de los
buses de la memoria de programa. La memoria de programa es sólo lectura,
mientras que en la de datos se puede leer y escribir.
Figura 5: Arquitectura Harvard
La arquitectura von Neumann requiere menos líneas que la Harvard para
conectar la CPU con la memoria, lo que significa una conexión más simple
entre ambas. Pero con esta arquitectura es imposible manipular
simultáneamente datos e instrucciones, debido a la estructura de buses únicos,
algo que sí es posible en la arquitectura Harvard, que tiene buses separados.
Esto confiere a la arquitectura Harvard la ventaja de una mayor velocidad de
ejecución de los programas.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 11
Introducción a los Sistemas Industriales
2.6 Ejemplo microcontrolador, diagrama de bloques
Los microcontroladores PIC son integrados capaces de ser programados desde
un computador y seguir una secuencia. Conviene recordar que un PIC16F628A
es uno de los más conocidos, razón por la cual su estructura brinda un
esquema universal. El siguiente es su diagrama circuital por bloques, que se
debe entender desde la electrónica, que es la base del trabajo de
programación de los PIC.
Figura 6: Diagrama de bloques de un microcontrolador
La distribución de pines es la siguiente, así es como se ve por fuera y cada
pin tiene una o más funciones asignadas, cada vez que se utiliza una función
hay que tener en cuenta que no se deben usar las otras asignadas en el
mismo pin, es decir, un terminal solo puede realizar una función al tiempo, así
en la etapa de planeación del proyecto se debe definir qué función utilizar
para cada pin, de las que este está en habilidad de desempeñar.
•
•
Tiene 13 entradas salidas programables, que permiten llevar a cabo una
gran cantidad de proyectos. Las salidas se corresponden con pines.
Tiene 64 bytes de EEProm, para guardar información. Esta memoria es
electrónicamente grabable y borrable. Últimamente se ha introducido la
memoria Flash que puede ampliar su capacidad.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 12
Introducción a los Sistemas Industriales
•
•
•
Tiene 1 Mb de memoria con código lo suficientemente comprimido
como para aprovechar al máximo la memoria.
Tiene un oscilador a cristal o a RC de velocidad media: 4 Mhz o 20
Mhz en los Hs.
Cuatro fuentes de interrupción diferentes para llamar la atención en
cualquier momento.
La ficha técnica de este PIC es la siguiente:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Memoria de programa: 1Kx14, EEPROM (PIC16C84) y Flash (PIC16F84)
Memoria de datos RAM: 36 bytes (PIC16C84) y 68 bytes (PIC16F84)
Memoria de datos EEPROM: 64 bytes para todos los modelos
Pila (stack): De 8 Niveles
Interrupciones: 4 tipos diferentes
Encapsulado: Plástico DIP de 18 patitas
Frecuencia de trabajo: 10MHz máxima
Temporizadores: Sólo uno, el TMR0. También tienen “Perro guardián
(WDT)”
Líneas de E/S Digitales: 13 (5 Puerta A y 8 Puesta B)
Corriente máxima absorbida: 80mA Puerta A y 150mA Puerta B
Corriente máxima suministrada: 50mA Puerta A y 100mA Puerta B
Corriente máxima absorbida por línea: 25mA
Corriente máxima suministrada por línea: 20mA
Voltaje de alimentación (VDD): De 2 a 6 V DC
Voltaje de grabación (VPP): De 12 a 14 VDC
Ya hemos tenido en cuenta la estructura del PIC. Veamos ahora su aspecto
externo:
Figura 7: Aspecto externo del PIC
Este PIC está desarrollado con tecnología CMOS de altas prestaciones y
encapsulado en plástico con 18 patillas. Veamos la misión de cada patilla.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 13
Introducción a los Sistemas Industriales
•
•
•
•
•
•
•
VDD: Patilla por la que se aplica la tensión positiva de la alimentación.
VSS: Patilla conectada a la tierra o negativo de la alimentación.
OSC1/CLKIN: Patilla por la que se aplica la entrada del circuito
oscilador externo que proporciona la frecuencia de trabajo del
microcontrolador.
OSC2/CLKOUT: Patilla auxiliar del circuito oscilador.
MCLR#: Esta patilla es activa con nivel lógico bajo, lo que se
representa con el símbolo #. En pocas palabras con esta reseteas el
PIC.
RA0-RA4: Son las líneas de E/S digitales correspondientes a la puerta A.
La línea RA4.
RB0-RB7: estas 8 patillas corresponden a las 8 líneas de E/S digitales
de la puerta B. La línea RB0 multiplexa otra función, que es la de servir
como entrada a otra petición externa de interrupción, por eso se le
denomina RB0/INT.
2.7 Microprocesadores y microcontroladores ARM
[1] El desarrollo de la arquitectura ARM comenzó en 1983 en ACORN, UK,
como un sucesor de coste efectivo para los sistemas existentes de la familia
6502.
La arquitectura ARM tiene un conjunto de instrucciones simple pero eficiente
que permite un tamaño de silicio compacto y ofrece alta velocidad de
ejecución a bajo consumo.
ACORN se dio cuenta del potencial de esta arquitectura y junto con un grupo
de socios-capital, creó una compañía independiente llamada ARM en 1990.
Desde entonces, la arquitectura ARM ha crecido hasta convertirse en la
arquitectura más popular del planeta. La arquitectura ARM ha sido utilizada en
numerosos diseños y aplicaciones específicas para productos estándar (ASSP’s)
que pueden encontrarse actualmente en prácticamente todos los teléfonos
móviles y la mayoría de los MP3, PDAs, cámaras y sistemas de Navegación.
Además de ser utilizada en muchos productos de automoción y aplicaciones
médicas e industriales.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 14
Introducción a los Sistemas Industriales
Figura 8: Esquema de arquitectura ARM
Tabla 1: Núcleos ARM para Microcontroladores
Tipos especiales de MP (ASIC, DSP…)
ASIC – Application-Specific Integrated Circuit – es un circuito integrado (IC)
personalizado para un uso particular (tarea única), más que para un uso
general. Por ejemplo, un chip diseñado únicamente para hacer funcionar un
teléfono móvil es un ASIC *.
DSP – A digital signal processor es un MP especializado diseñado
específicamente para procesado de señales digitales, generalmente en tiempo
real.
FPGA – Field Programmable Gate Array – el día moderno equivalente a 7400
series lógicas, que contiene bloques lógicos programables y permite que el
mismo FPGA se utilice en aplicaciones diferentes.** . (Los diseñadores de los
sistemas basados en FPGL normalmente utilizan HDL como Verilog y VHDL)
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 15
Introducción a los Sistemas Industriales
Media Processors es un sistema en chip (SoC)avanzado especialmente
adecuado para distribuir una alta calidad de vídeo, audio, gráficos, imágenes y
aplicaciones informáticas intensivas dentro de un entorno de baja energía.
2.8 Sistemas integrados (embebidos)
Existen numerosas definiciones de sistemas embebidos, algunas son:
“Un sistema embebido es cualquier dispositivo que incluye un computador
programable, pero en sí mismo no es un computador de propósito general”
[11].
“Un sistema embebido es un sistema electrónico que contiene un
microprocesador o microcontrolador; sin embargo, no pensamos en ellos como
un computador” [5].
“Un sistema embebido es un sistema cuya función principal no es
computacional, pero es controlado por un computador integrado. Este
computador puede ser un microcontrolador o un microprocesador. La palabra
embebido implica que se encuentra dentro del sistema general, oculto a la
vista, y forma parte de un todo de mayores dimensiones” [12].
Un sistema embebido posee hardware de computador junto con software
embebido como uno de sus componentes más importantes. Es un sistema
computacional dedicado para aplicaciones o productos. Puede ser un sistema
independiente o parte de un sistema mayor, y dado que usualmente su
software está embebido en ROM (Read Only Memory) no necesita memoria
secundaria como un computador. Un sistema embebido tiene tres componentes
principales:
1. Hardware.
2. Un software primario o aplicación principal. Este software o aplicación lleva
a cabo una tarea en particular, o en algunas ocasiones una serie de tareas.
3. Un sistema operativo que permite supervisar la(s) aplicación(es), además de
proveer los mecanismos para la ejecución de procesos. En muchos sistemas
embebidos es requerido que el sistema operativo posea características de
tiempo real [10].
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 16
Introducción a los Sistemas Industriales
¿Dónde encuentro sistemas embebidos?
En todas partes, pues un sistema embebido es un ordenador más, que a
diferencia de un Personal Computer, por ejemplo, carece de teclado y pantalla
en la mayoría de los casos. Dicho de otra manera, un sistema embebido
consiste de una electrónica programable especialmente diseñada para
soluciones específicas. Estas pueden ser:
•
•
•
•
•
•
•
Sistemas de telefonía fija o móvil, por ejemplo un terminal telefónico
móvil.
Automatización de procesos de producción
Equipos e instrumentación industrial
Sistemas de transporte, desde cintas transportadoras, sistemas
robotizados
hasta
vehículos
de
transporte
de
todo
tipo.
En este capítulo cabe resaltar el sector de la automoción, en donde un
turismo de diseño actual puede incorporar hasta más de 40 sistemas
embebidos.
Estos
controlan
áreas
tan
especiales,
como
el
funcionamiento del motor de gasolina o gasóleo como el control de par
MSR, sistema de frenado antibloqueo ABS, bloqueo diferencial
electrónico EDS, sistema de control de tracción ASR, control de
estabilidad con asistencia de frenado ESP, airbags, la cerradura
centralizada con su mando a distancia, etc. etc.
Electrodomésticos de todo tipo, como microondas, lavadoras, frigoríficos,
lavavajillas, etc.
Tiene una gran aplicación en la industria juguetera y de ocio
Sistemas periféricos de un PC, como los MODEM, router, teclados,
ratones de nueva generación, equipos multimedia, etc.
El sistema embebido es por tanto un ordenador especializado para una
solución especializada en donde prevalecen las siguientes características:
•
•
•
•
Esta especialmente diseñado para la solución óptima de la tarea o
tareas a resolver.
Generalmente es una "pieza especializada" instalada en un sistema
anfitrión
A diferencia de un PC, el sistema embebido se dota con los módulos
estrictamente necesarios para su función. De ahí su coste óptimo.
Es una solución única en el mercado, no existe otra igual.
La incorporación de un sistema embebido proporciona a un producto un valor
añadido importante que lo distingue claramente de los productos de la
competencia. Esto es posible gracias a que el sistema embebido con respecto
a la solución anterior proporciona una:
•
Solución más precisa y rápida en su especialidad respecto a la solución
anterior
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 17
Introducción a los Sistemas Industriales
•
•
•
Mayor número de opciones respecto a la solución anterior
Coste reducido, por lo tanto reducción de costes en el proceso de
fabricación
Aumenta la competitividad del producto por su diferenciación respecto a
otros productos similares
Los sistemas embebidos poseen ciertas características que los distinguen de
otros sistemas de cómputo, a continuación estudiaremos las más importantes
[10]:
1. Funcionamiento específico. Un sistema embebido usualmente ejecuta un
programa específico de forma repetitiva. Por ejemplo un pager, siempre en
un pager. En contraste, un sistema de escritorio ejecuta una amplia
variedad de programas, como hojas de cálculo, juegos, etc.; además nuevos
programas son añadidos frecuentemente. Por supuesto pueden haber
excepciones, podría ocurrir que el programa del sistema embebido fuese
actualizado a una nueva versión. Por ejemplo, un teléfono celular podría
actualizarse de alguna manera.
2. Fuertes limitaciones. Todos los sistemas de computación poseen limitaciones
en sus métricas de diseño, pero en los sistemas embebidos son muy
fuertes. Una métrica de diseño es una medida de algunas características de
implementación, como: costo, tamaño, desempeño, y consumo de energía.
Los sistemas embebidos generalmente deben ser poco costosos, poseer un
tamaño reducido, tener un buen desempeño para procesar datos en tiempo
real, y además consumir un mínimo de energía para extender el tiempo de
vida de las baterías o prevenir la necesidad de elementos adicionales de
enfriamiento.
3. Reactivos y tiempo real. Muchos sistemas embebidos deben ser reactivos o
reaccionar ante cambios en el ambiente, además de realizar algunos
cálculos en tiempo real sin ningún retraso, es decir, se deben tener
resultados en tiempos fijos ante cualquier eventualidad. Por ejemplo, el
módulo de control de viaje de un automóvil continuamente monitorea la
velocidad y los sensores de frenos, reaccionando ante cualquier
eventualidad. Ante un estímulo anormal, el módulo de control debe realizar
los cálculos de forma precisa y acelerada para garantizar la entrega de los
resultados dentro de un tiempo límite, una violación en este tiempo podría
ocasionar la pérdida del control del automóvil. En contraste, un sistema de
escritorio se enfoca en realizar cálculos con una frecuencia no determinada
y la demora de los mismos no producen fallas en el sistema.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 18
Introducción a los Sistemas Industriales
2.9 Paralelismo en MP
Necesidad de paralelismo
Un computador paralelo es un conjunto de elementos de proceso que
cooperan para resolver rápidamente grandes problemas. Con la arquitectura
clásica, existe una limitación en las posibilidades debido a la presencia de
múltiples cuellos de botella, memoria, unidades funcionales así como, límites
en la capacidad de integración, dificultades de manejo de altas frecuencias en
circuitos y crecimiento incontrolado de la disipación de calor al aumentar la
frecuencia [4].
La computación paralela es inevitable para satisfacer la demanda de las
aplicaciones con gran necesidad de potencia de cálculo. Las tendencias de las
demandas se pueden clasificar en:
Tendencias tecnológicas: el número de transistores en un CI crece
rápidamente. Se esperan crecimientos lentos de la frecuencia de reloj.
Tendencias en arquitectura: límites del paralelismo a nivel de instrucción
(superescalares) y paralelismo a nivel de tareas la vía más adecuada.
Tendencias actuales: los microprocesadores actuales tienen soporte para
multiproceso. Aparecen estaciones de trabajo multiprocesador: Sun, SGI, HP.
Los microprocesadores del mañana serán multiprocesadores.
Tendencia en las aplicaciones: Realimentación entre la demanda de potencia y
la complejidad de las aplicaciones, amplio rango de prestaciones demandadas
y progresiva potencia con coste progresivo [4].
Ley de Moore y evolución de la arquitectura de microprocesadores
El fundador y primer directivo de Intel, Gordon Moore, formuló la llamada ley
de Moore que en una versión simplificada dice: cada tres años la potencia de
los ordenadores se multiplica por cuatro, es decir, que cada dieciocho meses
se duplica el número de transistores por chip. De hecho, la evolución de las
prestaciones de las computadoras es mucho más rápida que la de otro tipo
de artefactos como, por ejemplo, los medios de transporte (coches, barcos,
aviones) [7].
La estadística de los últimos veinticinco años lo confirma, y las previsiones de
los especialistas no prevén un cambio de la ley en los próximos años.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 19
Introducción a los Sistemas Industriales
Figura 9: Diagrama de la ley de Moore, 1970 -2010
Hay que señalar, de todas maneras, que la ley de Moore se refiere a la parte
física (hardware) de los ordenadores. Desgraciadamente, la capacidad de
producción de software no sigue una dinámica tan acelerada. Hay problemas
muy de fondo, ligados a la modesta capacidad del ser humano para
transformar su conocimiento sobre algún tema en automatismos conceptuales
estructurados. De todos modos, se han producido avances importantes de
productividad en la construcción de software. La mejora de las técnicas de
concepción y elaboración de programas, así como una tendencia creciente en
la reutilización de sistemas informáticos en entornos similares permiten seguir,
aunque sea siempre con cierto retraso, el ritmo acelerado de incremento de la
potencia del hardware [7].
Sin embargo, las necesidades actuales de la sociedad nos llevan a gestionar
el conocimiento estructurado y no sólo datos. Si hasta hace poco la potencia
del hardware era una limitación significativa para llevar a cabo esta gestión,
con la potencia actual y las perspectivas abiertas a corto plazo, esta
limitación se está reduciendo. Nuevos modelos de programas, basados en la
aplicación intensiva de modelos matemáticos y en inteligencia artificial, van
permitiendo abordar nuevos campos de aplicación inteligente [7].
Pipe-line de instrucción
Las principales mejoras en eficiencia de los computadores no ocurren sólo por
mejoras en la tecnología de construcción de estos, sino también por el
desarrollo de técnicas que permiten aprovechar procesamiento paralelo en el
computador. Existen distintos niveles a los cuales se puede aprovechar el
paralelismo, siendo el más básico el paralelismo a nivel de la instrucción [3].
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 20
Introducción a los Sistemas Industriales
Cada instrucción que se ejecuta un computador pasa por un ciclo, que va
desde que es seleccionada desde memoria hasta que completa su objetivo.
Este ciclo aunque es similar en todas las arquitecturas de computadores,
presenta algunas variaciones, dependiendo de la complejidad de la
microarquitectura y de decisiones de diseño. El computador básico Harvard por
ejemplo, tendrá un cierto ciclo, pero este no será exactamente igual al de una
arquitectura x86 o de un PIC16F87AA
El ciclo de una instrucción se caracteriza por corresponder a una secuencia
de pasos que debe recorrer la instrucción, cada uno de los cuales estará a
cargo de una unidad funcional distinta. Este tipo de procesos secuenciales con
etapas independientes se conoce como pipeline. Existen diversos procesos que
pueden ser modelados como un pipeline, siendo los más comunes las líneas
de ensamblaje industriales, en las cuales distintas tareas son ejecutadas sobre
un producto (por ejemplo, automóvil) y luego de ejecutar todas las tareas se
obtiene un producto final terminado [3].
En el caso del procesamiento de la instrucción, esta secuencia de etapas se
conoce como instruction pipeline, que contiene las distintas partes del ciclo de
la instrucción antes descrito. A diferencia de las líneas de ensamblaje, en el
instruction pipeline no se obtiene un producto final, sino que el resultado
corresponde a lo que haya ocurrido a lo largo del proceso. La gran ventaja
de un pipeline de ensamblaje está en que es posible paralelizar la producción
de un producto (por ejemplo, auto), dado que al mismo tiempo que se le esté
aplicando un proceso a un elemento (por ejemplo, agregar las puertas), es
posible estar ejecutando otra tarea sobre otro elemento (por ejemplo, construir
el chasis). De esta forma, al dividir la producción completa en tareas menores
se logra reducir el tiempo, ya que se aprovecha que cada parte del proceso
es independiente, y que por tanto queda ((libre)) una vez que un determinado
elemento ha pasado por esta. En el instruction pipeline ocurre lo mismo que
en el pipeline de ensamblaje: la idea es poder reutilizar cada una de las
subetapas para ir procesando otras instrucciones de manera simultánea.
Supongamos el siguiente ejemplo: se quieren ejecutar 3 instrucciones seguidas
en el computador básico modificado. Como señalamos anteriormente, dado
que la instrucción más lenta toma 12 nanosegundos (ns), el ciclo del clock
debe tardar ese tiempo como mínimo siempre. Considerando esto, las tres
instrucciones tomarían 36 ns.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 21
Introducción a los Sistemas Industriales
Figura 10: Diagrama ejecución sin pipeline
Para poder aprovechar la instrucción pipeline, hay que considerar que cada
instrucción se ejecuta en una secuencia de etapas, cada una de las cuales
ocupa una unidad funcional distinta (al igual que en la línea de ensamblaje) y
por tanto, una vez que se desocupa una etapa de procesar una instrucción
puede inmediatamente comenzar a procesar la siguiente. Para lograr esto es
necesario que en cada ciclo del clock no se procese toda una instrucción,
sino sólo una etapa del ciclo. Con esto podemos tener ciclos de clocks más
rápidos. El tiempo del ciclo estará limitado ahora no por la instrucción más
lenta, sino por la etapa más lenta, lo que continuando con el ejemplo anterior
serían 4 ns para las etapas de acceso a memoria.
Con esta modificación, el procesamiento de las 3 instrucciones quedaría de la
siguiente manera:
Figura 11: Diagrama de ejecución con pipeline
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 22
Introducción a los Sistemas Industriales
2.10 Evolución de los
microprocesadores Intel.
microprocesadores.
Resumen
de
los
Han pasado más de 25 años desde que Intel diseñara el primer
microprocesador, siendo la compañía pionera en el campo de la fabricación
de estos productos, y que actualmente cuenta con más del 90 por ciento del
mercado.
Intel 4004
Primer procesador 4004, presentado en el
mercado en 1971, con características únicas
para
su
tiempo:
la
velocidad
de
reloj
sobrepasaba por poco los 100 KHz, disponía de
un ancho de bus de 4 bits y podía manejar un
máximo de 640 bytes de memoria. Entre sus
aplicaciones, cabe destacar su presencia en la
calculadora Busicom, así como dotar de los
primeros tintes de inteligencia a objetos
inanimados.
Figura 12: Intel 4004
Intel 8008
En 1972, Intel anunciaba una versión mejorada de su
procesador: Intel 8008, con un bus de 8 bits, y memoria
direccionable ampliada a los 16 Kb. Además, llegaba a la
cifra de los 3500 transistores, casi el doble que su
predecesor, y se le puede considerar como el antecedente
del procesador que serviría de corazón al primer
ordenador personal.
Figura 13: Microprocesador Intel
8008
Intel 8080
Apareció en 1974. Fue usado en el ordenador Altair,
cuyo nombre proviene de un destino de la nave
Enterprise en uno de los capítulos de la popular
serie de televisión Star Trek la semana en la que se
creó el ordenador
Contaba con 4500 transistores, y velocidad de reloj
de 2 MHZ.
Figura 14: Microprocesador Intel 8080
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 23
Introducción a los Sistemas Industriales
Intel 8086/8088
En junio de 1978 y de 1979 hacían su aparición
los microprocesadores 8086 y 8088, que pasaron
a formar el denominado IBM PC, con millones de
unidades de ordenadores de sobremesa vendidas.
De los dos procesadores, el más potente era el
8086, con un bus de 16 bits, velocidades de reloj
de 5, 8 y 10 MHz, 29000 transistores usando la
tecnología de 3 micras y hasta un máximo de 1
Figura 15: Microprocesador Intel
Mega de memoria direccionable. El rendimiento se
8086/8088
multiplicó por 10 con respecto a su antecesor, lo
que suponía un auténtico avance en lo que al
mundo de la informática se refiere. En cuanto al procesador 8088, era
exactamente igual a éste, salvo su bus, de 8 bits en lugar de uno de 16,
siendo más barato y obteniendo mejor respaldo en el mercado.
Intel 80286
1982, aparición de los primeros 80286. Con memoria
virtual de hasta 1 Giga. Bus de 16 bits, 134000
transistores usando una tecnología de 1.5 micras, un
máximo de memoria direccionable de 16 Megas y
velocidades de reloj de 8, 10 y 12 MHz. En términos
de rendimiento, podíamos decir que se había
multiplicado entre tres y seis veces la capacidad del
8086, y suponía el primer ordenador que no fabricaba
IBM en exclusiva, sino que otras muchas compañías
se decidieron a crear sus propias máquinas.
Figura 16: Microprocesador
Intel 80286
Intel 80386
1985, aparición del procesador 80386DX, con
arquitectura de 32 bits. El reloj llegaba ya hasta un
máximo de 33 MHz, y era capaz de direccionar 4
Gigas de memoria, tamaño que todavía no se ha
superado por otro procesador de Intel dedicado al
mercado doméstico. En 1988, Intel desarrollaba un
poco tarde un sistema sencillo de actualizar los
antiguos 286 gracias a la aparición del 80386SX,
con el bus de datos en 16 bits, pero a menor
coste. Estos procesadores irrumpieron con la
explosión del entorno gráfico Windows, desarrollado
por Microsoft unos años antes, pero que no había Figura 17: Microprocesador Intel
tenido la suficiente aceptación por parte de los
8386
usuarios.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 24
Introducción a los Sistemas Industriales
Intel 80486
Apareció en 1989. Ya cuenta con una unidad de
punto flotante en el chip. Cuenta con caché, ruta
de datos íntegra y FPU.
Figura 18: Microprocesador Intel 80486
Intel Pentium
Primero procesadores Intel que a un número
nombre, sino una palabra. Estos procesadores
partían de una velocidad inicial de 60 MHz,
llegado hasta los 200 MHz, algo que nadie había
capaz de augurar unos años antes.
por
que
han
sido
Figura 19: Microprocesador Intel
Pentium
Intel Pentium Pro / II/III
1995,
aparición
del
procesador
Pentium
Pro.
Arquitectura de 64 bits y empleo de una tecnología
revolucionaria de 32 micras. El procesador contaba
con un segundo chip en el mismo encapsulado, que
se encargaba de mejorar la velocidad de la memoria
caché, lo que resultaba en un incremento del
rendimiento sustancioso. Las frecuencias de reloj se
mantenían como límite por arriba en 200 MHz,
partiendo de un mínimo de 150 MHz.
Figura 20: Microprocesador
IntelPentium Pro/II/III
Intel Pentium 4
Creado en 2001, cuenta con una pipeline profunda y alta
velocidad de reloj. Las unidades comienzan a hacerse invisibles en
esta escala.
Figura 21: Microprocesador
Intel Pentium 4
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 25
Introducción a los Sistemas Industriales
Itanium 2
Creado en 2002, conjuntamente por Intel y HP. Basado en la
tecnología EPIC. Bus de doble velocidad de datos (DDR). Jerarquía de
caché común.
Figura 22: Microprocesador
Itanium 2
3. CONCLUSIONES
Un microprocesador es un microcircuito muy potente que controla los demás
componentes de un sistema dado. Los componentes controlados por un
microprocesador pueden ser plaquetas diferentes, o piezas separadas de un
equipo eléctrico. Si se optimiza el microprocesador para aplicaciones de
control embebidas se hablará de microcontrolador, especialmente diseñado
para una tarea específica.
Los componentes de un microprocesador son: la ALU, el registro de datos, la
unidad de control, la unidad de memoria, donde se encuentran la ROM y la
RAM y los buses de conexión (de direcciones, datos y control).
Para que las instrucciones tengan una coherencia se ha creado la arquitectura
del Set de Instrucciones (ISA), que indica cómo se deben escribir los
programas. Los conceptos que se especifican son: los tipos de instrucciones
(de carga, aritméticas, lógicas, etc.), los tipos de datos y los modos de
direcciones.
Según la interfaz de la memoria se pueden tener dos tipos de arquitectura:
Von Neumann, con un mismo bus para la memoria ROM y RAM, ambas como
un conjunto único, o la arquitectura Harvard, con buses separados,
independientes de la memoria.
La arquitectura von Neumann requiere menos líneas que la Harvard para
conectar la CPU con la memoria, lo que significa una conexión más simple
entre ambas. Pero con esta arquitectura es imposible manipular
simultáneamente datos e instrucciones, debido a la estructura de buses únicos,
algo que sí es posible en la arquitectura Harvard, que tiene buses separados.
Esto confiere a la arquitectura Harvard la ventaja de una mayor velocidad de
ejecución de los programas.
Una gran parte de los microcontroladores se encuentran en sistemas
embebidos (o integrados) que se encuentran prácticamente en todos los
aparatos electrónicos: reloj despertador, electrodomésticos, teléfonos móviles,
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 26
Introducción a los Sistemas Industriales
etc. Estos sistemas integrados cumplen una función específica, por lo que
tienen limitaciones en cuanto a su función y han de ser reactivos en tiempo
real.
Dadas las exigencias de la demanda, se hace necesario el paralelismo en los
sistemas de computación, para adquirir más potencia. Ya se predijo, con la ley
de Moore en los años sesenta, que la potencia de ordenadores se
multiplicaría por 4 cada 3 años (se duplicaría el número de transistores por
chip cada 18 meses), lo que se ha venido cumpliendo durante los últimos 30
años. Es por ello, que cada vez se necesita mayor rendimiento y potencia.
Esto se consigue con la pipeline de instrucción.
Por último, se ha hecho repasado la evolución de los microprocesadores de
Intel: desde el primer Intel 4004 creado en 1972 hasta el Itanium 2, creado en
2002.
4. BIBLIOGRAFÍA Y/O REFERENCIAS
[1](ALU) A. Zuluaga y A Astarloa. Sistemas de procesamiento digital.
Publicaciones Delta 2008.
[2] CAPEL. Microcontroladores ARM. Departamento técnico. 2008. Disponible en
www.captura-el.com. Accedido el 10 de Agosto 2013.
[3] A. Echevarria. Pipeline: paralelismo a nivel de instrucción. Departamento de
Ciencia de la Computación. Universidad pontificia de Chile.
[4] J.A. Frutos, R Durán. Universidad de Alcalá. Asignatura Arquitectura e
ingeniería de computadores. Disponible en atc2.aut.uah.es.
[5] Morton, T. “Embedded Microcontrollers”. Prentice Hall. 2000.
[6] Simon, D. “And Embedded Software Primer”. Addison-Wesley Professional.
1999.
[7] I. Tubella y J. Vilaseca. Sociedad del conocimiento: cómo cambia el mundo
ante nuestros ojos. Editorial UOC 2005.
[8] D.A Pérez. Sistemas embebidos y sistemas operativos embebidos. Lecturas
en Ciencias de la Computación. Universidad Central de Venezuela. Centro de
Investigación en Comunicación y Reces (CICORE). 2009.
[9] J.G. Tena. Sistemas de carga y arranque. Editorial Paraninfo. 2ª Edición.
2011
[10] F. Vahid y T. Givargis. Embedded System Design. John Wiley & Sons, Inc.
2002.
[11] F.E. Valdés y R. Pallás. Microcontroladores: fundamentos y aplicaciones con
PIC. Editorial Marcombo, 2007.
[12] T. Wilmshurst. An Introduction to the Design of Small Scale Embedded
Systems with examples from PIC, 80C51 and 68HC05/08 Microcontrollers.
Palgrave Foundations 2003.
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 27
Introducción a los Sistemas Industriales
[13] W. Wolf. Computers as Components: Principles or Embedded Computing
System Design. Segunda edición. Morgan Kaufmann 2008.
5. ENLACES DE INTERÉS
http://es.wikiversity.org
http://howardhuang.us/teaching/
http://ocw.uc3m.es/
MICROPROCESADORES Y SISTEMAS MP. PARALELISMO EN MP 28
Descargar