Sei sulla pagina 1di 9

Os requisitos, pontos de

estrangulamento, e boa
sorte.
Os
agentes
de
microprocessador
Evoluo
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 frequncia de
relgio de 108
Khz. Hoje, 30 anos mais tarde, o microprocessador contm quase
200
Milhes de transistores, operando a uma freqncia de mais de 1
GHz.
Em cinco anos, esses nmeros so esperados para crescer para
mais de um
Bilhes de transistores em um nico chip, operando a uma
frequncia de relgio
De 6 a 10 GHz.
A evoluo dos microprocessadores, fromwhere comeou em 1971
Para onde ele est hoje e onde provvel que venham a ser de
cinco anos, tem
Surgiu porque vrios contribuindo foras. A nossa posio
Que esta evoluo no acontecem por si s, que cada passo em
frente veio
Como resultado de uma das trs coisas, e sempre dentro do
contexto
De um computador arquitecto fazer cedncias. As trs coisas so:
1)
Novas exigncias; 2) os estrangulamentos; e 3) boa sorte. EU
chamar-lhes-o
Coletivamente os agentes para a evoluo.
Este artigo tenta fazer trs coisas: descrever um quadro de base
Para o campo dos microprocessadores, mostrar alguns dos
importantes
Os desenvolvimentos que tm 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 prximos cinco anos.
Palavras-chave:arquitetura de computadores, microarquitetura,
microprocessador,
Microprocessador microprocessador design, evoluo.

I. BSICA FPLANOD
A. Arquitetura de computadores: A cincia das vantagens e
desvantagens
Arquitetura de computadores muito mais "arte" de
"cincia".
As nossas capacidades e percepes sobre como melhorar a
experincia mais
Casos. Computador arquitectos desenhar sobre a sua
experincia com
Projetos anteriores na tomada de decises sobre os projectos
em curso. Se
Arquitetura de computadores uma cincia a todos, uma
cincia de
Vantagens e desvantagens. Computador arquitetos ao longo
do ltimo meio sculo, no

Continuou a desenvolver uma base de conhecimento para


ajud-los
Praticar a sua embarcao. 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: patt@ece.utexas.edu ).
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 evoluo
O microprocessador.
B. Os nveis de transformao
Nmero de transistores e os seus tempos de comutao so
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 nveis de transformao que
um
Problema, afirmou em alguma linguagem natural como no
caso do ingls, deve
V at a ser resolvido. Em um sentido real, que so os
eltrons que
Realmente fazer o trabalho e resolver o problema. No
entanto, uma vez que
Tambm no falamos "eltron" e os eltrons no falam
qualquer
Linguagem natural, o melhor que podemos fazer
sistematicamente transformar
O problema atravs dos nveis apresentados na Fig. 1 at
ns
Alcanar o eltron (ou dispositivo) de nvel, isto , 200
milhes
Transstor, 1-GHz chip.
Ao longo do caminho, a soluo para o problema
formulado pela primeira vez como
Um algoritmo para eliminar o inaceitvel caractersticas dos
Linguagem natural, como ambiguidade. Trata-se, em
seguida, codificados em um
Mecnica 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 usa
Para dizer ao microprocessador o que ele (o programa) tem
feito
E 2) que o microprocessador usa para mas ele deve efectuar
0018- 9219/01 $10,00 2001 IEEE
TRABALHOS DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001 1553

Em nome do programa. A ISA implementado por um


conjunto
As estruturas de hardware referidos coletivamente como o
microprocessador's
Na microarquitetura. Cada estrutura de hardware e
Suas interligaes so feitas de circuitos electrnicos
digitais,
Que, por sua vez, so feitos de dispositivos eletrnicos.
Quando dizemos "microprocessador" hoje em dia, ns
geralmente significa
A regio sombreada da Fig. 1. Ou seja, cada
microprocessador composto por
Dos circuitos que implementam o hardware das estruturas
(coletivamente
Chamado a microarquitetura) que fornecem uma interface
(O chamado ISA) para o software. No caso de a

Computador pessoal, o ISA o I-32, e a microarquitetura


o Intel Pentium IV, ou em dias anteriores, o processador
Pentium
III, Pentium II, Pentium Pro, 486, etc., ou o AMD's K-8, ou
em
H pouco dias, K-7, K-6, etc.
H outros Isa; por exemplo, SPARC (da Sun Microsystems).
Alfa (da Compaq), e Power-PC (a partir de
A Motorola e a IBM). Cada um tem as suas prprias
idiossincrasias que
Faz com que seja um melhor ou pior interface para que o
compilador possa
Oferecer, 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,
para
Lngua, a ISA a microarquitetura, para os circuitos, h
Escolhas e, portanto, vantagens e desvantagens.
Muitas vezes, mas no sempre, a escolha entre maior
desempenho
E o menor custo. Uma analogia para o automvel
instrutivo. possvel construir um alto-desempenho carro
esporte que
Pode ir de 0 a 100 km/h em quase 0 segundos. No entanto,
ela ir
Ser muito caro. Ou, possvel construir um automvel
muito barata
Que nunca poderia chegar aos 100 km/h, mas recebe 100 km
A um galo de gasolina. No se obtm desempenho e
Economia. Que o que compensa.
C. Pontos do Projeto
O projeto de um microprocessador a capacidade de tornar
relevantes
Vantagens e desvantagens. Nos referimos a um conjunto de
consideraes, juntamente com
A importncia de cada um deles, como o "ponto" de design
O microprocessador, ou seja, as caractersticas que so mais
Importante para a utilizao do microprocessador, de tal
forma que um
Est disposta a ser menos preocupado com outras
caractersticas.
Desempenho, custo, dissipao de calor e consumo de
energia
So exemplos de caractersticas que afetam fortemente um
design
Ponto. Outra "alta disponibilidade" - possvel projetar um
microprocessador
Nos casos em que o mais importante considerar o
Exigncia de que o microprocessador nunca falham. Alguns
clientes
Esto dispostos a aceitar desempenho menor ou maior custo
Se 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 energia
Requisitos. Este ponto de design tornou-se mais e mais
Importante como a energia e os requisitos de energia do
Mais alto desempenho batatas fritas se tornaram demasiado
grandes

E maiores. Mais uma vez, h uma desvantagem: maior


desempenho
Ou de conscincia.
importante ressaltar que a "conscientizao sobre
alimentao" diferente de
Outro ponto importante do projeto, "lowpower." Existem
muitos
Aplicaes onde a principal considerao que o
Microprocessador operar durante um longo perodo de
tempo com um muito
Pequena 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 aplicativos
A palavra "problema" na Fig. 1 um catch-all para a
aplicao
Espao, isto , o conjunto de aplicaes para as quais ns
Gostaria de usar os microprocessadores. Este conjunto est
aumentando de forma fenomenal
Taxa, e espera-se que continue a faz-lo. Na verdade,
Enquanto as pessoas sonhar mais usos para os
computadores, o
Necessidade de microprocessadores e as vantagens e
desvantagens que cada um de ns
Fazer continuar a expandir-se. Ou seja, espao do
aplicativo
(Ou, em vez disso, as aplicaes de importncia central)
conduzir o
Ponto de construo. J temos mencionado alta
disponibilidade
Processadores onde a demanda de aplicativos que o
microprocessador
Nunca falha. E os processadores de baixo consumo de
energia onde o
Os pedidos devem ser capazes de funcionar por um longo
perodo de tempo sobre uma pequena
Quantidade de energia.
Outros exemplos de espao do aplicativo que continuam a
A necessidade de pontos de design exclusivo so as
seguintes:
1) Aplicaes cientficas, tais como aquelas cujos clculos
Controle da energia nuclear as plantas, determinar para
onde?
Broca para leo e prever o tempo.
2) Baseado em transao aplicaes, tais como aqueles que
Lidar com as transferncias e ATM empresa de e-commerce.
3) Dados da empresa processamento de pedidos, tais como
aqueles
Que lidar com controle de estoque, folha de pagamento, IRS
actividade,
E diversos registro pessoal mantendo, quer o pessoal
So trabalhadores, estudantes, ou eleitores.
4) Aplicaes de rede, tais como roteamento de alta
velocidade de
Os pacotes da Internet, que permitem a ligao de seu
Sistema domstico para tirar proveito da Internet.
5) Entrega garantida (tambm conhecido como tempo real)
aplicaes que
Exigir o resultado de um clculo, uma certa crtica
Prazo.
6) Aplicaes integradas, onde o processador um
componente

De um sistema maior que usado para resolver o


(normalmente)
Aplicaes dedicadas.
7) Aplicaes de mdia, tais como aqueles que descodificar
vdeo e
Os arquivos de udio.
8) Random pacotes de software que os usurios de desktop
que
Gostaria de executar em seus PCs.
Cada uma destas reas de aplicao tem um conjunto
diferente de
Caractersticas. Cada rea de aplicao exige um conjunto
diferente
Das vantagens e desvantagens de ser feita no especificando
o microprocessador para
Fazer o trabalho.
E. Os Princpios Bsicos do tratamento
Basta colocar, um microprocessador processa instrues. A
Fazer isto, ele tem que fazer trs coisas: 1) fornecer
instrues para o
Ncleo do processador onde cada instruo pode fazer o seu
trabalho; 2.
1554 PROCESSO DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001

Fornecer os dados necessrios de cada instruo; e 3)


Execute o
As operaes necessrias de cada instruo.
F. Fonte Instruo
Nos primeiros dias de fornecer instrues, uma instruo
Foi trazida a um tempo, decodificado e enviado para o
ncleo de processamento.
Com o passar do tempo, o nmero que podem ser buscados
Ao mesmo tempo cresceu de um para quatro, e mostra sinais
de
Em breve aumentar para seis ou oito. Trs coisas podem
entrar no caminho
De totalmente fornecendo o ncleo com as instrues ao
processo: instruo
Perdas de cache, buscar quebrar e ramo condicional
Mispredictions. 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 instruo
Buscados um branch, tornando inteis todas as
subseqentes
As instrues obtidas no mesmo ciclo, independente de
O problema largura. UM ramo condicional misprediction
significa
Que todas as instrues buscadas desde o ramo mispredicted
Representam esforos desperdiados, e deve ser jogado fora
antes de prosseguir
Ao longo da instruo correta caminho.
G. Fornecimento de dados
Para fornecer os dados necessrios de uma instruo, um
precisa do
Capacidade de ter disponvel uma infinita oferta de dados
necessrios,
A alimentao, na zero hora, e a um custo razovel. Dados
reais
Para bagagem no pode acomodar esses trs requisitos. O
Melhor que podemos fazer uma hierarquia de
armazenamento, onde uma pequena quantidade
De dados pode ser acessada (on-chip) de um a trs ciclos,
um lote
Mais dados podem ser acessados (tambm, on-chip) em dez
a 16 ciclos,

E ainda mais dados podem ser acessados (chip) em centenas


de
Ciclos. O resultado que os dados reais para bagagem sofre
de latncia
Para obter um determinado elemento de dados e a largura de
banda necessria
Para mover o elemento de dados de sua localizao no
armazenamento
Hierarquia para o ncleo do processador, onde ela
necessria.
To ruim quanto esta off-chip a latncia hoje em dia, a
situao est a piorar
O tempo todo. Melhorias no tempo de ciclo continuar
processador
Para crescer a um ritmo muito mais rpido que uma
memria tempo de ciclo. Em um
Alguns anos, esperamos para ver off-chip acessos a dados
em memria
Ter milhares de ciclos do processador.
H. Processamento de Instrues
Para realizar as operaes necessrias a estas instrues,
preciso ter um nmero suficiente de unidades funcionais
de processo
Os dados, assim como os dados so disponveis, e basta
As interconexes instantaneamente a fornecer um resultado
produzido por
Uma unidade funcional para a unidade funcional que precisa
dela como um
Fonte. No entanto, as interligaes no so suficientes.
Como on-chip diminuio tempos de ciclo, a latncia
necessria para
Encaminhar os resultados produzidos pelas unidades
funcionais em uma parte do
"Chip" para a unidades funcionais em outras partes do chip
onde estes
Os resultados so necessrias, como fonte de operandos
pior.
II. AGENTS DE EVOLUO
Muitas coisas tm ajudado o desenvolvimento do
microprocessador:
A vontade do pblico que compra a concha para cima o que
Os fornecedores produzem-sem um mercado, teramos todos
os
Ter ido para casa h muito tempo. A criatividade dos
engenheiros para entrar
At com as respostas onde no h problemas sem solues,
No haveria evoluo.
Entendo que essas coisas vm em segundo lugar, e que a
obrigao
As funes (o que eu tenho chamado os agentes para a
evoluo) tm
Foram novas necessidades, pontos de estrangulamento, e
boa sorte.
A. Agente I: novas exigncias
Primeiros microprocessadores processamento limitado para
aquilo que um
Poderia alcanar por buscar uma instruo cada ciclo,
decodificao
A instruo e encaminhamento, e todos os seus dados para o
Unidades funcionais no core para processamento. A procura
de
Maior desempenho ditado que ao buscar uma instruo
Cada ciclo era insuficiente. O resultado que o grande
problema
O microprocessador, nos casos em que a buscar mecanismo
permite vrios

As instrues a serem buscados, decodificado e publicado


para o
Ncleo de execuo cada ciclo.
Outro exemplo, tambm devido s exigncias de alto
desempenho,
Foi a necessidade de mais do que uma instruo a ser
Processados ao mesmo tempo. Um s pode fazer um
complemento a uma
Se um tem apenas uma ALU. O resultado foi a incluso
De vrias unidades funcionais do ncleo de execuo.
Hoje em dia, a prevalecente newrequirement envolve
consumo de energia
Ou o que est sendo referido como fonte de conhecimento
informtica.
A exigncia para fornecer o mesmo nvel de computador
Desempenho de um projeto anterior, ao mesmo tempo em
que consome um
Frao da energia necessria para o projeto anterior. Nota
Que este diferente do de baixo requisito de energia de
embedded
Os transformadores, que tem sido um importante ponto de
design
Durante algum tempo.
No um bom negcio de sentimento que amanh a nova
Requisito implicar a interface humana, que muito
exigente
Mais e mais ateno como computador/interao humana
Torna-se mais e mais difundida.
B. Agent II: gargalos
Temos identificado acima dos trs rgos de instruo
Transformao (instruo alimentao, fornecimento de
dados e realizao
As operaes da instruo), e o que cada uma significa.
De longe, a maior parte das melhorias para o
microprocessador ter
Surgiu devido a tentativas de eliminar os gargalos que
impedem que
Estes trs componentes de fazerem os seus trabalhos.
Por exemplo, a instruo oferta requer buscar alguns
Nmero de hoje quatro DE instrues cada ciclo. Se estas
instrues
Foram armazenados na memria, o tempo para buscar que
Ser demasiado longo. O gargalo a lenta memria. Assim
sendo, o
Cache de instruo foi inventado.
Se o hardware tem a capacidade de buscar quatro instrues,
Mas a segunda instruo um ramo condicional, apenas
Duas e no quatro instrues que sero buscados. O ponto
de estrangulamento,
Que causado pelo ramo condicional, o arranjo
De instrues no fim produzido pelo compilador,
Em vez de a (dinmico) ordem na qual as instrues
So executados. O novo recurso, adicionado pela primeira
vez recentemente para
O Pentium IV, o Trace Cache, que armazena instrues
Na ordem em que eles foram recentemente executados, no
No (esttica) fim designado pelo compilador.
PATT: REQUISITOS, PONTOS DE ESTRANGULAMENTO, E BOA SORTE 1555

Por fim, se as instrues esto a ser fornecidos em cada


ciclo, um
Tem um problema quando se deparar com um ramo em que
o estado
Que determina se ou no a filial dever ser
No ainda conhecida. Poder-se-ia esperar que estado
Para ser resolvido, interrompendo temporariamente a busca
de instrues
At que esta resoluo ocorre. O gargalo era atenuada pela

A introduo da sucursal preditores, que adivinhar se


O ramo deve ser tomada ou no, e imediatamente buscar
segundo
Para o adivinhar.
C. Agente III: Boa sorte
Boa sorte acontece quando algo provoca um man
Que pode, ento, ser usado para fornecer recursos adicionais
para o
Microprocessador. Um bom exemplo disso a tecnologia
Shrink que permite que uma prxima aplicao de um
microprocessador
Para ocupar menos espao no chip que a implementao
anterior
O fizeram. Com menos espao requerido pelo projeto velho,
mais
Espao disponvel para fazer outras coisas. Dois exemplos
de
Outras coisas que foram introduzidas para o
microprocessador no
Desta forma foram os on-chip acelerador de ponto flutuante
do
Meados da dcada de 1980 e o recurso de extenso
instrues multimdia
Adicionado on-chip no final da dcada de 1990.
III. EVOLUO: F-ROM 1971 A TOJE
O microprocessador tem evoludo radicalmente a partir da
Simples 2.300 transistores da Intel 4004 para o que hoje.
Tal como foi sugerido acima, que a evoluo foi devido a
vrios
As coisas. O resultado que o processador Pentium IV de
hoje tem pouco
Semelhana com o Intel 4004 de 1971.
Alguns exemplos do que a evoluo so os seguintes.
A. Pipeline
Primeiros microprocessadores processado uma nica
instruo de
Buscar a aposentadoria antes de iniciar a prxima instruo.
Pipeline, o que tinha sido em torno desde pelo menos a
dcada de 1960
Em computadores mainframe, era uma soluo bvia para
que
Gargalo
de
desempenho.
Microprocessadores
comercialmente viveis
Como, por exemplo, o Intel 8086 introduziu o primeiro
passo
Para a canalizao no final da dcada de 1970 pela
prefetching a prxima
Enquanto a atual instruo instruo estava sendo
executado.
B. Cache no chip
On-chip armazena em cache no fez show em
microprocessadores at que um
Alguns anos mais tarde. A latncia para obter as instrues e
dados de
O chip de memria para o processamento no chip elementos
foi muito
Longo. O resultado: uma sobre-chip cache. O
comercialmente pela primeira vez
Por microprocessador viveis para apresentar um no-cache
foi o chip
A Motorola MC68020, em 1984. Em uma pipelined
processor,
til para ser capaz de ir buscar uma instruo e buscar
dados em
O mesmo ciclo sem o gargalo da disputa para o

Uma porta para o cache. Uma vez que ele se tornou-se


possvel para colocar caches
No chip, o prximo passo foi a cache separadamente as
instrues
E dados. Entre os primeiros microprocessadores para incluir
Separar on-chip armazena instrues e dados da Motorola
foi
MC68030, em 1986.
A cache pode ser rpido ou grande, no tanto. Desde o
Cache tinha que ser rpido, ele tinha que ser tambm
pequena, resultando em muito
Grande um cache miss. O problema com perda de cache foi
A 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 na
O 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 voc
Off-chip. Este recurso no fez show em microprocessadores
At que o Alpha 21164 por volta de 1994. Hoje, quase todos
os servidores
Microprocessadores tm dois nveis de cache.
C. Branch prediction
Os benefcios da canalizao so perdidas se ramificaes
condicionais
Produzir gasoduto vai-se abaixo em espera para o estado no
qual o
Branch baseado para ser resolvido. Hardware (run-time)
ramo
Preditores no fez show no chip do microprocessador at
O incio da dcada de 1990. Alguns dos primeiros
microprocessadores para introduzir
Run-time filial foram preditores da Motorola MC88110,
A Alpha Digital 21064 e Intel Pentium.
D. Unidade de ponto flutuante no chip
No incio os microprocessadores separados tinham um chip
para lidar com
As operaes em ponto flutuante. Como os transistores ficou
ainda menor e
Chips ficou maior, o transistor contar atingiu o ponto
Nos casos em que a unidade de ponto flutuante pode ser
colocada no mesmo
"Chip" com a principal unidade de processamento,
utilizando "nova" pea sobressalente
Desnecessrias e economizando capacidade off-chip
comunicao.
O Motorola MC88100 e o Intel 486 foram dois dos
primeiros
Chips de modo a incorporar a unidade de ponto flutuante
sobre o principal
Chip de processador no final da dcada de 1980.
E. Unidades funcionais especializadas Adicionais
Primeiros microprocessadores tinham um ou muito poucos
funcionais
As unidades. Como o nmero de transistores em um chip
cresceu, assim tambm
O reconhecimento de que execuo paralela poderia ser
explorada
Com vrias unidades funcionais. Em primeiro lugar, tais
coisas como separar
ALUs (unidades endereos foram adicionados. Em seguida,
um mais sofisticado
Load/store unidade funcional que contenham estruturas
como escrever

Tampes, uma miss pendentes na fila, e um mecanismo de


manipulao
Desambiguao de memria tornou-se uma parte da geral
Chips de microprocessadores na dcada de 1990. Da Intel
i860, em 1986, foi
Um dos primeiros a ter vrias unidades funcionais
especializadas,
Ningum para ajudar processamento grfico, para alm de o
floating
Ponto adicionar e multiplicar as unidades.
F. Fora-de-ordem Transformao
O contrato entre o programador/compilador e o
Na microarquitetura requer que as instrues devem ser
realizadas
Fora da ordem especificada pela traduo do programa. Este
Produz um gargalo cada vez que uma instruo que pode
No sero efectuadas impede uma posterior instruo do
A ser executado se a posterior instruo tem tudo o que
Tem de iniciar a execuo. O mecanismo para obter em
torno deste
Gargalo, fora-de-processamento de pedido, tinha sido
conhecida desde
A meados da dcada de 1960 sobre a IBM 360/91, por
exemplo. No entanto,
O mecanismo era restrita a cientfico de alto desempenho
Computao, casos em que se alegou que o fato de sermos
capazes de lidar com
Preciso excepes no era um requisito essencial. Actual
A aceitao do padro IEEE de ponto flutuante por apenas
PROCESSO n 1556 do IEEE, VOL. 89, N 11, NOVEMBRO DE 2001

Sobre todos os fabricantes sugere o contrrio. No entanto,


Embora execuo fora de ordem havia sido usado em
mainframes
H 35 anos, o seu uso em combinao com preciso
Tratamento de excees em primeiro lugar mostrou-se em
microprocessadores em
A meados da dcada de 1990.
Para acomodar execuo fora de ordem, o microprocessador
Aprovado o cadastro reserva e serrilhado estaes
Que tinha sido utilizado em verses anteriores os
mainframes. Para faz-lo com
Preciso excepes, o microprocessador tinha que adicionar o
Distino entre instruo e execuo de instrues
Reforma. As instrues foram autorizados a executar sempre
que
Seus recursos (dados e unidades funcionais) tornou-se
disponvel,
Independente de sua ordem no programa, mas foram
forados a
Aposentar-se na mesma ordem em que eles ocorreram na
execuo
Programa. Ou seja, a arquitetura interna poderia executar
Instrues fora de ordem, mas teve de resultados do relatrio
(ou seja,
Alterar o estado permanente de clculo) em a ordem
As instrues ocorreu no programa em execuo. Fazendo
Isso necessrio uma estrutura para restaurar o estado no
caso de
Uma exceo. Este estado restaurando mecanismo
comumente
Manifesta-se como um Reorder Buffer na maioria dos
microprocessadores
Hoje, e como um checkpoint reforma estrutura de alguns.
Embora outros microprocessadores mostrou o incio da
Execuo fora de ordem anteriormente, o primeiro a
explorar plenamente a
Conceito foi o Pentium Pro, em 1995.

G. "Clusters"
Um nico tamanho de chip continua a aumentar, tamanho do
recurso continua
Para diminuir, e no chip freqncias continuam a aumentar.
O resultado que o valor produzido por uma unidade
funcional de uma
Esquina do chip no pode atravessar o "chip" e estar
disponvel
Como uma fonte de uma unidade funcional no canto oposto
do
Chip no prximo ciclo. O resultado-divisria a execuo
Ncleo em clusters para que a maior parte do tempo, os
resultados produzidos
Atravs de uma unidade funcional em um cluster ser
utilizado por outro
Unidade funcional no mesmo cluster. Ainda tem o problema
De saber qual cluster para virar uma determinada instruo,
Mas se for bem-sucedido, o ciclo desordenado mltiplos
atrasos causados
Por um resultado tendo que atravessar uma grande parte do
chip vai
Longe. Este recurso foi apresentado pela primeira vez no
Alfa 21264 no
Final da dcada de 1990.
H. Multiprocessador Chip
Uma 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 idntico
Processador ocupando cada regio. O paradigma chamado
de
A PGC, para chip multiprocessadores. Para tarefas que so
facilmente particionvel
No auto-contidas instruo ribeiros, onde se realizam
importantes
Comunicao entre a instruo fluxos necessrio,
O CMP um bom paradigma. Ela fornece a maior
Benefcio da comunicao interprocessador combinados que
ocorra no chip,
Quando essa comunicao muito mais rpido do que o
chip. IBM
Introduziu esse recurso no ano 2000, com dois
processadores no seu G4
Chip.
I. O Multithreading simultnea
Fonte Instruo sofre quando o acesso ao cache de
instrues
Os resultados em um cache miss. Um lote de capacidade
desperdcio de tempo
Em espera para o cache miss a ser satisfeito. Burton Smith
em
1978 [ 3] sugeriram a utilizao de capacidade de produo
para buscar de
Outra instruo fluxos. O conceito foi implementado pela
primeira vez
Em seu Donelcor HEP. O conceito no fez show no
microprocessador
Mundo at a dcada de 1990, onde ele foi ampliado para
Permitir a busca de fluxos alternativos instrues individuais
Em ciclos alternados, mas executar fluxos de todas as
instrues
Em simultneo no mesmo ciclo, com base na
disponibilidade de
Os dados necessrios. O primeiro microprocessador para
implementar esta
Recurso foi o Pentium IV, em 2000.

J. Ncleos Rpida
No computar as tarefas, o fluxo das dependncias de
Fonte de operandos espera dos resultados produzidos pelas
anteriores
As instrues podem ser um gargalo significativo. A
soluo-run
O ncleo de execuo em uma frequncia muito mais rpido
do que o resto
O microprocessador. O Processador Pentium IV chip,
introduzida em
2000, Tem uma freqncia de operao de 1,7 GHz, mas
uma ALU
Que opera em 3,4 GHz.
IV. TELE NE-BILHES-TRANSISTOR-CHIP FREPARADOS
Como j dissemos, na atual dcada, tecnologia de processo
Est prometendo um bilho de transistores em um nico
chip,
Operando a uma freqncia de 6 a 10 GHz. O que ser que
vamos
Fazer 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 descrito
Acima. O argumento que, com um bilho de transistores,
que
Poderia colocar 100 microprocessadores em um nico chip,
composto de
10 Milhes de transstores cada. O argumento mais
membros que
Um transistor 10 milhes processador ainda muito
significativo, e
Construir algo maior do que aquele que apenas implicam em
maior diminuio
Retorna.
Outros sugerem um aumento da utilizao simultnea de
multithreading.
Eles alegam que muitos dos recursos necessrios
Para a CMP poder ser compartilhada em um nico chip,
processador SMT
Liberando a salvo recursos para outras funcionalidades, tais
como
Caches 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 shared
Os recursos, eles cairo ambos terrivelmente curta no que
diz respeito a
Acelerar as mais importantes referncias no-cientficas.
O motivo: a maior parte desses parmetros, o
Decepcionante caracterstica, re: SMT, de ser constitudo por
um
Single instruction stream. Isso, e a noo de que uma muito
Caro "chip" deveria resolver os problemas no podem ser
resolvidos pelo por um
Multicomputer rede composta de lotes de menor mais barato
"Chips" defendem a utilizar todos os bilhes de transistores
para produzir uma muito
Alta potncia de uniprocessador.
Outros ainda se queixam que, uma vez que ferramentas
CAD j so desiguais
Para a tarefa de validao com preciso nossos atuais chips,
uma irresponsabilidade para projetar ainda mais
complexa. Eles
PATT: REQUISITOS, PONTOS DE ESTRANGULAMENTO, E BOA SORTE 1557

Fig. 2. O microprocessador amanh.

O advogado-um processador de ncleo simples, combinado


com enormes
Em 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 barato
Os produtos, e sugerem a utilizao do um bilho de
transistores que
Vai estar disponvel para colocar todo o sistema no
agressivo
O um chip.
Estas so as sugestes alternativas, e desconfio cada
Eles vo mostrar para cima de alguns produtos durante os
prximos dez
Anos. A minha preferncia usar a bilhes de transistores
Para evoluir o mais alto desempenho monoprocessador que
podem
nico processo de instruo de transferncia de aplicaes.
Os agentes
Catalisar a evoluo permanecem como antes: novas
exigncias,
Os estrangulamentos e boa sorte. Algumas ideias que so
susceptveis de
Ver evoluir so os seguintes.
A. O novo microprocessador
At agora, o microprocessador tem sido tratada como
mostrado
Na Fig. 1. Mas por qu? Se tomarmos os nossos nveis de
transformao
E incluem o algoritmo e a lngua no microprocessador,
O microprocessador torna-se, ento, a coisa que usa
Tecnologia do dispositivo para resolver os problemas. Ver
Fig. 2.Por que motivo no
Razovel para algum que deseje projetar um
microprocessador
Que aborda algum ponto no espao do aplicativo a ter em
Conta o fim especial algoritmo necessrios para resolver que
Problema, e incorporar o algoritmo no microprocessador?
Ns que hoje em produtos de baixo custo aplicaes
integradas. Por que razo
No nos requisitos de alto desempenho onde estamos
dispostos
Para suportar custos elevados?
Esta adaptao pode assumir a forma de lgica
reconfigurvel,
Sero discutidas a seguir, especial dedicada as instrues do
ISA, ou
Uma unidade funcional integrada (como, por exemplo, um
DSP - Digital Signal Processor o motor), desde a
O chip.
B. Um novo caminho de dados
Sobre-chip freqncias so esperados para ser to alto que
grave
Deve ter-se em considerao o comprimento do fio de
qualquer sinal
No chip. Alguns dos sinais vai exigir vrios ciclos para
atravessar
O chip, e preciso analisar com cuidado quais os sinais
Ser permitido que o faam. A maior parte dos sinais no
ser provavelmente
Permitido. a que reside o desafio: reestruturar os dados
Caminho luz da nova restrio de comprimento de cabo.
C. Tolerncia/segurana interna
Outra consequncia da crescente on-chip freqncias

Vai ser a suscetibilidade a leses de partes moles os erros; os


erros que vai
Ser criado intermitente e com freqncia devido ao fsico
Natureza dos materiais em funcionamento esperado das
freqncias de relgio.
Futuro os microprocessadores tero de fornecer
funcionalidade
Para verificar e corrigir estes erros leves como eles
Ocorrem.
D. As unidades sncronas e assncronas coexistem
J, clock skew um grave problema. Em 6 GHz,
muito pior. certo que as estruturas so assncronas
Mais dura para o projeto, mas o que faz com que todo o
problema de um
Relgio 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
operam
Assincronamente para algum perodo de tempo fixo (medido
em
Ciclos de clock), aps o qual so sincronizados com o global
Relgio. Estruturas diferentes necessitam de diferentes
quantidades de
Tempo em que eles precisam para operar sem sincronia para
obter
Em torno de sua inclinao nicos problemas.
E. Diferentes tempos de ciclo para diferentes funes
Para 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 lento
E economizar energia, por exemplo. O futuro oramento
transistor
Pode fornecer uma enorme flexibilidade para aproveitar as
vantagens
A variabilidade do chip.
Uma ALU a trabalhar com o dobro da frequncia do resto do
Ncleo apenas a ponta do iceberg. O futuro
microprocessador
Poderia 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 Materiais
Eu no tenho nenhuma idia onde estes materiais sero
provenientes, mas
A lei de Moore continua a prevalecer apesar da desgraa que
Mostrar a cada cinco anos ou mais, para soletrar o seu
desaparecimento. Crtica
Os materiais so necessrios vis-a-vis on-chip
condutividade, e mesmo
Mais importante ainda, vis-a-vis requisitos de consumo de
energia e dissipao de calor.
Assim, no esprito do puro wishful thinking, I
Desejo de engenharia engenho para prevalecer novamente.
G. Expanso do uso de microcdigo
Off-chip banda larga caro, a largura de banda chip
Muito abundante. A minha expectativa: no vamos mais
eficazmente o chicote
On-chip banda larga. A expanso do uso de microcdigo
um
Forma de se fazer isso. Por exemplo, microcoded rotinas
poderia

Explorar a capacidade ociosa das unidades funcionais


subutilizados
Em 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 dinmicas
Recompilao, calcular alguns alimentos compostos
instruo, sintonia
1558) TRABALHOS DO IEEE, VOL. 89, N 11, NOVEMBRO DE 2001

O cache poltica de substituio, ou de alguma outra forma,


execute
Um clculo que permite o fluxo de instruo primria
Executar mais rpido.
H. Lgico reconfigurvel
Coerente com Fig. 2, Espero que muitos futuros
microprocessadores
Para atender s necessidades de aplicaes especficas. Um
Aplicao poderia fazer bom uso de alguma funo lgica
que
Seria intil para outras aplicaes, enquanto que outra
aplicao
Poderia fazer bom uso de uma lgica diferente funo que
Seria intil para a primeira aplicao. Talvez ambos os
aplicativos
Podem ser tratadas eficazmente por um microprocessador
que
Tinha a capacidade de fazer run-time alfaiataria. Ou seja,
penso que um
Estrutura on-chip, talvez uma baixa granularidade FPGA,
mas mais
Provavelmente ser uma maior granularidade estrutura
lgica reconfigurvel, vai
Ser comum para os futuros microprocessadores.
I. Pourri
Por fim, apresento uma lista de recursos que eu esperava
para ver no produtiva
Microprocessador de 2008 ou 2009, ou sempre que
que finalmente, tecnologia de processo nos proporciona
um bilho
Transistores em um nico chip de silcio.
1) Expanso do uso do trace cache, onde instrues
dinmicas
Trechos ser composto de muito mais do que de
8 instrues por entrada, provavelmente pr-agendado com
A ajuda do compilador (parecido com o bloco estruturado
ISA ou a repetio mecanismo), mas sintonizados em runtime.
2) No chip o microcdigo para usar a capacidade de reserva
do
Ncleo 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-chip
Ser banal.
4) Vrios (pelo menos trs) nveis de cache com
correspondente
ISA adies (vrios prefetch e poststore
Instrues) para mover os dados para mais perto do ncleo e
Mais uma forma de o ncleo em resposta ao do ncleo
Necessidade de que os dados.
5) Valor agressiva previso hardware, provavelmente com
A nvel de procedimento da granularidade e compilador
correspondente
Otimizaes para ajudar a sua eficcia.

6) Desempenho monitoramento de hardware para permitir


ajustar o
Hardware em tempo de execuo para mais se coadunam
com o
Necessidades do programa em execuo.
7) Uma estrutura on-chip para monitoramento e que afectam
o
Consumo de energia do chip.
V. CONCLUSION
O microprocessador tem desfrutado uma emocionante
viagem desde
Sua inveno em 1971. Algumas tecnologias podem gabarse do enorme
Passos que fez. Mas, infelizmente, h aqueles que
Argumentam que o fim desta poca de ouro apenas em
torno do
Canto. Mas tais negativistas foram aqui antes. Eles disseram
O MIPS R2000 foi todo o microprocessador que ningum
Nunca a necessidade em 1986, e dez anos mais tarde,
disseram que o processador Intel Pentium
Pro foi todo o microprocessador, que qualquer pessoa que
nunca
necessrio. A indstria continua a fazer mais e melhor, e
os usurios de
Que a tecnologia continue a fazer uso dessa "melhor".
Isso no o mesmo que dizer que as coisas no vo mudar,
que as novas
Ingenuidade no mais necessria. A jusante, e talvez seja
preciso
Uma mudana radical de paradigmas, tais como computao
quntica cauo
Ns, mas a verdade que quase no so limitados direita
agora.
Certo de que precisamos para desenvolver melhores
ferramentas CAD. CAD Atual
As ferramentas possuem problemas verificando os
microprocessadores de hoje,
Para j no falar das sugestes neste artigo. E, com certeza,
precisamos
A pensar mais amplamente no nosso conceito do
microprocessador
(Fig. 2, Por exemplo). Mas a linha inferior a de que a Lei
de Moore
Est vivo e bem, e ainda fornece uma abundncia de
oportunidades.
ACKNOWLEDGMENT
Esta introduo tem beneficiado de muitas interaes
Ao longo de muitos anos, com muitos dos antigos e actuais
alunos e
Muitos dos antigos e atuais colegas de trabalho. O projecto
publicado
Aqui tem-se beneficiado explicitamente dos comentrios e
crticas
De S. J. Patel, R. Belgard, R. Ronen. Deve-se notar
Que a existncia de um excelente e muito mais detalhado do
tratamento de muitos dos
As questes aqui tratadas so fornecidos em suporte de
papel por Ronen e
Seus colegas de trabalho com a Intel [ 5], que o autor
recomenda a
O 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",


no Proc.
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) ," no Proc. 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, todas
Em engenharia eltrica.
Professor de Engenharia Eltrica e da Computao
E o Ernest Cockrell, Jr. CENTENRIO
Presidente da Universidade do Texas, em Austin. Ele dirige
O doutor pesquisa de nove estudantes sobre os problemas
Relacionadas com a execuo de alto desempenho

Os microprocessadores. Ele tem sido um activo


Consultor para a indstria de microprocessadores
H mais de 30 anos. O seu amor est ensinando-o necessrio em primeiro
lugar
Curso de computao avanada entre calouros e nos cursos de psgraduao em arquitetura.
Ele recentemente co-autoria com S. J. Patel um livro, Introduo
Para sistemas de computao: a partir de Bits e portes de C e alm (Novo
York: Mc Graw-Hill , 2000) que uma grande partida do tradicional
Freshman curso. Ela j foi adotada por mais de 50 colgios e
As 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.
McDowell
Medal 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

Potrebbero piacerti anche