Organização e Projeto de Computadores
Organização e Projeto de Computadores,
Edição 5 A Interface Hardware/Software
By John L. Hennessy and David A. Patterson

Data de publicação : 21 Ago 2017

Sua solicitação será avaliada de acordo com nossa cota e a relação curso x disciplina ministrada.

Descrição

A quinta edição da Organização de Computadores traz novos exemplos, exercícios e materiais destacando o surgimento da computação móvel e a nuvem. Esta mudança geracional é enfatizada e explorou com computadores conteúdo atualizado caracterizam tablet, infra-estrutura de nuvem, ea (computação em nuvem) arquiteturas ARM (dispositivos de computação móvel) e x86. A compreensão de hardware moderno é essencial para alcançar um bom desempenho e eficiência energética, esta edição inclui um novo exemplo concreto "indo mais rápido", usado em todo o texto para demonstrar técnicas de otimização extremamente eficazes. Outra novidade para esta edição é a discussão dos "Oito Grandes Ideias" de arquitetura de computadores. Como nas edições anteriores, um processador MIPS é o núcleo usado para apresentar os fundamentos de tecnologias de hardware, a linguagem assembly, aritméticas computador, canalização, hierarquias de memória e I / O.

Características

• Aborda o paralelismo em profundidade, com exemplos e conteúdo destacando tópicos de hardware e software paralelo.

• Apresenta o Intel Core i7, o ARM Cortex-A8 e a GPU NVIDIA Fermi como exemplos reais por todo o livro.

• Inclui uma nova seção de exemplos concretos, “Mais Rápido¿, para demonstrar como o conhecimento do hardware pode inspirar otimizações no software que melhoram o desempenho em até 200 vezes.

• Discute e realça as “Oito Grandes Ideias¿ da arquitetura da computação: desempenho por meio do paralelismo; desempenho por meio do pipelining; desempenho por meio da predição; projeto para a Lei de Moore; hierarquia de memórias; abstração para simplificar o projeto; tornar o caso omum rápido; e confiança por meio da redundância.

• Inclui um conjunto completo de exercícios atualizados e melhorados.

Sobre o autor(es)
By John L. Hennessy, Departments of Electrical Engineering and Computer Science, Stanford University, USA and David A. Patterson
SUMÁRIO
Sumário
Prefácio ix
C A P Í T U L O
1 Abstrações e Tecnologias Computacionais 1
1.1 Introdução 2
1.2 Oito grandes ideias sobre arquitetura de computadores 8
1.3 Por trás do programa 10
1.4 Sob as tampas 13
1.5 Tecnologias para construção de processadores e memórias 20
1.6 Desempenho 24
1.7 A barreira da potência 34
1.8 Mudança de mares: Passando de processadores para multiprocessadores 36
1.9 Vida real: Fabricação e benchmarking do Intel Core i7 39
1.10 Falácias e armadilhas 41
1.11 Comentários fi nais 44
1.12 Exercícios 45
2 Instruções: A Linguagem dos Computadores 51
2.1 Introdução 53
2.2 Operações do hardware do computador 54
2.3 Operandos do hardware do computador 57
2.4 Números com sinal e sem sinal 63
2.5 Representando instruções no computador 69
2.6 Operações lógicas 75
2.7 Instruções para tomada de decisões 78
2.8 Suporte a procedimentos no hardware do computador 84
2.9 Comunicando-se com as pessoas 92
2.10 Endereçamento no MIPS para operandos imediatos e endereços de 32 bits 97
2.11 Paralelismo e instruções: Sincronização 105
2.12 Traduzindo e iniciando um programa 107
2.13 Um exemplo de ordenação em C para juntar tudo isso 115
2.14 Arrays versus ponteiros 123
2.15 Vida real: instruções ARMv7 (32 bits) 127
2.16 Vida real: instruções x86 130
2.17 Vida real: instruções ARMv8 (64 bits) 138
2.18 Falácias e armadilhas 139
2.19 Comentários fi nais 141
2.20 Exercícios 143
3 Aritmética Computacional 153
3.1 Introdução 155
3.2 Adição e subtração 155
3.3 Multiplicação 159
3.4 Divisão 164
3.5 Ponto fl utuante 171
3.6 Paralelismo e aritmética computacional: paralelismo subword 195
3.7 Vida real: Extensões SIMD streaming e extensões avançadas de vetor
no x86 197
3.8 Mais rápido: Paralelismo subword e multiplicação matricial 198
3.9 Falácias e armadilhas 202
3.10 Comentários fi nais 204
3.11 Exercícios 208
4 O Processador 215
4.1 Introdução 217
4.2 Convenções lógicas de projeto 220
4.3 Construindo um caminho de dados 223
4.4 Um esquema de implementação simples 229
4.5 Visão geral de pipelining 240
4.6 Caminho de dados e controle usando pipeline 252
4.7 Hazards de dados: forwarding versus stalls 266
4.8 Hazards de controle 277
4.9 Exceções 285
4.10 Paralelismo e paralelismo avançado em nível de instrução 290
4.11 Vida real: pipelines do ARM Cortex-A8 e Intel Core i7 301
4.12 Mais rápido: Paralelismo em nível de instrução e multiplicação matricial 307
4.13 Falácias e armadilhas 310
4.14 Comentários fi nais 311
4.15 Exercícios 311
5 Grande e Rápida: Explorando a Hierarquia de Memória 325
5.1 Introdução 327
5.2 Tecnologias de memória 331
5.3 Princípios básicos de cache 336
5.4 Medindo e melhorando o desempenho da cache 349
5.5 Hierarquia de memória estável 366
5.6 Máquinas virtuais 371
5.7 Memória virtual 374
5.8 Uma estrutura comum para hierarquias de memória 397
5.9 Usando uma máquina de estado fi nito para controlar uma cache simples 403
5.10 Paralelismo e hierarquias de memória: coerência de cache 407
5.11 Vida real: as hierarquias de memória ARM Cortex-A8 e Intel Core i7 411
5.12 Mais rápido: Bloqueio de cache e multiplicação matricial 415
5.13 Falácias e armadilhas 417
5.14 Comentários fi nais 421
5.15 Exercícios 422
6 Processadores paralelos do cliente à nuvem 437
6.1 Introdução 439
6.2 A difi culdade de criar programas com processamento paralelo 441
6.3 SISD, MIMD, SIMD, SPMD e vetor 445
6.4 Multithreading do hardware 451
6.5 Multicore e outros multiprocessadores de memória compartilhada 454
6.6 Introdução às unidades de processamento de gráfi cos 458
6.7 Clusters, computadores em escala warehouse e outros multiprocessadores de
passagem de mensagens 464
6.8 Introdução às topologias de rede multiprocessador 468
6.9 Benchmarks de multiprocessador e modelos de desempenho 471
6.10 Vida real: benchmarking e roofl ines do Intel Core i7 960 e GPU NVIDIA
Tesla 480
6.11 Mais rápido: processadores múltiplos e multiplicação matricial 484
6.12 Falácias e armadilhas 487
6.13 Comentários fi nais 488
6.14 Exercícios 491
A P Ê N D I C E
A Assemblers, Link-editores e o Simulador SPIM A-1
A.1 Introdução A-2
A.2 Assemblers A-7
A.3 Link-editores A-13
A.4 Carregando A-15
A.5 Uso da memória A-15
A.6 Convenção para chamadas de procedimento A-17
A.7 Exceções e interrupções A-25
A.8 Entrada e saída A-29
A.9 SPIM A-31
A.10 Assembly do MIPS R2000 A-34
A.11 Comentários fi nais A-61
A.12 Exercícios A-62
B Fundamentos do Projeto Lógico B-1
B.1 Introdução B-2
B.2 Portas, tabelas verdade e equações lógicas B-3
B.3 Lógica combinacional B-6
B.4 Usando uma linguagem de descrição
de hardware B-15
B.5 Construindo uma unidade lógica e aritmética B-20
B.6 Adição mais rápida: Carry Lookahead B-30
B.7 Clocks B-38
B.8 Elementos de memória: fl ip-fl ops, latches e registradores B-40
B.9 Elementos de memória: SRAMs e DRAMs B-47
B.10 Máquinas de estados fi nitos B-54
B.11 Metodologias de temporização B-58
B.12 Dispositivos programáveis em campo B-63
B.13 Comentários fi nais B-64
B.14 Exercícios B-64
Índice I-1
Detalhes do Produto
ISBN: 9788535287936
Nº de páginas: 680
Imagens: Approx. 253 illustrations
Preço de varejo sugerido: R$290,00