Escolar Documentos
Profissional Documentos
Cultura Documentos
processadores Multi-Core
Resumo — No firmamento dos processadores existe um visando atender as necessidades e manter o aumento de
princípio que domina sobre sua evolução, a Lei de Moore. Ela desempenho estabelecido pela Lei de Moore.
proferiu, por décadas, os passos da indústria dos processadores,
contudo o limite físico dos materiais seria alcançado rapidamente A performance nas aplicações computacionais tem sido
com o passar dos tempos não permitindo com que eles procurada ao longo das décadas, onde diversos procedimentos
continuassem a evoluir. arquiteturais são aplicados, como pipeline, superescalaridade e
Os processadores Multi-Core assim surgem, da necessidade de multithreading, para se aproveitar do paralelismo de execução
aumento de desempenho nas máquinas, à medida que as aplicações das aplicações e assim reduzir o tempo de execução em
computacionais se tornaram cada vez mais complexas. Apesar máquinas pessoais ou em servidores. O suporte a múltiplas
disso, mesmo com o aumento do paralelismo de instruções e o threads é uma alternativa de exploração de paralelismo, não
aumento controlado da frequência para evitar danos físicos ao mais no nível de instruções mas no nível de fluxo de instruções
chip, as mudanças não se mostraram suficientes para a demanda (threads), gerando assim, um aumento na vazão de
de dados e de instruções necessárias para manter um bom processamento de threads [1].
desempenho, prevalecendo novamente a Lei de Moore. Com essa
contínua necessidade de desempenho computacional e mesmo com
limitações, as memórias cache vêm sendo altamente usadas e
adotadas em amplos tipos de projetos arquiteturais de
computadores, e os atuais processadores disponíveis no mercado
apontam na direção do uso de memórias cache. No entanto, não é
certo os ganhos e custos desses modelos memória cache. Assim,
nota-se a importância de estudos que abordem os variados
aspectos da expansão de memória cache em processadores com
múltiplos núcleos. Concluiu-se que a ampliação da memória cache
L1 levou a uma considerável redução no número de cache-miss em Figura 1. Representação de suporte a múltiplas threads
relação à cache de dados privada. O aumento da quantidade de
cores das arquiteturas propostas em paralelo ao aumento de As memórias cache para processadores multi-core devem
processos da aplicação trouxe uma piora aos tempos de execução, acompanhar o ritmo de inovações onde os novos projetos devem
pois a taxa de erros da cache L1 privada dos núcleos se propagou planejar o acesso a dados de múltiplas threads ao invés de
para os outros, e o compartilhamento da cache L2 entre os núcleos apenas uma thread como acontecia nos processadores
também aumentou, trazendo assim mais concorrência aos superescalares. Assim, para ter alta vazão de dados para os
recursos presentes na memória. processadores com múltiplos cores de processamento, é preciso
A intenção desse artigo é avaliar os variados tamanhos da que a arquitetura de memória cache dê suporte ao fluxo de
memória cache L1, considerando o seu limite de crescimento em dados, onde a organização da memória cache possa assegurar o
processadores multi-core, através de benchmarks. menor número de cache misses, além de um curto tempo para
Keywords — Processadores Multi-Core, performance, memória leitura e escrita de dados e, em caso de falta de dados, o dever
cache, multithreading. de serem buscados e disponibilizados rapidamente, evitando
assim que os processadores enfrentem longos períodos de
latência por espera de dados [2].
I. INTRODUÇÃO
O objetivo deste artigo é avaliar os variados tamanhos da
Os processadores multi-core surgem a partir de memória cache L1, realizando assim uma expansão da memória
microprocessadores que consistiam no aumento de frequência cache, ponderando o limite de crescimento em processadores
de operação com um núcleo singular, onde o provável consumo com vários núcleos, por meio do ambiente de simulação SESC
de energia excessiva do chip poderia levar a aumentos de e os benchmarks realizados, focando no miss rate e no tempo
temperatura e um superaquecimento indesejado. Assim os total de execução, com o intuito de identificar a arquitetura que
processadores com mais de um núcleo foram a forma encontrada mais se destaca dentre as propostas no artigo.
O artigo está estruturado da seguinte forma. A seção II cita Mostrando que o ganho máximo para o conjunto de dados
trabalhos correlatos à mesma vertente temática da proposta por contíguos é baixo e não há ganhos para os dados não contíguos
este; A seção III demonstra a metodologia desenvolvida no no compartilhamento da memória cache L2.
trabalho; Na secção IV são exibidos os resultados encontrados;
Por fim, na seção V, concluímos o trabalho com uma síntese
analítica dos resultados obtido no trabalho. III. METODOLOGIA
Assim como desenvolvido no último trabalho relacionado
II. TRABALHOS CORRELATOS mencionado [5], aderimos neste trabalho a técnica de simulação
para a efetuação das análises das arquiteturas propostas,
Nesta seção discutiremos os recursos disponíveis da utilizando o ambiente de simulação SESC - SuperESCalar
comunidade científica e os trabalhos relacionados que são Simulator. A justificativa para a escolha deve-se ao fato de o
diretamente voltados às pesquisas sobre arquiteturas multi-core simulador ser capaz de gerar estatísticas de simulação que
e o uso de memórias cache. venham a ser consideráveis e importantes para o desenvolver
No trabalho desenvolvido na Universidade Federal do Rio deste trabalho, como por exemplo, cache miss e tempo de
execução. Criado e desenvolvido na Universidade da Califórnia,
Grande do Sul [2], foi realizada uma pesquisa acerca da
por um grupo de estudantes da UIUC(Universidade de Illinois)
avaliação de diferentes compartilhamentos de memória cache,
e nas Universidades de Rochester, Carolina do Norte, no
modelando e aplicando algumas cargas de trabalho sobre as Instituto de Tecnologia da Geórgia e da Universidade de Cornell
diferentes organizações, a fim de obter resultados significativos [6], é um simulador de sistema completamente determinístico,
sobre o desempenho e atuação da memória cache em que simula a arquitetura MIPS single-core, multi-core e many-
processadores multi-core. core. Além disso, é possível modelar um pipeline superescalar
No trabalho realizado na Universidade Federal de São fora de ordem com predição de desvio, memórias cache,
Carlos [3], avaliou-se o subsistema de virtualização de memória barramentos e outros componentes.
e sua interação com as arquiteturas multi-core, visando A carga de trabalho utilizada foi o Water-Spatial (muito
determinar o conjunto de características que maximizam o semelhante ao Ocean.mips), que impõe uma estrutura de dados
desempenho computacional. Os resultados mostraram que o espaciais 3-D no domínio cúbico, resultando em um gradiente
melhor desempenho foi obtido através de utilização de de caixas 3-D [7]. Cada “caixa” da carga contém uma lista
paginação aninhada, utilizando páginas grandes para o vinculada das moléculas atualmente naquela caixa (no tempo-
mapeamento da memória, enquanto que o nível adicional de passo atual). Encontra-se disponível no conjunto de benchmarks
memória cache não trouxe benefícios específicos à “SPLASH-2”, desenvolvido pela Universidade de Stanford,
virtualização. junto de outros oito pacotes de aplicações e quatro kernels [8].
TABELA I
ORGANIZAÇÃO DO PROCESSADOR A
TABELA III
ORGANIZAÇÃO DO PROCESSADOR C