1 / 26

Módulo 01: Introdução

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.

kerri
Télécharger la présentation

Módulo 01: Introdução

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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?

  3. 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

  4. Máquina de von Neumann (1945) Unidade Lógica e Artimética Entrada / Saída Memória Principal Unidade de Controle de Programa

  5. 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

  6. 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 Paralelismo Tecnologia (IC) Linguagens de Programação Aplicações Projeto da Interface Arquitetura de Computadores: • Projeto do conjunto de instruções • Organização • Hardware Sistemas Operacionais História Medidas e avaliação

  7. Exemplo

  8. 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

  9. 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

  10. 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.

  11. Tópicos a serem estudados I/O e armazenamento Discos, WORM, Fitas RAID Tecnologia emergentes Interleaving Protocolos de barramento DRAM Coerência, Bandwidth, Latência Hierarquia de memória Cache L2 Cache L1 Endereçamento, Proteção, Tratamento de exceção VLSI Arquitetura a nível de instrução Pipelining and paralelismo a nível de instrução Pipelining, resolução de hazards, superscalar, reordenamento, predição, especulação

  12. Tópicos a serem estudados Memória compartilhada, Troca de mensagens, P M P M P M P M ° ° ° Interfaces de redes S rede de interconexão switch entre processador e memória Topologias, roteamento, bandwith, latência, reliability Multiprocessadores, redes e interconexão

  13. 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 Tópicos avançadosEmbedded Systems / Mobile Systems

  14. Interconexã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) Unidades de processamento Estado local Input/Output

  15. Arquitetura de Computadores • Desktop • Servidoras • Sistemas embutidos

  16. Metodologia de projeto de arquiteturas de computadores Avanços tecnológicos

  17. Metodologia de projeto de arquiteturas de computadores Avaliação de sistemas existentes em busca de gargalos Benchmarks Avanços tecnológicos

  18. Metodologia de projeto de arquiteturas de computadores Avaliação de sistemas existentes em busca de gargalos Benchmarks Avanços tecnológicos Workloads Simulação de novos projetos e organizações

  19. Metodologia de projeto de arquiteturas de computadores Avaliação de sistemas existentes em busca de gargalos Complexidade do sistema Benchmarks Implementação da próxima geração Avanços tecnológicos Workloads Simulação de novos projetos e organizações

  20. 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)

  21. Evolução Tecnológica Ano Componente Armazen. Linguagens O/S 54 Tubes core (8 ms) 58 Transistor (10µs) Fortran 60 Algol, Cobol Batch 64 Hybrid (1µs) thin films Lisp, APL, Basic 66 IC (100ns) (200ns) PL1, Simula,C 67 Multiprog. 71 LSI (10ns) 1k DRAM O.O. V.M. 73 (8-bit µP) 75 (16-bit µP) 4k DRAM 78 VLSI (10ns) 16k DRAM Redes 80 64k DRAM 84 (32-bit µP) 256k DRAM ADA 87 ULSI 1M DRAM 89 GAs 4M DRAM C++ 92 (64-bit µP) 16M DRAM Fortran90 Gerações Evoluções Paralelismo

  22. 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

  23. Evolução TecnológicaPerspectiva da Intel

  24. Evolução TecnológicaMoore Law

  25. 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?)

  26. 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 ...

More Related