A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Computadores ECO015

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores ECO015"— Transcrição da apresentação:

1 Arquitetura de Computadores ECO015
Engenharia de Computação

2 Interconexão do computador
Aula 3 Interconexão do computador 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 Aula 3 – Interconexão do Computador

4 Módulos do computador 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) 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 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) 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 Aula 3 – Interconexão do Computador

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 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? Aula 3 - Visão de alto nível da função

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) 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 Aula 3 – Interconexão do Computador

13 Esquema de Interconexão por barramentos
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 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 possui barramento de 16 bits de endereço fornecendo 64k de espaço endereçável 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 Aula 3 – Interconexão do Computador

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ída Aguardar.... Aula 3 - Visão de alto nível da função

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 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 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 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 Aula 3 – Interconexão do Computador

22 Tipos de barramentos Dedicados Multiplexados
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 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 Aula 3 – Interconexão do Computador

24 Diagrama de temporização síncrona Ciclo 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 Aula 3 – Interconexão do Computador

25 Diagrama de temporização síncrona Ciclo 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 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 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 Aula 3 – Interconexão do Computador

28 Tipos de transferências de dados
Perspectiva do processador Tempo Tempo Endereço (1ºciclo) Dados (2ºciclo) Endereço Operação de escrita (multiplexada) Dados Endereço Tempo de acesso Dados Operação de escrita ( não multiplexada) Operação de leitura (multiplexada) Endereço Leitura de dados Escrita de dados Tempo Endereço Operação de leitura-modificação-escrita Dados Endereço Escrita de dados Leitura de dados Operação de leitura-após-escrita Operação de escrita (não multiplexada) Endereço Dados Dados Dados *Multiplexado – mesmo barramento para endereço e dados Transferência de dados em bloco Aula 3 - Visão de alto nível da função

29 Estrutura e função do processador
Aula 12 Estrutura e função do processador 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 AUla 12 - Estrutura e função do processador 22

31 Estrutura de barramento e organização interna
CPU com barramento de sistema Estrutura Interna da CPU AUla 12 - Estrutura e função do processador

32 Registradores 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 AUla 12 - Estrutura e função do processador 23

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 AUla 12 - Estrutura e função do processador 24

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 AUla 12 - Estrutura e função do processador 25

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 AUla 12 - Estrutura e função do processador 26

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 AUla 12 - Estrutura e função do processador 27

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; AUla 12 - Estrutura e função do processador 28

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) AUla 12 - Estrutura e função do processador 30

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 AUla 12 - Estrutura e função do processador 29

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 AUla 12 - Estrutura e função do processador 31

42 Códigos condicionais AUla 12 - Estrutura e função do processador

43 Exemplos de organização de registradores
AUla 12 - Estrutura e função do processador

44 Visão de alto nível da função
Aula 3 Visão de alto nível da função 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 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 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 Aula 3 - Visão de alto nível da função

48 Hardwired vs. HW + SW Hardwired Hardware + Software
Aceita dados e produz resultados e.x. Hardware + Software Aceita dados e sinais de controle e produz resultado 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 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!! 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) 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) 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 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 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 Aula 3 - Visão de alto nível da função

56 Ciclo de instrução (1) Dois passos: Busca (Fetch) Execução
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 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 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 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 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) 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 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 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 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 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 Aula 3 - Visão de alto nível da função

67 Máquina Hipotética 3 4 15 Opcode Endereço 1 15 Magnitude
3 4 15 Opcode Endereço (a) Formato da instrução 1 15 Magnitude (b) Formato de inteiro Contador de programa (PC) = Endereço da Instrução Registrador de instrução (IR) = Instrução sendo executada Acumulador (AC) = Armazenamento temporário (c) Registradores internos da CPU 0001 = Carrega AC da memória (0x1) 0010 = Armazena AC na memória (0x2) 0101 = Adiciona da memória ao AC (0x5) (d) Lista parcial de opcodes 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ção Registrador de instrução (IR) = Instrução sendo executada Acumulador (AC) = Armazenamento temporário (c) Registradores internos da CPU 0001 = Carrega AC da memória 0010 = Armazena AC na memória 0101 = Adiciona da memória ao AC (d) Lista parcial de opcodes 3 4 15 Opcode Endereço (a) Formato da instrução 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ção Registrador de instrução (IR) = Instrução sendo executada Acumulador (AC) = Armazenamento temporário (c) Registradores internos da CPU 0001 = Carrega AC da memória 0010 = Armazena AC na memória 0101 = Adiciona da memória ao AC 3 4 15 Opcode Endereço (d) Lista parcial de opcodes (a) Formato da instrução (a) Busca (b) Execução 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ção Registrador de instrução (IR) = Instrução sendo executada Acumulador (AC) = Armazenamento temporário (c) Registradores internos da CPU 0001 = Carrega AC da memória 0010 = Armazena AC na memória 0101 = Adiciona da memória ao AC 3 4 15 Opcode Endereço (d) Lista parcial de opcodes (a) Formato da instrução (a) Busca (b) Execução 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ção Registrador de instrução (IR) = Instrução sendo executada Acumulador (AC) = Armazenamento temporário (c) Registradores internos da CPU 0001 = Carrega AC da memória 0010 = Armazena AC na memória 0101 = Adiciona da memória ao AC 3 4 15 Opcode Endereço (d) Lista parcial de opcodes (a) Formato da instrução (a) Busca (b) Execução Aula 3 - Visão de alto nível da função

72 Ciclo de Instrução – Diagrama de Estados
CPU-Memória Operações na CPU Aula 3 - Visão de alto nível da função


Carregar ppt "Arquitetura de Computadores ECO015"

Apresentações semelhantes


Anúncios Google