Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Processadores 2 Introdução 3 Data path 4 Data Path o Composto pelo conjunto de registradores e o ULA o Instruções register-memory n Operações diretamente na memória n Transferências entre memória e registrador o Instruções register-register n Valores armazenados em registrador o Ciclo de Dados n Tempo de uma operação na ULA n Velocidade de processamento 5 Execução de instruções o Ciclo fetch-decode-execute n parece muito com um programa n equivalência entre hardware e software o Interpretação de comandos n CPUs tinha poucas instruções originalmente n Tendência: CPU rápida implica em muitas instruções específicas 6 Microprogramação o Conceito de família de procesadores n Manter compatibilidade n O termo arquitetura foi cunhado assim o Técnica sugerida por Wilkes (1951) n Um software dentro do hardware n Substituído progressivamente por hardware para obter maior desempenho 7 Benefícios de microgramação o Permite consertar instruções erradas sem refazer o hardware o Capacidade de acrescentar instruções com custo baixo o Projeto estruturado n desempenho em desenvolvimento, teste e documentação o Vantagem adicional n ROM era mais rápido do que RAM 8 RISC versus CISC o Será que alguém hoje pensa em gerar um sistema operacional menos poderoso? o Começou com o 801 na IBM n RISC – RISC II – SPARC (Patterson) n MIPS (Hennessy) o Mudança de tendência n Quantas instruções podem ser despachadas por unidade de tempo 9 Princípios de projeto o Depois da guerra religiosa n Pessoas parecem ter convergido à um conjunto de regras básicas dado o estado da arte o Mudanças tecnológicas podem mudar essas regras n Processadores modernos seguem esses princípios n Conhecidos como princípios RISC n Restrições externas 10 Princípios RISC o Toda instrução deve ser executada diretamente pelo hardware n O mundo deu uma volta completa o Deve-se maximizar a taxa de execução de instruções n não importa quanto tempo cada instrução demora... ;-) n Paralelismo se torna fundamental o e a coisa toda se torna interessante 11 Princípios RISC o Instruções devem ser fáceis de decodificar n diretamente relacionado com a velocidade de disparo de cada instrução o Apenas LOADs e STOREs acessam a memória n Tendência a usar registradores ao máximo n Acesso a memória é lento o Ter muitos registradores n Minimizar o custo de spill de registradores 12 Paralelismo a nível de instrução o Acelerar o clock não é o suficiente n Mais cedo ou mais tarde esbarra-se em limites tecnológicos o Paralelismo é a resposta natural n A nível de instrução o cada instrução é executada paralelamente para obter mais MIPS n A nível de processador o usar mais CPUs independentes 13 Pipelining o Desde 1959 n instruções precisam ser buscadas na memória e depois executadas n dois estágios: prefetch o Atualmente instruções são divididas em mais estágios n cada estágio é tratado por uma porção específica de hardware o Trade-off entre latência e largura de banda 14 Pipelining 15 Arquiteturas Superescalares o Se um é bom, dois é melhor ainda n velocidades relativas dos estágios n conflito de instruções o e o compilador começa ter que ficar inteligente o As vezes apenas 1 pipeline n com certas unidades funcionais replicadas ou variadas 16 Pipeline replicado 17 Múltiplos caminhos 18 Paralelismo a nível de processador o Primeira lei do software (Nathan Myhrvold) n Software é um gás que expande pra ocupar todo o seu recipiente o Existe um limite até onde 1 CPU pode ser rápida n velocidade da luz n dissipação de calor n paralelismo de instrução ajuda 19 Processadores vetoriais o ILLIAC (1972) n Grande número de processadores idênticos, ligados segundo um topologia regular o Processadores vetorais n Instruções que operam em vetores o Não são mais o foco da pesquisa 20 Arquitetura do ILLIAC IV 21 Multiprocessadores o Entramos em programação paralela o Várias configurações possíveis n memória compartilhada ou distribuída o Como programá-los n o que podemos explorar? n como resolver conflitos? o Multicomputadores n quando se escala para muitos processadores n comunicação restrita a troca de mensagens 22 Memória 23 Definições É onde os dados e os programas são armazenados Binary Digit mais eficiente pela tecnologia atual Endereço de memória cada posição de memória recebe um nome cada posição armazena um conjunto de bits menor unidade endereçavel atualmente 1 byte = 8 bits palavra = maior unidade de processamento 24 Ordenação de bytes 1 byte é sempre organizado da direita pra esquerda para 1 palavra, a ordem dos bytes pode variar little endian (intel) big endian (sparc) questão de portabilidade e de inter- operabilidade 25 Ordenação de bytes 26 Códigos de correção de erros Distância Hamming em quantos bits duas palavras diferem (d) Criação de códigos para os dados nem todas as combinações são válidas detecção de erros de até d – 1 bits correção de erros de até (d – 1)/2 bits Bits de paridade par ou ímpar distância hamming 2 27 Código de Hamming Acrescentam-se r = log(m) + 1 bits Os bits são numerados a partir de 1 Bit cujo número é potência de dois é bit de verificação (paridade) Exemplo: m = 8, r = 4, n = 12. Bit 1 paridade de: 1, 3, 5, 7, 9, 11. Bit 2 paridade de: 2, 3, 6, 7, 10, 11. Bit 4 paridade de: 4, 5, 6, 7, 12. Bit 8 paridade de: 8, 9, 10, 11, 12. Para achar o erro, soma-se o valor dos bits de paridade que estiverem incorretos 28 Memória Cache Desequilibrio de desempenho entre memória e CPU acesso ao barramento Princípio da localidade de referência acessos sequencias tendem a referenciar posições consecutivas colocar as posições mais acessadas na cache Se falhar, consulta memória primária 29 Memória Cache Supondo uma taxa de acerto h (hit ratio) taxa de falha (miss) 1 – h tempo de acesso: C + (1 – h)M obter taxas de acertos alta é fundamental Arquitetura de cache tamanho organização tamanho da linha caches separados quantidades de caches 30 Hierarquia de memória O conceito de cache se extende memórias primárias memória RAM do computador secundárias persistentes discos magnéticos terciárias sequenciais fitas 31 Discos magnéticos Um disco magnético sob um indutor Formato do setor: Preâmbulo permite saber qual é o setor sob o indutor Dados os bit armazenados (4096 bits) ECC Reed-Solomon Gap espaço entre setores Tamanho formatado versus não formatado Velocidade de rajada versus sustentada Recalibragem térmica Zoneamento 32 Discos magnéticos Floppy o indutor toca a superficie IDE migração da controladora do disco para o próprio disco EIDE: endereçamento lógico SCSI arquitetura de barramento melhor desempenho múltiplos acessos simultâneos arbitragem do barramento 33 RAID RAID versus SLED RAID parece com um SLED, mas possui vários discos operando coordenadamente Diversas configurações Nível 0: striping Nível 1: nível 0 com replicação Nível 2: stripes menores Nível 3: nível 2 com paridadeNível 4: nível 0 com código de verificação Nível 5: nível 4 sem 1 disco de verificação único 34 RAID
Compartilhar