Arquitetura ARM

Ruan de Lima Costa

Universidade Salvador (UNIFACS) Rua Rio Tinto, 152, Santa Monica

In this paper, the features are described ARM architecture, types, power management and performance, as well as its microprocessor models marketed globally.

Palavras-Chave Arquitetura, RISC, ARM, transistores, registros, bits. 1.INTRODUÇÃO

Em outubro de 1983 a Acorn Computers desenvolveu o primeiro processador

ARM para uso comercial. O projeto foi baseado no processador RISC I. Só em 1985 surgiram os primeiros processadores ARM 1 e no ano seguinte partindo para a sua versão comercial ARM 2, possuindo um barramento de dados com 32 bits e outro para endereços com 26 bits, Incluindo também um conjunto de 16 registradores de 32 bits. Os processadores ARM são bastante atraentes pela sua simplicidade, com baixo custo e baixo consumo.

O RISC foi desenvolvido a partir da constatação de que a grande maioria dos programas não utiliza a maioria das instruções de um processador. Em um teste com o sistema UNIX, quando compilado, foi usado apenas 30% das instruções disponíveis. Parte do circuito foi dedicado a descodificar estas instruções que não são usadas. O RISC surgiu para incluir apenas instruções que realmente eram utilizadas, removendo circuitos para assim acelerar o sistema. Para que isso acontecesse o RISC agrupa maior quantidade de registros, pequenos pedaços de memorias que prendem valores temporários que podem ser acessados por custo insignificante. Consequentemente com a redução de circuitos os RISCs passaram a ter menor custo e o melhor de tudo menor consumo de energia, favorecendo o seu uso em Embarcados.

Pelo lado negativo, as instruções que foram removidas geraram várias sub – instruções forçando o processo agrupar estas sub - instruções em um novo registro. Isto obrigou os programadores a escrever instruções adicionais para carregar valores de memória, se necessário criar um programa RISC menos denso.

O RISC facilitou o trabalho dos programadores em assembly, criando uma ferramenta de conceito de janela de registro, fazendo com que todos os arquivos fossem divididos em blocos, permitindo o compilador de enxergar um bloco para variáveis locais e outro para variáveis globais. Para fazer uso deles o RISC adicionou circuitos na CPU para ajudar o compilador.

3. RISC I

O projeto final do RISC foi publicado em 1981. Ele teve 4.500 transistores de execução e 31 instruções de um arquivo de registro que contém 78 registros de 32 bits, permitindo que seis janelas de registros contendo cada uma delas 14 registros, com um adicional de 18 variáveis globais, criando uma seção de controle e descodificação de instruções ocupando apenas 6% da matriz.

O RISC I também contou com um de dois estágios do pipeline de instruções para uma velocidade adicional, mas sem a complexa instrução de reordenamento dos designs mais modernos. Fazendo com que o compilador preencha uma instrução adicional com uma ramificação condicional, chamado de “slot com ramo de atraso”. Um número notável de RISCs posteriores anda conta com um atraso de ramos.

4. RISC I

A principal diferença entre os irmãos RISC era de apenas uma linha por bit, reduzindo de três para dois. Reduzindo drasticamente o tamanho dos arquivos de registros. Foram feitas várias economias diante do novo modelo RISC. Considerando que o anterior possuía 78 registros em 6 janelas, o atual continha 138 registros em 8 janelas de 16 bits cada, com mais 10 variáveis globais. Esta expansão do arquivo de registro aumenta a chance de que um determinado procedimento pode caber todo o seu armazenamento local em registros, contribuindo para o aumento de do nível de embutimento. No entanto o maior número de registros diminui o número de transistores contando com um total de 39.0.

A outra grande mudança foi na inclusão de uma instrução de formato de expansão que aumentou o formato de instrução de 16 bits para 32 bits. Isto permitiu instruções menores, mas sem mudanças logicas de núcleo. Esta simples técnica adotada rendeu ao projeto uma melhora de 30% na densidade de código, fazendo um programa mais rápido que o anterior, devido a diminuição do número de acessos a memória.

Isto provou que o RISC I era muito mais bem sucedido em silício, considerado o melhor em implementação comercial de chip daquela época.

5. MICROCONTROLADORES ARM

A arquitetura possui vários microcontroladores, entre eles estão a família ARM com os mais utilizados atualmente: ARM7, ARM9 e ARM11.

5.1 MCROCONTROLADOR ARM7

É um processador versátil projetado para dispositivos moveis entre outros eletrônicos. Esta arquitetura é capaz de ter até 130 MIPS em um típico processo de 0,13 m. Este micro processador suporta instruções de 16 bits quanto 32 bits através de um braço polegar de conjunto de instruções.

Esta versão de microcontrolador possui uma serie de modelos distintos.

Abaixo um diagrama de funcionamento das instruções de 32 bits no microcontrolador ARM7.

Figura 1. Imagem de um diagrama de funcionamento de instruções de um microcontrolador ARM7.

5.2 MICROCONTROLADOR ARM9

Esta geração de microcontrolador ARM deixou de usar a arquitetura de von

Neumann para utilizar a arquitetura de Harvard contando com uma instrução separada de barramentos de dados e cache, aumentando sua velocidade. Nesta nova família de ARM pode se destacar a diminuição de calor e menor risco de superaquecimento em relação a família ARM7, melhorias na frequência de clock; mudanças nos estágios de pipeline, saindo de três para cinco estágios; melhorias na contagem de ciclo, utilizando a arquitetura load/store fazendo com que muitas instruções custassem apenas um ciclo; otimização do compilador para reduzir o bloqueador entre as fases.

A mudança para a arquitetura de Harvard fez com que o microcontrolador ficasse com um cache não unificado, fazendo com que a instrução não despeje seus dados. O seu núcleo dispõe de dados específicos e sinais de barramento de endereço que podem ser utilizados de várias maneiras.

Nesta geração foi incluído instruções SIMD, que pode dobrar o MPEG-4 e o áudio de sinal digital. Seu cache agora é fisicamente explorado resolvendo muitos problemas com cache aliasing. Suporte a dados Unaligned e mixed-endian. Redução na produção de calor e risco de sobreaquecimento. Aumento no clock, suportando velocidades de até 1 Ghz. Conta com caminhos de dados de 64 bits.

O ARM11 passou a ser um dos melhores microcontroladores já fabricado, sendo comercializado em produtos de grande cenário mundial como os smartphones da Apple, Nokia entre outros.

6. CONSUMO DE ENERGIA

Uma das principais vantagens dos ARM é o baixo consumo de energia, já que o mesmo foi desenvolvido para embarcados como: smartphones pads e tablets e eles não podem ficar ligados constantemente a uma tomada. Em um breve teste feito com um processador Nvidia Tegra 3 quad core de 1,3 Ghz. Foi realizado o teste de navegação web. Consistindo na abertura da página inicial do MSN no navegador Internet Explorer 10, o Tegra realizou o teste em 941 ms gastando 3,39w. Já nos testes de vídeo o Tegra consumiu 4,21w executando um filme a 30 frames por segundo em qualidade 1080p.

7. UTILIZAÇÃO DO ARM NO NOSSO DIA-A-DIA.

No nosso dia-a-dia cada vez mais tecnológico, o homem vai ficando cada vez mais “dependente” da máquina. Em uma pesquisa realizada pela revista Enxame sobre a quantidade de smartphones no brasil. Foi constatado que a cada 10 pessoas 3 possuem um smartphone. Tomando em conta que esta pesquisa foi divulgada no site da revista no dia 26 de Junho de 2013, este percentual hoje quase dois anos depois deve estar acima do divulgado.

Através destes números posso concluir que o uso do ARM está quase superando o uso de processadores comuns, fabricados para Desktops e Notebooks.

Nesta análise da arquitetura ARM no nosso dia-a-dia podemos agora apresentar os mais utilizados ARM do mundo.

7.1 APPLE A5

Chip projetado pela empresa Americana Apple, e fabricado pela Sul-Coreana

SAMSUNG. Contendo em sua arquitetura 512 MB de memória RAM DDR2 de baixo consumo de energia com clock de 1066 Mhz, sua GPU é nove vezes mais potente do que seu antecessor o chip A4 também da Apple.

O chip passou a ser comercializado em Março de 2011 sendo implantado no novo iPad 2, chegando em Outubro do mesmo ano ao iPhone 4S e posteriormente sendo utilizado nos iPod 5th Generation e Apple TV 3th Generation.

7.2 APPL A6

Também projetado pela Apple e fabricado pela SAMSUNG, o chip A6 foi introduzido no mercado em Setembro de 2012, sendo duas vezes mais rápido e com o dobro de potência do que o seu antecessor.

Figura 2. Microprocessador de arquitetura ARM projetado pela Apple. A6X

O A6 chegou ao mercado com um clock máximo de 1.3 GHz Dual-Core, contando com um processador gráfico de três núcleos. Com apenas 95 mm² de tamanho é 2% menor e mais econômico que seu antecessor. O microprocessador passou a ser comercializado no smartphone da Apple, iPhone 5. E sendo melhorado para uma versão de 1.4 GHz de clock com um tamanho de 123 mm² sendo 26% maior que o seu antecessor, chamado de A6x, é utilizado apenas na 4th Generation dos tablets da Apple chamados de iPad.

7.3 EXYNOS 3

Projetado e fabricado pela SAMSUNG em 2010, o microprocessador chegou no mercado com uma microarquitetura ARM Cortex-A8 com um núcleo operando com um clock de 1 Ghz de potência e 200 MHz de memória DDR2, LPDDR ou LPDDR2, chagando a ser projetado para opera em outra versão com 1,2 Ghz de clock exclusivo para o Samsung Infuse 4G. Sua versão de 1 Ghz, foi introduzido em aparelhos como: Google Nexus S, Samsung Galaxy Tab, Samsung Wave I entre outros.

7.4 EXYNOS 4 QUAD

Fabricado em 2012 o Exynos 4 Quad chegou ao mercado com uma surpreendente experiência aos usuários finais, possuindo uma GPU quad-core de 533 Mhz, trabalhando a uma frequência de 1.6 Ghz com memoria DDR2 ou DDR3 de 6,4 Gb/s o microprocessador foi introduzido em smartphones como: Samsung Galaxy S I, Samsung Galaxy Note I, Samsung Galaxy Câmera, Samsung Galaxy Note 8.0 entre outros.

Figura 3. Exynos 4 Quad, em uma placa de circuito de um Samsung Galaxy S I.

7.4 EXYNOS 5 OCTA

Microprocessador da Samsung, fabricado em 2013, conta com 8 núcleos divididos em 4 + 4, possuindo clock que pode variar de versão para versão entre 1,2 Ghz a 2,0 Ghz, com GPU de até 600 Mhz é um dos melhores microprocessadores do mercado, integrado em aparelhos como: Samsung Chromebook, Samsung Galaxy S 5, Galaxy Note 3, Samsung Galaxy Alpha entre outros embarcados diversos.

7.5 TEGRA 3

Microprocessador desenvolvido pela Nvidia, contendo uma CPU quad-core com 5 núcleos economizador de bateria, trabalhando em frequência de até 1.6 Ghz com cache L2 de 1Mb, utilizando memória RAM de 2 Gb de frequência 1500 DDR3 ou 1066 LPDDR2. Utilizado em embarcados como: Microsoft Surface RT, Nexus 7m ASUS Transformer Pad TF300 e Prime, Lenovo Ideapad Yoga 1.

Também desenvolvido pela Nvidia, o Tegra 4 possui uma CPU cores com 4 núcleos mais 1 extra em uma arquitetura ARM-Cortex-A15 com máximo clock de 1.9 Ghz de potência, memoria DDR3L ou LPDDR3 de até 4 GB podendo reproduzir em uma tela de tecnologia 4K (Ultra HDMI).

Suportado em aparelhos embarcados como: Project Shield (NVIDIA) e Vizio 10.

Figura 4. Microprocessador de arquitetura ARM, Tegra 4 fabricado pela Nvidia.

8. CONCLUSÃO

Esta análise sobre as principais características que fazem da arquitetura ARM uma das mais utilizadas mundialmente, mostrou como está sendo utilizado e em quais aparelhos embarcados tem maior destaque com consumidores finais. Mostra o avanço das arquiteturas saindo de von Neumann e indo para arquitetura de Harvard podendo chegar a uma frequência aqui apresentada de até 1.9 Ghz de clock, podendo ser superada.

O mais importante do que a mudança de arquitetura é como a cada modelo e versão de microprocessadores podemos ver que o baixo custo com energia vem sendo cada vez menor assim como seu tamanho físico. O que é muito importante para o consumidor final que acaba adquirindo estes produtos para ter uma melhor autonomia no seu dia-a-dia.

9. REFERÊNCIAS [1]http://en.wikipedia.org/wiki/Berkeley_RISC. Acessado em 18/04/15

Comentários