Otimização de registradores baseada em compilações e Arquitetura com conjunto reduzido de instruções |grupo 2 |pagina 1
Description
Mind Map on Otimização de registradores baseada em compilações e Arquitetura com conjunto reduzido de instruções |grupo 2 |pagina 1, created by Thiago Pena on 01/06/2022.
Otimização de
registradores baseada
em compilações e
Arquitetura com
conjunto reduzido de
instruções |grupo 2 |pagina 1
O Compilador tem
como objetivo guardar
os operandos nos
registradores durante o
máximo de operações
possíveis ao invés de
usar a memória;
O Compilador
estrutura o
número ilimitado
de registradores
simbólicos para
um número fixo
de registradores
reais;
Se, em uma determinada
parte do programa, houver
mais grandezas para tratar do
que registradores reais, então
algumas das grandezas são
atribuídas para posições de
memória. As instruções de
carregar-e-armazenar são
usadas para posicionar as
grandezas nos registradores
temporariamente para
operações computacionais.
decide quais grandezas
devem ser encomendado
em qualquer ponto do
programa;
A técnica mais
usada em
compiladores RISC é
conhecida como
coloração de grafos;
O problema de coloração
de grafos é este: dado um
grafo que consiste de nós
e bordas, atribui cores
para nós de tal forma que
nós adjacentes tenham
cores diferentes e que
sejam usadas menos
cores possíveis;
Os programadores queriam
simplificar compiladores e
melhorar o desempenho, com
isso surgiu a motivação para a
mudança para linguagens de alto
nível;
O trabalho de um programadora de
compilador é criar uma sequência de
instruções de máquina para cada
instrução de linguagem de alto nível.
Se houver instruções de máquina
parecida com as instruções de
linguagem de alto nível, esta tarefa
será simplificada. Essa afirmação foi
contestada pelos pesquisadores RISC,
Eles concluem que instruções de
máquina complexas são muitas vezes
difíceis de explorar porque o
compilador precisa encontrar casos
em que essa construção se encaixe
perfeitamente. A tarefa de otimizar o
código feito para reduzir o tamanho do
código, reduzir o número total de
instruções executadas é muito mais
difícil com um conjunto de instruções
complexo.
Embora varias
abordagens para
arquitetura com
conjunto reduzido de
instruções tenham sido
implementadas,
algumas características
são comuns a todas elas:
Característica maquinas RISC:
Um tamanho único de instrução.
O tamanho é normalmente de 4 bytes
Nenhum
endereçamento
indireto que requer
um acesso à memória
para obter o endereço
de um operando na
memória.
Nenhuma operação
que combina
leitura/escrita com
aritmética (por
exemplo, adicionar da
memória, adicionar
para memória)
Não mais do que
um operando
endereçado em
memória por
instrução
Não suporta
alinhamento
arbitrário de
dados para
operações de
leitura/escrita.