|
ARM Advanced RISC Machine |
||
|
Funcionamento do Processador RISC
Este é um dos processadores mais licenciados e mais vendidos em todo o mundo devido ao seu alto desempenho e baixíssimo consumo de energia,o que é muito bom para sistemas embarcados. Possui diversas extensões , possibilitando o seu uso expansivo. Tais como: • Thumb
-Instruções ARM codificadas em 16 bits; • Thumb-2
-Extende o limite de algumas instruções para 32 bits; • Jazelle
-Permite a execução nativa de opcodes Java; • Thumb-2EE
-Conjunto de instruções úteis para as linguagens Java e C#; • NEON
-Conjunto de instruções SIMD de 64 e 128 bits; • VFP ¡V Vetor de Ponto Flutuante
-Coprocessador que extende as instruções ARM para operação de ponto
flutuante de precisão simples e dupla;
CARACTERÍSTICAS As funções de comando criadas em um processador RISC são pequenas e individuais, porém realizam apenas uma única tarefa. O software aplicativo, que precisa ser recompilado especialmente para um processador RISC, informa ao processador qual a combinação de seus comandos menores deve ser executada para completar uma operação maior. Desta forma o compilador seleciona os comandos necessários para a realização das mesmas. Todos os comandos RISC apresentam o mesmo tamanho, e há somente uma maneira de carregá-los e armazená-los. Além disto, se um comando já está na forma de microcódigo, os processadores RISC não precisam de um passo a mais para passar as instruções que eles recebem através de uma unidade que transforme os comandos complexos em códigos mais simples. Como resultado destas diferenças, os comandos RISC são carregados muito mais rapido que os comandos CISC. Durante a compilação de um software especifico para um chip RISC, o compilador determina quais comandos não vão depender dos resultados de outros. Como estes comandos não têm de esperar por outros comandos, o processador pode executar simultaneamente até 10 comandos em paralelo aumentando a velocidade de processamento. Tudo em um processador RISC é simples, desde os comandos até os seus circuitos internos. Há rapidez da execução dos comando se dá devido ao fato de estes processadores terem menos transistores e o caminho a ser percorrido pelos circuitos também ser curto. Em geral cada instrução RISC gasta apenas um ciclo de clock para terminar a sua execução. Porém o tempo de execução de operações inteiras depende também da quantidade de pequenas operações a serem realizadas, mas mesmo assim, comparado ao tempode interpretação e execução de operações em um compilador CISC, o compilador RISC é mais rápido, ou seja, o tempo gasto é bem menor.
ARQUITETURA ORIENTADA A REGISTRADOR Os microprocessadores RISC só possuem instruções que operam em dados que estejam nos seus registradores. As únicas operações de acesso à memória são as operações para carga e armazenamento dos dados destes registradores o que agiliza bastante as operações aritméticas, permitindo uma alta taxa de execução. Essa é uma filosofia distinta dos processadores convencionais, já que estes permitem operações entre operandos na memória. A princípio diria-se que o microprocessador RISC necessita de mais instruções para fazer a mesma tarefa. Contudo, o compilador RISC procura alocar as variáveis nos registradores locais, o que compensa esta diferença ao longo da execução de um programa. Para o usuário estão disponíveis 16 registradores, que se apresentam da seguinte forma: • Quinze de propósito geral ( R0,R1,R2,R3,..., R12); • R13 é o Stack Pointer; • R14 guarda o endereço de retorno; • R15 é o Program Counter (PC); • e o registrador de status é chamado de CPSR Mas estes não são os únicos existentes nesta arquitetura, há outros que são usados nos modos privilegiados e de exceção. ¡@
PIPELINE A simplicidade das instruções do RISC, de menor número e com formato fixo (32 bits), permite uma arquitetura com alto níveì de "pipeline". Ou seja, uma instrução é executada em várias etapas, como em uma linha de montagem: não se espera um carro ficar pronto para se iniciar a montagem do próximo, mas procura-se ter um carro em cada etapa da linha de fabricação. O resultado é uma produção muito maior. O mesmo acontece com o microprocessador RISC, que normalmente divide a execução das instruções em 4 ou 5 etapas, gerando aproximandamente uma instrução "pronta" a cada ciclo de processador, tendo outras em execução em outras fases do "pipeline". Os processadores convencionais, possuem instruções de tamanho variável e muito complexas, que dificultam a elaboração de "pipelines" eficientes. Alguns microprocessadores convencionais mais recentes apresentam algum tipo de estrutura de "pipeline", sem porém alcançar a eficiência dos processadores RISC. ¡@ |
||