Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do...

40
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

Transcript of Laboratório de Sistemas Embarcados Instituto de Informática Universidade Federal do Rio Grande do...

  • Slide 1
  • Laboratrio de Sistemas Embarcados Instituto de Informtica Universidade Federal do Rio Grande do Sul Porto Alegre RS Brasil Programa de Ps-Graduao em Computao Arquitetura de Sistemas Embarcados Exame de Qualificao em Abrangncia (prestado em 09/12/2005) Carlos Arthur Lang Lisba Orientador: Prof. Luigi Carro
  • Slide 2
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 2 Definies Sistema Embarcado Qualquer dispositivo que inclui um computador programvel mas que no , ele mesmo, um computador de uso geral. Wayne Wolf, 2000 Processador Embarcado Um processador programvel, cuja interface de programao no est acessvel para o usurio final do produto. A nica interao com o usurio atravs do aplicativo. Jan Rabaey, 2000
  • Slide 3
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 3 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 diferena ? 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.
  • Slide 4
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 4 calculadoras simples ou programveis eletrodomsticos inteligentes telefones celulares jogos eletrnicos controle, segurana e conforto em veculos set-top boxes sistemas GPS som, fotografia e vdeo copiadoras, impressoras e outros perifricos... a criatividade humana no tem limites ! Uso Geral vs. Embarcados... mas no apenas isto !
  • Slide 5
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 5 Roteiro da Apresentao Introduo Processadores Memrias Sistemas com mltiplos ncleos Comunicao: barramentos e NOCs Aspectos relacionados a software Concluso
  • Slide 6
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 6 consumo nem sempre problema; custo sim rea e desempenho podem ser crticos (soft / hard deadlines) tolerncia a falhas pode ser fator crtico mltiplos processadores heterogneos necessidade de comunicao e redes (NOCs) capacidade grfica antenas, som, vdeo: processamento digital de sinais (DSP) embries de sistemas operacionais (RTOS) aplicativos residentes em memria / download Introduo: Requisitos Especiais
  • Slide 7
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 7 Introduo: Complexidade do Projeto portabilidade dos produtos limitao de consumo especificao de desempenho mnimo: hard deadlines baixa capacidade de memria (rea, consumo) segurana e confiabilidade operao em rede (mltiplos ncleos) metodologia de teste adequada
  • Slide 8
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 8 Introduo Amplo espao de projeto a ser explorado particionamento hardware / software tipo(s) de processador(es) hierarquias de memrias interfaces para perifricos comunicao entre componentes sistema operacional e aplicativos Prazo de projeto: poucos meses Custos elevados (pessoal, ferramentas, mscaras) requer volume de produo
  • Slide 9
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 9 Roteiro da Apresentao Introduo Processadores Memrias Sistemas com mltiplos ncleos Comunicao: barramentos e NOCs Aspectos relacionados a software Concluso
  • Slide 10
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 10 Processadores: Arquitetura Selecionar a mais adequada aplicao uso de lgica programvel (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, especficos ou IPs pipeline superescalar VLIW (Very Large Instruction Word) processamento digital de sinais (DSP) mltiplos processadores no mesmo chip reconfigurabilidade reduo do consumo de energia
  • Slide 11
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 11 Processadores Arquiteturas com Pipeline paralelismo de estgios da execuo de instrues na prtica: 12 a 20 estgios com pipeline cheio: 1 instruo por ciclo custo maior em potncia (mais chaveamentos) Jan Rabaey, 2000
  • Slide 12
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 12 Processadores Pipelines - hazards: structural, data, control estrutural: faltam componentes (FUs, registradores) dependncia de dados reordenao pelo compilador - limitada reordenao pelo processador (forwarding) - mais consumo controle: desvios condicionais (> 20% ! ) por software: insero de NOPs (mais lento, mais memria) insero de bolhas remoo de instrues do pipeline quanto mais estgios, maior o custo em desempenho para amenizar o custo: predio de saltos laos - probabilidade maior repetir mquina de estados - predio estatstica
  • Slide 13
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 13 Processadores Pipelines: dimensionamento custo produtividade mxima: 1 instruo por ciclo mais estgios ciclos mais curtos ciclos mais curtos maior freqncia maior freqncia maior potncia clock mais rpido requer redistribuio redistribuio de clock mais rea, mais potncia
  • Slide 14
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 14 Arquiteturas superescalares: exemplo vrios pipelines em paralelo - paralelismo explcito Processadores Jan Rabaey, 2000
  • Slide 15
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 15 Arquiteturas superescalares: exemplo real hyperthreading: 1 superescalar por thread (Intel Pentium Extreme Edition)Intel Pentium Extreme Edition Processadores Intel Pentium 4
  • Slide 16
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 16 Exemplo: processadores Pentium
  • Slide 17
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 17 Exemplo: processadores Pentium
  • Slide 18
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 18 Exemplo: processadores Pentium
  • Slide 19
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 19 Exemplo: processadores Pentium
  • Slide 20
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 20 Processadores Arquiteturas superescalares - dificuldades programas da vida real tm pouco paralelismo na compilao: loop unrolling = mais dependncia reduo da dependncia de dados pelo processador execuo de instrues fora de ordem busca instrues cuja dependncia de dados esteja resolvida e as executa antes das demais renomeao de registradores (aliases) maior custo em potncia: hw extra mantm unidades ocupadas a maior parte do tempo uso principal: processadores de uso geral
  • Slide 21
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 21 Processadores Arquiteturas VLIW: instrues 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
  • Slide 22
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 22 Processadores Arquiteturas VLIW - prs e contras mais econmica em potncia: sem deteco de paralelismo durante execuo sem predio de saltos paralelismo resolvido pelo compilador (custa caro) dependncia de dados desperdcio de memria requer recompilao quando muda a largura do VLIW ideal para sistemas em que o cdigo no muda durante a operao do processador embarcado mais usadas em processamento de sinais e multimedia, onde aplicaes tm mais paralelismo
  • Slide 23
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 23 Processadores Arquiteturas DSP - processamento de sinais aplicaes: telefone celular, modems, controle,... digital analgico - repetibilidade e facilidade projeto processadores digitais de uso geral: muitos recursos no utilizveis em DSP carncia de recursos otimizados para DSP consumo de potncia elevado processadores digitais de sinais otimizaes de hardware para acelerar a execuo dos algoritmos especficos para DSP (filtros, FFT, DCT,...) resultados: maior desempenho, menor potncia
  • Slide 24
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 24 Processadores Arquiteturas DSP - otimizaes especficas stream de entrada contnuo - taxa fixa grande quantidade de dados que no podem ser perdidos no pode ler um lote e esperar enquanto processa soluo: buffer circular - implementao em hardware arquitetura Harvard: memrias para instrues e dados separadas, com acesso em paralelo vrios bancos de memria para dados, com acesso em paralelo interrupes simplificadas para atender E/S sem necessidade de chavear contexto
  • Slide 25
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 25 Arquiteturas DSP - otimizaes especficas instruo multiplica-e-acumula endereamento de bit reverso registradores com auto incremento controle de laos em hardware muitas destas otimizaes esto migrando para processadores de uso geral nos sistemas embarcados, podem ser usados: co-processadores DSP processadores VLIW adaptados para processamento de sinais Processadores
  • Slide 26
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 26 Roteiro da Apresentao Introduo Processadores Memrias Sistemas com mltiplos ncleos Comunicao: barramentos e NOCs Aspectos relacionados a software Concluso
  • Slide 27
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 27 Memrias: hierarquia MAIORCAPACIDADEMAIORCAPACIDADE MAIORVELOCIDADEMAIORVELOCIDADE MAIORCUSTO/BYTEMAIORCUSTO/BYTE Cache Externa (L2) - SRAM Memria Principal DRAM CPU Register File Cache - Interna (L1) SRAM Memria Secundria - Disco, Flash
  • Slide 28
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 28 Memrias: principais dificuldades velocidade capacidade memrias estticas (caches) rpidas, mas ocupam muita rea grande consumo de potncia se beneficiam de: localidade temporal localidade espacial aplicabilidade a sistemas embarcados no unanimidade Compaq/Digital StrongARM
  • Slide 29
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 29 Memrias: principais dificuldades velocidade capacidade memrias dinmicas (memria principal) vrias ordens de grandeza mais lentas ocupam menos rea, tm maior capacidade alto custo em potncia consumida para acessos cache + principal tempo de resposta imprevisvel outros tipos de memria usados em SEs memrias FLASH (tambm como memria virtual) EEPROMs - grandes capacidades (ex: cmeras) FRAM ( ferromagnetic RAM ) - mesma rea, sem refresh
  • Slide 30
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 30 Roteiro da Apresentao Introduo Processadores Memrias: hierarquia Sistemas com mltiplos ncleos Comunicao: barramentos e NOCs Aspectos relacionados a software Concluso
  • Slide 31
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 31 Sistemas com Mltiplos Ncleos Vrios processadores num chip (MP-SOCs): homogneos: processadores iguais - uso geral exemplos: Intel Pentium D e Intel Pentium Extreme heterogneos: 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
  • Slide 32
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 32 Roteiro da Apresentao Introduo Processadores Memrias: hierarquia Sistemas com mltiplos ncleos Comunicao: barramentos e NOCs Aspectos relacionados a software Concluso
  • Slide 33
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 33 evoluo da tecnologia: mais transistores menores / chip custo: reuso de ncleos de propriedade intelectual (IPs) necessidade: interconexo entre muitos ncleos alternativas: conexo ponto-a-ponto: no reusvel barramentos: uma transferncia por ciclo capacitncia elevada (fios longos e muitos ncleos) freqncia mxima limitada barramentos hierrquicos: paralelismo limitado Comunicao: barramentos/NOCs
  • Slide 34
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 34 alternativas (continuao): NOCs: networks on chip conjunto de canais e roteadores conexes ponto-a-ponto entre roteadores permitem freqncias mais altas do que barramentos diversas topologias: grelha, torus, rvore, hipercubo, etc. maior capacidade de paralelismo: vrios caminhos escalveis de acordo com a quantidade de ncleos fatores que determinam eficincia: largura do canal de roteamento (# fios) topologia poltica de prioridades e controle de fluxo Comunicao: barramentos/NOCs
  • Slide 35
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 35 Roteiro da Apresentao Introduo Processadores Memrias: hierarquia Comunicao: barramentos e NOCs Sistemas com mltiplos ncleos Aspectos relacionados a software Concluso
  • Slide 36
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 36 Aspectos relacionados a software antigamente: fixo (microondas, automveis,...) atualmente: mutante (celulares, PDAs,...) tendncia: sistemas baseados em plataformas, com especializao por software (alto custo de mscaras) novos requisitos em software: compiladores otimizados para VLIW sistemas operacionais de tempo real - RTOS software retargeting (binary translation)
  • Slide 37
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 37 Roteiro da Apresentao Introduo Processadores Memrias: hierarquia Comunicao: barramentos e NOCs Sistemas com mltiplos ncleos Aspectos relacionados a software Concluso
  • Slide 38
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 38 Concluso Espaos abertos para pesquisa (exemplos): hierarquia de memria tipo de aplicao reuso de traces da cache para reduzir potncia uso de arrays reconfigurveis dinamicamente e binary translation para reduzir consumo de energia tolerncia a mltiplas falhas simultneas (2010 ) compiladores mais eficientes para arquiteturas VLIW para reduzir consumo de energia (uso de instrues low power) estruturao de cdigo p/aumentar hit rate das caches
  • Slide 39
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 39 Perguntas ?
  • Slide 40
  • Exame de Qualificao em Abrangncia Carlos A. L. Lisba 09/12/2005 40 Referncias bibliogrficas [Wayne Wolf, 2000] Wolf, W. Computers as Components: Principles of Embedded Computer Systems Design. Academic Press, San Diego, CA, 2001. ISBN 1-55860-693-9. Patterson, D.A. e Hennessy,J. L. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Francisco, CA, 2003. ISBN 1-55860-724-2. [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 2000. Carro, L. e Wagner, Flvio R. Notas de aula do curso Sistemas Computacionais Embarcados ministrado pelos Profs. Drs. Flvio Rech Wagner e Luigi Carro nas XII Jornadas de Atualizao em Informtica (JAI), no XXIII Congresso da Sociedade Brasileira de Computao, 2 e 3 de agosto de 2003, Campinas, SP, Brasil.