·

Ciência da Computação ·

Outros

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Universidade Federal da Paraíba Arquitetura de Computadores Centro de Informática UFPB Prof Ewerton Salvador Microarquitetura e Microprogramação Parte 34 2 Centro de Informática UFPB Tipos de instruções Referência à memória Tipo I leem e escrevem dados na memória Possuem o formato lw t1 offsetvaluet2 ou sw t1 offsetvaluet2 Calculam endereço de memória somando o registrador base que é t2 com o campo offset de 16bits com sinal contido na instrução Tipo R Em geral consistem de instruções lógicas e aritméticas como add sub and or etc Ex add t1 t2 t3 3 registradores como parâmetros Sobre as instruções do MIPS 3 Centro de Informática UFPB Tipos de instruções Desvio condicional Tipo I possui três operandos dois registradores comparados e um offset de 16 bits para calcular o endereço de destino do desvio Ex beq t1 t2 offset Base do offset é PC Campo offset é deslocado 2 bits para a esquerda desvios de words de 4 bytes Desvio incondicional Tipo J possui um operando que é um imediato de 26 bits O imediato será deslocado 2 bits para a esquerda para formar os 28 bits menos significativos do endereço que serão concatenados com os 4 bits mais significativos do valor atual de PC Ex j 200 Sobre as instruções do MIPS 4 Centro de Informática UFPB Sobre as instruções do MIPS Campos de uma instrução MIPS de referência à memória tipo I op opcode rs registrador do primeiro operando rt registrador do segundo operando address immediate offset para um registrador base da memória 5 Centro de Informática UFPB Sobre as instruções do MIPS Exemplo de instrução 10001101000010010000000001100100 Campos de uma instrução MIPS de referência à memória tipo I op opcode rs registrador do primeiro operando rt registrador do segundo operando address immediate offset para um registrador base da memória 6 Centro de Informática UFPB Sobre as instruções do MIPS Exemplo de instrução 10001101000010010000000001100100 35 LW Campos de uma instrução MIPS de referência à memória tipo I op opcode rs registrador do primeiro operando rt registrador do segundo operando address immediate offset para um registrador base da memória op 7 Centro de Informática UFPB Sobre as instruções do MIPS Exemplo de instrução 10001101000010010000000001100100 35 LW 8 t0 9 t1 100 Campos de uma instrução MIPS de referência à memória tipo I op opcode rs registrador do primeiro operando rt registrador do segundo operando address immediate offset para um registrador base da memória op rs rt addressimmediate 8 Centro de Informática UFPB Sobre as instruções do MIPS Exemplo de instrução 10001101000010010000000001100100 35 LW 8 t0 9 t1 100 Campos de uma instrução MIPS de referência à memória tipo I op opcode rs registrador do primeiro operando rt registrador do segundo operando address immediate offset para um registrador base da memória op rs rt addressimmediate lw t1 100t0 9 Centro de Informática UFPB Sobre as instruções do MIPS Campos de uma instrução MIPS tipo R op opcode rs registrador do primeiro operando rt registrador do segundo operando rd registrador de destino shamt Shift amount quantidade de deslocamento funct seleciona a variante específica no campo op 10 Centro de Informática UFPB Sobre as instruções do MIPS Campos de uma instrução MIPS de desvios tipo J op opcode target address endereço de memória que contém instrução para onde irá o desvio 11 Centro de Informática UFPB O controle multiciclo pode ser representado como uma máquina de estados finitos Cada estado contém os sinais do controle de multiplexadores as saídas ativadas etc Sinais de um estado são mostrados nos círculos condições para transição são mostradas nos arcos de ligação Definindo o controle 12 Centro de Informática UFPB Definindo o controle 13 Centro de Informática UFPB Definindo o controle Exemplo de execução da instrução SW Store Word 14 Centro de Informática UFPB Definindo o controle Exemplo de execução da instrução SW Store Word 15 Centro de Informática UFPB Definindo o controle Exemplo de execução da instrução SW Store Word 16 Centro de Informática UFPB Definindo o controle Exemplo de execução da instrução SW Store Word 17 Centro de Informática UFPB Na implementação de qualquer instrução as duas primeiras etapas são idênticas Enviar o endereço contido no contador de programa PC à memória de instruções e buscar a próxima instrução Decodificar a instrução além de ler um ou mais registradores usando campos da instrução para selecionar os registradores a serem lidos Após essas duas etapas as ações seguintes dependem de cada instrução Para cada uma das três classes de instruções referência à memória lógica e aritmética e desvios as ações são quase as mesmas Definindo o controle 18 Centro de Informática UFPB Definindo o controle 19 Centro de Informática UFPB Definindo o controle 20 Centro de Informática UFPB Definindo o controle 21 Centro de Informática UFPB Definindo o controle 22 Centro de Informática UFPB Definindo o controle 23 Centro de Informática UFPB Microprograma é uma representação simbólica do controle que será traduzida por um programa para lógica de controle Necessário escolher quantos campos uma microinstrução deve ter e que sinais de controle são afetados em cada campo Escolha é feita de modo a simplificar a representação Formato de microinstrução 24 Centro de Informática UFPB Para evitar inconsistências cada campo da microinstrução é responsável por especificar um conjunto de sinal de controle não sobrepostos Formato de microinstrução 25 Centro de Informática UFPB Seis primeiros campos controlam o caminho de dados Sétimo campo seleciona a próxima microinstrução Sinais que nunca são ativados simultaneamente podem compartilhar o mesmo campo Microinstruções normalmente são colocadas em uma ROM ou PLA Microinstruções possuem endereços Formato de microinstrução 26 Centro de Informática UFPB 3 métodos disponíveis para escolha da próxima microinstrução a ser executada Incrementar endereço atual para obter o endereço da próxima Desviar para a microinstrução que inicia a execução da próxima instrução MIPS microinstrução inicial rotulada como Fetch Escolher a próxima microinstrução com base na entrada da unidade de controle Ato conhecido como despacho Implementada através de uma tabela que contém endereços das microinstruções de destino Nessa implementação serão utilizadas duas tabelas de despacho uma para despachar do estado 1 e outra do estado 2 Formato de microinstrução 27 Centro de Informática UFPB Definindo o controle 28 Centro de Informática UFPB Formato de microinstrução 29 Centro de Informática UFPB Duas situações em que um campo pode ser deixado em branco Quando nenhum sinal de controle deve ser enviado Quando não nos importamos com qual entrada um multiplexador seleciona Formato de microinstrução 30 Centro de Informática UFPB Formato da microinstrução do Mic1 Tanenbaum 2013 Formato de microinstruções 31 Centro de Informática UFPB Definindo o controle 32 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 33 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing 34 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch 35 Centro de Informática UFPB Formato de microinstrução 36 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch Read PC 37 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 38 Centro de Informática UFPB Formato de microinstrução 39 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch Add Read PC 40 Centro de Informática UFPB Formato de microinstrução 41 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch Add PC 4 Read PC 42 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 43 Centro de Informática UFPB Formato de microinstrução 44 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch Add PC 4 Read PC ALU 45 Centro de Informática UFPB Definindo o controle 46 Centro de Informática UFPB Formato de microinstrução 47 Centro de Informática UFPB Implementação do Fetch Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Fetch Add PC 4 Read PC ALU Seq 48 Centro de Informática UFPB Definindo o controle 49 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS Versão simplificada PC M u x 0 1 M u x M u x M u x M u x 0 0 0 00 01 10 11 1 1 1 Zero Write data Memória MemData Registradores ALU Address ALU result Memory Data Register Extensão de sinal Shift left 2 ALUOut A B Controle da ULA Instrução 2521 Registrador de Instrução Instrução 2016 Instrução 150 Read register 1 Read register 2 Write register Write data Read data 1 Read data 2 4 Instrução 1511 Instrução 150 Instrução 50 IorD 0 MemRead 1 IRWrite 1 RegDst X RegWrite 0 ALUSrcA 0 ALUSrcB 01 ALUOp 00 MemtoReg X 16 32 MemWrite 0 PCWrite 1 PCSource 00 50 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 51 Centro de Informática UFPB Definindo o controle 52 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 53 Centro de Informática UFPB Formato de microinstrução 54 Centro de Informática UFPB Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Dispatch 1 55 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 56 Centro de Informática UFPB Formato de microinstrução 57 Centro de Informática UFPB Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Read Dispatch 1 58 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 59 Centro de Informática UFPB Tipos de instruções Desvio condicional Tipo I possui três operandos dois registradores comparados e um offset de 16 bits para calcular o endereço de destino do desvio Ex beq t1 t2 offset Base do offset é PC Campo offset é deslocado 2 bits para a esquerda desvios de words de 4 bytes Sobre as instruções do MIPS 60 Centro de Informática UFPB Tipos de instruções Desvio condicional Tipo I possui três operandos dois registradores comparados e um offset de 16 bits para calcular o endereço de destino do desvio Ex beq t1 t2 offset Base do offset é PC Campo offset é deslocado 2 bits para a esquerda desvios de words de 4 bytes Sobre as instruções do MIPS beq t1 t2 100 Saltar para a instrução de endereço PC 400 100 x 4 se o conteúdo de t1 for igual ao conteúdo de t2 61 Centro de Informática UFPB Tipos de instruções Desvio condicional Tipo I possui três operandos dois registradores comparados e um offset de 16 bits para calcular o endereço de destino do desvio Ex beq t1 t2 offset Base do offset é PC Campo offset é deslocado 2 bits para a esquerda desvios de words de 4 bytes Sobre as instruções do MIPS beq t1 t2 100 Saltar para a instrução de endereço PC 400 100 x 4 se o conteúdo de t1 for igual ao conteúdo de t2 62 Centro de Informática UFPB Um exemplo de Microarquitetura O Caminho de Dados MIPS 63 Centro de Informática UFPB Formato de microinstrução 64 Centro de Informática UFPB Criando o microprograma Label ALU Control SRC1 SRC2 Register Control Memory PCWrite Control Sequencing Add PC Extshft Read Dispatch 1 65 Centro de Informática UFPB Definindo o controle 66 Centro de Informática UFPB Implementação do Fetch Criando o microprograma 67 Centro de Informática UFPB Primeira microinstrução Segunda microinstrução Criando o microprograma Universidade Federal da Paraíba Arquitetura de Computadores Centro de Informática UFPB Perguntas Microarquitetura e Microprogramação Parte 34