Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TRABAJO PRESENTADO A
INGENIERO: EDWIN ALEXIS PINEDA MUOZ
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
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
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)
.
LENGUAJE MQUINA.
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.
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.
1. Velocidad
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.
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.
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
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
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.
VENTAJAS CISC:
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:
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
(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
REGISTRO DE CONTROL
MAPAS
DE
MEMORIA