UPE – Universidade de Pernambuco Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Disciplina: ORGANIZAÇÃO DE COMPUTADORES Aluno: Marcus Vinicius Prof.: Einstein Torres Recife, 18 de agosto de 2012 UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Sumário Estrutura Detalhada do IAS Fluxograma de Funcionamento do IAS Problema a ser resolvido Resolução Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Estrutura Detalhada do IAS Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Fluxograma de Funcionamento do IAS Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Problema a ser resolvido PC = 10 AC = 800 Usando a estrutura detalhada do IAS para a operação parcial relativa ao TRECHO de programa que executa MUL M(500) e depois desvia para a instrução da esquerda da posição de memória 700, caso o resto da multiplicação seja um número positivo ou nulo com até 40 bits significativos. Suponha que os pre-requisitos anteriores à instrução MUL foram executadas com sucesso (não precisa fazer o fluxo dessas instruções anteriores). Atribua a PC um valor coerente. Resto da multiplicação?? Erro 2 soluções! • Resto da divisão usar instrução DIV • Resultado da multiplicação manter instrução MUL Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Resolução (Resto da Divisão) Ciclo de Busca 10E: PASSO OBSERVAÇÃO A próxima instrução está no IBR? NÃO PC MAR 10 MAR M(MAR) MBR | M(10) MBR DIV M(500) e JUMP +M(700,0:19) MBR A instrução da esquerda é requerida? SIM MBR(20:39) IBR | JUMP +M(700,20:39) IBR Guarda instrução da direita MBR(0:7) IR | DIV M(500) IR Guarda a instrução DIV em IR MBR(8:19) MAR | 500 MAR Guarda o endereço 500 em MAR Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Resolução (Resto da Divisão) Ciclo de Execução 10E: • Supondo: Conteúdo de AC = 8 M(500) = 5 PASSO OBSERVAÇÃO M(MAR) MBR | M(500) MBR Joga o conteúdo de 500 em MBR MBR AC / M(500) | 3 AC, 1 MQ AC armazena o resto da divisão (3) e MQ armazena o quociente (1) Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Resolução (Resto da Divisão) Ciclo de Busca 10D: PASSO OBSERVAÇÃO A próxima .instrução está no IBR ? SIM IBR(20:27) IR JUMP +M(700,0:19) IR 700 MAR IBR(28:39) MAR PC+1 PC PC agora aponta para o próximo par de instruções Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Resolução (Resto da Divisão) Ciclo de Execução 10E: PASSO Caso AC >= 0 Caso AC < 0 | MAR PC OBSERVAÇÃO 700 no PC Vai para a próxima instrução Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo UPE – Universidade de Pernambuco POLI – Escola Politécnica de Pernambuco Bibliografia William Stallings, Arquitetura e Organização de Computadores, Editora: Prentice Hall, 5º Edição Organização de Computadores Resolução de um Exemplo de Funcionamento de uma Estrutura IAS Marcus Vinicius A. F. de Figueirêdo