72
Arquitetura de Computadores ECO015 Engenharia de Computação

Arquitetura de Computadores ECO015

  • Upload
    armen

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Arquitetura de Computadores ECO015. Engenharia de Computação. Aula 3. Interconexão do computador. 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. Módulos do computador. - PowerPoint PPT Presentation

Citation preview

Page 1: Arquitetura de Computadores ECO015

Arquitetura de ComputadoresECO015

Engenharia de Computação

Page 2: Arquitetura de Computadores ECO015

Aula 3 – Interconexão do Computador 2

INTERCONEXÃO DO COMPUTADORAula 3

Page 3: Arquitetura de Computadores ECO015

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

Aula 3 – Interconexão do Computador 4

Módulos do computador

Page 5: Arquitetura de Computadores ECO015

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

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

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

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

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

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

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

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

Aula 3 – Interconexão do Computador 13

Esquema de Interconexão por barramentos

Page 14: Arquitetura de Computadores ECO015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AUla 12 - Estrutura e função do processador 29

ESTRUTURA E FUNÇÃO DO PROCESSADOR

Aula 12

Page 30: Arquitetura de Computadores ECO015

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

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

AUla 12 - Estrutura e função do processador 32

REGISTRADORES

Page 33: Arquitetura de Computadores ECO015

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

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

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

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

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

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

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

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

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

AUla 12 - Estrutura e função do processador 42

Códigos condicionais

Page 43: Arquitetura de Computadores ECO015

AUla 12 - Estrutura e função do processador 43

Exemplos de organização de registradores

Page 44: Arquitetura de Computadores ECO015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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