módulo 01: introdução

26
ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Módulo 01: Introdução Claudionor N. Coelho Jr.

Upload: kerri

Post on 14-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Módulo 01: Introdução. Claudionor N. Coelho Jr. Arquitetura vs. Organização. Arquitetura: atributos do computador visíveis ao programador Conjunto de instruções, número de bits utilizados para representação de dados, mecanismos de E/S, técnicas de endereçamento. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Módulo 01: Introdução

ARQUITETURA DE COMPUTADORESDEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG

Módulo 01: Introdução

Claudionor N. Coelho Jr.

Page 2: Módulo 01: Introdução

Arquitetura vs. Organização Arquitetura: atributos do computador visíveis ao

programador Conjunto de instruções, número de bits utilizados

para representação de dados, mecanismos de E/S, técnicas de endereçamento.

e.g. Existe uma instrução de multiplicação? Organização: como atributos são

implementados Sinais de controle, interfaces, tecnologia de memória. e.g., a instrução de multiplicação é implementada por

um hardware dedicado ou por repetição de soma?

Page 3: Módulo 01: Introdução

Arquitetura vs. Organização Arquitetura básica do x86 da Intel compartilha

mesma arquitetura básica Família IBM 370 compartilha mesma arquitetura

básica Migração dos Mac’s de 680x0 para Power PC

teve fase de transição de emulação de código 680x0 em hardware e software

Arquitetura única provê compatibilidade de código

Organização difere em cada implementação

Page 4: Módulo 01: Introdução

Máquina de von Neumann (1945)

MemóriaPrincipal

Unidade Lógica e Artimética

Unidade de Controlede Programa

Entrada/

Saída

Page 5: Módulo 01: Introdução

Máquina de von Neumann (1945) Componentes especializados para executar operações

aritméticas (A) Execução das operações na sequência apropriada por

de um componente de controle central (C) Qualquer dispositivo destinado a execução de longas e

complicadas sequências de operações deve ter uma memória considerável (M)

O dispositivo deve possuir elementos para transferir informações de A para seus componentes específicos C e M

O dispositivo deve possuir elementos para transferir de seus elementos específicos C e M para A

Page 6: Módulo 01: Introdução

O que é este curso? Entender as técnicas de projeto, arquitetura das

máquinas correntes, fatores da tecnologia, métodos de avaliação que vão determinar a estrutura da próxima geração de computadores

Tecnologia(IC)

Linguagens de Programação

SistemasOperacionais História

AplicaçõesProjeto daInterface

Medidas e avaliação

Paralelismo

Arquitetura de Computadores:• Projeto do conjunto de instruções• Organização• Hardware

Page 7: Módulo 01: Introdução

Exemplo

Page 8: Módulo 01: Introdução

Material do curso Livro texto e papers

Listas de exercícios

Implementação de RTL a implementação lógica do uRISC

Especificação a nível de RTL de um processador moderno

Projeto de final de curso, envolvendo um tópico avançado

Page 9: Módulo 01: Introdução

Referência e Programação Hennessy and Patterson, Computer Architecture: A Quantitative

Approach, 3rd Ed., Morgan Kaufman, 2003. Introdução à arquitetura de computadores (Capítulo 1) Conjunto de instruções (Capítulo 2) Pipelining e paralelismo de instruções (Apêndice A e Capítulo 3, 4) Hierarquia do sistema de memória (Capítulo 5) Multiprocessadores (Capítulo 6) Entrada/Saída (Capítulo 7) Tecnologia de interconexão e redes (Capítulo 8) Arquiteturas de processadores (Power PC, ARM, i64, Pentium,

Sparc, MIPS, VAX, IBM 360/370, processadores vetoriais) Aritmética de computadores (Apêndice H) Tópicos avançados

Page 10: Módulo 01: Introdução

Livros de referência complementar

Patterson and Hennessy, Computer Organization and Design: the Hardware/Software Interface, 2nd edition, Morgan Kaufmann, 1998.

Flynn, Michael, Computer Architecture: Pipelined and Parallel Processor Design, Jones and Bartlett, 1995.

Stallings, William, Arquitetura e Organização de Computadores, 5a. edição, 2002.

Page 11: Módulo 01: Introdução

Tópicos a serem estudados

Arquitetura a nível de instrução

Pipelining, resolução de hazards,superscalar, reordenamento, predição, especulação

Endereçamento,Proteção,Tratamento de exceção

Cache L1

Cache L2

DRAM

Discos, WORM, Fitas

Coerência,Bandwidth,Latência

Tecnologia emergentesInterleavingProtocolos de barramento

RAID

VLSI

I/O e armazenamento

Hierarquiade memória

Pipelining and paralelismo a nível de instrução

Page 12: Módulo 01: Introdução

Tópicos a serem estudados

M

rede de interconexãoS

PMPMPMP° ° °

Topologias,roteamento,bandwith,latência,reliability

Interfaces de redes

Memória compartilhada,Troca de mensagens,

switch entre processadore memória

Multiprocessadores,redes e interconexão

Page 13: Módulo 01: Introdução

Tópicos avançadosEmbedded Systems / Mobile Systems

Computadores vs. comunicadores inteligentes

Alta performance vs. baixa potência

I/O de tempo real Dispositivos portáteis de

armazenamento (PCMCIA)

Baterias inteligentes Técnicas de SW e HW para

conservação de energia

Page 14: Módulo 01: Introdução

Tópicos avançadosArquiteturas Reconfiguráveis

Permitem customizar processador para aplicações dedicadas para maximizar performance Possível com uso de dispositivos reconfiguráveis

(FPGAs) exemplos: processador de imagens, decodificador de

mpeg, dma’s reconfiguráveis, ASIPs (Application Specific Instruction Processors)

Interconexão

Input/Output

Unidadesde processamento

Estado local

Page 15: Módulo 01: Introdução

Arquitetura de Computadores

Desktop

Servidoras

Sistemas embutidos

Page 16: Módulo 01: Introdução

Metodologia de projeto de arquiteturas de computadores

Avançostecnológicos

Page 17: Módulo 01: Introdução

Metodologia de projeto de arquiteturas de computadores

Avaliação de sistemasAvaliação de sistemasexistentes em buscaexistentes em busca

de gargalosde gargalos

Benchmarks

Avançostecnológicos

Page 18: Módulo 01: Introdução

Metodologia de projeto de arquiteturas de computadores

Simulação de novosSimulação de novosprojetos e organizaçõesprojetos e organizações

Workloads

Avançostecnológicos

Avaliação de sistemasAvaliação de sistemasexistentes em buscaexistentes em busca

de gargalosde gargalos

Benchmarks

Page 19: Módulo 01: Introdução

Metodologia de projeto de arquiteturas de computadores

Complexidadedo sistema

Avaliação de sistemasAvaliação de sistemasexistentes em buscaexistentes em busca

de gargalosde gargalos

Avançostecnológicos

Implementação Implementação dada

próxima geraçãopróxima geração

Simulação de novosSimulação de novosprojetos e organizaçõesprojetos e organizações

Workloads

Benchmarks

Page 20: Módulo 01: Introdução

Metodologia de projeto de arquiteturas de computadores (Idéia básica)

Regra número 1: Nada vem de graça Regra número 2: Uma nova arquitetura ou uma

nova idéia só é implementada após um estudo da sua viabilidade

Regra número 3: Nem sempre o melhor e o mais bem desenvolvido vai ganhar o mercado Microsoft Windows vs. Mac OS + OS2 68000 vs. x86 Qualquer implementação nova tenta diminuir sua

dependência com a sorte o máximo o possível (isso é um esforço multi-disciplinar)

Page 21: Módulo 01: Introdução

Evolução Tecnológica

Gerações

Evoluções

Paralelismo

Ano Componente Armazen. Linguagens O/S54 Tubes core (8 ms)58 Transistor (10µs) Fortran60 Algol, Cobol Batch64 Hybrid (1µs) thin films Lisp, APL, Basic66 IC (100ns) (200ns) PL1, Simula,C67 Multiprog.71 LSI (10ns) 1k DRAM O.O. V.M.

73 (8-bit µP)75 (16-bit µP) 4k DRAM78 VLSI (10ns) 16k DRAM Redes80 64k DRAM84 (32-bit µP) 256k DRAM ADA87 ULSI 1M DRAM89 GAs 4M DRAM C++92 (64-bit µP) 16M DRAM Fortran90

Page 22: Módulo 01: Introdução

Hoje Processadores com via de dados de 128 bits

Espaço de endereçamento: <16 Gbytes

Redes de 1Gigabit wired / 55 Mbps wireless

Sistemas Operacionais: UNIX, PalmOS, Windows

Linguagens de programação: C++, Java

Page 23: Módulo 01: Introdução

Evolução TecnológicaPerspectiva da Intel

Ano Processador # Xtors1971 4004 23001972 8008 35001974 8080 60001978 8086/8088 290001982 80286 134K1985 80386 275K1989 80486 1.2M1993 Pentium 3.1M1995 Pentium Pro 5.5M1997 Pentium II 7.5M1999 Pentium III 9.5M2002 Pentium IV 55M

Page 24: Módulo 01: Introdução

Evolução TecnológicaMoore Law

Page 25: Módulo 01: Introdução

Projeto de Novas Arquiteturas Área de aplicação

Propósito específico (e.g., DSP) / propósito genérico Científico (intenso em FP) / Comercial (Mainframe) Computação embutida

Nível de compatibilidade de Software Compatibilidade de código objeto/binário (custo HW

vs. SW, x86) Linguagem de máquina (modificações no código

objeto/binário são possíveis no projeto da arquitetura) Linguagens de programação (por que não?)

Page 26: Módulo 01: Introdução

Projeto de Novas Arquiteturas Requisitos do sistema operacional

Tamanho do espaço de endereçamento (Address Space)

Gerenciamento de memória e proteção Trocas de contexto Interrupções e Traps

Padrões: inovação vs. competição Ponto flutuante (IEEE 754) Barramentos de I/O (PCI, SCSI, PCMCIA) Sistemas operacionais (UNIX, PalmOS, Windows) Redes (Ethernet, Infiniband) Sistemas operacionais / Linguagens de programação ...