arquitetura-1
208 pág.

arquitetura-1


DisciplinaArquitetura de Computadores4.025 materiais30.417 seguidores
Pré-visualização9 páginas
deve esperar
 	 aumento dos recursos
EFEITO DE UM DESVIO CONDICIONAL NA OPERAÇÃO DO PIPELINE DE INSTRUÇÃO
PIPELINE DE INSTRUÇÃO DE UM PROCESSADOR DE SEIS ESTÁGIOS
EFEITOS DO PIPELINE EM UMA ARQUITETURA RISC A INSTRUÇÃO NOOP(NO OPERATION) É INSERIDA PELO COMPILADOR OU ASSEMBLER POR CAUSA DOS ATRASOS DE DESVIOS E DADOS.
INSTRUÇÕES INVERTIDAS GANHA 1 CICLO DE RELÓGIO
USO DA INSTRUÇÃO NOOP EVITA CIRCUITO PARA ESVAZIAR PIPELINE
ARQUITETURAS SUPERESCALARES:
40
Intruction
fetch unit
Intruction
decode
 unit
Operand
fetch unit
Intruction
execution
 unit
Write back
 unit
S1 S2 S3 S4 S5
Intruction
decode
 unit
Operand
fetch unit
Intruction
execution
 unit
Write back
 unit
Múltiplos pipelines: Pentium (pipeline u x pipeline v)
Nesse caso é preciso determinar se as instruções podem ser executadas em paralelo inicialmente (stalls, dependências)
S4 pode dominar os tempos 
Os demais estágios são muito mais simples
Arquitetura Superescalar com 5 unidades funcionais especializadas
PROCESSADORES MATRICIAIS _ REALIZAM A MESMA SEQUENCIA
DE INSTRUÇÕES SOBRE DIFERENTES CONJUNTOS DE DADOS 
 ULA
Memória
PARALELISMO A NÍVEL DE PROCESSADOR:
A ARQUITETURA BÁSICA DE UM SISTEMA MULTIPROCESSADO COM MEMÓRIA
COMPARTILHADA CONSISTE DE VÁRIOS CONJUNTOS PROCESSADORES/CACHES 
COMPARTILHANDO A MESMA MEMÓRIA FÍSICA, TIPICAMENTE LIGADAS A UM
BARRAMENTO. EM GRANDES PROJETOS MÚLTIPLOS BARRAMENTOS, OU SWITCHES, 
PODEM SER USADOS DESDE QUE A PROPRIEDADE CHAVE PERMANEÇA, QUE É
TEMPO DE ACESSO UNIFORME A TODOS OS PROCESSADORES.
A ARQUITETURA BÁSICA DE UM SISTEMA DISTRIBUÍDO CONSISTE DE UM
NÓ CONTENDO UM PROCESSADOR, ALGUMA MEMÓRIA, ALGUNS DISPOSITIVOS
DE ENTRADA/SAÍDA E UMA INTERFACE PARA UMA REDE DE INTERCONEXÃO
UM MULTIPROCESSADOR COM 16 UCPs COMPARTILHANDO UMA
MEMÓRIA COMUM. (b) UMA IMAGEM SENDO PARTICIONADA EM 16 SEÇÕES, 
CADA UMA SENDO ANALIZADA POR UMA UCP DIFERENTE.
UM MULTICOMPUTADOR COM 16 UCPs, CADA UM COM SUA MEMÓRIA PRIVADA
A IMAGEM ANTERIOR DIVIDIDA ENTRE AS 16 MEMÓRIAS
PARADIGMAS COMPUTACIONAIS:
(a) PIPELINE _ FLUXO DE DADOS LONGO COLOCA ATIVO TODOS OS PROCESSADORES.
(b) COMPUTAÇÃO EM FASE_ O TRABALHO É DIVIDIDO EM FASES, POR EXEMPLO
INTERAÇÕES DE UM LOOP. DURANTE CADA FASE, MULTIPLOS PROCESSOS 
TRABALHAM EM PARALELO, MAS QUANDO UM TERMINA ESPERA PELA CONCLUSÃO
DOS OUTROS ANTES DE INICIAR UMA NOVA FASE.
(c) DIVIDIR E VENCER_ UM PROCESSO INICIA E SE BIFURCA EM OUTROS PROCESSOS
PARA O QUAL ELE PASSA UMA DETERMINADA CARGA DO TRABALHO.
(d) REPLICAÇÃO DO TRABALHO_ EXISTE UMA FILA DE TRABALHO CENTRALIZADA
E PROCESSADORES BUSCA TAREFAS DA FILA E AS EXECUTA. SE UMA TAREFA GERA
NOVAS TAREFAS ELA É ADICIONADA A FILA CENTRAL.
MEDINDO O DESEMPENHO:
A MELHOR MEDIDA PARA O DESEMPENHO DE UM COMPUTADOR É O TEMPO DE EXECUÇÃO
 DE UM PROGRAMA, OU PROGRAMAS, QUE O USUÁRIO DESEJA EXECUTAR. ENTRETANTO, 
DEVIDO A DIVERSIDADE DE APLICAÇÕES É IMPRATICÁVEL TESTAR TODOS OS PROGRAMAS
QUE SERÃO EXECUTADOS EM UM DADO SISTEMA ANTES DE DECIDIR QUE COMPUTADOR
COMPRAR. ASSIM, OSPROJETISTAS DE COMPUTADORES PRODUZIRAM UM CERTO NÚMERO
DE UNIDADES PARA DESCREVER O DESEMPENHO DE COMPUTADORES.
MIPS ( MILHÕES DE INSTRUÇÕES POR SEGUNDO):
É A TAXA PELA QUAL A MÁQUINA EXECUTA INSTRUÇÕES. É OBTIDA ATRAVÉS DA DIVISÃO
DO NÚMERO DE INSTRUÇÕES EXECUTADAS EM UM PROGRAMA PELO TEMPO GASTO NA
SUA EXECUÇÃO.
A TAXA DE MIPS DE UM COMPUTADOR NADA DIZ A RESPEITO DE QUANTAS INSTRUÇÕES
SÃO NECESSÁRIAS PARA EXECUTAR UMA DADA TAREFA.
2. CPI/IPC(CICLOS POR INSTRUÇÃO/INSTRUÇÕES EXECUTADAS POR CICLO):
O CPI É CALCULADO DIVIDINDO-SE O NÚMERO DE CICLOS DE RELÓGIO NECESSÁRIOS PARA
EXECUTAR O PROGRAMA PELO NÚMERO DE INSTRUÇÕES EXECUTADAS.
O IPC É CALCULAO DIVIDINDO-SE O NÚMERO DE INSTRUÇÕES EXECUTADAS DE UM DADO
PROGRAMA PELO NÚMERO DE CICLOS DE RELÓGIO NECESSÁRIOS PARA EXECUTAR O
PROGRAMA.
ESSAS DUAS UNIDADES FORNECEM A MESMA INFORMAÇÃO E A ESCOLHA DE QUAL
UTILIZAR É BASEADA EM QUAL DOS VALORES É MAIOR QUE 1. ENTRETANTO, EM 
SISTEMAS QUE EXECUTAM MAIS DE UMA INSTRUÇÃO POR CICLO UTILIZA-SE IPC EM
LUGAR DE CPI.
EXEMPLO:
UM PROGRAMA CONSISTE DE UM LAÇO DE 100 INSTRUÇÕES QUE É EXECUTADO 42 VEZES.
SE DEMORA 16.000 CICLOS PARA EXECUTAR O PROGRAMA EM UM DADO SISTEMA, QUAIS
SÃO OS VALORES DE CPI E DE IPC DO SISTEMA PARA ESTE PROGRAMA?
NÚMERO DE INSTRUÇÕES = 100 x 42 = 4200.
CPI = NUMERO DE CICLOS / NÚMERO DE INSTRUÇÕES = 16000 / 4200 = 3,81.
IPC = NÚMERO DE INSTRUÇÕES / NÚMERO DE CICLOS = 4200 / 16000 = 0,26.
O IPC E O CPI NADA DIZEM COM RESPEITO A FREQUÊNCIA DE RELÓGIO DO SISTEMA OU DE
QUANTAS INSTRUÇÕES O SISTEMA EXIGE PARA EXECUTAR UMA TAREFA.
CONJUNTOS DE BENCHMARK:
O MIPS e o CPI/IPC têm limitações significativas como medidas de desempenho de computadores. Conjuntos de Benchmark (medição de desempenho) são uma terceira medida de desempenho de computadores e foram desenvolvidas para resolver as limitações do MIPS e do CPI/IPC.
Um conjunto de benchmark consiste de uma série de programas que acredita-se ser o correspondente Típico de programas que serão executados no sistema. A pontuação de um sistema no conjunto de benchmark é baseada em quanto tempo o sistema demora para executar todos os programas que o compõem.
Os conjuntos de benchmark fornecem várias vantagens sobre MIPS e CPI/IPC. Primeiro, os seus resultados de desempenho são baseados em tempos totais de execução, não na taxa de execução de instruções. Segundo, elas fazem uma média do desempenho do sistema por vários programas, de modo a gerar uma estimativa da sua velocidade média. Isto torna a avaliação geral do sistema em um conjunto de benchmark um indicador melhor do seu desempenho geral do que é a avaliação MIPS em qualquer programa isolado. 
MÉDIA GEOMÉTRICA VERSUS MÉDIA ARITMÉTICA:
Muitos conjuntos de benchmark utilizam a média geométrica, em vez da média aritmética, para fazer a média dos resultados dos programas contidos no conjunto de benchmark, porque um único valor extremo tem um impacto menor sobre a média geométrica de uma série do que sobre a média aritmética. 
A média geométrica de n valores é calculada multiplicando-se os n valores e tirando-se a raiz enésima
Do produto. A média aritmética, ou média de um conjunto de valores, é calculada somando-se todos os
valores e dividindo-se o resultado pelo número de valores.
Exemplo:
Quais são as médias aritmética e geométrica dos valores 4, 2, 4, 82?
A média aritmética desta série é:
4 + 2 + 4 + 82 = 23
 4
A média geométrica é:
 4 x 2 x 4 x 82 = 7,16
Note que a inclusão de um valor extremo na série teve um efeito muito maior sobre a média
aritmética do que sobre a média geométrica.
ACELERAÇÃO:
Freqüentemente, os projetistas de computadores utilizam o termo aceleração para descrever como o 
desempenho de uma arquitetura muda à medida que diferentes melhoramentos são feitos naquela 
arquitetura. A aceleração é simplesmente a razão entre os tempos de execução antes e depois que a 
mudança é feita, de modo que:
		Aceleração = 	Tempo de execuçãoAntes
			 		Tempo de execuçaoDepois
4
Por exemplo, se um programa demora 25 segundos para ser executado em uma versão de uma
arquitetura e 1:' segundos para ser executado em uma nova versão, a aceleração geral é de
25 segundos/15 segundos = 1,67. 
A LEI DE AMDAHL 
A regra mais importante para projetar sistemas de computadores de alto desempenho é faça com que o
mais comum seja rápido. Qualitativamente, isto significa que o impacto de um dado aperfeiçoamento 
sobre o desempenho geral depende tanto de quanto o aperfeiçoamento melhora o desempenho quando
ele é utilizado, como de com que freqüência esse aperfeiçoamento é utilizado. Quantitativamente, esta 
regra foi expressa pela Lei de Amdahl, que define:
	Tempo de execuçãonovo= Tempo de execuçãoAntigo x [ Parcelanão usada+ Parcelausada ]