Post on 16-Nov-2015
description
Arquitetura de Computadores ECO015
Arquitetura de ComputadoresECO015Engenharia de Computao
1
Interconexo do computadorAula 32Aula 3 Interconexo do Computador
2
Interconexo do computadorTodas as unidades devem ser conectadasDiferentes tipos de conexo para diferentes tipos de unidadesMemriaEntrada/SadaCPU3Aula 3 Interconexo do Computador
3
Mdulos do computadorAula 3 Interconexo do Computador4
4
Conexo da MemriaRecebe e envia dadosRecebe endereos (de localizaes de memria)Recebe sinais de controle Leitura (Read)Escrita (Write)Sincronia (Timing)
5Aula 3 Interconexo do Computador
5
Conexo de Entrada/Sada (1)Similar ao de memria do ponto de vista do computadorSadaRecebe dados do computadorEnvia dado ao perifricoEntradaRecebe dados do perifricosEnvia dados ao computador
6Aula 3 Interconexo do Computador
6
Conexo de Entrada/Sada (2)Recebe sinais de controle do computadorEnvia sinais de controle para perifricose.x. spin diskRecebe endereos do computadore.x. nmero de porta para identificar um perifricoEnvia sinais de interrupo (controle)7Aula 3 Interconexo do Computador
7
Conexo da CPULeitura de dados e instruesEnvia dados para escrita (aps processamento)Envia sinais de controle para outras unidadesRecebe (& atua sobre) interrupes
8Aula 3 Interconexo do Computador
8
Tipos de transferncia (1)Memria para processadorProcessador l uma instruo ou dado na unidade de memriaProcessador para memriaProcessador escreve dados na memriaE/S para processadorProcessador l dados de um dispositivo por meio de um mdulo de E/S
Aula 3 - Viso de alto nvel da funo9
9
Tipos de transferncia (2)Processador para E/SProcessador envia dados para dispositivo de E/SE/S de ou para a memriaMdulo possui permisso para trocar dados diretamente com a memria, sem passar pelo processadorDMA Direct Memory Access
Por onde ocorrem as transferncias de dados?Aula 3 - Viso de alto nvel da funo10
10
BarramentosExistem uma grande combinao de interconexes no sistemaEstruturas de barramento nico e Mltiplos so os mais comunse.x. Barramento de Controle/Endereos/Dados (PC)e.x. Unibus (DEC-PDP)11Aula 3 Interconexo do Computador
11
O que um barramento?Um caminho de comunicao conectando dois ou mais dispositivosUsualmente opera em broadcast (todos os dispositivos recebem o sinal)Frequentemente agrupadosVrios canais em um barramentoe.x. barramento de 32 bits de dados separado em 32 canais nicosExistem ainda: barramentos de alimentaoNo ser abordado nesse curso12Aula 3 Interconexo do Computador
12
Esquema de Interconexo por barramentos
13Aula 3 Interconexo do Computador
13
Barramento de dadosTransporta dadosNeste nvel, no existe uma difereno entre dados e instruesLargura o fator determinando de desempenho8, 16, 32, 64 bits14Aula 3 Interconexo do Computador
14
Barramento de EndereosIdentifica a origem ou o destino dos dadose.x. CPU precisa ler uma instruo (dados) de uma dada localizao de memriaLargura do barramento determina a capacidade mxima de memria do sistemae.x. 8080 possui barramento de 16 bits de endereo fornecendo 64k de espao enderevel15Aula 3 Interconexo do Computador
15
Barramento de ControleInformaes de Controle e SincroniaSinais de leitura/escrita para a memriaACK de transfernciaRequisio de interrupo (interrupt request)Solicitao de barramento (bus request)Concesso de barramento (bus grant)ACK de interrupoSinais de clock
16Aula 3 Interconexo do Computador
16
Como acontece a transferncia?Como deve ser a operaoDois passosEnviar dados
Receber dadosAula 3 - Viso de alto nvel da funo171. Obter uso do barramento2 . Transferir dados pelo barramento1. Obter uso do barramento2. Transmitir uma requisio ao mdulo de entrada e sadaAguardar....
17
Grandes e amarelos?Como identificar um barramento?Linhas paralelas nas placas de circuitoSlots de conexo em placas mee.x. PCIConjunto de fios18Aula 3 Interconexo do Computador
18
Problemas de barramento nicoGrande quantidade de dispositivos compartilhando um barramento levam a:Atrasos de propagaoCaminhos longos de dados implica que a coordenao do acesso afeta negativamente o desempenhoMaior parte do sistema utiliza mltiplos barramentos para superar tais problemas19Aula 3 Interconexo do Computador
19
Sistema de barramento tradicional (ISA)(com cache)Cache evita o acesso direto do processador memriaPermite que outros dispositivos acessem o barramento
Eficaz, porm:Dispositivos comeam ficar muito rpidos e.x. rede, vdeo, etc.Aula 3 Interconexo do Computador20
Buffer
20
Barramentos de alto desempenhoCache/Ponte (buffer)Barramento de alta velocidade
Dispositivos de alta velocidade mais perto do processador
Alteraes de processador no afetam o funcionamento dos outros barramentos
Aula 3 Interconexo do Computador21
BufferBuffer
21
Tipos de barramentosDedicadosSeparao entre linhas de dados & endereosMultiplexadosCompartilhamento das linhasLinha de controle indica quando so dados ou quando so endereosVantagem menos linhasDesvantagensControles mais complexosDegradao do desempenho
22Aula 3 Interconexo do Computador
22
TemporizaoCoordenao dos eventos em um barramentoSncronoEventos determinados por sinais de clockBarramento de controle possui uma linha de clockUm ciclo de barramento 1-0Todos os dispositivos recebem a linha de clockUsualmente a sincronia acontece no edge de descidaUsualmente um ciclo de clock por evento23Aula 3 Interconexo do Computador
23
Diagrama de temporizao sncronaCiclo de LeituraSinal de clock controla a operao do barramentoEx. 1 Ciclo: processador coloca sinais nas linhas de endereo e emite sinal de ativao do endereo2 Ciclo: Leitura: memria localiza a posio3 Ciclo:Leitura: Memria coloca os dados no barramento e processador efetua leitura
Aula 3 Interconexo do Computador24
24
Diagrama de temporizao sncronaCiclo de EscritaSinal de clock controla a operao do barramentoEx. 1 Ciclo: processador coloca sinais nas linhas de endereo e emite sinal de ativao do endereo2 Ciclo: Escrita: Processador coloca os dados nas linhas de memria3 Ciclo:Escrita: Copia a informao das linhas de dados para posio de memria
Aula 3 Interconexo do Computador25
25
Temporizao Assncrona Diagrama de leituraProcessador coloca todos os sinais no barramentoPulso na linha de leitura faz com que memria localizar o endereo desejado e coloque os dados no barramentoQuando o dados for vlido a memria ativa a linha de confirmao e o processador efetua a leituraAula 3 Interconexo do Computador26
26
Temporizao Assncrona Diagrama de escritaProcessador coloca todos os sinais no barramentoPulso na linha de escrita faz com que memria armazene os dados na posio desejadaMemria coloca um sinal de confirmao no barramentoAula 3 Interconexo do Computador27
27
Tipos de transferncias de dadosPerspectiva do processadorAula 3 - Viso de alto nvel da funo28Endereo(1ciclo)Dados(2ciclo)Tempo de acessoEndereoDados
EndereoLeitura de dadosEscrita de dados
EndereoEscrita de dadosLeitura de dadosDadosEndereoDadosDados
Endereo
DadosEndereo
DadosTempoTempoTempoOperao de escrita (multiplexada)Operao de leitura (multiplexada)Operao de leitura-modificao-escritaOperao de leitura-aps-escritaTransferncia de dados em blocoOperao de escrita ( no multiplexada)Operao de escrita (no multiplexada)*Multiplexado mesmo barramento para endereo e dados
28
Estrutura e funo do processadorAula 1229AUla 12 - Estrutura e funo do processador
29
Organizao da CPUO projeto de uma CPU deve atender os seguintes requisitos:Busca de instrues (fetch)Ler uma instruo da memria (registrador, cache, principal)Interpretao de instruesDecodificar a instruo e determinar a ao requeridaBusca de dadosLer os dados da memria ou de algum mdulo de E/SProcessamento de dadosEfetuar uma operao aritmtica ou lgica com os dadosEscrita de dadosGravar os resultados na memria ou mdulo de E/S30
AUla 12 - Estrutura e funo do processador
22
Estrutura de barramento e organizao internaAUla 12 - Estrutura e funo do processador31
CPU com barramento de sistemaEstrutura Interna da CPU
31
Registradores
32AUla 12 - Estrutura e funo do processador
32
Organizao dos RegistradoresA CPU deve possuir espao para manipulao de dados (armazenamento temporrio)Nmero e funes dos registradores variam de acordo com o design do processadorMaior deciso de design (quantos e qual funo?)Nvel mais alto da hierarquia de memriaDois tipos:Registradores visveis aos usurioRegistradores de controle e estado33
AUla 12 - Estrutura e funo do processador
23
Registradores visveis ao usurioSo os registradores que podem ser referenciados pelos recursos da linguagem de mquina que o processador executa.Propsito geralDadosEndereosCdigos de condio34
AUla 12 - Estrutura e funo do processador
24
Registradores de propsito geral (1)Pode possuir qualquer funo atribuda pelo programador. Isto , pode conter um operando para qualquer opcode.Porm podem existir restries para seu uso (ponto flutuante, operao de pilha, etc)Podem ser usados para dados e endereamentoDadosAcumulador podem ser empregados para clculos de endereamentosEndereamentoIndireto por registrador, deslocamentoUso geral ou endereamento em particular35
AUla 12 - Estrutura e funo do processador
25
Registradores de propsito geral(2)Caso eles sejam de uso geralAumenta a flexibilidade e as opes do programadorAumento o tamanho & complexidade das instruesCaso eles sejam especializadosInstrues menores e mais rpidasMenor flexibilidade36
AUla 12 - Estrutura e funo do processador
26
Quantos registradores de propsito geral?Entre 8 32 (No muito bem definido)i Quanto menos registradores mais referncias so feitas na memriaPorm, mais registradores no reduz as referncias na memria37
AUla 12 - Estrutura e funo do processador
27
Qual o tamanho de um registrador?Grande o suficiente para armazenar um endereo completoGrande suficiente para armazenar uma palavra completaDeve ser possvel combinar dois registradores de dados:Programao em C: long int a;38
AUla 12 - Estrutura e funo do processador
28
Registradores de controle & statusControlam a operao do processador e na maior parte dos sistemas no visvel ao usurio. Diferentes mquinas possuem diferentes organizaes. Porm os quatro essenciais so:Contador de programas (PC)Registrador da instruo (IR)Registrador de endereo de memria (MAR) Registrador buffer de memria (MBR)
39
AUla 12 - Estrutura e funo do processador
30
Registradores de cdigo de condioConjunto de bits individuaise.x. resultado da ltima operao foi zeroPode ser lido (implicitamente) pelos programase.x. Jump se zeroNo pode (usualmente) ser configurado por programas
40
AUla 12 - Estrutura e funo do processador
29
Palavra de status de um programaMuitos modelos possuem palavra de estado do programa (PSW). Bits comuns encontrados em um PSW incluem as seguintes informaes:Sinal da ltima operao aritmticaZeroCarryEqualOverflowInterrupo Habilitada/desabilitada41
AUla 12 - Estrutura e funo do processador
31
Cdigos condicionaisAUla 12 - Estrutura e funo do processador42
42
Exemplos de organizao de registradores43
AUla 12 - Estrutura e funo do processador
Viso de alto nvel da funoAula 344Aula 3 - Viso de alto nvel da funo
44
Viso de alto nvelPossvel descrever um sistema de computao de acordo com:O comportamento externo de cada componenteDados e sinais de controle que ele troca com os outros componentesEstrutura de interconexo e controles exigidos para gerenciar a estrutura de interconexo
Aula 3 - Viso de alto nvel da funo45
45
Conceito de programa armazenadoTrs conceitos principais de Von NeumannDados e instrues em uma nica memria escritaMemria enderevel por local, sem considerar o tipo de dados contidoExecuo ocorre de forma sequencial de uma instruo para a prxima46Aula 3 - Viso de alto nvel da funo
46
Conceito de programa armazenado (2)Sistemas hardwired so inflexveisHardware de propsito geral?Hardware de propsito geral podem realizar diferentes tarefas dado os corretos sinais de controleAo invs de re-cabear o hardware, deve-se apenas utilizar um novo conjunto de sinais de controle47Aula 3 - Viso de alto nvel da funo
47
Hardwired vs. HW + SWHardwiredAceita dados e produz resultadose.x.
Hardware + SoftwareAceita dados e sinais de controle e produz resultadoe.x.Aula 3 - Viso de alto nvel da funo48
48
HW + SW O que um programa armazenado?Sinais de controleDetermina uma sequncia de passosPara cada passo, uma operao lgica ou aritmtica realizadaPara cada operao, um conjunto diferente de sinais de controle necessrio.Conjunto de sinais de controle InstruoConjunto de instrues Software 49Aula 3 - Viso de alto nvel da funo
49
Funo da unidade de controlePara cada operao que pode ser realizada um nico cdigo (opcode) utilizadoe.x. ADD, MOVEUm segmento do hardware recebe o cdigo e fornece os sinais de controle
Dessa forma: Temos um computador!!50Aula 3 - Viso de alto nvel da funo
50
Componentes do computador:Viso de alto nvelUnidade central de processsamentoUnidade de Controle (CU)Unidade lgica aritmtica (ALU)
Aula 3 - Viso de alto nvel da funo51
51
Componentes do computador:Viso de alto nvelDados e instrues devem entrar no sistema e o resultado produzido deve sairEntrada/sada - Input/output (mdulo I/O)
Aula 3 - Viso de alto nvel da funo52
52
Componentes do computador:Viso de alto nvelArmazenamento temporrio do cdigo e dos resultados necessrioMemria RAM
Aula 3 - Viso de alto nvel da funo53
53
Interao entre componentesCPU MemriaMAR prximo endereo para leitura ou escrita na memriaMBR dados que foram lidos ou sero escritos na memriaAula 3 - Viso de alto nvel da funo54
54
Funo do computadorExecutar um programa, sendo assimCPU deve executar conjunto de instrues que est na memria
Como isso funciona?Executa os ciclos de cada instruo Aula 3 - Viso de alto nvel da funo55
55
Ciclo de instruo (1)Dois passos:Busca (Fetch)Execuo
56Aula 3 - Viso de alto nvel da funo
56
Ciclo de Busca (Fetch Cycle) (2)Contador de Programa (PC) armazena o endereo da prxima instruo a ser buscadaAula 3 - Viso de alto nvel da funo57
57
Ciclo de Busca (Fetch Cycle) (3)Processador busca de uma localizao na memria apontada pelo contador de instruoAula 3 - Viso de alto nvel da funo58
58
Ciclo de Busca (Fetch Cycle) (4)O contedo do contador de programa incrementadoAo menos que o comando altere seu contedoAula 3 - Viso de alto nvel da funo59
+1
59
Ciclo de Busca (Fetch Cycle) (5)Instruo armazenada no Registrador de Instruo (IR)Aula 3 - Viso de alto nvel da funo60
+1
60
Ciclo de Busca (Fetch Cycle) - ResumoContador de Programa (PC) armazena o endereo da prxima instruo a ser buscadaProcessador busca de uma localizao na memria apontada pelo contador de instruoO contedo do contador de programa incrementadoAo menos que o comando altere seu contedoInstruo armazenada no Registrador de Instruo (IR)
61Aula 3 - Viso de alto nvel da funo
61
Ciclo de execuo (Execute Cycle) (1)Processador interpreta a instruo e executa as aes solicitadas, como:Processador - memriaTransferir dados entre a CPU e a memria principalAula 3 - Viso de alto nvel da funo62
62
Ciclo de execuo (Execute Cycle) (2)Processador interpreta a instruo e executa as aes solicitadas, como:Processador Entrada e Sada (E/S)Transferir dados entre CPU e mdulo de E/SAula 3 - Viso de alto nvel da funo63
63
Ciclo de execuo (Execute Cycle) (3)Processador interpreta a instruo e executa as aes solicitadas, como:Processamento de dadosOperaes lgicas ou aritmticas sobre os dadosAula 3 - Viso de alto nvel da funo64
64
Ciclo de execuo (Execute Cycle) (4)Processador interpreta a instruo e executa as aes solicitadas, como:ControleAlterao da sequncia de operaese.x. jump (desvio)Ou ainda, combinaes das funes acimaAula 3 - Viso de alto nvel da funo65
65
Ciclo de execuo (Execute Cycle) - ResumoProcessador interpreta a instruo e executa as aes solicitadas, como:Processador - memriaTransferir dados entre a CPU e a memria principalProcessador Entrada e Sada (E/S)Transferir dados entre CPU e mdulo de E/SProcessamento de dadosOperaes lgicas ou aritmticas sobre os dadosControleAlterao da sequncia de operaese.x. jump (desvio)Ou ainda, combinaes das funes acima66Aula 3 - Viso de alto nvel da funo
66
Mquina HipotticaAula 3 - Viso de alto nvel da funo67OpcodeEndereo
Magnitude034151501Contador de programa (PC) = Endereo da InstruoRegistrador de instruo (IR) = Instruo sendo executadaAcumulador (AC) = Armazenamento temporrio0001 = Carrega AC da memria (0x1)0010 = Armazena AC na memria (0x2)0101 = Adiciona da memria ao AC (0x5)(a) Formato da instruo(b) Formato de inteiro(c) Registradores internos da CPU(d) Lista parcial de opcodes
67
Exemplo de execuo de um programa (1)Somar o contedo das posies de memria 940 e 941 e armazenar na memria
LOAD M(940)ADD M(941)STOR M(941)
Contador de programa = 300
Aula 3 - Viso de alto nvel da funo68
Contador de programa (PC) = Endereo da InstruoRegistrador de instruo (IR) = Instruo sendo executadaAcumulador (AC) = Armazenamento temporrio0001 = Carrega AC da memria0010 = Armazena AC na memria0101 = Adiciona da memria ao AC(c) Registradores internos da CPU(d) Lista parcial de opcodes OpcodeEndereo03415(a) Formato da instruo
68
Exemplo de execuo de um programa (2)LOAD M(940)ADD M(941)STOR M(941)
Aula 3 - Viso de alto nvel da funo69
Contador de programa (PC) = Endereo da InstruoRegistrador de instruo (IR) = Instruo sendo executadaAcumulador (AC) = Armazenamento temporrio0001 = Carrega AC da memria0010 = Armazena AC na memria0101 = Adiciona da memria ao AC(c) Registradores internos da CPU(d) Lista parcial de opcodes OpcodeEndereo03415(a) Formato da instruo(a) Busca(b) Execuo
69
Exemplo de execuo de um programa (3)LOAD M(940)ADD M(941)STOR M(941)
Aula 3 - Viso de alto nvel da funo70
Contador de programa (PC) = Endereo da InstruoRegistrador de instruo (IR) = Instruo sendo executadaAcumulador (AC) = Armazenamento temporrio0001 = Carrega AC da memria0010 = Armazena AC na memria0101 = Adiciona da memria ao AC(c) Registradores internos da CPU(d) Lista parcial de opcodes OpcodeEndereo03415(a) Formato da instruo(a) Busca(b) Execuo
70
Exemplo de execuo de um programa (4)LOAD M(940)ADD M(941)STOR M(941)
Aula 3 - Viso de alto nvel da funo71
Contador de programa (PC) = Endereo da InstruoRegistrador de instruo (IR) = Instruo sendo executadaAcumulador (AC) = Armazenamento temporrio0001 = Carrega AC da memria0010 = Armazena AC na memria0101 = Adiciona da memria ao AC(c) Registradores internos da CPU(d) Lista parcial de opcodes OpcodeEndereo03415(a) Formato da instruo(a) Busca(b) Execuo
71
Ciclo de Instruo Diagrama de Estados
Operaes na CPUCPU-Memria72Aula 3 - Viso de alto nvel da funo
72