oficina da pesquisa · arquitetura risc resulta em processadores com poucas instruções (em geral,...

46
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br

Upload: vongoc

Post on 25-Jan-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

OFICINA DA PESQUISA

PROGRAMAÇÃO APLICADA À

CIÊNCIA DA COMPUTAÇÃO

Prof. Msc. Carlos José Giudice dos Santos

[email protected]

www.oficinadapesquisa.com.br

Page 2: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

RELAÇÃO ENTRE PROGRAMAÇÃO

E ARQUITETURA DO

COMPUTADOR

Page 3: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESQUEMA DE UM COMPUTADOR

Uma Unidade Central de Processamento (CPU –Central Processing Unit) é a parte principal de umcomputador, sendo responsável pelo execução deprogramas que fazem do computador uma máquinaextremamente versátil.

É importante notar que a CPU é um circuitoeletrônico chamado processador. Entretanto,dentro de um computador existem váriosprocessadores (em placas de comunicação,gráficas e de som, em discos rígidos, etc). O quechamamos de CPU é o principal processador docomputador, e que controla todos os outros.

Page 4: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESQUEMA INTERNO DE UM COMPUTADOR

���� CPU

UC �Unidade de Controle (Control Unit)

ULA � Unidade de Lógica e Aritmética (Aritmethic Logic Unit)

REGS � Registradores (Registrators)

Dispositivos de E/S �Dispositivos de Entrada/Saída

(I/O Devices � Input/Output Devices)

� Barramento � BUS

Para informações mais detalhadas, recomendo uma visita ao site do Laércio Vasconcelos:

http://www.laercio.com.br

Page 5: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTOS DE UM COMPUTADOR

Uma CPU só se comunica com outros dispositivos pormeio de barramentos. De acordo com Vasconcelos(2003), “barramentos são conjuntos de sinais digitaisatravés dos quais o processador transmite e recebedados de circuitos externos”.

Em um computador existem basicamente 3 tipos debarramentos:

• Barramento do processador

• Barramento de memória

• Barramentos de E/S

Page 6: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTO DO PROCESSADOR - I

Conhecido também como barramento local (Local Bus)ou barramento de sistema, é aquele que faz contatodireto com o Chipset (dividido em North Bridge eSouth Bridge), que estudaremos mais tarde. É atravésdo Chipset que a CPU se comunica com a memória(Barramento de Memória) e com outros dispositivos(Barramentos de E/S, por exemplo, ISA, EISA, PCI,AGP, AMR, IDE, SCSI, USB, Firewire, entre outros).

O Barramento do Processador é dividido em trêsgrupos, a saber: o Barramento de Dados, oBarramento de Endereços e o Barramento deControle. Um esquema destes barramentos pode serconferido no próximo slide.

Page 7: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTO DO PROCESSADOR - II

Page 8: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTO DO PROCESSADOR - III

Barramento de Endereços: de acordo comVasconcelos (2003), este é o barramento através doqual a CPU especifica de qual interface ela vaireceber ou transmitir dados, sendo também utilizadopara endereçar memória. Os processadores modernoscostumam ter de 36 a 40 bits para endereçamento,suficientes para endereçar de 64 GB a 1 TB dememória física. Utiliza modo de transmissão Simplex.

Barramento de Dados: utilizado para receber ouenviar dados, funciona em modo de transmissão Half-Duplex (enviam e recebem, mas não simultanemente).Os processadores atuais possuem barramentos dedados de 64 a 128 bits.

Page 9: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTO DO PROCESSADOR - IV

Barramento de Controle: de acordo com Vasconcelos(2003), este barramento contém vários sinais que sãonecessários ao funcionamento do processador. Entreoutras atribuições, tem a função de controlar otráfego do barramento de dados. Alguns dos seussinais são de saída, outros são de entrada, outros sãobidirecionais. Existem sinais para indicação do tipo deoperação (leitura ou escrita), sinais se especificaçãode destino/origem de dados (memória ou E/S), sinaisde sincronismo, sinais de interrupção, sinais quepermitem a outro dispositivo tomar o controle dobarramento, sinais de clock, sinais de programação ediversos outros.

Page 10: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTO DE MEMÓRIA

Em CPUs antigas, a memória era ligadadiretamente ao processador, e funcionava emsincronia. Com o crescimento impressionantede velocidades das CPUs, a memória passou ase comunicar com a CPU por meio do Chipset,de forma assíncrona (VASCONCELOS, 2003).

Em geral, o barramento de memória é utilizadotambém para trafegar dados, por meio de umatécnica chamada de multiplexação (que permiteque um único canal seja compartilhado por maisde um sinal).

Page 11: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTOS DE E/S - I

São barramentos utilizados para a CPU se comunicarcom placas ou interfaces, podendo (ou não) seracessados por meio de slots. Os mais comuns são:

AGP: Lançado pela Intel em 1997, o AceleratedGraphics Port foi criado para acelerar o desempenhode placas de vídeo em PCs equipados com o recémlançado Pentium II (ver figura) �.Este padrão evoluiu para o AGP8x e o AGP Pro. Começa a perderterreno para o Fast PCI.Fonte:http://www.laercio.com.br/artigos/hardware/hard-013/hard-013.htm

Page 12: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BARRAMENTOS DE E/S - II

PCI: O Peripheral Component Interconnect é o padrãomais utilizado para barramento de E/S e para slots deexpansão. Utilizando estes slots, pode-se conectarplacas de vídeo, placas aceleradoras gráficas, placasde captura de vídeo, placas de rede, placas deinterface (SCSI, por exemplo), etc. Em geral, asinterfaces para controle de disco rígido e paracomunicação USB utilizam estetipo de barramento, apesar de nãousarem slots. Este padrão evoluiupara o Fast PCI. Ver figura �.Fonte:http://www.laercio.com.br/artigos/hardware/hard-013/hard-013b.htm

Page 13: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

FUNCIONAMENTO DE UMA CPU – CICLO

DE BUSCA – DECODIFICAÇÃO - EXECUÇÃO

Toda CPU funciona de acordo com um ciclo desete estágios, a saber:1. Trazer a próxima instrução (no caso inicial, a

primeira instrução) da memória para o registradorde instruções do processador;

2. Atualizar o Contador de Programa (PC � ProgramCounter ou IP � Instruction Pointer) para indicaro endereço de memória que contém a próximainstrução;

3. Decodificar a instrução;

Page 14: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

FUNCIONAMENTO DE UMA CPU – CICLO

DE BUSCA – DECODIFICAÇÃO - EXECUÇÃO

4. Se a instrução necessitar de operandos,determinar os endereços de memória que contémtodas as palavras necessárias à execução dainstrução;

5. Trazer as palavras para os registradores de dados

6. Executar a instrução;

7. Voltar ao primeiro estágio do ciclo e continuar aexecutar esse ciclo até o término do programa.

Page 15: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [01]O que são interrupções? De acordo com Kinoshita etal (2004), uma interrupção é um evento externo quefaz o processador parar a execução do programa queele está executando e desvia a execução para umbloco de código chamado rotina de interrupção(normalmente são decorrentes de operações de E/S).

Este pedido de interrupção é feito diretamente porhardware através de um sinal chamado de IRQ(Interrupt Request – Requisição de interrupção).

Ao terminar o tratamento de interrupção o controleretorna ao programa interrompido exatamente nomesmo estado em que estava quando ocorreu ainterrupção.

Page 16: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [02]Cada tipo de interrupção tem um código diferente deacordo com a sua origem e hierarquia. Nos PC’s atuaispodemos ter até 256 vetores de interrupção.

Temos vários tipos de interrupção, mas as duasprincipais são:

NMI (Non Maskable Interrupt – Interrupção nãomascarável): São interrupções que nunca podem serinibidas. São oriundas de hardware e utilizadas emoperações essenciais do PC.

IRQs: São as interrupções gerais do PC, e podem serhabilitadas ou inibidas através de um Flag (IF).

Page 17: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [03]Quando vários pedidos de interrupção de hardwareocorrem simultaneamente, o processador deve decidirquem será atendido primeiro. Tal decisão deve serbaseada na urgência ou importância de cada eventoque causou o pedido.

O número de uma IRQ indica o seu grau deprioridade, quanto menor o número maior será aprioridade.

Por exemplo, o primeiro PC tinha apenas 8interrupções, em que a IRQ de maior prioridade era aIRQ0 (Clock da placa mãe), e a de menor prioridadeera a IRQ7 (Porta Paralela).

Page 18: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [04]O esquema de interrupções do PC é mostrado abaixo:

0 – Sinal de clock do relógio

1 – Teclado

2 – Livre

3 - Com2

4 – Com1

5 – Disco rígido

6 – Drive de disquete

7 – Porta paralela

Page 19: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [05]A partir do 286, os PC´s passaram a ter 16 IRQ´s,numeradas de 0 a 15. Houve a inclusão de um segundocontrolador de IRQs cascateado ao que já existia noPC, ligado à IRQ2 que estava livre.

Fonte: CEFET-RS – Profs. Roberta Nobre e Sandro Silva

Page 20: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [06]Com o aumento das IRQ´s, ocorreu uma alteração naordem de prioridades. Sendo o segundo controladorligado ao IRQ2 do primeiro controlador, todas asIRQ´s do segundo controlador de interrupções temmaior prioridade que as IRQ´s de 3 a 7 do primeirocontrolador de interrupções.

Mesmo com o aumento para 16 endereços de IRQ, enão mais aumentado até hoje, surgiram problemas deconflitos de IRQ, ou seja, dois dispositivos utilizandoa mesma IRQ.

A execução de interrupções necessita tanto de açõesde hardware como de software, as quais, podem servisualizadas pelo seguinte fluxograma:

Page 21: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

TRATAMENTO DE INTERRUPÇÕES [07]

Fonte: Kinoshita et al (2004)

Page 22: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURAS DE CPU: RISC E CISC (I)

RISC é uma sigla que significa Reduced InstructionSet Computer, que pode ser traduzido como Conjunto(ou Tabela) Reduzido de Instruções de Computador. Aarquitetura RISC resulta em processadores compoucas instruções (em geral, menos de 50), pequenas,mas extremamente rápidas.

CISC significa Complex Instruction Set Computer, ouConjunto Complexo de Instruções de Computador. Aarquitetura CISC resulta em processadores commuitas instruções (em geral, mais de 150), grandes,mas comparativamente mais lentas.

Page 23: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURAS DE CPU: RISC E CISC (II)Qual arquitetura é melhor? Esta discussão é muitoparecida com discussões futebolísticas. Quem émelhor? Brasil ou Argentina? Cruzeiro ou Atlético?São Paulo ou Coríntians?

Com certeza, a resposta será diferente dependendoda pessoa a quem você perguntar, mas vamos veralgumas características.

Um processador RISC tem compromisso com avelocidade de processamento. São poucas instruções:elas são pequenas, mas são muito, muito rápidas. Dámuito mais trabalho programar em processadoresRISC. O código de máquina usado nesse tipo dearquitetura é traduzido.

Page 24: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURAS DE CPU: RISC E CISC (III)

Um processador CISC tem compromisso com afacilidade de implementação de programas. Sãomuitas instruções, que são geralmente grandes elentas, mas dá muito menos trabalho programar, poiso código de máquina usado nessa arquitetura éinterpretado.

Processadores RISC são os preferidos emworkstations, mainframes e supercomputadores.Processadores CISC são os preferidos demicrocomputadores. Ultimamente, os projetistasestão construindo processadores híbridos, usando asduas arquiteturas. Esta tendência começou com o 486e continua evoluindo, como veremos em breve.

Page 25: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (I)

Uma CPU deve ser o mais rápida possível. Quandopensamos o que fazer para que uma CPU seja maisrápida, a resposta mais provável é aumentar o seuclock, afinal de contas, quanto maior o clock deuma CPU, menor o tempo de ciclo, o que resulta emum maior número de instruções executadas porsegundo.

Uma das maneiras de se medir a velocidade deuma CPU é em MIPS (Milhões de Instruções porSegundo). Assim, um computador de 500 MIPS écom certeza cinco vezes mais rápido que um de100 MIPS.

Page 26: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (II)

O problema de aumentar o clock é a quantidade deenergia que se gasta: quanto maior o clock, maior seráa energia gasta pela CPU, e maior também será adissipação de calor. Então só o aumento do clock não éa solução para aumentar a velocidade deprocessamento. Além disso, atualmente estamosmuito perto do limite máximo de clock que a atualtecnologia de construção de microprocessadorescomerciais pode suportar. Hoje, o limite teórico éalgo próximo de 5 GHz, mas são raríssimosprocessadores que superam 4 GHz na prática.

Vamos ver que estratégias os projetistas costumamutilizar para contornar esse problema:

Page 27: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (III)

1. Todas as instruções devem ser executadasdiretamente por hardware: instruçõesexecutadas apenas por hardware são mais simplese extremamente rápidas. Por este motivo, são abase da arquitetura RISC. Na arquitetura CISC, ofato de ter uma fase de interpretação deinstruções é um fator a mais para a demora noprocessamento. Se um processador CISC pudersubdividir suas grandes instruções em instruçõesmenores que possam ser processadas diretamenteem hardware (em um núcleo RISC), consegue-seaumentar a velocidade de processamento.

Page 28: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (IV)

2. Aumentar o número de registradores:uma vez que o acesso à memória principal émuito lento, se você puder aumentar onúmero de registradores, o processamentoficará muito mais rápido. Como existe umlimite para isso, a solução encontrada foicriar uma área de memória de acessorápido dentro do próprio processador. Estaárea de memória é conhecida como CACHE.Vamos estudar em detalhes ofuncionamento dela na próxima unidade.

Page 29: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (V)

4. Otimizar o código de máquina: se todainstrução que necessitasse de operandosconseguisse ser executada buscando essesoperandos nos registradores e a elesretornando, a execução seria muito rápida.Assim, deve-se evitar instruções que façamacesso à memória principal. Esse princípio dizque apenas as instruções LOAD (carregar em umregistrador o conteúdo de um endereço dememória) e STORE (armazenar na memória oconteúdo de um registrador) devem referenciara memória. Esta estratégia é um dos princípiosda arquitetura RISC.

Page 30: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ESTRATÉGIAS PARA PROJETOS DE CPU’s (VI)

5. Maximizar a taxa de execução deinstruções: nos primeiros processadores, umainstrução só podia ser executada quando ainstrução anterior já tivesse acabado. Se vocêpuder executar mais de uma instrução ao mesmotempo, a velocidade de processamento aumenta.O nome para isso é paralelismo (a nível deinstrução e a nível de processador). Pipelining,arquitetura superescalar, processamentomatricial, processamento vetorial, multithreadingsão algumas destas implementações que permitemrealizar esta façanha. É o que veremos emseguida.

Page 31: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

PIPELININGPipelining é o nome que se dá ao paralelismo ao nível deinstrução. Sua implementação se dá através de uma estruturachamada pipeline. Basicamente, é uma divisão de tarefas quepermite a execução de mais de uma instrução:

Nesse pipeline (típico do 486), a cada ciclo de clock uma instrução pode ser completada (em tese), o que pode resultar em um ganho de velocidade 5 vezes maior.� Tempo � � Tempo � � Tempo �

Page 32: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA SUPERESCALAR (I)Se um pipeline é bom, dois (ou mais) pipelines devemfuncionar melhor ainda. Este é o princípio da arquiteturasuperescalar. A partir do processador Pentium, a Intelpassou a utilizar este tipo de estrutura:

O pipeline de 5 estágios do 486 (slide anterior) as vezesdemorava ao executar alguma instrução, o que atrasava todaa fila. No Pentium, os projetistas fizeram um pipeline parainstruções mais complexas (demoradas) e um outro parainstruções mais simples (princípio da arquitetura RISC).

Page 33: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA SUPERESCALAR (II)Com o tempo percebeu-se que o estágio 4 (S4 � execução deinstruções) era o gargalo de todo o processo. Quando não haviaum par de instruções compatíveis, o processamento parava emS4 até que uma instrução mais complexa fosse completada.Para resolver isso, no Pentium II em diante, o pipeline foimodificado, conforme figura abaixo:

O estágio 4 (S4) passou a contar com várias ULAs para nãopermitir que instruções inacabadas atrasassem a fila.Variações deste tipo de pipeline são utilizadas até hoje.

Page 34: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

MULTITHREADING - I

A Multithreading é uma técnica que permite aumentara velocidade de processamento de uma CPU, e osuporte a esta técnica deve estar previsto no SO.

Threads são processos que possuem a capacidade dese dividirem em dois ou mais processos concorrentesque podem ser executados simultaneamente.

Se o processador possuir um único núcleo, essadivisão ocorre de maneira virtual (multithreadingvirtual), em geral por linha de execução ou porchaveamento, dando a impressão de que doisprocessos estão sendo executados simultaneamente.

Page 35: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

MULTITHREADING - IIO Multithreading virtual foi uma tecnologia criadapela Intel com o nome de Hyper-Threading (HT). Estatecnologia permite simular dois processadoresvirtuais em um único processador físico (de apenas umnúcleo). Foi introduzida primeiramente no Xeon(mercado de servidores) e depois no Pentium 4.

O Multithreading real acontece quando umprocessador possui mais de um núcleo físico. Nessecaso, dois (ou mais) processos podem realmente serexecutados simultaneamente. Um bom exemplo deaplicação dessa técnica são em jogos: um processopode atualizar a imagem enquanto outro processoatualiza o áudio do jogo.

Page 36: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

MULTITHREADING - IIO Multithreading virtual foi uma tecnologia criadapela Intel com o nome de Hyper-Threading (HT). Estatecnologia permite simular dois processadoresvirtuais em um único processador físico (de apenas umnúcleo). Foi introduzida primeiramente no Xeon(mercado de servidores) e depois no Pentium 4.

O Multithreading real acontece quando umprocessador possui mais de um núcleo físico. Nessecaso, dois (ou mais) processos podem realmente serexecutados simultaneamente. Um bom exemplo deaplicação dessa técnica são em jogos: um processopode atualizar a imagem enquanto outro processoatualiza o áudio do jogo.

Page 37: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - IA motivação para o uso do poder de processamentoparalelo é a demanda cada vez maior de aplicações quenecessitam de grande poder de processamento.Utilização militar (projeto de aeronaves, subamarinose armas nucleares), pesquisas científicas (porexemplo, sequenciamento genético), simulaçõesaerodinâmicas, prospecção mineral e petrolífera,modelagem climática, sistemas especialistas e deinteligência artificial são algumas das aplicações quenecessitam de grande poder de processamento.

Flynn propôs uma classificação de arquiteturasparalelas de computadores com base na arquiteturade instruções: SISD, SIMD, MISD e MIMD.

Page 38: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - IISISD (Single Instruction Single Data): nesta classe,um único fluxo de instruções opera sobre um únicofluxo de dados. É a conhecida máquina de vonNeumann, sendo o modelo de computador usado daSegunda Guerra Mundial até os primeirosmicroprocessadores (até o Pentium, inclusive).

Apesar dos aplicativos estarem organizados como umasérie de instruções sequenciais, elas podem serexecutadas de forma sobreposta em vários estágiosusando um pipeline. Arquiteturas SISD possuemapenas uma Unidade de Controle, mas podem ter maisde uma unidade funcional.

Page 39: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - III

Disponível em: http://www.rc.unesp.br/igce/demac/balthazar/gpacp/bibliografia

Page 40: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - IVSIMD (Single Instruction Multiple Data): nesta classe,uma única instrução pode ser aplicada simultaneamentesobre um conjunto de dados. Os aplicativos aindaseguem uma organização sequencial, mas o acesso amúltiplos dados é facilitado pela organização damemória em diversos módulos.

Este tipo de arquitetura de instruções é ideal paratrabalhar com aplicações gráficas, em que um grandevolume de dados deve ser modificado por uma únicainstrução. Ainda há apenas uma Unidade de Controle,mas existem diversas unidades funcionais. Correspondeaos processadores vetoriais e matriciais. O PentiumMMX e o AMD K6 são os primeiros representantesdesta classe.

Page 41: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - V

Disponível em: http://www.rc.unesp.br/igce/demac/balthazar/gpacp/bibliografia

Page 42: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - VIMISD (Multiple Instruction Single Data):nesta classe, um conjunto de instruções podeser aplicado sobre um único dado.

Sob o ponto de vista tecnológico, esta classede arquitetura de instrução de Flynn não temaplicação prática, razão pela qual não existemcomputadores que utilizem esta arquitetura.

Page 43: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - VII

Disponível em: http://www.rc.unesp.br/igce/demac/balthazar/gpacp/bibliografia

Page 44: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - VIII

MIMD (Multiple Instruction Multiple Data): nestaclasse, um múltiplo conjunto de de instruções sãoaplicados sobre múltiplos conjuntos de dados.

Sob o ponto de vista tecnológico, esta classe dearquitetura de instrução de Flynn é representada porarquiteturas massivamente paralelas, com servidoresmultiprocessados ou redes de estações (sistemasdistribuídos). Neste caso, várias unidades de controlecomandam suas unidades funcionais, mas com umcerto grau de interação entre as máquinas. Qualquergrupo de máquinas atuando como uma unidade seencaixa nesta categoria. Assim, os atuaisprocessadores multi-núcleos estão nesta categoria.

Page 45: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

ARQUITETURA DE INSTRUÇÕES - IX

Disponível em: http://www.rc.unesp.br/igce/demac/balthazar/gpacp/bibliografia

Page 46: OFICINA DA PESQUISA · arquitetura RISC resulta em processadores com poucas instruções (em geral, menos de 50), pequenas, mas extremamente rápidas. CISC significa ComplexInstructionSetComputer,

BIBLIOGRAFIA CONSULTADA

• FORBELLONE, André Luiz Villar. Lógica de programação: aconstrução de algoritmos e estruturas de dados. 3.ed. São Paulo:Pearson Prentice Hall, 2005.

• NOBRE, Roberta; SILVA, Sandro. Interrupção no PC. Disponívelem: <http://www2.pelotas.ifsul.edu.br/sandro/docs/OC_unidade_04_2_interrupcao.pdf>. Acesso em: 7 set. 2015.

• KINOSHITA, Jorge. O que são interrupções. PCS – USP.Disponível em: <http://www.pcs.usp.br/~jkinoshi/2005/e5roberto.doc>. Acesso em: 7 set. 2015.

• SEBESTA, Robert. W. Conceitos de linguagens de programação.9. ed. Porto Alegre: Bookman, 2011.

• TANEMBAUM, Andrew S. Organização estruturada decomputadores. 5. ed. São Paulo: Pearson Prentice Hall, 2011.