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

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

Processadores – Aula 3 Professor: André Luis Meneses Silva

Apresentações semelhantes


Apresentação em tema: "Processadores – Aula 3 Professor: André Luis Meneses Silva"— Transcrição da apresentação:

1 Processadores – Aula 3 Professor: André Luis Meneses Silva
/msn: Página:

2 Agenda Introdução Implementação Multiciclo
Etapas de uma instrução MIPS Definindo o Controle Implementação de uma máquina de estados finitos. Máquina de Moore Exceções Como as Exceções são Tratadas

3 Introdução Nas últimas aulas vimos a implementação simples de um processador. Toda instrução é executada em um ciclo de clock O tempo de execução de cada instrução é o tempo da instrução mais lenta. A abordagem anterior faz pouco reuso de hardware

4 Implementação Multiciclo
Hoje veremos a implementação multiciclo. Algumas características: Cada etapa (passo) na execução de uma instrução levará 1 ciclo de clock. Uma unidade funcional pode ser compartilhada, ou seja, uma instrução pode utilizá-la mais de uma vez.

5 Implementação anterior

6 Implementação Multiciclo

7 O que mudou? Memória de dados e instruções compartilhada.
Somadores foram eliminados Registradores são adicionados após cada unidade funcional. Este valor é armazenado até o seu uso em um ciclo de clock subseqüente.

8 Implementação Multiciclo
NOVOS REGISTRADORES

9 O que mudou? Novos multiplexadores também precisam ser adicionados.
Decide entre PC+4 e a saída da ALU Decide entre PC+4 e o Reg A. Decide entre: Reg. B O valor 4 Instrução Instrução deslocada de 2

10 O que mudou? Unidade de Controle Novos sinais de controle para:
PC, memória, registradores e IR precisarão de sinais de controle de escrita. Memória precisará de um sinal de leitura. Controle da ALU sofre mudanças pois ALU atual, também desempenha a função dos outros dois somadores.

11

12 Etapas de uma Instrução Mips
Cada etapa leva 1 ciclo de clock. O tempo do ciclo de clock é calculado usando a etapa de maior duração. Com relação a leitura/escrita em registradores, observar: Se registrador simples (PC, IR, MDR, etc) a leitura/escrita é parte de um ciclo de clock. Se registrador pertencer ao banco de registradores, é necessário um ciclo de clock adicional.

13 Etapas de uma Instrução Mips
Etapa de busca da instrução Etapa de decodificação da instrução e busca dos registradores. Execução, cálculo do endereço de memória ou conclusão do desvio. Etapa de acesso a memória ou conclusão de instrução tipo R. Etapa de conclusão da Leitura da Memória

14 Etapas de uma Instrução Mips
Etapa de busca da instrução Busca a instrução da memória e calcula o endereço da próxima instrução sequencial.

15 Etapas de uma Instrução Mips
Etapa de decodificação da instrução e busca dos registradores. Nesta etapa ainda não sabemos qual instrução será executada, mas podemos: Ler os dois registradores indicados pelo campo rs e rt e armazená-los nos regs. A e B. Calcular o endereço de desvio com a ALU e salvá-lo em ALUOut. Antecipar estas operações, diminuem o número de ciclos de clock necessário para execução da instrução.

16 Etapas de uma Instrução Mips
Execução, cálculo de endereço de memória ou conclusão de desvio. Se operação de desvio Desvio incondicional: o valor de PC é substituído pelo valor do desvio. Desvio condicional: utilizamos ALU para verificar a igualdade dos dois operandos (Regs A e B). A depender da igualdade passamos o valor do desvio ao PC. Fim da execução da instrução de desvio

17 Etapas de uma Instrução Mips
Execução, cálculo de endereço de memória ou conclusão de desvio. Se operação de referência a memória Utilizamos a ALU para calcular o endereço de memória e o salvamos em ALUout. Se operação de instrução lógica ou aritmética Utilizamos a ALU para efetuar a operação aritmética. Salvamos o resultado em ALUout.

18 Etapas de uma Instrução Mips
Etapa de acesso à memória ou conclusão de instrução R. Se a instrução é do tipo R. O valor de AluOut será colocado no banco de registradores. Fim da execução da instrução do tipo R. Se instrução de referência à memória. Fazemos acesso à memória com o valor presente em AluOut. Se leitura, o endereço acessado é escrito no registrador de dados da memória (MDR). Se escrita, o valor é escrito na memória e fim da execução.

19 Etapas de uma Instrução Mips
Etapa de conclusão de leitura da memória Os loads são completados, escrevendo novamente o valor da memória para o banco de registradores.

20 Definindo o Controle Para definir o controle, usamos uma máquina de estados finitos. Máquina de estados finitos consiste em um conjunto de estados e diretrizes sobre como mudar o estado. As diretrizes são definidas por uma função de próximo estado, que mapeia o estado atual e as entradas para um novo estado. Cada estado também especifica um conjunto de saídas ativadas quando a máquina está neste estado. O controle dos estados finitos corresponde às cinco etapas de execução mostradas anteriormente.

21 Visão de Alto Nível da máquina de estados finitos.

22 Máquina de estados finitos para Busca e decodificação de instrução

23 Máquina de estados finitos para controlar as instruções de referência à memória.

24 Máquina de estados finitos para as instruções tipo R.

25 Máquina de estados finitos para desvios condicionais

26 Máquina de estados finitos para desvios incondicionais

27 Máquina de estados finitos da unidade de controle: versão completa

28 Implementação de uma máquina de estados finitos
Máquinas de estados finitos podem ser codificadas através de máquinas de Moore. Sua característica fundamental é que a saída depende apenas do estado atual. Em uma máquina de Moore a lógica de controle é dividida em duas partes: Uma parte possui a saída do controle e saída para o próximo estado Uma parte possui a entrada do opcode e a entrada para o próximo estado (que agora, representa o estado atual).

29 Máquina de Moore

30 Exceções Exceções x Interrupções Exceção Interrupção
Um evento inesperado de dentro do processador Exemplo: Overflow aritmético Interrupção Um evento inesperado cuja origem é externa. Ex: Interrupção gerada pelos dispositivos de E/S

31 Exceções X Interrupções

32 Exceções X Interrupções

33 Como as Exceções são Tratadas
Etapas: Salvar o endereço da instrução no registrador (EPC) Transferir o controle para o sistema operacional em algum endereço especificado. O sistema operacional então, toma a ação apropriada, que pode ser: Fornecer algum serviço ao programa usuário. Tomar alguma ação predefinida em resposta a um overflow. Interromper a execução do programa e retornar um erro. Após executar qualquer ação necessária devido à exceção, o sistema operacional pode terminar o programa ou continuar sua execução usando o EPC.

34 Como as Exceções são Tratadas
Para comunicar o motivo da instrução, podem ser utilizado dois métodos: Utilizar um esquema de interrupções vetorizadas. O endereço para qual o controle é desviado sinaliza a causa da interrupção. Os endereços que indicam os tipos de interrupção são separados por um espaço constante, por exemplo, 32 bytes. Este espaço é preenchido pelo S.O com as instruções necessárias para o tratamento da interrupção.

35 Como as Exceções são Tratadas
Incluir um registrador de status Só possui um único ponto de entrada para todas as exceções, logo o processador necessita de uma estrutura auxiliar para descobrir o tipo da exceção Em geral, emprega-se um registrador auxiliar. Método utilizado no MIPS. (Registrador Cause) Rotina de tratamento pode possuir um maior tamanho. No nosso exemplo/implementação ilustraremos apenas duas exceções: Instrução indefinida. Overflow Aritmético.

36 Processador com EPC e Cause

37 O que muda no controle? Introduz mais dois estados na máquina de estados finitos: O estado 10, cuja origem é o estado 1 que é o estado onde é realizado a avaliação do opcode. O estado 11, cuja origem é o estado 7 que é o estado onde avaliamos o resultado da operação aritmética.

38 Unidade de Controle com os novos estados

39 Referências Hennessy & Patterson Seções 5.5 e 5.6


Carregar ppt "Processadores – Aula 3 Professor: André Luis Meneses Silva"

Apresentações semelhantes


Anúncios Google