730 likes | 902 Views
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.
E N D
Arquitetura de ComputadoresECO015 Engenharia de Computação
Aula 3 Interconexão do computador 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 Aula 3 – Interconexão do Computador
Módulos do computador Aula 3 – Interconexão do Computador
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
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
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
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
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
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
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
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
Esquema de Interconexão por barramentos Aula 3 – Interconexão do Computador
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
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 Aula 3 – Interconexão do Computador
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 (interruptrequest) • 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
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
Grandes e amarelos? • Como identificar um barramento? • Linhas paralelas nas placas de circuito • Slotsde conexão em placas mãe • e.x. PCI • Conjunto de fios Aula 3 – Interconexão do Computador
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
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
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
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 Aula 3 – Interconexão do Computador
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
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 Aula 3 – Interconexão do Computador
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 Aula 3 – Interconexão do Computador
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
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
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 escrita (não multiplexada) Operação de leitura-após-escrita 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
Aula 12 Estrutura e função do processador AUla 12 - Estrutura e função do processador
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
Estrutura de barramento e organização interna CPU com barramento de sistema Estrutura Interna da CPU AUla 12 - Estrutura e função do processador
Registradores AUla 12 - Estrutura e função do processador
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
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
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
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
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
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: longint a; AUla 12 - Estrutura e função do processador
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
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
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
Códigos condicionais AUla 12 - Estrutura e função do processador
Exemplos de organização de registradores AUla 12 - Estrutura e função do processador
Aula 3 Visão de alto nível da função Aula 3 - Visão de alto nível da função
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
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
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
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. Aula 3 - Visão de alto nível da função
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
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