os requisitos resumo

12
Os requisitos, pontos de estrangulamento, e boa sorte. Os agentes de microprocessador Evolução YALE PATT, COLEGAS, IEEE Convidados Papel O primeiro microprocessador, o Intel 4004, mostrou-se em 1971. Ele Continha 2.300 transistores e operado com uma frequência de relógio de 108º Khz. Hoje, 30 anos mais tarde, o microprocessador contém quase 200 Milhões de transistores, operando a uma freqüência de mais de 1 GHz. Em cinco anos, esses números são esperados para crescer para mais de um Bilhões de transistores em um único chip, operando a uma frequência de relógio De 6 a 10 GHz. A evolução dos microprocessadores, fromwhere começou em 1971 Para onde ele está hoje e onde é provável que venham a ser de cinco anos, tem Surgiu porque vários contribuindo forças. A nossa posição é Que esta evolução não acontecem por si só, que cada passo em frente veio Como resultado de uma das três coisas, e sempre dentro do contexto De um computador arquitecto fazer cedências. As três coisas são: 1) Novas exigências; 2) os estrangulamentos; e 3) boa sorte. EU chamar-lhes-ão Coletivamente os agentes para a evolução. Este artigo tenta fazer três coisas: descrever um quadro de base Para o campo dos microprocessadores, mostrar alguns dos importantes Os desenvolvimentos que têm surgido ao longo dos 30 anos desde a chegada O primeiro microprocessador, e, por fim, sugerir alguns dos Coisas novas que você pode esperar para ver em um microprocessador de alto desempenho Nos próximos cinco anos. Palavras-chave:arquitetura de computadores, microarquitetura, microprocessador, Microprocessador microprocessador design, evolução. I. BÁSICA FPLANOD A. Arquitetura de computadores: A ciência das vantagens e desvantagens Arquitetura de computadores é muito mais "arte" de "ciência". As nossas capacidades e percepções sobre como melhorar a experiência mais Casos. Computador arquitectos desenhar sobre a sua experiência com Projetos anteriores na tomada de decisões sobre os projectos em curso. Se Arquitetura de computadores é uma ciência a todos, é uma ciência de Vantagens e desvantagens. Computador arquitetos ao longo do último meio século, não Continuou a desenvolver uma base de conhecimento para ajudá-los Praticar a sua embarcação. Quase sempre o trabalho de arquiteto do computador Requer o uso de conhecimentos fundamentais para tornar Recebido em 29 de Maio de 2001; revista 6 de Agosto de 2001. O autor é com a Universidade do Texas, em Austin, Austin, TX 78712-1084 EUA (e-mail: [email protected] ). O Publisher Identificador de Item S 0018-9219 (01)09681-5. Fig. 1. O microprocessador hoje. Vantagens e desvantagens. Isto tem sido especialmente verdadeiro em toda a evolução O microprocessador. B. Os níveis de transformação Número de transistores e os seus tempos de comutação são recursos Fornecido pela tecnologia de processamento. O que podemos usar esses Recursos para depende da demanda do mercado. Como podemos utilizar esses recursos é o que o microprocessador é Tudo sobre. Fig. 1 Mostra os níveis de transformação que um Problema, afirmou em alguma linguagem natural como no caso do inglês, deve Vá até a ser resolvido. Em um sentido real, que são os elétrons que Realmente fazer o trabalho e resolver o problema. No entanto, uma vez que Também não falamos "elétron" e os elétrons não falam qualquer Linguagem natural, o melhor que podemos fazer é sistematicamente transformar O problema através dos níveis apresentados na Fig. 1º até nós Alcançar o elétron (ou dispositivo) de nível, isto é, 200 milhões

Upload: andre-morais

Post on 17-Nov-2015

28 views

Category:

Documents


14 download

DESCRIPTION

Resumo: Requirements, Bottlenecks, and Good Fortune: Agents for Microprocessor Evolution

TRANSCRIPT

Os requisitos, pontos de estrangulamento, e boa sorte.Os agentes de microprocessador EvoluoYALE PATT, COLEGAS, IEEEConvidados PapelO primeiro microprocessador, o Intel 4004, mostrou-se em 1971. EleContinha 2.300 transistores e operado com uma frequncia de relgio de 108Khz. Hoje, 30 anos mais tarde, o microprocessador contm quase 200Milhes de transistores, operando a uma freqncia de mais de 1 GHz.Em cinco anos, esses nmeros so esperados para crescer para mais de umBilhes de transistores em um nico chip, operando a uma frequncia de relgioDe 6 a 10 GHz.A evoluo dos microprocessadores, fromwhere comeou em 1971Para onde ele est hoje e onde provvel que venham a ser de cinco anos, temSurgiu porque vrios contribuindo foras. A nossa posio Que esta evoluo no acontecem por si s, que cada passo em frente veioComo resultado de uma das trs coisas, e sempre dentro do contextoDe um computador arquitecto fazer cedncias. As trs coisas so: 1)Novas exigncias; 2) os estrangulamentos; e 3) boa sorte. EU chamar-lhes-oColetivamente os agentes para a evoluo.Este artigo tenta fazer trs coisas: descrever um quadro de basePara o campo dos microprocessadores, mostrar alguns dos importantesOs desenvolvimentos que tm surgido ao longo dos 30 anos desde a chegadaO primeiro microprocessador, e, por fim, sugerir alguns dosCoisas novas que voc pode esperar para ver em um microprocessador de alto desempenhoNos prximos cinco anos.Palavras-chave:arquitetura de computadores, microarquitetura, microprocessador,Microprocessador microprocessador design, evoluo.I. BSICAFPLANODA. Arquitetura de computadores: A cincia das vantagens e desvantagensArquitetura de computadores muito mais "arte" de "cincia".As nossas capacidades e percepes sobre como melhorar a experincia maisCasos. Computador arquitectos desenhar sobre a sua experincia comProjetos anteriores na tomada de decises sobre os projectos em curso. SeArquitetura de computadores uma cincia a todos, uma cincia deVantagens e desvantagens. Computador arquitetos ao longo do ltimo meio sculo, noContinuou a desenvolver uma base de conhecimento para ajud-losPraticar a sua embarcao. Quase sempre o trabalho de arquiteto do computadorRequer o uso de conhecimentos fundamentais para tornarRecebido em 29 de Maio de 2001; revista 6 de Agosto de 2001.O autor com a Universidade do Texas, em Austin, Austin, TX78712-1084 EUA (e-mail: [email protected] ).O Publisher Identificador de Item S 0018-9219 (01)09681-5.Fig. 1.O microprocessador hoje.Vantagens e desvantagens. Isto tem sido especialmente verdadeiro em toda a evoluoO microprocessador.B. Os nveis de transformaoNmero de transistores e os seus tempos de comutao so recursosFornecido pela tecnologia de processamento. O que podemos usar essesRecursos para depende da demanda do mercado.Como podemos utilizar esses recursos o que o microprocessador Tudo sobre. Fig. 1 Mostra os nveis de transformao que umProblema, afirmou em alguma linguagem natural como no caso do ingls, deveV at a ser resolvido. Em um sentido real, que so os eltrons queRealmente fazer o trabalho e resolver o problema. No entanto, uma vez queTambm no falamos "eltron" e os eltrons no falam qualquerLinguagem natural, o melhor que podemos fazer sistematicamente transformarO problema atravs dos nveis apresentados na Fig. 1 at nsAlcanar o eltron (ou dispositivo) de nvel, isto , 200 milhesTransstor, 1-GHz chip.Ao longo do caminho, a soluo para o problema formulado pela primeira vez comoUm algoritmo para eliminar o inaceitvel caractersticas dosLinguagem natural, como ambiguidade. Trata-se, em seguida, codificados em umMecnica idioma e compilado para a arquitetura do conjunto de instrues(ISA) do microprocessador especfico. O ISA O acordado no interface que: 1) o programa compilado usaPara dizer ao microprocessador o que ele (o programa) tem feitoE 2) que o microprocessador usa para mas ele deve efectuar0018- 9219/01 $10,00 2001 IEEETRABALHOS DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001 1553Em nome do programa. A ISA implementado por um conjuntoAs estruturas de hardware referidos coletivamente como o microprocessador'sNa microarquitetura. Cada estrutura de hardware eSuas interligaes so feitas de circuitos electrnicos digitais,Que, por sua vez, so feitos de dispositivos eletrnicos.Quando dizemos "microprocessador" hoje em dia, ns geralmente significaA regio sombreada da Fig. 1. Ou seja, cada microprocessador composto porDos circuitos que implementam o hardware das estruturas (coletivamenteChamado a microarquitetura) que fornecem uma interface(O chamado ISA) para o software. No caso de aComputador pessoal, o ISA o I-32, e a microarquitetura o Intel Pentium IV, ou em dias anteriores, o processador PentiumIII, Pentium II, Pentium Pro, 486, etc., ou o AMD's K-8, ou emH pouco dias, K-7, K-6, etc.H outros Isa; por exemplo, SPARC (da Sun Microsystems).Alfa (da Compaq), e Power-PC (a partir deA Motorola e a IBM). Cada um tem as suas prprias idiossincrasias queFaz com que seja um melhor ou pior interface para que o compilador possaOferecer, ou como a microarquitetura pode realizar o trabalho.Para cada ISA, h vrios diferentes microarquiteturas.Temos aqui vrias para o IA-32. Para o Alfa,H, por exemplo, o 21064, 21164 e 21 264.A cada passo dado, a hierarquia, a escolha do algoritmo, paraLngua, a ISA a microarquitetura, para os circuitos, hEscolhas e, portanto, vantagens e desvantagens.Muitas vezes, mas no sempre, a escolha entre maior desempenhoE o menor custo. Uma analogia para o automvel instrutivo. possvel construir um alto-desempenho carro esporte quePode ir de 0 a 100 km/h em quase 0 segundos. No entanto, ela irSer muito caro. Ou, possvel construir um automvel muito barataQue nunca poderia chegar aos 100 km/h, mas recebe 100 kmA um galo de gasolina. No se obtm desempenho eEconomia. Que o que compensa.C. Pontos do ProjetoO projeto de um microprocessador a capacidade de tornar relevantesVantagens e desvantagens. Nos referimos a um conjunto de consideraes, juntamente comA importncia de cada um deles, como o "ponto" de designO microprocessador, ou seja, as caractersticas que so maisImportante para a utilizao do microprocessador, de tal forma que umEst disposta a ser menos preocupado com outras caractersticas.Desempenho, custo, dissipao de calor e consumo de energiaSo exemplos de caractersticas que afetam fortemente um designPonto. Outra "alta disponibilidade" - possvel projetar um microprocessadorNos casos em que o mais importante considerar oExigncia de que o microprocessador nunca falham. Alguns clientesEsto dispostos a aceitar desempenho menor ou maior custoSe eles podem ter a certeza de que o microprocessador nunca ir falhar.Essas so o que chamamos um processador "tolerante", ou altamente disponveis.Outros clientes esto dispostos a sacrificar um pouco o desempenho,Se for combinado com uma substancial poupana de energiaRequisitos. Este ponto de design tornou-se mais e maisImportante como a energia e os requisitos de energia doMais alto desempenho batatas fritas se tornaram demasiado grandesE maiores. Mais uma vez, h uma desvantagem: maior desempenhoOu de conscincia. importante ressaltar que a "conscientizao sobre alimentao" diferente deOutro ponto importante do projeto, "lowpower." Existem muitosAplicaes onde a principal considerao que oMicroprocessador operar durante um longo perodo de tempo com um muitoPequena fonte de energia.Em cada caso, geralmente, o problema que estamos a abordar(Ver Fig. 1) Que define o ponto de construo para o microprocessador,E as vantagens e desvantagens que devem ser feitas.D. Espao para aplicativosA palavra "problema" na Fig. 1 um catch-all para a aplicaoEspao, isto , o conjunto de aplicaes para as quais nsGostaria de usar os microprocessadores. Este conjunto est aumentando de forma fenomenalTaxa, e espera-se que continue a faz-lo. Na verdade,Enquanto as pessoas sonhar mais usos para os computadores, oNecessidade de microprocessadores e as vantagens e desvantagens que cada um de nsFazer continuar a expandir-se. Ou seja, espao do aplicativo(Ou, em vez disso, as aplicaes de importncia central) conduzir oPonto de construo. J temos mencionado alta disponibilidadeProcessadores onde a demanda de aplicativos que o microprocessadorNunca falha. E os processadores de baixo consumo de energia onde oOs pedidos devem ser capazes de funcionar por um longo perodo de tempo sobre uma pequenaQuantidade de energia.Outros exemplos de espao do aplicativo que continuam aA necessidade de pontos de design exclusivo so as seguintes:1) Aplicaes cientficas, tais como aquelas cujos clculosControle da energia nuclear as plantas, determinar para onde?Broca para leo e prever o tempo.2) Baseado em transao aplicaes, tais como aqueles queLidar com as transferncias e ATM empresa de e-commerce.3) Dados da empresa processamento de pedidos, tais como aquelesQue lidar com controle de estoque, folha de pagamento, IRS actividade,E diversos registro pessoal mantendo, quer o pessoalSo trabalhadores, estudantes, ou eleitores.4) Aplicaes de rede, tais como roteamento de alta velocidade deOs pacotes da Internet, que permitem a ligao de seuSistema domstico para tirar proveito da Internet.5) Entrega garantida (tambm conhecido como tempo real) aplicaes queExigir o resultado de um clculo, uma certa crticaPrazo.6) Aplicaes integradas, onde o processador um componenteDe um sistema maior que usado para resolver o (normalmente)Aplicaes dedicadas.7) Aplicaes de mdia, tais como aqueles que descodificar vdeo eOs arquivos de udio.8) Random pacotes de software que os usurios de desktop queGostaria de executar em seus PCs.Cada uma destas reas de aplicao tem um conjunto diferente deCaractersticas. Cada rea de aplicao exige um conjunto diferenteDas vantagens e desvantagens de ser feita no especificando o microprocessador paraFazer o trabalho.E. Os Princpios Bsicos do tratamentoBasta colocar, um microprocessador processa instrues. AFazer isto, ele tem que fazer trs coisas: 1) fornecer instrues para oNcleo do processador onde cada instruo pode fazer o seu trabalho; 2.1554 PROCESSO DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001Fornecer os dados necessrios de cada instruo; e 3) Execute oAs operaes necessrias de cada instruo.F. Fonte InstruoNos primeiros dias de fornecer instrues, uma instruoFoi trazida a um tempo, decodificado e enviado para o ncleo de processamento.Com o passar do tempo, o nmero que podem ser buscadosAo mesmo tempo cresceu de um para quatro, e mostra sinais deEm breve aumentar para seis ou oito. Trs coisas podem entrar no caminhoDe totalmente fornecendo o ncleo com as instrues ao processo: instruoPerdas de cache, buscar quebrar e ramo condicionalMispredictions. Quando um acesso ao cache de instruo falhar,O fornecimento de instrues cai para zero at que o cache miss reparado. Uma busca ruptura ocorre quando uma instruoBuscados um branch, tornando inteis todas as subseqentesAs instrues obtidas no mesmo ciclo, independente deO problema largura. UM ramo condicional misprediction significaQue todas as instrues buscadas desde o ramo mispredictedRepresentam esforos desperdiados, e deve ser jogado fora antes de prosseguirAo longo da instruo correta caminho.G. Fornecimento de dadosPara fornecer os dados necessrios de uma instruo, um precisa doCapacidade de ter disponvel uma infinita oferta de dados necessrios,A alimentao, na zero hora, e a um custo razovel. Dados reaisPara bagagem no pode acomodar esses trs requisitos. OMelhor que podemos fazer uma hierarquia de armazenamento, onde uma pequena quantidadeDe dados pode ser acessada (on-chip) de um a trs ciclos, um loteMais dados podem ser acessados (tambm, on-chip) em dez a 16 ciclos,E ainda mais dados podem ser acessados (chip) em centenas deCiclos. O resultado que os dados reais para bagagem sofre de latnciaPara obter um determinado elemento de dados e a largura de banda necessriaPara mover o elemento de dados de sua localizao no armazenamentoHierarquia para o ncleo do processador, onde ela necessria.To ruim quanto esta off-chip a latncia hoje em dia, a situao est a piorarO tempo todo. Melhorias no tempo de ciclo continuar processadorPara crescer a um ritmo muito mais rpido que uma memria tempo de ciclo. Em umAlguns anos, esperamos para ver off-chip acessos a dados em memriaTer milhares de ciclos do processador.H. Processamento de InstruesPara realizar as operaes necessrias a estas instrues, preciso ter um nmero suficiente de unidades funcionais de processoOs dados, assim como os dados so disponveis, e bastaAs interconexes instantaneamente a fornecer um resultado produzido porUma unidade funcional para a unidade funcional que precisa dela como umFonte. No entanto, as interligaes no so suficientes.Como on-chip diminuio tempos de ciclo, a latncia necessria paraEncaminhar os resultados produzidos pelas unidades funcionais em uma parte do"Chip" para a unidades funcionais em outras partes do chip onde estesOs resultados so necessrias, como fonte de operandos pior.II. AGENTS DEEVOLUOMuitas coisas tm ajudado o desenvolvimento do microprocessador:A vontade do pblico que compra a concha para cima o queOs fornecedores produzem-sem um mercado, teramos todos osTer ido para casa h muito tempo. A criatividade dos engenheiros para entrarAt com as respostas onde no h problemas sem solues,No haveria evoluo.Entendo que essas coisas vm em segundo lugar, e que a obrigaoAs funes (o que eu tenho chamado os agentes para a evoluo) tmForam novas necessidades, pontos de estrangulamento, e boa sorte.A. Agente I: novas exignciasPrimeiros microprocessadores processamento limitado para aquilo que umPoderia alcanar por buscar uma instruo cada ciclo, decodificaoA instruo e encaminhamento, e todos os seus dados para oUnidades funcionais no core para processamento. A procura deMaior desempenho ditado que ao buscar uma instruoCada ciclo era insuficiente. O resultado que o grande problemaO microprocessador, nos casos em que a buscar mecanismo permite vriosAs instrues a serem buscados, decodificado e publicado para oNcleo de execuo cada ciclo.Outro exemplo, tambm devido s exigncias de alto desempenho,Foi a necessidade de mais do que uma instruo a serProcessados ao mesmo tempo. Um s pode fazer um complemento a umaSe um tem apenas uma ALU. O resultado foi a inclusoDe vrias unidades funcionais do ncleo de execuo.Hoje em dia, a prevalecente newrequirement envolve consumo de energiaOu o que est sendo referido como fonte de conhecimento informtica.A exigncia para fornecer o mesmo nvel de computadorDesempenho de um projeto anterior, ao mesmo tempo em que consome umFrao da energia necessria para o projeto anterior. NotaQue este diferente do de baixo requisito de energia de embeddedOs transformadores, que tem sido um importante ponto de designDurante algum tempo.No um bom negcio de sentimento que amanh a novaRequisito implicar a interface humana, que muito exigenteMais e mais ateno como computador/interao humanaTorna-se mais e mais difundida.B. Agent II: gargalosTemos identificado acima dos trs rgos de instruoTransformao (instruo alimentao, fornecimento de dados e realizaoAs operaes da instruo), e o que cada uma significa.De longe, a maior parte das melhorias para o microprocessador terSurgiu devido a tentativas de eliminar os gargalos que impedem queEstes trs componentes de fazerem os seus trabalhos.Por exemplo, a instruo oferta requer buscar algunsNmero de hoje quatro DE instrues cada ciclo. Se estas instruesForam armazenados na memria, o tempo para buscar queSer demasiado longo. O gargalo a lenta memria. Assim sendo, oCache de instruo foi inventado.Se o hardware tem a capacidade de buscar quatro instrues,Mas a segunda instruo um ramo condicional, apenasDuas e no quatro instrues que sero buscados. O ponto de estrangulamento,Que causado pelo ramo condicional, o arranjoDe instrues no fim produzido pelo compilador,Em vez de a (dinmico) ordem na qual as instruesSo executados. O novo recurso, adicionado pela primeira vez recentemente paraO Pentium IV, o Trace Cache, que armazena instruesNa ordem em que eles foram recentemente executados, noNo (esttica) fim designado pelo compilador.PATT: REQUISITOS, PONTOS DE ESTRANGULAMENTO, E BOA SORTE 1555Por fim, se as instrues esto a ser fornecidos em cada ciclo, umTem um problema quando se deparar com um ramo em que o estadoQue determina se ou no a filial dever serNo ainda conhecida. Poder-se-ia esperar que estadoPara ser resolvido, interrompendo temporariamente a busca de instruesAt que esta resoluo ocorre. O gargalo era atenuada pelaA introduo da sucursal preditores, que adivinhar seO ramo deve ser tomada ou no, e imediatamente buscar segundoPara o adivinhar.C. Agente III: Boa sorteBoa sorte acontece quando algo provoca um manQue pode, ento, ser usado para fornecer recursos adicionais para oMicroprocessador. Um bom exemplo disso a tecnologiaShrink que permite que uma prxima aplicao de um microprocessadorPara ocupar menos espao no chip que a implementao anteriorO fizeram. Com menos espao requerido pelo projeto velho, maisEspao disponvel para fazer outras coisas. Dois exemplos deOutras coisas que foram introduzidas para o microprocessador noDesta forma foram os on-chip acelerador de ponto flutuante doMeados da dcada de 1980 e o recurso de extenso instrues multimdiaAdicionado on-chip no final da dcada de 1990.III. EVOLUO: F-ROM1971 ATOJEO microprocessador tem evoludo radicalmente a partir daSimples 2.300 transistores da Intel 4004 para o que hoje.Tal como foi sugerido acima, que a evoluo foi devido a vriosAs coisas. O resultado que o processador Pentium IV de hoje tem poucoSemelhana com o Intel 4004 de 1971.Alguns exemplos do que a evoluo so os seguintes.A. PipelinePrimeiros microprocessadores processado uma nica instruo deBuscar a aposentadoria antes de iniciar a prxima instruo.Pipeline, o que tinha sido em torno desde pelo menos a dcada de 1960Em computadores mainframe, era uma soluo bvia para queGargalo de desempenho. Microprocessadores comercialmente viveisComo, por exemplo, o Intel 8086 introduziu o primeiro passoPara a canalizao no final da dcada de 1970 pela prefetching a prximaEnquanto a atual instruo instruo estava sendo executado.B. Cache no chipOn-chip armazena em cache no fez show em microprocessadores at que umAlguns anos mais tarde. A latncia para obter as instrues e dados deO chip de memria para o processamento no chip elementos foi muitoLongo. O resultado: uma sobre-chip cache. O comercialmente pela primeira vezPor microprocessador viveis para apresentar um no-cache foi o chipA Motorola MC68020, em 1984. Em uma pipelined processor, til para ser capaz de ir buscar uma instruo e buscar dados emO mesmo ciclo sem o gargalo da disputa para oUma porta para o cache. Uma vez que ele se tornou-se possvel para colocar cachesNo chip, o prximo passo foi a cache separadamente as instruesE dados. Entre os primeiros microprocessadores para incluirSeparar on-chip armazena instrues e dados da Motorola foiMC68030, em 1986.A cache pode ser rpido ou grande, no tanto. Desde oCache tinha que ser rpido, ele tinha que ser tambm pequena, resultando em muitoGrande um cache miss. O problema com perda de cache foiA demora para ir off-chip para satisfazer a perder era muito grande.O resultado: dois nveis de cache on-chip, de modo que uma miss naO rpido, em primeiro lugar nas pequenas empresas cache de nvel poderiam ser satisfeitas por um maior,Cache de nvel segundo mais lento que ainda era muito mais rpido do que vocOff-chip. Este recurso no fez show em microprocessadoresAt que o Alpha 21164 por volta de 1994. Hoje, quase todos os servidoresMicroprocessadores tm dois nveis de cache.C. Branch predictionOs benefcios da canalizao so perdidas se ramificaes condicionaisProduzir gasoduto vai-se abaixo em espera para o estado no qual oBranch baseado para ser resolvido. Hardware (run-time) ramoPreditores no fez show no chip do microprocessador atO incio da dcada de 1990. Alguns dos primeiros microprocessadores para introduzirRun-time filial foram preditores da Motorola MC88110,A Alpha Digital 21064 e Intel Pentium.D. Unidade de ponto flutuante no chipNo incio os microprocessadores separados tinham um chip para lidar comAs operaes em ponto flutuante. Como os transistores ficou ainda menor eChips ficou maior, o transistor contar atingiu o pontoNos casos em que a unidade de ponto flutuante pode ser colocada no mesmo"Chip" com a principal unidade de processamento, utilizando "nova" pea sobressalenteDesnecessrias e economizando capacidade off-chip comunicao.O Motorola MC88100 e o Intel 486 foram dois dos primeirosChips de modo a incorporar a unidade de ponto flutuante sobre o principalChip de processador no final da dcada de 1980.E. Unidades funcionais especializadas AdicionaisPrimeiros microprocessadores tinham um ou muito poucos funcionaisAs unidades. Como o nmero de transistores em um chip cresceu, assim tambmO reconhecimento de que execuo paralela poderia ser exploradaCom vrias unidades funcionais. Em primeiro lugar, tais coisas como separarALUs (unidades endereos foram adicionados. Em seguida, um mais sofisticadoLoad/store unidade funcional que contenham estruturas como escreverTampes, uma miss pendentes na fila, e um mecanismo de manipulaoDesambiguao de memria tornou-se uma parte da geralChips de microprocessadores na dcada de 1990. Da Intel i860, em 1986, foiUm dos primeiros a ter vrias unidades funcionais especializadas,Ningum para ajudar processamento grfico, para alm de o floatingPonto adicionar e multiplicar as unidades.F. Fora-de-ordem TransformaoO contrato entre o programador/compilador e oNa microarquitetura requer que as instrues devem ser realizadasFora da ordem especificada pela traduo do programa. EsteProduz um gargalo cada vez que uma instruo que podeNo sero efectuadas impede uma posterior instruo doA ser executado se a posterior instruo tem tudo o que Tem de iniciar a execuo. O mecanismo para obter em torno desteGargalo, fora-de-processamento de pedido, tinha sido conhecida desdeA meados da dcada de 1960 sobre a IBM 360/91, por exemplo. No entanto,O mecanismo era restrita a cientfico de alto desempenhoComputao, casos em que se alegou que o fato de sermos capazes de lidar comPreciso excepes no era um requisito essencial. ActualA aceitao do padro IEEE de ponto flutuante por apenasPROCESSO n 1556 do IEEE, VOL. 89, N 11, NOVEMBRO DE 2001Sobre todos os fabricantes sugere o contrrio. No entanto,Embora execuo fora de ordem havia sido usado em mainframesH 35 anos, o seu uso em combinao com precisoTratamento de excees em primeiro lugar mostrou-se em microprocessadores emA meados da dcada de 1990.Para acomodar execuo fora de ordem, o microprocessadorAprovado o cadastro reserva e serrilhado estaesQue tinha sido utilizado em verses anteriores os mainframes. Para faz-lo comPreciso excepes, o microprocessador tinha que adicionar oDistino entre instruo e execuo de instruesReforma. As instrues foram autorizados a executar sempre queSeus recursos (dados e unidades funcionais) tornou-se disponvel,Independente de sua ordem no programa, mas foram forados aAposentar-se na mesma ordem em que eles ocorreram na execuoPrograma. Ou seja, a arquitetura interna poderia executarInstrues fora de ordem, mas teve de resultados do relatrio (ou seja,Alterar o estado permanente de clculo) em a ordemAs instrues ocorreu no programa em execuo. FazendoIsso necessrio uma estrutura para restaurar o estado no caso deUma exceo. Este estado restaurando mecanismo comumenteManifesta-se como um Reorder Buffer na maioria dos microprocessadoresHoje, e como um checkpoint reforma estrutura de alguns.Embora outros microprocessadores mostrou o incio daExecuo fora de ordem anteriormente, o primeiro a explorar plenamente aConceito foi o Pentium Pro, em 1995.G. "Clusters"Um nico tamanho de chip continua a aumentar, tamanho do recurso continuaPara diminuir, e no chip freqncias continuam a aumentar.O resultado que o valor produzido por uma unidade funcional de umaEsquina do chip no pode atravessar o "chip" e estar disponvelComo uma fonte de uma unidade funcional no canto oposto doChip no prximo ciclo. O resultado-divisria a execuoNcleo em clusters para que a maior parte do tempo, os resultados produzidosAtravs de uma unidade funcional em um cluster ser utilizado por outroUnidade funcional no mesmo cluster. Ainda tem o problemaDe saber qual cluster para virar uma determinada instruo,Mas se for bem-sucedido, o ciclo desordenado mltiplos atrasos causadosPor um resultado tendo que atravessar uma grande parte do chip vaiLonge. Este recurso foi apresentado pela primeira vez no Alfa 21264 noFinal da dcada de 1990.H. Multiprocessador ChipUma alternativa utilizao da crescente riqueza do die(Muitos mais transistores, combinado com freqncia operacional mais rpida) a partio em que o "chip" em regies, com um idnticoProcessador ocupando cada regio. O paradigma chamado deA PGC, para chip multiprocessadores. Para tarefas que so facilmente particionvelNo auto-contidas instruo ribeiros, onde se realizam importantesComunicao entre a instruo fluxos necessrio,O CMP um bom paradigma. Ela fornece a maiorBenefcio da comunicao interprocessador combinados que ocorra no chip,Quando essa comunicao muito mais rpido do que o chip. IBMIntroduziu esse recurso no ano 2000, com dois processadores no seu G4Chip.I. O Multithreading simultneaFonte Instruo sofre quando o acesso ao cache de instruesOs resultados em um cache miss. Um lote de capacidade desperdcio de tempoEm espera para o cache miss a ser satisfeito. Burton Smith em1978 [ 3] sugeriram a utilizao de capacidade de produo para buscar deOutra instruo fluxos. O conceito foi implementado pela primeira vezEm seu Donelcor HEP. O conceito no fez show no microprocessadorMundo at a dcada de 1990, onde ele foi ampliado paraPermitir a busca de fluxos alternativos instrues individuaisEm ciclos alternados, mas executar fluxos de todas as instruesEm simultneo no mesmo ciclo, com base na disponibilidade deOs dados necessrios. O primeiro microprocessador para implementar estaRecurso foi o Pentium IV, em 2000.J. Ncleos RpidaNo computar as tarefas, o fluxo das dependncias deFonte de operandos espera dos resultados produzidos pelas anterioresAs instrues podem ser um gargalo significativo. A soluo-runO ncleo de execuo em uma frequncia muito mais rpido do que o restoO microprocessador. O Processador Pentium IV chip, introduzida em2000, Tem uma freqncia de operao de 1,7 GHz, mas uma ALUQue opera em 3,4 GHz.IV. TELENE-BILHES-TRANSISTOR-CHIPFREPARADOSComo j dissemos, na atual dcada, tecnologia de processoEst prometendo um bilho de transistores em um nico chip,Operando a uma freqncia de 6 a 10 GHz. O que ser que vamosFazer com toda essa capacidade?Computador hoje os arquitetos no esto de acordo com a resposta.Alguns deles defendem a prorrogao da CMP ideia que temos descritoAcima. O argumento que, com um bilho de transistores, quePoderia colocar 100 microprocessadores em um nico chip, composto de10 Milhes de transstores cada. O argumento mais membros queUm transistor 10 milhes processador ainda muito significativo, eConstruir algo maior do que aquele que apenas implicam em maior diminuioRetorna.Outros sugerem um aumento da utilizao simultnea de multithreading.Eles alegam que muitos dos recursos necessriosPara a CMP poder ser compartilhada em um nico chip, processador SMTLiberando a salvo recursos para outras funcionalidades, tais comoCaches maiores, melhor ramo preditores, mais unidades funcionais,Etc.Alguns, inclusive este autor, note-se que, enquanto A SMT Sem dvida que uma melhoria em relao ao CMP com respeito a sharedOs recursos, eles cairo ambos terrivelmente curta no que diz respeito aAcelerar as mais importantes referncias no-cientficas.O motivo: a maior parte desses parmetros, oDecepcionante caracterstica, re: SMT, de ser constitudo por umSingle instruction stream. Isso, e a noo de que uma muitoCaro "chip" deveria resolver os problemas no podem ser resolvidos pelo por umMulticomputer rede composta de lotes de menor mais barato"Chips" defendem a utilizar todos os bilhes de transistores para produzir uma muitoAlta potncia de uniprocessador.Outros ainda se queixam que, uma vez que ferramentas CAD j so desiguaisPara a tarefa de validao com preciso nossos atuais chips, uma irresponsabilidade para projetar ainda mais complexa. ElesPATT: REQUISITOS, PONTOS DE ESTRANGULAMENTO, E BOA SORTE 1557Fig. 2.O microprocessador amanh.O advogado-um processador de ncleo simples, combinado com enormesEm chip armazena em cache.As pessoas que tm uma boa relao custo-centrada (um muito diferente ponto de design)Reconhecer que nveis mais altos de integrao produzem mais baratoOs produtos, e sugerem a utilizao do um bilho de transistores queVai estar disponvel para colocar todo o sistema no agressivoO um chip.Estas so as sugestes alternativas, e desconfio cadaEles vo mostrar para cima de alguns produtos durante os prximos dezAnos. A minha preferncia usar a bilhes de transistoresPara evoluir o mais alto desempenho monoprocessador que podemnico processo de instruo de transferncia de aplicaes. Os agentesCatalisar a evoluo permanecem como antes: novas exigncias,Os estrangulamentos e boa sorte. Algumas ideias que so susceptveis deVer evoluir so os seguintes.A. O novo microprocessadorAt agora, o microprocessador tem sido tratada como mostradoNa Fig. 1. Mas por qu? Se tomarmos os nossos nveis de transformaoE incluem o algoritmo e a lngua no microprocessador,O microprocessador torna-se, ento, a coisa que usaTecnologia do dispositivo para resolver os problemas. Ver Fig. 2.Por que motivo no Razovel para algum que deseje projetar um microprocessadorQue aborda algum ponto no espao do aplicativo a ter emConta o fim especial algoritmo necessrios para resolver queProblema, e incorporar o algoritmo no microprocessador?Ns que hoje em produtos de baixo custo aplicaes integradas. Por que razoNo nos requisitos de alto desempenho onde estamos dispostosPara suportar custos elevados?Esta adaptao pode assumir a forma de lgica reconfigurvel,Sero discutidas a seguir, especial dedicada as instrues do ISA, ouUma unidade funcional integrada (como, por exemplo, um DSP - Digital Signal Processor o motor), desde aO chip.B. Um novo caminho de dadosSobre-chip freqncias so esperados para ser to alto que graveDeve ter-se em considerao o comprimento do fio de qualquer sinalNo chip. Alguns dos sinais vai exigir vrios ciclos para atravessarO chip, e preciso analisar com cuidado quais os sinaisSer permitido que o faam. A maior parte dos sinais no ser provavelmentePermitido. a que reside o desafio: reestruturar os dadosCaminho luz da nova restrio de comprimento de cabo.C. Tolerncia/segurana internaOutra consequncia da crescente on-chip freqnciasVai ser a suscetibilidade a leses de partes moles os erros; os erros que vaiSer criado intermitente e com freqncia devido ao fsicoNatureza dos materiais em funcionamento esperado das freqncias de relgio.Futuro os microprocessadores tero de fornecer funcionalidadePara verificar e corrigir estes erros leves como elesOcorrem.D. As unidades sncronas e assncronas coexistemJ, clock skew um grave problema. Em 6 GHz, muito pior. certo que as estruturas so assncronasMais dura para o projeto, mas o que faz com que todo o problema de umRelgio global que tudo sincronizado. E que Suficientemente importante que o desafio vale a pena abordar.A minha expectativa a de que iremos ver estruturas que operamAssincronamente para algum perodo de tempo fixo (medido emCiclos de clock), aps o qual so sincronizados com o globalRelgio. Estruturas diferentes necessitam de diferentes quantidades deTempo em que eles precisam para operar sem sincronia para obterEm torno de sua inclinao nicos problemas.E. Diferentes tempos de ciclo para diferentes funesPara aqueles que as estruturas que funcionam em sincronia, no Necessrio que todos eles executados na freqncia do chip.As peas que no precisam ir mais rpido poderia ser projetado para ir lentoE economizar energia, por exemplo. O futuro oramento transistorPode fornecer uma enorme flexibilidade para aproveitar as vantagensA variabilidade do chip.Uma ALU a trabalhar com o dobro da frequncia do resto doNcleo apenas a ponta do iceberg. O futuro microprocessadorPoderia usar o relgio inteligente, uma maior velocidade quando necessrio,Menos velocidade onde no necessrio, e muito lento onde a velocidade No, o caminho crtico de todos.F. Novos MateriaisEu no tenho nenhuma idia onde estes materiais sero provenientes, masA lei de Moore continua a prevalecer apesar da desgraa queMostrar a cada cinco anos ou mais, para soletrar o seu desaparecimento. CrticaOs materiais so necessrios vis-a-vis on-chip condutividade, e mesmoMais importante ainda, vis-a-vis requisitos de consumo de energia e dissipao de calor.Assim, no esprito do puro wishful thinking, IDesejo de engenharia engenho para prevalecer novamente.G. Expanso do uso de microcdigoOff-chip banda larga caro, a largura de banda chipMuito abundante. A minha expectativa: no vamos mais eficazmente o chicoteOn-chip banda larga. A expanso do uso de microcdigo umForma de se fazer isso. Por exemplo, microcoded rotinas poderiaExplorar a capacidade ociosa das unidades funcionais subutilizadosEm um papel subordinado a instruo primria do fluxo.Temos cunhou o termo subordinado microthreading simultnea(SSMT) para refletir o seu papel em uma mquina SMT[ 4]. Estes microcoded poderia executar rotinas dinmicasRecompilao, calcular alguns alimentos compostos instruo, sintonia1558) TRABALHOS DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001O cache poltica de substituio, ou de alguma outra forma, executeUm clculo que permite o fluxo de instruo primriaExecutar mais rpido.H. Lgico reconfigurvelCoerente com Fig. 2, Espero que muitos futuros microprocessadoresPara atender s necessidades de aplicaes especficas. UmAplicao poderia fazer bom uso de alguma funo lgica queSeria intil para outras aplicaes, enquanto que outra aplicaoPoderia fazer bom uso de uma lgica diferente funo queSeria intil para a primeira aplicao. Talvez ambos os aplicativosPodem ser tratadas eficazmente por um microprocessador queTinha a capacidade de fazer run-time alfaiataria. Ou seja, penso que umEstrutura on-chip, talvez uma baixa granularidade FPGA, mas maisProvavelmente ser uma maior granularidade estrutura lgica reconfigurvel, vaiSer comum para os futuros microprocessadores.I. PourriPor fim, apresento uma lista de recursos que eu esperava para ver no produtivaMicroprocessador de 2008 ou 2009, ou sempre que que finalmente, tecnologia de processo nos proporciona um bilhoTransistores em um nico chip de silcio.1) Expanso do uso do trace cache, onde instrues dinmicasTrechos ser composto de muito mais do que de8 instrues por entrada, provavelmente pr-agendado comA ajuda do compilador (parecido com o bloco estruturadoISA ou a repetio mecanismo), mas sintonizados em run-time.2) No chip o microcdigo para usar a capacidade de reserva doNcleo de execuo para sintonizar o hardware do chip estruturas.3) Dinmica recompilao do programa em execuo,Provavelmente realizado pelo abastea a unidade, ou microcdigo on-chipSer banal.4) Vrios (pelo menos trs) nveis de cache com correspondenteISA adies (vrios prefetch e poststoreInstrues) para mover os dados para mais perto do ncleo eMais uma forma de o ncleo em resposta ao do ncleoNecessidade de que os dados.5) Valor agressiva previso hardware, provavelmente comA nvel de procedimento da granularidade e compilador correspondenteOtimizaes para ajudar a sua eficcia.6) Desempenho monitoramento de hardware para permitir ajustar oHardware em tempo de execuo para mais se coadunam com oNecessidades do programa em execuo.7) Uma estrutura on-chip para monitoramento e que afectam oConsumo de energia do chip.V. CONCLUSIONO microprocessador tem desfrutado uma emocionante viagem desdeSua inveno em 1971. Algumas tecnologias podem gabar-se do enormePassos que fez. Mas, infelizmente, h aqueles queArgumentam que o fim desta poca de ouro apenas em torno doCanto. Mas tais negativistas foram aqui antes. Eles disseramO MIPS R2000 foi todo o microprocessador que ningumNunca a necessidade em 1986, e dez anos mais tarde, disseram que o processador Intel PentiumPro foi todo o microprocessador, que qualquer pessoa que nunca necessrio. A indstria continua a fazer mais e melhor, e os usurios deQue a tecnologia continue a fazer uso dessa "melhor".Isso no o mesmo que dizer que as coisas no vo mudar, que as novasIngenuidade no mais necessria. A jusante, e talvez seja precisoUma mudana radical de paradigmas, tais como computao quntica cauoNs, mas a verdade que quase no so limitados direita agora.Certo de que precisamos para desenvolver melhores ferramentas CAD. CAD AtualAs ferramentas possuem problemas verificando os microprocessadores de hoje,Para j no falar das sugestes neste artigo. E, com certeza, precisamosA pensar mais amplamente no nosso conceito do microprocessador(Fig. 2, Por exemplo). Mas a linha inferior a de que a Lei de MooreEst vivo e bem, e ainda fornece uma abundncia de oportunidades.ACKNOWLEDGMENTEsta introduo tem beneficiado de muitas interaesAo longo de muitos anos, com muitos dos antigos e actuais alunos eMuitos dos antigos e atuais colegas de trabalho. O projecto publicadoAqui tem-se beneficiado explicitamente dos comentrios e crticasDe S. J. Patel, R. Belgard, R. Ronen. Deve-se notarQue a existncia de um excelente e muito mais detalhado do tratamento de muitos dosAs questes aqui tratadas so fornecidos em suporte de papel por Ronen eSeus colegas de trabalho com a Intel [ 5], que o autor recomenda aO leitor.REFERENCES[ 1] H. Mazor, "a histria do microcomputador a inveno e a evoluo".Proc. O IEEE, vol. 83, pp. 1601-1608, Dezembro de 1995.[ 2] site da Intel na web [Online]. Disponvel: http://www.intel.com/pressroom/Os kits/quickrefyr.htm#1971.[ 3] B. Smith, "A conduta, recurso compartilhado MIMD computador", noProc.1978 Int. Conf. Processamento paralelo, Ago 1978, pp. 6-8.[ 4] R. S. Chappell, J. Stark, S. P. Kim, S. K. Reinhardt, e Y. N. Patt,"Subordinao simultnea microthreading (SSMT) ," noProc. 26.Annu. Int. Sintomtico. Arquitetura de computadores, Maio de 1999, pp. 186-195.[ 5] R. Ronen, A. Mendelson, K. Lai, S. -L. Lu, F. Juliana e J. P. Shen,"Prximos desafios na microarquitetura e arquitetura",Proc.O IEEE, vol. 89, pp. 325-340, Mar. 2001.Yale Patt(Colegas, IEEE) recebeu o grau B. S.A Northeastern University e o M. S.E doutorado na Universidade de Stanford, todasEm engenharia eltrica. Professor de Engenharia Eltrica e da ComputaoE o Ernest Cockrell, Jr. CENTENRIOPresidente da Universidade do Texas, em Austin. Ele dirigeO doutor pesquisa de nove estudantes sobre os problemasRelacionadas com a execuo de alto desempenhoOs microprocessadores. Ele tem sido um activoConsultor para a indstria de microprocessadoresH mais de 30 anos. O seu amor est ensinando-o necessrio em primeiro lugarCurso de computao avanada entre calouros e nos cursos de ps-graduao em arquitetura.Ele recentemente co-autoria com S. J. Patel um livro,IntroduoPara sistemas de computao: a partir de Bits e portes de C e alm(NovoYork: Mc Graw-Hill , 2000) que uma grande partida do tradicionalFreshman curso. Ela j foi adotada por mais de 50 colgios eAs universidades.O Dr. Patt tem sido atribudo o IEEE/ACM Eckert utilizou-Award (1996),O IEEE Emmanuel R. Piore Medal of Honor (1995), o IEEEWallaceW. McDowellMedal of Honor (1999), e o ACMKarl V. Karlstrom excelente educador award(2000). Ele um Fellow da ACM.PATT: REQUISITOS, PONTOS DE ESTRANGULAMENTO, E BOA SORTE n. 1559