Anda di halaman 1dari 105

(20/02/13)

Objetivo de OAC
Apresentar de forma mais clara e complete a natureza das caractersticas dos computadores
modernos.
Problemas:
1 Variedade grande de produtos, computadores mais simples e mais baratos, computadores
mais complexos mais caros.
2 Ritmo acelerado de mudanas associado tecnologia.

Conceitos Importantes:
Arquitetura: Estrutura e comportamento de vrios mdulos do computador. Ex.: Conjunto de
instrues disponveis, nmero de bits utilizados para representao.
Questo arquitetural: O computador ter uma instruo de multiplicao.

Organizao: Como componentes de hardware esto conectados para formar um sistema
computacional. Ex.: Tecnologia utilizada em memria.
Questo organizacional: Custo e tamanho de uma unidade de multiplicao especial.

Estudo de OAC

Como descrever um computador e seu funcionamento de forma mais clara?
R: Natureza hierrquica de sistemas complexos.
SISTEMAS HIERRQUICOS: Conjunto de subsistemas inter-relacionados, onde cada um desses
pode ser subdivido e anexado a um nvel. Quanto mais baixo nvel, mais elementar o
sistema.






...



...



...




Computador
E/S Processamento


Computador

Computador
Armazenamento
HD Memria
Flash RAM EPROM
Abordagem de Estudo

Organizacional
Top Down: Os nveis hierrquicos so estudados a partir de uma viso mais simplicada sendo
cada vez mais complexa at descermos aos nveis mais elementares.
Arquitetural
Botton Up: O estudo comea por meio dos nveis mais elementares at encontrar os nveis
mais superficiais.

Funo:
As funes bsicas de um computador podem ser divididas em praticamente quatro:
1 Processamento de dados;
2 Armazenamento de dados;
3 Movimentao de dados;
4 Controle.

Viso Funcional





Meio
Externo








Operaes Possveis de um computador












Capacidade de
Armazenamento
Controle
Processamento
de Dados
Movimentao de
Dados
Movimentao
Controle
Armazenamento

Controle
Processamento













































Movimentao
Controle
Armazenamento

Controle
Processamento
Movimentao
Controle
Armazenamento

Controle
Processamento
Movimentao
Controle
Armazenamento

Controle
Processamento
Estrutura
Quatro Componentes:
1 Unidade Central de Processamento (CPU)
2 Mmoria Principal: RAM
3 E/S: Porta Serial, USB, VGA, Monitor...
4 Interconexo do sistema (Barramento)

Em relao a estrutura pode ocorrer que para cada funo um ou mais dispositivos realize

Exemplo de composio em nveis




(25/02/13)

Evoluo de Computadores

1 Gerao:
ENIAC: Desenvolvido por necessidades militares durante a segunda guerra. Construdo para
calcular tabelas de trajetrias para novas armas dos EUA.
- Operava sob base decimal.
- Memria de 20 acumulados com representao de nmeros de 10 dgitos cada.
- Mais de 1800 vlvulas.
- Ocupava mais de 1200 m
2
.
Contribuio do ENIAC: Uso geral dos computadores Mquina de Von Neumann.
Adoo do conceito de programa armazenado.
Prottipo:
- Uma unidade de memria
- Uma unidade lgica e aritmtica (ULA)
- Uma unidade de controle
- Um mdulo de E/S



Implementao (IAS)

- Uma palavra pode conter 2 instrues de 20 bits.
- Palavra de dados com 40 bits.
- Instrues e dados armazenados na memria.
- Cada instruo possua um cdigo binrio.
- Programado em linguagem de mquina.





Registradores do (IAS)
MBR: Registrador de buffer de memria
MAR: Registrador de endereo de memria
IR: Registrador de instruo
IBR: Registrador de buffer de instruo
PC: Contador de programa
AC e MQ: Acumuladores



2 Gerao:
- Substituio da vlvula pelo transistor.
- Linguagem Montadora.
- Transistor menor que a vlvula mais desempenho e menor consumo.
Contribuies:
- Unidades lgicas aritmticas e controle mais complexos.
- Linguagem de programao de alto nvel.

IBM 7094: Adota a tecnologia de canais de dados.
Canal de Dados: Mdulo prprio de entrada e sada com seu prprio processador e conjunto
de instrues.

3 Gerao:
Problemas:
- Componentes comprados separadamente
- Componentes soldados na placa por demanda
Soluo:
- Circuito Integrados (Microeletrnica)

Ex.:

A * * B









Chip






Famlia de Computadores

Modelos devem ser compatveis no sentido de que um programa escrito em um modelo que
possa ser executado em outro, apenas com diferena no tempo de execuo.
- Conjunto de instruo semelhantes ou iguais.
- Sistema operacional semelhante.
- Nmero cada vez maior de mdulos de E/S.
- Memria crescente.
- Maior custo.
EX.: x86 da intel

4 Gerao:
Surgem os microprocessadores e as memrias semicondutoras.
- Surgimento da linguagem de altssimo nvel orientados para um problema.
MEMRIA SEMICONDUTORA
- 256 bits de memria
- No era destrutiva
- Inicialmente mais caro
MICROPROCESSADOR
- Aumento do nmero de bits
- Aumento do nmero de elementos do chip
- Aumento na largura de barramento

(27/02/13)

Desempenho de Processador

Os computadores esto cada vez mais rpidos e complexos sendo utilizados para inmeros
fins, incluindo aplicaes que exigem grande desempenho em especial dos processadores.
- Por mais transistores que um processador tenha, esse no ir alcanar seu potencial mximo
caso no receba um fluxo constante de trabalho.

Tcnicas para aumentar o Desempenho

Pipeline: Otimizao de ciclo de instruo baseado em uma linha de montagem. Divide uma
instruo em vrias etapas e executado etapa de forma separada.

Exemplo: Lavanderias de roupa.
ETAPAS:
1 lavar (L)
2 secar (S)
3 dobrar (D)
4 guardar (G)


Processo Normal





DIVISO DE INSTRUO

IF buscar instruo
ID decodificar instruo 5 etapas do pipeline
ME busca operando de instruo
WB escrever resultado

MELHORAMENTOS

1 Previso de desvio com base em um critrio o processador tenta prev quais desvios sero
tomados.
- Sempre tomar desvio.



2 - Anlise do fluxo de Dados: O processador analisa quais instrues so dependentes uma da
outra, criando assim uma sequncia otimizada de instruo.
Ex.:

add R1, R2
sub R4, R1



add R1, R2
sub R3, R5 I. Independentes
sub R6, R7
sub R4, R1


Execuo especulativa: Usando a previso de desvio e anlise de fluxo de dados possivel
executar instrues antes do seu surgimento real.

Melhorias na Organizao e Arquitetura

Trs tcnicas so utilizadas para aumentar o desempenho do processador em relao a
hardware.
1 Aumento da velocidade do clock e portas lgicas (densidade e velocidade).




2 Aumento dos caches interpostos entre processador e memria principal.

3 Uso de paralelismo. (Arquitetura)
BALANO DE DESEMPENHO

Formas de reduzir o gargalo da comunicao, processador memria.
Aumentar o nmeor de bits que so recuperados na memria tornando a DRAM mais
larga que profunda.
8

2

16 bits







Incluir uma cache entre memria e processado
Reduzir acesso a memria
Aumentar largura do barramento

(04/03/13)

Avaliao de Desempenho

Em relao a processadores o desempenho um dos principais parmetros a se considerar.
Porm difcil realizar comparaes de desempenho entre processadores, at mesmo da
mesma famlia.
Dado uma aplicao qual a melhor maneira de avaliar um determinado processador.
O desempenho de uma aplicao no depende apenas da velocidade bruta do processador,
mas tambm do conjunto de instruo, da linguagem de programao, do compilador da
arquitetura, entre outros.
Ex.:

(RISC) x (CISC)

Instruo (CISC)
add mem (A), mem (B), mem (C)

Instruo (RISC)
mov (A), R1
mov (B), R2
mov (C), R3
add R2, R1
add R3, R1
store R1, (A)

A = A+B+C

Conceitos para avaliao

- Taxa ou velocidade de clock: Taxa de pulsos do clock, ou seja, taxa de variao por segundo.
- Ciclo de Clock (Clock Tick): Um incremento (pulso) de clock.
- Tempo de ciclo: Tempo entre um pulso e outro.

Avaliao MIPS

Taxa MIPS: uma mdia comum de desempenho para um processador. a taxa em que as
instrues so executadas por segundos (milhes).

Taxa MIPS = F f = taxa de clock do processador
CPI * 10
6

Obs.: Uma instruo pode envolver uma srie de etapas at serem executadas, como busca e
execuo. Assim grande parte das instrues podem ocupar mais de um ciclo de clock para
execuo.
- Mdia de ciclos por instrues.


Clculo do CPI

CPI =
n
(CPIi * Ii)

i = L
Ic

CPI = Mdia de ciclos por instruo para cada tipo de instruo.
n = Nmero de categorias de instrues.
Ii = Quantidade de intrues de um tipo I.
Ic = Total de instrues executadas em tempo.

Objetivo: Para um programa qualquer calcular a mdia de ciclos executadas por instruo
executada.

Ex.: Um programa com 2 mil instrues ser executados em um processador de 400 MHz, com
as seguintes classes de Instruo.

Tipo de Instruo CPI Quantidade de Instruo
Aritmtica lgica 1 1200
Load/ Store 2 360
Desvio 4 240
E/S 8 200

Calcule o CPI mdio para quando o programa for executado e a taxa MIPS do processador.

Taxa MIPS = F
CPI * 10
6

CPI =
n
(CPIi * Ii)

i = L
Ic
CPI =
n
(1* 1200) + CPI =
n
(2 * 360) + CPI =
n
(4 * 240) + CPI =
n
(8 * 200)

i = 1
2000
i = 1
2000
i = 1
2000
i = 1
2000


CPI = 2,24


MIPS = 400 * 10
6
178 MIPS
2.24 * 10
6


Benchmarks

Coleo de programas definifos em uma linguagem de alto nvel que juntos oferecem um teste
representativo de um computador em determinada rea de aplicao.
Ex.:
SPEC jvm98: avaliao de aspectos de hardware e software para java.
SPEC bb2000: avaliao de aplicaes para comrcio eletrnico.



Lei de Amdahl

Demonstrar que errado esperar uma melhora em aspecto pontual que tenha influncias no
desempenho de um todo.

Speed up = 1
(1-f) + f/N

- Se f for muito pequeno no justifica o uso do recurso.
- Se N for muito grande, perto do infinito o speed up ser determinado apenas pelo fator (L-F).

Ex.: 60% do cdigo paralelizvel


Speed up = 1 (1-0.6) = 0.4
(1-0.6) + 0.6/N

Speed up Nmero de Processadores
1 1
0.24 1.428 2
1.67 3
1.89 4
1.92 5
2 6
0.04 2.06 7
2.1 8
2.42 50


(06/03/13)

Componentes do Computador

Antes da proposta de arquitetura de Von Neumann a programao era realizada em hardware,
sendo assim a cada novo programa os componentes de hardware devem ser realizadis para
realizarem tarefas diferentes.



Sequncia de
Dados funes aritmtica Resultado
lgica




Principios da Arquitetura de Von Neumann

1- Dados e instrues devem ser armazenados em uma nica memria.
2- O contedo dessa memria enderevel por local.
3- Execuo ocorre em padro sequencial.

Conceito de programa armazenado: Com base nos princpios de Von Neumann surge
a programao em software
Programao em software: Por meio de uso de sinais de controle (comandos emitidos
ao hardware para execuo de tarefas) possvel deifinir as operaes que sero
executadas em hardware.




Cdigo de Instruo Interpretador U.C
de
Programa em memria Instruo


Sinais de Controle



Funes lgicas -
Dados Aritmticas de Resultado
uso geral.
ULA

















Componentes de um Computador (Alto Nvel)


PC Contador de Programa
IR Decodificao de Instruo
MAR Registrador de endereo de Memria
MBR Registrador de buffer de Memria
I/ 0 AR Registrador de endereo de E/S
I/ 0 BR Registrador de buffer de E/S

Funo do Computador

A funo bsica realizada por um computador a execuo de um programa. Para isso o
processador busca cada instruo em memria e depois executa cada instruo. O processo de
execuo de um programa consiste em realizar a busca e a execuo repetidas vezes.
- Ciclo de instruo: Processamento exigido por buscas e executar uma instruo.





Incio Fim
Buscar
Instruo

Executar
Instruo
Processo de Ciclo de Instruo

1- Processador busca uma instruo em memria.
2- A instruo carregada no Reg IR.
3- A instruo interpretada (decodificada).
4- O processador realiza a ao da instruo.
- Essa pode ser classificada em:

Processador memria: Troca de dados entre os mesmos (load/store).
Processador E/S: Movimentao de dados entre processador e mdulo de E/S.
Processamento de dados: ULA
Controle: Fluxo do programa (JMP)

Funcionamento do ciclo de instruo

Considere a seguinte mquina:
- Um registrador de dados (AC)
- Um registrador IR
- Um registrador PC
- Palavras de 16 bits

Instrues Upcodes
0 3 15 0001 = Carregar AC para o que est na memria.
0010 = Armazenar AC na memria.
0101 = Operao da add entre AC e memria.
Dados
0 1 15



Ciclo






Busca







REG
300 300

1340 1340
Memria
300 1940
301 5941
302 2941
... ...
940 0003
941 0002
Upcode
4 bits

Endereo
12 bits

S

Magnitude



na execuo o PC aumenta




ex
Repete tudo no segundo ciclo soma AC
anterior com atual.
No terceiro armazena AC na tabela.
















Busca prx. Instruo Vetor ou string


(13/03/13)

Interrupes

Praticamente todos os computadores oferecem um mecanismo por meio do qual outros
mdulos (E/S, memria) podem interromper o processador
- Uma interrupo favorece o desempenho do processador pode quase que exclusivamente se
dedicar ao programa do usurio.

Tipos de Interrupes

1- Programa: Erro fatal de execuo.
Ex.: Diviso por zero.
2- Timer: Gerada pelo sistema operacional para execuo de certas tarefas.
3- E/S: Comunicao dispositivo de E/S e processador.
Memria
300 1940
301 5941
302 2941
... ...
940 0003
941 0002
301 PC
0003 AC
1940 IR
Busca
Instruo
Busca
Operando
Armaz.
Resultado
Calc.
Endereo
Instruo
Decod.
Instruo
Calc.
Endereo
Operando
Ex.
Operao
Calc.
Endereo
Operando
4- Falha de Hardware: Falha por falta de energia ou paridade de memria.

Tratador de Interrupes

Faz parte do sistema operacional e determina qual mdulo de E/S gerou a interrupo, alm
da rotina de tratamento.


Programa de E/S

1- Preparao para outra operao de E/S.
2- Comando real de E/S.
3- Sequncia de instrues de finalizao.










Interrupes por longa Espera




Interrupes e ciclo de Instruo

Para acomodar as interrupes uma nova fase adicionada ao ciclo de instruo (ciclo de
interrupo). O processador verifica se houve uma interrupo por meio de um sinal de
interrupo, se no houver interrupes pendentes o ciclo de Instrues continua
normalmente.



Instrues





Insterrupes







Incio
Fim
Buscar
Instruo

Executar
Instruo
Verificar
Instruo















Busca prx. Instruo Vetor ou string
Interrupes Mltiplas

Pode acontecer que uma interrupo ocorra antes que outra termine. Caso isso ocorra dados
podem ser perdidos ou corrompidos.
Duas tcnicas podem ser usadas para tratar mltiplas interrupes.
1- Desativar interrupes enquanto outra est sendo executada.
2- Execuo de Interrupes por prioridade.
Ex.:
Interrupes Prioridade
Impressora 2
Disco 4
Comunicao 5
Ordem de Chegada

Impressora T.10, Comunicao T.15, Disco T.20.



Busca
Instruo
Busca
Operando
Armaz.
Resultado
Ciclo
End.
Instru
.o
Decod.
Instru-
o
Ciclo
End.
Opera
ndo
Oper.
de
dados
Calc.
Endere
- o
Operan
do
Verif.
Inter-
rup.
Interru
- po

(20/03/13)

Estrutura de Interconexo

Um computador constitudo por um conjunto de mdulos (memria, processamento,
controle e E/S) esses mdulos so interligados por uma estrutura de interconexo, sendo o
projeto dessa estrutura dependente das trocas de dados feitos entre os mdulos.









Com base nas trocas de dados as seguintes operaes dever ser realizadas pelo barramento.
1 Memria Processador (Leitura)
2 Processador Memria (Escrita)
3 E/S Processador (Leitura)
4 Processador E/S (Escrita)
5 Memria E/S e E/S Memria (DMA)

Interconexo de Barramento

Um barramento um caminho de comunicao que conecta dois ou mais dispositivos, dessa
forma sendo um meio de comunicao compartilhado.
Assim:
Todos sabem quem est transmitindo
Se dois dispositivos transmitem ao mesmo tempo os sinais sero sub postos.
Apenas um dispositivo pode transmitir por vez.

Estrutura do Barramento



Sinais de Comando

- Escrita de memria: barramento para local de memria.
- Leitura de memria: memria para o barramento.
- Escrita de E/S: barramento para porta de E/S endereado.
- Leitura de E/S: porta endereada para barramento.
- ACK de transferncia: informa que os dados esto no barramento.
- Soclicitao de barramento: pede controle do barramento.
- Conexo do barramento: informa que quem solicitou o barramento recebe o acesso.
- Requisio de interrupo: interrupo pendente.
- Clock: sincronizao
- Reset: inicializa todos os mdulos

Organizao do Barramento


Hierarquia Tradicional

























...


Processador Controle
Cache
Contador de
Barramento
Memria
Barramento do Sistema
Interface do
Barramento de
expanso
Rede Modem Impressora
Elementos de Projeto de Trabalho

Existe 5 itens que devem ser considerados para elaborao do barramento.

1- Tipo do barramento
- Dedicado
- Multiplexado ADDRESS VALID

2- Arbitrao
Centralizado Distribudo














(27/03/13)


Projetos de barramento

Embora exista uma grange variedade de implementaes de barramento, os
parmetros de projeto podem ser classificados em 5 grupos.

1- Tipo de barramento (linhas de comunicao).
- Dedicado: Linhas de comunicao possuem funes especficas. Separa as linhas
de endereo das linhas de dados.



1
2
3
4 5
1
2
3
4
- Multiplexado: Uma nica linha desempenha mais de uma funo. Linha de
endereo e dados compartilhados.



2- Arbitrao: Controle de acesso ao barramento.
- Centralizado: Um nico dispositivo de hardware controla todo o barramento.



- Distribuda: Cada unidade contribui com a definio de quem ser o mestre do
barramento a lgica de controle implementada em cada dispositivo

Ex.: Round Robin (fila circular).

- Para k unidades conectadas ao barramento.
- Varre todas as unidades procurando requisies.
- Inicia a nova varredura a partir da ltima unidade atendida.

3- Temporizao: (Controle dos eventos que ocorrem no barramento) Protocolo de
barramento.
- Sncrono: eventos determinados por um clock a sincronizao ocorre nas
transies de 1 para 0 e de 0 para 1.


- Assncrono: A ocorrncia de um evento depende da ocorrncia do evento
anterior.


4- Largura do barramento:
- Quanto maior a largura do barramento de dados, maior o desempenho.
- Quanto maior a largura do barramento de endereo, mais memria endereada.
5- Tipo de transferncia de dados:



(01/04/13)

Caractersticas de Memria

A forma como uma memria ser utilizada influencia diretamente em suas
caractersticas. Existem 8 caractersticas fundamentais que definem as
funcionalidades de uma memria.

1- Localizao:
-Memria interna: Utilizadas internamente e no computador para
processamento de dados. Exemplo: RAM.
- Memria externa: Dispositivos de armazenamento perifricos que so
acessveis ao processador por meio de um mdulo de E/S. Exemplo: Disco,
drive de CD, etc...

2- Capacidade:
- Para memrias internar medida em bytes ou palavra.
- Para memrias externas medida em bytes.

3- Unidade de transferncia: Representao de valores (Instrues e dados) e
forma como os dados entram e saem da memria.
- Palavra: Unidade natural de organizao de memria. O tamanho da palavra
igual ao nmero de bits utilizados para representar instrues e dados.



- Unidade de transferncia: para memria principal (RAM) o nmero de bits
lidos ou escritos de uma s vez. Dependendo do tipo da memria a unidade da
transferncia da memria a unidade de transferncia passa a ser um bloco






4- Mtodo de acesso:
- Acesso sequencial: Os dados so organizados em registros que so lidos de
forma sequencial, o tempo de acesso varivel.



- Acesso direto: Cada bloco possui um endereo nico baseado em sua
localizao fsica. Tempo de acesso varivel.






- Acesso aleatrio: Cada posio tem um endereo nico e pode ser acessado
diretamente. Tempo de acesso constante.



5- Desempenho (Velocidade da Memria)
Tempo de acesso (latncia)
- Memria de acesso aleatrio: Tempo utilizado desde o instante em os dados se
tornam disponveis para o uso.
- Memria de acesso no aleatrio: Tempo para posicionar o mecanismo de leitura e
escrita na posio desejada.

Tempo de ciclo de memria: Tempo de acesso maios qualquer tempo adicional antes
que um segundo acesso comece.
Taxa de transferncia: Taxa em que os dados so transferidos para dentro e fora da
memria.

6- Tipo fsico:
-Semicondutora
- Magntica
- ptico

7- Caractersticas fsicas:
- Voltil: Devido falta de energias as informaes so apagadas (Internas).
- No Voltil: As informaes permanecem mesmo sem energia (Externa).

8- Organizao: Referente a forma como as informaes so armazenadas e
utilizadas em memria.
Ex.: SRAM: flip flops
DRAM: transistores

Hierarquia de memria

Pontos a serem considerados:
- Capacidade (Armazenamento)
- Velocidade (Acompanhar o Processador)
- Custo (Valor em mercado)


Relaes:
Mais velocidade, menor tempo de acesso, maior custo.
Menor capacidade, menor tempo de acesso, menor velocidade.



a- Custo por bit
b- Tempo de acesso a memria Princpio de localidade e referncia.
c- Capacidade Ex.: Dois nveis de Memria
d- Velocidade


(03/04/13)

Princpios da memria cache


O uso de uma memria cache justificado devido ao aumento de velocidade (desempenho)
proporcionado pela memria. O uso de cache est ligado as diferenas de desempenho
existentes entre os tipos de memria, ou seja, devido organizao da memria RAM em
relao a cache muito mais rpida buscar uma palavra na cache do que na RAM.


Relao memria RAM e CACHE

- Memria RAM
A memria principal endereada com 2
n
bits.
Ex.: n = 32 2
32
= 4,2GB

Assim: Podemos enderear at 4.2 GB de palavra com 32 bits cada (de forma nica).

Considerando k = tamanho de bloco, a quantidade de blocos em memria (M) igual 2
n
/k,
logo:
M = 2
n
/ k

- CACHE
Cada linha de cache mapeia um bloco de memria, sendo que a cache possui m linhas, porm
o nmero de linhas do cache muito menor que o nmero de blocos.

m < M

Como existem menos linhas de cache que blocos de memria, cada linha possui uma tag que
identifica o bloco.


Funcionamento do CACHE

- Cache utilizado para comunicao RAM Processador.
- A cache contm uma cpia da informao da RAM.
- Quando o processador tenta ler uma palavra em memria primeiro verifica na cache.

Se a palavra estiver na cache enviado ao processador (acerto de cache) cache hit.
Se a palavra no est na cache um bloco de memria copiado para cache (falha de
cache) cache miss.








Projetando uma cache

Assim como qualquer outro dispositivo computacional a cache possui alguns elementos
bsicos que servem para classificar e diferenciar as arquiteturas de memrias cache.

1- Endereos de Cache
Cache lgica: Trabalha com endereos lgicos.
Cache fsica: Trabalha com endereos fsicos.
- Uso de memria virtual e do gerenciador de memria virtual MMU.

Cache Lgica


Cache Fsica


2- Tamanho de Cache
- Tamanho de cache determina o desempenho.

Cache muito grande fica muito lerdo, porm barato.
Cache muito pequena tem um bom desempenho, porm o nmero de cache hit
aumenta.
Exemplo de tamanhos:
L3 = 24 MB a 48 MB
L2 = 256 k a 4 MB
L1 = 1 k a 128 k

(10/04/13)

FUNO DE MAPEAMENTO

Como existem menos linhas de cache do que blocos de memria principal necessrio haver
um algoritmo para mapear os blocos de memria principal para as linhas de cache.
Funo de mapeamento: dita como a cache organizada e como ser feito o
mapeamento de um certo bloco de memria para uma linha de cache.
Mapeamento direto: mapear cada bloco da memria principal para uma linha de
cache (1:1)


Cada endereo de memria constitudo por 3 campos:
W = bits que indicam uma palavra no bloco.
S = bits que especificam um 2
S
blocos de memria.
R = bits que indicam a linha da cache.

A tag de identificao de bloco definida por S R e o endereo tem tamanha S + W.

BUSCA EM CACHE
MAPEAMENTO DIRETO

O mapeamento direto simples e fcil de ser implementado. Porem para o caso de referencias
a blocos alternados que so mapeados para a mesma linha se torna problemtico devido ao
THRASHING (no leva em considerao a referencia).
Ex:

0000 00 00 a a a a
0000 00 01 b b b b
0000 00 10 c c c c
0000 00 11 d d d d

0001 01 00 g g g g
0001 01 01 g g a b
0001 01 10 b b b b
0001 01 11 a a a c

0100 00 00 f f f f
0100 00 01 e e e e
0100 00 10 a b c d
0100 00 11 e f g h

Mapeamento associativo: compensa a desvantagem do mapeamento direto, permitindo que
cada bloco de memria seja carregado em qualquer linha da cache

Para determinar se um bloco est na cache, a logica de controle precisa comparar
simultaneamente a tag de cada linha.


BUSCA EM CACHE
MAPEAMENTO ASSOCIATIVO

0100 f f f f e e e e a b c d e f g h
0001 g g g g g g a b b b b b a a a c
0010
0011

Com o mapeamento associativo, existe flexibilidade em relao a qual linha substituir, porem a
complexidade para comparar todas as TAGs ao mesmo tempo muito grande.

MAPEAMENTO ASSOCIATIVO POR CONJUNTO

Mapeia de forma direta um bloco para um conjunto K de cache e dentro do conjunto o bloco
mapeado para qualquer linha.







0000 00 00 a a a a
0000 00 01 b b b b
0000 00 10 c c c c
0000 00 11 d d d d

0001 01 00 g g g g
0001 01 01 g g a b
0001 01 10 b b b b
0001 01 11 a a a c

0100 00 00 f f f f
0100 00 01 e e e e
0100 00 10 a b c d
0100 00 11 e f g h


(17/04/13)
ALGORITMOS DE SUBSTITUIO

Uma vez que a cache estiver cheia, e um novo bloco for trazido para cache, um dos blocos
existentes precisa ser substitudo.
Mapeamento direto: existe apenas uma linha de cache mapeada para cada bloco.
Associativo e associativo por conjunto: necessita de um algoritmo de substituio para
tomada de deciso (qual linha de cache ser desalocada).

ALGORITMOS
LRU: o ultimo mais recente usado substitua aquele bloco que permaneceu na cache por mais
tempo sem receber referncias.
Um bloco que for utilizado recentemente tem grande probabilidade de ser usado
novamente.

FIFO: primeiro a entrar e o primeiro a sair, substitua o bloco que esta na cache por mais
tempo.
No leva em considerao referncia.

LFU: o usado menos frequentemente, substitua aquele bloco que esta na cache com menos
referncia.
0100 f f f f e e e e a b c d e f g h
0001 g g g g g g a b b b b b a a a c
0010
0011
Linhas antigas ficam na cache devido ao contador elevado.

Ex: blocos 7, 0, 1, 2, 0, 3, 0, 4, 2,3;


Politica de Escrita
Quando um bloco em cache esta para ser substitudo, diferentes situaes podem ocorrer:
1. O bloco da linha da cache no sofreu alterao, assim pode ser substitudo sem
atualizao do bloco em memria.
2. Se o bloco na linha da cache sofreu alguma alterao, ento antes de ser substitudo
deve ser atualizado em memria.

Problemas: modulo de E/S e acesso concorrente de cache

Politica de Escrita
1. Escrita direta (Write Through)
Tcnica bem simplificada que obriga que as alteraes feitas em cache sejam
feitas em memria e vice-versa.
2. Escrita de volta (Write Back)
Por meio de um bit de uso, determina que as atualizaes em memria sejam
feitas apenas em linhas modificadas em cache.

Para acesso concorrente de cache
1. Observao de barramento com escrita direta.
2. Transparncia de hardware ou coerncia de cache por Diretrio.
3. Memria no cachevel.

CACHES MULTINVEIS
Devido necessidade de desempenho em relao busca de informaes na memria principal,
alm do uso de circuitos integrados, surgiram as caches multinveis (atualmente utilizado 3
nveis de cache).

(24/04/13)

Organizao de memria

O elemento bsico de uma memria semicondutora a clula de memria.
Independentemente da tecnologia utilizada para elaborao da memria todas as clulas
compartilham trs propriedades:

1) Apresentam dois estados 1 e 0.
2) Podem sofrer escritas (pelo menos uma vez).
3) Podem sofrer leituras



Tanto leitura como escrita so realizadas sobre os valores lgicos 1 e 0

TIPOS DE MEMRIA

Memria RAM
Utiliza acesso aleatrio para acessar e carregar informaes
Pode ler e escrever dados em memria de forma rpida e fcil por meio de sinais
eletrnicos. dividida em dois tipos:
1. RAM Dinmica (DRAM)
Elaborada com clulas que armazenam dados por meio de capacitores
Devido a tendncia de descarga do capacitor necessrio a adoo de refresh
da memria
O refresh atualiza o valor do capacitor de tempos em tempos ou depois de
uma leitura.






RAM Esttica (SRAM):

No precisa de refresh, pois devido a lgica de flip-flop consegue manter seu estado sem
necessidade de uma complementao.




Se queremos escrever 1:
C2 = 0 e C1 = 1 estado lgico 1
C2 = 1 e C1 = 0 estado lgico 0

- Leitura verifica o valor de B
- Escrita: emite 0 e 1 nos fios B e B

SRAM x DRAM

Ambas so volteis.
DRAM mais densa que SRAM.
Em relao a clula SRAM dissipa mais potncia.
Em relao ao CI a DRAM dissipa mais potncia.
SRAM mais cara e mais rpida que a DRAM.

Memria ROM (somente leitura)

No voltil possuindo um padro permanente de dados, sendo assim no permite alterao
em suas clulas.



PROM ROM programvel

Possibilita ao usurio a realizao de uma escrita.




EPROM PROM apagvel

Permite vrias escritas, porm cada escrita deve ser realizada na memria
limpa.
Apaga com luz 20 minutos.



(06/05/13)

EEPROM

Memria no voltil que permite atualizaes, pois no obriga que o usurio apague toda a
memria antes de uma operao de escrita.
Processo de deleo acontece por sinais eltricos
A operao de escrita mais lerda que a leitura, porm no leva 20 minutos como na
EPROM. A operao de escrita da EEPROM fica na cara de centenas microssegundos.

MEMRIA FLASH
Baseada em transistores

Tipos de FLASH
NOR: primeira flash lanada, possui um sistema de endereamento semelhante ao da memria
RAM (aleatrio). Possui suporte ao XiP (execute in place) que permite a execuo de
programas diretamente do chip
Rpida para leitura, porem lerda para escrita.
NAND: mais barata que a NOR. No tem a capacidade de executar programas, sendo mais
utilizada como unidade de armazenamento.

RESUMO DE MEMRIA
Categoria Apagamento Escrita Volatilidade
RAM Escrita e leitura Eltrico Eltrico Voltil
ROM
Leitura No permite
Mscaras
No voltil
PROM
Eltrico
EPROM
Leitura, escrita, mas
principalmente leitura
Luz
EEPROM
Eltrico
FLASH








LGICA DO CHIP DE MEMRIA

Assim como qualquer dispositivo de armazenamento (interno e externo), a quantidade de bits
lidos ou escritos em um chip um fator muito importante para o desempenho geral de um
sistema.
Leitura e escrita por arranjo fsico ou palavras de informao.

Leitura e escrita por bits: um bit lido ou escrito por vez

Ex: Organizao da RAM
o DRAM de 16 bits
o 4 bits lidos ou escritos por circuito integrado
o Cada circuito integrado possui 4 Mbits
o 4 circuitos integrados por memria



(08/05/13)

ORGANIZAO DE MEMRIA

Tipos de Organizao
Se em um chip de RAM possvel ler apenas um bit por vez, para operar sobre uma palavra
deve ser utilizado uma quantidade de chips igual o tamanho da palavra, considerando que o
tamanho de memria enderevel igual a quantidade de bits em um chip.

Quando a quantidade de memria enderevel maior que a capacidade do chip, outra
organizao necessria.

EMPACOTAMENTO DE CHIP DE MEMRIA
Um chip de memria formado por um conjunto de circuitos integrados, cada circuito possui
uma matriz de clula de dados usada para armazenamento de informaes, sendo essas
informaes lidas ou escritas por meio de pinos de conexo.


MEMRIA INTERCALADA
Vrios chips de memria DRAM podem ser agrupados para formar um banco de memria,
tendo como base as seguintes caractersticas:
Cada banco pode realizar operaes de forma independente;
Se as palavras requisitadas em uma leitura ou recebidas como entradas estiverem em
bancos diferentes, temos um ganho de desempenho.

Tipos de DRAM:
SDRAM DRAM sncrona
DDR SRAM
RDRAM

(15/05/13)


MEMRIA EXTERNA

Discos magnticos
Um prato circular de material no magnetizvel chamado substrato, geralmente feito
de alumnio ou liga de alumnio. O substrato nos discos mais modernos feito de
vidro.
O substrato coberto por uma camada de material magnetizvel, ferro ou cobalto,
onde pe feita a gravao de dados

O HD dividido em duas partes principais:
HDA (hard disk assembly): compartimento isolado onde se encontra o disco
Controlador de HD: circuito controlador
o Possui um buffer de dados para E/S
o Um circuito integrado para controle

LEITURA E ESCRITA

Leitura e escrita baseada em uma cabea
Uma cabea baseada no funcionamento de uma bobina realiza as operaes de escrita
e leitura
Leitura e escrita separadas
Para cada operao utilizada uma cabea. Para escrita utilizada a abordagem de
bobina e para leitura utilizado o sensor MR (magnetorresistivo).



FORMAO DO DISCO

Trilhas: ambas concntricas que passam por baixo da cabea.
Setores: unidade de informao na trilha, geralmente tem tamanho fixo de 512 bits,
mas pode ter tamanho varivel.
Lacunas: separa as trilhas e setores.

ORGANIZAO DO DISCO

Um disco pode ser organizado de duas formas distintas, sendo essas:
Velocidade angular constante: baseada no principio de que um bit prximo do centro
do disco em rotao passa pela cabea mais lentamente que um bit da extremidade
o Problema: velocidade de leitura ou escrita varivel.
o Soluo: variao da densidade dos bits de cada trilha
Mltiplas zonas: o disco dividido em zonas de dados, cada zona possui uma
densidade especifica:
o Ganho de armazenamento
o Pouca variao de velocidade de escrita e leitura
Para abordagens de mltiplas zonas, necessrio que no disco haja alguns dados para
controle, sendo esses dados acessados apenas pelo sistema de disco e utilizados para
identificar setores e trilhas em uma zona.

CARACTERSTICAS FSICAS

Movimentao da cabea
Cabea fixa
Cabea mvel

Portabilidade
Disco removvel
Disco no removvel

Faces
nica
Dupla

Pratos
nico
Mltiplos


(22/05/13)

MECANISMO DA CABEA

Contato: ao efetuar uma leitura ou escrita a cabea entra em contato com o disco. Isso
acontece em discos mais antigos e disquetes.
Problema de atrito
Lacuna fixa: a cabea e posicionada sobre uma distancia dixa do disco, permitindo a
formao de uma camada de ar que impede que a cabea toque no disco.
Lacuna aerodinmica (wincherster): cabea especial que toca levemente o disco
quando esse esta parado. Quando o disco entra em rotao surge uma camada de ar
que levanta levemente a cabea.
Fabricado de forma selada
Menor cabea maior densidade de dados

PARMETROS DE DESEMPENHO

Tempo de busca (seek time): em um sistema de cabea mvel e o tempo para encontrar uma
trilha.
Atraso rotacional/Latncia rotacional: tempo gasto para que o inicio de um setor alcance a
cabea
Tempo de acesso: tempo de busca + atraso rotacional
Tempo de transferncia: tempo para executar uma operao


RAID
Devido a grande diferena entre memria externa e processador em relao a memria
secundaria, no caso, discos magntico, esses so utilizados em paralelo para aumentar o
desempenho
Caractersticas:
Conjunto fsico de disco visto como um nico disco
Dados distribudos em cada disco
Uso de redundncias






RAID NVEL 0
No se enquadra em todas as caractersticas de raid, pois no utiliza redundncia de
informaes.
Pode ser utilizado para aumentar a velocidade de leitura ou escrita me disco. Os dados so
distribudos pelos discos visando aumentar a velocidade

Mapeamento de disco feito pelo SP em relao ao raid 0

RAID NVEL 1

A redundncia de informaes adicionada por meio de espelhamento.

Vantagens:
Leitura pode ser feita por qualquer disco
Escrita tem tempo de uma escrita
Em caso de falhas tem outra unidade





RAID NVEL 2

O raid 2 e 3 utilizam o acesso paralelo para escrita ou leitura
Os sprit so bem pequenos geralmente byte ou palavra
Usa o cdigo de hamming para recuperao



RAID NVEL 3

No utiliza hamming para correo de erros, utiliza um disco somente para o clculo de
paridade. Em vez de um cdigo de correo de erros utiliza um bit de paridade simples.


P(b) = b3 + b2 + b1 + b0
P(b) = 1 + 1 + 0 + 0
P(b) = 0

Se x2 falhar
b2 = P(b) + b3 + b1 + b0
b2 = 0 + 1 + 0 + 0
b2 = 1







RAID NVEL 4

Assim como 5 e 6 utiliza a tcnica de acesso independente, cada disco executa uma operao
de E/S
Utiliza a ideia de paridade em um conjunto maior de informaes


Vantagens:
Leitura pode ser feita por qualquer disco;
Varias escritas tem tempo de uma escrita;
Em caso de falha, tem outra unidade espelho.


(29/05/13)

RAID 5

Muito parecido com o RAID 4, porem os sprits de paridade no ocupam um disco especifico.
Utiliza a abordagem de array distribudo
Os sprits de paridade so distribudos ao longo do array de disco



RAID 6

Utiliza dois algoritmos de paridade P e Q
Pode recuperar at 2 erros em relao ao elementos do array
Devido a atualizao dos sprits de paridade para operaes de escrita essa abordagem
apresenta uma queda de desempenho.



RESUMO DE RAID

RAID 0
Vantagens: maior desempenho para escrita e leitura
Desvantagem: no possui tolerncia a falha
RAID 1
Vantagens: simplicidade e grande confiabilidade
Desvantagem: exige o dobro de espao e gera um overhead de disco de 100%
RAID 2
Vantagens: utiliza um cdigo de correo de erros (ECC)
Desvantagem: razo entre discos de dados e discos para ECC muito grande
RAID 3
Vantagens: nico disco e capaz de realizar recuperao do sistema (paridade)
Desvantagem: funcionamento em paralelo mais organizao de disco causa uma alta
taxa de transao de informao por operao

RAID 4
Vantagens: taxa de leitura maior que o RAID 3
Desvantagem: centralizao do disco de paridade
RAID 5
Vantagens: alto desempenho para escritas
Desvantagem: reconstruo mais cara que RAID 1
RAID 6
Vantagens: alta tolerncia a falhas
Desvantagem: overhead de paridade


(29/05/13)

MEMRIAS OPTICAS

CD e CD-ROM
Tecnologias muito semelhantes, sendo que o CD-ROM oferece mais resistncia e cdigo de
correo de erros.
Camadas de fabricao:
Camada de policarbonato: camada de informao
Camada de reflexo
Camada de acrlico
Rotulo do CD

OBS: CDs e CD-ROMs so gravadas por demanda por meio de um disco mestre.

Processo de leitura
Realizada por laser de baixa potencia que incide no policarbonato e refletido pela
camada de reflexo
Os dados so representados por sulcos ou pistas:
o Sulcos: possui superfcie spera refratando a luz
o Pistas: superfcie lisa que emite luz com alta intensidade
Variao de intensidade de luz percebida por um sensor fotoresistor





Organizao
Uso de trilhas em espiral
Todos os setores de uma trilha tem o mesmo tamanho
Uso de CLV (velocidade linear constante)
o Velocidade de disco pode variar
O bloco organizado da seguinte forma

(03/06/13)

CD-R

Possibilita uma gravao e muitas leituras. A estrutura do CD-R possui uma camada extra em
relao ao CD e CD-ROM, sendo composta da seguinte forma.
Camada para rtulo
Camada de proteo
Camada reflexiva
Camada de gravao: material tingido
Camada de policarbonato

CD-RW

Possui 6 camadas e no utiliza a camada reflexiva e de gravao, pois utiliza uma camada
especial capaz de alternar sua forma com base na variao de calor
Camada de rtulo
Camada de proteo
Camada dieltrica
Mistura prata, antimnio e telrio. As molculas dessa camada podem mudar seu
estado de acordo com o laser de gravao
Camada dieltrica
Camada de policarbonato

CAPACIDADE E VELOCIDADE DE GRAVAO

A maioria dos rtulos dos CDs possuem informaes sobre a capacidade e velocidade, sendo:
Capacidade
o 650MB/74min
Velocidade
o CD-R
1x 16x: pode ser gravado em uma velocidade entre 1x e 16x(x =
150KB/s)
o CD-WR
4x 10x: 10 para gravao e 4 para regravao









DVD
Baseado em CD, podendo ser dividido nas seguintes categorias:
DVD gravvel
DVD-R e DVD+R: muito parecidos, porem a diferena entre ambos esta na forma de
uso (PC-backup e DVD player)
DVDs regravveis
DVD-RW
DVD+R
DVD-RAM

Os DVDs tem o mesmo tamanho dos CDs, porm podem armazenar mais dados devido aos
seguintes fatores:
Maior densidade de informaes
Armazenamento em 2 camadas
Menor espao entre trilhas
Nmero de camadas:

Tipo de DVD Faces/camadas Capacidade
DVD-5 1/1 4,7 GB
DVD-9 1/2 8,5 GB
DVD-10 2/1 9,4 GB
DVD-14 2/1 e 2/2 13,2 GB
DVD-18 2/2 17 GB

DUAS CAMADAS
Primeira camada feita de material semitransparente e a segunda feita de um material que
no permite a passagem de luz.

BLU-RAY

Mdia ptica com grande capacidade de armazenamento
Baseado em um diodo lazer azul de comprimento de onda de 405 mm
Uma camada 27 GB
Duas camadas 50 GB

FORMATO DO BB
BD-ROM
BD-R e BD-RW (utilizado para backup)
BD-RE (gravao em HDTV)

[J1] Comentrio: Podem ser escritos
sem necessidade de apagar o disco todo
HD - DVD BD
Uma camada 15 GB 25 GB
Duas camadas 30 GB 50 GB


(12/06/13)

VISO FUNCIONAL

2) Comunicao mdulo processador
O modulo deve ser capas de aceitar os sinais de dados, controle e estados vindos do
processador:
Dados: dados destinados aos perifricos
Estados: situao do perifrico
Endereo: identificao de um perifrico

3) Comunicao com dispositivos
Emitir sinais de controle, dados e endereos aos dispositivos perifricos

4) Buffering de dados
Os dados vindos da memria devem ser armazenados em um buffer no mdulo em caso de
diferenas de desempenho entre barramento, memria, CPU e dispositivo perifrico.

5) Erro de funcionamento
O mdulo deve ser capaz de sinalizar ao processador caso um dispositivo emita algum erro
Falta de papel
Trilha com defeito


VISO ESTRUTURAL DO MDULO DE E/S

Cada mdulo pode operar n dispositivos, logo utilizara vrios endereos para identificao:
Canal de E/S
Controlados de E/S

TIPOS DE E/S

O sistema operacional precisa gerenciar as operaes de E/S de forma eficiente, sendo assim
pode adotar trs abordagens de E/S:
E/S programada: ocorre a partir de execuo de uma instruo de E/S
E/S controlada por interrupo
Uso de DMA

E/S PROGRAMADA

Quando o processador esta executando um programa e encontra uma instruo de E/S ele
executa essa instruo e envia o comando adequado ao mdulo de E/S apropriado. Ao
executar o comando emitido pelo processador o mdulo de E/S no tem obrigao de
informar o fim da operao, deixando a cargo do processador a verificao do fim da
operao.

Comandos de E/S
O mdulo pode gerar 4 comandos para controle do dispositivo
Controle: atua perifricos
Teste: teste de estados
Leitura
Escrita

INSTRUES DE E/S

Quando um mdulo de E/S utiliza o barramento do sistema junto a memria dos modos de
endereamento so possveis:
E/S mapeada na memria: por meio das mesmas linhas de endereo o mdulo de E/S
e memria utilizam o mesmo espao de endereo;
E/S independente: espao de endereo separado


(26/06/13)

E/S CONTROLADA POR INTERRUPES

Evita que o processador fique gastando tempo com a verificao de estado do mdulo
(dispositivo), pois por meio de interrupes o mdulo pode avisar quando um programa de E/S
for terminado.

PROCESSAMENTO DE INTERRUPES

O surgimento de uma interrupo dispara uma serie de eventos em hardware e software.


ASPECTOS DE PROJETO

Dois aspectos de projeto surgem pra implementao de tratamento de E/S por interrupo:
Como o processador determina qual mdulo enviou a interrupo
Como tratar mais de uma interrupo, ou seja, como o processador decide qual
interrupo ser tratada primeiro.

DESCOBERTA DE MDULOS

Mltiplas linhas de interrupo
o Tem que utilizar uma das outras 3
Verificao por software (polling)
o Rotina verifica qual o mdulo
o Uso de TEST I/O
Verificao por hardware
o Interrupo vetorada
Arbitrao de barramento
PROBLEMAS DA E/S CONTROLADA POR INTERRUPO

Toda operao de memria E/S tem que passar pelo processador
A taxa de transferncia de E/S limitada pela velocidade em que o processador
consegue atender cada interrupo
O processador fica ocupado gerenciando uma transferncia de E/S memria
Quando processador tem que gerenciar uma grande transferncia de dados deve ser
utilizada a tcnica de acesso direto memria (DMA)

DMA

Envolve um mdulo adicional no barramento do sistema. O mdulo DMA capaz de realizar a
funo do processador.
O DMA pode transferir dados pelo barramento da memria para E/S e de E/S para memria
com base solicitao do processador.

CANAL DE E/S

Canal seletor: controla um mdulo por vez.
Canal multiplexador: controla vrios mdulos


(17/07/13)

ARITMTICA DO COMPUTADOR

Em relao a aritmtica computacional dois pontos so fundamentais para concepo de uma
unidade capaz de efetuar a aritmtica binaria:
1. Representao binaria
Ponto flutuante 32 ou 64 bits
Ponto fixo
2. Algoritmos utilizados para efetuar as operaes binarias
Diviso
Multiplicao
Adio
Subtrao

[J2] Comentrio: Reais
[J3] Comentrio: Inteiros
Padro IEE754: uma especificao de como os nmeros do tipo ponto flutuante devem ser
representados.

UNIDADE LGICA E ARITMTICA (ULA)

um mdulo de processador que executa as funes aritmticas bsicas. Funciona a partir da
unidade de controle que define todas as aes que devem ser executadas.
Registradores de dados (AC)
Registradores de erro (CF ou OF)



REPRESENTAO DE INTEIROS

Podemos representar inteiros de duas formas:
Sinalizador (negativo e positivo)
No sinalizador (positivo)

Inteiros no sinalizados
Para uma palavra de 8 bits podemos representar at 256 valores. Para 8 bits podemos utilizar
valores de 0 a 255.




Nmeros sinalizados
[J4] Comentrio: Carryflag e Overflow
Existem vrios tipos de representao para nmeros inteiros sinalizados, todas elas envolvem
o uso do ultimo bit (MBS) como bit de sinal. A representao mais simples a representao
em sinal magnitude.

*Um bit para cada sinal (1 negativo, 0 positivo)

Problemas
Duas representaes para o zero
Operaes aritmticas ficam mais complexas

COMPLEMENTO DE 2

Utiliza o MBS como sinal, a diferena do sinal magnitude esta na forma de interpretao.

*O zero classificado como numero positivo.

ADIO E SUBTRAO

A adio em complemento de 2 idntica a adio para nmeros no sinalizados, a diferena
esta no uso do CF ou OF.

Regra de overflow: se dois nmeros so somados e ambos so positivos ou negativos, o
overflow ocorre se e somente se o resultado da adio for de sinal oposto.

Regra de subtrao: para subtrair um numero (subtraendo) de outro (minuendo) apanhe o
complemento de 2 do subtraendo e some com o minuendo.

[J5] Comentrio: Inverte todos os bits e
soma 1



Exemplo de adio.
-7 + 5 = 1001 + 0101 = 1110
3 + 4 = 0011 + 0100 = 0111
-4 + (-1) = 1100 + 1111 = 1 - 1011
5 + 4 = 0101 + 0100 = 1001
-7 + (-6) = 1001 + 1010 = 1 - 0011




(22/07/13)

MULTIPLICAO NO SINALIZADA

[J6] Comentrio: CF, permitido
apenas uma sobra em nmeros sinalizados.
[J7] Comentrio: OF, a soma de dois
positivos deu um negativo
[J8] Comentrio: OF, a soma de dois
negativos deu um positivo


Ex: 11 * 13 => 1011 * 1101
C
(carry)
A
(acumulador)
Q
(multuplicador)
M
(multiplicando)

0 0000 1101 1011 n = 4
0 1011 1101 1011 Soma A + M
0 0101 1110 1011 Desloca, n = 3
0 0010 1111 1011 Desloca, n = 2
0 1101 1111 1011 Soma A + M
0 0110 1111 1011 Desloca, n = 1
1 0001 1111 1011 Soma A + M
0 1000 1111 1011 Desloca, n = 0
Resposta = 10001111

















MULTIPLICAO SINALIZADA



Ex: -7 * 3 => 1001 * 0011
A Q

Q[-1]

M


0000 0011 0 1001 n = 4
0111 0011 0 1001 Sub A M
0011 1001 1 1001 Desloca, n = 3
0001 1100 1 1001 Desloca, n = 2
1010 1100 1 1001 Soma A + M
1101 0110 0 1001 Desloca, n = 1
1110 1011 0 1001 Desloca, n = 0
Resposta = 11101011


(24/07/13)

DIVISO NO SINALIZADA



Ex: 10 /5 => 1010/0101
A Q
(dividendo)
M
(divisor)

0000 1010 0101 n = 4
0001 010x 0101 Desloca
1100 010x 0101 Sub A M
0001 0100 0101 Q
0
= 0, som A + M, n = 3
0010 100x 0101 Desloca
1101 100x 0101 Sub A - M
0010 1000 0101 Q
0
= 0, som A + M, n = 2
0101 000x 0101 Desloca
0000 000x 0101 Sub A - M
0000 0001 0101 Q
0
= 1, n = 1
0000 001x 0101 Desloca
1011 001x 0101 Sub A - M
0000 0010 0101 Q
0
= 0, som A + M, n = 0
Resto = 0000, Quociente = 0010

DIVISO SINALIZADA

Ex: -7/3 => 7/3 => 0111/1101
A
(dividendo)
Q
(dividendo)
M
(divisor)

0000 0111 1101 n = 4
0000 111x 1101 Desloca
1101 111x 1101 Sub A M
0000 1110 1101 Q
0
= 0, som A + M, n = 3
0001 110x 1101 Desloca
1110 110x 1101 Sub A M
0001 1100 1101 Q
0
= 0, som A + M, n = 2
0011 100x 1101 Desloca
0000 100x 1101 Sub A M
0000 1001 1101 Q
0
= 1, n = 1
0001 001x 1101 Desloca
1110 001x 1101 Sub A M
0001 0010 1101 Q
0
= 0, som A + M, n = 0
Resto = 0001 => 1111, Quociente = 0010 => 1110


(31/07/13)

PONTO FLUTUANTE
[J9] Comentrio: Sub A M = Som A
+ compl(M)
Como a representao de nmeros em ponto fixo, em especial, complemento de 2, podemos
representar numero inteiro positivo e negativo centrados em zero.

Com essa representao no possvel representar nmeros muito grandes e muito
pequenos, pois no possvel trabalhar com a movimentao do ponto (ponto flutuante).
Para representar um ponto flutuante podemos usar o seguinte esquema:

Com esse tipo de representao usamos pouco espao para armazenar nmeros grandes.
Padro = IEEE754
Define uma representao de nmeros em formato ponto flutuante em dois tipos bsicos:
1. Formato simples 32 bits
2. Formato duplo 64 bits

EXPOENTE POLARIZADO
Utilizado para eliminar o sinal do expoente 2
k-1
, onde k = numero de bits do expoente. Ex:
expoente com 3 bits.
NOTAO NORMALIZADA
Uma melhora em relao ao armazenamento de nmeros em ponto flutuante. Nessa
representao o bit que fica antes do ponto deve ser sempre 1.
1, bbbb ... b x 2
E
, onde b = 0/1
Assim como o numero antes do ponto sempre 1, no necessrio armazena-lo. Dessa
maneira o significado passa para 24 bits. Qualquer nmero pode ser normalizado.
Antes de armazenar o P.F. devemos normalizar
Ajustar o expoente
Ex:
0101,11 x 2
0

1010,110 x 2
0

Ponto flutuante binrio
1. Defina o sinal do numero
2. Encontre o verdadeiro expoente
3. Gere o nmero
Ex:
1 010 1100 -0,11100 x 2
0

0 101 0111 101,11 x 2
0


(05/08/13)

CONJUNTO DE INSTRUES
O conjunto de instrues de uma maquina um fator super importante para o
desenvolvimento de programas, contudo quando o programador utiliza uma linguagem de alto
nvel no necessrio conhecer muita coisa sobre a arquitetura da mquina:
Conjunto de instrues: as instrues que um processador suporta definem o
conjunto de instrues do mesmo.
ELEMENTOS DE INSTRUO DE MQUINA
Instruo: um comando direcionado ao processador para execuo de uma operao.
Elementos de uma instruo.
1. Cdigo da operao (mnemnico, opcode);
2. Referncia a operando fonte;
3. Referncia a operando destino;
4. Referncia para prxima instruo.
FORMATO
1 bit para sinal
3 bits para expoente
4 bits para significado
1 3 4
S Expoente Significado
[J10] Comentrio: Classifica
processador

OPERANDOS
Os operandos fonte ou destino podem ser classificados da seguinte forma:
1. Memoria Virtual ou principal (endereo fsico ou lgico)
2. Registrador (depende da arquitetura EAX, EBX, ECX, ...)
3. Imediato (na prpria instruo)
4. E/S: o valor esta em um dispositivo de E/S se utiliza E/S mapeada para memria
esse tipo de operando para o ser de memria (HD, teclado, ...)
REPRESENTAO DA INSTRUO
Cada instruo para um processador representado por uma sequencia de bits, sendo
que a programao em linguagem de maquina se torna muito complexa, pois tudo traduzido
para uma sequencia de 1 e 0.
Uso de linguagem simblica 1M
IR decodifica instruo por meio de mnemnico
A instruo executada com base nos operandos
Ex de mnemnico
Add adio
Sub substituio
Div diviso
Mul multiplicao
Ex de instruo simblica
Load
MOV (x86)
Store

Ex
2
: estrutura de uma instruo
4 bits 6 bits 6 bits 2
4
= 16
opcode Referncia 1 Referncia 2



TIPOS DE INSTRUES

1. Processamento de dados
2. Armazenamento de dados (movimentao)
3. Armazenamento de dados (E/S)
4. Controle (if, for, entre outros)


(07/08/13)

TIPOS DE OPERANDOS
As instrues de mquina operam sobre os seguintes tipos de dados (valores).
Endereo: usado como vetor base
Nmeros
Caracteres
Dados lgicos
Nmeros: usados em operaes de aritmtica bsica
Inteiros binrios
o Positivos: de 0 at 2
n
1
o Sinalizados: de -2
n-1
at 2
n-1
1
Ponto flutuante
o Estouro de expoente
[J11] Comentrio: Obs: cuidar com o
estouro de representao
o Estouro de significando
Decimal
o Cada digito decimal traduzido para um binrio de 4 bits
Caracteres: geralmente utilizado o ASCII para representar caracteres
7 bits para objeto
1 bit para correo de erro
Dados lgicos: representa valores booleanos, pode ser representado
Uma palavra
Meia palavra
Conjunto de valores lgicos
Ligado a linguagem

TIPOS DE OPERAES
Transferncia de dados instrues para armazenamento e carregamento.
Aritmtica: operaes bsicas (add, sub, div, mul), alm de absoluto, incremento, ...
Lgica
Converso: usada para realizar converses entre tipos de dados
E/S: rotinas do SO para acessar dispositivos
Controle de Sistema: rotinas usadas para tarefas importantes (troca de contexto)
Transferncia de Controle

OPERAES LGICAS
Operaes de deslocamento (a direita e a esquerda)


TRANSFERNCIAS DE CONTROLE
Uso de salto em PC
Utilizaes:
Uma execuo deve ser executada n vezes (lao)
Necessidade de selecionar uma instruo (i/j)
Estruturao de cdigo (procedimento)
Instrues de desvio condicional (comparao + salto)
Desvio incondicional
PROCEDIMENTOS (FUNES)
Call end (procedimento)
Ret end (ponto de chamada)

(14/08/13)

INSTRUES DE CHAMADA DE PROCEDIMENTO
Um procedimento um programa ou rotina autocontido em um programa de escopo maior.
Um procedimento pode ser invocado ou chamado em qualquer ponto de um programa.
Vantagens:
Modularidade (organizao)
Economia de cdigo
O procedimento baseado em duas instrues bsicas:
Call: armazena valor de retorno
Ret: retorna o fluxo de controle
Exemplo de controle de fluxo
Endereos Mem. Principal
4000
...
4100 Call Proc1(4500)
...

4500
...
4600 Call Proc2(4800)
...
4650 Call Proc2(4800)
...
4700 Ret

4800
...
4850 Ret
Pontos importantes
um procedimento pode ser chamado em mais de um local
um procedimento pode chamar outro procedimento
a chamada fica ligada a quem chamou
Obs: um procedimento, aps sua execuo, precisa retornar o fluxo de execuo. Assim, para
um procedimento, necessrio armazenar parmetros e variveis locais
registradores
memria
pilha
ORGANIZAO DE UM PROGRAMA EM MEMRIA

rea de cdigo
(instruo)
rea de dados
(operando)
RIP
Pilha



(21/08/13)

ENREDEAMENTO
Em um conjunto de instrues um operando pode ser referenciado de varias formas, ou seja,
como um operando ser acessado em uma determinada instruo.
Uma instruo exige o uso de operandos (valores e endereos) para realizar determinadas
operaes, logo temos que definir uma forma de acessar esses operandos (endereamento).
Tipos de endereamento
Imediato: o valor do operando esta na prpria instruo
Ex: mov $5, %EAX =>
Vantagens: no exige acesso a memria
Desvantagem: a representao do operando
Direto: a instruo possui um operando que representa um endereo de memria
Ex: movL a, %EAX =>
[J12] Comentrio: Usado para definir
escopo (global ou local)

No muito utilizada atualmente, pois permite apenas endereamento fsico de
memria (campo para endereo reduzido)

Indireto: o endereo presente na instruo aponta para um endereo de memria, e na
memria o endereo aponta pra outro endereo.
Vantagens: maior espao de endereamento
Desvantagens: dois acessos a memria

Endereamento de registrador: semelhante ao endereamento direto, porem no enderea
um endereo de memria e sim um registrador
*Pouco espao de endereamento
Endereamento indireto por registrador: anlogo ao endereamento indireto. Em ambos os
casos o campo de endereo aponta para um endereo e no para um literal.

Vantagens: apenas um acesso a memria
Desvantagens: pouco espao enderevel para registrador
Endereamento por deslocamento: usa dois endereos para gerar um
Endereamento relativo (MMU)
Endereamento por registrador base
Indexao (laos)
Base [0] [1] [2] [3] [4] [5]
[J13] Comentrio: Temos poucos
registradores (5 at 32), assim poucos bits
so usados para endereamento

Base = registrador endereamento por registrador base
Base = memria indexao (endereo fixo e contador em registrador)
Endereamento por pilha: os operandos so armazenados em ordem na pilha do sistema,
assim como as instrues em memria. Assim, ao executar uma instruo o endereo do
operando fica implcito em ESP.

FORMATO DA INSTRUO
Como a instruo organizada
Tamanho da instruo: 8 bits ou mltiplo (tamanho de palavra)
Alocao de bits para uma instruo
o Tamanho fixo
o Tamanho varivel
0000 0000 0000 0000

000000 0000 000

(28/08/13)

ESTRUTURA E FUNO DO PROCESSADOR
A execuo de instruo, base para o funcionamento de computadores, exige uma organizao
bem especifica em relao ao processador, ou seja, para que o ciclo de instruo seja possvel
o processador deve apresentar a seguinte estrutura.
Funcionalidades do processador
Buscar instruo
Interpretar instruo
Obter dados da instruo
Executar processamento de dados
Gravar dados
TIPOS DE REGISTRADORES
Registradores visveis ao usurio: podem ser acessados pelo programa
Registradores de uso geral: usado como variveis de programa -> manipulao livre
Registradores de dados: (EDX, EAX)
Registradores de endereo: armazenamento de ponteiros (ESP, EBP)
Registradores de controle de estado: destinados ao SO
Contador de programas (PC)
Registrador de instruo (IR)
Registrador de endereo de memria (MAR)
Registrador de buffer de memria (MBR)
Registradores (PSW)
o Flags: serial, carry
o Estados: interrupes, modo suspensor
PIPELINE DE INSTRUO
Semelhante ao uso de uma linha de montagem em uma planta industrial, ou seja, dividimos o
processo de produo em pequenas partes que so executadas de forma independente
Pipeline de 6 estagios
Busca de instruo (BI)
Decodifica a instruo (IR)
Calcula operandos (CO) => modos de endereamento
Obter operandos(OO)
Executa instruo (EI)
Escreve operando (EO)

(02/09/13)

Pipeline de 6 estgios

1) Busca de instruo (BI) l prxima instruo.
2) Decodifica a instruo (DI) verifica opcode
3) Calcula operandos (CO) Verifica tipo de endereamento.
4) Obter operando (OP) Busca operando na memria (--)
5) Executa Instruo (EI) Executa a instruo.
6) Encerra operando (EO) Escreve em memria (--)

TEMPO
ADD (memria)
BI DI CO OO EI EO
STORE
BI DI CO OO EI


P Pipeline 1 2 3 4 5 6 7 8
InsIn Instruo 1 BI DI DI CO OO EI EO
Instruo 1 Instruo 1 Instruo 2 BI DI CO OO EI EO
Instruo 3 BI DI CO OO EI EO

Simplifique 3 * 6 = 18 T
Pipeline

Hazards de Pipeline

Ocorre quando o pipeline, ou alguma parte dele, interrompida. Existem trs tipos de hazards:

1) Hazard de recurso: Quando duas ou mais instrues precisam do mesmo recurso
fsico.
Ex.: Memria arquitetura X86: nico acesso.

BI DI CO OO EI EO
BI DI CO OO EI EO
BI DI CO OO EI EO
X BI DI CO OO EI EO



Soluo: Aumentar nmero de recursos (SC)

2) Hazard de Dados: Concorrncia para acessa operandos
ADD %EBX, %EAX EAX = EAX + EBX
SUB %ECX, %EAX EAX = EAX ECX

Leitura Escrita

ADD BI DI CO OO EI EO
SUB BI DI CO OO EI EO

Leitura Escrita

Tipos de hazards de Dados:

Leitura aps escrita: Uma escrita est sendo realizada e antes de seu fim uma leitura
finalizada.
Escrita aps leitura: Ao executar uma operao de leitura, uma escrita iniciada e a
leitura termina antes da escrita.
Escrita aps escrita: Escrita realizada de forma imediata.

Ex.:
EAX = EAX * EBX EAX = EAX + ECX



Valor Inicial:
EAX = 1 (1 * 2) 2 + 3 = 5
ECX = 3 (1 + 3) 4 * 2 = 8
EBX = 2

3) Hazards de Controle: Um pipelone toma o desvio errado.
Desvios condicionais: Um grande problema do pipeline garantir o fluxo de execuo
dos seis estgios de forma adequada.
BI DI CO OO EI EO Desvio
Enviado BI DI CO OO
BI DI CO
BI DI
BI DI
Salto BI BI


Trabalhar com desvios condicionais (5 abordagens)
1) Mltiplos ciclos: A cada instruo de desvio um novo fluxo de execuo iniciado.

Instruo 1 BI DI CO OO EI EO
Instruo de desvio BI DI

Instruo de destino BI DI OO
Instruo de desvio BI DI Instruo de sequncia
BI DI



Problemas: Concorrncia de registradores;
Muitos fluxos de execuo;


2) Busca antecipada do alvo: Verifica o alvo do desvio, carrega para o processador e
garante que se o desvio fora tomado a instruo de salto j est no registrador.
3) Buffer de lao de repetio: Uma pequena memria que utilizada como cache de
instruo em sequncia. (Usado em Laos)


4) Previso de desvio: Teste prever o desvio
Estratgias estticas: No usa histrico para prever.
- Previso nunca tomada;
- Previso sempre tomada;
- Previso por opcode.


(04/09/13)

PREVISO DE DESVIO COM BASE EM HISTRICO
Estratgia dinmica: define se ira tomar o desvio ou no com base em um histrico (esse
histrico indica se uma instruo de desvio condicional toma ou no um desvio com
frequncia).
Duas abordagens:
1. Chave tomada / no tomada: bits extras so adicionados as linhas de cache para
armazenar histrico.
2. Tabela de desvio: uma cache dedicada a instrues de desvio.
Chave tomada / no tomada
Instruo sai da cache perde seu histrico
1 bit de histrico
1 1 1 1
TAG P1 P2 P3 P4
Ex:
While
teste salto
===
[J14] Comentrio: Bit extra
salto
===
jump while
2 bits de histrico: armazena o estado das duas ultimas execues da instruo de
desvio
Enquanto no houver dois erros o estado no muda


Tabela de Desvio
Com o uso de bits de histrico no possvel, mesmo com a previso correta, buscar o
operando em memria antes do fim da decodificao da instruo.
Com o uso da tabela podemos armazenar o endereo de salto j na busca da instruo e
armazenar esse valor na tabela.
End instr desvio Histrico End. salto <= Linha da Tabela






INSTRUO CISC E RISC
No inicio dos anos 70 no existiam muitos recursos computacionais, o que tornava a
programao complexa
Programas otimizados
Linguagem limitada
Hardware (barato) X software(caro)
Resolver problemas
Linguagem de alto nvel
Complexidade em hardware
CISC: (Complex Instruction Set Computer)
Qualquer instruo faz referencia a memria
Grande numero de instrues
Complexado em instrues
Menor cdigo de maquina
RISC: (Reduced Instruction Set Computer)
Computador complexo
Muitos registradores (+/- 500)
Instrues reduzidas
LOAD e STORE
(11/09/13)

CISC (COMPLEX INSTRUCTIONS SET COMPUTER)
Diminuir a complexidade em software
Nos anos 70 os compiladores eram pobres e a memria era lenta e cara, sendo muito
importante a otimizao de cdigo, que era escrito em linguagem de montagem (Assembly).
Linguagem de alto nvel => cdigo intermedirio maior
Problema: pouca memria
Soluo: implementar em hardware
Diminuir complexidade do cdigo em LM
Instrues menores
Ex:
MUL
MOV Reg1, Mem1
MOV Reg2, Mem2
MUL Reg1, Reg2
MOV Reg2, Mem1
Uma instruo em CISC tem maior CPI
Execuo direta:o processador recebe uma instruo decodificada e ativa um modulo de
controle que executa a instruo.

[J15] Comentrio: Em CISC: MUL
Mem2, Mem1


Micro-Cdigo: no processador existe uma unidade de controle genrica que executa uma
pequena rotina de micro instrues dependendo da instruo requisitada
Uso de uma memria (ROM) para armazenar micro-cdigo


RISC (REDUCED INSTRUCTIONS SET COMPUTER)
Otimizar recursos e tempo
Memrias e compiladores melhores
Refinamento do CISC somente instrues mais usadas
Instrues menores => menor CPI, em um ciclo a instruo executada
Eliminao do acesso a memria => LOAD e STORE
Operaes baseadas em Reg-Reg (+/- 500 registradores)
Conjuntos de instrues reduzidos e fortes usam de compiladores
Como na arquitetura RISC tudo era feito por registradores, uma abordagem de gerenciamento
foi necessria para manipular esses registradores, principalmente para garantir escopo de
varivel.
Hardware: uso de janela de registradores. Os registradores so organizados em conjuntos e
cada conjunto endereado de forma nica.
Regs
Parmetro
Regs
Locais
Regs Temp

Regs
Parmetro
Regs
Locais
Regs
Temp




Buffer circular de janelas

Compilador: tenta otimizar uso de registradores
Colorao de grafos: ns adjacentes devem ter cores diferentes



(25/09/13)

SUPERESCALARES
Um processador superescalar aquele em que mltiplos e independentes pipelines de
instruo so utilizados, cada pipeline deve possuir a mesma quantidade de estgios.
Superpipeline
Se aplica sobre estgios de pipeline simples, defende que certos estgios que levam menos de
um ciclo de clock sejam executados mais rpido.
Imstrues independentes: executadas em paralelo

Exemplo de pipeline de 4 estgios



Problemas do super pipeline
Dependncia verdadeira
o Add eax, ecx
o Add ebx, ecx

Dependncia procedural (desvio)


EMISSO DE Instruo
Para otimizar a abordagem de superescalar o processador deve ser capaz de decidir a ordem
em que as instrues so decodificadas e escritas, ou seja, a ordem em que as mesmas so
emitidas e finalizadas.
3 abordagens utilizadas:
Emisso em ordem com concluso em ordem
Emisso em ordem com concluso fora de ordem
Emisso fora de ordem com concluso fora de ordem

1. Emisso em ordem com concluso em ordem
Executa cada instruo na ordem original

2. Emisso em ordem com concluso fora de ordem
Instruo so escritas quando terminaram

3. Emisso fora de ordem com concluso fora de ordem



(09/10/13)

Paralelismo em nvel de instruo: existe quando as instrues so independentes e podem ser
executadas em paralelo
Paralelismo a nvel de mquina: quantidade de instrues que podem ser buscadas e lidas ao
mesmo tempo
O superescalar explora tanto paralelismo a nvel de instruo quanto de mquina, alm de
organizar o cdigo para um maior desempenho. Essa organizao pode gerar alguns problemas
Dependncia de dados: antes de uma escrita ser finalizada uma leitura ocorre
EAX = EBX + 2
ECX = EAX + 5
Dependncia de sada: escrita aps escrita
EAX = EAX + EBX
EAX = ECX + 1
Antidependncia: uma leitura no termina e ocorre uma escrita
ECX = EAX + 2
EAX = EBX + 2
Para otimizar a execuo de instrues o pipeline pode adotar uma politica de emisso e
concluso de instruo (organizar a ordem de decodificao e escrita)
Problema: como a ordem de execuo inicial modificada para melhorar o desempenho certas
dependncias podem ocorrer durante a execuo do pipeline.
Soluo:
Renomear registradores
Parar pipeline
Renomear registradores: a cada nova escrita, um novo registrador alocado
R3b <= R3 + R5
R4 <= R3b + 1
R3c <= R5 + 1
R7b <= R2c + R4b
Execuo do superescalar

OPERAO DA UNIDADE DE CONTROLE
Um programa de computador uma sequencia de instrues, sendo que cada instruo
executada por meio de um pipeline de estgios
Cada estagio de um pipeline possui uma funo simples e atmica, sendo cada estagio
controlado por uma sequencia de meio-instrues
Micro-instrues so operaes funcionais ou atmicas de um processador, essa
Micro-instrues realizam tarefas especificas e pontuais



(16/10/13)

UNIDADE DE CONTROLE

Estrutura da UC
Para elaborar uma unidade de controle bsica alguns elementos devem ser explorados, em
especial 3 elementos.
1. Definir elementos bsicos do processador
Representao numrica (complemento de 2)
Tamanho da palavra de informao
Registradores
Tamanho da memria
2. Conjunto de micro operandos que devem ser executados
Transferncia de dados entre Reg/Reg ou Reg/Mem ou Mem/Reg
Controle de barramento
E/S
Operaes logicas e aritmticas
3. Funcionalidades
Sequenciamento (busca de instruo)
Execuo
Sinais de controle
Para que uma UC desempenhe sua funo ela precisa ter entradas que lhe permitam
determinar o estado do sistema e sadas que lhe permitam controlar o comportamento do
sistema.

Caminhos de dados
ULA
Barramento do sistema
Implementao de uma UC
Implementao por hardware: circuitos que definem o prximo estado do sistema
Implementao micro programada: micro programa escrito em hardware e
executado por uma UC (firmware)

Implementao por hardware
Circuito combinacional que define os sinais de controle


Unidade de controle micro programada
Pode ser programada por uma sequencia de bits
Usada quando o controle em hardware muito complexa
Usado em CISC
Micro instruo: palavra em ROM que contm micro operaes
Micro operao: sinal digital
Memria de controle
Micro programa
Sequenciador




(23/10/13)

INUPROCESSADORES
Durante muito tempo confiou-se na diminuio dos transistores como meio de projetar
processadores mais rpidos
Aumento da velocidade de clock
Utilizao maante de micro componentes
Maior densidade de chip
Maior consumo e dissipao de calor
Paralelismo a nvel de instruo
Paralelo
Surgimento do multiprocessamento: sistemas com mais de um elemento de processamento
que permite a execuo de vrios processos ou tarefas ao mesmo tempo.
Balanceamento de cargas
Diminui a dissipao de calor
Menor consumo de energia
Ligado a execuo de tarefas paralelas logo um programa deve ser paralelo
Multiprocessamento
Os processadores em geral podem ser classificados em quatro categorias conforme Flynn:
1. SISD: nico fluxo de dados e nico fluxo de instruo

2. SIMD: nica instruo, mltiplos dados

3. MISD: mltiplas instrues, nico dado

ORGANIZAO DE MULTIPLOS PROCESSADORES


SMP: utilizam a memria e o barramento de forma compartilhada, porem como o barramento
compartilhado o tempo de acesso a memria igual para todos os processadores.


NUMA: composto por uma serie de mdulos (ns), onde cada n contm um ou mais
processadores com uma memria local. Cada n lidado por uma interconexo.

Clusters: grupos de computadores completos interconectados por meio de uma rede. Criam a
iluso de um nico computador

Anda mungkin juga menyukai