FUNDAMENTOS DA COMPUTAÇÃO Aula 3 – Parte 2
-
Upload
amethyst-farrell -
Category
Documents
-
view
69 -
download
4
description
Transcript of 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)
Adquirir conhecimentos complementares sobre os fundamentos relativo a arquitetura de computadores.
OBJETIVOSOBJETIVOS
BALANCEAMENTO DE CARGABALANCEAMENTO DE CARGA
PERSISTÊNCIAPERSISTÊNCIA
Cliente INTERNET
Sessão 1 Sessão 2 Sessão 3 Sessão 4
■ 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
■ 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
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
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
É 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
Mapeamento DiretoMapeamento 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.
Mapeamento diretoMapeamento direto
Mapeamento diretoMapeamento direto
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
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
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
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
O endereço é dividido em um rótulo (tag) que identifica a linha e o número do identificador do byte;
Mapeamento associativoMapeamento 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.
Passos do Mapeamento associativoPassos do 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.
Mapeamento associativoMapeamento associativo
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
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
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
Técnica de transferência de I/OTécnica de transferência de 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
Porque estudar I/O?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!
Porque estudar I/O?Porque estudar I/O?
Arquitetura de barramento único Arquitetura de barramento em dois níveis
Arquitetura de barramento hierarquica
Tipos de barramentosTipos de barramentos
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
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
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
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
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
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
■ 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
É 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
■ 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
■ 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
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
■ 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
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
Domínios, Árvores e FlorestasDomínios, Árvores e Florestas
• 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
Frank S. F. Bastos
E-MAIL.: [email protected]
MSN.: [email protected]
Skype.: frankbastos
ContatoContato