arquitetura de computadores - rafael henriques · arquitetura de computadores unidade 4 ......

14
Arquitetura de Computadores UNIDADE 4 Arquitetura de Microprocessadores

Upload: others

Post on 05-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Arquitetura de Computadores

UNIDADE 4

“Arquitetura de Microprocessadores ”

Sumário

• Técnicas de processamento paralelo;– Pipeline;– Hyper-Threading;

• Processadores de vários núcleos;

26-02-2019

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

O aumento de velocidade de processamento levou a um problema desobreaquecimento.Por outro lado fazer processadores com velocidades muito elevadas,faria que muitas vezes o processador seria desaproveitado, porque orestante hardware não conseguiu acompanhar a evolução dosprocessadores e levaria a um desperdício energético desnecessário.

Como vimos anteriormente o processador processa instrução ainstrução isto é, passo a passo. Na presença de duas instruçõesindependentes era vantajoso que ambas fossem processadas emsimultâneo.

Assim surgiu uma primeira abordagem que se chamou Pipelining,método que permite ao processador executar uma nova instrução semprecisar de esperar pelo término da anterior.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Por exemplo: duas instruções sequenciais X+Y e Z+K, em nadadependem uma da outra. Antes da introdução dos processadores x86,elas eram processadas de forma sequencial, os processadorescomeçavam por processar X+Y e depois de terminar iniciavam oprocessamento de Z+K.Com a introdução da tecnologia de pipeline e dependendo do número deestágios é possível atender a mais de uma instrução em simultâneo.

Pipelining

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

A grande diferença que existe entre processadores com ou sempipeline, encontra-se no ciclo fetch-decode-execute (procura-descodifica-executa).

Num processador sem pipeline para processar duas instruções, elasseriam atendidas da seguinte forma:

Pipelining

Como podemos verificar a segunda instrução só é atendida após a primeira terminar.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Num CPU com pipeline as mesmas duas instruções dão atendidas daseguinte forma:

Pipelining

Como podemos verificar na figura, a execução das duas instruções precisa de menos dois ciclos para terminar. Isto só é possível pelo paralelismo no atendimento das instruções.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Se houver uma terceira instrução e um terceiro estágio de pipeline, afase de procura tem de ser iniciada ao mesmo tempo que a primeirainstrução é executada e a segunda instrução é descodificada.

Pipelining

❖ Como podemosverificar a partir daterceira instrução épossível o processadorexecutar uma instruçãopor ciclo. Aumentandoassim a velocidade deprocessamento -Throughput

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Quanto mais estágios de pipeline mais instruções poderiam ser atendidas,para isso teríamos de partir as instruções em mais fases do que Fetch –Decode – Execute, ocupando cada uma menos tempo por ciclo, isto é nomesmo numero de estágios pretendidos.O número de estágios existentes denomina-se de profundidade deestágios (Pipelining Deep).

Pipelining

❖ O Pentium 4 Prescot, tinha 31 estágios depipeline, no entanto, levava a um consumo extra deenergia e a uma dificuldade de sincronizar todos osestágios entre si. Porque, as fases em que eramdivididas as instruções, não tinham o mesmo tempode processamento, o que provocava tempos deespera, levando ao abaixamento do numero depipelines (Pipeline Stall).

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Quanto mais estágios de pipeline mais instruções poderiam ser atendidas,para isso teríamos de partir as instruções em mais fases do que Fetch –Decode – Execute, ocupando cada uma menos tempo por ciclo, isto é nomesmo numero de estágios pretendidos.O número de estágios existentes denomina-se de profundidade deestágios (Pipelining Deep).

Pipelining

❖ A profundidade também era um inconvenientepois, quando algo corria mal era necessário esvaziar(Flush) o conteúdo de pipelining, o que durava maistempo quanto mais fossem o número de estágios.

Os processadores seguintes têm menos estágiosentre 10 a 20.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

É outra técnica usada para aumentar o rendimento de um processador.Implementada pela primeira vez no Pentium 4 HT e que permite dividir umprocessador físico em dois processadores lógicos para que aos olhos dosistema operativo possa ser visto como dois núcleos (dual core). Assim omesmo programa é dividido em threads que são tratadas em simultâneopelos dois núcleos virtuais. Porém para que isto aconteça o programa temde prever a divisão em threads, algo que é realizado pelos programadoresdurante a implementação do programa.

Hyper-Threading

❖ É claro que não é possível obter o mesmos resultados com asimulação de processadores virtuais, em comparação se tivéssemosprocessadores reais, este teriam um desempenho superior em mais 20 a25%, no entanto o custo é consideravelmente menor.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Hyper-Threading

❖ A intel deixou deimplementar esta técnicapartir do dual core. Masvoltou em força com a sériei.❖ Por exemplo umprocessador core i de 4núcleos, no sistemaoperativo aparecerá com 8núcleos.

MicroprocessadoresTÉCNICAS DE PROCESSAMENTO PARALELO

Exercício

❖ Abre o Gestor detarefas e verifica quantos,qual o processadorinstalado? Quantos núcleosvirtuais e físicos possui, ocomputador onde estás atrabalhar?

MicroprocessadoresPROCESSADORES COM VÁRIOS NÚCLEOS

Como vimos anteriormente, o aumento de velocidade trouxe problemas noaquecimento do processador. Se os fabricantes continuassem a apostarnessa temática iam obrigar o utilizador a fazer pausas (desligar o PC)para que esse arrefece-se e só depois poderiam continuar a trabalhar, emanalogia era o mesmo que comprar um Ferrari para ir apenas ao café quefica a 1 km de distância…

Tanto a Intel como a AMD, passaram a fabricar processadores com atecnologia HT, isto é com cada núcleo simula dois processadores virtuais.O número de núcleos físicos têm vindo a aumentar. A figura seguintemostra dois processadores que cada um possui 6 núcleos físicos.Simulando doze núcleos virtuais.

Microprocessadores

Exercício

❖ Pesquisa no sítio Webdos fabricantes Intel eAMD, quais são os últimosdois processadores queproduziram. Refere onúmero de núcleos físicos evirtuais de cada um e a quepreços a que podemosadquirir.

PROCESSADORES COM VÁRIOS NÚCLEOS