Arquitetura de Computadores ECO015
description
Transcript of Arquitetura de Computadores ECO015
![Page 1: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/1.jpg)
Arquitetura de ComputadoresECO015
Engenharia de Computação
![Page 2: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/2.jpg)
Aula 3 – Interconexão do Computador 2
INTERCONEXÃO DO COMPUTADORAula 3
![Page 3: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/3.jpg)
Aula 3 – Interconexão do Computador 3
Interconexão do computador Todas as unidades devem ser conectadas Diferentes tipos de conexão para diferentes tipos de
unidades Memória Entrada/Saída CPU
![Page 4: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/4.jpg)
Aula 3 – Interconexão do Computador 4
Módulos do computador
![Page 5: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/5.jpg)
Aula 3 – Interconexão do Computador 5
Conexão da Memória Recebe e envia dados Recebe endereços (de localizações de memória) Recebe sinais de controle
Leitura (Read) Escrita (Write) Sincronia (Timing)
![Page 6: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/6.jpg)
Aula 3 – Interconexão do Computador 6
Conexão de Entrada/Saída (1) Similar ao de memória do ponto de vista do
computador Saída
Recebe dados do computador Envia dado ao periférico
Entrada Recebe dados do periféricos Envia dados ao computador
![Page 7: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/7.jpg)
Aula 3 – Interconexão do Computador 7
Conexão de Entrada/Saída (2) Recebe sinais de controle do computador Envia sinais de controle para periféricos
e.x. spin disk Recebe endereços do computador
e.x. número de porta para identificar um periférico Envia sinais de interrupção (controle)
![Page 8: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/8.jpg)
Aula 3 – Interconexão do Computador 8
Conexão da CPU Leitura de dados e instruções Envia dados para escrita (após processamento) Envia sinais de controle para outras unidades Recebe (& atua sobre) interrupções
![Page 9: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/9.jpg)
Aula 3 - Visão de alto nível da função 9
Tipos de transferência (1) Memória para processador
Processador lê uma instrução ou dado na unidade de memória
Processador para memória Processador escreve dados na memória
E/S para processador Processador lê dados de um dispositivo por meio de um
módulo de E/S
![Page 10: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/10.jpg)
Aula 3 - Visão de alto nível da função 10
Tipos de transferência (2) Processador para E/S
Processador envia dados para dispositivo de E/S E/S de ou para a memória
Módulo possui permissão para trocar dados diretamente com a memória, sem passar pelo processador
DMA – Direct Memory Access
Por onde ocorrem as transferências de dados?
![Page 11: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/11.jpg)
Aula 3 – Interconexão do Computador 11
Barramentos Existem uma grande combinação de interconexões
no sistema Estruturas de barramento Único e Múltiplos são os
mais comuns e.x. Barramento de Controle/Endereços/Dados (PC) e.x. Unibus (DEC-PDP)
![Page 12: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/12.jpg)
Aula 3 – Interconexão do Computador 12
O que é um barramento? Um caminho de comunicação conectando dois ou
mais dispositivos Usualmente opera em broadcast (todos os
dispositivos recebem o sinal) Frequentemente agrupados
Vários canais em um barramento e.x. barramento de 32 bits de dados é separado em 32
canais únicos Existem ainda: barramentos de alimentação
Não será abordado nesse curso
![Page 13: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/13.jpg)
Aula 3 – Interconexão do Computador 13
Esquema de Interconexão por barramentos
![Page 14: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/14.jpg)
Aula 3 – Interconexão do Computador 14
Barramento de dados Transporta dados
Neste nível, não existe uma diferenção entre “dados” e “instruções”
Largura é o fator determinando de desempenho 8, 16, 32, 64 bits
![Page 15: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/15.jpg)
Aula 3 – Interconexão do Computador 15
Barramento de Endereços Identifica a origem ou o destino dos dados e.x. CPU precisa ler uma instrução (dados) de uma
dada localização de memória Largura do barramento determina a capacidade
máxima de memória do sistema e.x. 8080 possui barramento de 16 bits de endereço
fornecendo 64k de espaço endereçável
![Page 16: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/16.jpg)
Aula 3 – Interconexão do Computador 16
Barramento de Controle Informações de Controle e Sincronia
Sinais de leitura/escrita para a memória ACK de transferência Requisição de interrupção (interrupt request) Solicitação de barramento (bus request) Concessão de barramento (bus grant) ACK de interrupção Sinais de clock
![Page 17: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/17.jpg)
Aula 3 - Visão de alto nível da função 17
Como acontece a transferência? Como deve ser a operação
Dois passos Enviar dados
Receber dados
1. Obter uso do barramento
2 . Transferir dados pelo barramento
1. Obter uso do barramento
2. Transmitir uma requisição ao módulo
de entrada e saídaAguardar....
![Page 18: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/18.jpg)
Aula 3 – Interconexão do Computador 18
Grandes e amarelos? Como identificar um barramento?
Linhas paralelas nas placas de circuito Slots de conexão em placas mãe
e.x. PCI Conjunto de fios
![Page 19: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/19.jpg)
Aula 3 – Interconexão do Computador 19
Problemas de barramento único Grande quantidade de dispositivos compartilhando
um barramento levam a: Atrasos de propagação
Caminhos longos de dados implica que a coordenação do acesso afeta negativamente o desempenho
Maior parte do sistema utiliza múltiplos barramentos para superar tais problemas
![Page 20: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/20.jpg)
Aula 3 – Interconexão do Computador 20
Sistema de barramento tradicional (ISA)(com cache)
Cache evita o acesso direto do processador à memória
Permite que outros dispositivos acessem o barramento
Eficaz, porém: Dispositivos começam ficar muito
rápidos e.x. rede, vídeo, etc.Buffer
![Page 21: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/21.jpg)
Aula 3 – Interconexão do Computador 21
Barramentos de alto desempenho Cache/Ponte (buffer) Barramento de alta velocidade
Dispositivos de alta velocidade mais perto do processador
Alterações de processador não afetam o funcionamento dos outros barramentos
Buffer
Buffer
![Page 22: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/22.jpg)
Aula 3 – Interconexão do Computador 22
Tipos de barramentos Dedicados
Separação entre linhas de dados & endereços Multiplexados
Compartilhamento das linhas Linha de controle indica quando são dados ou quando
são endereços Vantagem – menos linhas Desvantagens
Controles mais complexos Degradação do desempenho
![Page 23: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/23.jpg)
Aula 3 – Interconexão do Computador 23
Temporização Coordenação dos eventos em um barramento Síncrono
Eventos determinados por sinais de clock Barramento de controle possui uma linha de clock Um ciclo de barramento 1-0 Todos os dispositivos recebem a linha de clock Usualmente a sincronia acontece no edge de descida Usualmente um ciclo de clock por evento
![Page 24: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/24.jpg)
Aula 3 – Interconexão do Computador 24
Diagrama de temporização síncronaCiclo de Leitura
Sinal de clock controla a operação do barramento
Ex. 1º Ciclo: processador coloca sinais
nas linhas de endereço e emite sinal de ativação do endereço
2º Ciclo: Leitura: memória localiza a
posição 3º Ciclo:
Leitura: Memória coloca os dados no barramento e processador efetua leitura
![Page 25: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/25.jpg)
Aula 3 – Interconexão do Computador 25
Diagrama de temporização síncronaCiclo de Escrita
Sinal de clock controla a operação do barramento
Ex. 1º Ciclo: processador coloca sinais
nas linhas de endereço e emite sinal de ativação do endereço
2º Ciclo: Escrita: Processador coloca os
dados nas linhas de memória 3º Ciclo:
Escrita: Copia a informação das linhas de dados para posição de memória
![Page 26: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/26.jpg)
Aula 3 – Interconexão do Computador 26
Temporização Assíncrona – Diagrama de leitura
Processador coloca todos os sinais no barramento Pulso na linha de leitura faz com que memória localizar o
endereço desejado e coloque os dados no barramento Quando o dados for válido a memória ativa a linha de
confirmação e o processador efetua a leitura
![Page 27: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/27.jpg)
Aula 3 – Interconexão do Computador 27
Temporização Assíncrona – Diagrama de escrita
Processador coloca todos os sinais no barramento Pulso na linha de escrita faz com que memória armazene
os dados na posição desejada Memória coloca um sinal de confirmação no barramento
![Page 28: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/28.jpg)
Aula 3 - Visão de alto nível da função 28
Tipos de transferências de dados Perspectiva do processador
Endereço(1ºciclo)
Dados(2ºciclo)
Tempo de acessoEndereço Dados
EndereçoLeitura
de dados
Escrita de
dados
EndereçoEscrita
de dados
Leitura de
dados
DadosEndereço Dados Dados
Endereço
Dados
Endereço
Dados
Tempo Tempo
Tempo
Operação de escrita (multiplexada)
Operação de leitura (multiplexada)
Operação de leitura-modificação-escrita
Operação de leitura-após-escrita
Transferência de dados em bloco
Operação de escrita ( não multiplexada)
Operação de escrita (não multiplexada)
*Multiplexado – mesmo barramento para endereço e dados
![Page 29: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/29.jpg)
AUla 12 - Estrutura e função do processador 29
ESTRUTURA E FUNÇÃO DO PROCESSADOR
Aula 12
![Page 30: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/30.jpg)
AUla 12 - Estrutura e função do processador 30
Organização da CPU O projeto de uma CPU deve atender os seguintes
requisitos: Busca de instruções (fetch)
Ler uma instrução da memória (registrador, cache, principal) Interpretação de instruções
Decodificar a instrução e determinar a ação requerida Busca de dados
Ler os dados da memória ou de algum módulo de E/S Processamento de dados
Efetuar uma operação aritmética ou lógica com os dados Escrita de dados
Gravar os resultados na memória ou módulo de E/S
![Page 31: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/31.jpg)
AUla 12 - Estrutura e função do processador 31
Estrutura de barramento e organização interna
CPU com barramento de sistema Estrutura Interna da CPU
![Page 32: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/32.jpg)
AUla 12 - Estrutura e função do processador 32
REGISTRADORES
![Page 33: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/33.jpg)
AUla 12 - Estrutura e função do processador 33
Organização dos Registradores A CPU deve possuir espaço para manipulação de dados
(armazenamento temporário) Número e funções dos registradores variam de acordo com
o design do processador Maior decisão de design (quantos e qual função?) Nível mais alto da hierarquia de memória Dois tipos:
Registradores visíveis aos usuário Registradores de controle e estado
![Page 34: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/34.jpg)
AUla 12 - Estrutura e função do processador 34
Registradores visíveis ao usuário São os registradores que podem ser referenciados
pelos recursos da linguagem de máquina que o processador executa. Propósito geral Dados Endereços Códigos de condição
![Page 35: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/35.jpg)
AUla 12 - Estrutura e função do processador 35
Registradores de propósito geral (1) Pode possuir qualquer função atribuída pelo programador.
Isto é, pode conter um operando para qualquer opcode. Porém podem existir restrições para seu uso (ponto
flutuante, operação de pilha, etc) Podem ser usados para dados e endereçamento
Dados Acumulador podem ser empregados para cálculos de endereçamentos
Endereçamento Indireto por registrador, deslocamento Uso geral ou endereçamento em particular
![Page 36: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/36.jpg)
AUla 12 - Estrutura e função do processador 36
Registradores de propósito geral(2) Caso eles sejam de uso geral
Aumenta a flexibilidade e as opções do programador Aumento o tamanho & complexidade das instruções
Caso eles sejam especializados Instruções menores e mais rápidas Menor flexibilidade
![Page 37: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/37.jpg)
AUla 12 - Estrutura e função do processador 37
Quantos registradores de propósito geral? Entre 8 – 32 (Não muito bem definido)i Quanto menos registradores mais referências são
feitas na memória Porém, mais registradores não reduz as referências
na memória
![Page 38: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/38.jpg)
AUla 12 - Estrutura e função do processador 38
Qual o tamanho de um registrador? Grande o suficiente para armazenar um endereço
completo Grande suficiente para armazenar uma palavra
completa Deve ser possível combinar dois registradores de
dados: Programação em C: long int a;
![Page 39: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/39.jpg)
AUla 12 - Estrutura e função do processador 39
Registradores de controle & status Controlam a operação do processador e na maior parte dos
sistemas não é visível ao usuário. Diferentes máquinas possuem diferentes organizações.
Porém os quatro essenciais são: Contador de programas (PC) Registrador da instrução (IR) Registrador de endereço de memória (MAR) Registrador buffer de memória (MBR)
![Page 40: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/40.jpg)
AUla 12 - Estrutura e função do processador 40
Registradores de código de condição Conjunto de bits individuais
e.x. resultado da última operação foi zero Pode ser lido (implicitamente) pelos programas
e.x. Jump se zero Não pode (usualmente) ser configurado por programas
![Page 41: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/41.jpg)
AUla 12 - Estrutura e função do processador 41
Palavra de status de um programa Muitos modelos possuem palavra de estado do
programa (PSW). Bits comuns encontrados em um PSW incluem as seguintes informações: Sinal da última operação aritmética Zero Carry Equal Overflow Interrupção Habilitada/desabilitada
![Page 42: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/42.jpg)
AUla 12 - Estrutura e função do processador 42
Códigos condicionais
![Page 43: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/43.jpg)
AUla 12 - Estrutura e função do processador 43
Exemplos de organização de registradores
![Page 44: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/44.jpg)
Aula 3 - Visão de alto nível da função 44
VISÃO DE ALTO NÍVEL DA FUNÇÃOAula 3
![Page 45: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/45.jpg)
Aula 3 - Visão de alto nível da função 45
Visão de alto nível Possível descrever um sistema de computação de
acordo com: O comportamento externo de cada componente
Dados e sinais de controle que ele troca com os outros componentes
Estrutura de interconexão e controles exigidos para gerenciar a estrutura de interconexão
![Page 46: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/46.jpg)
Aula 3 - Visão de alto nível da função 46
Conceito de programa armazenado Três conceitos principais de Von Neumann
Dados e instruções em uma única memória escrita Memória é endereçável por local, sem considerar o tipo
de dados contido Execução ocorre de forma sequencial de uma instrução
para a próxima
![Page 47: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/47.jpg)
Aula 3 - Visão de alto nível da função 47
Conceito de programa armazenado (2) Sistemas hardwired são inflexíveis Hardware de propósito geral?
Hardware de propósito geral podem realizar diferentes tarefas – dado os corretos sinais de controle
Ao invés de re-cabear o hardware, deve-se apenas utilizar um novo conjunto de sinais de controle
![Page 48: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/48.jpg)
Aula 3 - Visão de alto nível da função 48
Hardwired vs. HW + SW Hardwired
Aceita dados e produz resultados
e.x.
Hardware + Software Aceita dados e sinais de
controle e produz resultado e.x.
![Page 49: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/49.jpg)
Aula 3 - Visão de alto nível da função 49
HW + SW O que é um programa armazenado?
Sinais de controle Determina uma sequência de passos
Para cada passo, uma operação lógica ou aritmética é realizada
Para cada operação, um conjunto diferente de sinais de controle é necessário. Conjunto de sinais de controle → Instrução Conjunto de instruções → Software
![Page 50: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/50.jpg)
Aula 3 - Visão de alto nível da função 50
Função da unidade de controle Para cada operação que pode ser realizada um
único código (opcode) é utilizado e.x. ADD, MOVE
Um segmento do hardware recebe o código e fornece os sinais de controle
Dessa forma: Temos um computador!!
![Page 51: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/51.jpg)
Aula 3 - Visão de alto nível da função 51
Componentes do computador:Visão de alto nível
Unidade central de processsamento Unidade de Controle
(CU) Unidade lógica
aritmética (ALU)
![Page 52: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/52.jpg)
Aula 3 - Visão de alto nível da função 52
Componentes do computador:Visão de alto nível
Dados e instruções devem entrar no sistema e o resultado produzido deve sair Entrada/saída -
Input/output (módulo I/O)
![Page 53: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/53.jpg)
Aula 3 - Visão de alto nível da função 53
Componentes do computador:Visão de alto nível
Armazenamento temporário do código e dos resultados é necessário Memória RAM
![Page 54: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/54.jpg)
Aula 3 - Visão de alto nível da função 54
Interação entre componentes CPU → Memória
MAR – próximo endereço para leitura ou escrita na memória
MBR – dados que foram lidos ou serão escritos na memória
![Page 55: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/55.jpg)
Aula 3 - Visão de alto nível da função 55
Função do computador Executar um programa, sendo assim
CPU deve executar conjunto de instruções que está na memória
Como isso funciona? Executa os ciclos de cada instrução
![Page 56: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/56.jpg)
Aula 3 - Visão de alto nível da função 56
Ciclo de instrução (1) Dois passos:
Busca (Fetch) Execução
![Page 57: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/57.jpg)
Aula 3 - Visão de alto nível da função 57
Ciclo de Busca (Fetch Cycle) (2) Contador de Programa (PC)
armazena o endereço da próxima instrução a ser buscada
![Page 58: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/58.jpg)
Aula 3 - Visão de alto nível da função 58
Ciclo de Busca (Fetch Cycle) (3) Processador busca de uma
localização na memória apontada pelo contador de instrução
![Page 59: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/59.jpg)
Aula 3 - Visão de alto nível da função 59
Ciclo de Busca (Fetch Cycle) (4) O conteúdo do contador de
programa é incrementado Ao menos que o comando
altere seu conteúdo
+1
![Page 60: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/60.jpg)
Aula 3 - Visão de alto nível da função 60
Ciclo de Busca (Fetch Cycle) (5) Instrução é armazenada no
Registrador de Instrução (IR)
+1
![Page 61: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/61.jpg)
Aula 3 - Visão de alto nível da função 61
Ciclo de Busca (Fetch Cycle) - Resumo Contador de Programa (PC) armazena o endereço
da próxima instrução a ser buscada Processador busca de uma localização na memória
apontada pelo contador de instrução O conteúdo do contador de programa é
incrementado Ao menos que o comando altere seu conteúdo
Instrução é armazenada no Registrador de Instrução (IR)
![Page 62: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/62.jpg)
Aula 3 - Visão de alto nível da função 62
Ciclo de execução (Execute Cycle) (1) Processador interpreta a
instrução e executa as ações solicitadas, como: Processador - memória
Transferir dados entre a CPU e a memória principal
![Page 63: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/63.jpg)
Aula 3 - Visão de alto nível da função 63
Ciclo de execução (Execute Cycle) (2) Processador interpreta a
instrução e executa as ações solicitadas, como: Processador – Entrada e Saída
(E/S) Transferir dados entre CPU e
módulo de E/S
![Page 64: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/64.jpg)
Aula 3 - Visão de alto nível da função 64
Ciclo de execução (Execute Cycle) (3) Processador interpreta a
instrução e executa as ações solicitadas, como: Processamento de dados
Operações lógicas ou aritméticas sobre os dados
![Page 65: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/65.jpg)
Aula 3 - Visão de alto nível da função 65
Ciclo de execução (Execute Cycle) (4) Processador interpreta a
instrução e executa as ações solicitadas, como: Controle
Alteração da sequência de operações
e.x. jump (desvio) Ou ainda, combinações das
funções acima
![Page 66: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/66.jpg)
Aula 3 - Visão de alto nível da função 66
Ciclo de execução (Execute Cycle) - Resumo Processador interpreta a instrução e executa as ações
solicitadas, como: Processador - memória
Transferir dados entre a CPU e a memória principal Processador – Entrada e Saída (E/S)
Transferir dados entre CPU e módulo de E/S Processamento de dados
Operações lógicas ou aritméticas sobre os dados Controle
Alteração da sequência de operações e.x. jump (desvio)
Ou ainda, combinações das funções acima
![Page 67: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/67.jpg)
Aula 3 - Visão de alto nível da função 67
Máquina Hipotética
Opcode Endereço
Magnitude
0 3 4 15
150 1
Contador de programa (PC) = Endereço da InstruçãoRegistrador de instrução (IR) = Instrução sendo executadaAcumulador (AC) = Armazenamento temporário
0001 = Carrega AC da memória (0x1)0010 = Armazena AC na memória (0x2)0101 = Adiciona da memória ao AC (0x5)
(a) Formato da instrução
(b) Formato de inteiro
(c) Registradores internos da CPU
(d) Lista parcial de opcodes
![Page 68: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/68.jpg)
Aula 3 - Visão de alto nível da função 68
Exemplo de execução de um programa (1) Somar o conteúdo das posições de memória
940 e 941 e armazenar na memória
LOAD M(940)ADD M(941)STOR M(941)
Contador de programa = 300
Contador de programa (PC) = Endereço da InstruçãoRegistrador de instrução (IR) = Instrução sendo executadaAcumulador (AC) = Armazenamento temporário
0001 = Carrega AC da memória0010 = Armazena AC na memória0101 = Adiciona da memória ao AC
(c) Registradores internos da CPU
(d) Lista parcial de opcodes
Opcode Endereço0 3 4 15
(a) Formato da instrução
![Page 69: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/69.jpg)
Aula 3 - Visão de alto nível da função 69
Exemplo de execução de um programa (2)LOAD M(940)ADD M(941)STOR M(941)
Contador de programa (PC) = Endereço da InstruçãoRegistrador de instrução (IR) = Instrução sendo executadaAcumulador (AC) = Armazenamento temporário
0001 = Carrega AC da memória0010 = Armazena AC na memória0101 = Adiciona da memória ao AC
(c) Registradores internos da CPU
(d) Lista parcial de opcodes Opcode Endereço
0 3 4 15
(a) Formato da instrução
(a) Busca (b) Execução
![Page 70: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/70.jpg)
Aula 3 - Visão de alto nível da função 70
Exemplo de execução de um programa (3)LOAD M(940)ADD M(941)STOR M(941)
Contador de programa (PC) = Endereço da InstruçãoRegistrador de instrução (IR) = Instrução sendo executadaAcumulador (AC) = Armazenamento temporário
0001 = Carrega AC da memória0010 = Armazena AC na memória0101 = Adiciona da memória ao AC
(c) Registradores internos da CPU
(d) Lista parcial de opcodes Opcode Endereço
0 3 4 15
(a) Formato da instrução
(a) Busca (b) Execução
![Page 71: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/71.jpg)
Aula 3 - Visão de alto nível da função 71
Exemplo de execução de um programa (4)LOAD M(940)ADD M(941)STOR M(941)
Contador de programa (PC) = Endereço da InstruçãoRegistrador de instrução (IR) = Instrução sendo executadaAcumulador (AC) = Armazenamento temporário
0001 = Carrega AC da memória0010 = Armazena AC na memória0101 = Adiciona da memória ao AC
(c) Registradores internos da CPU
(d) Lista parcial de opcodes Opcode Endereço
0 3 4 15
(a) Formato da instrução
(a) Busca (b) Execução
![Page 72: Arquitetura de Computadores ECO015](https://reader035.fdocumentos.com/reader035/viewer/2022062218/56815da5550346895dcbd3b7/html5/thumbnails/72.jpg)
Aula 3 - Visão de alto nível da função 72
Ciclo de Instrução – Diagrama de Estados
Operações na CPU
CPU-Memória