17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4. A MÁQUINA VIRTUAL<br />

ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />

A máquina virtual escolhida é baseada na de WIRTH (1996), que por<br />

sua vez se baseia na máquina DLX de Hannessy e Patterson (1995) 2 , aproximandose<br />

da arquitetura da máquina MIPS.<br />

O conjunto completo de instruções da máquina DLX encontra se no<br />

apêndice C. O subconjunto particular implementado é descrito a seguir.<br />

4.1. REGISTRADORES<br />

Registradores são memórias especiais à disposição do processador<br />

para diversos fins. Em linguagem de máquina, valores são guardados na memória e<br />

as operações com estes são realizadas nos registradores. Diversas instruções,<br />

especialmente em máquinas RISC, utilizam registradores como seus operandos.<br />

Diferente de máquinas CISC (conjunto de instruções complexo) que possuem<br />

dúzias de formas diferentes de endereçamento (gerando uma instruções para cada<br />

um deles), as máquinas RISC trocam o número de instruções pelo número de<br />

registradores. Uma máquina CISC tem normalmente de 4 a 6 registradores e<br />

enquanto máquinas RISC operam com 32. Este número também é justificado pelo<br />

pequeno número de formas de endereçamento disponível para máquinas RISC, o<br />

que obriga que valores sejam movidos da memória para um registrador antes de<br />

serem utilizados em uma instrução.<br />

A máquina virtual possui 32 registradores de 32 bits cada. Estes<br />

registradores são nomeados de R0 a R31, sendo alguns de uso específico:<br />

R0 sempre contém o valor 0.<br />

R31 é utilizado para armazenar o endereço de retorno em instruções<br />

de salto.<br />

2 HANNESEY J.L., PATTERSON D.A. Computer Architecture <strong>–</strong> A Quantitative<br />

Approach. Morgan Kaufmann:1995<br />

44

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!