faculdade pitÁgoras pronatec · com o tempo percebeu-se que o estágio 4 (s4 execução de...

27
FACULDADE PITÁGORAS FACULDADE PITÁGORAS FACULDADE PITÁGORAS FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

FACULDADE PITÁGORASFACULDADE PITÁGORASFACULDADE PITÁGORASFACULDADE PITÁGORAS

PRONATEC

DISCIPLINA: ARQUITETURA DE COMPUTADORES

Prof. Ms. Carlos José Giudice dos Santos

[email protected]

www.oficinadapesquisa.com.br

Page 2: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,
Page 3: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

Objetivos

Ao final desta apostila, o aluno deverá ser capaz de:1. Conhecer a arquitetura interna de uma CPU

2. Conhecer a arquitetura externa de uma CPU

3. Conhecer as principais tecnologias utilizadas emprocessadores.

Page 4: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

ESQUEMA DE UM COMPUTADOR

Uma Unidade Central de Processamento (CPU – CentralProcessing Unit) é a parte principal de um computador, sendoresponsável pelo execução de programas que fazem docomputador uma máquina extremamente versátil.

É importante notar que CPU é um circuito eletrônico chamadoprocessador. Entretanto, dentro de um computador existemvárias CPU’s (em placas de comunicação, gráficas e de som, emdiscos rígidos, etc). Além disso, os usuários e alguns técnicoscostumam se referir ao computador (gabinete do PC) comoCPU, e embora seja tecnicamente errado falar assim, tornou-seum termo consagrado pelo uso.

Nesta apostila, usaremos o termo processador para designarCPU ou microprocessador. Outro conceito que será utilizadonesta apostila é o de caixa preta, que veremos a seguir.

Page 5: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

O QUE É CAIXA PRETA

Internamente um processador é constituído por muitoscircuitos eletrônicos digitais que são resultados de váriastecnologias. Já sabemos que o processador é capaz deprocessar instruções (software) e que é responsável pelacapacidade máxima de endereçamento da memória principal epelo controle dos periféricos, direta ou indiretamente (viachipset).

Os livros costumam utilizar o conceito de caixa preta como umaforma de dominar a complexidade. Toda caixa preta tementrada(s) e saída. Sabemos qual é a entrada e podemos ver oresultado, que é a saída. A caixa preta esconde o processo detransformação da entrada em saída. No caso do processador,sabemos que a saída ocorre à medida que os dados entram, eque o processamento (transformação dos dados em saída) serámais rápido se o clock (frequência de operação) for maior.

Page 6: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

O PROCESSADOR COMO CAIXA PRETA

Para que o processador possa ser representado como uma caixapreta, temos alguns detalhes importante, a saber:• Entrada de dados

• Entrada de instruções

• Entrada do clock

• Saída de informações

Sabemos que a frequência declock é dada por uma ondaquadrada, em que a parte baixacorresponde ao zero, e a partealta corresponde a 1.

Page 7: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

ARQUITETURA INTERNA BÁSICA

���� Processador

Internamente, qualquer processador básico possui uma unidadede controle (UC ou Control Unit), uma unidade de lógicaaritmética (ULA ou Arithmetic Logic Unit) e os registradores(registrators ou simplesmente REGS). O processador secomunica com o mundo exterior por meio de barramentos.

Os barramentos do processador se comunicam com osbarramentos do computador (placa-mãe).

� Barramentos � BUS

Page 8: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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/SEstes dois barramentos

ficam na placa-mãe.

Page 9: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 10: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

BARRAMENTO DO PROCESSADOR - II

Page 11: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

BARRAMENTO DO PROCESSADOR - III

Barramento de Endereços (ou Address Bus): Estebarramento tem função dupla: acessar um endereçode memória RAM ou acessar um periférico paratransmitir ou receber dados. Resumindo, o AddressBus acessa Memória ou I/O.

Barramento de Dados (Data Bus): Este barramentoé utilizado em conjunto com o Address Bus paraenviar ou receber dados. A largura do barramento dedados varia de acordo com o processador. Em geral, onúmero de vias deste barramento corresponde àquantidade de bits que o processador operainternamente (tamanho da palavra). O processadorIntel 8088 foi uma exceção a esta regra.

Page 12: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

BARRAMENTO DO PROCESSADOR - IV

Barramento de Controle: Este barramento contémvários sinais que são necessários ao funcionamento doprocessador. Entre outras atribuições, tem a funçãode controlar o tráfego do barramento de dados.Alguns dos seus sinais são de saída, outros são deentrada, outros são de entrada e de saída(bidirecionais). Existem sinais para indicação do tipode operação (leitura ou escrita), sinais deespecificação de destino/origem de dados (memóriaou E/S), sinais de sincronismo, sinais de interrupção,sinais que permitem a outro dispositivo tomar ocontrole do barramento, sinais de clock, sinais deprogramação e diversos outros.

Page 13: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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.

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 14: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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. Hoje não é maisutilizado

Fonte:http://www.laercio.com.br/artigos/hardware/hard-

013/hard-013.htm

Page 15: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 ou PCI Express.

Fonte:http://www.laercio.com.br/artigos/hardware/hard-

013/hard-013b.htm

Page 16: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

Microarquiteturas Internas de CPU’s

Já sabemos que a frequência de clock é uma dasresponsáveis pela velocidade de processamento, masnão é a única. O clock tem um limite, a partir do qual éimpossível aumentar, pois o gasto de energia e o calordissipado seriam altos demais.

Em função disso, os projetistas de processadorescriaram técnicas para aumentar a velocidade deprocessamento sem ter que aumentar o clock. Entreestas técnicas estão o pipelining, a execução porarquitetura superescalar, a execução dinâmica deinstruções, o barramento duplo independente, asinstruções SIMD e SSE e outras tecnologias queserão vistas posteriormente.

Page 17: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 18: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 dois pipelines emparalelo, de modo que duas instruções (que não dependemuma da outra) podem ser executadas ao mesmo tempo.

Page 19: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 20: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 21: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 22: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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 23: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

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çãomilitar (projeto de aeronaves, submarinos e armasnucleares), pesquisas científicas (por exemplo,sequenciamento genético), simulações aerodinâmicas,prospecção mineral e petrolífera, modelagem climática,sistemas especialistas e de inteligência artificial sãoalgumas das aplicações que necessitam de grande poder deprocessamento.

Os processadores funcionavam (até o Pentium) geralmentecom uma arquitetura de instruções denominada SISD(Single Instruction Single Data), ou seja, uma únicainstrução atua sobre um único dado.

Page 24: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

ARQUITETURA DE INSTRUÇÕES - IILogo, na arquitetura SISD (Single Instruction Single Data), umúnico fluxo de instruções opera sobre um único fluxo de dados.Entretanto, os projetistas de processadores perceberam queexistiam casos em que uma mesma instrução era aplicada a umconjunto de dados.

Este era o caso, por exemplo, de instruções de vídeo: paramudar a cor de todos os pontos de uma tela, um processadorde arquitetura SISD tem que executar a mesma instrução, umapor uma, em cada ponto da tela. Nos primeiros processadores,esta mudança de cor era tão lenta que era possível ver a telamudando de cor, linha após linha. Foi então que surgiu a ideiade se criar uma arquitetura que permitisse aplicar uma únicainstrução a vários dados, de uma única vez. Surgiu assim aarquitetura SIMD (Single Instruction Multiple Data), utilizadaa partir do Pentium MMX.

Page 25: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

ARQUITETURA DE INSTRUÇÕES - IIISIMD (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 IntelPentium MMX e o AMD K6 são os primeirosrepresentantes desta classe.

Page 26: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

ARQUITETURA DE INSTRUÇÕES - IVA AMD criou uma tecnologia chamada 3D Now!, queutiliza instruções SIMD com dados em ponto flutuantepara permitir um aumento significativo doprocessamento de gráficos. Esta tecnologia foiimplementada inicialmente do AMD K6-2, e foi a partirdeste processador que a AMD começou a rivalizar com aIntel, fabricando processadores de qualidade a umpreço mais competitivo.

A Intel deu o troco criando uma extensão de instruçõesSIMD conhecidas como SSE (Streaming SIMDExtensions), que permitiu novas implementações deaplicações multimídia. O Intel Pentium III foi oprimeiro processador a ter esta tecnologia integrada.

Page 27: FACULDADE PITÁGORAS PRONATEC · Com o tempo percebeu-se que o estágio 4 (S4 execução de instruções)eraogargalodetodooprocesso.Quandonãohavia um par de instruções compatíveis,

Outras tecnologias de processadoresHouve uma imensa evolução no projeto deprocessadores, resultando em inúmeras tecnologias.

Para poder entender estas tecnologias, torna-senecessário entender primeiro o que é cache, chipset eas tecnologias de construção de memória RAM, razãopela qual vamos estudar estas tecnologias de construçãode processadores posteriormente.

Por enquanto, foquem nas tecnologias já estudadas.