1 / 42

FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2. Instrutor.: Frank S. Fernandes Bastos (frank.bastos@gmail.com) Foco.: Adiquirir conhecimento preparatório para Concurso referente itens complementares sobre fundamentos Público.: Estudantes de concurso específico

Download Presentation

FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2 Instrutor.: Frank S. Fernandes Bastos (frank.bastos@gmail.com) 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)

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

  3. BALANCEAMENTO DE CARGA

  4. PERSISTÊNCIA Sessão 1 Sessão 2 Sessão 3 Sessão 4 Cliente INTERNET

  5. Formas de acesso ao Cache ■ 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.

  6. Formas de acesso ao Cache • ■ 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

  7. Problemas no acesso ao Cache • 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

  8. Mapeamento do Cache • 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

  9. Mapeamento direto • É 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))

  10. Mapeamento Direto

  11. Mapeamento direto • 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.

  12. Mapeamento direto

  13. Mapeamento associativo • 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.

  14. Desvantagem do Mapeamento associativo 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.

  15. Mapeamento associativo 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.

  16. Mapeamento associativo 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.

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

  18. Passos do Mapeamento associativo 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.

  19. Mapeamento associativo • 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.

  20. Mapeamento associativo conjuntivo • 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.

  21. Passos para o mapeamento associativo conjuntivo 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.

  22. mapeamento associativo conjuntivo •  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

  23. Técnica de transferência de I/O

  24. Porque estudar I/O? •  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

  25. Porque estudar I/O? •  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!

  26. Tipos de barramentos  Arquitetura de barramento único  Arquitetura de barramento em dois níveis  Arquitetura de barramento hierarquica

  27. Barramento único  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

  28. Barramentos de dois níveis  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 de Barramentos;  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;

  29. Barramento hierárquico  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 barramento principal)  Ao barramento backplane estão ligados diferentes barramentos de I/O através de adaptadores

  30. Mapeamento de I/O • 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

  31. Mapeamento de I/O – Memory Mapped  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

  32. Mapeamento de I/O – portas de I/O  Dois espaços distintos de endereçamento  Entrada e saída acessadas por instruções específicas (IN, OUT)  Ex: Microprocessador da INTEL

  33. Modos de transferência de I/O • ■ 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

  34. I/O Programada •  É 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).

  35. I/O Programada - Bloqueado • ■ 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

  36. I/O Programada - Polling • ■ 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

  37. I/O por interrupção •  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

  38. I/O com utilização de DMA • ■ 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 outras • operaçõ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

  39. PROTOCOLOS – Parte 1 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)

  40. Domínios, Árvores e Florestas

  41. Objetos e atributos • 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.

  42. Contato Frank S. F. Bastos E-MAIL.: Frank.bastos@gmail.com MSN.: frankbastos@hotmail.com Skype.: frankbastos

More Related