Buscar

apresentacao_aula_4_conjunto_2

Prévia do material em texto

Fundamentos de Computação
Bruno Feres de Souza
bferes@gmail.com
Universidade Federal do Maranhão
Bacharelado em Ciência e Tecnologia
1° semestre de 2013
Na aula passada...
● Armazenamento de dados não é suficiente
● É preciso fazer a manipulação de dados
– Movimentar dados de um local para outro e 
realizar operações lógicas e aritméticas 
sobre os mesmos. 
● Por que? Computação útil.
– Editar textos
– Editar fotos
– Ouvir músicas
– Navegar na Internet
– etc
Na aula de hoje
● Objetivo de hoje
• 2 + 2 = ?
Na aula de hoje
● Definição: circuito do computador responsável pelo 
processamento de programas armazenados na 
memória principal, buscando suas instruções, 
examinando-as e, então, executando-as uma após a 
outra.
● Sinônimos
– Central Processing Unit (CPU)
– Unidade Central de Processamento (UCP)
– Processador
CPU
Introdução
● Definição: corresponde a uma operação básica 
que a CPU é capaz de realizar.
– Manipulação de dados e operações de memória
• Armazenamento de valor em um registrador
• Movimentação de dados (R-R,R-MP,MP-R)
• Leitura e escrita de dados em dispositivos
– Operações lógicas e aritméticas
• (+,-,*,/)
• (AND, OR, XOR, etc)
• (Incremento, decremento, complemento)
– Operações de controle
• Ramificação (“Vá para”)
• Ramificação condicional (“Vá para se”)
• Ramificação indireta (“Vá, execute e volte”)
CPU
Instruções de máquina: Definição
CPU
Instruções de máquina: Conjuntos de instruções
● Dependente da arquitetura adotada
– Reduced instruction set computer (RISC): instruções 
simples de uso frequente. Ex: celular, Videogames, etc. 
– Complex instruction set computer (CISC): microprograma 
interpreta intruções complexas. Ex: computadores pessoais.
• RISC versus CISC: 
RISC CISC
Visa melhor desempenho Visa uma abstração maior
Complexidade no compilador Complexidade no microprograma
Dezenas de instruções Centenas de instruções
Instruções simples Instruções complexas
Execução rápida (um ciclo de clock) Execução lenta (vários ciclos de clock)
Compatibilidade difícil de ser mantida Compatibilidade fácil de ser mantida
● Formato das instruções
– Código da operação (Opcode): conjunto de bits que 
identifica a operação a ser realizada.
– Operando: conjunto de bits que identifica localização do dado 
(ou dos dados) que será(ão) manipulado(s) durante a operação.
CPU
Instruções de máquina: Formato das instruções
● Três partes básicas
– Unidade Aritmética e Lógica (UAL): circuito para realizar operações 
sobre dados
– Unidade de Controle (UC): circuito para coordenar as atividades do 
computador
– Registradores: armazenamento temporário dentro da CPU
– UAL, UC e Registradores são interligado por barramentos (dados, 
endereços, controle).
– Analogia: UC: cérebro, UAL: músculos e ossos, Barramento: nervos
CPU
Composição física
M
P
● Duas categorias funcionais
– Unidade Funcional de Processamento: ….......
– Unidade Funcional de Controle: ….......
CPU
Composição funcional
● Função: manipular um ou mais valores em uma certa 
sequência de ações de modo a produzir um resultado 
útil.
● Componentes:
– UAL: executa intruções dos programas que se encontram 
armazenadas na memória.
• Operações aritméticas
• Operações lógicas
• Incremento, decrementos, complementos
– Registradores: memória temporária para UAL
• Tamanho: 1 palavra (1, 2, 3,... bytes)
– Diferentes tipos de registradores podem ter tamanho diferentes
• ACC: memória para entrada e saída de operandos para 
operações lógicas e aritméticas
CPU
Composição funcional: Unidade Funcional de Processamento
● Funções:
– Busca, na MP, da instrução que será executada, 
armazenando-a em um registrador especial.
– Interpretação da instrução, a fim de saber quais 
operações deverão ser executadas na UAL e como 
realizá-las.
– Geração de sinais de controle para a coordenar o 
processamento.
CPU
Composição funcional: Unidade Funcional de Controle
● Componentes (referentes à memória):
– Registrador de dados de memória (RDM)
• Armazena temporariamente dados: (MP->CPU) ou (CPU->MP)
• Tamanho do RDM = Tamanho do barramento de dados
– Registrador de endereços de memória (REM)
• Armazena temporariamente o endereço de uma célula da memória.
• Tamanho do REM = tamanho do barramento de endereços
CPU
Composição funcional: Unidade Funcional de Controle
● Componentes (referentes às instruções):
– Contador de instruções (CI)
• Armazena o endereço da próxima instrução a ser buscada na 
memória para execução.
• Geralmente é incrementado
– Registrador de instruções (RI)
• Armazena a instrução a ser executada.
• Instrução obtida via barramento de dados e RDM.
CPU
Composição funcional: Unidade Funcional de Controle
● Componentes (referentes às instruções):
– Decodificador de instruções (DI)
• Cada instrução possui uma identificação única (Opcode)
• Determina a operação a ser realizada, com base na 
identificação da instrução
• Circuito combinatorial
CPU
Composição funcional: Unidade Funcional de Controle
● Componentes (de controle em si):
– Unidade de controle (UC)
• Controla a execução das intruções e dos demais 
componentes da CPU
• Gerenciamento do tráfego de dados e das atividades 
• Papel de coordenador
CPU
Composição funcional: Unidade Funcional de Controle
● Componentes:
– Relógio
• Gerador de pulsos
• Sincroniza a execução das operações na CPU
• Em um pulso, inicia-se uma operação
• Duração do pulso = 1 ciclo
• Número de ciclos por segundo = frequência (Hertz)
CPU
Composição funcional: Unidade Funcional de Controle
● Ciclo de instrução: repetição contínua, até que uma 
instrução de término seja encontrada. 
CPU
Instruções de máquina: ciclo de instrução
● Ciclo de instrução
– Fase 1:
• A UCP busca Opcode na MP (endereço em CI) e 
armazena a instrução em RI
– UC lê CI e coloca endereço na REM
– UC envia sinal à MP para que realize uma leitura
– MP lê o endereço que está na REM e busca a célula
– MP coloca conteúdo em RDM
– MP envia sinal à UC sinal de leitura concluída
– UC transfere instrução para RI
CPU
Instruções de máquina: ciclo de instrução
● Ciclo de instrução
– Fase 2:
• O Decodificador de Instrução decodifica 
(interpreta) o Código de Operação (Opcode) 
contido no RI.
– RI envia para DI o Opcode
– DI identifica a operação a ser realizada
– UC envia sinal à UAL informando o que fazer e 
incrementa CI
CPU
Instruções de máquina: ciclo de instrução
● Ciclo de instrução
– Fase 3:
• A UC busca (se houver) o(s) dado(s) (Operando).
– UC envia sinal de leitura para MP
– MP lê o endereço em REM e busca conteúdo 
correspondente
– MP coloca conteúdo em RDM
– MP envia sinal de leitura concluída à UC
– UC transfere o conteúdo de RDM para um 
registrador interno
CPU
Instruções de máquina: ciclo de instrução
● Ciclo de instrução
– Fase 4:
• A UC comanda a execução da instrução (a 
operação é executada sobre o(s) dado(s)).
– ULA executa instrução sobre dados nos 
registradores
– ULA envia sinal de término à UC
– UC identifica endereço na MP onde o resultado 
deve ser armazenado e coloca na REM
– UC autoriza envio do resultado para o RDM
– UC sinaliza MP para ler REM e RDM e escrever o 
resultado
CPU
Instruções de máquina: ciclo de instrução
● Ciclo de instrução é sequencial
● Execução lenta de múltiplas instruções
● Possível solução: Pipeline
– Técnica de implementação de CPU onde várias 
instruções estão em execução ao mesmo tempo.
– Analogia de linha de montagem de fábricas
CPU
Instruções de máquina: Pipeline
● Definição: uma linha de montagem
CPU
Instruções de máquina: Pipeline
● Exemplo:
– 5 etapas: ciclo de instrução + armazenamento do resultado 
CPU
Instruçõesde máquina: Pipeline
● Passos necessários à execução de 2 + 2
1.Buscar na MP o primeiro valor e colocar em um registrador
2.Buscar na MP o segundo valor e colocar em um registrador
3.Ativar circuito na ALU responsável pela operação 
aritmética de soma
4.Armazenar o resultado na MP
5.Parar
CPU
Exemplo: 2 + 2 = ?
● Arquitetura de exemplo:
CPU
Exemplo: 2 + 2 = ?
● Formato da instrução na arquitetura de 
exemplo:
CPU
Exemplo: 2 + 2 = ?
Opcode 3: armazenar o 
conteúdo de um registrador 
em um endereço na MP
Registrador cujo 
conteúdo deve 
ser armazenado
Endereço na MP para 
armazenamento
● Conjunto de instruções
 
CPU
Exemplo: 2 + 2 = ?
Opcode Operando Descrição
1 RXY CARREGAR R 
(endereço XY)
2 RXY CARREGAR R (bits XY)
3 RXY ARMAZENAR R 
(endereço XY)
4 0RS MOVER de R para S
5 RST ADICIONAR S e T e 
armazenar em R
C 000 SAIR
● Passos codificados à execução de 2 + 2
1.156C: Carregar registrador 5 com os bits no endereço 6C 
da MP
2.166D: Carregar registrador 5 com os bits no endereço 6D 
da MP
3.5056: adicionar os conteúdos dos registradores 5 e 6 e 
armazenar o resultado no registrador 0
4.306E: Armazenar o conteúdo do registrador 0 na célula de 
memória correspondente ao endereço 6E
5.C000: Finalizar 
CPU
Exemplo: 2 + 2 = ?
● Instruções armazenadas na memória
 
CPU
Exemplo: 2 + 2 = ?
● Execução de 2 + 2
 
CPU
Exemplo: 2 + 2 = ?
Cálculo eletrônico
2ª Geração (1955-1965): transistores
Material didático
● Organização e Arquitetura de Computadores (Eliane Mariade 
Bortoli Fávero). Capítulo 5.
● redeetec.mec.gov.br/images/stories/pdf/eixo_infor_comun
/tec_inf/081112_org_arq_comp.pdf
● Organização de Computadores – Notas de aula (Marcelo 
Trindade Rebonatto). Capítulo 2.
● http://usuarios.upf.br/~rebonatto/organizacao/organizaca
o.pd
● Arquitetura e Organização de Computadores (Welfane Kemil 
Tao). Capítulo 5 (Seções 5.4 e 5.5).
● http://qacademico.cefetse.edu.br/Uploads/MATERIAIS_AUL
AS/7686-Apostila_Arquitetura_e_Organizacao_de_Comput
adores.pdf
Dúvidas?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes