computadores - ritacris.com³dulo4a.pdf · o verdadeiro desenvolvimento dos computadores aconteceu...

138
Arquitetura de Computadores Módulo 4A – Arquitetura de Microprocessadores

Upload: voque

Post on 06-Nov-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura de ComputadoresMódulo 4A – Arquitetura de Microprocessadores

Page 2: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 1APRESENTAÇÃO

Page 3: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 2RESUMO HISTÓRICO

Page 4: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

3000 a.c. -­ ÁbacoA sua origem ainda não está bem definida e pensa-­se que foi desenvolvido de forma independente por várias civilizações, apesar dos primeiros registos terem surgido na China por volta de 3000 a.c.

Este objeto servia para ajudar a nos cálculos da época (adições e subtrações).Porém não era programável, logo não se podia considerar efetivamenteum computador.

Page 5: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

1801 -­ Cartão perfuradoApenas em 1801 foi desenvolvida a primeira e a verdadeira tecnologiade computação.

O seu funcionamento tinha por base os cartões perfurados. Conformeos furos no cartão a máquina realizava diferentes ações.

Page 6: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

1801 -­ Cartão perfuradoEsta tecnologiafoi desenvolvida paraautomatização dos teares têxteispor joseph-­Marie Jacquard

§ O cartão perfurado foi criado paraser um método onde as máquinasde tecer podiam executar as suastarefas de forma programada

§ Tecelões franceses de sedausavam a combinação de presença e ausência de furos no cartão para criar padrões no tecido

§ Jacquard criou um tear inteiramente automatizado e mecânico que fazia uso do cartãoperfurado

§ Assim, o cartão perfuradocontinha as ordens e padrões no qual o tear tinha de seguir.

Page 7: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

1943 -­ Válvulas de vácuoEntretanto até meados da Segunda Guerra Mundial os computadoresforam baseados no sistema anterior ou em interruptoreseletromecânicos.

Em 1943 aplicaram-­se as válvulas de vácuo aos computadorespermitindo substituir os anteriores interruptores, aumentando a rapidezde comutação (similar ao que hoje entendemos pela velocidade do processador).

Page 8: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

1952 -­ TransístorPorém, o grande passo deu-­se em 1948 com a invenção do transístor, muito embora o transístor que revolucionou os computadores apenastenha sido inventado em 1952.

Nesse ano, construiu-­se o primeiro computador à base de transístores.Este foi um grande passo para todas as áreas da ciência, tais como a matemática, física, medicina e astronomia.

Também outras ciências devem muito do seu desenvolvimento aoscomputadores (máquinas) construídos à base deste componente de silício "que vale mais do que ouro".

Page 9: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Vídeo sobre evolução histórica

Assistir ao vídeo 1

http://youtu.be/fQb72WVXJUA

Page 10: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 1Realize um trabalho de pesquisa sobre a evolução dos computadoresmais pormenorizado do que o aqui apresentado nesta aula.

Este trabalho pode ser realizado em:§ Processador de texto§ Apresentação gráfica§ Apresentação de vídeo

Tempo de execução:§ 2 aulas

Page 11: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 3PROPOSTA DE TRABALHO 1

Continuação

Page 12: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 4PROPOSTA DE TRABALHO 1

Conclusão

Page 13: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 5RESUMO HISTÓRICO

Continuação…

Page 14: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Um pouco mais ao pormenor...§ A era da computação começou com os cartões perfurados e com o tear de Joseph-­Marie Jacquard.

§ Esta ideia foi aperfeiçoada em 1890 para acelerar os censosrealizados nos Estados Unidos.

§ Na 2ª Guerra Mundial, às custas dos relés eletromecânicos, surgemos primeiros computadores:

Page 15: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Z3§ O Z3 foi desenvolvido em 1941 por Konrad Zuse, na Alemanha nazi.

Page 16: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

MARK 1§ O Mark1 desenvolvido nos EUA pela IBM (Internacional Business Machines), por Howard Aiken em 1943 e oficializado em 1944.

Características:

Comprimento -­ 17 metrosAltura -­ 2,4 metrosPeso -­ 5 toneladas

Page 17: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CuriosidadeA origem do nome “BUG”§ O primeiro "bug" encontrado num computador foi precisamente no Mark1.

§ Como eram utilizadas peças mecânicas (relés eletromecânicos) implicava a existência de componentes em movimento no interior do computador.

§ Cada relé funcionava como um interruptor que pode estar aberto oufechado consoante a necessidade do programa.

§ O Mark1 a determinada altura tinha deixado de funcionar e nenhumdos técnicos compreendia a razão, até que foi descoberta uma traça(à qual chamaram "bug") que impedia um relé de fazer contacto.

§ Desde então, esse termo serve para reportar qualquer problemaencontrado num programa de computador.

Page 18: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

COLOSSUSEntão em 1943, um matemático Inglês, Alan Turing, desenvolveu um computador para decifrar códigos alemães ultra-­secretos, substituindoos relés pelas válvulas de vácuo.

Page 19: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

COLOSSUSOs relés eletromecânicos consumiam muita energia e tornava as operações do computador muito lentas.

Colossus trabalhava com símbolos perfurados numa argola de fita de papel, que era inserida na máquina de leitura fotoelétrica, comparandoa mensagem cifradas com os códigos conhecidos até encontrar umacoincidência.

Processava 5.000 caracteres por segundo.

Todavia, esta era a sua única função não podendo ser aplicado a outro tipo de tarefas.

Page 20: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

ENIAC (Electronic Numerical Integrator and Computer)§ Era constituído por aproximadamente 18.000 válvulas.§ A sala tinha um ambiente controlado devido ao calor que as 18.000 válvulas irradiavam.

Page 21: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

ENIAC (Electronic Numerical Integrator and Computer)§ As válvulas danificavam-­se com alguma frequência e era necessárioverificar, sem qualquer tipo de indicação, qual das 18.000 válvulasteria fundido.

Page 22: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

ENIAC (Electronic Numerical Integrator and Computer)§ Podia ser programado para efetuar diversos tipos de cálculos, mas como não tinha dispositivos que funcionassem como memória levavaa que fosse necessário reconfigurar manualmente as ligações (efetuarum cálculo diferente do anterior poderia levar dias a configurar, mesmo tratando-­se de uma simples operação).

Page 23: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

EDVAC (Electronic Discrete Variable Automatic Computer)

Criado em 1949 pelos criadores do ENIAC, John Mauchly e PresperEckert, juntamente com Jonh von Neumann.Este computador operava com base em linguagem binária e, pelaprimeira vez, lia um programa residente em memória (cassetemagnética).

Page 24: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura Von NeumannJohn von Neumann propunha uma nova arquitetura:

Page 25: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Transístor§ O verdadeiro desenvolvimento dos computadores aconteceu devidoaos avanços na área dos semicondutores que levaram à invenção do transístor de junção (1952) pelos laboratórios Bell.

§ Este veio substituir as válvulas de vácuo.

Page 26: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Transístor

Page 27: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Vantagens dos transístores face às válvulas:

§mais pequenos;;

§ libertam menos calor;;

§ não necessitam de aquecer para trabalhar;;

§maior tempo de vida;;

§ operam a tensões mais baixas;;

§ custo de fabrico mais baixo;;

§menor consumo de energia;;

Page 28: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

TX-­0TX-­0 foi o primeiro computador construído, no MIT (Massachusetts Institute of Technology), à base de de transístores

Page 29: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CuriosidadeAs válvulas não deixaram no entanto de ser utilizadas, sendo ainda

hoje aplicadas sobretudo nas áreas da música, mais concretamente

nos amplificadores de guitarras e baixo.

Page 30: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 6Video

A evolução dos computadores

Page 31: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Vídeo sobre evolução dos computadores

Assistir ao vídeo 2

http://youtu.be/aCAyrscLwKM

Page 32: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 8EVOLUÇÃO DOS MICROPROCESSADORES

Page 33: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Intel 4004 (1971)Primeiro Microprocessador

§ Velocidade de relógio 740Khz de 4 bit§ 2300 transístores endereçavam 640 bytes de memória o mesmo queo ENIAC (embora este último ocupasse uma sala inteira)

§ Foi apenas aplicado a calculadoras e não a computadores

Page 34: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Intel 8080 (1974)§ Foi o primeiro a equipar um computador pessoal, o Altair 8800§ Velocidade de relógio 2MHz de 8 bits§ 6000 transístores endereçavam 64 KB de memória RAM

Page 35: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Intel 8086 (1978)§ Introduziu novas instruções (x86) que ainda hoje estão presentes nosprocessadores atuais Intel serie Core-­i e AMD Phenom II

§ Uma pequena alteração na sua arquitetura levou ao fabrico do processador 8088 que premitia fabricar computadores maiseconómicos.

Page 36: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Intel 8088 (1978)§ A Microsoft e a Intel devem o seu sucesso particularmente a estemicroprocessador.

§ Acontece que a IBM integrou o Intel 8088 no seu primeirocomputador pessoal, com um Sistema Operativo da Microsoft de nome MS-­DOS, a um preço acessível ao utilizador doméstico

Page 37: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Evolução dos microprocessadoresDesde então, a evolução dos microprocessadores centrou-­se emquatro áreas principais:

§ Aumento do número de transístores (miniaturização)

§ Aumento da velocidade de relógio interno

§ Aumento do número de bits com que os registos internos operam

§ Aumento do número de núcleos que constituem um chip (invólucro)

Page 38: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 2

Realize um trabalho de pesquisa sobre a evoluçãodos microprocessadores desde o 8086 até aosdias de hoje.

Realce apenas os modelos mais importantesdando ênfase às caraterísticas que os tornaramdiferentes.

Page 39: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 9PROPOSTA DE TRABALHO 2

Page 40: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 10COMO SÃO FABRICADOS OS MICROPROCESSADORES

Page 41: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fonte de silício§ A base de um microprocessador é o silício. Trata-­se de material semi-­condutor que indica que se pode comportar como um condutor ouisolador de corrente elétrica.

§ Basicamente apresenta as mesmas funções que um interruptor(aberto ou fechado) .

§ O silício pode ser encontrado na areia.

Page 42: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Como transformar areia nummicroprocessador?Apesar do fabrico de um microprocessador envolver mais de 300 passos podemos resumi-­los:

1. areia é purificada e derretida a altas temperaturas onde em formatolíquido enche um molde cilíndrico à qual se dá o nomede íngots(espécie de lingote de ouro mas em silício).

Page 43: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

2. Posteriormente são cortadas "fatias" deste cilindro às quais se dá o nome de Wafer.

§ Cada Wafer irá albergar centenas de microprocessadores, cada um com centenas de milhões de transístores.

§ Estes transístores são implantados em cada microprocessador baseando-­se nas mais sofisticadas técnicas existentes, e no final são interligados porfinas pistas de cobre que tornam estes transístores (antes separados) numcircuito integrado.

Page 44: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

3. No final, cada microprocessador é cortado do Wafer e implantadonum invólucro (chip) apresentando-­se como um microprocessadortradicional aos olhos de quem o vê.

Page 45: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Evolução dos CPU§ A evolução tão repentina dos processadores deveu-­se à capacidadede cada vez mais, as indústrias conseguirem miniaturizar o processodefabrico dos transístores.

§ Os transístores que faziam parte do Intel 4004 tinham 10 μm de tamanho.

§ O primeiro Pentium já contava com transístores de 0,8 μm e hoje emdia os core-­i são constituídos por transístores de 0,032 μm ou 32 nm (nanómetros).

§ Para se ter uma ideia de como são pequenos, podemos fazer a comparação com um cabelo humano que tem cerca de 100 μm de espessura.

Page 46: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 3

Procure na internet os vídeos da Intel e AMD relativos ao fabrico de microprocessadores.

Page 47: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 11Arquitetura de Von Neumann

Page 48: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura de Von NeumannJohn Von Neumann, matemático húngaro, contribuiu significativamentepara a criação do EDVAC e sobretudo para a a mudança de um paradigma que impedia o desenvolvimento na área dos computadores.

Ver mais em Wikipediahttp://pt.wikipedia.org/wiki/John_von_Neumann

John Von Neumann (1903-­1957)

Page 49: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 4Responde às seguintes questões sobre Von Neumann e a sua arquitetura:

1. Em que ponto principal é que a arquitetura de Von Neumann era tãoinovadora para a época?

2. Qual a linguagem que se propunha trabalhar com a sua arquitetura?3. Nesta arquitetura existiam 3 blocos distintos que funcionavamna parte

do processamento, como por exemplo a UC (Unidade de Control). Indique o nome e função de cada um destes 3 principais blocos.

4. Qual foi o primeiro computadora utilizar esta arquitetura? Em queano?

5. Esse primeiro computadorera baseado em relés eletromecânicos, válvulas de vácuo ou transístores?

6. Os atuais computadores ainda se baseiam nesta arquitetura? Justifique a sua resposta.

7. Apresente o esquema gráfico da arquitetura de Von Neumann.

Page 50: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 12CPU (Central Processing Unit)

Unidade Central de Processamento

Page 51: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPUO CPU é o cérebro do computador, por essa razão, quandoperguntamos a alguém qual o computador que possui, a respostacomeça sempre pelo tipo de processador (exemplo: Intel Core i7 970 3.2Ghz).

Vejamos então as características mais importantes associadas a um CPU:§ Velocidade de relógio -­ é a velocidade de processamento no interior do CPU;;

§ Largura dos canais de comunicação -­ forma como os diversoscomponentes do interior e exterior do CPU estão interligados.

A velocidade de um processador (velocidade do relógio) é muitoimportante para o comportamento do computador em aplicações maisexigentes. A sua velocidade é medida em Hz.

Page 52: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CuriosidadeO Termo Hz foi adoptado em homenagem a Heinrich Rudolf Hertz, físico alemão que pela primeira vez comprovou a existência de radiação electromagnética.

Heinrich Rudolf Hertz (1857-­1894)

Page 53: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU -­ CiclosHz ou ciclos por segundo (s-­1) é o inverso do período.

Assim 1 Hz = 1 ciclo/s

§ um CPU com velocidade de 100Hz executa 100 ciclos por segundo§ um CPU com velocidade de 3,2Ghz executa 3,2 biliões de ciclos porsegundo

Page 54: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU -­ Canais de comunicaçãoPara além da velocidade do processador, o seu desempenho estáassociado também à largura dos canais de comunicação.

Este depende dos seguintes fatores:

§ Registos internos -­ indica o número de bits com que o CPU trabalha de cada vez (8, 16, 32, 64 bits)

§ Barramentos de Endereços (Address Bus) -­ são linhas ou pistas de comunicação através das quais o CPU acede a posições da memória, oudispositivos de Entrada/Saída (E/S), para onde pretende enviar ou lerinformação. Basicamente podem ser compradas à morada da nossa casa, porque são barramentos onde circulam endereços. Por exemplo, um carteirosó pode deixar uma carta em nossa casa se souber a morada.

Page 55: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 5

Procura saber a velocidade do teu processador emHz e indica quantos ciclos por segundo executa.

Page 56: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 8CPU (Central Processing Unit)

Unidade Central de Processamento

CONTINUAÇÃO…

Page 57: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Acesso à memória§ No respeitante ao acesso à memória, o número de linhas de barramento define a quantidade de memória que o CPU consegueendereçar.

§ Para uma melhor compreensão, mostramos de seguida um esquemade um microprocessador que apenas utiliza um BUS de 8 bits. No total só pode endereçar 28=256 posições de memória.

Page 58: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Acesso à memória

Page 59: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Acesso à memóriaPor exemplo, o microprocessador 8086 tinha um BUS de endereços de 20 bits, logo só podia endereçar até 220=1,048,576 bytes (1MB) de memória RAM.

No Intel 486 (antes do Pentium 586) com um barramento de endereços de 32bits permitiaendereçar 232=4,294,967,296 bytes (4GB) de memória RAM

Mesmo que estejam disponíveis no sistema2MB de memória RAM o 8086 não os iráutilizar, uma vez que só consegue "ver" 1MB no total.

Page 60: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Barramento de dadosBarramentos de dados (FSB -­ Front Side Bus) -­ este é o barramentoque interliga o CPU e a memória RAM (ou North Bridge). Canal físico(pistas) de comunicação de dados entre o interior e o exterior do CPU. O número de pistas determina a quantidade de informação que o CPU pode mover de cada vez de/para a memória. Por este barramento, circulam ainda dados referentes a dispositivos de E/S (placa gráfica, USB, etc.).

Page 61: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

FBS –Front Side Bus

Page 62: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

FSB – Front Side Bus§ Exemplo de velocidade do FSB das MotherBoards

Page 63: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Barramento de dados

Comunicação entre o CPU e os diversos componentes de um computador

Page 64: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Testar Velocidade CPU1. Click ”Iniciar." Click ”Executar." Escrever "wbemtest". Click "OK.

2. Click ”Ligar….”

3. Escreva "root\cimv2" na caixa de texto em cima. Click ”Ligar.”

4. Click "Classes enum..." Click "Recursiva." Click "OK. “

5. Desça a lista até "Win32_Processor (CIM_Processor)" e faça duplo-­

click

6. Click ”Instâncias." Duplo-­click Win32_Processor.DeviceID="CPUO”.

7. Desça a lista de “propriedades” e verifique os parâmetros

"CurrentClockSpeed" and "MaxClockSpeed.”

Page 65: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 61. Para um processador com 36bits de barramento de dados, qual é o

total de memória que consegue endereçar?2. Qual a função do FSB (Front Side Bus)?3. Na arquitectura de uma MotherBoard, explique qual a diferença

entre os componentes NorthBridge e SouthBridge?4. Qual o tipo de memória e qual a sua respetiva frequência em MHZ

que é possível endereçar numa Motherboard com o FrontSideBusdo CPU a 400Mhz?

Page 66: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 9CPU (Central Processing Unit)

Unidade Central de Processamento

CONTINUAÇÃO…

Page 67: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Barramento de dadosResumindo, o processador comunica com os componentes exterioresatravés dos barramentos (BUS)

Page 68: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CPU – Barramento de dados§ Cada BUS tem um número de pistas associadas que mais não é do que a quantidade de bits que pode transportar em simultâneo (exemplo: 16 pistas permitem o transporte de 16 bit de cada vez). Quanto maior for o número de pistas mais informação o CPU consegue enviar/receber do/para o exterior.

§ Apesar de não estar diretamente associado ao desempenho do processador existe um outro barramento importante sobretudo para controlar as ações em curso.

BARRAMENTO DE CONTROLO

Page 69: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Tipos de barramentos§ Como se pode verificar pelo esquema, apenas os barramentos de dados e controlo são bidirecionais. O barramento de endereços tem sempre o sentido CPU -­-­> Memória/E/S.

§ Apenas o CPU, pesquisa por endereços de memória ou nos dispositivos de E/S. O contrário não faz qualquer sentido, daí ser unidirecional.

Page 70: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Barramento de controloÉ o barramento responsável por coordenar/sincronizar todo o fluxo de informação do sistema, como por exemplo, leitura e escrita na memória ou portas de E/S, atendimento de interrupções, etc.

A forma como o processador interage com o exterior está representado (de forma simplificada) no esquema seguinte:

Page 71: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Registos Internos§ Os registos internos são pequenas memórias 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 relógio). Por outras palavras, podemos dizer que através do tamanho dos registos é possível determinar a quantidade de informação com que o CPU consegue lidar internamente por ciclo de relógio.

§ Os processadores a 64bit existentes hoje em dia, apenas tiram partido máximo da sua arquitetura se correrem num sistema operativo (SO) a 64bit. Se dispusermos de um SO a 32bit este processador irá trabalhar a "meio gás".

Page 72: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Registos Internos

Os registos internos do CPU são o tipo de memória mais rápida acessível ao processador. Estes são usados quando uma determinada informação é necessária novamente no decorrer de um instrução.

§ 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 memória RAM, fá-­lo nos registos para que possa recorrer a esse valor mais rapidamente.

Page 73: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

BUS (barramento) Interno§ Esta ligação é realizada através 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.

Page 74: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Velocidade CPU vs Motherboard§ Como ja se referiu o CPU é um circuito integrado (chip) que contém uma arquitetura própria para o seu funcionamento. Os números de transístores contidos no chip conferem-­lhe a sua velocidade.

velocidade relógio interno > velocidade FSB

§ Devido aos processadores terem aumentado significativamente a sua velocidade de relógio interno não foi possível 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 é de 266 MHZ.

Page 75: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Velocidade CPU vs Motherboard§ Desta forma. por cada ciclo da motherboard passam 9 ciclos de processador ( 9 x 266MHz = 2.4 GHz). Como vimos anteriormente o BUS terá um certo número de pistas, isto é, um certo número de bits a que opera. Para saber o número 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 irá transferir por unidade de tempo:

266 x 16 = 4256 Mb/s (megabits por segundo)

ou sabendo que 16 bit = 2 Byte temos:

266 x 2 = 532 MB/s (MegaBytes por segundo)

Page 76: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

A dificuldade utrapassadaA barreira de 64 bit para este tipo de barramento trouxe problemas na sincronização e hoje são empregadas técnicas diferentes para a transferência da informação entre o CPU e o exterior.

Em vez de serem realizadas transferência baseadas no FSB, isto é, enviando dados em paralelo à velocidade imposta pelo barramento externo, os dados são enviados em série por barramentos dedicados que interligam os componentes ponto a ponto. Desta forma, é possível reduzir o número 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, não dependendo mais da velocidade do barramento externo.

Estas técnicas serão aprofundadas mais à frente (Hypertransport e Quickpath Interconnect).

Page 77: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 71. Existem três tipos de barramentos entre o CPU e a memória e os

dispositivos de I/O. Indique o nome de cada um deles.2. Qual a função do barramento de controlo?3. Qual dos três tipos de barramentos é unidirecional? Porquê?4. Hoje em dia a quantos bits trabalhos os registos internos do CPU?5. Se tivermos um sistema montado com um CPU de 64bits e um

sistema operativo for a 32bits, este funciona? Justifique.6. Apresente um exemplo onde se verifique a vantagem do uso dos

registos internos do CPU.7. Qual a grande vantagem dos barramentos internos do CPU em

relação aos externos?8. Indique quais os dois tipos de velocidades distintas de um PC?9. Calcule para um FSB de 400Mhz e largura de 32bit, o total de

dados possíveis de transferir, por unidade de tempo (em MBytes).10. Indique quais as técnicas que tiveram de ser implementadas para

fazer face aos problemas de sincronização, que existem hoje em dia, devido às diferentes velocidades entre o CPU e o exterior?

Page 78: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 10EXECUÇÃO DE UM PROGRAMA RESIDENTE EM MEMÓRIA

Page 79: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Um pouco de história§ Na arquitetura de von Neumann, de forma a minimizar os recursos envolvidos, as instruções e dados partilhavam a mesma memória e canais de comunicação (barramentos).

§ Para que o CPU identifica-­se quais as posições de memória que continham instruções ou dados, era necessário que estas estivessem distribuídas de forma consecutiva.

§ Assim, o CPU sabe que a primeira leitura que fará da memória irá conter o código da instrução (exemplo: somar dois valores) e que a posição seguinte irá conter os operandos que foram indicados na instrução.

Page 80: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Organização do conteúdo da memória no modelo de Von Neumann

Terminada a execução desta instrução sabe automaticamente que na próxima posição de memória encontrar-­se-­á a próxima instrução a executar.

Page 81: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Von Neumann Bottleneck

Como se entenderá, esta "poupança" trouxe problemas sobretudo a nível de velocidade já que dados e instruções são encaminhados em série.

Page 82: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura de Harvard§ Existe contudo, uma arquitetura de nome Harvard que possui barramentos de dados e endereços distintos, bem como memória de programa e dados independentes.

§ Apesar de parecer uma alternativa melhor, os aperfeiçoamentos realizados sobre a arquitetura de von Neumann, fizeram com que esta última, seja ainda hoje, a base dos nossos microprocessadores.

§ No entanto, algumas caracterí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 à memória, mas este processador distingue que parte da memória é referente à memória de programa, e que parte é memoria de dados.

Page 83: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Ciclo fetch-­decode-­executeIndependentemente das modificações introduzidas, a execução de um programa segue um determinado conjunto de etapas:

Page 84: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Ciclo fetch-­decode-­execute§ Busca (fetch) à unidade de memória da próxima instrução a ser executada.

§ Descodificação da instrução a executar. Identificação dos operandos (caso existam) e qual o tipo de operação a realizar (exemplo: somar dois valores).

§ Obtenção dos operandos (caso tenham sido especificados na instrução anterior) e carregamento destes nos registos internos do CPU (exemplo: valores a somar).

§ Execução da tarefa.

§ Armazenamento do resultado em memória ou em registos internos do CPU.

Page 85: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 81. Porque razão na arquitetura de von Neumann, as instruções e

dados partilhavam a mesma memória e canais de comunicação?2. De que forma é que o CPU conseguia identificar quando eram

instruções ou quando eram dados?3. Explique por palavras suas o que entendeu por Von Neumann

Bottleneck?4. Qual foi a arquitetura que surgiu para resolver o problema de Von

Neumann Bottleneck? 5. Como funcionava então a nova arquitetura descrita na pergunta 4?6. O que é o ciclo Fetch-­Decode-­Execute? Explique o seu

funcionamento de forma resumida.7. No ciclo Fetch-­Decode-­Execute de que forma é que os registos

internos são importantes?

Page 86: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 11ARQUITETURA DE UM MICROPROCESSADOR

-­ Arquitetura básica-­ Acesso à memória RAM

Page 87: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura básica§ Tradicionalmente os microprocessadores assentam na mesma arquitetura elementar constituída pelos blocos apresentados a seguir:

Page 88: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura básica§ Unidade de descodificação -­ esta unidade tem como função indicar qual o tipo de instrução (ler da memória, adicionar dois valores, etc.) à unidade de controlo em linguagem que esta entenda (descodificada).

§ PC -­ Program Counter (Registo de Programa) guarda o endereço próxima instrução a ser lida da memória. Basicamente é um apontador de posições de memória.

§ IR -­ InstructionRegister (Registo de Instruções) contém uma cópia da instrução a ser executada.

§ SP -­ Stack Pointer (Apontador de pilha) tem como função guardar a informação de retorno à rotina que estava a ser executada antes de uma interrupção ter lugar.

Page 89: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Arquitetura básica§ R0...Rn -­ Registers (Unidade de registos) memórias internas onde são 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 não tem um valor carregado. Em alguns processadores serve também para guardar o resultado de cada operação.

§ Flags (registos de estado) são responsáveis por guardar o estado do resultado de cada operação realizada pela ALU. Por exemplo, se houver overflow. Uma ALU que opere com palavras de 8 bit só lida com números de 0-­255. Uma soma de dois valores pode originar overflow 200+200=400 > 255. Isto é um valor que não pode ser representado apenas com 8 bit.

§ Registo Temporário -­ este registo é necessário para armazenar (servir de buffer) o resultado de uma operação 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 saída.

Page 90: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Acesso à memória§ Anteriormente explicou-­se de que forma um programa é lido na memória, particularmente como decorre o ciclo de procura, descodificação e execução (fetch-­decode-­execute cycle). Pretende-­se agora concretizar através de um exemplo (embora de forma muito simplificada) como se sucedem as etapas do ciclo mencionado, no interior do microprocessador.

§ O exemplo consiste na leitura de um conteúdo de memória (um operando) para um registo interno do CPU.

Page 91: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de procura (Fetch 1)

Page 92: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de procura (Fetch 1)§ O exemplo consiste na leitura de um conteúdo de memória (um operando) para um registo interno do CPU.

§ O Program Counter (PC) contém o endereço K da memória onde se encontra a próxima instrução "mover o valor (conteúdo) do endereço L da memória para o registo Ra". Consideremos que a posição de memória com endereço L tem no conteúdo o valor 23.

§ Na figura anterior, podemos verificar que o único registo interno a verde, de momento é o PC. Isto significa que se encontra preenchido neste caso, com um endereço de memória, o endereço K. Podemos também verificar que no endereço seguinte L da memória se encontra o valor 23, que se pretende que no final da execução da instrução seja copiado para o registo Ra.

Page 93: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de procura (Fetch 2)Numa segunda fase a

Unidade de Controlo (UC) coloca no barramento de endereços o conteúdo do

PC (K) e através do barramento de controlo envia um comando de leitura do conteúdo da

posição (endereço) K da memória.

Page 94: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de procura (Fetch 3)Por sua vez, a memória

responde com o conteúdo dessa posição de memória (neste caso uma instrução) colocando-­o no barramento

de dados que o levará para o processador. Esta instrução é copiada para o IR (que passa

a conter a instrução a ser executada no momento). O PC é também incrementado de um valor (passa a apontar

para o endereço L), para apontar para a próxima posição de memória que

contém o operando a retirar da memória. A parte identificada como

Fetch (procura) fica concluída.

Page 95: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de descodificação (decode)Segue-­se a

descodificação (decore).

A unidade de descodificação recebe a instrução presente no IR, descodifica-­a e

entrega-­a à UC numa linguagem que esta

compreenda.

Page 96: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Fase de execução (Execute)Finalmente a UC verifica qual a operação que é necessário realizar e passa à fase de execução (execute). Verifica então, que é necessário mover o conteúdo da posição Lda memória para o registo Ra. Assim, volta a usar o barramento de controlo para indicar que vai ler da memória. Esta responderá com o valor presente na posição da memória com o endereço L, colocando-­o no barramento de dados que o levará até ao registo Ra. O PC é novamente incrementado para apontar para a próxima instrução (M).

Page 97: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Todo o processo anterior será repetido para as próximas instruções.

Page 98: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 91. Tradicionalmente os microprocessadores assentam na mesma

arquitetura elementar.a) Indique a função de cada um dos componentes dessa arquitetura.

2. Explique, de uma forma muito simplificada, a forma de como um programa é lido na memória, através do ciclo de procura-­descodificação-­execução (fetch-­decode-­execute cycle).

Page 99: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Aula 12ARQUITETURA DE UM MICROPROCESSADOR

Operações com a ALU

Page 100: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Operações com a ALU§ Seguindo o raciocínio da operação anterior (operações com a memória) vamos aproveitar o valor do registo Ra, isto é, o valor 23 do exemplo do ponto anterior.

§ Imaginemos que a instrução seguinte movia outro valor para o registo Rb através dos mesmos passos enunciados anteriormente. Para este exemplo usaremos Rb=7.

§ Suponhamos que a próxima instrução era a soma de Ra=Ra+Rb.

Page 101: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

§ Para começar vamos assumir que o registo IR já contém a instrução a executar e os registos Ra e Rb já estão carregados com os valores 23 e 7 respetivamente (1)

Page 102: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

§ O primeiro passo será colocar o valor do registo Ra no acumuladorà entrada da ALU (2).

§ Este registo é necessário para realizar a função de buffer, isto é para aguentar o valor 23 até que o valor do registo Rb seja colocado na outra entrada da ALU.

Page 103: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

§ Assim que as duas entradas da ALU tenham os operandos carregados (3), esta efetua a soma (uma vez que a instrução indica uma soma) e coloca-­os num registo temporário (4). O resultado desta operação origina um tipo de variável de estado (FLAGS) que será diferente consoante o tipo de valor que for devolvido pela ALU.

Page 104: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

§ O registo temporário também é necessário para servir o buffer. Acontece que o barramento de dados ainda está ocupado com o valor de Rb e se não houvesse este buffer o resultado da operação seria novamente introduzido na ALU, alterando o resultado final. Assim, quando o barramento ficar livre o resultados é finalmente escrito no registo Ra (5).

Page 105: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 101. Explique, POR PALAVRAS SUAS, o funcionamento do CPU com a

a ALU numa determinada operação.

Pode seguir o exemplo da aula, mas com outros valores.

Page 106: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 13INTERRUPÇÕES

Page 107: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

INTERRUPÇÕES§ Por vezes o CPU interrompe o seu trabalho para atender outros pedidos. Para esse efeito, o CPU possui linhas de interrupção próprias que disponibiliza para atender interrupções provenientes de dispositivos exteriores (por exemplo, uma tecla premida).

§ Para atender a interrupção, tem de saber onde interrompeu o trabalho anterior, para posteriormente poder retomar a execução do programa principal. Assim, só é possível o CPU conseguir este feito, se armazenar temporariamente a informação de que estava a tratar nesse momento em memória.

§ É precisamente aqui que entra um registo especial de nome StackPointer (SP). Será este registo o responsável por guardar a informação relativa às interrupções numa zona especial da memória denominada por Stack (pilha).

Page 108: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Exemplo com analogiaImaginemos que necessita de colocar um quadro em sua casa na parte superior da parede, mas como não é suficiente alto para chegar à zona onde se pretende realizar o furo irá necessitar de uma escada.

A analogia começa aqui. Tem de fazer o furo com uma máquina própria mas ao mesmo tempo necessita de subir a escada em segurança, não o podendo fazer a carregar com as ferramentas. § Rotina principal: realizar o furo § Interrupção: ter-­se lembrado de que é necessário subir asescadas e que para isso não o pode fazer a carregar comas ferramentas ao mesmo tempo.

Assim, pedimos a alguémque nos segure nas ferramentas (Stack) enquanto subimos a escada (interrupção). Uma vez em cima das escadas pedimos a alguém que nos chegue as ferramentas (acede-­se novamente à Stack onde está guardada a informação da rotina anterior) e precedemos com a realização do furo (Program Counter volta à rotina anterior).

Page 109: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Passos que ocorrem durante uma interrupção1. O conteúdo do registo PC (endereço de memória) é guardado na

Stack (1)2. Guardam-­se os valores dos registos internos a ser utilizados

aquando da interrupção, igualmente na Stack (1). O apontador SPé incrementado para apontar para a próxima posição da pilha, isto é, para a posição imediatamente acima (2)

Page 110: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

3. Atender à interrupção passando o PC a apontar para a zona da memória onde está o programa a executar durante a interrupção (3)

4. Terminada a execução da interrupção (4), são recuperados da Stack os valores que os registos internos tinham antes da interrupção, o valor do PC e o apontador SP é decrementado (5)

5. Finalmente retoma a execução do programa interrompido (6)

Page 111: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Caso haja outra interrupção?No entanto, pode ocorrer outra interrupção quando já está a ser atendida uma interrupção.

Esta situação não tem limites e pode ocorrer tantas vezes quantas forem necessárias.

A ordem pela qual a informação das interrupções é armazenada na Stack e posteriormente extraída segue normalmente uma lógica LIFO(Last In First Out) ou melhor do tipo pilha (Stack). A última interrupção será a primeira a ser atendida.

Page 112: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Dados do CPU em memória

Resumindo, o CPU necessita de armazenar em memória:

§ Instruções;;§ Dados;;§ Informações que permita retomar a execução de um programa previamente interrompido.

Page 113: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 111. O que entende por Interrupção?2. Qual a função da Stack?3. A Stack tem um funcionamento do tipo LIFO. Explique o seu

funcionamento.4. O que significam as siglas SP e PC? Quais as suas funções?5. Qual a zona especial da memória que tem como finalidade guardar

informação relativa a interrupções?6. Que tipo de informação o CPU necessita de guardar na memória,

aquando de uma interrupção?

Page 114: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 14MEMÓRIA CACHE

Page 115: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Memória Cache – Porquê?§ Os processadores estão continuamente a aumentar a sua velocidade de relógio interno (Lei de Moore) e os componentes externos deixaram muito cedo de acompanhar tal evolução.

§ Assim, o acesso à RAM tornou-­se lento de mais, atrasando significativamente o trabalho do processador.

§ Para esse efeito, desenvolveu-­se uma solução baseada em buffers de nome cache.

Page 116: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Memória Cache – O que é?§ A cache trata-­se de uma memória de alta velocidade que permite guardar pequenas quantidades de dados, que terão maior probabilidade de vir a ser necessárias ao CPU.

§ Assim, na arquitetura básica anterior teríamos ainda de incluir a memória cache, que seria acedida antes de se procurar (fetch) a instrução na memória principal (RAM), através do que se denomina por unidade de prefetch.

§ OBJETIVOPretende-­se assim, conseguir evitar ao máximo o recurso à memória RAM que torna o processo mais lento.

Page 117: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Tipos de Memória Cache

§L1 -­ Cache de nível 1 (Level1);;

§L2 -­ Cache de nível 2 (Level2);;

§L3 -­ Cache de nível 3 (Level3);;

Page 118: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CACHE L1§ A cache L1 foi integrada num microprocessador pela primeira vez com o Intel 486DX.

§ Todas as caches L1 possuem uma capacidade muito reduzida (desde 8 KB até 64 KB), pois o seu objetivo é serem rápidas.

§ Esta encontra-­se integrada no próprio CPU, pelo que consegue acompanhar a sua velocidade interna, não dependendo da velocidade do BUS, como acontece com o acesso à memória RAM.

Page 119: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

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 funcionário do bar não o conhece e leva cerca de 1 minuto a preparar o seu pedido. Ao fim de alguns dias, como pede sempre o mesmo, o funcionário 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 balcão.

Esta é a forma de funcionamento de uma cache inteligente. Basicamente prevê o tipo de informação que o CPU irá necessitar. Normalmente 90% das vezes (cache it rate -­ taxa de sucesso) o CPU irá encontrar o que necessita na cache, aumentando assim, a performance do sistema.

§ Claramente que se mudar de ideias e em vez de pedir uma sande de fiambre pedir uma sande de queijo voltará a ter de esperar 1 minuto pelo seu pedido.

Nestes casos, a nível de cache, diz-­se que a cache falhou (cache miss) sendo necessário recorrer à memória principal (ou outro nível de cache).

Page 120: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CACHE L2§ A cache L2 foi desenvolvida para os 10% de vezes que o processador não encontrava a informação pretendida na cache de nível 1.

§ Inicialmente estas caches eram externas, isto é, com o acesso dependente da velocidade do BUS.

§ Atualmente este tipo de cache encontra-­se integrado no próprio microprocessador, tal como a cache L1, funcionando as duas à mesma velocidade (velocidade do relógio interno), reduzindo ainda mais o tempo de pesquisa, pode determinada informação.

§ Esta cache possui maior capacidade, geralmente 256 KB, uma vez que é menos vezes acedida. Garante igualmente que 90% das vezes, a informação procurada pelo CPU estará presente no seu conteúdo.

Page 121: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Cache L2 -­ Analogia§ Voltando à analogia do bar da escola, a cache L2 externa pode ser vista como a vitrina do bar. Ao pedir uma sande de queijo em vez de uma sande de fiambre se esta já estivesse preparada na vitrina já não seria necessário o funcionário estar a prepará-­la de propósito para si. Nesse caso, em vez de demorar 1 minuto demoraria apenas 15 segundos.

Page 122: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

CACHE L3§ A cache L3 está a ser cada vez mais utilizada principalmente devido às recentes arquiteturas de processadores que envolvem vários núcleos de processamento.

§ Estes núcleos geralmente partilham a cache L3 que é a de maior capacidade de todas, possuindo geralmente entre 4 a 8 MB.

§ Encontra-­se igualmente integrada no microprocessador.

Page 123: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Organização da cache no interior do CPU§ Como é possível verificar pela figura a cache de nível 3 é partilhada pelos núcleos de um CPU.

§ Desta forma o CPU consegue encontrar 99,9% das vezes o seu conteúdo na cache, não necessitando de aceder à memória RAM.

§ Este valor provém de 90% da cache L1 mais 9% (90% de 10%) da cache L2 mais 0,9% (90% de 1%) da cache L3.

Page 124: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 121. Descreva o que define a Lei de Moore.2. Indique quais os tipos de memória cache que conhece.3. Defina e distinga os que é a “Cache it rate” e a “Cache Miss”4. Indique a capacidade de memória de cada uma das caches.5. Indique o que distingue a cache L3 das outras.

Page 125: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

AULA 15TÉCNICAS DE PROCESSAMENTO PARALELO

Page 126: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Sobreaquecimento do CPU§ Aumentar a velocidade de relógio interno de um processador levou sobretudo a um problema incontornável: o sobreaquecimento.

§ Por outro lado, desenvolver um processador de um único núcleo para velocidades muito elevadas seria quase sempre subaproveitado, especialmente para o caso do utilizador comum (desperdício energético).

Page 127: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Pipelining§ Um processador executa cada programa de forma sequencial, passo a passo.

§ Na presença de duas instruções sequenciais, mas sem dependências entre elas, seria vantajoso que ambas fossem realizadas em simultâneo.

§ A primeira abordagem denominou-­se de pipelining

Pipeliningrepresenta o método que permite ao processador não necessitar de esperar o término de uma instrução para processar uma nova.

Page 128: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Pipelining§ Vejamos as diferenças de um CPU com e sem pipelining na execução das duas somas anteriores:

Page 129: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PipeliningEm termos do ciclo fetch-­decode-­execute (procura-­descodifica-­executa) é que residem as grande diferenças entre um CPU com e sem pipelining.

§ Vejamos como são atendidas duas instruções por um processador sem pipelining.

§ Como se pode verificar a segunda instrução apenas é atendida quando a primeira termina de ser executada.

Page 130: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Pipelining§ As mesmas instruções poderiam ser atendidas por um processador com pipelining da seguinte forma:

§ Verifica-­se que as mesmas instruções foram executadas em menos ciclos que a abordagem anterior, devido ao paralelismo de atendimento das instruções.

§ Se houvesse uma terceira instrução e um terceiro estágio de pipelining ela começaria a ser processada no terceiro ciclo juntamente com a fase de execução (primeira instrução) e descodificação (segunda instrução).

Page 131: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Throughput§ A partir dessa altura, seria possível realizar uma instrução por cada ciclo aumentado a "velocidade de processamento" (throughput)

Page 132: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Pipeline Deep§ No entanto, era possível ter em paralelo N número de instruções a serem processadas. Isto aumentava a velocidade de processamento (em termos de throughput) num fator igual ao número de estágios. O aumento de estágios denomina-­se de profundidade de pipeline (pipeline deep).

§ O pentium4 Prescot contava com 31 pipelines, mas os processadores seguintes optaram por baixar esse número.

Page 133: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Pipeline Deep§ A profundidade era também um inconveniente quando algo corria mal, sendo necessário esvaziar (flush) o conteúdo do pipeline que demorava tanto mais tempo conforme maior fossem o número de estágios.

§ Esta é outra das razões que levou os microprocessadores atuais a baixarem o número de estágios. Atualmente esse número encontra-­se entre os 10 e os 20.

Page 134: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Hyper-­Threading (HT)§ Outra técnica implementada para aumentar o rendimento de um processador foi o Hyper-­Threading (HT), pela primeira vez introduzido no Pentium IV HT. Basicamente o HT permite dividir um processador físico em dois processadores lógicos, que aos olhos do SO passa a ser visto como um processador de dois núcleos (dual core).

Page 135: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Hyper-­Threading (HT)§ Assim, o mesmo programa é dividido em threads que são tratados em simultâneo pelos dois núcleos virtuais, permitindo um melhor aproveitamento do CPU.

§ Porém, para que isso aconteça o programa a correr tem de prever a divisão em threads, algo que é realizado pelos programadores durante a implementação do código.

§ Hoje em dia, cada vez mais a programação é orientada a multi-­thread e também para multiprocessamento para que possa haver um melhor aproveitamento do processador.

Page 136: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Conclusão§ Claramente não é possível obter os mesmos resultados através de uma simulação de vários processadores lógicos (aproximadamente mais 20 a 25%) como seria possível obter com o mesmo número de processadores físicos.

§ No entanto, o custo é consideravelmente menor implementando um tecnologia HT face ao custo de microprocessadores físicos.

Page 137: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

Atualmente§ A Intel deixou de implementar esta técnica na série Core2, mas voltou em força agora com a série Core i.

§ Assim, por exemplo, um processador da série Core i de 4 núcleos (físicos) no Sistema Operativo aparecerá com 8 núcleos (lógicos).

Page 138: Computadores - ritacris.com³dulo4A.pdf · O verdadeiro desenvolvimento dos computadores aconteceu devido aos avanços na área dos semicondutores que levaram à invenção do transístorde

PROPOSTA DE TRABALHO 131. O que é que poderia levar a um sobreaquecimento do CPU?2. O que entende pela técnica de “pipeline”?3. Explique por palavras suas o que é o “throughput”4. O pentium4 Prescot contava com 31 pipelines, mas os

processadores seguintes optaram por baixar esse número. Porquê?5. Em que é que se baseava um processador com o Hyper-­

Threading (HT)? Qual foi o primeiro CPU a obter esta tecnologia?6. Atualmente os processadores Core i continuam a possuir a

tecnologia Hyper-­Threading (HT)? Explique como é que isto é “visto” pelo sistema operativo?