A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brasil Programa de Pós-Graduação.

Apresentações semelhantes


Apresentação em tema: "Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brasil Programa de Pós-Graduação."— Transcrição da apresentação:

1 Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brasil Programa de Pós-Graduação em Computação Arquitetura de Sistemas Embarcados Exame de Qualificação em Abrangência (prestado em 09/12/2005) Carlos Arthur Lang Lisbôa Orientador: Prof. Luigi Carro

2 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Definições Sistema Embarcado Qualquer dispositivo que inclui um computador programável mas que não é, ele mesmo, um computador de uso geral. Wayne Wolf, 2000 Processador Embarcado Um processador programável, cuja interface de programação não está acessível para o usuário final do produto. A única interação com o usuário é através do aplicativo. Jan Rabaey, 2000

3 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ The Intel® Pentium® Processor Extreme Edition with the processing capabilities of four threads delivers more computing capabilities enabling you to explore new ways to accomplish and enjoy performance intensive tasks on your PC. Uso Geral vs. Embarcados Qual a diferença ? Featuring advanced technologies that offer high performance, flexibility and robust functionality, the Intel PXA270 processor is packaged specifically for the embedded market and is ideal for the low-power framework of battery-powered devices.

4 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ calculadoras simples ou programáveis eletrodomésticos inteligentes telefones celulares jogos eletrônicos controle, segurança e conforto em veículos set-top boxes sistemas GPS som, fotografia e vídeo copiadoras, impressoras e outros periféricos... a criatividade humana não tem limites ! Uso Geral vs. Embarcados... mas não apenas isto !

5 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias Sistemas com múltiplos núcleos Comunicação: barramentos e NOCs Aspectos relacionados a software Conclusão

6 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ consumo nem sempre é problema; custo sim área e desempenho podem ser críticos (soft / hard deadlines) tolerância a falhas pode ser fator crítico múltiplos processadores heterogêneos necessidade de comunicação e redes (NOCs) capacidade gráfica antenas, som, vídeo: processamento digital de sinais (DSP) embriões de sistemas operacionais (RTOS) aplicativos residentes em memória / download Introdução: Requisitos Especiais

7 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Introdução: Complexidade do Projeto portabilidade dos produtos limitação de consumo especificação de desempenho mínimo: hard deadlines baixa capacidade de memória (área, consumo) segurança e confiabilidade operação em rede (múltiplos núcleos) metodologia de teste adequada

8 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Introdução Amplo espaço de projeto a ser explorado particionamento hardware / software tipo(s) de processador(es) hierarquias de memórias interfaces para periféricos comunicação entre componentes sistema operacional e aplicativos Prazo de projeto: poucos meses Custos elevados (pessoal, ferramentas, máscaras) requer volume de produção

9 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias Sistemas com múltiplos núcleos Comunicação: barramentos e NOCs Aspectos relacionados a software Conclusão

10 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores: Arquitetura Selecionar a mais adequada à aplicação uso de lógica programável (conforme volume) FPGAs (Field Programmable Gate Array) - baixo volume ASICs (Application Specific Integrated Circuit) - alto ASIPs (Application Specific Instruction Set Processor) - alto microprocessadores de prateleira, específicos ou IPs pipeline superescalar VLIW (Very Large Instruction Word) processamento digital de sinais (DSP) múltiplos processadores no mesmo chip reconfigurabilidade redução do consumo de energia

11 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas com Pipeline paralelismo de estágios da execução de instruções na prática: 12 a 20 estágios com pipeline cheio: 1 instrução por ciclo custo maior em potência (mais chaveamentos) Jan Rabaey, 2000

12 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Pipelines - hazards: structural, data, control estrutural: faltam componentes (FUs, registradores) dependência de dados reordenação pelo compilador - limitada reordenação pelo processador (forwarding) - mais consumo controle: desvios condicionais (> 20% ! ) por software: inserção de NOPs (mais lento, mais memória) inserção de bolhas remoção de instruções do pipeline quanto mais estágios, maior o custo em desempenho para amenizar o custo: predição de saltos laços - probabilidade maior é repetir máquina de estados - predição estatística

13 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Pipelines: dimensionamento custo produtividade máxima: 1 instrução por ciclo mais estágios ciclos mais curtos ciclos mais curtos maior freqüência maior freqüência maior potência clock mais rápido requer redistribuição redistribuição de clock mais área, mais potência

14 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Arquiteturas superescalares: exemplo vários pipelines em paralelo - paralelismo explícito Processadores Jan Rabaey, 2000

15 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Arquiteturas superescalares: exemplo real hyperthreading: 1 superescalar por thread (Intel Pentium Extreme Edition)Intel Pentium Extreme Edition Processadores Intel Pentium ® 4

16 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Exemplo: processadores Pentium ®

17 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Exemplo: processadores Pentium ®

18 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Exemplo: processadores Pentium ®

19 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Exemplo: processadores Pentium ®

20 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas superescalares - dificuldades programas da vida real têm pouco paralelismo na compilação: loop unrolling = mais dependência redução da dependência de dados pelo processador execução de instruções fora de ordem busca instruções cuja dependência de dados esteja resolvida e as executa antes das demais renomeação de registradores (aliases) maior custo em potência: hw extra mantém unidades ocupadas a maior parte do tempo uso principal: processadores de uso geral

21 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas VLIW: instruções em paralelo data cache 16KB mmu 64-bit memory bus multi-port 128 words x 64 bits register file FU instruction cache 32 KB instruction cache 32 KB mmu bypass network PC exceptions 32-bit peripheral bus VLIW instruction decode and launch Jan Rabaey, 2000

22 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas VLIW - prós e contras mais econômica em potência: sem detecção de paralelismo durante execução sem predição de saltos paralelismo resolvido pelo compilador (custa caro) dependência de dados desperdício de memória requer recompilação quando muda a largura do VLIW ideal para sistemas em que o código não muda durante a operação do processador embarcado mais usadas em processamento de sinais e multimedia, onde aplicações têm mais paralelismo

23 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas DSP - processamento de sinais aplicações: telefone celular, modems, controle,... digital analógico - repetibilidade e facilidade projeto processadores digitais de uso geral: muitos recursos não utilizáveis em DSP carência de recursos otimizados para DSP consumo de potência elevado processadores digitais de sinais otimizações de hardware para acelerar a execução dos algoritmos específicos para DSP (filtros, FFT, DCT,...) resultados: maior desempenho, menor potência

24 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Processadores Arquiteturas DSP - otimizações específicas stream de entrada contínuo - taxa fixa grande quantidade de dados que não podem ser perdidos não pode ler um lote e esperar enquanto processa solução: buffer circular - implementação em hardware arquitetura Harvard: memórias para instruções e dados separadas, com acesso em paralelo vários bancos de memória para dados, com acesso em paralelo interrupções simplificadas para atender E/S sem necessidade de chavear contexto

25 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Arquiteturas DSP - otimizações específicas instrução multiplica-e-acumula endereçamento de bit reverso registradores com auto incremento controle de laços em hardware muitas destas otimizações estão migrando para processadores de uso geral nos sistemas embarcados, podem ser usados: co-processadores DSP processadores VLIW adaptados para processamento de sinais Processadores

26 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias Sistemas com múltiplos núcleos Comunicação: barramentos e NOCs Aspectos relacionados a software Conclusão

27 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Memórias: hierarquia MAIORCAPACIDADEMAIORCAPACIDADE MAIORVELOCIDADEMAIORVELOCIDADE MAIORCUSTO/BYTEMAIORCUSTO/BYTE Cache Externa (L2) - SRAM Memória Principal DRAM CPU Register File Cache - Interna (L1) SRAM Memória Secundária - Disco, Flash

28 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Memórias: principais dificuldades velocidade capacidade memórias estáticas (caches) rápidas, mas ocupam muita área grande consumo de potência se beneficiam de: localidade temporal localidade espacial aplicabilidade a sistemas embarcados não é unanimidade Compaq/Digital StrongARM

29 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Memórias: principais dificuldades velocidade capacidade memórias dinâmicas (memória principal) várias ordens de grandeza mais lentas ocupam menos área, têm maior capacidade alto custo em potência consumida para acessos cache + principal tempo de resposta imprevisível outros tipos de memória usados em SEs memórias FLASH (também como memória virtual) EEPROMs - grandes capacidades (ex: câmeras) FRAM ( ferromagnetic RAM ) - mesma área, sem refresh

30 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias: hierarquia Sistemas com múltiplos núcleos Comunicação: barramentos e NOCs Aspectos relacionados a software Conclusão

31 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Sistemas com Múltiplos Núcleos Vários processadores num chip (MP-SOCs): homogêneos: processadores iguais - uso geral exemplos: Intel Pentium D e Intel Pentium Extreme heterogêneos: processadores distintos - sistemas embarcados Video Subsyst. Out System Interconnect ARM Audio Subsystem In DSOC Scheduler SMP Scheduler SRAM DSP 3D Subsyst. DSP Nomadik Mobile Multimedia STMicroelectronics

32 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias: hierarquia Sistemas com múltiplos núcleos Comunicação: barramentos e NOCs Aspectos relacionados a software Conclusão

33 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ evolução da tecnologia: mais transistores menores / chip custo: reuso de núcleos de propriedade intelectual (IPs) necessidade: interconexão entre muitos núcleos alternativas: conexão ponto-a-ponto: não reusável barramentos: uma transferência por ciclo capacitância elevada (fios longos e muitos núcleos) freqüência máxima limitada barramentos hierárquicos: paralelismo limitado Comunicação: barramentos/NOCs

34 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ alternativas (continuação): NOCs: networks on chip conjunto de canais e roteadores conexões ponto-a-ponto entre roteadores permitem freqüências mais altas do que barramentos diversas topologias: grelha, torus, árvore, hipercubo, etc. maior capacidade de paralelismo: vários caminhos escaláveis de acordo com a quantidade de núcleos fatores que determinam eficiência: largura do canal de roteamento (# fios) topologia política de prioridades e controle de fluxo Comunicação: barramentos/NOCs

35 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias: hierarquia Comunicação: barramentos e NOCs Sistemas com múltiplos núcleos Aspectos relacionados a software Conclusão

36 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Aspectos relacionados a software antigamente: fixo (microondas, automóveis,...) atualmente: mutante (celulares, PDAs,...) tendência: sistemas baseados em plataformas, com especialização por software (alto custo de máscaras) novos requisitos em software: compiladores otimizados para VLIW sistemas operacionais de tempo real - RTOS software retargeting (binary translation)

37 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Roteiro da Apresentação Introdução Processadores Memórias: hierarquia Comunicação: barramentos e NOCs Sistemas com múltiplos núcleos Aspectos relacionados a software Conclusão

38 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Conclusão Espaços abertos para pesquisa (exemplos): hierarquia de memória tipo de aplicação reuso de traces da cache para reduzir potência uso de arrays reconfiguráveis dinamicamente e binary translation para reduzir consumo de energia tolerância a múltiplas falhas simultâneas (2010 ) compiladores mais eficientes para arquiteturas VLIW para reduzir consumo de energia (uso de instruções low power) estruturação de código p/aumentar hit rate das caches

39 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Perguntas ?

40 Exame de Qualificação em Abrangência Carlos A. L. Lisbôa 09/12/ Referências bibliográficas [Wayne Wolf, 2000] Wolf, W. Computers as Components: Principles of Embedded Computer Systems Design. Academic Press, San Diego, CA, ISBN Patterson, D.A. e Hennessy,J. L. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Francisco, CA, ISBN [Jan Rabaey, 2000] Rabaey, J e Keutzer, K. Notas de aula da disciplinaCS252 - Advanced Computer Architecture, ministrada pelos Profs. Drs. Jan Rabaey e Kurt Keutzer, na University of California at Berkeley, USA, primavera de Carro, L. e Wagner, Flávio R. Notas de aula do curso Sistemas Computacionais Embarcados ministrado pelos Profs. Drs. Flávio Rech Wagner e Luigi Carro nas XII Jornadas de Atualização em Informática (JAI), no XXIII Congresso da Sociedade Brasileira de Computação, 2 e 3 de agosto de 2003, Campinas, SP, Brasil.


Carregar ppt "Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do Sul Porto Alegre – RS – Brasil Programa de Pós-Graduação."

Apresentações semelhantes


Anúncios Google