Escolar Documentos
Profissional Documentos
Cultura Documentos
Bruno Teles
Instituto de Computao Universidade Estadual de Campinas Av. Albert Einstein, 1251 55-19-35215838
seletonurb@gmail.com ABSTRACT
Neste paper, so descritas caractersticas do processador quadcore da Intel Core i7, como seu datapath, gerenciamento de memria, gerenciamento de energia e ganhos de desempenho que podem ser obtidos com as inovaes. aproveitando a oportunidade para a implementao de um novo barramento; serial, ponto-a-ponto, bi-direcional e de baixa latncia: o QPI (Quick Path Interconnect); para conexo do processador com o chipset ou outros processadores. Adicionado a isto, ser feita meno retomada do HyperThreading, utilizao do Turbo Boost e organizao da memria, cruciais para a compreenso do funcionamento desta arquitetura.
Termos Gerais
Measurement, Documentation, Performance, Design.
Palavras-Chave
Microarquitetura, Nehalem, quadcore, memria cache, consumo de energia, multithread.
1. INTRODUO
No fim de 2008, a Intel lanou seu novo processador quadcore. Sob o nome de Core i7, este o primeiro processador baseado na micro-arquitetura Nehalem. Os processadores Intel Core i7 oferecem uma srie de inovaes em desempenho quadcore e contam com avanadas tecnologias de processador. Esta nova micro-arquitetura no prev uma mudana to radical quanto a passagem de Netburst (Pentium 4) para Core2, pelo menos no em um nvel to baixo. O que no significa que no venha a trazer ganhos significativos em desempenho. Tomando como base os ncleos Core2, a Intel se questionou sobre o que se poderia ser feito para obter processadores ainda melhores. Alm de melhorias na j excelente micro-arquitetura, uma das principais mudanas, ou pelo menos a que chama mais ateno que finalmente a controladora de memria foi integrada ao processador, aposentando o esquema de FSB e Northbridge,
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are Adicionado a isto, ainda not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, Adicionado a isto, ainda or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Conference04, Month 12, 2004, City, State, Country. Copyright 2004aACM 1-58113-000-0/00/0004$5.00. aproveitando oportunidade para a implementao de um novo
Como contam com controladora de memria integrada e interconexo por QPI (barramento serial, ponto a ponto, bidirecional e de baixa latncia), os processadores Nehalem no tero empecilhos com a limitao do acesso ao chipset (onde fica a controladora de memria). Desenvolvida com foco na modularidade, a micro arquitetura Nehalem permite que sejam criados diversos tipos de processadores, com caractersticas mais adequadas a cada segmento. Entre a biblioteca de componentes pode-se escolher de dois a oito ncleos, quantos links QPI forem necessrios e at um processador grfico.
Dessa maneira, em caso de previso incorreta, menos dados devero ser recalculados. - Mais algumas instrues foram includas ao conjunto SSE4, com foco em processamento de texto til para servidores de bancos de dados. - E por fim, a TLB (Table Look-a-side Buffer, tabela para consulta rpida de endereos de memria) agora possui um segundo nvel, com 512 entradas.
Figura 1. Foto do die do processador Nehalem. Um ponto que merece destaque a volta do Hyper-Threading (discutida mais detalhadamente na prxima seo), que em uma micro arquitetura de pipeline curto ser muito mais til que no Pentium4, contando ainda com o benefcio da maior facilidade em trazer dados at o ncleo, tanto em funo dos caches maiores, mais decodificadores e menor latncia no acesso memria graas controladora de memria integrada. Como a tendncia o aumento da paralelizao dos programas, a capacidade de executar mais threads ao mesmo tempo pode trazer timos ganhos em desempenho. O restante so alguns artifcios implementados para ganhar desempenho, como os feitos na reviso do Core2 de 65nm para 45nm: - Aumento dos buffers de instrues para acomodar o maior nmero de instrues devido implementao do HyperThreading, a reconstruo de instrues divididas entre linhas de cache foi acelerada, as primitivas de sincronizao de processos foram aceleradas (importante j que cada ncleo pode trabalhar com dois threads simultaneamente). - O previsor de desvios agora conta com dois estgios. O segundo estgio possui um histrico maior, portanto mais lento, mas pode realizar previses mais precisas. Normalmente a previso do primeiro nvel j consistente o suficiente para adivinhar que caminho seguir e com a adio do segundo nvel se a previso do primeiro nvel no for confivel, passa-se ao segundo. Assim diminuem ainda mais as chances de uma previso incorreta e da necessidade de retornar at o desvio para continuar a execuo, desperdiando vrios ciclos e ainda impondo uma penalizao de outros tantos ciclos para reorganizar o pipeline. O que, por coincidncia, tambm foi acelerado com a ajuda do "Renamed Return Stack Buffer", que guarda cpias dos dados j calculados.
3. HYPER-THREADING
A tecnologia Hyper-Threading, desenvolvida pela prpria Intel, mais uma tcnica criada para oferecer maior eficincia na utilizao dos recursos de execuo do processador. Esta tecnologia simula em um nico processador fsico dois processadores lgicos. Cada processador lgico recebe seu prprio controlador de interrupo programvel (APIC) e conjunto de registradores. Os outros recursos do processador fsico, tais como, cache de memria, unidade de execuo, unidade lgica e aritmtica, unidade de ponto flutuante e barramentos, so compartilhados entre os processadores lgicos. Em termos de software, significa que o sistema operacional pode enviar tarefas para os processadores lgicos como se estivesse enviando para processadores fsicos em um sistema de multiprocessamento. A nova micro-arquitetura marca o retorno do Hyper-Threading, que cria dois ncleos virtuais a partir de cada ncleo fsico. Como os Core i7 so processadores quad-core, tem-se um total de 8 ncleos virtuais. O Hyper-Threading ou SMT (simultaneous multi-threading) tem muito a oferecer em processadores mais novos como o Core i7. Por se tratarem de ncleos 4-issue wide (isto , a cada ciclo cada ncleo faz o fetch de 4 instrues para processar), o HT tem mais oportunidades de promover um melhor aproveitamento de suas unidades de execuo. Ainda mais porque h uma cache maior e uma largura de banda de memria bem mais alta. Isto ilustrado na imagem abaixo.
Alguns testes de desempenho feitos pela Intel mostraram que esta abordagem pode apresentar ganhos em performance em algumas aplicaes especficas no Core i7. Testes mostraram que o ganho sobre operaes com inteiros e com pontos flutuantes apresentaram ganhos de 13% e 7%, respectivamente. O 3DMark Vantage CPU, um simulador de fsica e IA apresentou um ganho de 34% quando comparado simulao sem HT.
5. QUICKPATH INTERCONNECT
Figura 2. Cada uma das quatro unidades de execuo em cada ncleo, sem o uso de HT e com o uso de HT. Cada espao representa uma unidade de execuo. Em vez de esperar que um bloco de instrues seja executado, para ento passar ao seguinte, o ncleo fsico pode receber mais instrues simultaneamente com dois ncleos virtuais. Se estas forem de tipos diferentes, sua execuo pode ser agendada ao mesmo tempo em que outras instrues so executadas, em outras unidades; proporcionando um significativo ganho em desempenho. Uma importante mudana no projeto da CPU foi a troca do antigo barramento FSB (Front Side Bus), que compartilhava acessos entre a memria e a I/O, pelo novo barramento QPI (QuickPath Interconnection), que projetado para aumentar a largura de banda e diminuir a latncia. O QPI utiliza dois caminhos para a comunicao entre a CPU e o chipset, como pode ser visto na Figura 2. Isto permite que a CPU faa a operao de transmisso e recepo dos dados de I/O ao mesmo tempo, isto , os datapaths de leitura e escrita para esta funo so separados. Cada um destes caminhos transferem 20 bits por vez. Destes 20 bits, 16 so utilizados para dados e os
restantes so usados para correo de erro CRC (Cyclical Redundancy Check), que permite ao receptor verificar se os dados recebidos esto intactos. Alm disso, o QPI trabalha com uma freqncia de 3.2 GHz transferindo dois dados por ciclo (uma tcnica chamada DDR, Double Data Rate), fazendo o barramento trabalhar como se estivesse operando a uma taxa de 6.4GHz. Como 16 bits so transmitidos por vez, tem-se uma taxa terica mxima de 12.8 GB/s em cada um dos caminhos. Comparado ao FSB, o QPI transmite menos bits por ciclo de clock mas opera a taxas muito maiores. Uma outra vantagem em ralao ao FSB, que como o FSB atende requisies de memria e de I/O, h sempre mais dados sendo transferidos neste barramento comparados ao QPI, que atende apenas s requisies de I/O. Por isso, o QPI fica menos ocupado, e assim, maior largura de banda disponvel. Por ltimo, o QPI utiliza menos ligaes do que o FSB Uma caracterstica incorporada ao QPI so os modos de energia que ele pode assumir chamados de L0, L0s e L1. O L0 o modo no qual o QPI est em funcionamento pleno. O estado L0s indica os fios de dados e os circuitos que controlam estes fios esto desativados para economia de energia. E em L1 todo o barramento est desativado, economizando ainda mais energia. Naturalmente, o estado L1 necessita de um tempo maior para reativao do que o L0s. Existe tambm uma tcnica introduzida para aumentar a confiabilidade do QPI. O QuickPath permite que cada caminho de 20 bits ainda seja dividido em outros quatro de 5 bits. Esta diviso melhora a confiabilidade principalmente em ambientes servidores.
Quando esta funcionalidade implementada, o receptor de dados pode perceber que a conexo entre ele e o transmissor foi danificada, e assim, desativar a poro do barramento que foi danificada e operar com a transmisso de menos bits por vez. Isto diminui a taxa de transmisso mas por outro lado o sistema no falha.
de roteamento: decide o caminho a ser percorrido pelo pacote na malha. de transporte: possui uma avanada capacidade de roteamento para que a transmisso fim-a-fim seja confivel. de protocolo: conjunto de regras de alto nvel para a troca de pacotes de dados entre os dispositivos.
6. GERENCIAMENTO DE MEMRIA
Com a controladora de memria dentro do processador, os ncleos no devem percorrer o longo caminho do FSB cada vez que necessitarem um dado da memria RAM. Aproveitando a ocasio da incluso de vrios ncleos (2, 4 ou mais) no mesmo chip, a Intel optou por implementar uma controladora de memria com 3 canais. Com uma largura efetiva de 192 bits e usando memrias DDR3 (apenas, memrias DDR2 no so suportadas), a oferta de banda de memria atinge nveis bem maiores que os convencionais. A integrao de 4 ncleos (com possibilidade para mais ncleos, conforme a necessidade/possibilidade por questes energticas/ trmicas) no mesmo chip, requer uma reorganizao na estrutura de cache. O grande cache L2 compartilhado do Core2 funciona muito bem quando h apenas 2 ncleos por chip, mas 4 ncleos disputando acesso ao cache L2 pode e tronar um gargalo. Ento, transportou-se o cache compartilhado para um nvel superior e entre eles criou-se um cache L2; razoavelmente pequeno, mas de latncia baixssima (para um cache L2), para diminuir a concorrncia pelo grande cache L3, de 8MB; compartilhado por todos os ncleos. Os caches dos Core2 e Nehalem so organizados de forma inclusiva. Assim, cada nvel superior guarda uma cpia do nvel anterior. O cache L2 de cada ncleo possui uma cpia do cache L1 e o cache L3 guarda uma cpia de cada cache L2; portanto, dos 8MB, sobram efetivamente 7MB (j que 1MB reservado para cpia dos quatro caches L2 de 256KB). Este sistema requer cuidados para que seja mantida a consistncia dos dados; pois cada vez que um cache atualizado, suas cpias tambm devem ser atualizadas. Porm, facilita o compartilhamento de dados entre os ncleos, j que todos os dados presentes nos caches L1 e L2 de todos os ncleos so encontrados no cache L3. O cache L2 exclusivo e de comportamento chamado "victimcache", pois s recolhe as "vtimas" do cache L1 (dados eliminados por falta de espao). O cache L3 tambm um "victim-cache", mas no inclusivo nem exclusivo. No guarda cpias dos demais caches, mas permite o compartilhamento de dados. Se mais de um ncleo precisar de um mesmo dado, mantida uma cpia no cache L3 e esta marcada com uma flag de compartilhamento para que no seja apagada por j constar em outros nveis superiores. A vantagem deste sistema que quando um ncleo requisitar um dado controladora de memria, este "sobe" diretamente ao cache L1, enquanto os outros caches se reorganizam, abrigando as vtimas dos nveis superiores. Porm, antes disso, cada ncleo deve requisitar aos demais se j possuem em cache o dado em questo, antes de pedi-lo controladora de memria. Se algum ncleo o tiver, pode enviar a outro ncleo pelo crossbar e uma cpia guardada no cache L3. Dois aspectos importantes da estrutura de cache da Intel so a garantia de muita banda e latncias excelentes. A latncia do cache L1 teve que aumentar de 3 para 4 ciclos, devido implementao do SMT (Hyper Threading) j que ambos ncleos virtuais compartilham o mesmo cache L1. Mas a latncia do cache L2 caiu consideravelmente, dos 23 ciclos do cache L2 do "Penryn" (Core2 de 45nm) para apenas 10 ciclos. O cache L3 um caso parte, como se encontra em outra regio do processador (na parte "uncore" da figura 1, onde ficam tambm a controladora
de memria e o controlador do QPI), que segue um clock prprio e tem relao com o clock da memria; mas tambm muito rpido. E a controladora de memria especialmente eficiente, obtendo altssimas taxas de transferncia mesmo em condies pouco favorveis, como utilizando memrias DDR3 de clock relativamente baixo (DDR3-1066, por exemplo).
7. CONCLUSO
Esta anlise sobre as principais caractersticas que fazem do Core i7 um processador diferenciado mostrou como a indstria dispe aos consumidores uma vasta gama de novas funes visando o ganho de desempenho em uma curta janela de tempo. Seja pelo uso do Turbo Boost, que utiliza lgica para otimizar o consumo de energia; seja pelo QPI, uma conexo ponto-a-ponto de alta velocidade, a Intel conseguiu atacar de forma abrangente os principais problemas que concernem ao multicore. Outro aspecto relevante a ser mencionado aqui a volta do Hyper-Threading corroborando com a afirmao de que na computao algumas abordagens so recorrentes. Mais importante do que as inovaes que o Core i7 proporcionou a consolidao de uma era na indstria que voltada ao design com a replicao de ncleos dentro do processador, iniciada com a gerao do Core Duo. Os ganhos em desempenho j obtidos em relao aos Core Duo de at 30% so apenas uma amostra do potencial deste quad-core: os ganhos podero ser efetivamente notados quando boa parte das aplicaes forem voltadas para este tipo de processador.
8. REFERNCIAS
[1] Intel Core i7 Processor Extreme Edition Series and Intel Core i7 Processor Datasheet - Volume 1. Document # 320834-002. Acessado em 02/07/2009 em http://www.intel.com/design/corei7/documentation.htm [2] Intel Core i7 Processor Extreme Edition Series and Intel Core i7 Processor Datasheet - Volume 2. Document Number: 320835-002. Acessado em 02/07/2009 em http://www.intel.com/design/corei7/documentation.htm [3] An introduction to Intel QuickPath Interconnect white paper. Document Number: 320412-001US. Acessado em 02/07/2009 em http://www.intel.com/technology/quickpath/introduction.pdf [4] Intel Turbo Boost Technology in Intel Core Microarchitecture (Nehalem) Based Processors. Acessado em 02/07/2009 em http://www.intel.com/portugues/technology/turboboost/index .htm [5] Stallings, William, Arquitetura e Organizao de Computadores. Editora Prentice Hall, Quinta Edio, 2003. [6] Intel Turbo Boost Technology in Intel Core Microarchitecture (Nehalem) Based Processors. Acessado em 02/07/2009 em http://download.intel.com/design/processor/applnots/320354. pdf?iid=tech_tb+paper