Você está na página 1de 156

MICROPROCESSADORES PARA

COMPUTADORES PESSOAIS

1 PARTE

Modelo de Von Neumann (1945)

Apesar das muitas crticas


que lhe foram feitas,
ainda a arquitetura que
impera.

https://pt.wikipedia.org/wiki/Arquitetura_de_von_Neumann

Central Processing Unit = Processador(es)

2 Processadores

4 Processadores

1 Processador

Exagero: Tianhe-2

National Supercomputer Center, Guangzhou, China

32,000 Intel Xeon E5-2692 12C


com
2.200 GHz 48,000 Xeon Phi 31S1P

Microprocessadores
Um microprocessador um processador num nico
circuito integrado.
Um circuito integrado um conjunto de circuitos
eletrnicos colocados sobre um nico chip, uma placa de
material semicondutor, normalmente silcio.
O que interessa que, ao comprarmos um
microprocessador, estamos a comprar um circuito
integrado j embalado, pronto a colocar na sua socket.

POR DENTRO

Por dentro, como so?


Os microprocessadores atuais tm
arquiteturas internas complexas de forma a
conseguirem ser rpidos como so.
Por ser to complexas, no vamos aqui
analis-las a fundo.
Mas vale a pena dar uma vista dolhos por
algumas solues, comeando pelos mais
simples.

O 8086 (1978), por dentro,


era assim.

Um Pentium III (1999), por


dentro, era assim.

8086

Pentium III

As fotos dos seus interiores parte o facto da do PIII ser a


cores no mostra muito sobre a evoluo da arquitetura.
Os diagramas de blocos mostram um pouco mais e mostram
um pouco a evoluo no sentido da maior complexidade.

Este diagrama aqui apenas do GPU e no do CPU dos Skylake, os processadores Intel
da ltima gerao.

Os primeiros
Os primeiros, como os Intel 8085/6 e o
Zilog Z80 eram assim: tinham uma
Unidade de Controlo (Control Unit) para
controlar todo o seu funcionamento
interno, uma Unidade Aritmtica e
Lgica (ALU, Arithmetic and Logic Unit)
para efetuar os clculos e muitas
memoriazinhas (denominadas Registos)
para guardar os dados, as instrues, os
endereos necessrio, etc. Tudo ligado
internamente e externamente por
buses, claro. Reparem no bus interno e
nos buses externos de dados e de
endereos.

Registos
Os registos so (muito) pequenas memrias situadas
dentro dos processadores.
Servem para guardar temporariamente coisas como
endereos de instrues, instrues, dados e
resultados.
Se no tivessem estas memrias, como poderiam os
processadores trabalhar? No podiam memorizar
nada

2 PARTE

Os passos mais marcantes

DE 1971 AO PRESENTE

1971
Primeiro microprocessador
Intel 4004
108 Hz
2300 transstores
Bus de 4 bits
Memria mxima de 640 B

1974
Primeiro microprocessador usado no
primeiro computador pessoal
Intel 8080
2 KHz
6000 transstores
Bus de 8 bits
Memria mxima: 64 KB

1978
O primeiro processador da famlia x-86 que foi
at aos Intel Pentium 4 e AMD Athlon
Intel 8086
5 MHz
29000 transstores
Bus e registos de 16 bits
Memria mxima: 1 MB (bus de mem. de
20 bits)

1986
O primeiro processador a 32 bits - Intel
Architecture, 32-bit ou IA-32
Intel 80386
Entre 12 e 33 MHz
Duas verses: DX e SX
DX
Registos e bus de 32 bits
Memria mxima: 4 MB
SX
Registos de 32 bits, bus externo de 16 bits e de
memria de 24 bits
Memria mxima: 16 MB

O (longo) salto para os 32 bits


Com os 386, a Intel lanou a arquitetura IA-32 (Intel
Architecture, 32-bit).
Foi finalizada em 1985 (e lanada em 1986 com os
80386).
Mas a Microsoft demorou 10 anos para lanar um
Sistema operativo parcialmente a 32 bits (Windows 95)
e um plenamente a 32 bits (Windows NT, destinado a
workstations e servidores) e demorou mais 6 anos para
um Sistema operativo de 32 bits para computadores
pessoais (Windows XP). 16 anos para o Windows
apanhar uma inovao em hardware. Que dizer?

1993
Intel Pentium
Sucessor do 486, por sua vez sucessor do 386
Foi um grande passo relativamente ao 486, com uma
performance bastante superior e solues muito mais
desenvolvidas a nvel da sua arquitetura que foram
depois aprimoradas nos modelos que se lhe
seguiram.
De 60 a 300 MHz
Verses P5, P54C, P54CS, P55C, Tilamook
Ainda deu origem aos Pentium Pro (1995), Pentium II,
Pentium III, Pentium 4 e Pentium D (2005)

2001
Primeiro processador da Intel de 64 bits
Itanium
Destinado a servidores de grande porte
Entre 733 e 1.73 MHz
1,2 ou 4 ncleos (o ltimo modelo saiu
em 2010)

2003
Primeiros processadores de 64 bits da AMD
Athlon 64 e Opteron
Arquitetura AMD64

Primeiro da Apple (isto , da IBM!) tambm a


64 bits, o Power PC G5

32 e 64 bits
Arquitecturas de 32/64 bits designam as cujas
unidades tm registos, bus de endereos ou
bus de memria de 32/64 bits.
A capacidade dos registos fundamental. Os
P4, por exemplo, tm registos de 32 bits e bus
de dados de 64, mas isso no faz deles
processadores de 64 bits!

E a Intel?
A Intel j tinha apresentado em 2001 a linha Itanium, a
64 bits, destinada a servidores de grande porte. No foi
grande o sucesso, j que foi um projeto que j tinha sido
adiado vezes demais.
em 2005 que a Intel lana os primeiros processadores
a 64 bits para computadores pessoais, os P4 Prescott,
srie F.

Vantagens dos 64 bits?


So vrias, nomeadamente:
Maior rapidez: Tratar 64 bits de cada vez, em lugar
de 32, mesma frequncia, significa maior
eficincia.
Mais RAM: um bus de memria mais largo leva a
mais memria acessvel.

Mais RAM? Mais que quanto? Mais


quanto?
Para sistemas com processadores a 32 bits, o limite
prtico de 4 GB de RAM.
Sistemas com um processador de 64 bits poderiam, na
teoria, enderear 16,8 milhes de Terabytes de RAM!
Em mdulos de 32 GB de RAM, isso equivaleria a uma
rea ocupada por esses mdulos de 16 646 400 m2. Isso
dava e sobrava para cobrir a rea central da cidade do
Porto!
Na prtica, 8 TB de RAM o mximo enderevel pelos
processadores atuais, com um limite nas suas
caractersticas que se fica pelos 64 GB, na melhor das
hipteses.

Ainda 2003
Pentium 4 Extreme Edition
Primeiro microprocessador com cache L3

2005
Primeiro dual-core da Intel:
Pentium D

Primeiro dual-core da AMD:


Athlon 64 X2

Dual-core = 2 ncleos

Cada ncleo contm o essencial do que um processador dos


anteriores continha. A grande vantagem dos dois ncleos garantir
que cada ncleo executa tarefas independentemente do outro e,
portanto, podem ambos podem fazer o seu trabalho em simultneo.

2006
Primeiro quad-core da Intel:

Core2 Extreme QX6700

2007
Primeiro quad-core da AMD:
Athlon X4

2010
Primeiro hex-core da Intel:
Core i7 980X Extreme Edition

E que temos atualmente?

Intel - Desktop

Sandy
Bridge

Skylake

Nehalem
Broadwell

Haswell

Ivy Bridge

ark.intel.com

Intel - Mobile

ark.intel.com

Modelos e sufixos

http://www.intel.com/content/www/us/en/processors/processor-numbers.html

6 gerao (Skylake)

5 gerao (Broadwell)

AMD - Desktop

http://www.amd.com/us/products/desktop/processors/Pages/desktopprocessors.aspx

AMD - APU

CPU com GPU integrados

http://www.amd.com/en-us/products/processors/desktop/a-series-apu

AMD - mobile

http://www.amd.com/en-us/products/processors/notebook-tablet

Modelos e sufixos
Srie FX (apenas Desktop, no incluem GPU)

N de
ncleos

Gerao
(3 a
mais
recente)

Modelo
(8350
melhor
que 8300)

Sries A, E e C (para Desktop e Mobile;


incluem GPU; srie A bem melhor que as
outras)

Os A4 so dual-core e os A6, A8 e A10 normalmente quad-core.


H excees, como alguns A6 com 2 ou 3 ncleos.
Sufixo M: mobile; sufixo K: desbloqueados para
overclocking.

cpuboss.com

anandtech.com

3 PARTE

Compreender melhor o que vai l por


dentro
Compreender algumas das solues que os
processadores possuem atualmente sobretudo a partir dos Pentium 4 e que
explicam a rapidez e eficincia dos
processadores atuais.

Compreender melhor o que vai l por


dentro
WTF ?!

Vamos por partes


Vamos fazer uma abordagem por ordem cronolgica,
ou seja, vamos ver que maiores inovaes foram
introduzidas, quando e em que consistem.

ndice de tpicos cobertos nesta


seco
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.

32 e 64 bits
Ncleos
Frequncias
Intel Turbo Boost / AMD Turbo Core
Intel Speedstep/AMD Coolnquiet
Overclocking
GPU integrada
Cache interna
Pipeline(s) de instrues
FPU
Controlador de memria integrado
Processo de fabrico (Litography)
Execuo dinmica
MMX/SSE/AVX/3D Now!
Hyperthreading
Virtualizao

1. 32 e 64 bits
Os 64 bits comearam em 2003; atualmente, todos os
microprocessadores so a 64 bits.
Recordando, isso significa que estes processadores tm
registos (de dados e de endereos) de 64 bits.

32 e 64 bits

32 e 64 bits usando software de virtualizao

Windows XP a 7 verses a 32 e a 64 bits

Windows 8 e 10 verses a 32 e 64 bits

2. Dois, quatro, seis, oito ncleos


Ter dois ou mais ncleos significa poder executar duas ou
mais tarefas realmente em simultneo. Os processadores
atuais possuem todos dois ou mais.

3. A frequncia do relgio do
processador
As operaes dentro dum (ncleo dum) processador so
executadas a um ritmo imposto por um relgio.
A frequncia desse relgio o resultado do produto dum
multiplicador por uma outra frequncia.
Essa outra frequncia tem-se alterado ao longo dos tempos.
Vamos l a ver

i. com FSB (Front Side Bus)


Enquanto o
controlador de RAM
estava no chipset, os
processadores
ligavam-se
Northbridge ou ao
Memory Controller
Hub por um bus
chamado FSB (Front
Side Bus). Na
imagem, ele surge a
1066MHz.

No caso de processadores como os Intel Core 2 Duo, o FSB era


quad pumped, isto , um bus QDR (Quadruple Data Rate).
Isso significa j sabemos que a sua frequncia real 4X
inferior, mas como ele consegue transportar o qudruplo dum
bus Single Data Rate, surge normalmente com a frequncia
quadruplicada, para simplificar.
isso que o CPU-Z nos est a dizer:
o Rated FSB a 1066MHz;
mas como este FSB QDR, a sua frequncia
real (Bus Speed) 1066/4 = 266,7MHz;
esta frequncia vai ser multiplicada pelo
multiplicador (8x, neste caso) para dar a
frequncia de cada um dos ncleos do
processador (Core Speed), que 2133MHz
(=8x266,7 MHz).

ii. Sem FSB


Depois a Intel
lanou o Platform
Controller Hub,
famlia de chipsets
para processadores
com controladores
integrados que
fizeram
desaparecer o
Memory Controller
Hub, como na
figura.

Deixa assim de haver um FSB e a frequncia do processador


passa a ser calculada tambm a partir duma frequncia base a
multiplicar por um multiplicador.

isso que o CPU-Z nos est a dizer:


no h Rated FSB porque no h FSB;
h uma frequncia base (que o CPU Z
denomina Bus Speed), nesta caso de
100Mhz (99,90Mhz);
esta frequncia vai ser multiplicada
pelo multiplicador (36x, neste caso)
para dar a frequncia de cada um dos
ncleos do processador (Core Speed),
que 3596MHz (=36x99,9 MHz).

O mesmo acontece nos processadores da AMD atuais: no h FSB


e a frequncia dos ncleos (4100MHz na imagem) calculada
multiplicando um multiplicador (41X na imagem) por uma
frequncia base (100MHz na imagem).

4. Intel Turbo Boost / AMD Turbo


Core
Sempre que um processador com uma destas tecnologias se
encontra abaixo dos limites estabelecidos para

N de ncleos ativos
Consumo de corrente eltrica
Consumo de energia
Temperatura do CPU

e o trabalho exigir, a frequncia do processador


automaticamente aumentada, por algum tempo, mesmo indo
para alm do TDP (Thermal Design Power).
TDP a potncia mxima calorfica dissipada por um
processador, que o seu sistema de arrefecimento deve ser
capaz de no deixar ultrapassar.

Intel Turbo Boost


Intel Core i7-6700K

O Turbo Boost foi introduzido na arquitetura Nehalem (Core i7


920, Core i7 940 e Core i7 965 EE, 2008). Esta implementao
apenas elevava a frequncia por dois turbo bins (100, 133MHz)
quando um nico ncleo estava a ser usado; dois ou trs outros
ncleos sobrecarregados viam a sua frequncia subir apenas um
turbo bin.
A Intel depois melhorou a tecnologia nos processadores
Lynnfield (2009), aumentando a performance.

Esta segunda verso estendeu a elevao de frequncia ao GPU


integrado.

Dynamic Range Turbo Frequency


limits
Suponhamos o caso do Intel Core i5-2537M com frequncia
nominal de 1.4 GHz e um TDP de 17 watts. Via Turbo Boost
2.0pode chegar aos 2.3 GHz (ou 2 GHz se for elevada a
frequncia dos dois ncleos que possui).
Mas o Turbo Boost 2.0 ainda permite uma subida acima dos
2,3GHz: a Intel chama-lhe "Dynamic Range Turbo Frequency
Limits e, neste caso, para um ncleo, pode chegar aos 1x2.5
GHz se o cooler permitir disipar o aumento da temperatura
(Dynamic Range) que vai necessariamente ocorrer
Se a temperature subir para alm do suportvel, a frequncia
desce de novo para o teto anterior (2.3 GHz, Turbo Frequency
Limits).

5. Intel Speedstep / AMD Coolnquiet


Speedstep: Um processador, a correr a uma frequncia abaixo
da nominal, se tal for suficiente, gera menos calor e gasta
menos energia. At a tenso eltrica pode ser baixada e o
calor e anergia gasta descem ainda mais. Isto ajuda portteis a
extenderem o tempo de uso da bateria e reduz as rotaes e
o barulho das ventoinhas de arrefecimento.
que isto que a tecnologia Speedstep da Intel pode fazer de
forma automtica.
A AMD tem duas tecnologias semelhantes: a Cool'n'Quiet
para sistemas desktop e servidores e a PowerNow! para
processadores para portteis.

6. Overclocking
Sandy
Bridge

Skylake

Nehalem
Broadwell

Haswell

Ivy Bridge

Overclocking significa aumentar a frequncia base do relgio. Isso


pode, partida, ser feito aumentando o multiplicador ou a
frequncia de base.
Vejamos exemplos.
Este processador da famlia Bloomfield.
Nesta famlia, relativamente fcil
(atravs do Setup da BIOS, se a MB
suportar essa opo) aumentar a
frequncia base (Bus Speed) e assim
aumentar a frequncia do processador.
Aumentar de 133MHz para 200MHz,
mantendo o multiplicador a 20X leva o
processador a 4GHz.
Porque se pode tentar isto? Porque na
arquitetura Nehalem o gerador de ciclos
de relgio que gera os ciclos para o
processador independente do que
controla o bus de memria, os PCIe, etc.
MAS CUIDADO, NO TENTEM!!

Este processador da famlia Sandy


Bridge. Nesta famlia, o relgio para o
processador est no chipset, afetando
tambm a frequncia do bus DMI e dos
PCIe.
Como no convm alterar as frequncias
destes buses, a Intel disponibilizou uma
srie K que permite o overclocking
mexendo no multiplicador e assim no
afetando a frequncia base.
MAS CUIDADO, NO TENTEM!!

Um processador com sufixo K significa que Fully


Unlocked:

Sem sufixo K significa que Limited


Unlocked (at 4 turbo bins acima da
frequncia mxima estabelecida pelo
Turbo Boost):

7. Processador grfico integrado


Uma graphics processing unit (GPU) um processador grfico
capaz de executar operaes de transform, lighting e triangle
setup/clipping; pelo menos, foi assim que definiu a Nvidia.
um microprocessador grfico, se quiserem.
Foi introduzido em 1999 na placa grfica GeForce 256.
Transformation: capacidade de representar a 2 dimenses um cenrio
que a 3 e assim deve surgir aos olhos de quem o v
Lighting: mostrar as superfcies dos objetos de acordo com a sua
posio face a pontos de luz
Clipping: mostrar apenas o que deve estar visvel e esconder o que
no deve estar, por estar por detrs de outro objeto.
Triangle setup: os objetos 3D que vemos nos jogos e no s so
construdos com base em tringulos.

Transform

Triangle setup

Lighting

Clipping

Nos produtos Intel

1. Como parte da Hub Architecture que


j vimos antes na seco sobre chipsets
e incluindo a Intel Extreme Graphics e o
Intel Graphics Media Accelerator como
solues de GPU integradas no Memory
Controller Hub (MCH).

2. J como Platform Controller Hub


(PCH), o chipset exterior ao CPU ficou
reduzido a um circuito e o GPU migrou
para dentro do CPU.

Nos produtos Intel


Entretanto, a Intel criou a Intel HD Graphics, uma srie de
integrated graphics processors (IGP) introduzida em 2010 e
ento colocada na mesma die dos CPU da famlia Westmere.
A soluo evoluiu para os Intel Iris Graphics e Intel Iris Pro
Graphics iniciadas em 2013 com alguns dos processadores
Haswell j com as melhores verses.
Os Iris Pro Graphics foram os primeiros a incluir DRAM.

anandtech.com

Y processadores para tablets e computers on a stick


U para portteis finos e leves
H - portteis mais potentes, incluindo workstations portteis
S desktops de vrios tipos

Nos produtos AMD


As Accelerated Processing Units (APU), com o nome comercial
Fusion, so microprocessadores de 64 bits com GPU includo.
As primeiras APU, as Llano, foram anunciadas em 2011.
Depois seguiram-se as Trinity para sistemas de alta
performance e os Brazos-2 para sistemas portteis, em 2012.
A terceira gerao, Kaveri, para sistemas de alta performance,
foram lanadas no incio de 2014, enquanto que as Kabini e
Temash para portteis foram anunciadas em 2013.
Atualmente, a arquitetura GCN (Graphics Core Next) na
AMD que concorre com a Iris Pro.

Processadores

Sempron APUs

Athlon APUs

Srie A

Tipos de sistemas

Modelos de exemplo

Modelos mais baratos


para computadores
desktop de baixo
2650, 3850
desempenho, como um
servidor domstico
Um pouco melhores do
que os Sempron, so
para sistemas de mdio
desempenho
Muito variada,
conforme o modelo

http://www.digitaltrends.com/computing/apu-gpu-wtf-a-guide-to-amdsdesktop-processor-line-up/

GCN vs Iris Pro


1 Concorrente: AMD A10-7850K

GCN vs Iris Pro


2 Concorrente: Intel Core i7-5775C

GCN vs Iris Pro

O Core i7 -5775C conta com o Iris Pro Graphics 6200, nome de cdigo
Broadwell GT3e. Este GPU possui litografia de14 nm e conta com 48
shaders para processamento dos grficos, operando em modestos 300
MHz. Destaca-se pela memria: alm de utilizar uma parcela da RAM do
sistema, operando com a tecnologia DDR3, esse processador possui uma
quantidade massiva de cache L4, com um total 128MB e tecnologia
eDRAM. (A embeded RAM, ou eDRAM, uma poro de memria no
mesmo substrato do processador, e o resultado que a CPU e a GPU
possuem um acesso muito rpido a essa memria.)

A APU A10 conta com um GPU integrado Radeon R7, nome de cdigo
Spectre, com litografia de 28 nm e com 512 shaders. O relgio da iGPU
de 720Mhz e as memrias tambm no so "prprias": ela pede
emprestada RAM, mais distante. O processador conta com 4MB de
cache L2 (nada de L3, muito menos L4).

Olha o
controlador
da eDRAM
aqui!

Os outros testes tm resultados semelhantes. S que


o Core i7-5775c custa cerca de 440
o A10-7850k custa cerca de 140

E a 6200 comparada com GPU


externas?

Melhorias encontradas nos 386 e nos 486


Durante algum tempo, a evoluo foi no sentido de maiores
frequncias de relgio e buses e registos mais largos.
Mas isso comeou a no chegar. Os 386 trouxeram
uma cache interna
e os 486 trouxeram
uma pipeline de instrues
uma unidade de clculo em vrgula flutuante (Floating
Point Unit, FPU).

8. Memrias cache
As memrias cache so memrias que possuem parte do
contedo de uma outra memria maior e mais lenta,
permitindo assim o acesso mais rpido, por exemplo na
leitura, se l tiverem o que for necessrio.
RAM

Cache

CPU

Suponhamos que o CPU l alguma coisa (dados, instrues) da RAM.


O que lido fica na cache, uma memria de acesso muito mais rpido (mas
tambm de preo muito mais elevado).
Se o CPU precisar de ler de novo os mesmos itens ou alguns deles pode
procur-los primeiro na cache, por ela ser bem mais rpida. Se encontrar,
timo!

Memrias cache
Encontramos caches em vrios stios. Os discos rgidos, por
exemplo, possuem caches

Modelos da Western Digital serie Black

Nos 386

Motherboard

RAM

Cache
(256KB)

CPU

Nos 486
Cache situada dentro do CPU acesso
muito mais rpido
Motherboard

RAM

L1 abreviatura de Level 1

CPU
Cache L1
(8KB ou 16KB)

Cache para dados e para


instrues - unificada

Nos Pentium

Motherboard
Cache L1
(8KB instrues)

RAM

CPU
Cache L1
(8KB - dados)

8KB para dados 8KB e para


instrues

Nos Pentium II

Motherboard
Cache L1
(16KB instrues)

RAM

CPU
Cache L1
(16KB - dados)

Cache L2
(512KB)

Nos Pentium III Coppermine

Motherboard

Cache L2
(256KB)

RAM

CPU
Cache L1
(8KB + 8KB)

Por dentro do Pentium III


Coppermine. Podemos
ver a cache L2.

Nos Pentium 4 Extreme Edition

Motherboard

No so muitos os
processadores que possuem
cache L3.

Cache L2
(entre 512KB e
2MB)

RAM

Cache L3
(2MB)

CPU
Cache L1
(8KB + 8KB)

Nos Core Duo


Ncleo 2

Ncleo 1
Motherboard

Cache L1

RAM

Cache L1

CPU
Cache L2

Por dentro do Core Duo.


A cache L2 partilhada
pelos 2 ncleos.

Quad-core da AMD. Nestes, cada ncleo tem as suas


duas caches L1 e uma L2.

Intel Core i7 980X Extreme Edition

Resumindo

A nvel de processadores, h 3 nveis de cache:


Cache L1: dentro do ncleo do processador; pequenas.
Cache L2: maiores do que as L1, s vezes tambm dentro
do ncleo, outras vezes no, como nos dual-core.
Cache L3: comeou por estar na MB e depois ficou
dentro da mesma die do processador, mas fora do(s)
ncleo(s); nem todos os processadores a tm.

9. Pipelines de instrues
A ideia vem de decompor a execuo de
instrues em fases, entregando cada fase a uma
entidade diferente.
Suponhamos uma loja como a ToysRUs em
poca de Natal, quando h imensos clientes para
atender. Se for um mesmo funcionrio a ir ter
com o cliente, a interpretar o seu pedido, a ir
buscar o brinquedo ao armazm, a embrulh-lo e
a receber o dinheiro, a soluo bem menos
eficiente do que se houver um funcionrio
especializado em cada tarefa. Porque assim

Atende um
cliente

Interpreta o
pedido

Vai ao
armazm

Embrulha o
brinquedo

Recebe
pagamento

Cliente 1
Cliente 2

Cliente 1

Cliente 3

Cliente 2

Cliente 1

Cliente 4

Cliente 3

Cliente 2

Cliente 1

Cliente 5

Cliente 4

Cliente 3

Cliente 2

Cliente 1

Pipelines de instrues
Exemplo com 4 fases (os 486
usavam 5 fases, porque duas
eram para a descodificao)
1. Busca
2. Descodificao
3. Execuo
4. Escrita do resultado

Nem sempre tudo corre


bem!
Aqui, por exemplo, no
segundo passo, a busca da
instruo lils demora dois
pulsos de relgio; isso
implica que a instruo
verde v sem companhia e
a execuo das 4 instrues
demore 8 pulsos em vez
dos 7 do exemplo anterior.

Branch Target Buffer

Como vimos no exemplo da imagem


anterior, as pipelines de instrues
funcionam bem quando as instrues
entram nelas pela ordem mais conveniente
e quando nenhuma delas demora mais do
que um pulso de relgio por fase.
Mas o primeiro problema est justamente
na ordem porque entram, para mais
porque h sempre imensos saltos num
programa, com os ciclos e os
seentoseno.
A, a Intel encontrou uma primeira soluo:
um Branch Target Buffer que guarda
endereos de instrues que foram
executadas anteriormente a partir de um
salto. Isso ajuda a decidir a sequncia
das instrues a entregar pipeline.

Nmero de fases por pipeline

Execuo superescalar

Permite a execuo de mais do que uma


instruo em simultneo. A incluso de mais
de uma pipeline (caso dos Pentium que vieram
a seguir aos 486) permitiu isso.
E isso execuo superescalar.
De notar, no esquema, que as duas pipelines
U e V eram para clculos com nmeros
inteiros, havendo uma FPU para clculos em
vrgula flutuante.

10. Floating point vs Fixed point


Os nmeros podem ser escritos de duas formas:
em vrgula fixa (fixed point) e em vrgula
flutuante (floating point).
Exemplo:
Os nmeros 123,45 e 12345678,98765 esto escritos
em vrgula fixa, porque ela est onde deve estar: a
separar a parte inteira da parte decimal.
Mas esses nmeros podem ser escritos assim:
0,12345 x 103 e 0,1234567898765 x 108. A vrgula
flutua para a esquerda do primeiro algarismo
significativo.

FPU Floating Point Unit


Suponhamos um processador de 32 bits que possa tratar os
nmeros em vrgula fixa e em vrgula flutuante.
As operaes em vrgula flutuante so mais complexas e exigem
uma implementao em hardware tambm mais complexa
Com 32 bits, podemos ter inteiros sem sinal entre 0 e
4294967295 (=232 - 1); com sinal podemos ter entre
-2147483648 (-231) e 2147483647 (231 - 1).
Agora, vejamos os nmeros em vrgula flutuante:

FPU
No formato mais comum (ANSI/IEEE Std. 754-1985), o maior e o
menor nmeros passveis de serem representados em vrgula
flutuante com 32 bits so bem maiores em valor absoluto do
que aqueles em vrgula fixa: por exemplo, o maior inteiro com
sinal representado com 32 bits tem um valor, como vimos, de
231 - 1 = 2147483647, enquanto que, tambm usando 32 bits e
as regras da norma IEEE 754, o valor mximo em vrgula
flutuante (2223) 2127 3.402823 1038.

FPU
H outras vantagens no uso de nmeros em vrgula
flutuante, nomeadamente ao nvel da preciso.
Bom, e muito software h sobretudo grfico - que
exige a presena duma unidade de clculo em vrgula
flutuante nos processadores.
O primeiro processador a incluir uma foi o 486; antes
dele, as pessoas tinham que comprar um
coprocessador aritmtico, que custava quase tanto
como o prprio processador.

Um processador 386 e um coprocessador aritmtico 387. Era assim antes dos


486DX.

FPU

A FPU num processador da AMD.

11. Controlador de memria


integrado

A AMD foi a primeira a fazer isto, nos seus processadores Athlon 64. A Intel seguiua um pouco mais tarde.
A razo bvia: ligar o mais proximamente possvel dois componentes que
dialogam constantemente: CPU e RAM.

12. Processo de fabrico (litografia)


Esta caracterstica refere-se medida de metade da
distncia mdia entre componentes semelhantes
como transstores num processador ou chip de
memria.

Os processadores so fabricados em wafers atravs dum


processo denominado litografia.
Tecnologias de fabrico que levem a distncias mais curtas
entre componentes levam a mais CPU por wafer e
comunicaes mais rpidas entre os componentes =
maior eficincia.

11. Execuo dinmica


Constituda por
 Branch prediction
Speculative execution
Dataflow analysis

Branch prediction h prediction

Em C:

Em Assembly:

if (ax < bx)


{
X = -1;
}
else
{
X = 1;
}

cmp ax, bx
jl
axLess
mov
word [X], 1
jmp Both
axLess:
mov
word [X], -1
Both:

Com o branch prediction,


pretende-se prever quais
as instrues que sero
executadas a seguir para
darem entrada na pipeline.
Por exemplo, no caso ao lado,
mesmo antes da execuo do
if, pretende-se prever se
a seguir vir a X = -1 ou a
X = 1.

Speculative execution
Tenta adiantar-se executando instrues que nem
sabe se sero ou no necessrias, mas achando que
sim Os seus resultados ficam guardados para o caso
de virem a ser necessrios.

Dataflow analysislysis
Programa a execuo de instrues independentemente da
ordem pela qual surgem no cdigo do programa em execuo.
A ideia organizar a execuo das instrues da forma mais
eficiente, mesmo que no coincida com a ordem pela qual
esto escritas no cdigo.

12. MMX MultiMedia eXtensions


MMX Party- aqui!
A ideia era a de tornar mais rpidas as
operaes multimdia, que comeavam a
ser comuns. Conseguiram-no nos Pentium
MMX em 1996 com
Caches L1 maiores
Mais 57 novas instrues para o conjunto das
instrues internas aos processadores, do tipo
SIMD Single Instruction, Multiple Data.

SIMD
A designao entende-se bem com o exemplo
do preenchimento de uma forma. Mudar a cor
a 8 pixis de cada vez, em torno de 1 de cada
vez , claramente, mais rpido! E situaes
deste tipo ocorrem em cerca de 90% do
tempo que uma aplicao multimdia
executada.

Streaming SIMD Extensions (SSE)


Em 1999, a Intel aumentou o pacote MMX, deu-lhe
uma unidade parte s para ele dentro do
processador e deu-lhe o nome de SSE.
O SSE2 surgiu em 2000, o 3 em 2004 e o 4 em 2008
nalguns Core 2 e foi ainda melhorada para os Core i7.

AVX
Nos Sandybridge, surgem 256 novas
instrues, num pacote denominado AVX
(Advanced Vector Extensions).

3D Now!
A AMD criou a tecnologia 3DNow! Como alternativa
MMX e SSE, mas a falta de compatibilidade entre
ambas e o facto da Intel ter mais fora, fez com que a
AMD tambm tivesse que adoptar a SSE. No entanto,
vai sempre introduzindo umas variantes e at, dizem
eles, j vo na SSE5.
A 3D Now! foi descontinuada em 2010.

11. Execuo dinmica

A seguir aos processadores Pentium veio uma srie, designada por


P6, constituda por Pentium Pro, Pentium II e Pentium III.
Esta famlia viu muito melhorado o desempenho das pipelines
atravs da denominada execuo dinmica, constituda por

Multiple branch prediction


Speculative execution
Dataflow analysis

Multiple branch prediction

J dissemos antes que, por causa dos ciclos e dos Ifs, o cdigo dos
programas em Assembly tem muitos saltos
Em C:

Em Assembly:

if (ax < bx)


{
X = -1;
}
else
{
X = 1;
}

cmp ax, bx
jl
mov
jmp
axLess:
mov
Both:

axLess
word [X], 1
Both
word [X], -1

Com o branch prediction,


pretende-se prever quais
as instrues que sero
executadas a seguir para
darem entrada na pipeline.
Por exemplo, no caso ao
lado, mesmo antes da
execuo do if, pretendese prever se a seguir vir a
X = -1 ou a X = 1.
A Intel fala numa preciso de
previses da ordem os
90%.

Speculative execution
Tenta adiantar-se executando instrues que nem sabe se sero ou no
necessrias, mas achando que sim De qualquer forma, adianta trabalho.
Os seus resultados ficam guardados para o caso de virem a ser necessrios.

Dataflow analysis

Planeia a fila de instrues que entra nas pipelines de execuo


independentemente da ordem pela qual surgem no cdigo do
programa em execuo. A ideia organizar a execuo das
instrues da forma mais eficiente, mesmo que no coincida
com a ordem pela qual esto escritas no cdigo.

Lembram-se desta imagem?


Code cache cache L1 de instrues
Data cache cache L1 de dados
Instruction fetch fase de busca da
pipeline
Instruction decode fase de
descodificao da pipeline
Superscalar Interger Execution Units
execuo de instrues nas
pipelines (plural, porque fala em
superescalar)
Branch Prediction Logic previso de
saltos
Pipelined Floating Point FPU em
pipeline
Estamos a avanar ou no?

12. MMX MultiMedia eXtensions


MMX Party- aqui!
A ideia era a de tornar mais rpidas as operaes
multimdia, que comeavam a ser comuns.
Conseguiram-no nos Pentium MMX em 1996 com
Caches L1 maiores
Mais 57 novas instrues para o conjunto das
instrues internas aos processadores, do tipo SIMD
Single Instruction, Multiple Data.

SIMD
A designao entende-se bem com o exemplo
do preenchimento de uma forma: mudar a cor
a 8 pixis de cada vez, em torno de 1 de cada
vez , claramente, mais rpido! E situaes
deste tipo ocorrem em cerca de 90% do
tempo que uma aplicao multimdia
executada.

Streaming SIMD Extensions (SSE)

Em 1999, a Intel aumentou o pacote MMX, deu-lhe uma unidade parte s para
ele dentro do processador e deu-lhe o nome de SSE.
O SSE2 surgiu em 2000, o 3 em 2004 e o 4 em 2008 nalguns Core 2 e foi ainda
melhorada para os Core i7.

AVX

Nos Sandybridge, surgem 256 novas instrues, num pacote


denominado AVX (Advanced Vector Extensions).

3D Now!

A AMD criou a tecnologia 3DNow! Como alternativa


MMX e SSE, mas a falta de compatibilidade entre
ambas e o facto da Intel ter mais fora, fez com que a
AMD tambm tivesse que adoptar a SSE. No entanto,
vai sempre introduzindo umas variantes e at, dizem
eles, j vo na SSE5.

15. Hyperthreading

Processo:
Um processo uma instncia dum programa de computador juntamente com
as suas necessidades para ser executado. Dependentemente do Sistema
operativo, um processo pode ser dividido em mais do que uma thread e essas
threads podem ser executadas concorrencionalmente.

Thread:
Uma thread provm da diviso de um processo em bocadinhos,
bocadinhos esses que podem usar as mesmas variveis e o mesmo espao
de memria, o que no pode acontecer com processos diferentes.

Tarefa:
Conjunto de instrues de um programa carregadas para a memria.

Hyperthreading
Hyperthreading ou hiperprocessamento uma tecnologia
usada em processadores que o faz simular dois
processadores tornando o sistema mais rpido ao permitir a
execuo em simultneo de duas threads.
Esse processo todo rende um acrscimo de at 20%, em
mdia, na velocidade dos programas.

A simulao do segundo processador feito


utilizando fases no aproveitadas do
processador na previso de desvio da pipeline.
Estas partes so conhecidas como bolhas da
pipeline e no teriam utilidade nenhuma,
havendo desperdcio.
uma tecnologia desenvolvida pela Intel e foi
primeiramente empregada no processador
Pentium 4 de ncleo Northwood, de 32 bits.
Atualmente, na famlia de processadores,
denominada Nehalem, o processador Core i7
usufrui de novo dessa tecnologia.

Processador single
threaded.

Dois ncleos single threaded cada um.

Um processador
multithreaded. Ele simula
um processador com dois
ncleos, embora s tenha
um!
Nos primeiros Pentium 4
com HT, isso fazia com que
surgissem dois CPU no ecr
do POST e isso deixava
muitas pessoas confusas!

4 cores e 8 threads s pode significar que


se trata dum processador com 4 ncleos e
hyperthreading.

4 cores e 4 threads s pode significar que


se trata dum processador com 4 ncleos e
sem hyperthreading.

16. Virtualizao

Software como o VMware ou o Virtual


Box permitem-nos ter diferentes
computadores virtuais, com diferentes
sistemas operativos, no mesmo
computador fsico.

O hardware tambm virtual, no


sentido em que podemos definir as suas
caractersticas na definio do
computador virtual.

Exemplo dum computador virtual chamado Linux Mint, com 4GB de


RAM, disco de 20GB, placa grfica com 64MB.
O computador real, no qual est instalado, tem 16GB de RAM, disco de
1TB e placa grfica com 4GB.

Virtualizao em servidores
O uso de software de virtualizao em servidores,
com diferentes sistemas operativos num nico
computador fsico pode significar uma grande
poupana de dinheiro face opo por diferentes
computadores, cada um com o seu sistema
operativo.
A AMD (com a AMD-V) e a Intel (com a VT-X) do
suporte, por parte dos processadores, a esta soluo,
melhorando o desempenho e aumentando a
segurana.

Textos explicativos

32 e 64 bits
Frequncias
Intel Turbo Boost / AMD Turbo Core
Intel Speedstep/AMD Coolnquiet
Cache interna
Pipeline(s) de instrues
FPU
Controlador de memria integrado
Processo de fabrico (Litography)
MMX/SSE/AVX/3D Now!
Hyperthreading
Virtualizao

Textos do website
http://www.hardware.com.br/
que explicam um pouco melhor
vrios dos tpicos aqui tratados.

Você também pode gostar