O que é Memória Scratchpad?

O acesso aos dados é uma parte crítica do projeto da CPU. As CPUs operam em velocidades extremamente altas, processando várias instruções a cada ciclo de clock e, portanto, precisam de acesso a muitos dados. A grande maioria desses dados é armazenada na mídia de armazenamento. Os dispositivos de armazenamento, no entanto, são incrivelmente lentos em comparação com uma CPU. Os dispositivos de armazenamento também são significativamente melhores em leituras sequenciais do que em leituras aleatórias, embora os SSDs ofereçam uma melhoria marcante nesse aspecto (e em muitos outros) em relação aos HDDs.

A RAM do sistema foi projetada para ser carregada com todos os dados que a CPU possa precisar para o software em execução no momento. A RAM tem uma latência significativamente menor do que o armazenamento, e também é especificamente adaptada para ter alto desempenho de leitura aleatória. Ainda assim, por mais que a RAM moderna seja rápida, ainda não é nada comparada à CPU com latências da ordem de 400 ciclos de clock.

Para reduzir ainda mais a latência, as CPUs mais modernas incluem camadas de memória cache. Normalmente, eles são chamados de caches L1, L2 e L3. L1 é realmente de alta velocidade, normalmente levando cerca de 5 ciclos de clock para acessar. L2 é um pouco mais lento, da ordem de 20 ciclos. L3 é ainda mais lento em cerca de 200 ciclos. Embora o L1 seja incrivelmente rápido, também é minúsculo. Grande parte de sua velocidade vem do fato de que caches menores levam menos tempo para serem pesquisados. L2 é maior que L1, mas menor que L3, que é menor ainda que a RAM do sistema. Equilibrar bem o tamanho desses caches é fundamental para obter uma CPU de alto desempenho. As taxas de acerto do cache são importantes, mas você precisa equilibrar o número de acertos com o tempo que leva para obter esse acerto, daí as camadas.

memória do bloco de notas

Observe que a memória do bloco de anotações não se encaixa na hierarquia de memória tradicional. Isso porque não é usado na maioria das CPUs de consumo. A memória do Scratchpad foi projetada para ser usada como um Scratchpad seria na vida real. Você anota informações temporárias das quais precisa se lembrar, mas não precisa realmente arquivar. Na maior parte do tempo, uma CPU processa dados e precisa desse resultado novamente imediatamente. Ele pode copiá-lo para a memória, mas para poder acessá-lo rapidamente, também deve mantê-lo no cache.

A memória do Scratchpad preenche essencialmente a mesma lacuna que o cache L1. É acessível o mais rápido possível, geralmente em contagens de ciclo de um dígito. Para gerenciar isso, também é relativamente pequeno. No entanto, existem duas diferenças principais entre a memória L1 e a memória de rascunho. Em primeiro lugar, a memória do bloco de anotações é diretamente endereçável. Em segundo lugar, é compartilhado entre todos os núcleos e processadores.

Diferenças entre cache e rascunho

O cache da CPU é essencialmente transparente para a CPU, não pode colocar dados deliberadamente lá e seu conteúdo não pode ser programado. Em vez disso, a CPU apenas solicita dados da RAM e os recupera mais rapidamente, às vezes significativamente mais rápido do que o esperado. Permitir que o bloco de notas seja endereçável significa que o código pode especificar exatamente quais dados devem estar no bloco de notas. Isso pode ser útil, embora os algoritmos de cache modernos sejam excelentes, com taxas de acerto de 95 a 97% esperadas em cargas de trabalho padrão.

O cache L1 está sempre bloqueado para um núcleo de processamento individual. Nenhum outro núcleo de processamento pode acessá-lo. Isso significa que, se vários núcleos precisarem dos mesmos dados, eles podem duplicá-los em seus respectivos caches L1. Em algumas arquiteturas de CPU, o L2 é por núcleo, em outras é compartilhado por um pequeno número ou mesmo por todos os núcleos. L3 tende a ser compartilhado por todos os núcleos. O compartilhamento de cache entre núcleos permite que dois ou mais núcleos acessem os mesmos dados sem duplicá-los. Ele também permite que um núcleo utilize mais do que seu quinhão quando necessário e o cache tiver espaço.

O Scratchpad atua de forma semelhante ao L1 em ​​termos de velocidade e capacidade, mas é compartilhado entre todos os núcleos. Isso permite acesso muito rápido a dados específicos sendo executados em uma carga de trabalho multithread. A memória do Scratchpad pode até ser compartilhada entre CPUs distintas em placas-mãe com vários soquetes.

Uma desvantagem da memória do bloco de rascunho é que ela pode ser muito utilizada. Podendo acessá-lo diretamente, o software pode contar com sua presença em determinadas quantidades. Nesse caso, ele seria incapaz de rodar em CPUs sem tanta memória de rascunho. As camadas de cache simplesmente não sofrem com esse problema e, portanto, são mais adequadas para uso geral.

Casos de uso

A memória Scratchpad é encontrada com mais frequência em sistemas de servidor com vários soquetes projetados para HPC (computação de alto desempenho). Lá, sua combinação de velocidade e acesso compartilhado o torna útil para cargas de trabalho altamente paralelas.

A memória do Scratchpad também é usada em processadores muito menores. Processadores embutidos, geralmente MPSoCs. Um processador embarcado geralmente é relativamente de baixo consumo de energia e especializado para uma tarefa específica. Essa especialização é frequentemente representada em otimizações de hardware. Especialmente em um sistema multiprocessador em um chip, a memória compartilhada de alta velocidade pode fornecer melhorias significativas de latência para vários processadores diferentes. Esses tipos de CPUs costumam ter um design muito fixo. Os consoles de jogos, por exemplo, já recebem muitas otimizações para design de hardware e, portanto, podem fazer bom uso desses recursos sem precisar se preocupar com a compatibilidade com versões anteriores ou posteriores.

Conclusão

A memória do Scratchpad é semelhante ao cache L1, mas possui várias diferenças que alteram seus casos de uso. Em vez de ser um cache, é diretamente endereçável, permitindo que os dados sejam especificamente atribuídos a uma memória particularmente de alta velocidade. Ele também é compartilhado entre todos os núcleos e processadores do processador, tornando-o particularmente útil em cargas de trabalho altamente multithread.



Leave a Comment

O Que Fazer Se o Powerbeats Pro Não Carregar no Estojo

O Que Fazer Se o Powerbeats Pro Não Carregar no Estojo

Se o seu Powerbeats Pro não estiver carregando, experimente usar outra fonte de energia e limpe seus fones de ouvido. Deixe o estojo aberto enquanto carrega seus fones.

Canon Pixma MG5220: Digitalize sem Tinta

Canon Pixma MG5220: Digitalize sem Tinta

Como ativar a digitalização na Canon Pixma MG5220 quando você ficar sem tinta.

5 Motivos pelos Quais Seu Laptop Está Superaquecendo

5 Motivos pelos Quais Seu Laptop Está Superaquecendo

Descubra algumas das possíveis razões pelas quais seu laptop está superaquecendo, juntamente com dicas e truques para evitar esse problema e manter seu dispositivo fresco.

Como Corrigir o Código de Erro 0xC272008F do GeForce Now

Como Corrigir o Código de Erro 0xC272008F do GeForce Now

Você está se preparando para uma noite de jogos, e será uma grande noite – você acaba de adquirir “Star Wars Outlaws” no serviço de streaming GeForce Now. Descubra a única solução conhecida que mostra como corrigir o Código de Erro 0xC272008F do GeForce Now para que você possa começar a jogar jogos da Ubisoft novamente.

Fundamentos da Impressão 3D: Dicas de Manutenção para a Sua Impressora 3D

Fundamentos da Impressão 3D: Dicas de Manutenção para a Sua Impressora 3D

Manter suas impressoras 3D é muito importante para obter os melhores resultados. Aqui estão algumas dicas importantes a serem lembradas.

Como Encontrar o Endereço IP de uma Impressora

Como Encontrar o Endereço IP de uma Impressora

Está tendo dificuldades para descobrir qual endereço IP sua impressora está usando? Vamos mostrar como encontrá-lo.

Como desligar o Roku

Como desligar o Roku

Descubra como desligar o Roku Player, enquanto aprende sobre suas opções de economia de energia e melhores práticas.

O que é SLI?

O que é SLI?

SLI ou Scalable Link Interface é uma tecnologia da Nvidia que permite que várias placas gráficas trabalhem juntas para obter maior desempenho.

O que é N-Key Rollover e Anti-Ghosting?

O que é N-Key Rollover e Anti-Ghosting?

Entenda os conceitos de N-key rollover e Anti-Ghosting, dois recursos essenciais em teclados para gamers que melhoram a experiência de jogo.

O que é VRAM?

O que é VRAM?

VRAM, ou Video Random Access Memory, é uma forma essencial de RAM utilizada em processadores gráficos, fundamental para o desempenho em videogames.