Está en la página 1de 69

Arquitectura de Computadores II

Facultad de Ingeniera
Universidad de la
Repblica
Instituto de Computacin
Arquitectura de Computadores II
Temas

Repaso de conceptos

Sistemas Embebidos

icrocontroladores

S!stem on a C"ip

Single #oard Computers

Sistemas $perativos
Arquitectura de Computadores II
CISC vs RISC

CISC Comple% Instruct Set Computers

RISC Reduced Instruct Set Computers

Caractersticas de CISC

&ran nmero de instrucciones'

Instrucciones tiles para el programador'


Arquitectura de Computadores II
(ardvard vs )rinceton

)rinceton *+on
,eumann-

emoria comn para


almacenar el programa !
las variables'

)ermite la e.ecucin de
cdigo automodi/icable'

Un nico bus entre la C)U


! la memoria'
Arquitectura de Computadores II
(arvard vs )rinceton

(arvard

E.ecuta las
instrucciones en
menor cantidad de
ciclos por instruccin0
pues logra un
paralelismo a nivel de
instruccin ma!or

Cada palabra *datos e


instruccin- tiene un
tama1o adecuado'
Arquitectura de Computadores II
Sistemas Embebidos
Arquitectura de Computadores II
23u4 es un Sistema
Embebido5

Un sistema embebido *S'E- es un


sistema computador destinado a una
aplicacin en particular'

6os sistemas computadores de


propsito general tienen muc"as
aplicaciones0 segn el so/t7are que se
instale'
Arquitectura de Computadores II
Caracteristicas

Es una combinacin de "ard7are0


so/t7are ! elementos mec8nicos'

Espec/icos para una tarea por lo


que son optimi9ados para la
misma'
Arquitectura de Computadores II
Caracteristicas

Interactuan con el entorno

:irectamente sensando ! controlando


se1ales sobre el cable'

Comunic8ndose con otros dispositivos'

Interaccion con restricciones de tiempo


real'

#a.o consumo'
Arquitectura de Computadores II
6os S'E en nuestras vidas

Electrodom4sticos0 peri/4ricos para


computadora0 control industrial0
tel4/onos celulares0 &)S0 routers0 mp;0
m8quinas de /otos0 consolas de
video.uegos0 equipos para medicina0
canaleras para T+0 :+:0 autos0 entre
otros'
Arquitectura de Computadores II
a!ores e%igencias
Calidad
Disponibilidad
Seguridad (safety)
Confiabilidad
Arquitectura de Computadores II
Formas de implementar S'E'

#asados en microcontroladores

#asados en S!stem on c"ip *S$C- <


Single board computers *S#C-

(brido
Arquitectura de Computadores II
icrocontroladores
Arquitectura de Computadores II
Introduccin (1/4)

Un microprocesador
*=)- es una C)U en un
solo circuito
integrado'

Un computador es
una C)U0 m8s
memoria ! puertos de
E<S'

Un sistema
computador es un
computador m8s
peri/4ricos'
Arquitectura de Computadores II
Introduccin (2/4)
Un microcontrolador *=C- es un sistema
autocontenido donde el microprocesador0
soporte0 memoria ! entrada<salida se presentan
dentro de un mismo integrado'
Power
Control
Store
Reset
Control
Clock &
Timing
RAM
Processor
I
/
O

P
o
r
t
s
Power
Reset
Clocking
Input &
Output
Pins
Arquitectura de Computadores II
Introduccin (3/4)

Caractersticas

F8ciles de utili9ar'

#a.o costo'

Fle%ibles'

:ebido a su tama1o puede incluirse dentro del


dispositivo que gobierna'
Arquitectura de Computadores II
Introduccin (4/4)

Firm7are

Rutinas de so/t7are almacenadas en memoria


R$'

So/t7are que se encuentra embebido en un


dispositivo de "ard7are'

Es una combinacin de so/t7are ! "ard7are'


Arquitectura de Computadores II
Tipos de icrocontroladores

6os microcontroladores se pueden


clasi/icar en>

icrocontroladores embebidos de ? bits'

icrocontroladores de @AB;C bits

)rocesadores de se1ales digitales *:S)-


Arquitectura de Computadores II
icrocontroladores de ? bits (1/3)

Todos los recursos necesarios est8n


incluidos en el c"ip'

Solo necesitan alimentacin ! relo.'

)roporcionan control e inter/a9 con


dispositivos e%ternos de manera
econmica ! programable'
Arquitectura de Computadores II
icrocontroladores de ? bits (2/3)

:isponen de>

Reset

Relo.

)rocesador

emoria R$ para el programa e inter/a9 de


programacin

emoria RA para variables'

I<$ )ins'

Adicionalmente pueden incluir>

Capacidad de debugging

Interrupciones

I<$ analgica

Comunicacin serial !<o paralela

Inter/a9 con memoria


Arquitectura de Computadores II
icrocontroladores de ? bits (3/3)

u! poca RA *decenas de D#-'

u! poca velocidad de relo. *decenas de


(E-'

u! utili9ados en aplicaciones de control'

#a.o costo'

#a.o consumo energ4tico *algunos =A-'


Arquitectura de Computadores II
)rocesador de se1ales digital

Es una categora relativamente nueva de


microprocesadores'

El ob.etivo de los :S) es tomar un se1al


analgica ! calcular una respuesta
apropiada'

E.ecutan a gran velocidad para permitir el


control en tiempo real'
Arquitectura de Computadores II
Fabricantes

Intel

?FG?

?FH@ *Intel ! $tros-

?F@?A0 ?F@?A ! ?F;?A EI'

icroc"ip

)IC

otorola

A?(C@@ *otorola ! Tos"iba-

A?;%%

Atmel

A+R
Arquitectura de Computadores II
Registros de E<S

Son los componentes m8s utili9ados del


microcontroladores '

6os microcontroladores disponen de


registros para controlar los dispositivos de
E<S'

Espacios

E<S mapeada en memoria'

apa E<S ! mapa de memoria'


Arquitectura de Computadores II
Reset

)ermite llevar al microcontrolador a un


estado conocido' Iniciali9ando todos los
componentes del =C'

)o7er on reset *)$R-'

#ro7n out reset *#$R-'


Arquitectura de Computadores II
Relo. del sistema

6os =C est8n dise1ados para e.ecutar con poco


soporte e%terno para el relo. del sistema'

6os =Cs corren en el entorno de las decenas


de mega"et9'

E%isten diversos m4todos para proporcionarle


el relo. al =C>

Usando un cristal

Resonador cer8mico

$scilador RC

,inguno'
Arquitectura de Computadores II
)roteccin ante /allas

Jatc" :og Timer

Es utili9ado para prevenir cadas del so/t7are'

En entornos con ruido el4ctrico0 puede ocurrir que el )C


del =C se vea a/ectado ! 4ste comience a e.ecutar en
un lugar indeterminado'

El circuito J:T se encarga de resetear el =C si el


registro J: se desborda'

)roteccin ante cadas en la alimentacin'


Arquitectura de Computadores II
Alimentacin

inimi9ar el consumo de corriente es un tema a


tener en cuenta'

(a! que tener en cuenta el consumo>

:el microcontrolador en modo normal'


K :epende de la /recuencia ! del volta.e proporcionado'

:el microcontrolador en modo sleep'

:el los dispositivos conectados a la E<S'


K )articular de cada aplicacin'
K )ueden gestionarse adecuadamente los dispositivos'
Arquitectura de Computadores II
Timers

Se utili9a para traba.ar con eventos de


tiempo'

Contadores> cuentan acontecimientos que


suceden en el e%terior'

Tempori9adores> controlan perodos de


tiempo'
Arquitectura de Computadores II
E<S :igital

6a comunicacin del =C con el mundo se


da a trav4s de sus pines de E<S'

Estos pines son compartidos con mdulos


del =C'

)ueden con/igurarse con entrada o salida'


Arquitectura de Computadores II
E<S Analgica

En el mundo las cosas no son solo blancas


! negras'

Conversin

A:C0 es utili9ado para procesar las entradas


analgicas' El =C puede incluir convertidores !
comparadores analgicos'

:AC0 es utili9ado para generar salidas


analgicas'
Arquitectura de Computadores II
Comunicacin

Serial o paralela'

Sncrona o asncrona'

Redes de dispositivos'
Arquitectura de Computadores II
Arquitectura
A
Arquitectura de Computadores II
:esarrollo de so/t7are

(erramientas ! entornos de desarrollo

)rogramacin

:ebug
Arquitectura de Computadores II
(erramientas ! entornos de
desarrollo (1/4)

Editor

Compilador

Ensamblador

Simulador

Emulador

)rogramador
IDE
Arquitectura de Computadores II
(erramientas ! entornos de
desarrollo (2/4)

Assembler

Instrucciones assembler'

:irectivas

:ebe estar bien comentado


Arquitectura de Computadores II
(erramientas ! entornos de
desarrollo (3/4)

6engua.e de alto nivel

C0 CLL0 #asic0 Fort"0 Mavae'

)roporcionan
K a!or nivel de abstraccin
K #ibliotecas'
K Tipos de datos'
K +ariables locales ! globales'
K Estructuras de datos ! punteros'
K Asignacin de memoria para datos'
K Acceso a registros'

:ecrementa el tiempo de desarrollo'


Arquitectura de Computadores II
(erramientas ! entornos de
desarrollo (4/4)

Real Time $perating S!stem *RT$S-

ultitasNing

Sc"eduling

Conte%t S7itc"ing

Respuestas en tiempo a eventos del mundo'

Comunicacin entre procesos'

StacN TC)<I)

E.emplos> Salvo0 FreeRT$S0 =C<$S0 '''


Arquitectura de Computadores II
Evolucin del "ard7are
embebido>

Cada ve9 "a! m8s aplicaciones !a


que pueden "acerse dispositivos
que>

Consuman menos por transistor

Cuesten menos por transistor

Sean m8s r8pidos

6e! de oore>
Cada C a1os0 el
doble de
transistores
Arquitectura de Computadores II
S!stem on c"ip *S$C-

Se re/iere a integrar todos los


componentes de un computador u otro
dispositivo electrnico en un c"ip'

6a principal di/erencia con un =C es la


memoria disponible'

En general0 los S$C corren sistemas


operativos *S'$- tradicionales'
Arquitectura de Computadores II
Single #oard Computers
*S#C-

Una S#C es un sistema computacional


completo reali9ado en una sola placa que
utili9a un S$C'

Un S$C por si solo no puede /uncionar0


necesita de alimentacin0 acondicionamientos
de se1ales0 conectores0 ! algun controlador
adicional'

8s peque1as0 energ4ticamente m8s


e/icientes0 ! con ma!ores posibilidades de E<S
que un sistema tradicional'
Arquitectura de Computadores II
(ard7are Embebido basado
en S#C(1/2)

6a arquitectura de "ard7are para los


sistemas embebidos por lo general
di/iere a la de los sistemas de escritorio'

AR0 I)S o )o7er)C son mu! utili9ados


por su ba.o consumo ! buena per/ormance'

I?A no es tan /recuente0 pero tambi4n es


utili9ado'

Almacenamiento en /las"

Tengo que tener en cuenta que los ciclos de


borrado son limitados0 para alargar la vida
til de la memoria'
KE%isten t4cnicas para OgastarP de /orma
uni/orme la memoria *7ear leveling-'
K,o es recomendable utili9arlas para
implementar espacio de s7ap'
Arquitectura de Computadores II
(ard7are Embebido basado
en S#C(2/2)

Cantidad de RA limitada *desde unos


pocos # a varias decenas de #-

+elocidad de C)U in/erior a sistemas de


escritorio'

+arios buses de intercone%in *ICC0 S)I0


US#0 serial- ! puertos de E<S'
Arquitectura de Computadores II
Arquitecturas utili9adas en
S'E'
Extraido de:
http://www.linuxfordevices.co/c/a/!inux"#or"Devices"$rticles/Snapshot"of"the"ebedded"!inux"ar%et"$pril"&''(/
Arquitectura de Computadores II
S#C Fo%#oard &CF(1/3)

)rocesador> Atmel ATQ@SAQ&CF ARQ C)U

Frecuencia de relo.> GFF"9

RA> AG #

Flas"> ? #

US# "ost> C

US# device> @

UART> G

&)I$> ?F

A<:> Gc" @F bits

ICC> C

S)I> C

Tensin> H+

Corriente> RSF mA

Costo> @;Q euros


Arquitectura de Computadores II
S#C Fo%#oard &CF(2/3)

Et"ernet

Conector para pantalla touc" screen

Serial port *debug-

Slot miniBsd

RTC

@ S7itc" ! @ 6ed
Arquitectura de Computadores II
S#C Fo%#oard &CF(3/3)

Sistemas $perativos Soportados>

$penEmbedded

:ebian

&entoo

$penJRT
Arquitectura de Computadores II
S#C #eagle#oard CG (1/3)

)rocesador> $A);H;F:C##SC AR Corte%BA?

Frecuencia de relo.> SCF (E

RA> CHA #

Flas"> CHA #

US# "ost> @ L @$T&

&)I$> C?

ICC> @

S)I> @

Tensin> H+

Corriente>;HF mA

Costo> @GQ dolares


Arquitectura de Computadores II
S#C #eagle#oard CG (2/3)

Salida (:I

Entrada<Salida audio

Salida Super +ideo

:S)

Conector MTA&

RSC;C "eader

Slot S:<C

Cone%in para 6C:

&)U con soporte para $pen&6


Arquitectura de Computadores II
S#C #eagle#oard CG (3/3)

Sistemas operativos soportados>

Angstrom

S!mbian

:ebian

Ubuntu

Android

3,I

JinCE

&entoo
Arquitectura de Computadores II
)untos Fuertes #eagleboard
CG

Esta orientada a aplicaciones multimedia


donde puede ser sacado provec"o al :S)'

)osee una cantidad de RA considerable0


lo que posibilita e.ecutar un mane.ador de
ventanas *I server-'

6a lnea AR Corte% AI es utili9ada en


muc"os dispositivos comerciales> Ipad0
arc"osH0 pandora0 Son! Ericsson Satio'

u! ba.o consumo ! alto rendimiento'

,o necesita disipacin mec8nica *coolers-'


Arquitectura de Computadores II
)untos :ebiles #eagleboard
CG

)ocos puertos de E<S'

,o posee Et"ernet onboard'

,o posee UART

,o posee Ji/i onboard


Arquitectura de Computadores II
)untos /uertes Fo%#oard &CF

uc"os puertos de E<S

RTC

#a.o consumo<,o necesita disipacin

C puertos US#

Et"ernet onboard

u! adecuada para aplicaciones de


control ! robtica embebida'
Arquitectura de Computadores II
)untos debiles Fo%#oard &CF

Costo

Ausencia de :S)

)oca memoria Flas"

,o esta dise1ada para multimedia

,o posee 7i/i onboard


Arquitectura de Computadores II
Tendencias en S'$' para
embebidos
Extraido de:
http://www.linuxfordevices.co/c/a/!inux"#or"Devices"$rticles/Snapshot"of"the"ebedded"!inux"ar%et"$pril"&''(/
Arquitectura de Computadores II
&,U<6inu% para S'E'

&,U<6inu%>
&,U<6inu%> Sistema operativo libre
compuesto por el Nernel *6inu%- !
"erramientas del sistema &,U'

El Dernel es el componente del S'$' que


nos abstrae del "ard7are ! nos /acilita
su uso'

Actualmente es el sistema operativo de


uso general m8s utili9ado en sistemas
embebidos'
Arquitectura de Computadores II
El Dernel 6inu%

$riginalmente no /ue pensando como un


sistema operativo embebido'

Escrito originalmente para la arquitectura


IAB;C0 portado por primera ve9 a
procesadores otorola'

El proceso /ue costoso0 lo que implic un


redise1o de la arquitectura para "acerlo
/8cilmente portable'

Este cambio abri la puerta para ser


portado a otras arquitecturas'
Arquitectura de Computadores II
El Dernel 6inu%

Soporta numerosas arquitecturas


*C'A';;-> alp"a0 blacN/in0 "?;FF0 m;Cr0
microbla9e0 parisc0 score0 um0 arm0 cris0
iaAG0 mA?N0 mips0 po7erpc0 s"0 %?A0
avr;C0 /rv0 mA?Nnommu0 mn@F;FF0
s;QF0 sparc0 %tensa'
Arquitectura de Computadores II
Requerimientos mnimos

Un C)U soportado por gcc ! el Dernel


6inu%'

C)U de ;C bits

C)UTs sin U son tambi4n soportados


mediante el pro!ecto uClinu%'

G # RA
Arquitectura de Computadores II
+enta.as en el uso de
&,U<6inu% en S'E

Reutili9acin de bibliotecas de so/t7are


e%istente'

,os permite centrarnos en dar valor


agregado a una solucin ! no en Oreinventar
la ruedaP'

Calidad'

Uso de lengua.es de programacin de ma!or


nivel de abstraccin *Mava0 )!t"on0 6ua-'

)osibilidad de prototipar ! debugear en un )C


muc"os de los componentes del sistema'

#rinda portabilidad de mi sistema a otras


arquitecturas *independecia tecnolgica-'
Arquitectura de Computadores II
+enta.as en el uso de
&,U<6inu% en S'E

E%tensiones para mane.o de tiempo real'

antenibilidad

)uedo auditar el cdigo /uente'

6ibertad de modi/icar el cdigo /uente'

enor costo en licencias'

Acceso m8s sencillo al so/t7are ! a las


"erramientas'

)ermite "acer /rente a los requerimientos cada


ve9 m8s comple.os impuestos por el mercado'

(erramientas de desarrollo independientes de


la plata/orma
Arquitectura de Computadores II
:esventa.as de &,U<6inu% en
S'E

Algunos drivers propietarios solo e%isten para


versiones vie.as del Nernel ! el /abricante no
publica sus /uentes'

Algunos Sistemas Embebidos basados en


&,U<6inu% toman un /orN del Nernel vainilla !
nunca integran sus cambios'

uc"as veces no tengo opcin de que


distribucin usar'

)uede ocurrir que ni siquiera e%ista una


distribucin *usar #uildroot0 $penEmbedded-'
Arquitectura de Computadores II
6inu% ! el tiempo real

RT$S> S'$ con la "abilidad de brindar el nivel


requerido de servicio en un perodo de tiempo
acotado *)$SII @FF;'@b-

Con el tiempo 6inu% /ue incorporando parc"es


RT0 como los timers de alta resolucin'

Es raro tener restricciones de tiempo blandas


que un Dernel +anilla no pueda proveer
*6atencia de peor caso U @ms-'

Si se necesita menor latencia usar parc"es


para el Dernel>

)REE)TVRT $/rece una latencia m8%ima


de @FFus
Arquitectura de Computadores II
Estado actual de los S'E

Cada ve9 se dispone de "ard7are con


ma!ores prestaciones0 que incluso
permite e.ecutar un S'$ de proposito
general con RT ! seguir siendo
econmicamente viable'

El mercado le e%ige m8s requerimientos


a los dispositivos embebidos'
Arquitectura de Computadores II
Estado actual de los S'E'

(o! en da los S'E' tienen m8s puntos en


comn con los sistemas de propsito general
que en el pasado'

(erramientas de desarrollo de ma!or nivel de


abstraccin'

Reutili9acin de so/t7are ! peri/4ricos


utili9ados en sistemas de proposito general

Es necesario contar con equipos


interdisciplinarios'
Arquitectura de Computadores II
6inu% Embebido en nuestras
vidas
Arquitectura de Computadores II
Componentes de So/t7are

CrossBtoolc"ain> CrossBtoolc"ain> Compilador que corre en la


m8quina de desarrollo0 pero genera cdigo para el
sistema embebido'

#ootloader> #ootloader> Iniciado por el "ard7are' Responsable


de la iniciali9acin b8sica0 cargar ! e.ecutar el
Nernel'

Dernel 6inu%> Dernel 6inu%> Contiene el mane.o de los procesos0


memoria0 red0 drivers ! provee servicios para las
aplicaciones de usuario'

#iblioteca de C> #iblioteca de C> Inter/a9 entre el Dernel ! las


aplicaciones *glibc0 =Clibc-'

#ibliotecas ! aplicaciones> #ibliotecas ! aplicaciones> reutili9adas o


desarrolladas por nosotros'
Arquitectura de Computadores II
#ibliogra/a

"ttp><<777'linu%/ordevices'com<

"ttp><</reeBelectrons'com<

"ttp><<beagleboard'org

"ttp><<es"op'acmes!stems'it

Embedded 6inu% S!stem :esign and


:evelopment *Auerbac"0 CFFA-
Arquitectura de Computadores II
)reguntas

También podría gustarte