Buscar

IAC-INF1029-Vol0-Organização da Disciplina

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Introdução à Arquitetura de 
Computadores
Anderson Oliveira da Silva
Ph. D. Ciências em Informática
Engenheiro de Computação
anderson@inf.puc-rio.br
Departamento de Informática
PUC-Rio
2
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Referências
Livros
– Arquitetura e Organização de Computadores
» Willian Stallings – Ed. Pearson
– Introdução à Organização de Computadores
» Mário A. Monteiro – Ed. Campus
3
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Conceitos Básicos e Evolução do Computador
– Conceitos Básicos
» Arquitetura de Computadores x Organização de Computadores
» Funções do Computador x Estrutura do Computador
• Computador Simples com um Único Processador
• Computador com Múltiplos Processadores (multicore)
– Sistemas Embarcados e Fortemente Embarcados
» Processadores para aplicações x Processadores Dedicados
» Microprocessador x Microcontroladores
– Evolução dos Computadores
– Evolução da Arquitetura Intel x86
– Evolução da Arquitetura ARM
– Computação em Nuvem
– Internet das Coisas (IoT)
Parte I –
Introdução
4
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte I –
Introdução
Questões de Desempenho
– Projeto com foco no desempenho
» Técnicas para Aumentar a Velocidade do microprocessador
» Técnicas para Melhorar a Interligação com a memória
» Técnicas para Melhorar o Tratamento dos Dispositivos de E/S
» Mudanças na Organização e Arquitetura do Processador
– Desempenho dos sistemas paralelos e multicore
» Multicore, MICs e GPGPUs
» Lei de Amdhal
» Lei de Little
– Medidas básicas de desempenho do computador
» Velocidade de clock
» Taxa de execução de instrução (MIPS e MFLOPS)
» Benchmarks da SPEC
5
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte II –
Unidade Central de Processamento
Estrutura e Função do Processador
– Organização do Processador
» UC, ALU, Registradores, Barramento Interno
– Organização dos Registradores
» Registradores visíveis ao usuário x Registradores de controle e estado
– Ciclo da Instrução
» Buscar, Executar e Interromper
– Pipeline de Instruções
» Estratégia do pipeline
» Desempenho do pipeline
» Hazards do pipeline
– Família de Processadores x86
– Processadores ARM
6
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte II –
Unidade Central de Processamento
Computadores com Conjunto Reduzido de Instruções
– Características da Execução de Instruções
» Operações, Operandos, Chamadas de Procedimentos
– Uso de um Grande Banco de Registradores
» Janelas de Registradores, Variáveis Globais, Registradores x Cache
– Otimização de Registradores baseada em Compiladores
» Estratégias para maximizar o uso dos registradores
– Arquitetura RISC
» Principais características da arquitetura RISC
» CISC x RISC
– Pipeline no RISC
» Pipeline com instruções regulares
» Otimização de pipeline
7
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte II –
Unidade Central de Processamento
Processamento de Instruções Vetoriais – Aula Prática
– Intel Streaming SIMD Extensions Technology
» SSE2, SSE3, SSE4, AVX, AVX2, FMA e AVX-512 
» Registrados especiais usados pelas instruções vetoriais 
» Conjunto de instruções vetoriais 
– Intel Intrinsics – Parte 1 
» Biblioteca de primitivas em linguagem C 
» Exemplos práticos 1 
» Exercício prático 1 
– Intel Intrinsics – Parte 2 
» Biblioteca de primitivas em linguagem C 
» Exemplos práticos 2 
» Exercício prático 2
8
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte II –
Unidade Central de Processamento
Paralelismo em Nível de Instruções e Processadores 
Superescalares
– Visão Geral
» Superescalar x Superpipeline
– Aspectos de Projeto
» Paralelismo em nível de instrução e paralelismo de máquina
– Microarquitetura Intel Core
– ARM Cortex-A8
– ARM Cortex-M3
9
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte III –
Organização Paralela
Processamento Paralelo
– Organização de Múltiplos Processadores
» Taxonomia de Flynn
– Multiprocessadores Simétricos
» Características e Organização
– Coerência de Cache e Protocolo MESI
» Soluções por software e hardware
– Multithreading e Chips Multiprocessadores
– Clusters
– Acesso Não Uniforme à Memória (NUMA)
10
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte III –
Organização Paralela
Processamento Paralelo (Threads) – Aula Prática
– Conceito de Thread 
» Threads Modo Usuário, Threads Modo Kernel e Threads Híbridas 
– Threads POSIX x Threads Nativas 
– Biblioteca PThread – Parte 1 
» Exemplos Práticos 1 
» Exercício Prático 1 
– Problemas de Concorrência e Sincronização 
» Semáforos Mutex
» Semáforos Contadores 
» Monitores (Signal e Wait) 
– Biblioteca PThread – Parte 2 
» Exemplos Práticos 2 
» Exercício Prático 2
11
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte III –
Organização Paralela
Clusters de Computadores
– Características dos clusters de computadores 
– Tipos de cluster de computadores 
» Alta disponibilidade (HA – High Availability) 
» Alto desempenho de computação (HPC – High Performance Computing) 
» Balanceamento de carga (LB – Load Balancing) 
– Estrutura Física dos Clusters 
» Cluster Simétrico x Cluster Assimétrico 
– Estrutura Lógica dos Clusters 
– Tolerância a falhas 
» Configuração Ativa/Passiva 
» Configuração Ativa/Ativa 
» Configuração N-to-1 
– Compartilhamento de Dados 
» Armazenamento Compartilhado x Replicação de Dados
12
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte III –
Organização Paralela
Computadores Multicore
– Questões sobre Desempenho de Hardware
– Questões sobre Desempenho de Software
– Organização Multicore
– Organização Multicore Heterogênea
» Arquitetura de conjunto de instruções diferentes
• CPU combinada com GPU
» Arquitetura de conjunto de instruções equivalentes
• Core de Alto Desempenho combinado com Core de Baixo Consumo de Energia
– Intel Core I7-990X
– ARM Cortex-A15 MPCore
13
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte III –
Organização Paralela
Unidades de Processamento Gráfico de Uso Geral –
Aula Prática
– Arquitetura da GPGPU da NVIDIA
» Arquitetura SIMT (Single Instruction, Multiple Thread)
» Compute Capability
– Noções Básicas sobre o Toolkit CUDA - NVIDIA
» Comandos básicos
» Fluxo de processamento básico
» Controle de alocação de memória
» Definição de uma função kernel
» Processamento de kernels multidimensional
» Exemplos práticos
» Exercícios práticos
14
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte IV –
Sistema de Computação
Interconexão do Computador
– Interconexão de Barramento
– Interconexão Ponto a Ponto
» Quick Path Interconnect (QPI) da Intel
– Barramento PCI
» PCI Express (PCIe)
15
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte IV –
Sistema de Computação
Memória Cache
– Visão Geral do Sistema de Memória
» Localização, Capacidade, Unidade de Transferência, Método de Acesso, 
Desempenho, Tipo Físico, Características Físicas e Organização
– Princípios da Memória Cache
» Relação entre cache L1, L2 e L3
– Elementos de Projeto da Cache
» Endereços da Cache
» Política de Escrita
» Função de Mapeamento
» Número de Caches
» Algoritmo de Substituição
• LRU, FIFO, LFU e Aleatória
16
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte IV –
Sistema de Computação
Memória Interna
– Tipos de Memória Semicondutora
» DRAM – Dynamic RAM e SRAM – Static RAM
» SDRAM – Synchronous DRAM
» DDR-SDRAM – Double-Data-Rate SDRAM
» ROM, PROM, EPROM e EEPROM
» Memória Flash (NOR e NAND)
– Correção de Erro
» SEC – Single-Error-Correcting
» SEC-DED – SEC Double-Error-Detecting
– Novas Tecnologias de Memória de Estado Sólido Não Voláteis
» STT-RAM – Spin-Transfer Torque RAM
» PCRAM – Phase-Change RAM
» ReRAM – Resistive RAM
17
Prof. Anderson Oliveirada Silva - anderson@inf.puc-rio.br
Parte IV –
Sistema de Computação
Memória Externa
– Disco Magnético
» Leitura Magnética e Mecanismo de Gravação
» Organização e Formatação de Dados
» Características Físicas
» Parâmetros de Desempenho
– RAID (Redundant Array of Independent Disks)
» RAID nível 0, 1, 2, 3, 4, 5 e 6
– Drives de Estado Sólido (SSD)
» SSD x HDD
» Organização de SSD
– Memória Óptica
» CD, DVD e Blu-ray DVD
– Fita Magnética
» Métodos de leitura e gravação
18
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte IV –
Sistema de Computação
Entrada/Saída
– Dispositivos Externos
» Teclado, Monitor e Drive de Disco
– Módulo de E/S
– E/S Programada
– E/S Controlada por Interrupção
– Acesso Direto à Memória (DMA)
– Acesso Direto à Cache (DCA)
– Processadores e Canais de E/S
– Padrões de Interconexão Externa
» USB, FireWire, SCSI, Thunderbolt, InfiniBand
» PCI Express, SATA, Ethernet e Wi-Fi
19
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Parte V –
Unidade de Controle
Unidade de Controle do Microcontrolador – Aula Prática
– Arquitetura do Microcontrolador ATmega328p
» Diagrama de Bloco da Arquitetura AVR
– Projeto Arduino
» Arduino Uno R3
» Shields para o Arduino Uno R3
» Shield Multi-função para o Arduino Uno R3
– Toolkit do Arduino
» Ambiente de Desenvolvimento (Arduino IDE)
» Exemplos práticos
» Exercícios práticos
20
Prof. Anderson Oliveira da Silva - anderson@inf.puc-rio.br
Critério de Aprovação
Critério 7 da PUC-Rio
– A avaliação do desempenho do aluno na disciplina INF1029 
será feita por uma composição de notas obtidas em 6 trabalhos 
práticos (T1, T2, T3, T4, T5 e T6) realizados em grupo de 2 
alunos e 2 provas (P1 e P2) realizadas individualmente sobre o 
conteúdo dos assuntos apresentados nas aulas.
– Os cálculos dos graus G1 e G2 são mostrados a seguir.
• G1 = 0,2 * T1 + 0,2 * T2 + 0,2 * T3 + 0,4 * P1
• G2 = 0,2 * T4 + 0,2 * T5 + 0,2 * T6 + 0,4 * P2
• NF = (G1 + G2) / 2
Se G1 e G2 >= 3,0 e NF >= 6,0, então:
• MÉDIA = NF
Em outros casos o aluno faz G3:
• MÉDIA = ( (G1 + G2 + (G3*2) ) / 4

Mais conteúdos dessa disciplina