Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>UNIJUÍ</p><p>UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO</p><p>SUL</p><p>DCEEng</p><p>DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS</p><p>CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO</p><p>COMPARAÇÃO DE DESEMPENHO DE PROCESSADORES ARM X</p><p>i386</p><p>Filipe Augusto Graeff</p><p>Panambi, RS - Brasil</p><p>2016</p><p>Filipe Augusto Graeff</p><p>COMPARAÇÃO DE DESEMPENHO DE PROCESSADORES ARM X i386</p><p>Trabalho de Conclusão de Curso apresentado ao</p><p>Curso de Ciência da Computação do</p><p>Departamento de Ciências Exatas e Engenharias</p><p>(DCEEng), da Universidade Regional do</p><p>Noroeste do Estado do Rio Grande do Sul</p><p>(UNIJUÍ), como requisito para a obtenção do</p><p>título Bacharel em Ciência da Computação.</p><p>Orientador: Dsc. Edson Luiz Padoin</p><p>Panambi– RS</p><p>2016</p><p>COMPARAÇÃO DE DESEMPENHO DE PROCESSADORES ARM X</p><p>i386</p><p>Trabalho de Conclusão de Curso apresentado</p><p>ao Curso de Ciência da Computação do</p><p>Departamento de Ciências Exatas e</p><p>Engenharias (DCEEng), da Universidade</p><p>Regional do Noroeste do Estado do Rio Grande</p><p>do Sul (UNIJUÍ), como requisito para a obtenção</p><p>do título Bacharel em Ciência da Computação.</p><p>_________________________________</p><p>Orientador: Dsc. Edson Luiz Padoin</p><p>_________________________________</p><p>Prof. Msc. Romário Lopes Alcântara</p><p>Panambi-RS</p><p>2016</p><p>“Dedico este trabalho a Deus e a</p><p>minha família que sempre</p><p>estiveram ao meu lado”</p><p>AGRADECIMENTOS</p><p>Agradeço primeiramente a Deus, pois sem ele não somos ninguém, agradeço</p><p>aos meus pais por sempre estarem ao meu lado, aos meus professores pelos seus</p><p>ensinamentos aos meus colegas que estiveram junto nesta caminhada e a todos</p><p>que de alguma forma ou outra estiveram comigo nestes anos até aqui.</p><p>RESUMO</p><p>Atualmente o grande consumo de energia dos processadores de</p><p>computadores vem se tornando um assunto muito comentado mundialmente, quase</p><p>não havendo alternativas de processadores econômicos e de bom desempenho. Os</p><p>processadores da arquitetura ARM aparecem com novas tecnologias que prometem</p><p>melhorar a eficiência de consumo, como vem fazendo em dispositivos móveis, mas</p><p>fica a dúvida se seria capaz de atender o desempenho exigido em equipamentos</p><p>maiores. Por tanto este trabalho tem o objetivo de analisar a performance e</p><p>consumo energético dos processadores da arquitetura ARM e i386, e através dos</p><p>resultados obtidos, comparar a performance e o consumo de energia das</p><p>arquiteturas, analisando a eficiência de ambos.</p><p>ABSTRACT</p><p>Currently the large energy consumption of computer processors has become a</p><p>much discussed topic worldwide, with almost no alternative economic processors and</p><p>good performance. The ARM architecture processors appear with new technologies</p><p>that promise to improve fuel efficiency, as it has done on mobile devices, but the</p><p>question is whether it would be able to meet the required performance in larger</p><p>equipment. Therefore, this work aims to analyze the performance and energy</p><p>consumption of the ARM architecture processors and i386, and by the results,</p><p>compare the performance and energy consumption of architectures, analyzing the</p><p>efficiency of both.</p><p>LISTA DE SIGLAS</p><p>AMD Advanced Micro Devices</p><p>ARM Advanced RISC Machines</p><p>CISC Complex Instruction Set Computer</p><p>DDR</p><p>DFT</p><p>Double Data Rate</p><p>Discrete Fourier Transform</p><p>DSPs Digital Signal Processors</p><p>GHz GigaHertz</p><p>GRIDRS Grade Regional de Alto</p><p>desempenho do Rio Grande do Sul</p><p>HP Hewlett Packard</p><p>IBM International Business Machine</p><p>ISA Industry Standart Architeture</p><p>LPAE Large Physical Address Extensions</p><p>MHz MegaHertz</p><p>MIPS Milhões de Instruções Por Segundo</p><p>MPCore Multiple Processor Core</p><p>MPSoC MultiProcessor System on Chip</p><p>MW MegaWatt</p><p>NAS NASA Advanced Supercomputing</p><p>NASA National Aeronautics and Space</p><p>Administration</p><p>NPB</p><p>NM</p><p>NAS Parallel Benchmark</p><p>Nanômetro</p><p>PTM Programa de Rastreamento de</p><p>Macrocell</p><p>PTS Phoronix Test Suite</p><p>RISC Reduced Instruction Set Computer</p><p>SCU Snoop Control Unit</p><p>SoCs System on Chips</p><p>SO Sistema Operacional</p><p>VLSI</p><p>Very Larg Scale Integration</p><p>LISTA DE FIGURAS</p><p>Figura 1– Histórico ARM</p><p>Figura 2– Arquitetura Multicore Cortex-A7</p><p>Figura 3– Arquitetura Cortex-A8</p><p>Figura 4– Estrutura do Cortex-A9</p><p>Figura 5– Estrutura do Cortex-A15</p><p>Figura 6– Comparativo Cortex-A35 x Cortex-A7</p><p>Figura 7– Estrutura do Cortex-A35</p><p>Figura 8– Cortex-A57 Performance Relativa para o Cortex-A15</p><p>Figura 9– Estrutura do Cortex-A57</p><p>Figura 10– Comparativo de Performance e Redução de Energia Cortex-A72</p><p>Figura 11– Estrutura do Cortex-A72</p><p>Figura 12– Pontos de Atuação dos Processadores Big.LITTLE</p><p>Figura 13– Equipamento Samsung RF511</p><p>Figura 14– CubieTruck</p><p>Figura 15– Tela Phoronix Test Suite</p><p>Figura 16– Seleção de Teste</p><p>Figura 17– Informações do Sistema</p><p>LISTA DE TABELAS</p><p>Tabela 1 – Características das Famílias ARM</p><p>Tabela 2 – Histórico das Arquiteturas ARM</p><p>Tabela 3 – Especificações dos Processadores Pesquisados</p><p>Tabela 4 – Especificações dos Equipamentos</p><p>Tabela 5 – Resultados de Performance e Tempo ARM</p><p>Tabela 6 – Consumo de Energia INTEL</p><p>Tabela 7 – Consumo de Energia ARM</p><p>LISTA DE GRÁFICOS</p><p>Gráfico 1 – Resultados de Performance INTEL</p><p>Gráfico 2 – Resultados de Tempo INTEL</p><p>Gráfico 3 – Resultados de Performance ARM</p><p>Gráfico 4 – Resultados de Tempo ARM</p><p>Gráfico 5 – Comparação de Performance INTEL x ARM</p><p>Gráfico 6 – Comparação de Tempo INTEL x ARM</p><p>Gráfico 7– Consumo de Energia INTEL</p><p>Gráfico 8– Consumo de Energia ARM</p><p>Gráfico 9– Relação Consumo de Energia INTEL x ARM</p><p>Gráfico 10– Relação Consumo x Tempo</p><p>SUMÁRIO</p><p>1 INTRODUÇÃO .......................................................................................................... 13</p><p>2 ESTADO DA ARTE ................................................................................................... 14</p><p>2.1 Arquitetura ARM ........................................................................................................ 14</p><p>2.1.1 Histórico .................................................................................................................... 15</p><p>2.2 Famílias .................................................................................................................... 17</p><p>2.2.1 ARM Cortex-A7......................................................................................................... 19</p><p>2.2.2 ARM Cortex-A8.......................................................................................................... 21</p><p>2.2.3 ARM Cortex-A9.......................................................................................................... 22</p><p>2.2.4 ARM Cortex-A15 ........................................................................................................ 24</p><p>2.2.5 ARM Cortex-A35 ........................................................................................................ 26</p><p>2.2.6 ARM Cortex-A57 ........................................................................................................ 28</p><p>2.2.7 Futuro ARM Cortex-A72 ............................................................................................ 29</p><p>2.2.8 Big.Little ..................................................................................................................... 31</p><p>2.2.9 ARMv7 ....................................................................................................................... 32</p><p>2.2.10 ARMv8 ......................................................................................................................</p><p>33</p><p>3 METODOLOGIA ....................................................................................................... 36</p><p>3.1 Benchmark ............................................................................................................... 37</p><p>3.1.1 Phoronix Test Suit Benchmark .................................................................................. 38</p><p>4 RESULTADOS ......................................................................................................... 42</p><p>4.1 Testes de Performance ............................................................................................ 42</p><p>4.2 Consumo ................................................................................................................. 48</p><p>5 CONCLUSÃO .......................................................................................................... 52</p><p>6 Referências Bibliograficas......................................................................................... 54</p><p>13</p><p>1 INTRODUÇÃO</p><p>Nas últimas décadas os computadores deixaram de ser máquinas que faziam</p><p>apenas serviços básicos, sem muita capacidade, e ganharam grande desempenho</p><p>para realizar as mais variadas tarefas, e inúmeras tarefas e a cada nova geração o</p><p>seu tamanho físico vem diminuído. Com o passar dos anos com a conexão da</p><p>Internet que se transformou um dos principais meios de comunicação mundial,</p><p>passando a interligar países e continentes diferentes a capacidade de</p><p>processamento aumentou, mas consigo veio o aumento de consumo de energia.</p><p>Devido a importância da internet no dia-a-dia, os processadores ganharam a</p><p>mobilidade através de novas tecnologias e junto de novos sistemas operacionais.</p><p>O crescimento de dispositivos móveis sendo adquiridos anualmente, traz junto</p><p>consigo um grande desafio para as grandes fabricantes dos mesmos e também para</p><p>seus sistemas operacionais, que é a parte de consumo de energia.</p><p>O mercado de IoT (internet das coisas) está em constante crescimento nos</p><p>últimos tempos, procurando-se ter eficiência e desempenho com um consumo de</p><p>energia baixo.</p><p>Por tais causas essa área passou a ser um dos focos das pesquisas de</p><p>cientistas da computação, buscando conseguir aumentar o grau de desempenho dos</p><p>processadores, mas sem deixar de lado o baixo consumo de energia.</p><p>A arquitetura Advanced RISC Machines (ARM) começou como um projeto em</p><p>1983 na Arcon Computers, de Cambridge, Inglaterra, para desenvolver um</p><p>processador que fosse similar ao já usado MOS Technology 6502 (GOMES,2011).</p><p>Esse processador era baseado no Berkeley RISC I, que tinha como objetivo</p><p>estruturar o processador com tarefas simples e com um número fixo de instruções</p><p>de 32 bits, alcançando uma velocidade de processamento e desempenho muito</p><p>bons para a época. Tem entre suas características ocupar uma área muito pequena,</p><p>ter um baixo consumo de energia e ser muito versátil.</p><p>Com tais características os processadores ARM poderiam facilmente</p><p>ser usados em várias áreas da tecnologia, por exemplo, em computadores,</p><p>buscando baixar significativamente o consumo de energia dessas máquinas.</p><p>Portanto neste trabalho procura-se conhecer melhor as arquiteturas i386 e ARM,</p><p>para após serem realizados uma bateria de testes com um benchmark escolhido, e</p><p>14</p><p>com os resultados obtidos fazer uma comparação entre desempenho e consumo,</p><p>avaliando quantos seriam necessários para um desempenho totalmente equivalente</p><p>aos i386.</p><p>2 ESTADO DA ARTE</p><p>Com a grande preocupação com o consumo energético para os aparelhos</p><p>eletrônicos, pesquisas em sua grande maioria estão voltadas para esse tema que</p><p>vem se tornando um grande problema para esses equipamentos, que até pouco</p><p>tempo apenas se procurava buscar o máximo de desempenho de processamento,</p><p>não se preocupando muito com o consumo. Esse gasto é tão grande que faz com</p><p>que nenhuma fonte de energia tenha uma vida útil muito longa, que são os casos</p><p>das baterias de smartphones e notebooks.</p><p>Portanto buscaremos um embasamento maior sobre o funcionamento</p><p>da arquitetura ARM e I386, e aprofundar o conhecimento sobre as</p><p>características dos processadores que serão usados. E após verificar</p><p>os principais pontos e características sobre benchmarks, definindo um</p><p>para os testes que serão realizados.</p><p>2.1 Arquitetura ARM</p><p>Nesta seção serão apresentadas algumas especificações e características</p><p>sobre uma arquitetura que inicialmente foi desenvolvida pela empresa britânica</p><p>Arcon Computers que obteve grande êxito na década de 80, criando um computador</p><p>para fins educativos, que foi um tamanho sucesso que acabou obtendo a venda de</p><p>milhões de unidades. Usando um microprocessador fabricado pela empresa</p><p>Rockwell, este que também foi usado por algum período em consoles como da</p><p>Nintendo e Atari.</p><p>De acordo com Gomes, Leite e Caetano (2011), essa arquitetura foi criada</p><p>buscando instruções simples, mas sem deixar o desempenho de lado:</p><p>A arquitetura ARM foi desenvolvida para possibilitar implementações</p><p>muito enxutas, sem deixar de lado o alto desempenho. Isso é possível</p><p>pela simplicidade dos processadores ARM. Importante lembrar que</p><p>implementações pequenas implicam em baixo consumo de energia, o</p><p>que torna esses processadores interessantes para aplicações móveis</p><p>(GOMES, LEITE E CAETANO, 2011).</p><p>15</p><p>2.1.1 Histórico</p><p>Criado inicialmente para fins educacionais, não foi muito conhecido na sua</p><p>criação, até que três anos mais tarde com a sua segunda versão o ARM2, com</p><p>30.000 transistores, passaram a ser o primeiro processador usado comercialmente.</p><p>Nos anos 80 a arquitetura mais usada era a Complex Instruction Set</p><p>Computer (CISC), que tinha como características ter um conjunto complexo de</p><p>instruções, podendo realizar centenas de instruções diferentes. Esse conjunto de</p><p>instruções já guardadas no próprio processador era considerado um benefício,</p><p>porque os programadores poderiam usar tais instruções em seus programas,</p><p>conhecidos como os processadores na arquitetura i386.</p><p>“A arquitetura RISC surgiu com o objetivo de otimizar a performance dos</p><p>computadores e foi construída com base em alguns princípios fundamentais que</p><p>permitiram otimizações [...]”. (DINIZ E BARROS, 2012) Algumas das principais</p><p>alterações da arquitetura RISC para a CISC, é o número reduzido de instruções,</p><p>sendo estas apenas instruções simples, causando mais trabalho aos</p><p>programadores. Outra novidade foi o uso de pipeline, fazendo que os processos</p><p>passassem por uma linha de estágios, otimizando e realizando as operações mais</p><p>rapidamente.</p><p>Não há dúvidas sobre a velocidade e capacidade de desempenho dos</p><p>processadores CISC com instruções maiores e mais complexas, mas por outro lado</p><p>os processadores RISC tem um ganho bem superior em instruções mais simples,</p><p>que não necessitam tanto poder de processamento.</p><p>A ideia desse novo processador com tecnologia RISC foi muito bem aceita e</p><p>com o crescimento nas vendas e com o sucesso causado pela máquina criada pela</p><p>Arcon, seus criadores viram necessário a inclusão de uma nova central de</p><p>processamento, capaz de conseguir maior nível de desempenho. Depois de buscas</p><p>no mercado e não obtendo um que atingisse o resultado esperado, seus</p><p>desenvolvedores tiveram a ideia de criar um novo processador desde o marco zero,</p><p>ou seja criar o seu próprio chip de processamento desde a ideia inicial.</p><p>Os engenheiros da Acorn focaram no desenvolvimento de um</p><p>processador com poucos recursos, mas com boa performance.</p><p>Enquanto que a Acorn projetava o chip, quem fabricava era outra</p><p>16</p><p>empresa, a VLSI Technology. O ARM1 nasceu como um RISC de 32</p><p>bits, baseado na arquitetura do 6502, e foi usado basicamente como</p><p>coprocessador no BBC Micro. O ARM2 apareceu um ano depois, com</p><p>melhorias no conjunto de instruções, principalmente para deixar mais</p><p>rápidas as instruções hoje comuns em DSPs, como operações de</p><p>multiplicação (PRADO,</p><p>2011).</p><p>Com poucos recursos tiveram seu foco e base na criação de um chip</p><p>diferente, que se trata de ter poucos recursos, mas um desempenho satisfatório,</p><p>atingindo o resultado que a empresa necessitava naquele momento. Mantendo</p><p>daquele marco inicial em diante sempre a linha de pensamento de sempre</p><p>conquistar o melhor desempenho, mas nunca deixando de ser simples, ocupar uma</p><p>pequena área e outra de suas principais características o baixo consumo de energia.</p><p>Já em 1989, com a nova versão ARM2, melhorou seu desempenho, obtendo</p><p>4KB de cache, e passou a dominar o mercado de processadores embarcados, já</p><p>passando a ter a característica de ter um ótimo desempenho para aquela época e</p><p>tendo um consumo de energia consideravelmente baixo.</p><p>Alguns anos depois com ARM7, consegue a incrível marca de utilizar apenas</p><p>a metade da energia de sua versão anterior o ARM6, e dobrar a sua capacidade de</p><p>processamento, um feito marcante.</p><p>Em 2006 teve a linha Xscale, produzida pela Intel, usando menos energia</p><p>ainda, operando em 133MHz e 400MHz. Quatro anos mais tarde surgem a geração</p><p>Cortex, sendo o processador mais poderoso até 1 GHz, com 13 estágios de pipeline.</p><p>Tendo como seu futuro lançamento o Cortex-A72, que se trata de uma grande</p><p>inovação, com base na arquitetura ARMv8-A o lançamento está previsto para o</p><p>início de 2016, a CPU Cortex-A72 baseia-se no amplo sucesso do processador</p><p>Cortex-A57, a ARM diz que o Cortex-A72 terá velocidade até 90% maior que o</p><p>antecessor o A57 e até 75 % menos consumo de energia que os chips atuais, o</p><p>núcleo será baseado no processo FinFET 16 nanômetros, permitindo que o Cortex-</p><p>A72 atinja até 2.5GHz de processamento.</p><p>“Ao contrário dos fabricantes de chips x86 da Intel, AMD e VIA, ARM não</p><p>vende CPUs, mas licencia seus designs de processadores para outras empresas.</p><p>Incluindo NVIDIA, IBM, Texas Instruments, Intel, Nintendo, Samsung [...]” (VAN’S,</p><p>2011). Portanto a ARM, não fabrica seus processadores por completo, mas sim</p><p>produz e desenvolve licenças para empresas fabricantes que desejam usá-los.</p><p>17</p><p>Assim deixando a cargo de cada empresa que fabriquem seus próprios chips,</p><p>dependendo da licença podendo fazer alterações ou integrações de novos</p><p>dispositivos a arquitetura. E tem entre a lista de licenciados empresas no ramo de</p><p>dispositivos móveis como a Samsung, Apple, entre outras, e também na parte jogos</p><p>e multimídia como a Nvidia e a Nintendo, tendo muitas outras.</p><p>2.2 Famílias</p><p>Desde a sua criação os processadores ARM passaram por várias versões,</p><p>sendo classificadas a cada uma delas por ARMv seguido pelo número da versão.</p><p>Atualmente a arquitetura conta com sete versões, tendo apenas4 em uso, dentre</p><p>elas divididas em duas famílias:</p><p> Uma delas tendo os processadores mais antigos até o processador</p><p>ARM11;</p><p> E a segunda passa a ser a sequência desses processadores, que seria</p><p>os atuais processadores ARM Cortex;</p><p>Por se tratarem de processadores mais antigos, os mesmos da primeira</p><p>família eram processadores mais simples, com estágios de pipeline mais curtos e</p><p>frequência de clock mais baixa que os atuais. Tendo entre eles alguns como ARM1,</p><p>ARM3, ARM7, ARM9 e ARM11.</p><p>A Tabela 1 mostra algumas diferenças entre as duas famílias;</p><p>Tabela 1 – Características das Famílias ARM</p><p>Características das famílias ARM</p><p>ARM Cortex</p><p>Pipeline De 5 a 8 estágios 13 estágios</p><p>Frequência de clock Entre 200MHz a 600MHz 800MHz a 1,2 GHz</p><p>Unidades de processamento 1 2</p><p>Virtualização Não Sim</p><p>Processo de fabricação de 90 nm e 130 nm 40 nm e 65 nm</p><p>Fonte– Autor</p><p>Nesta família Cortex, temos outra divisão:</p><p>18</p><p> Cortex-R: usados em processadores de uso crítico, com respostas em</p><p>tempo real;</p><p> Cortex-M: estes tem sua funcionalidade ocupada em micros</p><p>controladores de modo geral;</p><p> Cortex-A: família responsável pela grande maioria dos dispositivos</p><p>inteligentes que temos na atualidade, tanto como celulares,</p><p>smarthphones e TV’s digitais;</p><p>Dentro da família dos SoCs Cortex-A, temos várias versões desde os anos</p><p>90. Dentre eles temos em algumas delas grande evolução em consumo de energia,</p><p>enquanto em outros temos um grande poder de desempenho, suportando tanto a</p><p>arquitetura ARMv7 como também a ARMv8. As versões são A5, A7, A8, A9, A15,</p><p>A17, A32, A35, A53, A57, e o próximo lançamento será o A72. Teve como início da</p><p>família o Cortex-A5, que veio para substituir os processadores ARM9 e ARM11,</p><p>tendo como objetivo ser simples e obter um baixo nível de consumo energético.</p><p>Passou a tomar conta do mercado de sistemas embarcados e ganhar mais</p><p>notoriedade no processador ARM Cortex-A7, que foi um dos pioneiros com sistemas</p><p>multicores.</p><p>A Figura 1 mostra o uma linha do tempo com alguns dos processadores ARM</p><p>e em quais dispositivos foram usados:</p><p>Figura 1 – Histórico ARM</p><p>Fonte – ANDROID AUTHORITY, 2016</p><p>19</p><p>2.2.1 ARM Cortex-A7</p><p>O processador Cortex-A7 foi desenvolvido e criado para ser o principal</p><p>processador da família Cortex em termos de eficiência em consumo de energia.</p><p>O processador ARM Cortex-A7 é o processador ARM com aplicação de</p><p>energia mais eficiente já desenvolvido, e se estende na liderança de baixo consumo</p><p>de energia da ARM em smartphones de nível de entrada, comprimidos e outros</p><p>dispositivos móveis avançados (ARM a).</p><p>Foi um lançamento considerado revolucionário, por usar multicores e também</p><p>por ter um desempenho e consumo de energia consideravelmente mais baixo se</p><p>comparado a outros mais caros. Por ser considerado um dos mais baixos</p><p>consumidores de energia entre os processadores Cortex-A, sua tecnologia foi</p><p>reutilizada no novo lançamento da empresa, trabalhando em parceria com o Cortex-</p><p>A15.</p><p>A Figura 2 mostra a arquitetura do processador Cortex-A7, com seu sistema</p><p>multicores:</p><p>Figura 2 – Arquitetura Multicore Cortex-A7</p><p>Fonte– ARM a, 2016</p><p>Em termos de desempenho consegue atingir até 20% a mais que o Cortex-</p><p>A5. Mas não suporta grandes necessidades de serviço, sendo mais indicado para</p><p>pequenos processos como, escrita e leitura de mensagens de texto, ou visualização</p><p>20</p><p>de páginas web. Mesmo assim empresas como Samsung, Freescale, e várias outras</p><p>obtiveram licença para usar a arquitetura em seus aparelhos.</p><p>De acordo com site da empresa ARM, o Cortex-A7 apresentou melhorias não</p><p>apenas na eficiência de energia comparado ao Cortex-A5:</p><p>O processador Cortex-A7 baseia-se na eficiência de energia do</p><p>processador Cortex-A5, e tem uma Cache L2 projetada para baixo</p><p>consumo de energia, tem 8 estágios de pipeline. É característica</p><p>compatível com o processador Cortex-A15 de alta performance e suporta</p><p>40bit memória endereçamento físico e suporte de virtualização de</p><p>hardware. (ARM a, 2016)</p><p>Entre as características:</p><p> Com memória cache L2 integrada;</p><p> TrustZone tecnologia de segurança;</p><p> Desempenho do sistema de memória melhorado;</p><p> Tecnologia NEON;</p><p> Virtualização do hardware;</p><p> Suporte para operações com ponto flutuante;</p><p> AMBA4, para melhorar o desempenho com a memória cache;</p><p> Capacidade escalar em velocidade entre 800 MHz e 1.2 GHz;</p><p>De acordo com a página do site de ARM, seu consumo energético foi afetado</p><p>positivamente graças ao uso do sistema de multicores.</p><p>O processamento de multicores oferece a possibilidade para qualquer</p><p>um dos quatro processadores de componentes de ser desligado</p><p>quando não estiver em uso, por exemplo, quando o dispositivo está</p><p>no modo de espera, ele os desliga para economizar energia. Quando</p><p>é necessário um maior desempenho, cada processador é utilizado</p><p>para atender a demanda. (ARM a, 2016)</p><p>Desse jeito fazendo os multicores operarem de forma que não haja</p><p>desperdício de energia quando estiverem ociosos, e no momento em que o</p><p>processador necessitar de mais carga de desempenho, são novamente ativados não</p><p>deixando nenhum core ficar supercarregado. Além disso, tem compatibilidade com</p><p>vários outros processadores ARM, também permitindo fazer o uso dele em</p><p>configurações</p><p>Big.LITTLE.</p><p>21</p><p>2.2.2 ARM Cortex-A8</p><p>Com a grande responsabilidade de substituir o seu antecessor da família</p><p>Cortex, o SoC Cortex-A7, que foi considerado um dos lançamentos com melhores</p><p>resultados em termos de eficiência energética, o Cortex-A8 foi considerado um</p><p>processador poderoso para a época, foi introduzido ao mercado em 2005.</p><p>Segundo dados do site da empresa ARM, “</p><p>O processador ARM Cortex-A8, é baseado na arquitetura ARMv7, e</p><p>tem a capacidade escalar em velocidade de 600MHz a 1GHz ou até</p><p>superior. O processador Cortex-A8 pode cumprir os requisitos para</p><p>dispositivos móveis otimizando a energia de operação que</p><p>necessitam em menos de 300mW, ideal para produtos de alta</p><p>performance, suporta a tecnologia NEON, permitindo tirar proveito de</p><p>multimídias e processamento DSP. (ARM b,2016)</p><p>Esse processador de alto desempenho com potência e eficiência foi projetado</p><p>para atender as necessidades de mercado, implantado em sua maior parte em</p><p>smartphones, smartTVs, tablets, placas automotivas, alguns eletrodomésticos e até</p><p>sistemas inteligentes para casas, tendo na sua maioria conectividade com a internet.</p><p>Tem sua capacidade comprovada com o número de vendas atingidas.</p><p>Segundo Morimoto (2009) o Cortex-A8 apresenta grandes melhorias de</p><p>memória para processadores embarcados:</p><p>O Cortex-A8 é o chip main stream dentro da família. Ele é um</p><p>processador dual-issue (duas unidades de processamento), que</p><p>processa instruções em ordem (assim como o Intel Atom) e inclui um</p><p>cache L1 de 64 KB, dividido em dois blocos de 32 KB (dados e</p><p>instruções). Ele inclui também um grande (do ponto de vista de um</p><p>chip para sistemas embarcados) cache L2 de 256 KB, que pode ser</p><p>expandido para até 1 MB de acordo com o nível de desempenho</p><p>desejado pelo fabricante. (MORIMOTO, 2009)</p><p>Seu núcleo é dividido em 13 etapas sendo que cada processo ou instrução</p><p>deve passar por todas. O que beneficia esse trabalho é que a cada etapa concluída</p><p>pela instrução uma nova já pode passar pela fase anterior.</p><p>A Figura 3 mostra arquitetura de 32 bits do processador Cortex-A8:</p><p>22</p><p>Figura 3 – Arquitetura Cortex-A8</p><p>Fonte– ARM b, 2016</p><p>Além de conseguir uma alta performance disponibiliza uma grande</p><p>compatibilidade com a maioria das aplicações e também de sistemas operacionais,</p><p>como por exemplo Android e Windows phone. Tem a tecnologia NEON como</p><p>suporte, esta que auxilia o chip em momentos que é muito exigido com processos de</p><p>áudio, vídeo e gráficos, deixando outras aplicações para o processador e</p><p>processando paralelamente, aliviando o stress de processamento, e fazendo</p><p>suportar futuras versões de aplicativos ou sistemas.</p><p>Sua memória cache L1 de 64 KB integrada ao processador, e tendo a</p><p>memória cache L2 podendo chegar a 1MB, garante um tempo de acesso mais veloz,</p><p>aumentando assim o desempenho e a economia de energia. Sendo produzidos com</p><p>processo de fabricação de 65 nm são compatíveis para dispositivos móveis, pois</p><p>necessitam de um nível baixo de mW.</p><p>2.2.3 ARM Cortex-A9</p><p>Seguindo a linha de sucesso da empresa o Cortex-A9 foi lançado no ano de</p><p>2007, prometendo revolucionar o mercado de processadores para dispositivos</p><p>móveis. Entre suas novidades esteve uma mudança em sua estrutura</p><p>23</p><p>disponibilizando até 4 processadores, como podemos ver em citação do site da</p><p>empresa:</p><p>Cortex-A9 MPCore com 4 núcleos que podem ser utilizados ao</p><p>mesmo tempo para alcançar maiores níveis de desempenho,</p><p>microarquitetura do processador suporta a configuração de 16, 32 ou</p><p>64 KB de quatro vias caches L1 associativa, com um cache L2</p><p>opcional fornecendo até 8 MB de memória cache, voltado a baixo</p><p>consumo de energia otimizado para menor consumo de energia ou de</p><p>mais alto desempenho, oferece uma melhoria de desempenho geral</p><p>bem acima de 50% em comparação com soluções ARM Cortex-</p><p>A8.(ARM c, 2016)</p><p>Figura 4– Estrutura do Cortex-A9</p><p>Fonte– ARM c, 2016</p><p>Como podemos ver na Figura 4, este novo lançamento continuou com</p><p>aplicações como o NEON, mantendo se apoiada amplamente no que tem de melhor</p><p>a arquitetura ARMv7, passando das 13 etapas do antigo A-8, para 8 a 11 fases de</p><p>instruções. Teve um aumento considerável em sua memória cache, e tendo como</p><p>sua principal atração foi o sistema multicores, deixando a disposição do sistema</p><p>mais cores para desafogo de processamento, para momentos de gargalo. Ideia que</p><p>foi criada para baixar o nível de consumo de energia, sendo similar à usada pelos</p><p>desktops, onde ao invés de aumentar a frequência, foram criados processadores</p><p>com vários núcleos.</p><p>Conforme MORIMOTO (2012):</p><p>O Cortex A9, que é uma versão multicore do A8, capaz de oferecer</p><p>um desempenho bruto superior ao de muitos processadores para PC.</p><p>24</p><p>Além do suporte a multiprocessamento, permitindo o desenvolvimento</p><p>de SoCs com 2, 4 ou mais núcleos, é o primeiro chip ARM a utilizar</p><p>um design de processamento fora de ordem, mantendo as duas</p><p>unidades de execução do A8, mas agora incluindo um ordenador de</p><p>instruções, circuitos de execução especulativa e outros componentes</p><p>tipicamente encontrados nos processadores x86 modernos,</p><p>permitindo que o chip ofereça até 2.5 DMIPS por MHz, cerca de 25%</p><p>mais desempenho bruto que um Cortex A8 do mesmo clock.</p><p>(MORIMOTO, 2012)</p><p>Com esse novo sistema de gerenciamento de energia dos cores, faz</p><p>que sejam apenas usados o número de cores realmente necessários para o</p><p>funcionamento da operação, enquanto os outros são desativados até o momento</p><p>que o gerenciamento reconhece que o sistema necessita de uma demanda de</p><p>processamento maior e volta a ativá-los, gerando assim um baixo consumo</p><p>energético, utilizando apenas o suficiente.</p><p>Como novidade em relação as versões anteriores de sua família, tem uma</p><p>nova arquitetura super-escalar, além de passar a executar processos que não</p><p>precisam estar em ordem, sendo semelhante aos processadores usados em CPU’s</p><p>com arquitetura x86, por conta disso houve uma diminuição de seu pipeline,</p><p>passando dos 13 estágios de sua versão anterior para 8 estágios.</p><p>2.2.4 ARM Cortex-A15</p><p>O Cortex-A15, foi lançando em 2012, prometendo ter um desempenho</p><p>superior aos seus antecessores, tendo como base a nova arquitetura ARMv8, e</p><p>inovando no seu sistema de gerenciamento de cores. Passou a ter semelhanças</p><p>ainda maiores que o Cortex-A9 com processadores x86, usados em computadores.</p><p>Assim que lançado passou a ser alvo das grandes empresas como NVIDIA e</p><p>Samsung, para compra de sua licença para desenvolvimento.</p><p>Conforme Morimoto (2012), o Cortex-A15 implementa uma arquitetura super-</p><p>escalar, com 3 unidades de execução, com as unidades de execução de inteiros</p><p>sendo compostas por 15 estágios de pipeline e as unidades de processamento de</p><p>ponto flutuante recebendo pipelines ainda mais longos.</p><p>Tem em seus tamanhos de memórias parte responsável por um</p><p>processamento tão grande, capaz de exercer funções que vão além de atender</p><p>25</p><p>apenas a um simples dispositivo móvel. “Sua memória cache L2, que pode ser de</p><p>até 4 MB de tamanho.</p><p>Agora capaz de suportar até 1 TB de memória física, o processador Cortex-A15 é</p><p>capaz de atender as necessidades de aplicações de servidores e rede.” (ARM d).</p><p>Seu alto desempenho propicia que possam ser usados nos seguintes casos:</p><p> Smartphones;</p><p> Servidores de dados domésticos;</p><p> Servidores Web;</p><p> TVs digitais;</p><p>A Figura 5 mostra o poderoso sistema do Cortex-A15</p><p>Figura 5– Estrutura do Cortex-A15</p><p>Fonte– ARM d, 2016</p><p>De acordo com Carlson (2011):</p><p>O processador Cortex-A15 inclui uma extensa lista de melhorias, que</p><p>resultam em, desempenho de thread único melhoria de 1,5x, e ponto</p><p>flutuante em média de 1,6x de desempenho em relação ao Cortex-A9</p><p>processador da mesma tecnologia de processo. O Texas Instruments</p><p>Incorporated(TI) implementou o Cortex-A15 que consegue um baixo</p><p>consumo de energia, com processo de 28nm que fornece melhorias</p><p>adicionais de frequência e de</p><p>poder sobre o Cortex-A9 implementado</p><p>em 45nm. (CARLSON, 2011)</p><p>26</p><p>Tem como algumas especificações:</p><p> Arquitetura ARMv7-A;</p><p> Virtualização de Hardware;</p><p> Tecnologia Thumb2;</p><p> Otimização em sua memória cache L1;</p><p> AMBA4;</p><p> Gerenciamento SCU;</p><p> Memória cache L2 otimizada podendo chegar a 4MB;</p><p> Introdução de LPAE, que permite o processador ter o acesso de</p><p>até 1 TB de memória;</p><p> Pipeline de 15 estágios;</p><p>Segundo Carlson (2011) a virtualização traz alguns benefícios:</p><p>O Cortex-A15 permite a virtualização do hardware de classe mundial</p><p>que reduz a sobrecarga operacional para um maior desempenho,</p><p>permite que sistemas operacionais convidados rodem em privilégio na</p><p>CPU nativa, reduz o custo de desenvolvimento e melhora a</p><p>segurança e isolamento. Um dos principais benefícios é a capacidade</p><p>de executar sistemas operacionais ARM nativas sem a necessidade</p><p>de código-fonte do kernel que oferece uma grande flexibilidade para</p><p>os desenvolvedores e usuários. (CARLSON, 2011)</p><p>O processador Cortex-A15 é o motor que impulsiona não apenas</p><p>smartphones, mas também a infraestrutura que eles dependem. Desde servidores a</p><p>rede para os seus sistemas de entretenimento digital doméstico high-end, o</p><p>processador Cortex-A15 é a solução certa para um conjunto muito diversificado de</p><p>soluções.</p><p>2.2.5 ARM Cortex-A35</p><p>Cortex-A35 processador capaz de rodar códigos 32 bits e 64 bits, com um</p><p>consumo de energia 10% menor do que em comparação com o Cortex-A7 e entrega</p><p>uma melhoria de desempenho na faixa de 6% a 40% nas tarefas, baseado na</p><p>arquitetura ARMv8-A com alto nível de eficiência, compatível com versões anteriores</p><p>ARMv7-A, também pode ser incluído a um sistema big.LITTLE.</p><p>27</p><p>Núcleo organizado, tem 8 estágios de pipeline, teve sua estrutura de instrução</p><p>redesenhada para maximizar a eficiência, sistema de memória de alto desempenho</p><p>L1 e L2, resultando em até 3,5x melhoria no desempenho streaming de memória,</p><p>igual seus antecessores utiliza a tecnologia NEON que melhora o desempenho para</p><p>pontos flutuantes e operações DSP. Opera na faixa de energia inferior a 125mW, de</p><p>acordo com a ARM, “Eles afirmam que a A35 pode operar a 1Ghz ocupando apenas</p><p>90mW”. (ARM e).</p><p>Figura 6– Comparativo Cortex-A35 x Cortex-A7</p><p>Fonte– ARM e, 2016</p><p>Figura 7– Estrutura do Cortex-A35</p><p>Fonte– ARM e, 2016</p><p>28</p><p>Conforme podemos ver na Figura 6, o processador Cortex-A35 sobressaiu-se</p><p>ao Cortex-A7.</p><p>Na Figura 7, podemos ver que o novo lançamento continuou com aplicações</p><p>como o NEON, mantendo se apoiada no que tem de melhor da arquitetura ARMv8.</p><p>Compatível com a arquitetura ARMv7. Utilizando 8k-64k L1 de cache e 128kb-1Mb</p><p>L2</p><p>Seu desempenho propicia que possam ser usados nos seguintes casos:</p><p> Smartphones de entrada;</p><p> Servidores de baixo consumo de energia;</p><p> TVs digitais;</p><p>2.2.6 ARM Cortex-A57</p><p>O processador ARM Cortex-A57 tem um núcleo de 64 bits comprovada e de</p><p>alto desempenho de 32 bits. Ele foi projetado para estender as capacidades de</p><p>aplicações móveis e de computação empresarial, incluindo aplicativos de 64 bits de</p><p>computação intensiva, como produtos de informática high-end, tablets e servidores.</p><p>O processador pode ser implementado individualmente ou combinado com o</p><p>processador Cortex-A53 em uma configuração ARM big.LITTLE ™ que permite uma</p><p>performance escalável e eficiência energética ideal.</p><p>Através de uma série de implementações micro arquiteturais e uma versão</p><p>atualizada da arquitetura ARM, alcançou-se altos níveis de desempenho superando</p><p>a versão A15. Como podemos ver no gráfico a seguir:</p><p>29</p><p>Figura 8– Cortex-A57 Performance Relativa para o Cortex-A15</p><p>Fonte– ARM f, 2016</p><p>A Figura 9 mostra a poderosa estrutura do Cortex-A57</p><p>Figura 9– Estrutura do Cortex-A57</p><p>Fonte– ARM f, 2016</p><p>2.2.7 Futuro ARM Cortex-A72</p><p>Cortex-A72, núcleo baseado em 16 nanômetros que deverá aparecer nos</p><p>dispositivos lançados em 2016. Os processadores baseados na tecnologia</p><p>30</p><p>consumirão até 75% menos energia que os chips atuais quando fazem o mesmo</p><p>trabalho.</p><p>O ganho de desempenho deverá ser bem grande: a ARM diz que os Cortex-</p><p>A72 terão velocidade até 90% maior que os Cortex-A57 de 64 bits, usados em</p><p>processadores como Snapdragon 810 (G Flex 2) e Exynos 5433 (Galaxy Note 4).</p><p>Ao longo de cinco anos, o aumento foi impressionante: os chips Cortex-A72</p><p>são até 50 vezes (!) mais rápidos que os processadores topos de linha ARM de</p><p>meados de 2010. O Cortex-A72 suportara instruções de 64 bits e funcionará com</p><p>frequência de até 2,5 GHz nos smartphones — em dispositivos de maior porte, o</p><p>clock chegará aos 3,0 GHz. A seguir uma figura do poder estimado do novo</p><p>processador:</p><p>Figura 10– Comparativo de Performance e Redução de Energia Cortex-A72</p><p>Fonte– EXTREMETECH, 2016</p><p>A Figura 11 mostra a estrutura do Cortex-A72, com sua L2 podendo chegar a 2MB.</p><p>31</p><p>Figura 11– Estrutura do Cortex-A72</p><p>Fonte– ARM g, 2016</p><p>2.2.8 Big.Little</p><p>O big.Little, sistema que reúne o que a família Cortex tem de melhor,</p><p>utilizando um sistema de gerenciamento de cores semelhante do Cortex-A9.</p><p>Essa tecnologia utiliza duas versões dos processadores Cortex-A, fazendo</p><p>trabalhar em conjunto o processador Cortex-A7 que é considerado o melhor em</p><p>parte de consumo energético, para situações de baixa necessidade de</p><p>processamento e para casos de requer mais desempenho é ativado o Cortex-A15,</p><p>sendo o destaque em desempenho de processamento. Para a próxima geração os</p><p>fabricantes poderão lançar processadores com núcleos Cortex-A72 (de alto</p><p>desempenho) e Cortex-A53 (de baixo consumo de energia).</p><p>32</p><p>Figura 12– Pontos de Atuação dos Processadores Big.LITTLE</p><p>Fonte– GREENHALG,2011</p><p>Conforme ARM:</p><p>Implementação do controlador de interrupção padronizado e</p><p>arquitetado, o GIC oferece uma abordagem rica e flexível para</p><p>comunicação inter-processador e o roteamento e priorização de</p><p>sistema interrupts.Supporting até 224 interrupções independentes,</p><p>sob controle de software, cada interrupção pode ser distribuído</p><p>através de CPU, hardware priorizados e encaminhados entre o</p><p>sistema operacional e a camada de gerenciamento de software</p><p>TrustZone. Esta flexibilidade de roteamento e o suporte para</p><p>virtualização de interrupções no sistema operacional, fornece uma</p><p>das principais características necessárias para reforçar as</p><p>capacidades de uma solução utilizando um hypervisor. (ARM d, 2016)</p><p>Além disso, garante suporte para uma grande memória física podendo</p><p>chegar a 1TB, incluindo um novo sistema de IP para armazenamento de dados,</p><p>assim como uma ampla variedade de ferramentas para desenvolvimento e</p><p>otimização para sistemas.</p><p>2.2.9 ARMv7</p><p>A mais conhecida entre as arquiteturas ARM, foi responsável por servir de</p><p>base a maioria dos processadores Cortex, e também a nova arquitetura AMRv8, que</p><p>de agora em diante promete ser a mais usada.</p><p>33</p><p>O termo de sua arquitetura ARMv7, segundo a empresa vem de acordo com o</p><p>perfil, variantes e sua versão de arquitetura adotada. Teve entre uma de suas</p><p>novidades para a arquitetura ARMv6, a tecnologia NEON, para servir de suporte aos</p><p>processadores em caso de maior performance com vídeos, áudio e gráfica.</p><p>Sua arquitetura de 32 bits, está presente nos principais processadores da</p><p>família Cortex, como os casos de Cortex-A8 e Cortex-A9, que tiveram grande</p><p>sucesso.</p><p>Está dividida em 3 grupos, ARMv7-A, que são os processadores voltados</p><p>para aplicação geral, ou seja os Cortex-A, ARMv7-M, usados para micro</p><p>controladores de aplicação geral, e por fim ARMv7-R, para processadores e micro</p><p>controladores de tempo real.</p><p>2.2.10 ARMv8</p><p>Com a nova arquitetura ARMv8, a empresa ARM introduz a sua linha</p><p>processadores 64 bits. Apesar de ser uma tecnologia nova, é baseada na arquitetura</p><p>anterior ARMv7, mantendo sistemas como NEON, e outras especificações.</p><p>Segundo a empresa ARM (2016), este lançamento não deixa de ser</p><p>compatível com programas para sistemas de 32 bits:</p><p>A arquitetura ARMv8 mantém a compatibilidade com o ecossistema</p><p>de software abrangente para componentes de 32 bits. Isto permite</p><p>uma grande variedade de software otimizado para processadores</p><p>ARM existente para beneficiar o desempenho melhorado de</p><p>processadores baseados na arquitecturaARMv8, enquanto a adição</p><p>de instruções de criptografia de 32 bits permite uma maior</p><p>optimização para requisitos emergentes. (ARMv8, 2016)</p><p>Para tal troca a empresa colocou duas exigências que teriam que ser</p><p>cumpridas na nova arquitetura, que segundo Goodacre (2016), seriam o de ser</p><p>completamente compatível com sistemas da arquitetura ARMv7, e o outro de ter</p><p>uma um desempenho significativamente maior:</p><p>Ficou claro para ARM a partir do nível de adoção da arquitetura</p><p>ARMv7 e crescimento acompanhou o ecossistema e lojas de</p><p>aplicativos associados, que quaisquer novas melhorias para a</p><p>arquitetura tinham que ser totalmente compatível. Era igualmente</p><p>claro que, para apoiar qualquer migração para uma nova arquitetura,</p><p>a nova arquitetura tinha que levar vantagem significativa sobre a</p><p>34</p><p>arquitetura existente, mesmo quando executando um software que</p><p>não o uso dos novos recursos. (GOODACRE, 2011)</p><p>Pensando no futuro com a nova arquitetura de 64 bits os processadores ARM</p><p>estão cada vez mais aptos a estarem presentes em sistemas como servidores de</p><p>baixo consumo, e até computadores, sendo que várias empresas e usuários estão</p><p>se preocupando cada vez mais em procurar novas alternativas para conseguir um</p><p>menor consumo de energia.</p><p>A Tabela 2 mostra algumas das mudanças ao longo do história das</p><p>arquiteturas ARM:</p><p>Tabela 2– Histórico das Arquiteturas ARM</p><p>Histórico das Arquiteturas</p><p>Algumas mudanças entre elas</p><p>ARMv4 Tinha apenas o padrão de intruções ARM, e suporte a Thumb.</p><p>ARMv5 Melhorias na gestão de memória, e integração da tecnologia Jazelle.</p><p>ARMv6 Suporte a tecnologias como Thumb-2 e TrusZone.</p><p>ARMv7 Processo de Virtualização, e nova tecnologia NEON.</p><p>ARMv8 Passou a ter sistemas 64 bits, nova versão do NEON e criptografia.</p><p>Fonte– Autor</p><p>Na Tabela 3, com base nos primeiros Cortex lançados até o A15 foi feito um</p><p>comparativo, podemos ver algumas das principais especificações de cada um dos</p><p>processadores da família Cortex:</p><p>Tabela 3 – Especificações dos Processadores Pesquisados</p><p>Cortex A-7 Cortex A-8 Cortex A-9</p><p>Cortex-</p><p>A15</p><p>Arquitetura ARMv7 ARMv7 ARMv7 ARMv7</p><p>Estágios de Pipeline 8 13 8 15</p><p>NEON Sim Sim Sim Sim</p><p>35</p><p>Multicore Sim Não Sim Sim</p><p>Número de cores 4 1 4 4</p><p>Cache L1 (KB) 64 64 64 64</p><p>Cache L2 (KB) 1024 1024 2048 4096</p><p>Frequência de Clock (MHz)</p><p>800 a</p><p>1200</p><p>600 a 1000 1000 Até 2500</p><p>Fabricação (nm) 40/28 65/55/45 65/45/40/32/32/28 32/28/20</p><p>Versão AMBA AMBA4 AMBA3 - AMBA4</p><p>Fonte– Autor</p><p>Com a nova arquitetura, a ARMv8, podendo atuar tanto com processadores</p><p>32 bits, como de 64 bits, ganhando mais desempenho, podem gerir sistemas cada</p><p>vez mais complexos, assim, a empresa busca cada vez mais se expandir no</p><p>mercado tecnológico, passando a deixar a disputa com marcas de processadores</p><p>para computadores ainda mais acirrada.</p><p>36</p><p>3 METODOLOGIA</p><p>Inicialmente serão apresentadas os equipamentos que serão usados, assim</p><p>como algumas especificações dos mesmos. Após será abordado sobre o</p><p>funcionamento e propósito de benchmark, será apresentado um benchmark, que</p><p>realizara os testes nos equipamentos.</p><p>Na Figura 13 o equipamento INTEL utilizado nos testes.</p><p>Figura 13– Equipamento Samsung RF511</p><p>Fonte– SAMSUNG, 2016</p><p>A Figura 14 apresenta o equipamento ARM utilizado nos testes.</p><p>Figura 14– CubieTruck</p><p>Fonte– CUBIETRUCK, 2016</p><p>37</p><p>A Tabela 4 traz as especificações dos equipamentos utilizados nos testes.</p><p>Tabela 4– Especificações dos Equipamentos</p><p>Especificações dos Equipamentos ARM e i386</p><p>Equipamento Notebook Samsung RF511 CubieTruck</p><p>Processador Intel Core i5 2450m</p><p>Soc. A20 Dual</p><p>Core</p><p>Memória RAM 6 GB DDR3 2 GB DDR 3</p><p>L2 Cache 3 MB 256 KB</p><p>Clock 2.50 GHz 1,01 GHz</p><p>Cores 2 2</p><p>Sistema Operacional Linux Linux</p><p>TDP 35 w 5 w</p><p>Fabricação 32 nm 55 nm</p><p>Tecnologia Sandy Bridge Cortex-A7</p><p>Fonte– Autor</p><p>3.1 Benchmark</p><p>Para obter os resultados deste trabalho será executado nos dois</p><p>equipamentos, testes feitos com benchmark.</p><p>Um benchmark é um programa de testes, que visa extrair o máximo do</p><p>equipamento testado, dando-o uma pontuação de acordo com o equipamento</p><p>testado, Os programas são usados para medir a performance de um sistema e seus</p><p>componente, bem como revelar pontos fortes e fracos. Existem dos mais variados e</p><p>nas mais diversa áreas, como em consumo de energia, desempenho de disco,</p><p>desempenho gráfico.</p><p>38</p><p>O termo benchmark, para computação é utilizado para referenciar os</p><p>resultados da execução de um único programa ou de um grupo de programas que</p><p>tenham como objetivo avaliar o desempenho de um objeto. Podendo ser medido</p><p>através do tempo que os equipamentos necessitam para executar problemas e</p><p>cálculos do benchmark.</p><p>Para facilitar a comparação, os benchmarks retornam valores numéricos que</p><p>representam a quantificação do desempenho do objeto medido. O valor retornado</p><p>pode ter diversas interpretações físicas. Existem várias medidas para tais resultados,</p><p>que podem ser do tipo MIPS, que significam milhões de instruções por segundo, por</p><p>exemplo. Faz algum tempo que se busca uma padronização maior para as unidades</p><p>de medidas dos resultados dos testes de benchmark, para assim conseguir</p><p>interpretá-los com mais clareza.</p><p>3.1.1 Phoronix Test Suite Benchmark</p><p>O benchmark escolhido foi o benchmark da phoronix de mídia, o Phoronix test</p><p>Suite Benchmark.</p><p>O software é projetado para efetivamente realizar ambos os parâmetros de</p><p>referência qualitativos e quantitativos de forma limpa, reprodutível e fácil de usar.</p><p>Phoronix teste suite (PTS), é baseado nos extensos testes e ferramentas internas</p><p>desenvolvido pela Phoronix.com desde 2004, juntamente com o apoio de líderes</p><p>nível hardware e software fornecedores. Este software é open-source e licenciado</p><p>sob a GNU GPLv3, originalmente desenvolvido para testes automatizados Linux, o</p><p>suporte ao Phoronix Test Suite, desde então, foram adicionados para OpenSolaris,</p><p>Apple Mac OS X, Microsoft Windows e sistemas operacionais BSD.</p><p>O Phoronix Test Suite consiste de um núcleo de processamento leve (pts-</p><p>core) com cada referência que consiste em um perfil baseado em XML e scripts de</p><p>recursos relacionados. O PTS foi desenvolvido para avaliar o desempenho de</p><p>computadores, foi lançado sob o nome de código Trondheim VERSÃO 1.0, esta</p><p>versão composta por 57 perfis de testes e 23 conjuntos de testes, hoje na versão 6.2</p><p>nome de código Gamvik, suporta mais de 220 perfis de testes e mais de 60</p><p>conjuntos de testes, usa uma arquitetura de testes baseados em XML.</p><p>39</p><p>Figura 15 –Tela Phoronix Test Suite</p><p>Fonte– Autor</p><p>Como podemos notar na Figura 15, temos um boa quantidade de opções</p><p>disponíveis para realização de alguma tarefa pelo benchmark do phoronix,</p><p>utilizaremos a segunda opção onde será feita uma coleção de testes nos</p><p>processadores já escolhidos, depois de selecionarmos a opção 2, teremos inúmeros</p><p>testes a serem realizados, optaremos pela opção 50 processor, cuja coleção testara</p><p>os processadores ao extremo, serão feitos 10 testes para a retirada dos resultados</p><p>com uma média para melhor precisão da pesquisa e comparação.</p><p>40</p><p>Figura 16– Seleção de Teste</p><p>Fonte– Autor</p><p>Dentre os testes realizados estão:</p><p>pts/john-the-ripper - Quebra de senhas, força bruta, desempenho.</p><p>pts/compress-7zip - Compactador de arquivos que verifica desempenho do</p><p>processador e tempo a realizar.</p><p>pts/scimark - Teste de cálculos composto Foruier Transform, fatoração de</p><p>matrizes.</p><p>pts/dolfyn - Dolfyn é um código de Dinâmica de Fluidos Computacional</p><p>(CFD) de técnicas de simulação numérica modernos. Mede o tempo de execução.</p><p>pts/himero</p><p>- Um solucionador linear da pressão de Poisson utilizando um</p><p>método de ponto-Jacobi.</p><p>pts/build-mplayer - Construção do programa media player Mplayer, o tempo.</p><p>pts/build-php - Medidor de velocidade de tempos , construção PHP-5 motor</p><p>zend.</p><p>pts/c-ray - Teste de ponto flutuante da CPU , utiliza multi-thread.</p><p>pts/stockfish - C ++ 11 xadrez referência que pode escalar até 128 núcleos</p><p>de CPU.</p><p>41</p><p>pts/smallpt - C++ renderizador de iluminação global, multi-threading com</p><p>OpenMP.</p><p>pts/ffte - é um pacote por Daisuke Takahashi para calcular Discrete Fourier</p><p>de 1, 2 e 3 - sequências dimensionais de comprimento (2 ^ p) * (3 ^ q) * (5 ^ r)</p><p>pts/ffmpeg - Testar o desempenho de codificação de áudio / vídeo do</p><p>sistema.</p><p>pts/mencoder - Utiliza a libavcodec para testar o desempenho de codificação</p><p>de áudio/ vídeo.</p><p>pts/n-queens - OpenMP , resolve o problema das N rainhas. O tamanho na</p><p>placa é de 18.</p><p>pts/sample-program - Um programa simples C ++ que calcula Pi para</p><p>8,765,4321 dígitos utilizando a fórmula Leibniz.</p><p>pts/npb - NAS Parallel Benchmarks, é um ponto de referência desenvolvido</p><p>pela NASA para sistemas de computadores high-end. Usa MPI.</p><p>pts/fftw - FFTW é uma biblioteca de sub-rotinas C para calcular a</p><p>transformada de Fourier discreta (DFT) em uma ou mais dimensões.</p><p>Onde após os testes realizados, serão feitas as comparações entre os</p><p>equipamentos.</p><p>42</p><p>4 RESULTADOS</p><p>Neste capítulo serão demostrados os resultados obtidos com o benchmark</p><p>escolhido e apresentado.</p><p>4.1 Testes de Performance</p><p>Iniciando pela configuração coletada pelo próprio Benchmark da</p><p>Phoronix.</p><p>Figura 17– Informações do Sistema</p><p>Fonte– Autor</p><p>Finalizados os testes foi gerada uma página com gráficos contendo todos os</p><p>resultados do benchmark realizado, onde continha a classificação do equipamento e</p><p>um índice com a informação do sistema como visto na Figura 17.</p><p>O processador Intel Core i5 2450M, teve seu desempenho testado e coletado</p><p>com os valores que podem ser vistos no Gráfico 1, que mostra os resultados dos</p><p>testes realizados. Foram separados apenas os resultados que são de pontuação de</p><p>performance, quanto maior melhor.</p><p>43</p><p>Com base nos resultados de cada teste, notou-se uma pontuação muito</p><p>distinta para cada teste, gerando resultados de mflops, mips e nodes p/s.</p><p>No Gráfico 1 podemos ver com maior clareza os resultados de performance</p><p>obtidos:</p><p>Gráfico 1– Resultados de Performance INTEL</p><p>Fonte– Autor</p><p>No Gráfico 2 foram separados apenas os tempos obtidos de cada teste</p><p>executado, quanto menor o tempo melhor.</p><p>Gráfico 2– Resultados de Tempo INTEL</p><p>Fonte– Autor</p><p>44</p><p>O Gráfico 2 apresenta os tempos dos testes executados em segundos quanto</p><p>menos melhor.</p><p>No processador ARM da placa CubieTruck, foram coletados os resultados de</p><p>performance e tempos como mostra a Tabela 5.</p><p>Tabela 5– Resultados de Performance e Tempo ARM</p><p>PERFORMANCE CUBIETRUCK</p><p>pts / npb 57,89</p><p>pts / ffte 378,62</p><p>pts / fftw 61,69</p><p>pts / scimark 57,71</p><p>pts / himeno 52,18</p><p>pts / compress-7zip 578</p><p>pts / john-the-ripper 198</p><p>TEMPOS CUBIETRUCK</p><p>pts / build-mplayer 770,57</p><p>pts / dolfyn 906,49</p><p>pts / build-php 917,82</p><p>pts / c-ray 894,47</p><p>pts / smallpt 4042</p><p>pts / stockfish 62,550</p><p>pts / ffmpeg 397,18</p><p>pts / mencoder 426,88</p><p>pts / n-queens 667,08</p><p>pts / sample-program 55,88</p><p>Fonte– Autor</p><p>45</p><p>Para uma análise melhor dos resultados foi gerado o Gráfico 3, onde se pode</p><p>observar melhor a pontuação do processador ARM, e o Gráfico 4 onde estão os</p><p>resultados dos tempos obtidos pelo processador:</p><p>Gráfico 3– Resultados de Performance ARM</p><p>Fonte– Autor</p><p>Gráfico 4– Resultados de Tempos ARM</p><p>Fonte– Autor</p><p>Como podemos analisar nos Gráficos 3 e 4, houve uma perda expressiva de</p><p>Desempenho e um aumento considerável no Tempo de execução, em comparação</p><p>770,57</p><p>906,49</p><p>917,82</p><p>894,47</p><p>4042</p><p>397,18</p><p>426,88</p><p>667,08</p><p>55,88 62,55</p><p>0</p><p>500</p><p>1000</p><p>1500</p><p>2000</p><p>2500</p><p>3000</p><p>3500</p><p>4000</p><p>4500</p><p>Te</p><p>m</p><p>p</p><p>o</p><p>(</p><p>s)</p><p>Benchmark</p><p>MPLAY COMPL</p><p>DOLFYN</p><p>PHP COMPL</p><p>C-RAY</p><p>SMALLPT</p><p>FFMPEG</p><p>MENCODER</p><p>N-QUEENS</p><p>PI PROGRAM</p><p>STOCKFISH</p><p>46</p><p>com os Gráficos 1 e 2 do processador Core i5, para uma análise mais detalhada</p><p>temos o Gráfico 5, com a comparação direta de cada teste executado.</p><p>Gráfico 5– Comparação Performance INTEL x ARM</p><p>Fonte– Autor</p><p>Com base no Gráfico 5, nota-se um ganho expressivo da Arquitetura INTEL</p><p>sobre à ARM, de quase 26 vezes superior em um dos casos, e no outro caso de 2,5</p><p>vezes superior. Dos testes realizados o melhor resultado do processador ARM foi o</p><p>FFTE, que consiste em um pacote daisuke que calcula Discrete Fourier Transform</p><p>(DFT), sequencias dimensionais de comprimento.</p><p>Já o melhor resultado do processador Core i5, foi o FFTW, cujo teste calcula</p><p>a Discrete Fourier Transform, que se utiliza de uma biblioteca de sub-rotinas em C, e</p><p>trabalha com uma ou mais dimensões. Fazendo com que se exigisse mais dos</p><p>Cores do processador INTEL, duma maneira mais eficiente, enquanto no</p><p>processador ARM não ocorreu o mesmo e sim ao contrário, perdeu eficiência,</p><p>quando necessitou de mais desempenho por estar se trabalhando com mais de uma</p><p>dimensão, enquanto que no teste de FFTE se utiliza de sequencias de dimensão, no</p><p>caso uma dimensão por vez.</p><p>198</p><p>1852</p><p>578</p><p>5061</p><p>52,18</p><p>318,42</p><p>57,71</p><p>370,01</p><p>61,69</p><p>1628,66</p><p>378,62</p><p>927,03</p><p>57,89</p><p>1007,32</p><p>0 1000 2000 3000 4000 5000 6000</p><p>ARM</p><p>INTEL</p><p>Pontuação</p><p>NAS</p><p>FFTE</p><p>FFTW</p><p>SCIMARK</p><p>HIMERO</p><p>7-ZIP</p><p>JOHN RIPPER</p><p>47</p><p>Agora com os resultados de tempo de cada um dos processadores</p><p>selecionados, podemos analisar e comparar de melhor forma o desempenho das</p><p>duas arquiteturas.</p><p>No Gráfico 6 temos o ganho de tempo do processador Core i5 em relação ao</p><p>processador ARM, podemos perceber que em todos os testes temos um ganho</p><p>expressivo com o processador INTEL.</p><p>Gráfico 6– Comparação Tempo INTEL x ARM</p><p>Fonte– Autor</p><p>Ao analisar o Gráfico 6, o processador Core i5 obteve melhores resultados de</p><p>tempo no benchmark, desde tarefas mais simples como é o caso de resolver a</p><p>Fórmula de Leibniz para PI com 8 dígitos até mais complexas como renderizar uma</p><p>iluminação global, onde, obteve-se o pior resultado do processador da arquitetura</p><p>ARM.</p><p>A cada lançamento os processadores ARM vem num nível crescente de</p><p>desempenho, mas com base em todos os resultados obtidos com os testes</p><p>executados nos dois equipamentos selecionados, temos ainda uma melhor</p><p>performance por parte dos processador i386. Portanto em nível de desempenho o</p><p>48</p><p>processador ARM Cortex-A7, não obteve resultados suficientes para alcançar o</p><p>processador Core i5.</p><p>4.2 Consumo</p><p>Para obter o resultado do consumo energético consumido para</p><p>realização de cada teste, foi utilizado a unidade de medida Joules.</p><p>A Potência elétrica é definida como energia por segundo, multiplicando</p><p>potência (W) pelo tempo (s) obtém-se consumo em Joules. Isso é muito útil para</p><p>medir potência em Watts, pois cada Watt é equivalente a um Joule por segundo.</p><p>Consumo = P * T</p><p>Com está formula e com os tempos que foram registrados no benchmark,</p><p>chegamos ao consumo de energia que foi necessário para executar as aplicações.</p><p>Na Tabela 6 podemos ver a energia consumida durante a execução de cada teste.</p><p>Tabela 6– Consumo de Energia INTEL</p><p>pts / build-mplayer 5966,1</p><p>pts / dolfyn 4947,3</p><p>pts / build-php 4276,7</p><p>pts / c-ray 3007,9</p><p>pts / smallpt 9100</p><p>pts / stockfish 764,96</p><p>pts / ffmpeg 2316,7</p><p>pts / mencoder 4126,2</p><p>pts / n-queens 4205,3</p><p>pts / sample-program 697,9</p><p>Fonte– Autor</p><p>No Gráfico 7, temos representado o consumo em Joules dos testes realizados</p><p>no processador Core i5.</p><p>49</p><p>Gráfico 7– Consumo de Energia INTEL</p><p>Fonte– Autor</p><p>Na Tabela 7 serão mostrados os resultados de consumo energético do</p><p>processador ARM utilizado.</p><p>Tabela 7– Consumo de Energia ARM</p><p>pts / build-mplayer 3852,85</p><p>pts / dolfyn 4532,45</p><p>pts / build-php 4589,1</p><p>pts / c-ray 4472,35</p><p>pts / smallpt 20210</p><p>pts / stockfish 312,75</p><p>pts / ffmpeg 1985,9</p><p>pts / mencoder 2134,4</p><p>pts / n-queens 3335,4</p><p>pts / sample-program 279,4</p><p>Fonte– Autor</p><p>50</p><p>No Gráfico 8 podemos ver os resultados do consumo de energia do</p><p>processador ARM, onde podemos observar o grande consumo de energia</p><p>Gráfico 8– Consumo de Energia ARM</p><p>Fonte– Autor</p><p>Com os resultados obtidos nos testes, temos a comparação entre o consumo</p><p>de cada um dos equipamentos colocada no Gráfico 9.</p><p>Gráfico 9– Relação Consumo de Energia INTEL x ARM</p><p>Fonte– Autor</p><p>3852,85</p><p>4532,454589,14472,35</p><p>20210</p><p>312,75</p><p>1985,9 2134,4</p><p>3335,4</p><p>279,4</p><p>0</p><p>5000</p><p>10000</p><p>15000</p><p>20000</p><p>25000</p><p>CUBIETRUCK</p><p>C</p><p>o</p><p>n</p><p>su</p><p>m</p><p>o</p><p>(</p><p>jo</p><p>u</p><p>le</p><p>s)</p><p>Benchmark</p><p>MPLAY COMPL</p><p>DOLFYN</p><p>PHP COMPL</p><p>C-RAY</p><p>SMALLPT</p><p>STOCKFISH</p><p>FFMPEG</p><p>MENCODER</p><p>N-QUEENS</p><p>PI PROGRAM</p><p>51</p><p>Portanto na parte de consumo de energia o processador ARM Cortex-A7 da</p><p>placa CubieTruck, de acordo com os resultados e comparações feitas, provou ser</p><p>econômico, porém devido ao tempo de execução dos testes terem demorado mais</p><p>do que na arquitetura i386, seu tempo fez com que em alguns casos o consumo de</p><p>energia (joules) gasto para realizar o processo executado foi superior ao do Core i5,</p><p>não obtendo uma eficiência energética consideravelmente boa.</p><p>Gráfico 10– Relação Consumo x Tempo</p><p>Fonte– Autor</p><p>52</p><p>5 CONCLUSÃO</p><p>Um dos assuntos mais comentados na atualidade no ramo da tecnologia,</p><p>como reduzir o consumo de energia sem a perda de desempenho, com o sucesso</p><p>da arquitetura ARM em dispositivos móveis, obteve-se a ideia de realizar este</p><p>trabalho realizando testes em processadores das arquiteturas ARM e i386.</p><p>A partir da idealização do trabalho, foi necessário um maior conhecimento</p><p>teórico sobre as arquiteturas que seriam avaliadas, assim como sobre benchmark e</p><p>os equipamentos que seria utilizados.</p><p>Após selecionado o benchmark, obteve-se os resultados das arquiteturas,</p><p>cujo qual apresentaram um bom desempenho nos testes de performance e tempo.</p><p>Quando comparados entre eles, chegamos a definição que o processador da</p><p>arquitetura i386, chega ser 7 vezes maior o desempenho comparado ao processador</p><p>utilizado pela arquitetura ARM.</p><p>Já em contrapartida o processador Cortex-A7, comprova uma grande</p><p>eficiência em consumo energético sendo 7 vezes menor seu consumo TDP,</p><p>contanto devido ao seu baixo desempenho em executar as tarefas foi verificado um</p><p>aumento considerável no tempo de execução, provocando uma baixa economia de</p><p>energia chegando próximo da arquitetura i386.</p><p>Portando com tais resultados, se a busca for para fins de desempenho, onde</p><p>os resultados são exigidos em um tempo baixo, o indicado para tais fins ainda são</p><p>processadores da arquitetura i386, que conseguiu um melhor desempenho nos</p><p>testes realizados.</p><p>Mas se o usuário estiver buscando por uma economia de energia sem a</p><p>necessidade de um alto desempenho, o processador ARM é o indicado, pois apesar</p><p>dos resultados obtidos não terem sido em níveis altíssimos de economia, verifica-se</p><p>que os processadores ARM ainda assim são mais eficientes em tempo de economia</p><p>de energia.</p><p>Com o forte avanço por parte dos processadores ARM na parte de</p><p>desempenho, não será surpresa vermos esses processadores invadir ainda mais o</p><p>mercado e se fazendo mais presente em computadores.</p><p>53</p><p>Trabalhos Futuros</p><p>- Realizar testes em equipamentos com outras versões do Cortex-A,</p><p>buscando qual teria o melhor desempenho e consumo.</p><p>- Realizar testes em vários computadores e diferentes arquiteturas para uma</p><p>avaliação de desempenho e consumo de energia das mesmas.</p><p>- Verificar qual será a melhor versão dos Cortex-A em desempenho e</p><p>eficiência energética.</p><p>- Verificar a arquitetura ARM e analisar o que ocasionou tamanha perca de</p><p>desempenho.</p><p>54</p><p>6 REFERÊNCIAS BIBLIOGRAFICAS</p><p>ALLWINNER A20; Allwinner Technology. Disponível em: <</p><p>https://en.wikipedia.org/wiki/Allwinner_Technology#A2x_and_A3x_family> Acesso</p><p>em 20/maio 2016.</p><p>ANDROID AUTHORITY. Developing on ARM – Everything you need to know.</p><p>Disponível em :< http://www.androidauthority.com/developing-arm-everything-need-</p><p>know-389402/> Acesso em 18/Fev. 2016</p><p>ARM a, Cortex-A7 Processor. Disponível em: < http://www.arm.com/products/</p><p>processors/cortex-a/cortex-a7.php > Acesso em 31/jan.2016</p><p>ARM b, Cortex-A8 Processor. Disponível em: < http://www.arm.com/products/</p><p>processors/cortex-a/cortex-a8.php> Acesso em 31/jan.2016</p><p>ARM c, Cortex-A9 Processor. Disponível em: < http://www.arm.com/products/</p><p>processors/cortex-a/cortex-a9.php> Acesso em 01/fev.2016</p><p>ARM d, Cortex-A15 Processor. Disponível em: < http://arm.com/products/</p><p>processors/cortex-a/cortex-a15.php> Acesso em 01/fev.2016</p><p>ARM e, Cortex-A35 Processor. Disponível em: < http://arm.com/products/</p><p>processors/cortex-a/cortex-a35.php> Acesso em 01/fev.2016</p><p>ARM f, Cortex-A57 Processor. Disponível em: < http://arm.com/products/</p><p>processors/cortex-a/cortex-a57.php> Acesso em 01/fev.2016</p><p>ARM g, Cortex-A72 Processor. Disponível em: < http://arm.com/products/</p><p>processors/cortex-a/cortex-a72.php> Acesso em 01/fev.2016</p><p>ARMv8, ARMv8-A Architecture. Disponível em:</p><p><https://www.arm.com/products/processors/instruction-set-architectures/armv8-</p><p>architecture.php> Acesso em 08/fev.2016.</p><p>ARRUDA, Felipe. História dos Processadores. Disponível em: <</p><p>http://www.tecmundo.com.br/historia/2157-a-historia-dos-processadores.htm></p><p>Acesso em 30/jan. 2016</p><p>BAILEY, David H. The NAS Parallel Benchmarks.</p><p>CARLSON, Brian,Going “beyond a faster horse”to transform mobile devices.</p><p>Texas Instruments. Dallas, 2011. Disponível em: <</p><p>http://www.ti.com/lit/an/swpt048/swpt048.pdf> Acesso em 08/fev. 2016.</p><p>55</p><p>COMPARISON OF ARMV7-A CORES. Disponível em :<</p><p>https://en.wikipedia.org/wiki/Comparison_of_ARMv7-A_cores> Acesso em 16/abr.</p><p>2016.</p><p>CORTEX. Disponível em :< http://www.hardware.com.br/artigos/cortex/> Acesso em</p><p>21/maio 2016.</p><p>CUBIEBOARD. A discussão do modelo cubietruck segundo PCB. Disponível em:</p><p>< http://cubieboard.org/2013/06/22/the-2nd-pcb-model-cubietruck-discussion/></p><p>Acesso em 16/abr. 2016.</p><p>CUBIETRUCK. The 2nd PCB model cubietruck discussion. Disponível em: <</p><p>http://cubieboard.org/2013/06/22/the-2nd-pcb-model-cubietruck-discussion/> Acesso</p><p>em 12/marc. 2016.</p><p>CUBIETRUCKFORUM. Disponível em:</p><p><http://www.cubieforums.com/index.php?topic=1477.0> Acesso 20/maio.2016.</p><p>DINIZ, Juliana Regueira Basto; BARROS, Abner Correa, Infraestrutura de</p><p>Hardware. Recife 2002.</p><p>EXTREMETECH. Disponível em :< http://www.extremetech.com/gaming/204148-</p><p>arm-details-its-upcoming-cortex-a72-microarchitecture> Acesso em 12/mar. 2016.</p><p>GOMES, Pedro H, LEITE, Tatiana S.,CAETANO, Uirauna Arquitetura ARM.</p><p>Disponível em:</p><p><http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2005/Trabalho/g20-arm.pdf></p><p>Acesso em 21/maio 2016</p><p>GOODACRE, John. Technology Preview: The ARMv8 Architecture. White Paper</p><p>ARM, 2014. Disponível em:<</p><p>https://www.arm.com/files/downloads/ARMv8_white_paper_v5.pdf> Acesso em</p><p>11/fev 2016</p><p>GREENHALGH, Peter, Big.LITTLE Processing with ARM Cortex™-A15 &</p><p>Cortex-A7. 2011.</p><p>INTEL. Disponível em < http://ark.intel.com/pt-br/products/53452/Intel-Core-i5-</p><p>2450M-Processor-3M-Cache-up-to-3_10-GHz?q=2450m> Acesso em 16/abr.2016.</p><p>MORIMOTO, Carlos E.; O avanço do ARM: Cortex A8 e CortexA5. 2009</p><p>Disponível em :< http://www.hardware.com.br/dicas/cortex.html> Acesso em 01/fev.</p><p>2016.</p><p>MORIMOTO, Carlos E.; Cortex A9: a era multi-core. 2012 Disponível em</p><p>:<http://www.hardware.com.br/tutoriais/evolucao-dos-smartphones-parte3/cortex-era-</p><p>multi-core.html> Acesso em 02/fev.2016.</p><p>56</p><p>MORIMOTO, Carlos. Processadores. 2007 Disponível em: <</p><p>http://www.hardware.com.br/livros/hardware/processador.html > Acesso em 30/jan.</p><p>2016</p><p>MURDOCCA, Milles J.; HEURING, Vincent P. Introdução a Arquitetura de</p><p>Computadores. Rio de Janeiro: Campus, 2000.</p><p>OPENBENCHMARKING. Disponível em: <http://openbenchmarking.org/> Acesso</p><p>em 12/mar.</p><p>2016.</p><p>PHORONIX-TEST-SUITE. Disponível em < http://www.phoronix-test-suite.com/></p><p>Acesso em 16/abr. 2016.</p><p>PRADO, Sergio, A onipresente arquitetura ARM Disponível em: <</p><p>http://sergioprado.org/a-onipresente-arquitetura-arm/>Acesso em 03/Fev. 2016</p><p>SAMSUNG, Samsung RF511. 2016. Disponível :<</p><p>http://www.samsung.com/br/support/model/NP-RF511-SD3BR> Acesso em 01/maio</p><p>2016</p><p>VAN’S, Hardware Journal. Mirror: The Coming War: ARM versus x86. 2011</p>

Mais conteúdos dessa disciplina