22
Estrutura e Funcionamento da CPU Adriano Maranhão 1

Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Embed Size (px)

Citation preview

Page 1: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

S

Estrutura e Funcionamento da CPU

Adriano Maranhão

1

Page 2: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Relembrando…

S  Compiladores de linguagens ao fazer a conversão da linguagem de alto nível para chegar na fase da linguagem de baixo nível como assembly o código se distingue principalmente por ultilizar de apenas registradores e processos na pilha para executar um determinado programa.

2

Page 3: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Relembrando…

S  Os principais elementos da CPU são a Unidade de Controle , a Unidade Lógica e Aritmetica (ULA) e os Registradores. Esses elementos se conectam interna- mente atraves do barramento interno da CPU.

3

Page 4: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Registradores

S  Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem. Eles podem ser registradores de dados, endereço ou então de proposito geral. Os registradores de Controle e de Estado são uti- lizados para controlar a operação da CPU.

4

Page 5: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

. Exemplos de registradores de Controle e de Estado

S  Counter (PC), Instruction Register (IR), Memory Address Register (MAR), Memory Buffer Register (MBR), Program Status Word (PSW), Stack Pointer (SI), Page Table Base Register (PTBR), Page Table Base Limit (PTBL).

5

Page 6: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Pipelines

S  Como pudemos ver, um ciclo de instrução pode subdividido em etapas menores. Uma divisão comum e a baseada nos ciclos de busca, indireto, execução e inter- rupção. A ideia da técnica de pipeline e trabalhar as diversas etapas do ciclo de instrução de forma paralela, e não de forma serial, de forma aumentar o desempenho da CPU

6

Page 7: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Técnicas utilizadas em problemas introduzidos pelas

instruções de desvio

S  Múltiplos Fluxos (duplicacao de estagios iniciais);

S  • Busca Antecipada de Instrução-Alvo de Desvio;

S  • Memoria de Laco de Repetição (loop buffer);

S  • Previsão de Desvio baseadas no opcode;

S  • Previsão de Desvio baseadas em histórico (BTB - Branch Target Buffer, também conhecida como BHT - Branch History Table).

7

Page 8: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Conjunto de Instruções

S  A operação da CPU e determinada pelo conjunto de instruções que ela executa. São as chamadas instruções de maquina. A coleção de instruções que uma CPU pode executar e chamada Conjunto de Instruções.

8

Page 9: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Os principais elementos e uma instrução

S  (i)Código da operação (opcode): especifica a operação a ser efetuada;

S  • (ii)Referência a` Operando Fonte: indica as entradas para a operação;

S  • (iii)Referência ao operando Destino: A operação pode produzir um resul- tado;

S  • (iv)Endereço da próxima instrução: Pode ser indicado implicitamente (ex: registrador PC).

9

Page 10: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

As instruções podem ser classificadas

S  (i)Processamento de Dados: instruções logicas e aritméticas;

S  • (ii)Armazenamento de dados: instruções de memoria;

S  • (iii)Movimentação: instruções de E/S;

S  • (iv)Controle: instruções de teste e desvio.

10

Page 11: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Os tipos de operações mais comuns

S  (i)Transferencia de Dados: mov,push/pop,xlat,in/out;

S  • (ii)Aritmeticas: add,sub,mul,idiv;

S  • (iii)Logicas: and,or,shl/shr;

S  • (iv)Conversao de Tipos: jmp,call,loop,int/into;

S  • (vi)Controle do Sistema: hlt,wait;

S  • (vii)Transferencia de Controle: blt,bgt,beq,call,jmp.

11

Page 12: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Unidade de Controle

S  A unidade de controle coordena os diversos elementos do processador para que este possa realizar todas as suas funções. A execução de um programa consiste de uma sequencia de ciclos de instrução. Um ciclo de instrução pode ser sub- dividido em quatro subciclos que sao busca, indireto, execução e interrupção.

12

Page 13: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Os quatro registradores básicos da unidade de controle

S  PC (Program Counter): Mantem o endereço da próxima instrução a ser buscada na memoria;

S  • MAR (Memory Address Register): Especifica endereço de memoria para uma operacao de leitura ou escrita;

S  • MBR (Memory Buffer Register): Conectado ao barramento do sistema. Contem um valor a ser armazenado na memoria ou o ultimo valor dela lido;

S  • IR (Instruction Register): Mantem a ultima instrucao buscada na memoria.

13

Page 14: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

as micro operações caem em uma das seguintes categorias

S  (i)Transferencia de dados entre registradores;

S  • (ii)Transferencia de dados entre registrador e interface externa (barra- mento);

S  • (iii)Transferencia de dados de interface externa para registrador;

S  • (iv)Execucao de operacoes logicas e aritméticas, usando registradores como entrada e saıda.

14

Page 15: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Modos de Endereçamento

S  Os modos de endereçamento estão relacionados com a forma utilizada para especificar o valor ou endereço de um operando de uma instrução. Questões importantes na escolha do modo de endereçamento são a quantidade de posições de memoria endereçáveis, flexibilidade de endereçamento, numero de referencias a memoria feitas pela instrução e complexidade do calculo do endereço.

15

Page 16: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Imediato

S  o valor do operando e especificado diretamente na instrução. Sua principal vantagem e não requer acesso a memoria para obter o operando. A desvantagem e que esse modo impõe uma limitação no tamanho do operando;

16

Page 17: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Direto

S  Direto: o campo de endereço contem o endereço efetivo do operando na memoria. Requer portanto apenas um acesso para determinar o valor do operando. Sua limitação e fornecer um espaço de endereçamento limitado;

17

Page 18: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Indireto

S  Indireto: o campo de endereço aponta para uma posição de memoria que contem o endereço de memoria do operando. Sua principal desvantagem e a necessidade de dois acessos `a memoria. A vantagem em relação ao modo de endereçamento direto e o aumento do espaço de endereçamento, que passa a ser igual 2n onde n e o tamanho da palavra;

18

Page 19: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Registrador

S  Registrador: e semelhante ao modo direto, no entanto o modo de endereço se refere a um registrador e nao a uma posição de memoria. Geralmente e composto por 3 ou 4 bits, o que permite referenciar de 8 a 16 registradores de proposito geral. Suas vantagens são o tamanho pequeno do campo de endereço e não necessidade de se acessar a memoria. Sua desvantagem e o espaço de endereçamento limitado pelo numero de registradores;

19

Page 20: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Indireto via Registrador

S  Indireto via Registrador: semelhante ao modo de endereçamento indireto. O campo de endereço aponta para o registrado que contem a posição de memoria do operando. Sua vantagem e a necessidade de um único acesso a memoria, um a menos que no modo indireto;

20

Page 21: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Deslocamento

S  Deslocamento: requer que uma instrução tenha dois campos de endereço, com pelo menos um explıcito. O valor de um dos campos e usado diretamente (valor = A). O outro campo e baseado no código da operação, e especifica um registrador cujo conteúdo e adicionado a A, para produzir o endereço efetivo. Os três modos de endereçamento por deslocamento são relativo, via registrador-base e indexado;

21

Page 22: Estrutura e Funcionamento da CPU - Adriano Maranhão · Registradores ! Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem

Pilha

S  Pilha: A pilha e um bloco reservado de posições em memoria. Elementos podem ser colocados e removidos do topo da pilha. o apontador do topo da pilha (stack-pointer) e mantido em um registrador. Portanto, de fato, referências a pilha são feitas por endereçamento indireto via registrador

22