aula 1.1 arquiterura de computadores

72
Arquitetura de Computadores ECO015 Engenharia de Computação

Upload: carolina-alencar

Post on 16-Nov-2015

3 views

Category:

Documents


0 download

DESCRIPTION

digital 2

TRANSCRIPT

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