• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia de Computação ·

Arquitetura de Computadores

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Avaliação sobre Caminho de Dados, Pipeline, Cache e Listas Ligadas

2

Avaliação sobre Caminho de Dados, Pipeline, Cache e Listas Ligadas

Arquitetura de Computadores

UFAL

Implementação de subrotinas para codificação e análise de cartas

4

Implementação de subrotinas para codificação e análise de cartas

Arquitetura de Computadores

UFAL

Implementação de subrotinas para codificação e análise de cartas

4

Implementação de subrotinas para codificação e análise de cartas

Arquitetura de Computadores

UFAL

Implementacao Digital Works Jogo da Memoria com Descodificacao de Cartas e Selecao Matricial

5

Implementacao Digital Works Jogo da Memoria com Descodificacao de Cartas e Selecao Matricial

Arquitetura de Computadores

UFAL

Microprocessador Superescalar MIPS em VerilogHDL - Trabalho Pratico

9

Microprocessador Superescalar MIPS em VerilogHDL - Trabalho Pratico

Arquitetura de Computadores

PUC

Atividade Arquitetura de Computadores

3

Atividade Arquitetura de Computadores

Arquitetura de Computadores

MULTIVIX

Exercícios de MIPS - Arquitetura e Instruções

2

Exercícios de MIPS - Arquitetura e Instruções

Arquitetura de Computadores

INATEL

P2 - Dissertação Arquitetura de Computadores 2022 2

3

P2 - Dissertação Arquitetura de Computadores 2022 2

Arquitetura de Computadores

UERJ

Alteracao Datapath Unidade de Controle HW e Microprogramada - Anotacoes

1

Alteracao Datapath Unidade de Controle HW e Microprogramada - Anotacoes

Arquitetura de Computadores

PUC

Introdução à Arquitetura MIPS e Componentes de Hardware

36

Introdução à Arquitetura MIPS e Componentes de Hardware

Arquitetura de Computadores

INATEL

Texto de pré-visualização

Universidade Federal de Alagoas UFAL Instituto de Computação IC Arquitetura e Organização de computadores Especificações de Projeto Maceió 20 2 4 Organização e Arquitetura de computadores Especificações de Projeto Documento desenvolvido pela monitoria da disciplina InfraEstrutura de Hardware do CinUFPE sob orientação da professora Drª Edna Barros Modificado pelo professor Erick Barboza e Bruno Nogueira Índice Capítulo 1 Especificação Inicial 3 11 Primeira Etapa Projetando o Processador caminho de dados 3 111 Descrição dos módulos 3 112 Ligações dos Módulos 3 113 Sentido do Circuito 3 12 Segunda Etapa Desenvolvendo a Máquina de Estados da Unidade de Controle 4 Capítulo 2 Especificação da CPU 5 21 Descrição Preliminar 5 22 A Pilha 7 23 Divisão 8 24 Multiplicação 8 25 Desvios 8 26 Stores 9 27 Push e Pop 9 28 Componentes Extras a serem considerados 9 281 Registrador de Deslocamento 9 282 Unidade Lógica e Aritimética ALU 10 Capítulo 3 Especificação do Relatório 11 31 Formato do Relatório 11 32 Descrição das Partes do Relatório 11 321 Capa 11 322 Índice 11 323 Introdução 11 324 Unidade de Processamento 11 325 Descrição das Entidades 11 326 Descrição dos Estados do Controle 12 328 Conclusão 12 Capítulo 1 Especificação Inicial Neste capítulo são apresentados os procedimentos que devem ser seguidos para a construção das duas primeiras etapas do projeto do processador descrito no segundo capítulo desta especificação Para essas duas etapas os grupos devem usar cartolinas que preferencialmente terão a cor branca ou gerar arquivos de imagem vetorial svg eps pdf que serão projetados no quadro Caso exista alguma dúvida as equipes deverão consultar o monitor Projetando o Processador caminho de dados Nesta etapa os grupos deverão projetar na cartolinaarquivo o datapath de seu processador O desenho apresentado deverá conter todos os circuitos que comporão o projeto e suas ligações Além disso o grupo deverá saber o sentido de se usar cada um dos componentes 111 Descrição dos módulos Os circuitos que irão compor o projeto devem ser desenhados na cartolinaarquivo tomando como base a figura 1 do Capítulo 2 desta especificação A quantidade e quais elementos serão desenhados irá depender da forma como cada grupo decidir implementar o conjunto de instruções que é pedido neste trabalho Apesar dos grupos terem a liberdade de escolher quantas unidades irão compor o circuito do processador a arquitetura desenvolvida deve dar sentido a cada um dos componentes que a forma Além disso é recomendável que o projeto dê ênfase ao melhor aproveitamento de todos os seus componentes ou seja não adianta fazer um circuito com várias unidades que façam pouca ou nenhuma atividade Devese sempre pensar em economia de hardware e rapidez de execução das instruções 112 Ligações dos Módulos Todas as ligações que forem relevantes ao entendimento de como cada instrução é executada deverão estar presentes no desenho da cartolinaarquivo sendo que todos os sinais que partem ou chegam à unidade de controle deverão obrigatoriamente ser apresentados Devem estar presentes também os sinais que interligam as demais unidades Observação Os sinais que saem da unidade de controle deverão estar nomeados pois isso facilita no entendimento geral do circuito 113 Sentido do Circuito A equipe deverá estar consciente de como cada uma das instruções pedidas na especificação é executada no processador ou seja cada integrante deverá saber quais as unidades estão envolvidas nos diferentes estágios da instrução e como cada uma delas se comporta Esta etapa do projeto deverá ser apresentada ao professor durante uma aula com data definida no cronograma da disciplina Todos os integrantes deverão estar presentes e serão questionados quanto à forma como o processador opera suas instruções Capítulo 2 Especificação da CPU 21 Descrição Preliminar O projeto a ser entregue consiste na implementação de um processador a qual poderá ser feita com base na implementação descrita no livro texto e na figura abaixo apresentada O processador deverá incluir três blocos básicos unidade de processamento unidade de controle e memória A seguir é dada uma descrição sucinta do processador a ser projetado Figura 1 Circuito base para construção do projeto Inicialmente será projetada a unidade de processamento e a seguir a unidade de controle A unidade de processamento será desenvolvida a partir da utilização dos seguintes componentes ALU Registrador de Deslocamento Registrador de Instruções Banco de Registradores Memória Após o projeto da unidade de processamento com a definição de todos os seus componentes e suas respectivas portas de entrada e saída deverá ser projetada a unidade de controle que será implementada como uma máquina de estados finita FSM O processador possui 32 registradores de propósito geral sendo cada um de 32 bits Um subconjunto das instruções do MIPS deverá ser implementado de acordo com esta especificação As instruções estão descritas neste capítulo e agrupadas por formato Um resumo dos formatos existentes pode ser visto na Figura 2 Figura 2 Formatos de Instruções Tabela 1 Instruções Formato R Assembly Opcode rs rt rd shamt funct Comportamento add rd rs rt 0x0 rs rt rd 0x0 0x20 Rd rs rt and rd rs rt 0x0 rs rt rd 0x0 0x24 Rd rs rt div rs rt 0x0 rs rt 0x0 0x1a Ver divisão mult rsrt 0x0 rs rt 0x0 0x18 Ver multiplicação jr rs 0x0 rs 0x0 0x8 PC rs mfhi rd 0x0 rd 0x0 0x10 rd hi mflo rd 0x0 rd 0x0 0x12 rd lo sll rd rt shamt 0x0 rt rd shamt 0x0 rd rt shamt sllv rd rs rt 0x0 rs rt rd 0x0 0x4 rd rs rt slt rd rs rt 0x0 rs rt rd 0x0 0x2a rd rs rt 1 0 srl rd rt shamt 0x0 rt rd shamt 0x2 rd rt shamt sub rd rs rt 0x0 rs rt rd 0x0 0x22 rd rs rt Rte 0x0 0x0 0x13 PC EPC Push 0x0 rt 0x0 0x5 Ver push e pop Pop 0x0 rt 0x0 0x6 Ver push e pop Tabela 2 Instruções Formato I Assembly Opcode rs rt EndImediato Comportamento addi rt rs imediato 0x8 rs rt imediato Rt rs imediato beq rsrt offset 0x4 rs rt offset Desvia se rs rt ver desvios bne rsrt offset 0x5 rs rt offset Desvia se rs rt ver desvios ble rsrtoffset 0x6 rs rt offset Desvia se rs rt ver desvios bgt rsrtoffset 0x7 rs rt offset Desvia se rs rt ver desvios lb rt offsetrs 0x20 rs rt offset Rt byte Memoffset rs lh rt offsetrs 0x21 rs rt offset Rt halfword Memoffset rs lui rt imediato 0xf rt imediato Rt imediato 16 lw rt offsetrs 0x23 rs rt end Rt Memoffset rs sb rt offsetrs 0x28 rs rt offset Memoffset rs bytert ver stores slti rt rs imediato 0xa rs rt imediato Rt rs imediato 1 0 sw rt offsetrs 0x2b rs rt offset Memoffset rs rt o valor de imediato deve ser estendido para 32 bits estendendo seu sinal bit mais significativo da constante Tabela 3 Instruções Formato J Assembly Opcode Offset Comportamento j offset 0x2 offset ver desvios jal offset 0x3 offset ver desvios 22 A Pilha Para permitir a chamada de rotinas reentrantes e recursivas será possível o armazenamento do registrador 31 numa estrutura do tipo pilha a qual será implementada numa parte da memória como mostrado na figura abaixo Figura 3 Pilha O endereço do topo da pilha será guardado no registrador 29 vinte e nove do banco de registradores que funciona como o SP Stack Pointer Quando o reset é ativado este registrador deverá apontar para o endereço onde começa a pilha nesta versão 227 O salvamento e recuperação do registrador 31 na pilha é sempre feito por software código assembly 23 Divisão A divisão deve ser implementada como um componente à parte o Divisor não sendo recomendada a reutilização da ALU principal do processador para efetuar qualquer operação referente a esta função Este componente deve realizar corretamente a divisão de dois números de 32 bits com sinal resultando em um número de 32 bits também com sinal Importante Note que o resultado da divisão inteira é armazenado em dois registradores O registrador Hi deve conter o resto e o registrador Lo o quociente 24 Multiplicação A multiplicação deve ser implementada como um componente à parte o Multiplicador não sendo recomendada a reutilização da ALU principal do processador para efetuar qualquer operação referente a esta função Este componente realizará corretamente a multiplicação de dois números de 32 bits com sinal resultando em um número de 64 bits também com sinal Importante Note que o resultado da multiplicação inteira é armazenado em dois registradores O registrador Hi deve conter os 32 bits mais significativos e o registrador Lo os bits menos significativos 25 Desvios Os desvios do MIPS podem ser classificados como desvios condicionais ou incondicionais Os desvios condicionais realizam algum teste ou verificação para somente então executar o desvio Os incondicionais sempre executam o desvio O cálculo do endereço de destino é realizado diferentemente nos dois tipos de desvio Desvios condicionais O valor de offset é multiplicado por 4 e somado ao PC 4 O resultado desta operação é o endereço de destino do salto desvio caso o resultado do teste condicional seja verdadeiro Exemplo beq r3 r4 0xf Supondo que r3 e r4 sejam ambos iguais a 0x3a e que o PC 4 seja 0x1c a próxima instrução a ser executada é a que ocupa a posição 0xf 4 0x1c que é a 0x58 Desvios incondicionais No caso de instruções que utilizem offset este valor deve ser multiplicado por 4 resultado em um endereço de 28 bits Como todo endereço deve possuir 32 bits os 4 bits restantes vêm do PC atual representando os 4 bits mais significativos do endereço de destino No caso de instruções que utilizam registrador o conteúdo do registrador já é o próprio endereço de destino Exemplos jal 0x1a2b Supondo que o PC atual seja igual a 0xba12fa00 o endereço de destino será igual a PC 0xf0000000 0x1a2b 0x4 que é igual a 0xb00068AC Note que os 4 bits mais significativos do PC 1011 foram conservados jr 6 Supondo que o r6 seja igual a 0x1a2b o endereço de destino será igual ao próprio valor de r6 neste caso 0x1a2b 26 Stores Nas instruções sb store byte e sh store halfword devese ter cuidado para não sobrescrever a palavra toda 4 bytes na memória A memória tem como entradas um endereço de 4 bytes e uma palavra para ser armazenada Devese apenas salvar um byte no caso de um sb no endereço especificado e não substituir a palavra toda que está armazenada na memória pelo byte seguido de zeros 27 Push e Pop As instruções push e pop servem respectivamente para armazenar registradores na pilha da memória e restaurar valores de registradores que estão na pilha A utilização destas instruções implica em atualizar também o valor do registrador SP registrador 29 A pilha cresce de endereços maiores para menores como explicado anteriormente Portanto além de armazenar ou ler um valor da memória o registrador SP deve ser atualizado Exemplo push rt Supondo que o registrador SP aponte para o endereço 227decimal ele deve ser decrementado em 4 223 e o conteúdo de rt deve ser armazenado nesta posição de memória223 Exemplo pop rt Supondo que o registrador SP aponte para o endereço 223decimalo conteúdo desta posição de memória deve ser armazenado no registrador rt e o registrador SP deve ser incrementado em 4 227 28 Componentes Extras a serem considerados Além dos componentes descritos em sala e apresentados na Figura 1 os grupos poderão considerar ainda um registrador de deslocamento 281 Registrador de Deslocamento O registrador de deslocamento deve ser capaz de deslocar um número inteiro de 32 bits para esquerda e para a direita No deslocamento a direita o sinal pode ser preservado ou não O número de deslocamentos pode variar entre 0 e 31 e é especificado na entrada n 5 bits do registrador de deslocamento A funcionalidade desejada do registrador de deslocamento é especificada na entrada shift 3 bits menos significativos conforme figura abaixo Figura 7 Registrador de Deslocamento 282 Unidade Lógica e Aritimética ALU A Unidade Lógica e Aritmética ALU é um circuito combinacional que permite a operação com números de 32 bits na notação complemento a dois A funcionalidade é especificada pela entrada F conforme descrito na tabela abaixo Figura 8 ALU 12

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Avaliação sobre Caminho de Dados, Pipeline, Cache e Listas Ligadas

2

Avaliação sobre Caminho de Dados, Pipeline, Cache e Listas Ligadas

Arquitetura de Computadores

UFAL

Implementação de subrotinas para codificação e análise de cartas

4

Implementação de subrotinas para codificação e análise de cartas

Arquitetura de Computadores

UFAL

Implementação de subrotinas para codificação e análise de cartas

4

Implementação de subrotinas para codificação e análise de cartas

Arquitetura de Computadores

UFAL

Implementacao Digital Works Jogo da Memoria com Descodificacao de Cartas e Selecao Matricial

5

Implementacao Digital Works Jogo da Memoria com Descodificacao de Cartas e Selecao Matricial

Arquitetura de Computadores

UFAL

Microprocessador Superescalar MIPS em VerilogHDL - Trabalho Pratico

9

Microprocessador Superescalar MIPS em VerilogHDL - Trabalho Pratico

Arquitetura de Computadores

PUC

Atividade Arquitetura de Computadores

3

Atividade Arquitetura de Computadores

Arquitetura de Computadores

MULTIVIX

Exercícios de MIPS - Arquitetura e Instruções

2

Exercícios de MIPS - Arquitetura e Instruções

Arquitetura de Computadores

INATEL

P2 - Dissertação Arquitetura de Computadores 2022 2

3

P2 - Dissertação Arquitetura de Computadores 2022 2

Arquitetura de Computadores

UERJ

Alteracao Datapath Unidade de Controle HW e Microprogramada - Anotacoes

1

Alteracao Datapath Unidade de Controle HW e Microprogramada - Anotacoes

Arquitetura de Computadores

PUC

Introdução à Arquitetura MIPS e Componentes de Hardware

36

Introdução à Arquitetura MIPS e Componentes de Hardware

Arquitetura de Computadores

INATEL

Texto de pré-visualização

Universidade Federal de Alagoas UFAL Instituto de Computação IC Arquitetura e Organização de computadores Especificações de Projeto Maceió 20 2 4 Organização e Arquitetura de computadores Especificações de Projeto Documento desenvolvido pela monitoria da disciplina InfraEstrutura de Hardware do CinUFPE sob orientação da professora Drª Edna Barros Modificado pelo professor Erick Barboza e Bruno Nogueira Índice Capítulo 1 Especificação Inicial 3 11 Primeira Etapa Projetando o Processador caminho de dados 3 111 Descrição dos módulos 3 112 Ligações dos Módulos 3 113 Sentido do Circuito 3 12 Segunda Etapa Desenvolvendo a Máquina de Estados da Unidade de Controle 4 Capítulo 2 Especificação da CPU 5 21 Descrição Preliminar 5 22 A Pilha 7 23 Divisão 8 24 Multiplicação 8 25 Desvios 8 26 Stores 9 27 Push e Pop 9 28 Componentes Extras a serem considerados 9 281 Registrador de Deslocamento 9 282 Unidade Lógica e Aritimética ALU 10 Capítulo 3 Especificação do Relatório 11 31 Formato do Relatório 11 32 Descrição das Partes do Relatório 11 321 Capa 11 322 Índice 11 323 Introdução 11 324 Unidade de Processamento 11 325 Descrição das Entidades 11 326 Descrição dos Estados do Controle 12 328 Conclusão 12 Capítulo 1 Especificação Inicial Neste capítulo são apresentados os procedimentos que devem ser seguidos para a construção das duas primeiras etapas do projeto do processador descrito no segundo capítulo desta especificação Para essas duas etapas os grupos devem usar cartolinas que preferencialmente terão a cor branca ou gerar arquivos de imagem vetorial svg eps pdf que serão projetados no quadro Caso exista alguma dúvida as equipes deverão consultar o monitor Projetando o Processador caminho de dados Nesta etapa os grupos deverão projetar na cartolinaarquivo o datapath de seu processador O desenho apresentado deverá conter todos os circuitos que comporão o projeto e suas ligações Além disso o grupo deverá saber o sentido de se usar cada um dos componentes 111 Descrição dos módulos Os circuitos que irão compor o projeto devem ser desenhados na cartolinaarquivo tomando como base a figura 1 do Capítulo 2 desta especificação A quantidade e quais elementos serão desenhados irá depender da forma como cada grupo decidir implementar o conjunto de instruções que é pedido neste trabalho Apesar dos grupos terem a liberdade de escolher quantas unidades irão compor o circuito do processador a arquitetura desenvolvida deve dar sentido a cada um dos componentes que a forma Além disso é recomendável que o projeto dê ênfase ao melhor aproveitamento de todos os seus componentes ou seja não adianta fazer um circuito com várias unidades que façam pouca ou nenhuma atividade Devese sempre pensar em economia de hardware e rapidez de execução das instruções 112 Ligações dos Módulos Todas as ligações que forem relevantes ao entendimento de como cada instrução é executada deverão estar presentes no desenho da cartolinaarquivo sendo que todos os sinais que partem ou chegam à unidade de controle deverão obrigatoriamente ser apresentados Devem estar presentes também os sinais que interligam as demais unidades Observação Os sinais que saem da unidade de controle deverão estar nomeados pois isso facilita no entendimento geral do circuito 113 Sentido do Circuito A equipe deverá estar consciente de como cada uma das instruções pedidas na especificação é executada no processador ou seja cada integrante deverá saber quais as unidades estão envolvidas nos diferentes estágios da instrução e como cada uma delas se comporta Esta etapa do projeto deverá ser apresentada ao professor durante uma aula com data definida no cronograma da disciplina Todos os integrantes deverão estar presentes e serão questionados quanto à forma como o processador opera suas instruções Capítulo 2 Especificação da CPU 21 Descrição Preliminar O projeto a ser entregue consiste na implementação de um processador a qual poderá ser feita com base na implementação descrita no livro texto e na figura abaixo apresentada O processador deverá incluir três blocos básicos unidade de processamento unidade de controle e memória A seguir é dada uma descrição sucinta do processador a ser projetado Figura 1 Circuito base para construção do projeto Inicialmente será projetada a unidade de processamento e a seguir a unidade de controle A unidade de processamento será desenvolvida a partir da utilização dos seguintes componentes ALU Registrador de Deslocamento Registrador de Instruções Banco de Registradores Memória Após o projeto da unidade de processamento com a definição de todos os seus componentes e suas respectivas portas de entrada e saída deverá ser projetada a unidade de controle que será implementada como uma máquina de estados finita FSM O processador possui 32 registradores de propósito geral sendo cada um de 32 bits Um subconjunto das instruções do MIPS deverá ser implementado de acordo com esta especificação As instruções estão descritas neste capítulo e agrupadas por formato Um resumo dos formatos existentes pode ser visto na Figura 2 Figura 2 Formatos de Instruções Tabela 1 Instruções Formato R Assembly Opcode rs rt rd shamt funct Comportamento add rd rs rt 0x0 rs rt rd 0x0 0x20 Rd rs rt and rd rs rt 0x0 rs rt rd 0x0 0x24 Rd rs rt div rs rt 0x0 rs rt 0x0 0x1a Ver divisão mult rsrt 0x0 rs rt 0x0 0x18 Ver multiplicação jr rs 0x0 rs 0x0 0x8 PC rs mfhi rd 0x0 rd 0x0 0x10 rd hi mflo rd 0x0 rd 0x0 0x12 rd lo sll rd rt shamt 0x0 rt rd shamt 0x0 rd rt shamt sllv rd rs rt 0x0 rs rt rd 0x0 0x4 rd rs rt slt rd rs rt 0x0 rs rt rd 0x0 0x2a rd rs rt 1 0 srl rd rt shamt 0x0 rt rd shamt 0x2 rd rt shamt sub rd rs rt 0x0 rs rt rd 0x0 0x22 rd rs rt Rte 0x0 0x0 0x13 PC EPC Push 0x0 rt 0x0 0x5 Ver push e pop Pop 0x0 rt 0x0 0x6 Ver push e pop Tabela 2 Instruções Formato I Assembly Opcode rs rt EndImediato Comportamento addi rt rs imediato 0x8 rs rt imediato Rt rs imediato beq rsrt offset 0x4 rs rt offset Desvia se rs rt ver desvios bne rsrt offset 0x5 rs rt offset Desvia se rs rt ver desvios ble rsrtoffset 0x6 rs rt offset Desvia se rs rt ver desvios bgt rsrtoffset 0x7 rs rt offset Desvia se rs rt ver desvios lb rt offsetrs 0x20 rs rt offset Rt byte Memoffset rs lh rt offsetrs 0x21 rs rt offset Rt halfword Memoffset rs lui rt imediato 0xf rt imediato Rt imediato 16 lw rt offsetrs 0x23 rs rt end Rt Memoffset rs sb rt offsetrs 0x28 rs rt offset Memoffset rs bytert ver stores slti rt rs imediato 0xa rs rt imediato Rt rs imediato 1 0 sw rt offsetrs 0x2b rs rt offset Memoffset rs rt o valor de imediato deve ser estendido para 32 bits estendendo seu sinal bit mais significativo da constante Tabela 3 Instruções Formato J Assembly Opcode Offset Comportamento j offset 0x2 offset ver desvios jal offset 0x3 offset ver desvios 22 A Pilha Para permitir a chamada de rotinas reentrantes e recursivas será possível o armazenamento do registrador 31 numa estrutura do tipo pilha a qual será implementada numa parte da memória como mostrado na figura abaixo Figura 3 Pilha O endereço do topo da pilha será guardado no registrador 29 vinte e nove do banco de registradores que funciona como o SP Stack Pointer Quando o reset é ativado este registrador deverá apontar para o endereço onde começa a pilha nesta versão 227 O salvamento e recuperação do registrador 31 na pilha é sempre feito por software código assembly 23 Divisão A divisão deve ser implementada como um componente à parte o Divisor não sendo recomendada a reutilização da ALU principal do processador para efetuar qualquer operação referente a esta função Este componente deve realizar corretamente a divisão de dois números de 32 bits com sinal resultando em um número de 32 bits também com sinal Importante Note que o resultado da divisão inteira é armazenado em dois registradores O registrador Hi deve conter o resto e o registrador Lo o quociente 24 Multiplicação A multiplicação deve ser implementada como um componente à parte o Multiplicador não sendo recomendada a reutilização da ALU principal do processador para efetuar qualquer operação referente a esta função Este componente realizará corretamente a multiplicação de dois números de 32 bits com sinal resultando em um número de 64 bits também com sinal Importante Note que o resultado da multiplicação inteira é armazenado em dois registradores O registrador Hi deve conter os 32 bits mais significativos e o registrador Lo os bits menos significativos 25 Desvios Os desvios do MIPS podem ser classificados como desvios condicionais ou incondicionais Os desvios condicionais realizam algum teste ou verificação para somente então executar o desvio Os incondicionais sempre executam o desvio O cálculo do endereço de destino é realizado diferentemente nos dois tipos de desvio Desvios condicionais O valor de offset é multiplicado por 4 e somado ao PC 4 O resultado desta operação é o endereço de destino do salto desvio caso o resultado do teste condicional seja verdadeiro Exemplo beq r3 r4 0xf Supondo que r3 e r4 sejam ambos iguais a 0x3a e que o PC 4 seja 0x1c a próxima instrução a ser executada é a que ocupa a posição 0xf 4 0x1c que é a 0x58 Desvios incondicionais No caso de instruções que utilizem offset este valor deve ser multiplicado por 4 resultado em um endereço de 28 bits Como todo endereço deve possuir 32 bits os 4 bits restantes vêm do PC atual representando os 4 bits mais significativos do endereço de destino No caso de instruções que utilizam registrador o conteúdo do registrador já é o próprio endereço de destino Exemplos jal 0x1a2b Supondo que o PC atual seja igual a 0xba12fa00 o endereço de destino será igual a PC 0xf0000000 0x1a2b 0x4 que é igual a 0xb00068AC Note que os 4 bits mais significativos do PC 1011 foram conservados jr 6 Supondo que o r6 seja igual a 0x1a2b o endereço de destino será igual ao próprio valor de r6 neste caso 0x1a2b 26 Stores Nas instruções sb store byte e sh store halfword devese ter cuidado para não sobrescrever a palavra toda 4 bytes na memória A memória tem como entradas um endereço de 4 bytes e uma palavra para ser armazenada Devese apenas salvar um byte no caso de um sb no endereço especificado e não substituir a palavra toda que está armazenada na memória pelo byte seguido de zeros 27 Push e Pop As instruções push e pop servem respectivamente para armazenar registradores na pilha da memória e restaurar valores de registradores que estão na pilha A utilização destas instruções implica em atualizar também o valor do registrador SP registrador 29 A pilha cresce de endereços maiores para menores como explicado anteriormente Portanto além de armazenar ou ler um valor da memória o registrador SP deve ser atualizado Exemplo push rt Supondo que o registrador SP aponte para o endereço 227decimal ele deve ser decrementado em 4 223 e o conteúdo de rt deve ser armazenado nesta posição de memória223 Exemplo pop rt Supondo que o registrador SP aponte para o endereço 223decimalo conteúdo desta posição de memória deve ser armazenado no registrador rt e o registrador SP deve ser incrementado em 4 227 28 Componentes Extras a serem considerados Além dos componentes descritos em sala e apresentados na Figura 1 os grupos poderão considerar ainda um registrador de deslocamento 281 Registrador de Deslocamento O registrador de deslocamento deve ser capaz de deslocar um número inteiro de 32 bits para esquerda e para a direita No deslocamento a direita o sinal pode ser preservado ou não O número de deslocamentos pode variar entre 0 e 31 e é especificado na entrada n 5 bits do registrador de deslocamento A funcionalidade desejada do registrador de deslocamento é especificada na entrada shift 3 bits menos significativos conforme figura abaixo Figura 7 Registrador de Deslocamento 282 Unidade Lógica e Aritimética ALU A Unidade Lógica e Aritmética ALU é um circuito combinacional que permite a operação com números de 32 bits na notação complemento a dois A funcionalidade é especificada pela entrada F conforme descrito na tabela abaixo Figura 8 ALU 12

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®