CMP231 — Sistemas Embarcados
Edição 2009
Professores: Flávio Wagner e Luigi Carro
Cronograma de aulas
Artigos para discussão
Modelagem de aplicações
Súmula
Aplicações de sistemas embarcados. Arquiteturas de hardware e software. Sistemas operacionais embarcados. Metodologias de projeto. Exploração do espaço de projeto. Modelos de computação e linguagens. Síntese de hardware, software e comunicação. Validação de sistemas mistos hardware-software. Projeto baseado em plataformas. Projeto de sistemas de baixa potência.
Programa
Aplicações típicas. Requisitos de projeto. Tecnologias e arquiteturas. Metodologias de projeto. Revisão dos problemas atuais.
Tipos de Processadores — DSP, microcontroladores, ASIPs, RISC, VLIW. Multiprocessadores em um chip. Hierarquias de memória. Estruturas de comunicação — barramentos, NoC. ASICs. FPGAs e reconfigurabilidade.
RTOS e API. Modelos de computação. Compiladores e suas amarras com o modelo arquitetural e com a linguagem de partida. Programação — C, assembly, Java, Matlab. Software retargeting. Síntese de software para diferentes domínios. Software para sistemas embarcados multiprocessados.
Linguagens de especificação e níveis de abstração. Co-simulação. Particionamento entre hardware e software. Estimativas de desempenho, potência e área. Exploração de arquiteturas. Síntese de comunicação (hardware e software). Metodologia para projeto de sistemas de baixa potência.
Plataformas de hardware e software. Projeto baseado em barramentos e em cores.
Multimídia. Automotiva. Telecomunicações. Entretenimento e jogos. Médica. Network processors. PDAs.
Bibliografia
Luigi Carro e Flávio R. Wagner. Sistemas Computacionais Embarcados. JAI'2003.
Wayne Wolf. Computers as Components. McGraw Hill, 2001.
Peter Marwedel. Embedded System Design. Kluwer Academic Publishers, 2003.
Artigos distribuídos ao longo da disciplina.