FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

42
FUNDAMENTOS DA COMPUTAÇÃO FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2 Aula 3 – Parte 2 Instrutor.: Frank S. Fernandes Bastos Frank S. Fernandes Bastos ([email protected]) Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos Público.: Estudantes de concurso específico Local.: Sala de aula - Obcursos Número Slides.: 20 (incluindo este)

description

FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2. Instrutor.: Frank S. Fernandes Bastos ([email protected]) Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos Público.: Estudantes de concurso específico - PowerPoint PPT Presentation

Transcript of FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Page 1: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

FUNDAMENTOS DA COMPUTAÇÃOFUNDAMENTOS DA COMPUTAÇÃO

Aula 3 – Parte 2Aula 3 – Parte 2

Instrutor.: Frank S. Fernandes BastosFrank S. Fernandes Bastos ([email protected])

Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos

Público.: Estudantes de concurso específico

Local.: Sala de aula - Obcursos

Número Slides.: 20 (incluindo este)

Page 2: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Adquirir conhecimentos complementares sobre os fundamentos relativo a arquitetura de computadores.

OBJETIVOSOBJETIVOS

Page 3: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

BALANCEAMENTO DE CARGABALANCEAMENTO DE CARGA

Page 4: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

PERSISTÊNCIAPERSISTÊNCIA

Cliente INTERNET

Sessão 1 Sessão 2 Sessão 3 Sessão 4

Page 5: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ Hit - dado encontrado no nível procurado.■ Miss - dado não encontrado no nível procurado.■ Hit-rate (ratio) - percentual de hits no nível.■ Miss-rate (ratio) – percentual de misses no nível. É complementar ao hit-rate.■ Hit-time – tempo de acesso ao nível incluindo tempo de ver se é hit ou miss.■ Miss-penalty – tempo médio gasto para que o dado não encontrado no nível desejado seja transferido dos níveis mais baixos.

Formas de acesso ao CacheFormas de acesso ao Cache

Page 6: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ Cálculo do tempo médio (tme) efetivo de acesso a uma memória cache considerando:

Hit-ratio = 80% Hit-time = 2 ns Miss-penalty = 10 ns

■ Tme = hit-time + (1 – hit-rate) * miss-penalty

Formas de acesso ao CacheFormas de acesso ao Cache

Page 7: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Como a cache só pode conter parte dos dados por causa de seu tamanho, tem-se dois problemas:

Como identificar se o dado procurado está na cache; Se ele estiver na cache, como acessá-lo de forma rápida.

■ A solução é fazer o mapaemento de endereços

Problemas no acesso ao CacheProblemas no acesso ao Cache

Page 8: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

O termo mapeamento é usado para indicar o relacionamento dos dados do nível inferior com as posições da memória cache

■ Existem três tipos de mapeamento.:

Direto Associativo Conjuntivo associativo

Mapeamento do CacheMapeamento do Cache

Page 9: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

É a forma mais simples de mapeamento;

Cada bloco na memória principal é mapeado em uma linha da cache; Este mapeamento é dado diretamente através de uma operação no

endereço que se está procurando;

Exemplo: Para uma cache de 8 posições e uma memória de 32 endereços teríamos palavras de 4 bits.

Cada posição da cache pode ter 4 posições da memória Os 3 bits menos significativos são usados para indexar

os blocos (log2(8))

Mapeamento diretoMapeamento direto

Page 10: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Mapeamento DiretoMapeamento Direto

Page 11: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Etapas do reconhecimento e recebimento do dato.

• Identificação por rótulos, contidos nos bits que não estão sendo utilizados nos índices da cache, possui 2 bits já que dos 5 bits totais, 3 bits são usados para o índice.• Saber se o dado do bloco, realmente corresponde ao dado solicitado e também se ele existe. Nesse caso utiliza-se um bit de validade.

• Se o bit for zero, não há necessidade de comparação de rotulos.

Mapeamento diretoMapeamento direto

Page 12: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Mapeamento diretoMapeamento direto

Page 13: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Caracteriza-se por um bloco da memória principal poder ser colocado em qualquer posição da cache, ou seja, um bloco de memória pode ser associado a qualquer entrada da cache.

Isso produz 100% de aproveitamento da cache;

Consequentemente é preciso: ➔ Pesquisar todas as entradas da cache para encontrar um

determinado bloco, uma vez que tal bloco pode estar em qualquer lugar da cache.

➔ Política de substituição, quando se tem falta (miss), a cache está cheia e é preciso tirar alguém.

Mapeamento associativoMapeamento associativo

Page 14: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

A solução para tornar a pesquisa rápida, é fazê-la em paralelo com um comparador associado (hardware) a cada uma das entradas da cache.

Tais comparadores aumentam o custo de hardware, o que torna o mapeamento associativo idéal somente para pequenas caches, com capacidade para armazenar um pequeno número de blocos.

Desvantagem do Mapeamento Desvantagem do Mapeamento associativoassociativo

Page 15: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Já a solução para substituição pode ser:

➔ Randômica: escolher aleatoriamente uma posição a ser substituída

➔ LFU (Least Frequent Used): a posição da cache que foi usada menos vezes será substituída. É preciso incrementa um contador a cada acesso e comparação para escolha;

➔ LRU (Least Recent Used): a posição da cache que foi usada a mais tempo será substituída. É preciso incrementar um contador a cada acesso e comparação para escolha.

Mapeamento associativoMapeamento associativo

Page 16: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Já a solução para substituição pode ser:

➔ Randômica: escolher aleatoriamente uma posição a ser substituída

➔ LFU (Least Frequent Used): a posição da cache que foi usada menos vezes será substituída. É preciso incrementa um contador a cada acesso e comparação para escolha;

➔ LRU (Least Recent Used): a posição da cache que foi usada a mais tempo será substituída. É preciso incrementar um contador a cada acesso e comparação para escolha.

Mapeamento associativoMapeamento associativo

Page 17: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

O endereço é dividido em um rótulo (tag) que identifica a linha e o número do identificador do byte;

Mapeamento associativoMapeamento associativo

Page 18: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

1. Alimentar a memória associativa com o tag procurado.2. Se o tag procurado não está na cache acontece miss. Ir para 4.3. Se acontece hit, acessar a memória cache com o índice fornecido e efeturar leitura. FIM.4. Se não existir posição livre na cache, escolher um endereço para substituir (LRU).5. Buscar o endereço procurado no nível mais baixo e colocar a posição livre (ou escolhida) da cache cadastrando essa posição e a tag na memória e efeturar leitura. FIM.

Passos do Mapeamento associativoPassos do Mapeamento associativo

Page 19: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Vantagens ➔ Melhor aproveitamento das posições da cache, pois depois de

cheia se tem 100% de aproveitamento ➔ Dados de controle não ficam na cache

Desvantangens ➔ Memória associativa tem alto custo e tamanho limitado ➔ Limita o número de linhas da cache ➔ Necessita de política de substituição, que custa tempo e ainda

pode-se escolher mal.

Mapeamento associativoMapeamento associativo

Page 20: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Meio termo entre mapeamento direto e associativo.

Uma cache associativa conjuntiva é dividida em S conjuntos (set) de N blocos

➔ Se S =1, mapaeamento associativo; ➔ Se S =N, mapeamento direto

Um endereço da memória principal pode ser mapeado para qualquer endereço no conjunto da cache.

É preciso fazer procura dentro do conjunto. Também faz uso de política para substituição.

Mapeamento associativo conjuntivoMapeamento associativo conjuntivo

Page 21: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

1. Calcular o módulo do endereço procurado pelo número de conjuntos S da cache.2. Alimentar a memória associativa deste conjunto com o tag procurado. 3. Se o tag procurado não está na cache acontece miss. Ir para 5. 4. Se acontece hit, acessar a memória cache com o índice fornecido e efeturar leitura. FIM.5. Se não existir posição livre na cache, escolher um endereço para substituir (LRU).6. Buscar o endereço procurado no nível mais baixo e colocar a posição livre (ou escolhida) da cache cadastrando essa posição e a tag na memória e efeturar leitura. FIM.

Passos para o mapeamento associativo Passos para o mapeamento associativo conjuntivoconjuntivo

Page 22: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Vantagens ➔ Aumenta o tamanho da cache mantendo o tamanho da

memória associativa ➔ Bastante flexível ➔ Usa a totalidade da área da cache para dados

Desvantagens ➔ Tem alto custo e tamanho limitado ➔ Necessita de política de substituição ➔ Tempo acesso maior devido ao cálculo ➔ Dependendo da geração de endereços não se aproveita a

totalidade das posições da cache

mapeamento associativo conjuntivomapeamento associativo conjuntivo

Page 23: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Técnica de transferência de I/OTécnica de transferência de I/O

Page 24: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

O desempenho de CPUs aumenta de 50% a 100% por ano;

O desempenho Supercomputadores com multiprocessadores aumenta 150% por ano;

Já o desempenho de subsistemas de I/O é limitado por atrasos mecânicos;

➔ Em média o crescimento é de 5% por ano (I/O por seg ou MB por seg);

Na prática, o gargalo é I/O: ➔ CPU estão ficando mais rápidas ➔ Velocidade de CPUs está fazendo menos diferença

Porque estudar I/O?Porque estudar I/O?

Page 25: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Hoje: ➔ O poder de processamento dobra a cada 18 meses ➔ Tamanho de memória dobra a cada 18 meses (?) ➔ Capacidade de disco dobra a cada 18 meses ➔ Velocidade de posicionamento dos discos (Seek + Rotate) dobra a

cada 10 anos!

Porque estudar I/O?Porque estudar I/O?

Page 26: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Arquitetura de barramento único Arquitetura de barramento em dois níveis

Arquitetura de barramento hierarquica

Tipos de barramentosTipos de barramentos

Page 27: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Memória e dispositivos de I/O estão ligados a CPU atráves de um único barramento

Forma mais simples de interconexão Barramento tem que acomodar dispositivos com características e

velocidades bem diferentes e o desempenho da comunicação cai

Barramento únicoBarramento único

Page 28: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

O processador e a memória podem se comunicar atravé de um barramento principal;

Outros barramentos de I/O estão ligados ao barramento principal através de adaptadores, compondo um segundo nível na arquitetura deBarramentos;

Dessa forma, o barramento principal pode funcionar a uma velocidade maior já que os adaptadores se encarregam da comunicação com os barramentos de I/O mais lentos;

Barramentos de dois níveisBarramentos de dois níveis

Page 29: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

O processador e a memória se comunicam atravé de um barramento principal

Um barramento backplane concentra toda I/O do sistema e é ligado ao barramento principal (só um adaptador é ligado ao barramentoprincipal)

Ao barramento backplane estão ligados diferentes barramentos de I/O através de adaptadores

Barramento hierárquicoBarramento hierárquico

Page 30: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Mapeamento de I/O é o que faz um barramento é definir regras do que deve-se fazer para tranferir um bloco ou palavra.

■ Duas formas: Memory mapped; portas de I/O

Mapeamento de I/OMapeamento de I/O

Page 31: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Um único espaço de endereçamento Destina-se um conjunto de endereços aos periféricos Instruções à memória pode ser tanto memória quanto operações de I/O O mapeamento em memória tem a vantagem de permitir uma maior

proteção ao acesso direto a dispositivos, pois os endereços de I/O podem ser controlados pelo S.O.

Ex: processadores da Motorola

Mapeamento de I/O – Memory Mapeamento de I/O – Memory MappedMapped

Page 32: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Dois espaços distintos de endereçamento Entrada e saída acessadas por instruções específicas (IN, OUT)

Ex: Microprocessador da INTEL

Mapeamento de I/O – portas de Mapeamento de I/O – portas de I/OI/O

Page 33: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ O que se deseja é: Rapidez na resposta a eventos criticos Não sobrecarga da CPU com atividades como acesso a disco e

refresh de memória

■ Três modos de implementar: Programado Interrupção DMA

Modos de transferência de I/OModos de transferência de I/O

Page 34: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

É controlada pela CPU (registradores e instruções específicas) O processador pergunta para cada dispositivo se este está apto a

receber ou transmitir uma unidade de informação e em caso afirmativo realiza a transferência;

Existem dois tipos: ➔ Bloqueado (busy way); ➔ Polling (inquisição).

I/O ProgramadaI/O Programada

Page 35: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ Bloqueado (busy way) Uma vez iniciada a comunicação, a CPU fica ocupada (escrava) até

o término da operação CPU é subutilizada, pois os periféricos são muito mais lentos que a

CPU

Ex: balança eletrônica

I/O Programada - BloqueadoI/O Programada - Bloqueado

Page 36: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ Polling A CPU periodicamente testa o conteúdo dos bits do(s)

registrador(es) de estado existente(s) nos controladores de I/O Em cada controlador há registradores que indicam tranferência a ser

realizada (status) No modo polling a CPU possui controle total, realizando todo o

trabalho

I/O Programada - PollingI/O Programada - Polling

Page 37: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Criada para solucionar o problema do tempo desperdiçado com múltiplos testes que é inerente do polling;

Controladora é avisada pelo dispositivo que este está pronto para transmitir/receber dados;

Principais características: ➔ Assincronismo em relação a qualquer instrução, ocorrendo a

qualquer instante ➔ Na ocorrência de uma interrupção, a mesma é atendida após o

término da instrução corrente. O teste de interrupção é feito depois da execução da instrução

➔ Diferenciar interrupção de hardware de excessões ➔ Dispositivos podem ter diferentes prioridades

I/O por interrupçãoI/O por interrupção

Page 38: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

■ DMA (Transferência direta à memória)

Na idéia de interrupção, a CPU é liberada da tarefa de aguardar por ocorrência de eventos de I/O, mas continua sendo o elemente ativo

A solução é usar DMA. Dispositivo controlador é o responsável pela tranferência de dados, ficando a CPU livre para realizar outrasoperações.

Mecanismos de interrupção continuam sendo utilizados pelo controlador para comunicação com o processador, mas apenas no término de um evento de I/O ou na ocorrência de erros

Durante a operação o controlador DMA se torna o mestre do barramento e controla a transferência I/O <-> memória

I/O com utilização de DMAI/O com utilização de DMA

Page 39: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

TCP - Transmission Control Protocol (Comunicação)

FTP – File Transfer Protocol (Transferência de Arquivos)

SMTP – Simple Mail Transport Protocol (Informações)

LDAP - Lightweight Directory Access Protocol (Serviço de diretório)

SNMP – Simple Network Management Protocol (Gerenciamento)

PROTOCOLOS – Parte 1PROTOCOLOS – Parte 1

Page 40: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Domínios, Árvores e FlorestasDomínios, Árvores e Florestas

Page 41: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

• Domain – Contém um agrupamento de todos os demais objetos

• Organizational Unit – Consiste em uma espécie de container

• User – Objeto de usuário

• Computer – Objeto de associação a computadores

• Group – Representação gráfica de grupos de usuários, computadores e/ou árvores de replicação

• Shared Folders – Associação à compartilhamentos de arquivos

• Printer – Objeto relacionado à impressoras locais ou de rede.

Objetos e atributosObjetos e atributos

Page 42: FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

Frank S. F. Bastos

E-MAIL.: [email protected]

MSN.: [email protected]

Skype.: frankbastos

ContatoContato