Arquitetura de Sistemas Embarcados

Documentos relacionados
Arquitetura de Sistemas Embarcados

Aspectos da Fitossanidade em citros


" % ! 2 ( ' /, ( 1 0 /* ( (. + + ( ( ' + % -, + ( )* ( ' # & $! # "!!

, 0-0 / 2 0 /.+ -,+ *+ % ) ( " " "! ' " " % # "!

Reasons for the lack of sports performance of Comercial F.C

ETANOL E USO CORPORATIVO DO TERRITÓRIO

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei

Microprocessadores II - ELE 1084

Advanced RISC Machine

OMAP Open Multimedia Application Platform

OBJETIVOS ATIVIDADES ESTRATÉGIAS DINAMIZA- DORES. - Canções mimadas; - Atividades livres na sala e exterior; - Jogos de interação; - Canções de roda;

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

PSI3441 Arquitetura de Sistemas Embarcados

System Programing. Grupo: George Elias Ferreira da Silva Guilherme Maciel Ferreira

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3

ARQUITETURA DE COMPUTADORES

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

0* /* # * (. -* $ ) '. - ', + * ) ' ( &! % $ # # "!

Aula 7. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura ARM

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta

Aula 7 Prof. Abel Guilhermino Acorn Computer Group ARM1 ARM2 e ARM3 Joint Venture ARM Limited ARM6

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Processador. Processador

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016

Organização e Arquitetura de Computadores I

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

ORGANIZAÇÃO DE COMPUTADORES

Microprocessadores. Família x86 - Evolução

Aula 10 Microcontrolador Intel 8051 Parte 1

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

ATIVIDADES PRÁTICAS SUPERVISIONADASS

Processadores para computação de alto desempenho

Processadores para computação de alto desempenho

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Organização de Computadores 1

EXMO (A). SR.(ª). DR.(ª). JUIZ (A) DE DIREITO DA 2ª VARA CÍVEL DA COMARCA DE MOGI DAS CRUZES SÃO PAULO

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Arquitetura de Computadores

Hardware, Processador e Memória

4a. Geração VLSI 1980 à????

Barramento CoreConnect

Conjunto de Instruções. Alisson Brito

ORGANIZAÇÃO DE COMPUTADORES

Arquitetura de Computadores Aula 10 - Processadores

Sistemas Operacionais. Sistema de entrada e Saída

Projetos Digitais e Microprocessadores 1 o Semestre de 2005 Prof. Luis Allan Künzle Prova Final 05/07/2005 Prova sem consulta.

AJProença, Sistemas de Computação, UMinho, 2017/ ou + Unidades (Centrais) de Processamento (CPU)

Arquitetura SUN UltraSPARC III Cu

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Barramento

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

Microprocessadores II - ELE 1084

PlayStation 2. Marcelo Schiavon Porto CMP237 - Arquitetura e Organização de Processadores

4. As condições de igualdade menor que e maior que são verificadas por a. Operações lógicas b. Subtração c. Localizações d. Operações aritméticas

Computadores e Programação (DCC/UFRJ)

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

AULA1 Introdução a Microprocessadores gerais. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

14/3/2016. Prof. Evandro L. L. Rodrigues

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

ý þ ü ü ü ü ý þ ü ÿ ý þ ü ü ü ü ü! þ " ÿ ÿ ý ý þ ü ü ÿ ü ý ü ÿ ý þ ý ü ÿ ÿ ý # $ % ÿ $ & þ ü þ ü þ ü ' þ ü þ ( ( ( O ) * +, -. / / 5 6

Estrutura Básica de um Computador

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Arquitetura e Organização de Computadores

HARDWARE COMPONENTES DO COMPUTADOR

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Aula 10 Processadores de Propósito Geral

Aula 17: Organização de Computadores

Projeto de Sistemas Embarcados

Sistemas Operacionais. Conceitos de Hardware

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

3. Unidade Central de Processamento

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Organização de Sistemas de Computadores

U N I V E R S I D A D E C A N D I D O M E N D E S P Ó S G R A D U A Ç Ã O L A T O S E N S U I N S T I T U T O A V E Z D O M E S T R E

A C T A N. º I V /

M a n h ã... p r e s e n t e! L u g a r... p r e s e n t e! Q u e m... p r e s e n t e! N e n h u m... p r e s e n t e! C u í c a... p r e s e n t e!

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

MICROPROCESSADORES. Aula 10

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

PSI3441 Arquitetura de Sistemas Embarcados

Barramento. Entrada. Saída

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Transcrição:

Arquitetura de Sistemas Embarcados! " # $ % & $ ' (# )+*-,/. 0/1 A micro-arquitetura XScale da Intel possui núcleo compatível com ARM versão 5TE A micro-arquitetura se baseia no Strong ARM da Intel e é manufaturada usando o processo de 0.18-micro Projetado para otimizar consumo de potencia garantindo desempenho para aplicações sem fio e de rede. 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =<F Overview Processador Xscale (Intel) baseado no ARM Processador Intel PXA250 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =D Frequencia de operação: 400MHz Frequencia pode ser ajustada para velocidade inferior (redução de consumo de potencia) Exemplo: Apresentação multimidia requer alto desempenho Processamento de texto requer desempenho menor Modos de alto e baixo desempenho podem ser chaveados 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =G Núcleos de Processadores ARM Os núcleos baseados no ARM permitem soluções em plataformas para aplicações wireless e de processamento de imagem São usados para: aplicações de armazenamento, aplicações automotivas, aplicações de rede e industriais; e aplicações securas para smart cards e SIM cards. Core Xscale da Intel usa um núcleo do ARM. 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =<E Baixo consumo: 0.001 ~ 1.6 watts Desempenho: ~1 GHz. Core XScale utilizado em Pocket PC s incluindo: Toshiba e740, Dell Axim e ipaq 3950, 3970 e 5450. A micro-arquitetura inclui núcleo ARM com unidade de gerenciamento de memória, cache de dados e de instruções e interface com coprocessador. 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?H Wearable Computers 1

O núcleo Intel XScale inclui extensões do ARM tais como: Instruções Thumb (ARM V5T) para redução do tamanho do código Extensões para processamento de sinal para adicionar funcionalidades de DSP O núcleo implementa o repertório de instruções de inteiros do ARM V5, mas não suporta instruções de ponto-flutuante f g ^<S ]RTP`+a[VhSbi-S M+Shj^kljX a[vhsym ]RTR^jnhORQ SUTbMP_hj<_ oqpsr O núcleo Intel XScale inclui um conjunto de instruções para processamento de sinais permitindo a execução de aplicações multimidia com alto desempenho. Instruções de multiplicação com dados de 16 bits e instruções de saturação Algumas das novas instruções: SMLAxy 32<=16x16+32 SMLAWy 32<=32x16+32 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?I 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d e Modelo de Programação A micro-arquitetura Intel Xscale usa o modelo de programação do ARM* Versão 5TE ISA, o qual suporta tipos de dados de 8-, 16- e 32-bits Possui 7 modos de operação: user, system, supervisor, abort, undefined instruction, fast interrupt e normal interrupt. A micro-arquitetura possui 16 registradores de propósito geral de 32 bits (R0-R15). O R13 é o stack pointer (SP), o R14 é o registrador de endereço de retorno e o R15 é o PC (program counter). 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =J f g ^<S ]RT+`PabV SYiqShMPShj^kljX abv SYm ]RTR^jnhORQ SUTbMP_hj<_ oqpsr SMLALxy 64<=16x16+64 SMULxy 32<=16x16 SMULWy 32<=32x16 QADD adiciona dois registradores e satura o resultado no caso de overflow QDADD duplica e satura um dos registradores, adiciona e depois satura QSUB subtrai dois registradores e satura o resultado no caso de overflow QDSUB duplica e satura um dos registradores de entrada então subtrai e satura resultado 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d d LNMPORQ SUTWV SYX Z[M \ SPZWS ]R^<_POU`PabVca ARM XScale,QVWUXo}HVDGLFLRQDLVDR$50 O núcleo Intel XScale suporta as duas representações dos dados: big e little endian. Um bit do registrador de controle (Coprocessor 15, register 1, bit 7) seleciona o modo big ou little endian. O núcleo Intel XScale suporta instruções Thumb porém não suporta codificação com 26 bits 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =K BKPT - Breakpoint por software BLX - Branch with Link and Exchange (chaveia para modo Thumb) LDM/LDR - carrega PC da memória ou de registrador podendo chavear para modo Thumb MAR - Move acumulador de 40 bits (CP0) para dois registradores ARM MRA - Move 2 registradores ARM para acumulador de 40 bits (CP0) LDRD - Carrega dois registradores da memória STRD - Armazena dois registradores na memória PLD - Carregamento antecipado de blocos de cache 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d D Wearable Computers 2

$SOLFDo}HVGR1~FOHR;VFDOH A micro-arquitetura pode ser combinada com outros periféricos Periféricos mais usados: Controlador LCD Controlador multimidia Controlador de memória externa Aplicações: projeto de equipamentos portáteis que executam aplicações multimidia. 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d E 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d H $SOLFDo}HVGR1~FOHR;VFDOH Outros exemplos: núcleo + interface PCI, controladores de memória e processadores de rede. Processadores com Arquitetura Intel PCA (The Intel Personal Internet Client Architecture) e tecnologia Intel XScale tem permitido acréscimo de funcionalidade em dispositivos portáteis. Intel PXA250 O processador Intel PXA250 possui um grande número de periféricos: Controlador de memória Barramento serial e paralelo Links para comunicação wireless Expansion cards E mais... 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d F 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d I r jactusrtrt+_pvcalj-m ]R^<Sh\ r uqvw+xry t+acz{zcs+tp]hal\ ac lx _Ym ]R^<Sh\ u ThtU_h\ S Os processadores PXA250 e PXA210 consistem num SOC (system-on-a-chip) para equipamentos portáteis com baixo consumo Incorporam tecnologia Intel XScale com escalonamento da frequencia on-the-fly permitindo gerenciamento refinado da frequencia com um bom desempenho Separação dos subsistemas de comunicação e computação para desenvolvimento concorrente do hardware e software de equipamentos sem fio. Intel PXA250 A arquitetura Intel PCA é uma arquitetura com potencial para projeto de dispositivos móveis de alto desempenho e baixo consumo combinando comunicação de voz e acesso a internet Aplicações: Telefones celulares PDAs Etc... 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d G 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d J Wearable Computers 3

Á Á Diagrama do PXA255 Características da Cache de Dados do PXA255 Cache de Dados Buffers para Leituras/Escritas Compatibiliza desempenho CPU/Memória }/~+ / -ƒ +ˆŠ 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =?d K 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =D D Núcleo do Microprocessador Intel Xscale e do PXA255 Organização da Cache do PXA255 Pipeline de 7 estágios Memória cache Write Buffer Fill Buffer Pend Buffer 32K Data cache 32 bytes por linha de cache 32 conjuntos/ 32 ways impt (CP0) Branch Target Buffer Monitoramento de desempenho Alinhamento de 32 bytes Política de Substituição: Round Robin 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =D e 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =D E Pipeline de 7 Estágios Œ ³< ž Ž? ŸŸŸ Ÿ Ž Ž / ² Ž Ž š? œ? ž< Ž Ž Ÿ? P? Ÿ ŽŽ? Ž Ž š Ž Ž < Ž Ž < Ž Ž <Œ Ž Ž < ± ± <Ž Ž Ž / Ž Ž <Œ ² ŒŒ Ž Ž ž š ² Fill Buffer Cache pode trabalhar independente da MMU Armazena 4 cache lines Hit-Under-Miss Êæ æ Êæ æ åà åà ãåä ãåä âã  âã  µ? ¹ ¹ º» Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ø Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ì Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ë Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ù ¼ º½¾l ¹ ¹ º» Ô<Ö?Ö ØšÏ Þ+ß Ø Ô<Ö?Ö Ø àuì Ï Þ+ß Ì Ô<Ö?Ö Ì Ï Þ+ßÙ Ô<Ö?Ö Ë Ï Þ+ß á Úšº?Û µ Ü?Ý Ü?Ý º» µ º º ÊÈ ÉÆ È ÆÀÁ À ÇÅ ÅÆ À ÂÁÃ Ä 2 3 4 5 678 75 3 9: 8<; 6= 78 >?9 =@ >?A 9 3 B 9 : C =D F Wearable Computers 4

Á Á Pend Buffer Load/Stores para cache que estão pendentes no fill buffer possuem tags no pend buffer Obedece a ordem de execução 4 Entradas Êæ æ Êæ æ åà åà ãåä ãåä âã  âã  µ? ¹ ¹ º» Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ø Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ì Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ë Ë<ÌUÍ<Î Ï Ð<ÑÓÒÕÔ<Ö?Ö Ù ¼ º½¾l ¹ ¹ º» Ô<Ö?Ö ØšÏ Þ+ß Ø Ô<Ö?Ö Ø àuì Ï Þ+ß Ì Ô<Ö?Ö Ì Ï Þ+ßÙ Ô<Ö?Ö Ë Ï Þ+ß á Úšº?Û µ Ü?Ý Ü?Ý º» µ º º ÊÈ ÉÆ È ÆÀÁ À ÇÅ ÅÆ À ÂÁÃ Ä Referencias Bibliográficas Intel PXA250 and PXA210 Application Processors Optimization Guide Optimization CD, PCADN ARM Architecture Reference Manual David Seal, Editor Addison-Wesley The Software Optimization Cookbook by Richard Gerber Intel Press ç è é ê ëìí ìê è îï í<ð ëñ ìí ò?î ñó ò?ô î è õ î ï ö ñ ø ç è é ê ëìí ìê è îï í<ð ëñ ìí ò?î ñó ò?ô î è õ î ï ö ñ Write Buffer 8 entradas, cada uma com 16 bytes Cada entrada é alinhada ( 16 bytes) ç è é ê ëìí ìê è îï í<ð ëñ ìí ò?î ñó ò?ô î è õ î ï ö ñ ù Branch Target Buffer Branch Target Buffer (BTB) Cache de mapeamento direto 128 entradas Instruções com predição B e BL 2 Bits para armazenamento do estado do desvio Œ œ<œ< /û ± ü ý þ ÿ Ô ³< ž Ž< œœ< /û ± ü ÿ Ô Ï Ô < Ž ³? ª Ž < Ž /û ü ÿ Ï Ô Ï Ð ç è é ê ëìí ìê è îï í<ð ëñ ìí ò?î ñó ò?ô î è õ î ï ö ñ ú Wearable Computers 5