Organização e Arquitetura de Computadores
-
Upload
gabriel-custodio -
Category
Documents
-
view
47 -
download
13
Transcript of Organização e Arquitetura de Computadores
-
(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 m2.
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 * 106
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 * 106
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 * 106 178 MIPS
2.24 * 106
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 2n bits.
Ex.: n = 32 232 = 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 2n/k,
logo:
M = 2n/ 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 2S 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 Q0 = 0, som A + M, n = 3
0010 100x 0101 Desloca
1101 100x 0101 Sub A - M
0010 1000 0101 Q0 = 0, som A + M, n = 2
0101 000x 0101 Desloca
0000 000x 0101 Sub A - M
0000 0001 0101 Q0 = 1, n = 1
0000 001x 0101 Desloca
1011 001x 0101 Sub A - M
0000 0010 0101 Q0 = 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 Q0 = 0, som A + M, n = 3
0001 110x 1101 Desloca
1110 110x 1101 Sub A M
0001 1100 1101 Q0 = 0, som A + M, n = 2
0011 100x 1101 Desloca
0000 100x 1101 Sub A M
0000 1001 1101 Q0 = 1, n = 1
0001 001x 1101 Desloca
1110 001x 1101 Sub A M
0001 0010 1101 Q0 = 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 2k-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 2E, 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 20
1010,110 x 20
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 20
0 101 0111 101,11 x 20
(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
-
Ex2: estrutura de uma instruo
4 bits 6 bits 6 bits 24 = 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 2n 1
o Sinalizados: de -2n-1 at 2n-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
-
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
-
(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