Endereçamento no MIPS
O Conjunto de Instruções é um dos elementos desse grande sistema, e é de extrema importância para a construção de um sistema computacional. Um Processador não é exatamente um dispositivo único, ele é um conjunto de sistemas, cada um responsável por executar determinadas ações. O que temos, na verdade, é uma CPU - Unidade Central de Processamento - composta pela Unidade de Controle, Unidade Lógica Aritmética, entre muitas outras UNIDADES FUNCIONAIS necessárias para realizar o processamento de qualquer tipo de dados que precisamos.
Por exemplo, se um microprocessador não é capaz de executar uma soma em ponto flutuante, então este computador não poderá processar determinados tipos de dados, programas, etc. O computador ficará limitado, o que nos dias atuais não é nada interessante. Portanto, quando se PROJETA um novo microprocessador, primeiro é necessário definir que tipo de instruções, dados e programas ele será capaz de executar.
Além disso, precisa-se manter a compatibilidade com microprocessadores anteriores. O novo microprocessador deve ser capaz de continuar executando os seus softwares. Não é uma ideia interessante lançar um microprocessador com muitas inovações se os usuários não puderem mais usar os softwares que estão acostumados. É claro que, um dia, logo mais à frente, a tecnologia vai mudar e, de certa forma, nos veremos na obrigação de evoluir. Os transistores, a tecnologia atual de fabricação de computadores, está em seu limite, e muitos pesquisadores estão buscando novas matérias primas para construção de processadores cada vez mais rápidos. Quando uma nova tecnologia surgir, nos encontraremos exatamente nesse ponto de evolução.
Os nossos computadores, notebooks e celulares atuais são dispositivos de uso geral. Isso significa que eles precisam ter capacidade de processamento para diversos tipos de dados diferentes, que variam desde um texto simples até um vídeo em três dimensões. É diferente de um controle remoto de TV ou um Microondas, que são projetados para um fim específico. Dessa forma, as instruções que o microprocessador é capaz de executar formam o conjunto de instruções. Algumas instruções que o microprocessador de uso geral pode executar são:
operações aritméticas;
operações lógicas;
operações relacionais;
operações de ponto flutuante;
transferência de dados;
desvios condicionais;
desvios incondicionais;
controle;
Arquitetura do Conjunto de Instruções
A Arquitetura do Conjunto de Instruções define os tipos de instruções que serão executadas por um processador, assim como o formato de cada instrução, quantidade de bits, a forma como essas instruções acessarão registradores e memórias (modos de endereçamento), a forma como conversarão com outras unidades funcionais, etc.
Tamanho da Instrução
É o tamanho, em bits, de uma instrução. Conjuntos de instruções dos processadores X86 costumam não ter um tamanho fixo de Bits. Nessas arquiteturas, uma operação aritmética pode ter um tamanho diferente de uma operação de transferência, o que não é muito interessante. Hennessey e Patterson demonstraram com a Arquitetura MIPS que instruções de tamanho fixo de bits são melhores de se manipular, particularmente no processamento paralelo das instruções (Pipeline). Assim, em um projeto de arquitetura de conjunto de instruções, o tamanho da instrução, em bits, pode ser FIXO ou VARIÁVEL. A arquitetura MIPS atual tem tamanho fixo de 64 bits e é chamada de MIPS 64 Bits.
Nas instruções do MIPS podemos representar os endereços de dados das seguintes formas:
- A Registrador: Representamos o dado passando o nome do registrador no qual ele está contido. Ex: add $r1, $r2, $r2.
- Base-Deslocamento: Representamos o dado passando o endereço de um vetor no qual ele está e a quantidade de bits a serem deslocados. Ex: lw $r5, 4($r65).
- Imediato: Passamos o dado escrevendo o seu valor imediato. Ex: addi $r1, $r2, 456.
- Relativo ao PC: Passamos o dado descrevendo o seu valor relativo ao endereço da instrução atual. Ex: beq $r1, $r2, DESTINO.
- Absoluto: passamos o valor informando o seu endereço (pseudo-)absoluto. Ex: j DESTINO.
Existem apenas estas 5 formas de endereçamento no MIPS. Através delas, efetuamos todas as operações necessárias.
Comentários
Postar um comentário