Академический Документы
Профессиональный Документы
Культура Документы
Este trabalho tenta de um modo geral mostrar a histria e evoluo deste componente que mudou
uma gerao: o microprocessador.
Atualmente, o processo de integrao tem praticamente o mesmo custo para se integrar centenas,
milhares ou milhes de transstores em uma nica pastilha. Pode-se falar ento na quarta gerao
de computadores pela utilizao da integrao eem altssima escala (VLSI).
-A Intel projeta um chip de circuito integrado que poderia receber instrues e executar funes
de dados simples. Esse projeto se tornou o microprocessador 4004.
-Gilbert Hyatt patenteou uma aplicao que seria o primeiro microprocessador da histria. -A
Intel criou um layout de circuitos, que era o microprocessador 4004.
A primeira CPU com chip simples foi o intel 4004, um processador 4-bits destinado para ser uma
calculadora. Ele processava dados em 4 bits, mas suas instrues eram 8 bits longos. As
memrias de programas e dados eram separadas, 1K de memria de dados em 12 bit PC e 4K de
memria de programa (na forma de quatro stacks). Havia tambm dezesseis registros de
propsitos gerais de 4 (ou oito de 8 bits).
O 4004 tinha 46 instrues, velocidade de 108 KHz, e tinha somente 2300 transistores. O 4040
foi uma verso superior ao 4004, nele foram acrescentadas 14 instrues, mais stacks (oito) e 8K
de espao para programas. Seu preo inicial era U$200. E usava 2300 transstores que podiam
enderear 640 bytes. Os manuais foram escritos por Adam Osborne. A Eletronic News publicou
e ajudou na promoo do chip. A Intel ganhou o direito de comercializar seu chip abertamente.
-Scelbi Computer Consulting inicia o trabalho de design naquele que poderia ser o processador
Scelbi-8H; -Intel lana o seu chip 8008, com 108 KHz, o primeiro microprocessador de 8 bits
que acessava 1
Corporation (mais tarde chamada DataPoint). Usava 3500 transstores; -National Semicondutor
apresenta seu microprocessador IMP-16.
-Intel lana o seu chip 8080 com 2 MHz, um microprocessador de 8 bits, que podia acessar 64
KB de memria e usava 6000 transstores. O primeiro microcomputador a us-lo foi o MARK-8.
O Intel 8080
O 8080 foi o sussessor do 8008 (1972, similar ao 4040 - tinha 14 bits de endereamentos PC), ele
tinha barramento de 16 bit de endereamentos e 8 bits de dados. Internamente, tinha sete
registros de 8 bits (A,B,C,D,E,H,L - pares BC, DE e HL foram combinados como registros de 16
bits), um stack pointer de 16 bits ocupava o lugar do de 8 bits que o 8008 possuia e, tambm
tinha um programa de contagem de 16 bits. Ele tambm tinha vrias portas I/O, porm podiam
ser modificadas sem retirar ou interferir no espao de endereamentos, e um simples pino
permitia que o stack ocupasse um banco separado na memria.
Intel melhorou o projeto com o 8085 (1976), foram adicionadas duas instrues para suas
interrupes, e somente requeria uma fonte de +5V. Possuia alguns detalhes extras de
entrada/sada.
O 6800 e 6809, e sries 6502, usavam clock de ciclo simples para gerar timing para quatro
estgios de execuo interna, embora essas instrues eram executadas em um nico 'ciclo'
externo (esta a diferena para o clock-doubling, que usa uma fase para gerar um clock interno
rpido, sicronizado com um clock externo). Outras CPUs como o 8080 usavam o clock externo
diretamente, com instruo equivalente dos quatro ciclos, isso significava que 2 MHz do 6809
era equivalente a 8 MHz do 8080. Mais tarde, a Motorola produziu CPUs nessa linha com um
clock de quatro ciclos.
-Texas Instruments introduz o chip TMS1000 para microcomputadores. -Surge o RCA 1802 de
6.4 MHz, considerado um dos primeiros chips com tecnologia RISC. -Logo aps surge o Altair
80, com 1 KB de memria, e vendido por U$375. O Altair usa um processador de 8 bits (Intel
8080) com endereamento de 16 bits. Tem 78 instrues bsicas de mquina com mais de 200
variaes. Pode enderear diretamente 65 K de memria. Seu ciclo de intruo bsica dura 2 ms.
-MOS anuncia o MC 6501 por vinte dlares e o MC 6502, por 25 dlares, ao mesmo tempo que
o 8080 da Intel custava 150. -IBM comea a trabalhar no projeto "801", para desenvolver um
chip que poderia ser usado tanto em pequenos como em grandes computadores.
O Zilog Z-80
O Z-80 foi o aperfeioameto do 8080, e foi vastamente aperfeioado, ele tambm usava 8 bit de
dados e 16 bit de endereamento, e executava todos os cdigos op do 8080 (no do 8085), mas
com 80 a mais, suas instrues eram operadas em 1, 4, 8 e 16. Os registros foram duplicados,
com dois bancos de registros (incluindo A e F)que podiam ser trocados entre eles. Isto permitiu
operao rpida do sistema operacional. No Z-80 foram acrescentados dois registros de indce
(IX e IY). A velocidade do Z-80 era de 2.5mhz, para o Z80-H era 6mhz.
O que realmente fez o Z-80 popular, foi a sua interface de memria - a CPU gerava sua prpria
RAM refresh signals (reativar sinais convertidos), isso significa simples projeto e baixo custo.
Sua compatibilidade com o 8080 ,e CP/M, o primeiro modelo de microprocessador com sistema
operacional padro, fez dele a primeira escolha entre muitos outros sistemas.
Foram tambm produzidas variantes do Z-80 como o Z-180 (tambm avaliavel como o Hitachi
64180, com componentes adicionados (dois timers 16 bit, dois controladores DMA, trs portas
seriais, e uma MMU(unidade de gerenciamento de memria) segmentada com mapeamento 20
bit. 1M de espao para endereametos e trs segmentos de mapeamento de memria com
tamanho varivel em 16 bits(64K)), e o Z-280, verso 16 bits que foi introduzida em julho de
1987, com MMU 24 bit (16M), multitarefa, cache de 256 bytes, e vrios novos cdigos op foram
acrescentados. O clock externo era 2 ou 4 vezes mais rpido que o clock interno (ex.: 16 Mhz da
CPU com 4 Mhz de bus). Uma verso Z-380 - 16/32 bits tambm existiu.
O Z-8 (1979) foi um processador inspirado no Z-80, porm em seu chip estavam: RAM
(atualmente tm-se 124 para registros gerais e 20 para registros especiais) e ROM (muitas vezes
um interpretador BASIC), e era disponvel uma grande variedade de configuraes que
ultrapassavam os 20 Mhz.
-A Intel lana o chip 8086.dlares e pode acessar 1 MB de memria. Era baseado no design do
8080/8085.
Era um chip de 16 bits. Usava registradores de 16 bits e 29000 transstores. Preo de 360 dlares
e pode acessar 1 MB de memria. Era baseado no design do 8080/8085. E foi o primeiro da
famlia 80x86.
Intel 8088, o XT
Conhecido como o XT. Possuia a mesma arquitetura e os mesmos programas do 8086, mas
possua um barramento de 8 bits, o que o tornava mais lento, porm mais barato que o 8086. E
logo se tornou o padro da insstria para computadores pessoais.
-Zilog mostra o processador Z8000 de 16 bits. -Microsoft libera sua linguagem Assembler para
os microchips 8080 e Z80.
Motorola 68000
Era uma pastilha completamente nova, no era compatvel nem com o 6800, nem com o 6809.
Foi uma mudana radical em relao ao passado. Embora o barramento de dados possusse 16
bits, todos os registradores que o programador via eram de 32 bits, e a m quina pode somar ou
subtrair (no multiplicar ou dividir) nmeros de 32 bits em apenas uma instruo, o que
transformava o 68000 um hbrido entre 16 e 32 bits. Seu sucesso deu origem a outros
processadores, da famlia 680x0.
-Apple Computer lana o Apple I, que usa o processador 6502A de 2 MHz. -Intel 8086, Zilog
Z8000, Motorola M68000 e o chip PDP-1 da Digital Equipment comeam a usar o Microsoft
XENIX OS, uma verso do sistema operacional UNIX (multiusuario e
Evoluo do microprocessador
Intel
Desde a sua fundao, em 1968, e com a introduo do seu primeiro
microprocessador computador em 1971, a Intel tem estado na vanguarda no
desenvolvimento de tecnologias.
Microprocessador1486 (1989)
Em 1989, a Intel lanou o i486, que atingiram velocidades entre 16 e 100
MHz. Foram muito relacionado com a Intel 80386 microprocessador, com a
principal diferena de que o i486 tem um conjunto de instrues unidade de
ponto flutuante otimizado e um cache unificado construdo em
microprocessador integrado circuito em si e melhorada nibus unidade de
interface.
Micropocessor Pentium
A 22 de maro de 1993 v a luz para a primeira vez que o "Pentium".
Estes processadores foram baseadas em uma velocidade inicial de 60 MHz,
atingindo 200 MHz, algo que ningum tinha sido capaz de prever alguns
anos antes. Com uma arquitetura real de 32 bits, usado novamente 0,8
micron tecnologia, o que poderia torn-lo mais unidades em menos espao.
Ele tinha um barramento de dados.
O microprocessador M (2003)
Em maro de 2003, o microprocessador Intel Pentium M vem com x86
(i686), o que representa uma mudana radical para a Intel, uma vez que
no uma verso de baixo consumo do Pentium 4, mas uma verso muito
modificada do projeto do Pentium III (que por sua vez, uma modificao
do Pentium Pro).
Micropocessor Pentium D (2005)
No Frum de processadores Pentium D da Primavera de 2005 Intel
Developer, que eram basicamente dois processadores Pentium 4
amontoados em um nico pacote (Prescott por 2 ncleos e 2 ncleos
Smithfield ncleo Cedar Moinho ncleo Presler para) so introduzidos.
Seu processo de fabricao era inicialmente de 90 nm e sua segunda
gerao de 65 nm
Especificaes
Ver todos os processadores i7 Intel Core
Nmero de cache do processador Veloc.reloj N . ncleo /
N . Threads Mximo TDP / Poder
A Evoluo e HISTRIA DOS MICROPROCESSADORES
Responsvel pela execuo das instrues num sistema, o microprocessador, escolhido entre os
disponveis no mercado, determina, em certa medida a capacidade de processamento do
computador e tambm o conjunto primrio de instrues que ele compreende. O sistema
operativo construdo sobre este conjunto.
O primeiro microprocessador comercial foi inventado pela Intel em 1971 para atender uma
empresa japonesa que precisava de um circuito integrado especial.[1] A Intel projectou o 4004
que era um circuito integrado programvel que trabalhava com registradores de 4 bits, 46
instrues, clock de 740Khz e possua cerca de 2300 transistores. Percebendo a utilidade desse
invento a Intel prosseguiu com o desenvolvimento de novos microprocessadores: 8008 (o
primeiro de 8 bits) e a seguir o 8080 e o microprocessador 8085. O 8080 foi um grande sucesso e
tornou-se a base para os primeiros microcomputadores pessoais na dcada de 1970 graas ao
sistema operacional CP/M. Da Intel saram alguns funcionrios que fundaram a Zilog, que viria a
lanar o microprocessador Z80, com instrues compatveis com o 8080 (embora muito mais
poderoso que este) e tambm de grande sucesso. A Motorola possua o 68000 e a MOS
Technology o 6502. Todos esses microprocessadores de 8 bits foram usados em muitos
computadores pessoais (Bob Sinclair, Apple, TRS, Commodore, etc). Em 1981 a IBM decidiu
lanar-se no mercado de computadores pessoais e no seu IBM-PC utilizou um dos primeiros
microprocessadores de 16 bits, o 8088 (derivado do seu irmo 8086 lanado em 1978) que viria a
ser o av dos computadores atuais. A Apple nos seus computadores Macintosh utilizava os
processadores da Motorola, a famlia 68000 (de 32 bits). Outros fabricantes tambm tinham os
seus microprocessadores de 16 bits, a Zilog tinha o Z8000, a Texas Instruments o TMS9900, a
National Semiconductor tinha o 16032,mas nenhum fabricante teve tanto sucesso como a Intel,
que sucessivamente foi lanando melhoramentos na sua linha 80X86, tendo surgido assim (por
ordem cronolgica) o 8086, 8088, 80186, 80188, 80286, 80386, 80486, Pentium, Pentium Pro,
Pentium MMX, Pentium II, Pentium III, Pentium IV, Pentium M, Pentium D e Pentium Dual
Core. Para o IBM-AT foi utilizado o 80286, depois um grande salto com o 80386 que podia
trabalhar com memria virtual e multitarefa, o 80486 com coprocessador matemtico embutido e
finalmente a linha Pentium, com pipeline de processamento. Como grande concorrente da Intel, a
AMD aparece inicialmente como fabricante de microprocessadores da linha x86 alternativa mas
a partir de um certo momento deixou de correr atrs da Intel e partiu para o desenvolvimento de
sua prpria linha de microprocessadores: K6, Athlon, Duron, Turion, Sempron, etc.
Paralelamente disputa entre Intel e AMD, a IBM possuia a linha PowerPC utilizada
principalmente pelos microcomputadores da Apple.
O CPU tem como funo principal unificar todo o sistema, controlar as funes realizadas por
cada unidade funcional, e tambm responsvel pela execuo de todos os programas do
sistema, que devero estar armazenados na memria principal.
Componentes
O processador composto por alguns componentes, cada um tendo uma funo especfica no
processamento dos programas.
a responsvel por executar efetivamente as instrues dos programas, como instrues lgicas,
matemticas, desvio, etc.
Registradores
A MMU (em ingls: Memory Management Unit) um dispositivo de hardware que transforma
endereos virtuais em endereos fsicos e administra a memria principal do computador.
Frequncia de operao
O relgio do sistema (Clock) um circuito oscilador a cristal (efeito piezoeltrico) que tem a
funo de sincronizar e ditar a medida de tempo de transferncia de dados no computador. Esta
freqncia medida em ciclos por segundo, ou Hertz. A capacidade de processamento do
processador no est relacionada exclusivamente frequncia do relgio, mas tambm a outros
fatores como: largura dos barramentos, quantidade de memria cache, arquitetura do
processador, tecnologia de co-processamento, tecnologia de previso de saltos (branch
prediction), tecnologia de pipeline, conjunto de instrues, etc.
Arquitetura
Modelos de computao
CISC (em ingls: Complex Instruction Set Computing, Computador com um Conjunto
Complexo de Instrues), usada em processadores Intel e AMD; possui um grande conjunto de
instrues (tipicamente centenas) que so armazenadas em uma pequena memria no-voltil
interna ao processador. Cada posio desta memria contm as microinstrues, ou seja, os
passos a serem realizados para a execuo de cada instruo. Quanto mais complexa a instruo,
mais microinstrues ela possuir e mais tempo levar para ser executada. Ao conjunto de todas
as microinstrues contidas no processador denominamos microcdigo. Esta tcnica de
computao baseada em microcdigo denominada microprogramao.
RISC (em ingls: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido
de Instrues) usada em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN);
possui um conjunto pequeno de instrues (tipicamente algumas dezenas) implementadas
diretamente em hardware. Nesta tcnica no necessrio realizar a leitura em uma memria e,
por isso, a execuo das instrues muito rpida (normalmente um ciclo de clock por
instruo). Por outro lado, as instrues so muito simples e para a realizao de certas tarefas
so necessrias mais instrues que no modelo CISC.
Exemplos de microprocessadores
Uma GPU.
Processadores multinucleares
Sistemas multiprocessados
Capacidade de processamento
A capacidade de processamento de um microprocessador de certa forma difcil de medir, uma
vez que esse desempenho pode se referir a quantidade mxima teria de instrues que podem
ser executadas por segundo, que tipos de instrues so essas, tendo tambm a influncia de sua
arquitetura e de sua comunicao externa, mas num contexto geral a capacidade mxima terica
de processamento medida em Flops (instrues de ponto flutuante), podendo essa ser de
preciso simples, dupla, qudrupla, dependendo do contexto, e em MIPS (milhes de instrues
por segundo), sendo essas operaes com nmeros inteiros. Somente a capacidade mxima
terica de um microprocessador no define seu desempenho, somente d uma noo da sua
capacidade, uma vez que sua arquitetura, barramento com a memria entre outros tambm
influenciam no seu desempenho final, sendo assim, sua capacidade de processamento medida
comparando a velocidade de execuo de aplicativos reais, podendo assim, testar seu
desempenho em atividades comuns
Histria
A criao do transistor anunciou que uma nova era da eletrnica estava surgindo. Comparado as
vlvulas terminicas, tecnologia dominante at o momento, o transistor mostrou ser significativamente
mais confivel, necessitando de menos energia e, o mais importantemente, podendo ser miniaturizado
a nveis quase microscpicos. O primeiro transistor foi criado em Dezembro de 1947 pelos
pesquisadores da empresa Bell Laboratory anunciando uma nova era da eletrnica de estado slido.
Evoluo
Lei de Moore
Em 1965 um dos fundadores da Intel, Gordon Moore, publicou um artigo sobre o aumento da
capacidade de processamento dos computadores. Este ficou conhecido como a Lei de Moore, Moore
afirma que essa capacidade dobraria a cada 18 meses e que o crescimento seria constante e desde
ento todos os fabricantes de microprocessadores se sentiram na obrigao de dobrar a capacidade de
processamento dos seus processadores a cada 18 meses, dando incio a corrida pelo desempenho.
1971:
O primeiro microchip comercial produzido no mundo foi o Intel 4004[Fig.3] que foi desenvolvido
para ser utilizado por uma empresa de calculadoras portteis, a Japonesa Busicom. O Intel
4004 possua controle de teclado, display, impressora e outras funes tudo isso contido em um nico
chip. Com uma CPU de 4 bits e cerca de 2300 transistores, tinha tanto poder de processamento quanto
o ENIAC que ocupava mais de 900m3 com suas 18.000 vlvulas.
1973:
Nasce o Intel 8008, agora com 8 bits implementada sobre as tecnologias TTL MSI e com
aproximadamente 3.500 transistores.
1974:
Menos de um ano depois do lanamento do Intel 8008 a Intel lana o primeiro processador
voltado para computadores pessoais. O Intel 8080 possuindo uma CPU de 8bits, porm , uma frequncia
de operao de 290.000 operaes por segundo.
1978:
Aps o sucesso do 8080, a Intel lana o Intel 8086 com 29.000 transistores e performance 10 vezes
melhor que seu antecessor . Por volta de 1978 surge a AMD no mercado de micro processadores, deste
ano em diante a Intel passa a dividir seu mercado com uma forte concorrente.
1979:
O Intel 8086 foi seguido em 1979 pelo Intel 8088, uma
verso do 8086 com barramento de 8 bits, ento a Intel lana a campanha de arquitetura 8086/8088
como padro da indstria de computadores. A escolha do Intel 8088 como a arquitetura do primeiro
computador pessoal da IBM foi uma grande ajuda para a Intel. Isso fez com que a Intel conseguisse
consolidar a especificao da arquitetura 8086/8088 como o padro mundial.
1982:
A prxima gerao da famlia Intel 8086 inicia com o lanamento do novo processador de 16 bits, o
Intel 80286, mais conhecido como Intel 286. Ele possua 134.000 transistores com frequncia mxima
de 12MHz.
Nesse mesmo ano a AMD lana o Am286, modelo baseado no 286 da Intel. Ele tambm possuia
134.000 transistores mas com frequncia mxima de 16Mhz.
1985:
A Intel lana a grande inovao da dcada, o processador de 32bits com 275.000 transistores, o
Intel 386 que operava a 5 milhes de instrues por segundo(MIPS) a uma frequncia de 33mhz.
A AMD lana o Am386 com as mesmas caractersticas de Intel 386, mas com frequncia de 40Mhz.
1988:
Apesar do Intel 386 ter sido uma revoluo na industrias de microprocessadores ele era muito
caro e invivel para um usurio comum. Ento a Intel lana o Intel 386SX, vulgarmente chamado de
386 Lite. Esse representa um novo nvel na famlia Intel.
A AMD lana uma verso mais acessvel aos usurios domsticos.
1989:
A Intel lana a nova famlia de processadores Intel 486, com 1.200.000 transistores, agora tambm
integrado com coprocessador matemtico de cache L1 e operando em uma frequncia de 50MHz.
Com o 486 da intel, a AMD lana um processador tambm constitudo de coprocessador, porm,
com barramento interno de 40MHz. Sendo ele responsvel pela popularidade da AMD.
1993:
Nasce o grande astro da Intel, o Pentium construdo com a tecnologia CMOS de 0.8m foi o marco
do avano tecnolgico, possuindo cerca de 3.100.000 transistores, trabalhando entre 66MHz e 233MHz
e executando cerca de 112MIPS .
Aps assistir o lanamento do Pentium, a AMD lana o Am486 com frequncia mxima de150MHz
e 1.600.000 transistores, no entanto, ele no foi bem aeito pelos consumidores.
1995:
A Intel lana o Pentium PRO com a novidade da cache L2, rodava a 200MHz e possua 5,5 milhes
de transistores, sendo o primeiro processador a ser produzido com a tecnologia de 0.35m. Neste
mesmo ano a AMD decide sair da sombra da Intel e introduz
o microprocessador AMD-K5.
1997:
Em 1997, a AMD sabia que estava perdendo a batalha contra a gigante Intel e resolveu colocar em
desenvolvimento um core revolucionrio de uma empresa que estava vendendo sua tecnologia, ento
nasce o AMD-K6 que oferecia desempenho competitivo e sem perder desempenho com clculo
flutuante essencial para jogos e alguma tarefas multimdias.
Com o sucesso do AMD-K6, a Intel decide antecipar o lanamento do Pentium II.
Seguindo a Lei de Moore, o crescimento do desempenho dos processadores estava atingindo
propores incrveis, pois o Pentium II possua 7,5 milhes de transistores produzidos na tecnologia de
0.25m e tambm incorporava a tecnologia Intel MMX.
1998:
O Intel Pentium II Xeon e concebido para satisfazer os requisitos de desempenho de mdios e
grandes servidores e estaes de trabalho.
Neste ano surge o processador AMD-K6-2 que passou a utilizar uma forma mais rpida de soquete
7, agora chamada de super soquete 7.
1999:
Em 1999 a AMD toma a liderana na corrida pela performance, lanando o AMDK7r, ou AMD
Athlon, o primeiro processador com frequncia acima de 1GHz. Processadores projetados
especificamente do zero para executar sistemas Windows com performance excepcional.
Como resposta, a Intel lana o Pentium III, que possua 70 novas instrues, que aumentaram
visivelmente o desempenho de grficos avanados, 3D, streaming de udio, vdeo e aplicaes de
reconhecimento de voz.
2000:
No ano 2000 as novas tecnologias desenvolvidas, como a fabricao de transistores com fios de
0.18m, deram novo folego para a Lei de Moore possibilitaram a criao de processadores muito mais
rpidos, com menos consumo de energia e dissipao de calor. Nasce o Pentium 4, com 42 milhes de
transistores.
2001 a 2006:
No perodo de 2001 a 2006, surgem diversas novas tecnologias e processadores, sempre
confirmando a previso de Gordon Moore . Contudo, a partir de 2001, aps o lanamento de novas
verses do Pentium 4, a indstria j podia construir processadores com transistores to pequenos
(tecnologia de 0.13m) que tornou-se muito difcil aumentar o clock por limitaes fsicas,
principalmente porque o calor gerado era to grande que no podia ser dissipado pelos resfriadores
convencionais.
2006:
A Intel lana sua nova linha de processadores multi core e
deixa o Athlon 64 X2 para traz. Essa nova linha abandona a marca Pentium e passa a utilizar a Core2,
trazendo tambm algumas melhorias que tornariam a Intel novamente a lder de mercado. As
barreiras trmicas que atrasavam o avano dos processadores levaram os fabricantes a criar novas
sadas para continuar desenvolvendo novos produtos com maior poder de processamento que os
anteriores. Uma das sadas mais palpveis foi colocar vrios ncleos em um mesmo chip. Esses novos
processadores ficaram conhecidos como multi core.
RISC
CISC
Os processadores do tipo RISC so mais rpidos que os do tipo CISC, devido sua natureza mais simples.
At ao aparecimento do Pentium todos os processadores eram do tipo RISC.
No entanto, devido complexidade de algumas operaes, este tipo de arquitetura no seria suficiente
para as processar.
Por outro lado, temos a arquitetura CISC que consegue efetuar todas as operaes, mas que se torna
mais lento que o RISC a processar operaes mais simples.
O sistema de E/S suporta a comunicao dos programas em execuo pelo CPU, com o exterior, com
dois objetivos:
Como j verificamos anteriormente, os dispositivos de E/S geram interrupes que tm de ser atendidas
pelo CPU. Com a introduo deste controlador, em cada dispositivo, o CPU apenas intervm quando
necessrios, podendo vrios dispositivos de E/S encontrar-se a funcionar em simultneo. No entanto,
um problema ficava por solucionar. Sempre que um dispositivo E/S comunicava com a memria
principal o CPU era chamado a para controlar a operao. Implementou-se, por isso, uma tcnica de
nome DMA (Direct Memory Access) que permite o acesso direto entre a memria e os dispositivos de
E/S sendo que o CPU s intervm no incio e no final da operao.
Hierarquia da memria
As memrias podem variar em termos de tamanho, preo e velocidade. De seguida apresentamos um
esquema dos diferentes tipos de memrias.
AULA 13
Publicado a 05/01/2014, 12:29 por Pedro Lima
FSB e alm
O CPU Bus, Front Side Bus ou simplesmente FSB, representa a forma como um processador comunica
com o exterior, isto , com a North Bridge, muitas vezes denominada como Memory Controller
Hub (MCH) presente na motherboard. Este foi introduzido pela primeira vez no Pentium Pro.
A MCH por sua vez, liga South Bridge ou Input/Output Hub (IOH) atravs de um barramento prprio.
Numa motherboard convencional estes dois chips so facilmente reconhecveis.
O nmero 1 da figura representa o North Bridge (ou MCH) e o nmero 2 a South Bridge (ou IOH).
- Dados
- Endereos
- Controlo
O FSB est claramente associado ao barramento de dados. Tomando em considerao que hoje em dia,
os barramentos so na sua maioria de 64 bit necessitamos apenas de saber a velocidade deste
barramento para saber a quantidade de dados transferidos. Por exemplo, um Pentium IV que opere
internamente a 3,4 GHz comunica com o exterior do FSB apenas a 800 MHz.
Assim, o FSB permite:
- Hypertransport (AMD)
A grande diferena que a AMD introduziu o Hypertransport 2003, enquanto a Intel apenas cinco anos
depois (2008) o Quickpath Interconnect.
Tanto o Hypertransport como o QPI residem em ligaes ponto a ponto de baixa latncia e grande
largura de banda, que permitem interligar o processador diretamente ICH, uma vez que, cada
processador passa a ter integrado um controlador de memria deixando assim de esse acesso ser
realizado atravs da MCH. Para alm disso, dentro do microprocessador existem ligaes entre os vrios
ncleos.
O Hypertransport foi lanado no AMD Athlon 64 pela primeira vez enquanto o QPI foi introduzido
apenas recentemente na srie Intel Core i7.
Esta tecnologia para o utilizador comum traz vantagens sobretudo no aproveitamento da memria
RAM. Por exemplo, com os Intel Core i7 possvel tirar partido de memria DDR3 a funcionar em triplo
canal (triple channel), tudo devido ao controlador de memria integrado no CPU. Claramente existem
tambm vantagens no acesso ao barramento da placa grfica e a outros componentes de entrada e
sada. Estas tecnologias, revelam-se verdadeiramente muito eficazes em sistemas de vrios
processadores (no confundir com ncleos), possuindo cada um o seu controlador de memria e ligao
direta a cada um dos outros processadores.
A associao de vrios processadores prtica corrente no mundo dos servidores, onde estas
tecnologias fazem toda a diferena.
EXERCCIO PROPOSTO
Responda s seguintes questes:
1 - Qual a funo do barramento Front Side Bus? A que tipo de barramento este
corresponde?
2 - Como se podem denominar tambm a North Bridge e a South Bridge?
AULA 12
Publicado a 01/12/2013, 13:54 por Pedro Lima
PROCESSADORES DE VRIOS NCLEOS
Para evoluir na rea dos processadores, ou se aumenta a velocidade do relgio interno, ou se
implementam formas de processamento paralelo. Esta ltima tem sido a aposta principal tanto da
INTEL como da AMD, uma vez que como j se referiu, o calor aumenta gradualmente com a velocidade
interna do CPU, revelando-se pouco eficiente energicamente e a nvel de rendimento. Em analogia seria
como comprar um Ferrari apenas para ir ao caf que fica a 1km de casa!
Como verificamos no ponto anterior, a tecnologia HT simula dois processadores num s processador
fsico. Se esta tcnica se revela excelente e no passa de uma virtualizao, melhor ser possuir um
processador com dois (ou mais) ncleo.
Tanto a INTEL como a AMD surgiram com processadores de dois ncleos em 2005 (Pentium D e Athlon
64 X2).
O nmero de ncleo tem vindo a aumentar e a srie Core i da Intel j tem venda processadores de 6
ncleos fsicos com tecnologia HT, que aos olhos do SO visto como um processador de 12 ncleos. A
AMD lanou tambm o Phenom II X6 com 6 ncleos de processamento.
A indstria dos jogos, aplicaes multimdia e cinematogrfica, exigem cada vez mais da capacidade de
processamento. Os Sistemas Operativos e as aplicaes desenvolvidas so cada vez mais direcionadas
para o aproveitamento de vrios ncleos de processamento.
TRABALHO PRTICO
Realize um trabalho de pesquisa (em grupos de 2 alunos) sobre a evoluo dos microprocessadores de
vrios ncleos evidenciando as suas diferenas.
Durao: 2 aulas
Aula 11
Publicado a 28/11/2013, 14:16 por Pedro Lima
Tcnicas de processamento paralelo
Aumentar a velocidade de relgio interno de um processador levou sobretudo a um
problema incontornvel: o sobreaquecimento.
Por outro lado, desenvolver um processador de um nico ncleo para velocidades muito elevadas seria
quase sempre subaproveitado, especialmente para o caso do utilizador comum (desperdcio
energtico).
Um processador executa cada programa de forma sequencial, passo a passo. Na presena de duas
instrues sequenciais, mas sem dependncias entre elas, seria vantajoso que ambas fossem realizadas
em simultneo. A primeira abordagem denominou-se de pipelining (representa o mtodo que permite
ao processador no necessitar de esperar o trmino de uma instruo para processar uma nova.
Vejamos as diferenas de um CPU com e sem pipelining na execuo das duas somas anteriores:
Pipelining
Como se pode verificar a segunda instruo apenas atendida quando a primeira termina de ser
executada.
As mesmas instrues poderiam ser atendidas por um processador com pipelining da seguinte forma:
Na figura anterior, verifica-se que as mesmas instrues foram executadas em menos ciclos que a
abordagem anterior, devido ao paralelismo de atendimento das instrues.
Se houvesse uma terceira instruo e um terceiro estgio de pipelining ela comearia a ser processada
no terceiro ciclo juntamente com a fase de execuo (primeira instruo) e descodificao (segunda
instruo).
A partir dessa altura, seria possvel realizar uma instruo por cada ciclo aumentado a "velocidade de
processamento" (throughput)
Trs estgios de pipelining
Quanto mais estgios de pipelining mais instrues poderiam ser atendidas em simultneo
desde que estas tambm fossem partidas no mesmo nmero de estgios, ou seja, em vez da instruo
ser partida em 3 partes (fetch-decode-execute) seria dividida em mais partes, passando naturalmente
menos tempo de relgio em cada parte da instruo (apesar do tempo total ser o mesmo). No
entanto, era possvel ter em paralelo N nmero de instrues a serem processadas.
Isto aumentava a velocidade de processamento (em termos de throughput) num fator igual ao
nmero de estgios. O aumento de estgios denomina-se de profundidade de pipeline (pipeline deep).
O pentium4 Prescot contava com 31 pipelines, mas os processadores seguintes optaram por baixar esse
nmero.
A profundidade era tambm um inconveniente quando algo corria mal, sendo necessrio esvaziar
(flush) o contedo do pipeline que demorava tanto mais tempo conforme maior fossem o nmero de
estgios. Esta outra das razes que levou os microprocessadores atuais a baixarem o nmero de
estgios. Atualmente esse nmero encontra-se entre os 10 e os 20.
A Intel deixou de implementar esta tcnica na srie Core2, mas voltou em fora agora com a srie Core
i. Assim, por exemplo, um processador da srie Core i de 4 ncleos no SO aparecer com 8 ncleos.
8 ncleos, Core i7 HT
PROPOSTA DE TRABALHO
Abra o Gestor de Tarefas e verifique quantos processadores o seu SO detecta.
Aula 10
Publicado a 24/11/2013, 14:12 por Pedro Lima [ atualizado a 24/11/2013, 14:19 ]
Memria Cache
Os processadores esto continuamente a aumentar a sua velocidade
de relgio interno (Lei de Moore) e os componentes externos deixaram
muito cedo de acompanhar tal evoluo. Assim, o acesso RAM
tornou-se lento de mais, atrasando significativamente o trabalho do
processador. Para esse efeito, desenvolveu-se uma soluo baseada
em buffers de nome cache.
A cache trata-se de uma memria de alta velocidade que permite guardar
pequenas quantidades de dados, que tero maior probabilidade de vir a ser
necessrias ao CPU. Assim, na arquitetura bsica anterior teramos ainda de
incluir a memria cache, que seria acedida antes de se procurar (fetch) a
instruo na memria principal (RAM), atravs do que se denomina por unidade
de prefetch. Pretende-se assim, conseguir evitar ao mximo o recurso
memria RAM que torna o processo mais lento.
CACHE L1
ANALOGIA
Todos os dias no intervalo das aulas recorre ao bar da escola para comer. Pede
uma sande de fiambre e um sumo de laranja natural. No primeiro dia o
funcionrio do bar no o conhece e leva cerca de 1 minuto a preparar o seu
pedido. Ao fim de alguns dias, como pede sempre o mesmo, o funcionrio j
tem preparada a sua sande e o sumo, uma vez que sabe que voc ir aparecer
por volta da mesma hora com esse pedido. Em vez de esperara 1 minuto ter
imediatamente o seu pedido em cima do balco.
Nestes casos, a nvel de cache, diz-se que a cache falhou (cache miss) sendo
necessrio recorrer memria principal (ou outro nvel de cache).
CACHE L2
CACHE L3
EXERCCIO PROPOSTO
Responda s seguintes questes aula:
Aula 9
Publicado a 10/11/2013, 14:55 por Pedro Lima [ atualizado a 10/11/2013, 15:10 ]
Arquitetura de um microprocessador
Seguindo o raciocnio da operao anterior (operaes com a memria) vamos aproveitar o valor do
registo Ra, isto , o valor 23 do exemplo do ponto anterior.
Imaginemos que a instruo seguinte movia outro valor para o registo Rb atravs dos mesmos passos
enunciados anteriormente. Para este exemplo usaremos Rb=7.
Para comear vamos assumir que o registo IR j contm a instruo a executar e os registos Ra e Rb j
esto carregados com os valores 23 e 7 respetivamente (1)
O primeiro passo ser colocar o valor do registo Ra no acumulador entrada da ALU (2). Este registo
necessrio para realizar a funo de buffer, isto para aguentar o valor 23 at que o valor do registo Rb
seja colocado na outra entrada da ALU.
Assim que as duas entradas da ALU tenham os operandos carregados (3), esta efetua a soma (uma vez
que a instruo indica uma soma) e coloca-os num registo temporrio (4). O resultado desta operao
origina um tipo de varivel de estado (FLAGS) que ser diferente consoante o tipo de valor que for
devolvido pela ALU.
O registo temporrio tambm necessrio para servir o buffer. Acontece que o barramento de dados
ainda est ocupado com o valor de Rb e se no houvesse este buffer o resultado da operao seria
novamente introduzido na ALU, alterando o resultado final. Assim, quando o barramento ficar livre o
resultados finalmente escrito no registo Ra (5).
Interrupes
Por vezes o CPU interrompe o seu trabalho para atender outros pedidos. Para esse efeito, o CPU possui
linhas de interrupo prprias que disponibiliza para atender interrupes provenientes de dispositivos
exteriores (por exemplo, uma tecla premida).
Para atender a interrupo, tem de saber onde interrompeu o trabalho anterior, para posteriormente
poder retomar a execuo do programa principal. Assim, s possvel o CPU conseguir este feito, se
armazenar temporariamente a informao de que estava a tratar nesse momento em memria.
precisamente aqui que entra um registo especial de nome Stack Pointer (SP). Ser esse registo o
responsvel por guardar a informao relativa s interrupes numa zona especial da memria
denominada por Stack (pilha). A sua funo passa por guardar a informao de retorno
rotina que estava a ser executada antes da interrupo ter lugar, ou seja, o valor do PC (e por vezes
tambm valores dos registos internos). Desta forma, o PC fica livre para poder ser carregado com o
endereo da rotina que gerou a interrupo. Por exemplo, como analogia podemos pensar na seguinte
situao:
Imaginemos que necessita de colocar um quadro em sua casa na parte superior da parede, mas como
no suficiente alto para chegar zona onde se pretende realizar o furo ir necessitar de uma escada.
A analogia comea aqui. Tem de fazer o furo com uma mquina prpria mas aos mesmo tempo
necessita de subir a escada em segurana, no o podendo fazer a carregar com as ferramentas. A rotina
principal realizar o furo e a interrupo ter-se lembrado de que necessrio subir as escadas
e que para isso no o pode fazer a carregar com as ferramentas ao mesmo tempo. Assim, pedimos a
algum que nos segure nas ferramentas (Stack) enquanto subimos a escada (interrupo). Uma vez em
cima das escadas pedimos a algum que nos chegue as ferramentas (acede-se novamente Stack onde
est guardada a informao da rotina anterior) e precedemos com a realizao do furo (Program
Counter volta rotina anterior).
Instrues;
Dados;
Informaes que permita retomar a execuo de um programa previamente interrompido.
PERGUNTA
Qual o nome da zona especial da memria que tem como finalidade guardar informao relativa a
interrupes?
Aula 8
Publicado a 03/11/2013, 16:03 por Pedro Lima [ atualizado a 03/11/2013, 16:14 ]
Arquitetura de um microprocessador
Arquitetura bsica
Unidade de descodificao - esta unidade tem como funo indicar qual o tipo de instruo
(ler da memria, adicionar dois valores, etc.) unidade de controlo em linguagem que esta
entenda (descodificada).
PC - Program Counter (Registo de Programa) guarda o endereo prxima instruo a ser lida
da memria. Basicamente um apontador de posies de memria.
SP - Stack Pointer (Apontador de pilha) tem como funo guardar a informao de retorno
rotina que estava a ser executada antes de uma interrupo ter lugar.
R0...Rn - Registers (Unidade de registos) memrias internas onde so armazenados
temporariamente dados e resultados com que o CPU trabalha.
Acumulador - registo associado ALU que serve de buffer enquanto a outra entrada da ALU
ainda no tem um valor carregado. Em alguns processadores serve tambm para guardar o
resultado de cada operao.
Registo Temporrio - este registo necessrio para armazenar (servir de buffer) o resultado
de uma operao realizada pela ALU enquanto o barramento de dados se encontra ocupado.
Existem arquiteturas de microprocessadores que utilizam este registo na outra entrada da ALU
prescindindo dele na sada.
Acesso memria
Por sua vez (figura abaixo), a memria responde com o contedo dessa
posio de memria (neste caso uma instruo) colocando-o no barramento
de dados que o levar para o processador. Esta instruo copiada para o
IR (que passa a conter a instruo a ser executada no momento). O PC
tambm incrementado de um valor (passa a apontar para o endereo L),
para apontar para a prxima posio de memria que contm o operando a
retirar da memria. A parte identificada como Fetch (procura) fica concluda.
Fase de procura (Fetch) 3
Aula 7
Publicado a 20/10/2013, 13:18 por Pedro Lima
Execuo de um programa residente em memria
Para que o CPU identifica-se quais as posioes de memoria que continham instruoes ou dados, era
necessrio que estas estivessem distribui das de forma consecutiva.
Assim, o CPU sabe que a primeira leitura que fara da memoria ira conter o cdigo da instrucao
(exemplo: somar dois valores) e que a posio seguinte ira conter os operandos que foram indicados na
instruo.
Terminada a execuo desta instruo sabe automaticamente que na proxima posicao de memoria
encontrar-se-a a proxima instruco a executar.
Como se entendera, esta "poupanca" trouxe problemas sobretudo a ni vel de velocidade ja que dados e
instrucoes sao encaminhados em srie (von Neumann Bottleneck).
Existe contudo, uma arquitetura de nome Harvard que possui barramentos de dados e enderecos
distintos, bem como memoria de programa e dados independentes. Apesar de parecer uma alternativa
melhor, os aperfeicoamentos realizados sobre a arquitetura de von Neumann, fizeram com que esta
ultima, seja ainda hoje, a base dos nossos microprocessadores. No entanto, algumas caracteri sticas da
arquitetura de Harvard foram aproveitadas para melhorar a arquitetura de von Neumann. Por exemplo,
o microprocessador 80C51 usa os mesmos barramentos para aceder a memoria, mas este processador
distingue que parte da memria e referente a memoria de programa, e que parte e memoria de dados.
Descodificao da instrucao a executar. Identificacao dos operandos (caso existam) e qual o tipo
de operao a realizar (exemplo: somar dois valores).
Execuao da tarefa.
Todo o processo anterior ira repetir-se para a proxima instrucao. Todavia nem todos os programas
necessitam de percorrer todos estes passos. Resumindo, existe um ciclo que se denomina fetch-decode-
execute cycle (ciclo de procura-descodificacao-execucao) e que engloba todas as aoes realizadas por
um processador.
Ciclo fetch-decode-execute
Aula 6
Publicado a 17/10/2013, 14:28 por Pedro Lima
CPU (Central Processing Unit) - Unidade Central de Processamento - continuao...
Cada BUS tem um numero de pistas associadas que mais nao e do que a quantidade de bits que pode
transportar em simultaneo (exemplo: 16 pistas permitem o transporte de 16 bit de cada vez). Quanto
maior for o numero de pistas mais informao o CPU consegue enviar/receber do/para o exterior.
A forma como o processador interage com o exterior esta representado (de forma simplificada) no
esquema seguinte:
Como se pode verificar pelo esquema, apenas os barramentos de dados e controlo so bidirecionais. O
barramento de endereos tem sempre o sentido CPU --> Memria/E/S.
Apenas o CPU, pesquisa por endereos de memria ou nos dispositivos de E/S. O contrrio no faz
qualquer sentido, da ser unidirecional.
Os registos internos so pequenas memrias de um determinado tamanho (hoje em dia 32bit ou 64bit)
que definem o conjunto de bits com que trabalha o CPU de cada vez (por ciclo de relgio). Por outras
palavras, podemos dizer que atravs do tamanho dos registos possvel determinar a quantidade de
informao com que o CPU consegue lidar internamente por ciclo de relgio.
Os processadores a 64bit existentes hoje em dia, apenas tiram partido mximo da sua arquitetura se
correrem num sistema operativo (SO) a 64bit. Se dispusermos de um SO a 32bit este processador ir
trabalhar a "meio gs". Os registo internos do CPU so o tipo de memria mais rpida acessvel ao
processador. Estes so usados quando uma determinada informao necessria novamente no
decorrer de um instruo.
Por exemplo:
Para obter o resultado de 4x(2+3) o processador realiza primeiro a soma de 2+3 e em vez de guardar o
resultado na memria RAM, f-lo nos registos para que possa recorrer a esse valor mais rapidamente.
Esta ligao realizada atravs de um BUS interno (barramento interno) que interliga os diversos
componentes existentes no interior de um CPU, mas que tem a particularidade de funcionar
velocidade interna do CPU.
Existem diversos tipos de registos internos, alguns dos quais associados apenas a certos componentes
do CPU como se tera oportunidade de estudar mais a frente.
Como ja se referiu o CPU um circuito integrado (chip) que contm uma arquitetura prpria para o seu
funcionamento. Os numeros de transstores contidos no chip conferem-lhe a sua velocidade. Porm, a
velocidade a que nos referimos a velocidade de relogio interno (velocidade com que os dados so
processados no interior do processador), sendo a velocidade com que os dados viajam pela
motherboard assegurados pelo FSB (menor velocidade).
Devido aos processadores terem aumentado significativamente a sua velocidade de relogio interno no
foi possvel acompanhar esses ritmos nos barramentos exteriores ao CPU. Existem por isso, duas
velocidades distintas num PC. Imaginemos um exemplo: Um processador Pentium 2,4 GHz tem uma
velocidade interna de 2,4 GHz mas a motherboard funciona apenas a 266 MHZ. pelo que a velocidade
de BUS e de 266 MHZ.
Desta forma. por cada ciclo da motherboard passam 9 ciclos de processador ( 9 x 266MHz = 2.4 GHz).
Como vimos anteriormente o BUS tera um certo nmero de pistas, isto , um certo nmero de bits a
que opera. Para saber o numero de bits que passam no BUS por segundo basta realizar o produto
destes pela velocidade a que opera. Assim para um BUS que opere, a 266 MHz e uma interface de 16 bit
ira transferir por unidade de tempo:
A barreira de 64 bit para este tipo de barramento trouxe problemas na sincronizao e hoje so
empregadas tcnicas diferentes para a transferencia da informacao entre o CPU e o exterior. Em vez de
serem realizadas transferencia baseadas no FSB, isto e, enviando dados em paralelo a velocidade
imposta pelo barramento externo, os dados so enviados em srie por barramentos dedicados que
interligam os componentes ponto a ponto. Desta forma, possvel reduzir o numero de bits e mesmo
assim aumentar a quantidade de dados transferidos num determinado intervalo de tempo uma vez que
estes passam a ser transferidos a velocidades muito mais altas, no dependendo mais da velocidade do
barramento externo. Estas tecnicas serao aprofundadas mais a frente (Hypertransport e Quickpath
Interconnect).
EXERCCIO PROPOSTO
Para um FSB de 400Mhz e largura de 32bit, indique o total de dados possveis de transferir, por unidade
de tempo (em MBytes).
Aula 5
Publicado a 13/10/2013, 13:42 por Pedro Lima [ atualizado a 13/10/2013, 13:54 ]
Como so fabricados os microprocessadores?
A base de um microprocessador o silcio.
Silcio: um material semicondutor que indica que se pode comportar como um condutor ou isolador
de corrente eltrica. Basicamente apresenta as mesmas funes de um interruptor (aberto ou fechado).
1. A areia purificada e derretida a altas temperaturas onde em formato lquido enche um molde
cilndrico qual se d o nome de ingots (espcie de lingote de ouro mas em silcio)
A evoluo to repentina dos processadores deveu-se capacidade de cada vez mais as indstrias
conseguirem miniaturizar o processo de fabrico dos transstores.
10 m - Intel 4004
0,8 m - Primeiro pentium
0,032 m (ou 32nm)- core i
Para ter uma ideia de como so pequenos, podemos fazer a comparao com um cabelo humano que
tem cerca de 100m de espessura.
PROPOSTA DE TRABALHO
Procure na Internet os vdeos da Intel e AMD relativos aos fabrico de microprocessadores.