A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Implementando um Montador com LEX e YACC - 3. Trabalho 5 – Não obrigatório: até mais 1.0 ponto na média (enviar para A partir de.

Apresentações semelhantes


Apresentação em tema: "Implementando um Montador com LEX e YACC - 3. Trabalho 5 – Não obrigatório: até mais 1.0 ponto na média (enviar para A partir de."— Transcrição da apresentação:

1 Implementando um Montador com LEX e YACC - 3

2 Trabalho 5 – Não obrigatório: até mais 1.0 ponto na média (enviar para A partir de seu montador, faça um interpretador da MIPS ISA O interpretador recebe como entrada um arquivo texto contendo um programa em linguagem assembly e o executa diretamente. Ele deve percorrer o programa, a partir de seu ponto de entrada, executando cada comando. Cada instrução executada deve ser impressa e, a seguir, devem ser impressos os valores dos 32 registradores e do PC em hexadecimal, sempre com oito algarismos. O interpretador deve ser capaz de executar todas as instruções do último slide.

3 Interpretador MIPS ISA Os circuitos que compõem um processador MIPS podem ser divididos em duas partes: Datapath – circuitos do processador responsáveis pela manipulação dos dados. Controle – circuitos responsáveis por controlar o fluxo dos dados através do datapath.

4 Interpretador MIPS ISA Um processador é uma máquina de estados que executa a seguinte seqüência de estados continuamente: 1. Leia da memória a instrução apontada pelo registrador Program Counter (PC) 2.Incremente o PC (PC = PC + 1; ou PC = PC + 4 se a instrução for de 4 bytes) 3.Decodifique a instrução 4.Execute a instrução 5.Volte ao passo 1

5 Interpretador MIPS ISA A memória é usada para guardar as instruções e os dados dos programas. PC guarda o endereço da instrução corrente. Somador pode ser usado para incrementar o PC de modo a fazê-lo apontar para a próxima instrução. 32 registradores para manipulação dos dados.

6 Exemplo Interpretador - Memória: - Registradores: - PC 0x27BDFFE8 0xAFA x xAFA x A 0x27BDFFE8 0xAFA x C 0xAFA x A 0x27BDFFE8 0xAFA x x x x00000C 0x x x x00001C 0x x x x00002C $0 $1$2$3$4$5$6$7$8$9$10$11$12$13$14$15 $16$17$18$19$20$21$22$23$24$25$26$27$28$29$30$31 0x000008

7 Exemplo Interpretador lw $2, 0(4) PC PC++ 0x Fetch instruction from Memory. Decode Instruction Execute Instruction Memory 0x C oprdimm 324 $2 = memory[0x ] pc = pc + 1

8


Carregar ppt "Implementando um Montador com LEX e YACC - 3. Trabalho 5 – Não obrigatório: até mais 1.0 ponto na média (enviar para A partir de."

Apresentações semelhantes


Anúncios Google