Desenvolvimento de processadores ARM
Projeto de pesquisa: Desenvolvimento de processadores ARM. Pesquise 862.000+ trabalhos acadêmicosPor: lindomarbonfim • 12/10/2014 • Projeto de pesquisa • 3.461 Palavras (14 Páginas) • 363 Visualizações
1. INTRODUÇÃO
2. CISC
3. No inicio dos anos 70, os compiladores eram muito lentos, pouco robustos e caros, causando sérias limitações no tamanho do código. O hardware era cada vez mais barato e o software cada vez mais caro. Projetistas defendiam que a única maneira de contornar os grandes problemas que se avizinhavam era mudar a complexidade do software e transportá-la para o hardware. Afinal de contas o hardware era barato e o tempo do programador não.
Existiam razões para se promover este tipo de arquitetura, e as principais foram reduzir as dificuldades de escrita de compiladores, reduzir o custo global do sistema e os custos de desenvolvimento de software, reduzir a diferença semântica entre linguagens de programação e máquina e fazer com que os programas escritos em linguagens de alto nível corressem mais eficientemente, melhorar a compactação do código, facilitar a detecção e correção de erros. Se uma instrução complexa escrita numa linguagem de alto nível fosse traduzida em, exatamente, uma instrução assembly, então os compiladores seriam mais fáceis de escrever. Isto pouparia tempo e esforço para os programadores, reduzindo, assim, os custos de desenvolvimento de software, o código seria mais compacto, o que permitiria poupar em memória, reduzindo o custo global do hardware do sistema e por ultimo seria mais fácil fazer a detecção e correção de erros o que, de novo, permitiria baixar os custos de desenvolvimento de software e de manutenção. Até então, centramos a atenção nas vantagens económicas da arquitetura CISC, ignorando a questão do desempenho. As máquinas CISC tentam atingir este objetivo reduzindo o número de instruções por programa. Assim, ao reduzir o tamanho dos programas conseguiam-se dois propósitos: por um lado era necessária uma menor quantidade de memória para armazenar o código; e por outro o tempo de execução era, também, diminuído, pois havia menos linhas de código para executar, chegando assim à micro programação onde a unidade de execução é um processador de microcódigo que executa micro instruções. Os projetistas usam estas micro instruções para escrever micro programas que são armazenados numa memória de controle especial. Quando uma instrução normal de um programa é carregada da memória, descodificada e entregue ao processador de micro-código, este último executa a subrotina de micro-código adequada. Esta subrotina “diz” às várias unidades funcionais o que fazer e como fazer. No início, o micro-código era lento. Mas ainda assim, a ROM utilizada para a memória de controle era cerca de 10 vezes mais rápida que a memória magnética da altura, por isso o processador de micro-código ainda conseguia estar suficientemente “avançado” para oferecer um desempenho razoável.
4. ARM
5. Muitas execuções da arquitetura cisc foram denominadas complicadas por que eram distribuídas em “vários chips”, para isso algumas funções teriam que ser deixadas de fora para que no processador coubesse apenas em “um chip”. Então foi verificado em quais tarefas os processadores ficavam mais tempo trabalhando, que seriam as tarefas mais comuns, e a ideia era melhorar e deixar mais rápida a execução dessas tarefas, então foi provocado a inversão da filosofia iniciada pelo cisc e a complexidade foi retirada do hardware e passada novamente para o software.
6. A memória estava ficando cada vez mais barata e os compiladores mais eficientes, os pesquisadores perceberam que a linguagem de alto nível seria mais eficientes se fosse executadas em software, e os mesmos concluíram também que um pequeno conjunto de instruções faria a maioria do trabalho e foram se tornando conjunto de instruções mais simples, foi isso que deu origem ao nome RISC (Reduced Instruction Set Computer).
7. Uma das razões para redução das instruções foi a implementação do pipelining que permite várias execuções ao mesmo tempo, e assim baixar o ciclo que as instruções precisam para terminar sua execução.
8. Na arquitetura risc o papel do compilador é muito mais elevado, o sucesso desse tipo de arquitetura depende do nível de otimização dos compiladores que podem constituir melhores códigos, transferir o código do hardware para o compilador foi um dos maiores avanços da arquitetura risc.
9. 2.1 Evolução dos Processadores ARM
10. A família ARM é utilizada em diversos dispositivos, que vão de palmtops e telefones celulares a sistemas de automação, etc.
11. Existem diversas famílias de processadores ARM, chips RISC de 32 bits, produzidos por diversos fabricantes, que vão da Samsung à Intel. Embora possuam um design bastante simples, se comparados aos processadores x86, os chips ARM conservam um bom desempenho. Um Treo 650, por exemplo, que é baseado num Intel Xscale de 312 MHz, consegue exibir vídeos em Divx com resolução de 320x240 sem falhas, tarefa que mesmo um Pentium II 266 tem dificuldades para realizar.
12. Usando um processador ARM e pelo menos 4 MB de memória, seu sistema embarcado pode rodar Linux, o que abre grandes possibilidades em termos de softwares e ferramentas de desenvolvimento. Adicionando um pouco mais de memória, é possível rodar o Windows Mobile ou o Symbian.
13. Embora operem a freqüências relativamente baixas, se comparados aos processadores x86 (na maioria dos casos apenas 300, 400 ou 500 MHz), os chips ARM são baratos e possuem um baixo consumo elétrico, por isso são extremamente populares em celulares, PDAs, pontos de acesso, modems ADSL, centrais telefônicas, sistemas de automatização em geral, videogames (como o GameBoy Advance) e assim por diante. Cerca de 75% de todos os processadores de 32 bits usados em sistemas embarcados são processadores ARM.
14. Além da família ARM e Z80, existem inúmeras outras famílias de chips e controladores. Cada uma conta com um conjunto próprio de ferramentas de desenvolvimento (SDK), que incluem compiladores, debuggers, documentação e ferramentas úteis. Em alguns casos o SDK é distribuído gratuitamente, mas em outros precisa ser comprado ou licenciado, o que encarece o projeto.
15. Normalmente, o desenvolvedor roda as ferramentas de desenvolvimento em um PC e transfere o software para o sistema embarcado que está desenvolvendo apenas nos estágios finais do desenvolvimento. Em alguns casos isso é feito através da porta USB (ou de uma porta serial), mas em outros é necessário gravar um chip de EPROM ou memória flash com a ajuda do gravador apropriado e transferir o chip para o sistema embarcado para poder testar o software.
16. Arquitetura ARM (primeiramente
...