60
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
49
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
43
Arquitetura de Computadores
PUC
54
Arquitetura de Computadores
PUC
4
Arquitetura de Computadores
MULTIVIX
1
Arquitetura de Computadores
CEUN-IMT
1
Arquitetura de Computadores
CEUN-IMT
Texto de pré-visualização
55 15 53 Precisamos adicionar a instrução addi soma imediata ao caminho de dados monociclo descrito neste capítulo Acrescente o que for necessário em termos de elementos e de sinais de controle ao caminho de dados da Figura 519 Mostre as modificações na Figura 520 em função desta nova instrução Você pode tirar uma fotocópia dessas figuras ou baixálas do endereço wwwmkpcomcod2ehtm para ter mais facilidade na apresentação das modificações 56 15 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser a jal jump and link descrita no Capítulo 3 Você vai achar mais fácil modificar o caminho de dados da Figura 529 57 8 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser a bne branch if not equal descrita no Capítulo 3 58 15 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser uma variante da instrução lw load word que soma dois registradores para obter o endereço do dado a ser carregado veja Exercício 416 Esta nova instrução deve ter o formato da instrução tipo R 59 15 53 Explique por que não é possível modificar a implementação monociclo para implementar a instrução swap descrita no Exercício 440 sem modificar o banco de registradores 510 5 53 54 Um amigo está propondo a eliminação do sinal de controle MemParaReg O multiplexador que tem este sinal como entrada usaria em seu lugar o sinal LerMem Você acha que esta modificação vai funcionar Considere ambos os caminhos de dados 511 10 53 Este exercício é parecido com o Exercício 510 porém um pouco mais geral Determine se algum dos sinais de controle diferente de MemParaReg da implementação monociclo pode ser eliminado e substituído por qualquer outro sinal já existente Por que sim ou por que não 512 15 53 Considere a seguinte idéia vamos modificar a arquitetura do conjunto de instruções e retirar a capacidade de especificar um deslocamento para instruções com acesso à memória Especificamente todas as instruções loadstore com deslocamento diferente de zero devem tornarse pseudoinstruções e devem ser implementadas por meio de duas instruções Por exemplo addi at t1 104 some deslocamento ao conteúdo de um registrador temporário lw t0 at nova forma de fazer lw t0 104t1 Que mudanças devem ser feitas no caminho de dados monociclo e no controle para que essa arquitetura simplificada possa funcionar 513 10 53 Exercício 512 Se as modificações descritas no Exercício 512 forem implementadas haverá algumas vantagens e algumas desvantagens com respeito à performance Especificamente o período do clock pode vir a ser afetado e todas as instruções loadstore com deslocamento diferente de zero irão exigir a execução de uma instrução extra addi um bom compilador acharia um meio de reduzir a necessidade por essas instruções extras mas você pode ignorar este fato Se existirem muitas instruções de loadstore com deslocamento diferente de zero fica claro que esta mudança não vai melhorar a performance Admitindo os retardos especificados no item Performance de um Processador Monociclo com Instruções de Ponto Flutuante na Seção 53 qual a percentagem mais alta de instruções loadstore com deslocamentos nãozero que poderia ser tolerada Ou seja o que seria necessário para que a modificação viesse a ter um impacto positivo sobre a performance 514 10 53 Ao estimar a performance de uma implementação monociclo partimos do pressuposto de que somente as principais unidades funcionais têm um retardo que mereça ser considerado ou seja os retardos introduzidos no sinal por multiplexadores pela unidade de controle pelo acesso ao PC pela unidade de extensão de sinal e pela fiação foram considerados desprezíveis Suponha que os retardos listados no item Performance de um Processador Monociclo com Instruções de Ponto Flutuante na Seção 53 tenham sido mudados em função do uso de novos somadores para adições simples UAL 2ns Somador para PC 4 X ns Somador para cálculo endereço de desvio condicional Y ns Com base nisto perguntase a Qual seria o período do clock caso X 3 e Y 3 b Qual seria o período do clock caso X 5 e Y 5 c Qual seria o período do clock caso X 1 e Y 8 515 15 54 Precisamos acrescentar ao caminho de dados multiciclo descrito neste capítulo a instrução addi soma imediata Esta instrução foi descrita no Capítulo 4 Adicione tudo o que for preciso em termos de elementos de hardware e de sinais de controle ao caminho de dados da Figura 533 e mostre as modificações necessárias na máquina de estados finitos da Figura 542 você vai precisar realizar para garantir a execução mostrados na Seção 54 itens 1 a 5 e considerar os passos que você poderá achar útil consultar os passos de execução para tornar mais fácil a solução do exercício Tente encontrar uma solução que minimize o número de ciclos de clock necessários à execução da nova instrução Você pode fotografiar as figuras ou baixálas do endereço wwwmkpcomcod2ehtm para tornar mais fácil a solução do exercício Por favor explique quantos ciclos são gastos para executar a nova instrução no nosso caminho de dados modificado Além disso mostre a nova máquina de estados finitos decorrente da inclusão desta nova instrução 516 5 55 58 Exercício 515 Escreva a seqüência de microcódigo para a instrução addi Se você precisar fazer alguma mudança no formato da microinstrução ou no conteúdo de algum campo indique claramente o novo formato e os campos que vão colocar valores na saída de controle
60
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
49
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
1
Arquitetura de Computadores
PUC
43
Arquitetura de Computadores
PUC
54
Arquitetura de Computadores
PUC
4
Arquitetura de Computadores
MULTIVIX
1
Arquitetura de Computadores
CEUN-IMT
1
Arquitetura de Computadores
CEUN-IMT
Texto de pré-visualização
55 15 53 Precisamos adicionar a instrução addi soma imediata ao caminho de dados monociclo descrito neste capítulo Acrescente o que for necessário em termos de elementos e de sinais de controle ao caminho de dados da Figura 519 Mostre as modificações na Figura 520 em função desta nova instrução Você pode tirar uma fotocópia dessas figuras ou baixálas do endereço wwwmkpcomcod2ehtm para ter mais facilidade na apresentação das modificações 56 15 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser a jal jump and link descrita no Capítulo 3 Você vai achar mais fácil modificar o caminho de dados da Figura 529 57 8 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser a bne branch if not equal descrita no Capítulo 3 58 15 53 Esta questão é similar ao Exercício 55 exceto pelo fato de a instrução a ser acrescentada ser uma variante da instrução lw load word que soma dois registradores para obter o endereço do dado a ser carregado veja Exercício 416 Esta nova instrução deve ter o formato da instrução tipo R 59 15 53 Explique por que não é possível modificar a implementação monociclo para implementar a instrução swap descrita no Exercício 440 sem modificar o banco de registradores 510 5 53 54 Um amigo está propondo a eliminação do sinal de controle MemParaReg O multiplexador que tem este sinal como entrada usaria em seu lugar o sinal LerMem Você acha que esta modificação vai funcionar Considere ambos os caminhos de dados 511 10 53 Este exercício é parecido com o Exercício 510 porém um pouco mais geral Determine se algum dos sinais de controle diferente de MemParaReg da implementação monociclo pode ser eliminado e substituído por qualquer outro sinal já existente Por que sim ou por que não 512 15 53 Considere a seguinte idéia vamos modificar a arquitetura do conjunto de instruções e retirar a capacidade de especificar um deslocamento para instruções com acesso à memória Especificamente todas as instruções loadstore com deslocamento diferente de zero devem tornarse pseudoinstruções e devem ser implementadas por meio de duas instruções Por exemplo addi at t1 104 some deslocamento ao conteúdo de um registrador temporário lw t0 at nova forma de fazer lw t0 104t1 Que mudanças devem ser feitas no caminho de dados monociclo e no controle para que essa arquitetura simplificada possa funcionar 513 10 53 Exercício 512 Se as modificações descritas no Exercício 512 forem implementadas haverá algumas vantagens e algumas desvantagens com respeito à performance Especificamente o período do clock pode vir a ser afetado e todas as instruções loadstore com deslocamento diferente de zero irão exigir a execução de uma instrução extra addi um bom compilador acharia um meio de reduzir a necessidade por essas instruções extras mas você pode ignorar este fato Se existirem muitas instruções de loadstore com deslocamento diferente de zero fica claro que esta mudança não vai melhorar a performance Admitindo os retardos especificados no item Performance de um Processador Monociclo com Instruções de Ponto Flutuante na Seção 53 qual a percentagem mais alta de instruções loadstore com deslocamentos nãozero que poderia ser tolerada Ou seja o que seria necessário para que a modificação viesse a ter um impacto positivo sobre a performance 514 10 53 Ao estimar a performance de uma implementação monociclo partimos do pressuposto de que somente as principais unidades funcionais têm um retardo que mereça ser considerado ou seja os retardos introduzidos no sinal por multiplexadores pela unidade de controle pelo acesso ao PC pela unidade de extensão de sinal e pela fiação foram considerados desprezíveis Suponha que os retardos listados no item Performance de um Processador Monociclo com Instruções de Ponto Flutuante na Seção 53 tenham sido mudados em função do uso de novos somadores para adições simples UAL 2ns Somador para PC 4 X ns Somador para cálculo endereço de desvio condicional Y ns Com base nisto perguntase a Qual seria o período do clock caso X 3 e Y 3 b Qual seria o período do clock caso X 5 e Y 5 c Qual seria o período do clock caso X 1 e Y 8 515 15 54 Precisamos acrescentar ao caminho de dados multiciclo descrito neste capítulo a instrução addi soma imediata Esta instrução foi descrita no Capítulo 4 Adicione tudo o que for preciso em termos de elementos de hardware e de sinais de controle ao caminho de dados da Figura 533 e mostre as modificações necessárias na máquina de estados finitos da Figura 542 você vai precisar realizar para garantir a execução mostrados na Seção 54 itens 1 a 5 e considerar os passos que você poderá achar útil consultar os passos de execução para tornar mais fácil a solução do exercício Tente encontrar uma solução que minimize o número de ciclos de clock necessários à execução da nova instrução Você pode fotografiar as figuras ou baixálas do endereço wwwmkpcomcod2ehtm para tornar mais fácil a solução do exercício Por favor explique quantos ciclos são gastos para executar a nova instrução no nosso caminho de dados modificado Além disso mostre a nova máquina de estados finitos decorrente da inclusão desta nova instrução 516 5 55 58 Exercício 515 Escreva a seqüência de microcódigo para a instrução addi Se você precisar fazer alguma mudança no formato da microinstrução ou no conteúdo de algum campo indique claramente o novo formato e os campos que vão colocar valores na saída de controle