Estrutura e Funcionamento da CPU

Propaganda
Estrutura e
Funcionamento da CPU
Adriano Maranhão
S
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 utilizados 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 interrupçã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
Download