Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/04/2020 1 Requisitos para Alto Desempenho Balanceamento do desempenho 2 Alto Desempenho • Balanço de Desempenho • Aumento da via de dados • Uso de memória cache • Incorporação de estruturas de cache • Melhoria do barramento entre CPU e Memória • Uso de hierarquias de barramentos (cpu- memória, memória-entrada e saída) • Memória Cache • Justificativa • Velocidade • Funcionamento • Princípio da Localidade Balanço do desempenho Embora a capacidade de processamento do processador tenha crescido em uma velocidade espantosa, outros componentes críticos do computador não a acompanharam. O resultado é a necessidade de procurar o balanço do desempenho. Esse balanço trata de um ajuste da organização e da arquitetura para compensar a diferença entre as capacidades dos diversos componentes. O problema criado por essas diferenças é particularmente importante na interface entre o processador e a memória principal. Balanço do desempenho Dentre as técnicas para melhorar a interligação da CPU com a memória principal, temos: Aumento do número de bits que são recuperados ao mesmo tempo, tornando a DRAM (Dynamic Random Access Memory) mais larga ao invés de mais profunda, usando caminhos de dados largos no barramento. Alteração da interface da DRAM para torná-la mais eficiente, incluindo uma cache ou outro esquema de buffering no chip da DRAM. 5 Memória Principal Tipos básicos: PROM: apenas escritos 1x EPROM: Erasable programmable read-only memory DRAM: Dynamic random access memory SRAM: Static random access memory chips (não-voláteis) FLASH memory chips offer extremely fast access times, low power consumption, do not need a constant power supply DRAM Architecture Hierarquia de Memória O núcleo do Sistema Operacional precisa gerenciar a transferência transparente de dados de um nível para outro 6 Balanço do desempenho Entre as técnicas para melhorar a interligação com a memória principal, temos: Redução da frequência de acesso à memória incorporando estruturas de cache cada vez mais complexas e eficientes entre o processador e a memória principal. Incorporar uma ou mais estruturas de cache no chip do processador, bem como uma cache fora do chip, próxima ao chip do processador. Aumento da largura de banda de interconexão entre o processador e a memória usando barramento de velocidade mais alta e usando uma hierarquia de barramentos para armazenar e estruturar o fluxo de dados. CPU MEMÓRIA PRINCIPAL Diferentes estruturas de cache MEMÓRIA CACHE L3 MEMÓRIA CACHE L2 MEMÓRIA CACHE L1 Barramento MEMÓRIA SECUNDÁRIA HD 9 (a) Barramento único X (b) Barramentos separados Balanço do desempenho Barramentos 10 Arquitetura Real Hierarquia de Barramentos Arquitetura de um Pentium Balanço do desempenho Entre as técnicas para melhorar o tratamento com dispositivos de E/S, temos: DMA (Direct Memory Access): que possibilita programar a controladora do dispositivo de E/S para escrever ou ler os dados diretamente nos buffers de E/S da memória principal sem intervenção do processador, sinalizando quando a operação for completada. DCA (Direct Cache Access) que possibilita o acesso direto aos dados mantidos em cache pelos controladores dos dispositivos de E/S, o que agiliza significativamente o acesso aos dados que serão usados nas operações de E/S. 12 Direct Memory Access (DMA) Em várias arquiteturas existe um componente de HW dedicado à transferência direta de blocos de dados para a memória - Direct Memory Access (DMA): Evita que a CPU tenha que executar o loop para transferência do bloco de/para a memória principal. CPU apenas inicia E/S informando: endereço inicial na memória, endereço do bloco no disco, número de bytes a serem transferidos. 13 Acesso Direto à Memória (DMA) Operação de uma transferência com DMA Configurações de uso de DMA 15 Memória Cache Justificativas: Diferença de velocidade entre UCP e Memória RAM O princípio da localidade 16 Diferença de velocidade entre UCP e memória RAM A memória RAM é muito mais lenta do que o processador (UCP). A UCP processa dados mais rápido do que a memória RAM pode enviar. Resultado: longos períodos de ociosidade e, desperdício de capacidade do processador. Para resolver esse problema foi criada a memória cache. 17 Diferença de velocidade entre UCP e memória RAM A memória cache é muito mais rápida (muito mais cara e menor) que a memória RAM Fornece as instruções relacionadas a futuras execuções para o processador. Possui alta velocidade e tem por função armazenar dados e instruções que a CPU poderá precisar em breve. Possibilita que o processador trabalhe com toda a capacidade e tenha o mínimo de tempo ocioso possível. 18 Como funciona a memória cache Quando a CPU precisar buscar a sua primeira instrução, ela terá de ir até a memória RAM, pois a memória cache estará vazia. Em vez de trazer apenas a solicitação feita pela CPU, a unidade de busca traz um bloco inteiro de instruções que é armazenado na memória cache (uma página). Quando o processador for continuar a executar o referido programa, as informações (instruções e dados) seguintes já estarão armazenadas na memória cache. Assim, a unidade de busca não precisará ir até a memória RAM (mais lenta) para obtê-las, a busca será feita na memória cache. 19 Princípio da localidade Sempre que a UCP precisar buscar informações em memória, após a busca inicial, ela irá acessar a memória cache. Se a informação (instrução ou dado) estiver na memória cache (ocorre um acerto ou hit), ela é tranferida em alta velocidade para a UCP. Se a instrução ou dado não estiver na cache (ocorre uma falta ou miss), o programa é interrompido e um bloco contendo as informações necessárias para a execução das instruções ou para acesso aos dados são transferidas para a cache, para a continuidade da execução do programa, na suposição de que essas instruções e dados serão acessados em seguida. De fato, cerca de 80% a 90% dos acessos à cache são acertos ou hits. 20 Níveis de cache Devido ao alto curso da memória cache, são implementados, nas arquiteturas, diferentes níveis de cache formando uma hierarquia entre elas, com diferentes velocidades e capacidades. Níveis: Nível 1 – localizada no interior do processador. Tem maior velocidade e maior capacidade, logo, tem maior custo e tem o menor tamanho. Trabalha com a velocidade do processador. Nível 2 – localizada no interior da pastilha do processador, porém separada da UCP. Nível 3 – localizada fora da UCP. A UCP sempre procura a instrução ou dado na cache de menor nível. Assim, busca em L1, não achando, busca em L2, em seguida … na memória RAM e por último em disco. CPU MEMÓRIA PRINCIPAL Níveis de cache MEMÓRIA CACHE L3 MEMÓRIA CACHE L2 MEMÓRIA CACHE L1 Barramento MEMÓRIA SECUNDÁRIA HD 22 Níveis de cache Em algumas arquiteturas, a fim de agilizar o processamento, o nível 1 é dividido em cache de instruções e cache de dados. Esses níveis, podem ter capacidades diferentes, dependendo da arquitetura. Em geral, quanto maior a capacidade do nível 1, mais rápido é o processamento. O mesmo ocorre quando o nível 1 é dividido entre dados e instruções. Tamanhos típicos de memória para processadores de uso pessoal: Cache Nível 1 – 16KB a 64KB Cache Nível 2 – 512KB a 1MB Cache Nível 3 – 1MB a 64MB Memória Principal – 4GB a 16GB HD – 256GB a 2TB Perguntas?
Compartilhar