Buscar

Organização de Computadores (Aula 6)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 59 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização de Computadores 
Capítulo 6 
 
Unidade Central de Processamento (UCP) 
Material de apoio 
2 
 Esse material é de apoio para as aulas da disciplina e não substitui a leitura da 
bibliografia básica. 
 Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como 
poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas 
experiências profissionais. 
 O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a 
comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma 
informação adicional aos conteúdo do slide correspondente 
 
 Bibliografia básica: 
 MONTEIRO, Mário A.. Introdução à organização de computadores. 5.ed. Rio de 
Janeiro: LTC, 2007. 
 PATTERSON, A.D.E.; HENNESSY, L.J.. Organização e projetos de computadores: a 
interface hardware/software. São Paulo: Campus, 2005. 
 STALLINGS, William. Arquitetura e organização de computadores : projeto para o 
desempenho. São Paulo: Pearson Education, 2005. 
 TANENBAUM, Andrew S. Organização estruturada de computadores. 5ª ed. São 
Paulo: Pearson Prentice Hall, 2009. 
Esclarecimentos 
Conceitos básicos 
4 
 O processador é responsável pela atividade-fim do sistema, isto é, 
computar, calcular, processar. 
 
 É responsável pela realização de qualquer operação realizada por 
um computador. 
 
 Comanda não somente as ações efetuadas internamente, como 
também em decorrência de interpretação de uma determinada 
instrução, ele emite sinais de controle para os demais componentes 
do computador agirem e realizarem alguma tarefa. 
 
 Os processadores atuais são fabricados de modo que, em um único 
invólucro (pastilha-chip) são inseridos todos os elementos necessários 
à realização de suas funções. 
UCP - Conceitos básicos 
5 
 Um processador tem, por propósito, realizar operações com dados 
(que denominamos processamento) normalmente numéricos. 
 
 Para realizar essas operações o processador necessita em primeiro 
ligar interpretar que tipo de operação ele irá executar. 
 
 Em seguida, antes da realização propriamente dita da operação, é 
necessário que os dados estejam armazenados no dispositivo que 
irá executar a operação. 
 
 Ele é projetado e fabricado com o propósito único de executar 
sucessivamente pequenas operações matemáticas ou outras 
manipulações de dados, na ordem e na sequência definidas pela 
organização do sistema. 
 
 Portanto, o processador não somente realiza o processamento, como 
também controla todo o funcionamento do sistema. 
UCP - Conceitos básicos 
6 
 A função do processador (UCP) consiste resumidamente no seguinte: 
 
 Buscar uma instrução na memória (operação de leitura), uma de 
cada vez; 
 
 Interpretar que operação a instrução está explicitando (soma, 
subtração, movimentação de dados, etc); 
 
 Buscar os dados onde estiverem armazenados, para trazê-los até o 
processador; 
 
 Executar efetivamente a operação com o(s) dados(s); 
 
 Guardar o resultado (se houver algum) no local definido na 
instrução; 
 
 E finalmente, reiniciar o processo buscando uma nova instrução. 
UCP - Conceitos básicos 
7 
 As atividades realizadas por um processador podem ser divididas em 
duas grandes categorias: 
 
 PROCESSAMENTO 
 Compreende a realização das atividades relacionadas com a 
efetiva execução de uma operação, envolvendo principalmente 
a Unidade Lógico-Aritmética (ULA) e os registradores internos 
ao processador. 
 
 
 CONTROLE 
 É exercida pelos componentes do processador que realizam as 
atividades de busca, interpretação e controle da execução das 
instruções, bem como o controle dos demais componentes do 
sistema de computação, tais como a memória e os dispositivos 
de entrada e saída. 
UCP - Conceitos básicos 
8 
 O processador busca chegar o mais próximos possível do 
funcionamento cérebro do ser humano. 
 
Unidade Central de Processamento (UCP) 
Unidade Lógica e Aritmética (ULA) 
Arithmetic and Logic Unit (ALU) 
10 
 A ULA (“ALU”) é o dispositivo do processador que efetivamente 
executa as operações matemáticas com os dados. Tais operações 
podem ser, por exemplo: 
 Soma, subtração, multiplicação e divisão; 
 Operação lógica AND, OR, XOR; 
 Deslocamento à direita, deslocamento à esquerda; 
 Entre outros. 
 
 Ela é composta por dispositivos lógicos digitais simples, capazes de 
armazenar bits e efetuar operações simples de lógica booleana. 
 Os dados são fornecidos à ULA em registradores e uma vez 
processados eles são armazenados novamente em registradores. 
 Os registradores são interligados a ULA por meio de caminhos de sinal. 
 A ULA também pode ativar bits especiais (flags) para indicar o estado 
de uma operação. 
 A Unidade de Controle fornece sinais para controlar a operação da 
ULA e a transferência de dados entre a ULA e os registradores. 
Unidade Lógica e Aritmética (ULA) 
11 
 As operações da ULA podem utilizar dois valores (operações 
aritméticas, operações lógicas), por isso possui 2 entradas de dados. 
 
 Ambas as entradas se conectam à saída pelo barramento interno de 
dados. 
 
 Também recebe 
sinais de controle que 
vão determinar 
que operação será 
realizada. 
Unidade Lógica e Aritmética (ULA) 
ULA 
Entradas de 
registradores 
Saída para 
registradores 
Sinais de 
controle da 
UC (Unidade 
de Controle) 
12 
 Os Registradores de Dados Servem para armazenar dados (ou para 
guardar resultados), que serão usadas pela ULA, ou resultados parciais 
das operações. 
 Para que um dado possa ser transferido pela ULA, é necessário 
que ele permaneça, mesmo por um breve instante, armazenado em 
um registrador. 
 
 Além disto, o resultado de uma operação realizada na ULA deve ser 
armazenado, temporariamente, de modo a ser reutilizado mais 
adiante. 
 
 Os processadores são fabricados contendo registradores destinados o 
armazenamento de dados servindo também de memória auxiliar básica 
da ULA. 
 
 Além dos registradores de dados, os processadores possuem, em 
geral, outros registradores (que não participam diretamente da função 
processamento), com funções específicas ou que funcionam para a 
área de controle. 
Unidade Lógica e Aritmética (ULA) 
13 
 A capacidade de processamento de um processador é em grande 
parte determinada pelas facilidades embutidas no hardware da ULA 
para realizar as operações planejadas. 
 
 Um dos elementos fundamentais para isso é o tamanho da palavra do 
processador. 
 
 O valor escolhido no projeto de fabricação determinará o tamanho 
dos elementos ligados às área de processamento, a ULA e os 
registradores de dados. 
 
 Processadores que possuem palavra de largura igual a 16 bits 
devem ter seus registradores de dados com largura igual a 16 bits, 
e assim respectivamente naqueles que possuem 32 ou 64 bits. 
 
 Um tamanho maior ou menor de palavra acarreta, sem dúvida, 
diferenças de desempenho do processador. 
Influência do Tamanho da PALAVRA 
UC – Unidade de Controle 
15 
 A UC é o dispositivo mais complexo do processador. 
 Ele possui a lógica necessária para realizar a movimentação de dados 
e instruções “de” e “para” o processador, através dos sinais de controle 
que emite em instantes de tempo determinados conforme uma 
programação prévia. 
 A figura abaixo mostra o diagrama em bloco simplificado da função 
controle 
Unidade de Controle (UC) 
Sinais de controle 
internos às CPU 
Sinais de controle do 
barramento do sistema 
Sinais de controle 
para o barramento 
de sistema 
Barramento 
de Controle 
RelógioCódigos de 
condição Unidade 
de 
Controle 
Registrador de instrução 
As entradas para a 
unidade de controle 
consistem do 
registrador de instrução, 
bits de condição, base 
de tempo fornecida pelo 
relógio e sinais de 
controle gerados por 
fontes externas. 
16 
 A Unidade de Controle – UC é responsável por: 
 
 controlar a transferência de dados e instruções para dentro e fora 
da CPU; 
 
 controlar a operação da ULA; 
 
 controlar a execução de instruções; 
 
 gerar sinais de controle externos ao processador para comandar a 
transferência de dados entre o processador e a memória ou 
módulos de entrada / saída; 
 
 gerar sinais de controle internos ao processador para mover dados 
entre registradores; 
 
 gerar sinais de controle internos ao processador para comandar a 
ULA na execução de uma determinada função; 
Unidade de Controle (UC) 
17 
 A unidade de controle desempenha duas tarefas básicas: 
 
 SEQUENCIAMENTO: A unidade de controle dirige o processador 
na execução de uma série de microoperações, com base no 
programa em execução. 
 
 
 EXECUÇÃO: A unidade de controle faz com que cada micro 
operação seja executada. 
 
 
 
 A unidade de controle executa estas tarefas através dos sinais de 
controle. 
Unidade de Controle (UC) - Funcionamento 
18 
 Os sinais de controle das saídas são: 
 
 Sinais de controle internos ao processador: esses sinais são de 
dois tipos: 
 
 os que causam a movimentação de dados de um registrador 
para outro. 
 os que ativam funções específicas da ULA. 
 
 
 Sinais de controle para o barramento de controle: existem 
também dois tipos: 
 
 Sinais de controle para memória. 
 Sinais de controle para os módulos de E/S. 
Unidade de Controle (UC) - Funcionamento 
Instruções 
20 
 Para que um programa possa ser executado por um computador, ele 
precisa ser constituído de uma série de instruções e estar armazenado 
em células na memória principal. 
 
 O componente do computador responsável pela execução destas 
instruções que estão na memória é a UCP (Processador). 
 
 Estas instruções são conhecidas como instruções de máquina. 
 
 Quem executa um programa é o hardware e o que ele espera 
encontrar é um programa em linguagem de máquina (uma 
sequência de instruções de máquina em código binário). 
 
 A coleção das diferentes instruções que a UCP é capaz de executar 
é conhecida como o conjunto (Set) de instruções do processador, o 
qual pode variar de um fabricante para outro e mesmo de um modelo 
para outro de processador. 
Instruções 
21 
 A linguagem de máquina é composta de códigos binários, 
representando instruções, endereços e dados e está totalmente 
vinculada ao conjunto ("set") de instruções da máquina. 
 
 Para o computador, uma instrução precisa ser detalhada, dividida 
em pequenas etapas de operações, que são dependentes do 
conjunto de instruções do computador e individualmente 
executáveis. 
 
 Um ser humano usa seu conhecimento e inteligência para traduzir 
uma tarefa complexa (tal como, por exemplo, a tarefa de buscar 
uma pasta num arquivo) numa série de passos elementares 
(identificar o móvel e gaveta onde está a pasta, andar até o móvel, 
abrir a gaveta, encontrar a pasta, retirar a pasta e fechar a gaveta). 
 
Instruções 
22 
 Essencialmente, quem realmente executa uma instrução é o hardware. 
 
 Assim, ao se projetar um processador define-se o seu conjunto ("set") 
de instruções que corresponde ao conjunto de instruções elementares 
que o hardware é capaz de executar. 
 O projeto de um processador é centrado no seu conjunto ("set") 
de instruções. 
 
 Em um processador, quanto menor e mais simples for o conjunto de 
instruções, mais rápido será o seu ciclo de tempo. 
 
 O projeto de um processador é condicionado ao conjunto de instruções 
de máquina as quais se deseja que ele execute. 
 
 Uma das mais fundamentais análises e decisões do projeto envolve o 
tamanho e a complexidade do conjunto de instruções. 
Conjunto de Instruções 
23 
 As estratégias de implementação de conjunto de instruções de 
processadores são: 
 CISC - Complex Instruction Set Computer 
 
 Sistema com conjuntos de instruções complexo (em português) 
 É um conjunto de instruções maior e mais complexo, implicando 
num processador mais complexo, com ciclo de processamento 
mais lento. 
 Exemplo: PC, Macintosh 
 
 Reduced Instruction Set Computer – RISC 
 
 Sistema com conjunto de instruções reduzido (em português) 
 É um conjunto de instruções menor e mais simples, implicando 
num processador mais simples, com ciclo de processamento 
rápido. 
 Exemplo: Power PC, Alpha, Sparc 
Conjunto de Instruções 
24 
 Um computador deve ter um conjunto de instruções que permita ao 
usuário formular qualquer tarefa de processamento de dados. 
 
 Portanto, o conjunto de instruções da máquina deve ser suficiente para 
expressar qualquer comando de uma linguagem de alto nível. 
 
 Podemos, então, classificar as instruções de máquina nos seguintes 
tipos, dependendo da sua função: 
 
 Processamento de dados: instruções aritméticas e lógicas 
 
 Armazenamento de dados: instruções de memória 
 
 Movimentação de dados: instruções de E/S 
 
 Controle: instruções de teste e desvio 
Tipo de Instruções 
25 
 Instruções aritméticas 
 São aquelas que fornecem a capacidade computacional para 
processamento de dados numéricos. 
 Soma, Subtração, Multiplicação, Divisão, etc. 
 
 
 Instruções lógicas (ou booleanas) 
 São aquelas que operam sobre bits de uma palavra, na condição de 
bits e não de números, oferecendo, portanto, a capacidade de 
processar qualquer outro tipo de dado (quantitativo ou qualitativo) 
que o usuário possa desejar empregar, sem o estabelecimento de 
relações matemáticas ou algébricas entre esses dados. 
 
 
 Instruções de memória 
 São aquelas utilizadas para mover dados entre a memória e os 
registradores da UCP, uma vez que operações aritméticas e lógicas 
são executadas sobre dados armazenados nesses registradores. 
Tipo de Instruções 
26 
 Instruções de E/S 
 São necessárias para transferir programas e dados para a memória 
(provenientes de fontes externas à UCP) e para transferir 
resultados de processamentos computacionais de volta para o 
usuário. 
 
 
 Instruções de teste 
 São aquelas utilizadas para testar o valor de uma palavra de dados 
ou o estado de uma etapa de processamento computacional. 
 
 
 Instruções de desvio 
 São usadas para desviar a execução do programa para uma nova 
instrução, muitas vezes em função do resultado de um teste. 
Tipo de Instruções 
27 
 Cada instrução consiste em um grupo de bits que pode ser dividido em 
duas partes: 
 Código de Operação ou OPCODE 
 Operando(s) 
 
 Existem instruções que não tem operando. 
 Exemplo: Instrução HALT (PARE). 
 
 
 Código de Operação ou OPCODE 
 Identifica a operação a ser realizada pelo processador. 
 
 Este código é a entrada no decodificador de instruções na unidade 
de controle. 
 
 Cada instrução deverá ter um código único que a identifique. 
 
Formato das Instruções 
28 
 Operando(s) 
 É ou são o(s) campo(s) da instrução cujo valor binário sinaliza a 
localização do dado (ou é o próprio dado) que será manipulado 
(processado) pela instrução durante a operação. 
 
 Em geral, um operando identifica o endereço de memória onde 
está contido o dado que será manipulado, ou pode conter o 
endereço onde o resultado da operação será armazenado. Um operando pode também indicar um Registrador (que conterá 
o dado propriamente dito ou um endereço de memória onde está 
armazenado o dado). 
 
 Os operandos fornecem os dados da instrução. 
 
Formato das Instruções 
29 
 Exemplo 1: Instrução para adição de dois valores (operandos 1 e 2), 
indicando o endereço (operando 3) a ser armazenado o resultado: 
 OP3 ← OP1 + OP2 
 
 
 
 Exemplo 2: Instrução para adição de dois valores (operandos 1 e 2), 
armazenando-se o resultado no local do operando 1: 
 OP1 ← OP1 + OP2 
 
 
 
 Exemplo 3: Utilizando-se o acumulador para armazenar inicialmente 
um dos operandos e depois armazenar o resultado da soma: 
 ACC ← ACC + OP 
Formato das Instruções 
C.Op. Operando 1 Operando 2 Operando 3 
C.Op. Operando 1 Operando 2 
C.Op. Operando 
30 
 Caracteres 
 Constituem a representação de dados textuais, os quais são 
convertidos em sequências de bits para manipulação em sistemas 
computacionais. 
 O código mais utilizado é o ASCII (American Standard Code for 
Information Interchange). 
 Nele cada caractere é representado por uma sequência de 7 bits, o 
que permite a representação de um conjunto de 128 caracteres 
diferentes. 
 
 
 Dados lógicos 
 São a consideração de uma sequência de n bits como sendo uma 
sequência de n dados lógicos independentes, que podem assumir 
os valores 0 ou 1, para a execução de operações booleanas. 
Formato das Instruções - Tipo de Operandos 
31 
 Endereços 
 São a representação de uma origem (registrador ou posição de 
memória) ou destino de onde um dado deve ser buscado ou para 
onde deve ser levado e armazenado. 
 
 Números 
 São utilizados no processamento de dados numéricos e não 
numéricos, tais como valores de contadores, tamanhos de campos, 
etc. 
 Embora não sujeitos a processamento numérico, são representados 
por números. 
 Em sistemas computacionais há duas limitações: quanto à 
magnitude de representação e quanto à precisão. 
 São comuns três tipos de dados numéricos: 
 Números decimais, 
 Números inteiros ou de ponto fixo, e 
 Números de ponto flutuante, os quais estão sujeitos a efeitos do 
arredondamento, do overflow e do underflow. 
Formato das Instruções - Tipo de Operandos 
Ciclo de instrução 
33 
 O relógio (clock) é um dispositivo gerador de pulsos cuja duração é 
chamada de ciclo. 
 
 A quantidade de vezes em que este pulso básico se repete em um 
segundo define a unidade de media do relógio denominada 
frequência, a qual também é utilizada para definir a velocidade da 
UCP. Servem para: 
 
 Sincronizar, ou seja, permitir que duas ou mais ações ocorram 
no mesmo instante de tempo. 
 
 Cadenciar as ações realizadas em um determinada positivo, ou 
seja, controlar a velocidade com que elas ocorrem. 
 
 Pode ser entendido com um dispositivo de controle. 
 
 Em geral o relógio é formado por um cristal de quartzo. 
Unidade de Controle (UC) - Relógio 
34 
 Principais elementos: 
 Um ciclo do relógio (clock clycle) é o intervalo de tempo entre o 
início de um pulso e o início do seguinte. 
 
 Um período (cycle time ou period) é o intervalo de tempo gasto 
para ser obter um ciclo do sinal do relógio. 
 Usualmente medido em unidades de tempo em nanosegundos. 
 
 A frequência (frequency ou clock rate) é a quantidade de ciclos por 
segundo de um relógio. É o inverso do período. 
 A unidade de medida utilizada para a frequência é o Hertz(Hz) 
onde, 1 Hz = 1 ciclo por segundo. 
 
 Assim, se um processador funciona com um clock de 25 milhões de 
vezes por segundo, isto é, 25MHz, e sendo seu período de duração o 
inverso da frequência, então cada ciclo será igual a 1/25000000, ou 
0,00000004 ou 40 nano segundos (nS). 
Unidade de Controle (UC) - Relógio 
35 
 As instruções são executadas sequencialmente uma a uma 
repetidamente. 
 Há casos em que existe a ocorrência de um desvio. 
 
 A rotina de uma instrução está resumido na imagem a seguir: 
Unidade de Controle (UC) - Ciclo de instrução 
Buscar a próxima 
instrução 
Início 
Interpretar instrução 
(decodificar) 
Buscar operandos 
Executar instrução 
Armazenar 
resultados 
Fim 
36 
 Um ciclo de instrução pode ser segmentados em 3 outros subciclos: 
 Busca, Execução e Interrupção 
Instruções e ciclo de instrução 
Busca a próxima 
Instrução 
Executa a 
instrução 
Verifica interrupções 
Processa interrupção Parada 
Início 
CICLO DE 
BUSCA 
CICLO DE 
EXECUÇÃO 
CICLO DE 
INTERRUPÇÃO 
Interrupções 
habilitada 
Interrupções 
desabilitadas 
37 
 Resumidamente, as “ações” realizadas durante uma instrução são: 
 
 Busca (leitura) 
 Lê a próxima instrução da memória para a UCP. 
 
 Decodificação (interpretação) 
 Interpreta o código de operação e seus operandos (se existir). 
 
 Execução 
 Efetua a operação indicada. 
 
 Interrupção ( 
 É a paralisação da instrução em execução para executar outra. 
 Se as interrupções estão habilitadas e ocorreu uma interrupção, 
salva o estado do processo atual e processa a interrupção. 
Ciclo de instrução 
38 
 Exemplo de execução de um ciclo de instrução: 
 
 Iniciar 
 
 RI←(CI) Busca a instrução, cujo endereço está no CI 
 
 (CI) ← (CI)+1 Atualiza o CI para a próxima instrução 
 Interpretar o C.Op. 
 
 Buscar Op. (Se houver) 
 
 Executar a instrução 
 
 Retornar 
Ciclo de instrução 
39 
 Diagrama de estados do ciclo de instruções 
Ciclo de instrução 
40 Unidade Central de Processamento (UCP) 
Principais Registradores 
usados pela UCP 
42 
 Registrador de Instrução – RI 
 
 Conhecido também como IR (Instruction Register) tem a função 
específica de armazenar a instrução a ser executada pela UCP. 
 
 Ao se iniciar um ciclo de instrução, a UC emite sinais de controle 
em sequencia no tempo, de modo que se processe um ciclo de 
leitura, no qual a instrução é buscada na memória. 
 
 Ao término deste ciclo de leitura a instrução desejada será 
armazenada no RI. 
Registradores usados pela UCP 
Atualmente o processo é muito mais complexo em face da 
necessidade de maior desempenho, com maiores velocidades e 
processo pipeline, usando-se buffers para armazenar instruções 
em filas antes mesmo da sua execução. 
43 
 Contador de Instrução – CI 
 
 Conhecido também como PC (Program Counter) é o registrador 
cuja função específica é armazenar o endereço da próxima 
instrução a ser executada. 
 
 É um registrador crucial para o processo de controle e de 
sequenciamento da execução dos programas. 
 
 Assim que a instrução a ser executada é lida da memória para a 
UCP, o conteúdo do CI é automaticamente modificado, sendo nele 
armazenado o endereço da próxima instrução na sequência. 
Registradores usados pela UCP 
44 
 Registrador de Dados da Memória 
 
 Conhecido como RDM (Memory Buffer Register - MBR) é um 
registrador usado pelo processador e memória para comunicação e 
transferência de informações. 
 
 É utilizado pela UCP para a transferência de informações entre o 
processador e o barramento de dados, ou seja, é onde ficam 
transitoriamente os dados a serem gravados ou os dados que 
acabaram de ser lidos. 
 
 Possui um tamanho (capacidade de armazenamento de bits) igual 
ao barramento de dados. 
 
 No ciclo de busca de uma instrução, assume a função de 
armazenar temporariamente a instrução a ser executada, a qual foi 
trazida, via barramento de dados, da memória, e na sequência é 
transferida para o RI. 
Registradores usados pela UCP 
45 
Registrador de Endereços da Memória 
 
 Conhecido como REM (Memory Address Register - MAR) também 
é um registrador usado pelo processador e memória para 
comunicação e transferência de informações. 
 
 Armazena o endereço da memória onde a informação deve ser 
lida ou escrita, ou seja, é um registrador em cujo conteúdo 
encontramos o endereço da célula que vai ser lida ou atualizada. 
 
 No ciclo de busca de uma instrução, armazena o endereço da 
memória onde se encontra a instrução a ser executada, fornecido 
pelo CI. 
 
 Tem tamanho (em bits) igual ao tamanho dos endereços de 
memória e ao tamanho do barramento de endereços. 
Registradores usados pela UCP 
46 
 Acumulador 
 
 Também conhecido como ACC (Accumulator) é um registrador 
especial responsável pelo armazenamento temporário de dados (de 
entrada e resultados) para as operações na ULA. 
 
 Serve também, de elemento de ligação da ULA com os restantes 
dispositivos do processador. 
 
 É um dos principais elementos que definem o tamanho da palavra 
do computador. 
 
 O tamanho da palavra é igual ao tamanho do acumulador. 
Registradores usados pela UCP 
47 
 Diagrama Funcional da UCP 
Registradores usados pela UCP 
48 Unidade Central de Processamento (UCP) 
Endereçamento de memória 
50 
 As instruções podem especificar o modo de acesso às células de 
memória, sendo o endereço dessa célula calculado na própria 
execução da instrução. 
 
 Os principais objetivos dos modos de endereçamento de memória são: 
 
 Possibilitar um acesso mais eficiente a certas estruturas de dados, 
como matrizes, listas e pilhas; 
 
 Especificar um endereço completo de memória utilizando um 
número menor de bits no campo de endereço da instrução; 
 
 Calcular endereços relativos à posição da instrução corrente ou a 
outra posição de base, permitindo assim que um programa fique 
independente da zona de memória central onde é carregado pelo 
Sistema de Operação. 
Endereçamento de memória 
51 
 As instruções podem especificar o modo de acesso às células de 
memória, sendo o endereço dessa célula calculado na própria 
execução da instrução. 
 
 Os principais objetivos dos modos de endereçamento de memória são: 
 
 Possibilitar um acesso mais eficiente a certas estruturas de dados, 
como matrizes, listas e pilhas; 
 
 Especificar um endereço completo de memória utilizando um 
número menor de bits no campo de endereço da instrução; 
 
 Calcular endereços relativos à posição da instrução corrente ou a 
outra posição de base, permitindo assim que um programa fique 
independente da zona de memória central onde é carregado pelo 
Sistema de Operação. 
Endereçamento de memória 
52 
 Há, habitualmente, uma grande variedade de modos de 
endereçamento, com o objetivo de facilitar o acesso às constantes, às 
variáveis simples, às estruturas, bem como a geração de endereços 
relativos, que permitam ao programa ficar independente da posição 
real de memória onde é carregado. 
 
 Os tipos de endereçamento principais são: 
 
 Endereço Efetivo 
 Endereçamento Imediato 
 Endereçamento Direto 
 Endereçamento Indireto 
 Endereçamento via Registrador 
 Endereçamento via Registrador - Indireto 
Endereçamento de memória 
53 Endereçamento de memória 
 Endereçamento Efetivo 
Memória Processador 
C.Op. Operando 
Instrução 
Quando uma posição de 
memória é utilizada, o 
endereço de memória real 
especificado pelo modo de 
endereçamento é chamado 
de ENDEREÇO EFETIVO. 
End. Memória = 0001 
End. Memória = 0011 
End. Memória = 0111 
End. Memória = 1111 
End. Memória = . . . 
54 Endereçamento de memória 
 Endereçamento Imediato 
Valor do Operando C.Op. 
Memória Processador 
C.Op. Operando 
Instrução 
0 1 0 0 1 0 1 1 
O operando vem como 
parte da instrução 
 
NÃO requer acesso à 
memória para buscar o 
dado a ser processado 
55 Endereçamento de memória 
 Endereçamento Direto 
End. Memória Op. C.Op. 
Memória Processador 
C.Op. Operando 
0 1 0 
End. Memória = 0101 
0 1 0 1 
0 1 0 1 
1 
Instrução 
O campo de endereço 
contém o endereço do 
operando 
 
NÃO há necessidade de 
cálculos adicionais para 
encontrar o endereço efetivo 
56 Endereçamento de memória 
 Endereçamento Indireto 
O campo de endereço da instrução 
contém um endereço da memória 
cujo conteúdo é o 
endereço do operando na memória. 
Há um duplo endereçamento. 
O endereço intermediário é 
chamado ponteiro 
End. Memória Op. C.Op. 
Memória Processador 
C.Op. Operando 
0 1 0 
End. Memória = 0100 
0 1 0 1 
1 1 0 1 
1 
Instrução 
End. Memória = 1101 
0 1 0 0 
57 Endereçamento de memória 
 Endereçamento via Registrador 
 
 São os tipos de endereçamento que utilizam os registradores para 
indicar a posição onde estão os dados 
 
 Vantagens 
 Maior velocidade / rapidez de execução 
 O acesso ao registrador é muito mais rápido que o acesso à 
memória. 
 Economia de espaço de armazenamento de instrução 
 
 Desvantagens 
 Não são adequados para transferência de variáveis da MP 
para ULA. 
 Pequeno número de registradores - se forem muitos os 
dados endereçados por registrador, os registradores 
disponíveis podem não ser suficientes. 
 
58 Endereçamento de memória 
 Endereçamento via Registrador Direto 
Nº do Registrador C.Op. 
Registrador 
Processador 
C.Op. Operando 
0 1 0 
Nº Registrador = 010 
0 1 0 
Instrução 
Memória 
0 1 0 1 1 
Semelhante ao 
Endereçamento Direto 
Usa os registradores para 
indicar a posição onde 
estão os dados. 
 
A única diferença é que o 
campo de endereço se 
refere a um registrador e 
não a uma posição de 
memória 
59 Endereçamento de memória 
 Endereçamento via Registrador Indireto 
Nº Registrador = 0 1 0 
 0 1 0 0 
Nº do Registrador C.Op. 
Processador 
C.Op. Operando 
0 1 0 0 1 0 
Instrução 
Memória 
End. Memória = 0100 
0 1 0 1 1 
Registrador 
Um registrador da CPU contém 
o endereço efetivo. 
 
O operando está na posição de 
memória apontada pelo do 
registrador indicado no campo 
de endereçamento

Outros materiais