Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO ESTÁCIO - UNISEB ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO ESTUDO DIRIGIDO DA ARQUITETURA ARM Arthur Pereira Gabriel Mini Igor Lollato Matheus Franco Yuri Ferreira Prof. Ms. Paulo César de Carvalho Dias RIBEIRÃO PRETO 2016 Orientações: Utilize o artigo A Arquitetura ARM e pesquise na internet as seguintes 1. Qual foi a motivação para o desenvolvimento do ARM1? A arquitetura ARM possibilita implementações enxutas e com bom desempenho. Também possui baixo consumo de energia, ideal para dispositivos móveis. 2. O texto cita as filosofias de projeto RISC e CISC (Veja o Artigo RISC VS CISC). Explique o que elas significam. A arquitetura RISC move todas as funções para software, enquanto a CISC move para o hardware qualquer função. O problema é que 75% das instruções da CISC não são utilizadas. 3. O que é uma arquitetura de LOAD / STORE? O PIC é LOAD/STORE? Arquitetura de LOAD / STORE. Operações de processamento de dados não operam diretamente com o conteúdo da memória, somente com o conteúdo de registradores. O PIC não é LOAD/STORE. 4. O que são e para que servem os modos de operação do ARM? Possui 7 modos, que são funções, mostrados a seguir: - User Mode(USR): modo normal de execução do ARM, utilizado para executar a maioria dos programas aplicativos - Fast Interrupt (FIQ): suporta transferência de dados - Interrupt (IRQ): modo usado para tratar interrupção de propósito geral - Supevisor (SVC): modo protegido para sistema operacional - Abort (ABT): modo usado depois que uma busca de dados ou instrução é abortada - Undefined (UND): modo utilizado quando uma instrução não definida é executada - System (SYS): modo usuário privilegiado para o sistema operacional 5. Visite a página (http://www.arm.com/products/processors/index.php) e liste as aplicações dos processadores Cortex-A, Contex-R, Cortex-M e SecurCore. Cortex-A: Smartphones, Feature Phones (celulares mais simples mas que acessam a internet, por exemplo), Tablets/eReaders, Media Players Pessoais (mp3, mp4, ipod, etc), Televisões digitais, receptores de satélites, impressoras de alto desempenho, , servidores, GPS, empreendimentos. Cortex-R: Controle de sistema automotivo, redes de sensores com fio e sem fio, estruturas base wireless, controles de armazenamento massa, impressoras, dispositivos de rede. Cortex-M: processadores comerciais, controle de sistemas automotivos, controle de sistema do motor, controladores de eletrodomésticos, medidores inteligentes, sensores, coisas da internet. SecurCore: Simuladores, cartões inteligentes, sistemas de pagamento avançado, passaportes eletrônicos, bilhetes eletrônicos e de transportes. 6. Liste e explique sumariamente os tipos de instruções ARM. O conjunto de instruções ARM pode ser dividido em 6 classes: • Instruções de Branch; Essas instruções possibilitam a troca do fluxo de instruções escrevendo um endereço no PC. • Instruções de processamento de dados; Fazem operações lógicas e aritméticas com até dois operandos de origem, escrevendo o resultado em um terceiro operando de destino. • Transferência de registradores de status; Existem duas instruções (MRS e MSR) que podem transferir dados do registrador de status. A primeira move o conteúdo do registrador de status para um registrador de propósito geral e a segunda faz o inverso. • Instruções de Load / Store; Troca o conteúdo de um registrador com um endereço da memória. • Instruções de co-processador; São instruções que podem iniciar uma operação no coprocessador, podem também transferir dados deste último para a memória e vice-versa, e ainda podem ser usadas para transferir dados entre registradores do ARM e do seu co-processador. • Instruções de geração de exceções. Causa uma interrupção no sistema 7. A arquitetura ARM utiliza o formato de dados Little Endian ou Big Endian. O que significam estes formatos. As duas arquiteturas que se referem à ordem na qual os bytes são armazenados na memória. Na arquitetura big-endian os bytes mais significativos vêm primeiro e depois os dados menos significativos (ordem decrescente). Na little-endian, ocorre o inverso, os bytes menos significativos vêm primeiro (ordem crescente) e depois os bytes mais significativos. Ex: Data em Little-Endian (DD/MM/AAAA) Data em Big-Endian (AAAA/MM/DD) 8. A arquitetura ARM é Harvard ou Von Neumann? Como estas arquitetura influencia a organização da memória cache? ARM é arquitetura Harvard. Nesta arquitetura, a cache é separada por módulos associados a instruções e dados. 9. Qual o tipo de mapeamento de cache utilizado (direto, associativo ou associativo em conjunto)? A cache no ARM é full associative, o que signifca que ela é associativa por conjunto de N vias, sendo N o número total de linhas de cache, assim, qualquer busca na cache precisa checar cada linha de cache. A cache é também mapeada diretamente, com um conjunto de m blocos e uma entrada pode residir em qualquer bloco dentro desse conjunto. 10. O que faz a MMU? O que é a tradução de endereço virtual e endereço físico? A MMU controla o acesso à memória externa e é responsável pela tradução do endereço virtual em endereço físico, assim como a checagem de permissão de acesso. Mapeamento de endereço virtual para físico é quando a MMU identifica o endereço físico que está localizado na memória principal e está sendo acessada visando reduzir o custo médio de acesso a memória. 11. O que são e para que servem os Translation Lookaside Buffers (TLB)? Quantos TLBs existem e para quais funções? É um dispositivo destinado a tradução de endereços lineares em endereços físicos. Facilita o acesso. Existem dois tipos de TLB, Data TLB e Instruction TLB. Contém endereços virtuais para físicos mais recentes e associam o ASID (identifica todos os processos ativos) com todas as entradas. 12. Quais são as extensões da arquitetura ARM? Thumb As instruções Thumb são na verdade instruções ARM codificadas para aumentar a performance do processador em certas aplicações, utilizando um barramento de dados mais simples (de apenas 16 bits) e criando uma melhor densidade dos códigos. Thumb2 Esse tipo novo de instrução foi implementado inicialmente no núcleo ARM1156 (em 2003). Ele extende o limite de 16 bits do modo Thumb com algumas instruções adicionais de 32 bits, para dar um melhor fôlego para aplicações totalmente escritas em modo Thumb. Jazelle Essa tecnologia permite a execução nativa em hardware de bytecodes Java. Thumb2EE Também conhecido como Jazelle RCT, essa tecnologia foi lançada nesse ano, primeiramente no núcleo Cortex-A8. O Thumb-2EE extende o Thumb-2 com um conjunto de instruções particularmente úteis para códigos gerados em tempo de execução, como ocorre com os compiladores JIT do Java e C#. Outras linguagens que podem obter vantagens da tecnologia são Perl e Phyton. Com o Thumb-2EE códigos mais compactos podem ser criados, sem que isso impacte na performance da aplicação. NEON É um conjunto de instruções do tipo SIMD (Single Instruction Multiple Data) de 64 e 128 bits criado especialmente para acelerar aplicações multimidia e de processamento de sinais. A tecnologia possui um novo conjunto de instruções, um conjunto separado de registradores e um hardware de execução independente. VFP - Vector Floating Point Processor É um coprocessador que extende as instruções ARM para o cálculo de ponto flutuante de precisãosimples e dupla, totalmente compatível com o padrão ANSI/IEEE 754.
Compartilhar