Sei sulla pagina 1di 27

TALLER MICROCONTROLADORES

ARNOLD TORRES NIO


1116544192

TRABAJO PRESENTADO A
INGENIERO: EDWIN ALEXIS PINEDA MUOZ

CENTRO AGROINDUSTRIAL Y FORTALECIMIENTO EMPRESARIAL DE CASANARE


SENA- YOPAL
2014

TALLER INTRODUCCION A LOS SISTEMAS EMBEBIDOS

1. Qu es un sistema embebido?
Un sistema embebido (SE) o sistema empotrado lo vamos a definir como un sistema
electrnico diseado especficamente para realizar unas determinadas funciones,
habitualmente formando parte de un sistema de mayor entidad. La caracterstica
principal es que emplea para ello uno o varios procesadores digitales (CPUs) en
formato microprocesador, microcontrolador o DSP lo que le permite aportar
inteligencia al sistema anfitrin al que ayuda a gobernar y del que forma parte.
En el diseo de un sistema embebido se suelen implicar ingenieros y tcnicos
especializados tanto en el diseo electrnico hardware como el diseo del software. A

su vez tambin se requerir la colaboracin de los especialistas en el segmento de


Usuarios de tales dispositivos, si hubiese lugar a ello.
2. Como se clasifican los sistemas embebidos.
Se entiende que en nuestra definicin de SE, ste siempre alberga una o ms CPUs
ya que son el elemento encargado de aportar la inteligencia al sistema. El formato en
el que la CPU se encuentra puede ser el de microprocesador, micro controlador (C),
DSP, etc. Segn este formato, la memoria necesaria puede ir integrada dentro del chip
que contiene la CPU, de forma externa a ste o un bajo ambas posibilidades. La oferta
en el mercado de semiconductores tanto de microprocesadores como
microcontroladores y DSP es elevada y se requiere de una cuidada fase de estudio
inicial para seleccionar el mas adecuado a cada aplicacin.
- Microprocesador.
- Micro controlador de 4, 8, 16 o 32 bits.
- DSP de punto fijo o punto flotante.
- Diseo a medida custom tales como los dispositivos FPGA
Microprocesador: Es un chip que incluye bsicamente la CPU y circuitera
Relacionadas con los buses de datos y memoria. Para poder realizar su tarea se
necesitan otro chips adicionales (Sistema mnimo) tales como memoria, circuitos de
entrada salida E/S (I/O) y reloj.

Microcontrolador (MCU): Es un dispositivo que alberga el sistema mnimo


dentro de un nico chip, esto es, incluye CPU, buses, reloj, memoria ROM, memoria
RAM, E/S, otros perifricos tales como conversores A/D, temporizadores (timers), etc.
Procesador Digital de Seal (DSP): Son microcontroladores o
microprocesadores diseados especficamente, tanto en arquitectura hardware como
conjunto de instrucciones, para realizar tareas tpicas de procesamiento digital de
seales en tiempo real.
DSC: Dispositivos mixtos microcontrolador/DSP que algunos fabricante
ofrecen dentro de su catlogo de productos.
3. Mencione por lo menos 15 aplicaciones de los sistemas embebidos

Los sistemas embebidos se encuentran en una variedad de dispositivos electrnicos comunes,


tales como consumibles electrnicos (telfonos celulares, pagers, cmaras digitales, video
juegos porttiles, calculadoras, PDAs, etc.), electrodomsticos (hornos microondas, mquinas
contestadoras, termostatos, lavadoras, etc.), equipos de oficina (fax, copiadoras, impresoras,
scanners), equipos de negocios (caja registradora, sistemas de alarma, lectores de tarjeta y
cajeros automticos), y automviles (control de transmisin, control de viaje, inyeccin de
combustible, ABS, etc.). Podra decirse que prcticamente cualquier dispositivo que se ejecute
con electricidad o ya tiene un sistema computacional embebido o prximamente lo tendr.
4. Realice una descripcin acerca de los perifricos de sistemas embebidos (Puertos I/O,
temporizadores, Conversor A/D, etc).
Puertos de Entrada y Salida digitales
La mayor parte de los pines que posee el encapsulado de un chip microcontrolador se
dedican a soportar las numerosas lneas de E/S que lo comunican con el mundo
exterior.
Esta lneas de E/S se destinan a proporcionar el soporte a las seales de entrada,
salida y control necesarias en cada diseo.
Los pines de E/S se suelen asociar en puertos de 8 bits, de 16 bits o de un numero
determinado de pines, dependiendo de cada referencia de chip en concreto. La
tensin y la corriente de entrada/salida de cada pin depender tambin de cada chip
por lo que siempre es necesario consultar el data sheet suministrado por el fabricante.
Las lneas digitales de cada uno de los puertos pueden configurarse como Entrada o
como Salida, quedando un circuito semejante al que aparece en la figura 2.3. Para ello
se necesitar configurar algn registro del microcontrolador.
En el caso de la familia PIC se pone un 1 un 0 en el bit correspondiente del registro TRISA, TRISB,
segn el puerto seleccionado. La mxima corriente que son capaces de entregar auna carga o son
capaces de adquirir son parmetros de gran importancia. Cuando el dispositivo sea incapaz de
suministrar la suficiente corriente a un determinado dispositivo, ser necesario intercalar un DRIVER de
corriente adecuado.
Temporizadores o Timers.
Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta
de acontecimientos que suceden en el exterior (contadores).

Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin


dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj,
ciclos de instruccin o algn mltiplo hasta que se desborde y llegue a 0, momento en
el que se produce un aviso, generalmente, en forma de interrupcin.
Cuando se desean contar acontecimientos que se materializan por cambios de nivel o
flancos en alguna de las patitas del micro controlador, el mencionado registro se va
Incrementando o decrementando al ritmo de dichos impulsos.
Para calcular el nmero de periodos que habr que contar para medir un determinado
Intervalo temporal, habr que tener en cuenta:
La frecuencia de reloj principal.
Si empleamos PLL para multiplicar la frecuencia del resonador.
Si empleamos algn prescaler para dividir la frecuencia de entrada al contador.

nmero de ciclos de reloj que se necesitan para ejecutar una instruccin (4


En la familia PIC).
Conversores Analgicos/Digitales (ADC)
Los micro controladores que incorporan un Conversor A/D (Analgico/Digital) pueden
Digitalizar seales analgicas procedentes de sensores u otras fuentes de informacin.
Suelen disponer de un multiplexor analgico que permite aplicar a la entrada del A/D,
En forma secuencial, diversas seales analgicas desde determinados pines del
circuito integrado.

5. De ejemplos de lenguajes de programacin de alto, medio y bajo nivel.


4.1. LENGUAJES DE BAJO NIVEL

Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas
binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y
ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina
cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para
manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin
un mnemnico, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el
ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador.

Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son a menudo
difciles de aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel
son totalmente dependientes de la mquina o de cada procesador. Si se lleva el programa a otra
mquina se debe reescribir el programa desde el principio. Al estar prcticamente diseados a
medida del hardware, aprovechan al mximo las caractersticas del mismo.
Dentro de este grupo se encuentran:
LENGUAJE MQUINA.
ENSAMBLADOR.
o

LENGUAJES DE MEDIO NIVEL

Un lenguaje intermedio se puede definir como una manera de representar procedimientos y


estructuras de datos que sirva como entrada para una MV (Maquina Virtual) en alguna parte de su
jerarqua, entre el lenguaje de entrada (el nivel ms alto) y el cdigo ejecutado en la mquina (el
nivel ms bajo) tanto en el tiempo de compilacin como en el de ejecucin.
Para considerar el papel de los lenguajes intermedios y sus ventajas y desventajas, conviene
destacar la diferencia entre la traduccin de un lenguaje de alto nivel a cdigo mquina
anteriormente a su ejecucin (su compilacin) y su interpretacin, es decir, la conversin de cada
instruccin del lenguaje a cdigo mquina y su ejecucin, una por una, al ejecutar el programa.
Este proceso se realiza a travs de una MV de interpretacin que simula un ordenador cuyo
cdigo mquina es el lenguaje de alto nivel que est siendo interpretado. Y tpicamente, esta MV
se construye a travs de un conjunto de programas de cdigo mquina que representa los
algoritmos y estructuras de datos necesarios para la ejecucin de las instrucciones del lenguaje de
alto nivel. Hay ventajas y desventajas en cada manera de convertir los lenguajes de alto nivel a
cdigo mquina, que se pueden resumir as:
4.2. LENGUAJES DE ALTO NIVEL

El avance en el desarrollo de "compiladores" e "intrpretes" (los dos tipos de programas


traductores) ha sido por lo tanto fundamental en el desarrollo de los lenguajes de "3 generacin"
cuyas ventajas adems de la facilidad de aprendizaje y lectura/escritura son las facilidades de
correccin, transformacin y conversin de un lenguaje a otro.

Los lenguajes de alto nivel tienen normalmente las caractersticas de Transportabilidad. Es decir,
estn implementadas sobre varias maquinas de forma que un programa puede ser fcilmente
Transportado (Transferido) de una maquina a otra sin una revisin sustancial. En ese sentido se
llama "Independientes de la maquina".
Los lenguajes de Alto Nivel son los ms utilizados como lenguaje de programacin. Aunque no
son fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en
un nivel y estilo de escritura fcilmente legible y comprensible por otros programadores.
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por
elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms
conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a 10.
Estn dirigidos a solucionar problemas mediante el uso de EDD's (Estructuras Dinmicas de Datos:
Son estructuras que pueden cambiar de tamao durante la ejecucin del programa. Nos permiten
crear estructuras de datos que se adapten a las necesidades reales de un programa).
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la
maquina/s para la que estn diseando el programa. Tan solo necesitan un traductor que
entiendan el cdigo fuente como las caractersticas de la maquina.
Suelen usar tipos de datos para la programacin y hay lenguajes de propsito general (cualquier
tipo de aplicacin) y de propsito especifico (como FORTRAN para trabajos cientficos).
Ejemplos de estos lenguajes de alto nivel son PASCAL, APL y FORTRAN (para aplicaciones
cientficas), COBOL (para aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de
procesamiento de textos), LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA
(para aplicaciones de programacin de sistemas) y PL/I (para aplicaciones de propsitos generales)
.

6. Qu es lenguaje de mquina, lenguaje assembler y lenguaje C?

LENGUAJE MQUINA.

El lenguaje mquina es el nico lenguaje que entiende directamente la computadora. Por


esta razn, su estructura esta totalmente adaptada a los circuitos de la mquina y muy
alejado de la forma de expresin y anlisis de los problemas propia de los humanos. Esto
hace que la programacin en este lenguaje resulte tediosa y complicada, requirindose un
conocimiento profundo de la arquitectura fsica del ordenador. Frente a esto, el cdigo
mquina hace posible que el programador utilice la totalidad de los recursos que ofrece el
ordenador, obtenindose programas muy eficientes (es decir, que aprovechan al mximo
los recursos existentes) en tiempo de ejecucin y en ocupacin de memoria.
LENGUAJE EN C

Adems del papel de los lenguajes intermedios en la compilacin parcial, se puede destacar su
papel en la compilacin estndar. Como ejemplo se puede considerar C como lenguaje intermedio
para un lenguaje compilado nuevo. Si el autor de un nuevo lenguaje decide utilizar C, por ejemplo,
como su lenguaje intermedio, slo tendr que implementar una MV para convertir el cdigo
fuente de su lenguaje a C, ahorrando mucho trabajo.

Las ventajas de utilizar un lenguaje tan establecido como C como lenguaje intermedio son:
La facilidad de portar el lenguaje a una nueva mquina (slo hay que tener un compilador C
disponible all).
La generacin de cdigo mquina es una tarea muy compleja que requiere un conocimiento
profundo de la arquitectura de la mquina en cuestin y de cada mquina en que se quiere
una versin del lenguaje.
La facilidad de modificar algn rasgo del comportamiento del lenguaje en alguna mquina en
concreto (por ejemplo, caractersticas de memoria o rendimiento se pueden aadir libreras C
customizadas sin grandes problemas).
Las posibilidades disponibles para mapear estructuras intermedias del nuevo lenguaje a
estructuras de datos de C.

Y las desventajas son:

La depuracin es muy difcil porque, entre otras cosas, los errores que ocurren en el cdigo C
no son muy fciles de localizar en lo que ha escrito el programador originalmente en el nuevo
lenguaje.
Las caractersticas de rendimiento y eficiencia del lenguaje estn determinadas por el
compilador C.
Habr ocasiones en las que no exista una buena traduccin entre una estructura en el nuevo
lenguaje y las estructuras de datos en C, por lo que habr una prdida de eficiencia en el
programa resultante (como, por ejemplo, ocurre en la mayora de las ocasiones en que se
compilan estructuras de Prolog a C slo se puede expresar iteracin en Prolog utilizando
recursin).
LENGUAJE ENSAMBLADOR.
El lenguaje ensamblador constituye el primer intento de sustitucin del lenguaje mquina
por uno ms cercano al usado por los humanos. Este acercamiento a las personas se plasma
en las siguientes aportaciones:
Uso de una notacin simblica o nemotcnica para representar los cdigos de operacin
direccionamiento simblico
Se permite el uso de comentarios entre las lneas de instrucciones, haciendo posible la
redaccin de programas ms legibles.

Aparte de esto l LE presenta la mayora de los inconvenientes del lenguaje mquina, como
son su repertorio muy reducido de instrucciones, el rgido formato de instrucciones, la baja
potabilidad y la fuerte dependencia del hardware. Por otro lado mantiene la ventaja del uso
ptimo de los recursos hardware, permitiendo la obtencin de un cdigo muy eficiente.
Ese tipo de lenguajes hacen corresponder a cada instruccin en ensamblador una
instruccin en cdigo mquina. Esta transduccin es llevada a cabo por un programa
traductor denominado Ensamblador.
Para solventar en cierta medida la limitacin que supone poseer un repertorio de
instrucciones, tan reducido, se han desarrollado unos ensambladores especiales
denominados macroensambladores.

Los lenguajes que traducen los macroensambladores disponen de macroinstrucciones cuya


traduccin da lugar a varias instrucciones mquina y no a una sola.
Dado que el lenguaje ensamblador esta fuertemente condicionado por la arquitectura del
ordenador que soporta, los programadores no suelen escribir programas de tamao
considerable en ensamblador. Mas bien usan este lenguaje para afinar partes importantes
de programas escritos en lenguajes de ms alto nivel.
Hay un distinto Lenguaje de Mquina (y, por consiguiente, un distinto Lenguaje
Ensamblador) para cada CPU. Por ejemplo, podemos mencionar tres lenguajes
completamente diferentes, que sin embargo vienen de la aplicacin de los conceptos
anteriores:
Lenguaje Ensamblador de la familia Intel 80x86
Lenguaje Ensamblador de la familia Motorola 68000
Lenguaje Ensamblador del procesador POWER, usado en las IBM RS/6000.

Tenemos 3 fabricantes distintos, compitiendo entre s y cada uno aplicando conceptos


distintos en la manufactura de sus procesadores, su arquitectura y programacin; todos
estos aspectos, influyen en que el lenguaje de mquina y ensamblador cambie bastante.

A) VENTAJAS DEL LENGUAJE ENSAMBLADOR


Una vez que hemos visto la evolucin de los lenguajes, cabe preguntarse: En estos
tiempos "modernos", para qu quiero el Lenguaje Ensamblador?
El proceso de evolucin trajo consigo algunas desventajas, que ahora veremos como las
ventajas de usar el Lenguaje Ensamblador, respecto a un lenguaje de alto nivel:

1. Velocidad

El proceso de traduccin que realizan los intrpretes, implica un proceso de


cmputo adicional al que el programador quiere realizar. Por ello, nos
encontraremos con que un intrprete es siempre ms lento que realizar la misma
accin en Lenguaje Ensamblador, simplemente porque tiene el costo adicional de
estar traduciendo el programa, cada vez que lo ejecutamos.
De ah nacieron los compiladores, que son mucho ms rpidos que los intrpretes,
pues hacen la traduccin una vez y dejan el cdigo objeto, que ya es Lenguaje de
Mquina, y se puede ejecutar muy rpidamente. Aunque el proceso de traduccin
es ms complejo y costoso que el de ensamblar un programa, normalmente
podemos despreciarlo, contra las ventajas de codificar el programa ms
rpidamente.
Sin embargo, la mayor parte de las veces, el cdigo generado por un compilador es
menos eficiente que el cdigo equivalente que un programador escribira. La razn
es que el compilador no tiene tanta inteligencia, y requiere ser capaz de crear
cdigo genrico, que sirva tanto para un programa como para otro; en cambio, un
programador humano puede aprovechar las caractersticas especficas del
problema, reduciendo la generalidad pero al mismo tiempo, no desperdicia ninguna
instruccin, no hace ningn proceso que no sea necesario.
Para darnos una idea, en una PC, y suponiendo que todos son buenos
programadores, un programa para ordenar una lista tardar cerca de 20 veces ms
en Visual Basic (un intrprete), y 2 veces ms en C (un compilador), que el
equivalente en Ensamblador.
Por ello, cuando es crtica la velocidad del programa, Ensamblador se vuelve un
candidato lgico como lenguaje.
Ahora bien, esto no es un absoluto; un programa bien hecho en C puede ser muchas
veces ms rpido que un programa mal hecho en Ensamblador; sigue siendo
sumamente importante la eleccin apropiada de algoritmos y estructuras de datos.
Por ello, se recomienda buscar optimizar primero estos aspectos, en el lenguaje que
se desee, y solamente usar Ensamblador cuando se requiere ms optimizacin y no
se puede lograr por estos medios

7. Escriba por lo menos 10 instrucciones en lenguaje de mquina, lenguaje assembler y


lenguaje C
Instrucciones Lenguaje assembler
.Model SMALL ; indica el modelo de memoria (SMALL)
.STACK 200 ; indica el tamao del STACK (bytes)
.DATA ; indica que la siguiente informacin
___ ; deber quedar en el segmento de datos
.CODE ; indica que la siguiente informacin
___ ; es el programa ejecutable
MOV AH,4CH ;necesario para terminar el programa
INT 21 ; y regresar al prompt C>
END ; Indica el fin del programa
F1: subi $a0, $a0, 1
Lenguaje C:

int
g

A[4]
A[4]

int
=

i,
(g

j,
h)

f,
-

g,

(i

h,

int

h,

=
int

g,

h
+=
i,

+
g,

h,

h;
j);

A[100];
A[8];
A*100+;
A[8];
5;
A*100+;

g
=

int
i,
if
(i
==
j)
f
=

int
i,
while
(A[i]
==

int
sub1(int
g,
{
int
f
=
(g
+
return
}

int
{
if
(n
==
return n*fact(n - 1);}

Lenguaje
0011
0001
1000
1001
0011
1010
0111
0100
1110 1001 0010 1100 C8 30

h
j,
+

g
k)

h;
j,
i

int

h,

h)

A[i];
f,
g,
h;
else
f
=
g
h;
k,
A*100+;
=
i
+
j;
int
i,
int
j)

(i

fact(int
1)

n)
return

1;else

de
1010
1001
1001
0111

f;
j);
f;

0001
1010
1100
0011

8. Qu es un compilador?
Los compiladores son programas de computadora que traducen de un
Lenguaje a otro. Un compilador toma como su entrada un programa
Escrito en lenguaje fuente y produce un programa equivalente escrito en
Lenguaje objeto.
Generalmente al lenguaje fuente se le asocia como lenguaje de alto nivel,
mientras al lenguaje objeto se le conoce como cdigo objeto (cdigo de

01
FF
3A
74

Mquina:
A1
9A
9C
F0

Maq
uina)
escrit
o
espec
fica
ment
e
para
una
maqu
ina
objet
o. A
lo
largo
del
Proce
so de
traduccin el compilador debe informar la presencia de
Errores en el lenguaje fuente.

9. Describa las diferencias entre compilador e interpretador

10.Realizar un esquema donde se muestre la estructura y pasadas de un compilador

11. Describa que es un micro controlador y por lo menos mencione 10 aplicaciones.


Un micro-controlador es, esencialmente, una computadora llevada a una escala liliputiense, de
varios centmetros cuadrados en el peor de los casos .Por supuesto que carece de monitor,
teclado y mouse, pero dentro de sus circuitos, cuenta generalmente con ROM, RAM, puertos
de comunicaciones seriales y convertidores Analgico / Digitales.
Aplicaciones
Hoy en da podemos encontrarlos en juguetes, aparatos electrodomsticos, equipos de audio y
video, incluyendo la tele, estreos, equipos perifricos de cmputo como impresoras y aviones
y cualquier otra mquina que requiera de algn control concierto grado de inteligencia. Una
aplicacin que vale la pena mencionar es el que tienen los micro controladores en la industria
automotriz, probablemente su campo de aplicacin ms importante. Un auto comn usa entre
30 y40 micro controladores que sirven para manejar el sistema de suspensin, la mezcla de
aire-gasolina, la sincronizacin y frecuencia de la ignicin en los cilindros, los frenos ABS y
desplegar informacin al usuario a travs del tablero entre otras cosas. Un auto ms costoso
puede incluir hasta 80microcontroladores, mucha ms potencia de cmputo que la que era
posible en las primeras naves espaciales.

12. Explique la diferencia entre micro controlador y microprocesador.


Muchas veces nos a caido la duda de cual es la diferencia entre un microprocesador y un microcontrolador
cual es la diferencia entre estos y cual sera el mas idoneo para ocupar en algun proyecto. Bueno si se ha
tenido la oportunidad de realizar un diseo con un

Microprocesador, se puede observar que dependiendo del circuito se requeran algunos circuitos integrados
adicionales adems del Microprocesador como por ejemplo:
RAM (para almacenar datos temporalmente y memorias)
ROM (para guardar el programa encargado del proceso del equipo)
Circuito integrado (para los puertos de entrada y salida)
Descodificador de direcciones.

En cambio un Microcontrolador es un sistema cerrado, es en definitiva un circuito

integrado que incluye todos los componentes de un computador. Debido a su reducido


tamao es posible montar el controlador en el propio dispositivo al que gobierna. En
ste caso el controlador recibe el nombre de controlador empotrado.
En donde todas las partes del procesador estn contenidas en su interior y slo salen al
exterior las lneas que gobiernan los perifricos.

En conclucion las estas ventajas son reconocidas inmediatamente para aquellas


personas que han trabajado con losMicroprocesadores y despus pasaron a trabajar con
los Microcontroladores.
Estas
son
las
diferencias
ms
importantes:
Por ejemplo la configuracin mnima bsica de un Microprocesador estaba constituida
por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28
Pines y un decodificador de direcciones de 18 pines; pero un Microcontrolador incluye
todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja
en varios factores: En el circuito impreso por su amplia simplificacin de componentes,
el costo para un sistema basado en Microcontrolador es mucho menor y, lo mejor de
todo, el tiempo de desarrollo de su proyecto electrnico se disminuye
considerablemente.

13. Cules son las principales marcas de micro controladores. Describa las ventajas y
desventajas de cada una.
Los fabricantes de micro controladores son ms de 50, podemos mencionar a:

- Atmel

- Motorola

- Microchip

- NEC

- Hitachi

- Mitsibishi

- Philips

- Matsushita

- Toshiba

- AT&T

- Zilog

- Siemens

- National Semiconductor

14. Qu es arquitectura RISC (Harvard) y arquitectura CISC (Von Newman)?


Arquitecturas Harvard y Von Neumann
La arquitectura de Von Neumann es caracterizada por los procesadores que poseen el mismo
dispositivo de almacenamiento en donde coexisten tanto datos como instrucciones.

Las instrucciones y los datos son almacenados en el mismo formato dentro de la misma
memoria, lo que quiere decir que las instrucciones son datos y comparten el mismo bus de

datos en su transmisin. En principio un programa en ejecucin se puede modificar a s mismo y


en prctica usualmente esto significa que un error ocurri. La ventaja de este tipo de
arquitectura es que es eficiente en la utilizacin de la memoria pero su desventaja es que los
tipos de datos no pueden ser reconocidos sin ambigedad. La arquitectura se compone de las
siguientes unidades o bloques:
Unidad de memoria principal
Unidad aritmtico-lgica.
Unidad de control.
Unidad de entrada y salida.
La arquitectura Harvard esencialmente posee una diferencia muy marcada con respecto a la
arquitectura Von Neumann, la cual es que los procesadores utilizan dispositivos de
almacenamiento fsicamente separados para el manejo de instrucciones y datos. El acceso a
cada espacio de memoria puede llegar a ser mediante buses distintos, es decir, existe un bus de
datos y un bus de instrucciones; pero lo ms habitual es que exista un nico bus de direcciones,
en cuyo caso debe existir alguna seal de control que permita diferenciar a que espacio de
memoria hace referencia (seales de Read, Write y Fetch).

15. Enumere una ventaja de la arquitectura RISC sobre la CISC y una de la CISC sobre la
RISC.
VENTAJAS DEL RISC:

La CPU trabaja ms rpido al utilizar menos ciclos de reloj para ejecutar instrucciones.

Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia


de CISC, RISC conserva despus de realizar sus operaciones en memoria los dos
operando y su resultado, reduciendo la ejecucin de nuevas operaciones.

Cada instruccin puede ser ejecutada en un solo ciclo del CPU

VENTAJAS CISC:

Reduce la dificultad de crear compiladores.


Permite reducir el costo total del sistema.
Reduce los costos de creacin de software.
Mejora la compactacin de cdigo.
Facilita la depuracin de errores

16. Realice una descripcin de las caractersticas del micro controlador PIC16F877 de
Microchip.
El microcontrolador PIC16F877 de Microchip pertenece a una gran familia de micro
controladores de 8 bits (bus de datos) que tienen las siguientes caractersticas generales que los
distinguen de otras familias:

Arquitectura Harvard
Tecnologa RISC
Tecnologa CMOS Estas caractersticas se conjugan para lograr un dispositivo altamente
eficiente en el uso de la memoria de datos y programa y por lo tanto en la velocidad de
ejecucin. Microchip ha dividido sus microcontroladores en tres grandes subfamilias de
acuerdo al nmero de bits de su bus de instrucciones:

Los microcontroladores que produce Microchip cubren una amplio rango de dispositivos cuyas
caractersticas pueden variar como sigue:

Empaquetado (desde 8 patitas hasta 68 patitas)


Tecnologa de la memoria incluida (EPROM, ROM, Flash)
Voltajes de operacin (desde 2.5 v. Hasta 6v)
Frecuencia de operacin (Hasta 20 MHz)

17. Realice una descripcin de las caractersticas del micro controlador MCS08JM60 de
Freescale.
Microcontrolador Freescale MC9S08JM16CLD
MC9S08JM16CLD
Microcontrolador Freescale de 8 bits de la familia HCS08 de bajo costo y alto rendimiento.
16KB de memoria flash para programacin
RAM de 1KB
33 puertos de entrada/salida
8 canales de ADC de 12 bits
2 Timers
Velocidad: 48MHz
Voltaje de alimentacin: 2,7 ~ 5,5V dc
Interfaz SCI / SPI / I2C / USB / LIN
Encapsulado: LQFP-44

18. Haga una descripcin acerca de la arquitectura, memoria de programa, memoria de


datos, registros de control, diagrama de conexiones y repertorio de instrucciones del
microcontrolador PIC16F877.
PIC16F877 ARQUITECTURA
Arquitectura interna del microcontrolador
Este trmino se refiere a los bloques funcionales internos que conforman el
microcontrolador y la forma en que estn conectados, por ejemplo la memoria FLASH
(de programa), la memoria RAM (de datos), los puertos, la lgica de control que
permite que todo el conjunto funcione, etc.

Memoria de programa PiC16F877


Memoria de programa (FLASH)
Es una memoria de 8K de longitud con datos de 14 bits en cada posicin. Como es
del tipo FLASH se puede programar y borrar elctricamente, lo que facilita el desarrollo
de los programas y la experimentacin. En ella se graba o almacena el programa o
cdigos que el microcontrolador debe ejecutar. En la figura 3.8 se muestra el mapa de
la memoria de programa.

La memoria de programa est dividida en cuatro bancos o pginas de 2K cada uno.


El primero va de la posicin de memoria 0000h a la 07FFh, el segundo va de la 0800h
a la 0FFFh, el tercero de la 1000h a la 17FFh y el cuarto de la 1800h a la 1FFFh.
Vector de reset. Cuando ocurre un reset al microcontrolador, el contador de programa
se pone en ceros (0000H). Por esta razn, en la primera direccin del programa se debe
escribir todo lo relacionado con la iniciacin del mismo.
Vector de interrupcin. Cuando el microcontrolador recibe una seal de interrupcin, el
contador de programa apunta a la direccin 04H de la memoria de programa, por eso, all se
debe escribir toda la programacin necesaria para atender dicha interrupcin.
Pila (Stack)
Estos registros no forman parte de ningn banco de memoria y no permiten el acceso
por parte del usuario. Se usan para guardar el valor del contador de programa
cuando se hace un llamado a una subrutina o cuando se atiende una interrupcin;
luego, cuando el micro regresa a seguir ejecutando su tarea normal, el contador de
programa recupera su valor leyndolo nuevamente desde la pila. El PIC16F877 tiene
una pila de 8 niveles, esto significa que se pueden anidar 8 llamados a subrutina sin
tener problemas.
Memoria de datos (RAM)
El PIC16F877 posee cuatro bancos de memoria RAM, cada banco posee 128 bytes.
De estos 128 los primeros 32 (hasta el 1Fh) son registros que cumplen un propsito
especial en el control del microcontrolador y en su configuracin. Los 96 siguientes
son registros de uso general que se pueden usar para guardar los datos temporales
de la tarea que se est ejecutando, figura 3.9.
Todas las posiciones o registros de memoria se pueden acceder directa o indirectamente

(esta ltima forma a travs del registro selector FSR). Para seleccionar que pgina o
banco de memoria se trabaja en un momento determinado se utilizan los bits RP0 y RP1
del registro STATUS.
RESGISTROS DE CONTROL

19. Haga una descripcin acerca de la arquitectura, memoria de programa, memoria de


datos, registros de control, diagrama de conexiones y repertorio de instrucciones del
microcontrolador MCS08JM60.

REGISTRO DE CONTROL

MAPAS

DE

MEMORIA

20. Por qu son importantes los sistemas embebidos en la automatizacin industrial?


Los sistemas embebidos son considerados como el rea de aplicacin de mayor importancia
de la tecnologa de la informacin en el transcurso de los aos venideros gracias a esta
expectativa que ha venido creciendo alrededor de estos sistemas, surge un trmino
conocido como la era post-PC, ste denota el hecho de que en el futuro los computadores
personales estndares se convertirn en los sistemas hardware menos dominantes. Los
desarrollos en software y hardware sern empleados cada vez en sistema ms pequeos en
muchos casos invisibles al usuario en el orden de facilitar al mximo el empleo de los
diferentes productos. En la actualidad el nmero de microprocesadores embebidos en un
producto determinado excede la cantidad de los que se pueden encontrar en
computador personal.

Potrebbero piacerti anche