Upload
dangdang
View
223
Download
0
Embed Size (px)
Citation preview
S
Estrutura e Funcionamento da CPU
Adriano Maranhão
1
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
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
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
. 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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