Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 OAC – Introdução 1 Juliana F Camapum Wanderley Organização e Arquitetura de Computadores Aula 1 - Introdução 2002 Juliana F. Camapum Wanderley http://www.cic.unb.br/docentes/juliana/cursos/oac OAC – Introdução 2 Juliana F Camapum Wanderley Sumário Introdução a Arquitetura de Computadores Organização e Anatomia de um Computador Mudanças Tecnológicas Rápidas Conclusões 2 OAC – Introdução 3 Juliana F Camapum Wanderley Introdução Nos anos 60/70: minimizar espaço em memória melhora o desempenho Problema atual: hierarquia de memórias paralelismo dos processadores (pipeline) otimização dos compiladores sistema operacional... OAC – Introdução 4 Juliana F Camapum Wanderley AC O que é "Arquitetura de Computadores"? Arquitetura do conjunto de instruções + Organização da máquina Coordenação de muitos Níveis de Abstração I/O systemProcessor Compiler Operating System (Linux) Application (Netscape) Digital Design Circuit Design Instruction Set Architecture Datapath & Control transistors MemoryHardware Software Assembler 3 OAC – Introdução 5 Juliana F Camapum Wanderley Abstração Maior aprofundamento revela mais informações Uma abstração omite detalhes desnecessários, ajudando a lidar com a complexidade É uma descrição simplificada ou seletiva de um sistema OAC – Introdução 6 Juliana F Camapum Wanderley Arquitetura do Conjunto de Instruções Uma importante abstração interface entre hardware e software de baixo nível padronização das instruções, linguagem de máquina, etc... Vantagens: diferentes implementações da mesma arquitetura desvantagem: algumas vezes impossibilita o uso de inovações Modernas arquiteturas de conjunto de instruções: Intel (80x86/Pentium/K6/MMX), PowerPC, DEC Alpha, SGI MIPS, SUN SPARC, HP PA-RISC 4 OAC – Introdução 7 Juliana F Camapum Wanderley Arquitetura do Conjunto de Instruções Conjunto de instruções (ou códigos de operação). Categorias de Instruções - MIPS R3000 Carregar/Armazenar Cálculo Desvio Ponto flutuante Gerenciamento de Memória Formato das instruções. 3 formatos de instruções (32 bits) - MIPS R3000 Tipos e estruturas de dados, codificação e representação Modos de endereçamento e acesso a dados e instruções. Organização da memória. OAC – Introdução 8 Juliana F Camapum Wanderley AC Níveis de Representação High Level Language Program (e.g., C) Assembly Language Program (e.g.,MIPS) Machine Language Program (MIPS) Control Signal Specification Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 ° ° 5 OAC – Introdução 9 Juliana F Camapum Wanderley Por trás do Programa Computadores: dois dígitos – 0 e 1 (bit’s). Em computadores: bits são agrupados em grupos na memória: Z-80 – Grupos de 8 bits (1 byte). MIPS – Grupos de 32 bits. Memória de um computador: Endereço Conteúdo 0 0000 0000 0000 0000 0000 0000 1001 1000 1 0000 0000 0000 0000 0000 1000 0001 1010 2 0000 0000 0000 0000 1111 0000 1001 1000 Representação popular: em hexa: Endereço Conteúdo 0000 0000 0000 0098 0000 0001 0000 F098 Significado dos bits: Programas, números, texto, imagens, sons, etc. OAC – Introdução 10 Juliana F Camapum Wanderley Organização da Máquina Características de performance e capacidade das principais unidades funcionais. Registradores, Unidade lógica e aritmética, Unidade de controle ... Como estas unidades funcionais são conectadas. A natureza das informações trocadas entre componentes. A lógica e os meios pelos quais é controlado este fluxo de informações. 6 OAC – Introdução 11 Juliana F Camapum Wanderley Anatomia: 5 componentes de qualquer Computador Computador Pessoal Processador Computador Controle Datapath Via de dados Memória (onde programas, dados vivem qdo rodando) Devices Input Entrada Output Saída Teclado, Mouse Monitor, Impressora Disco (onde programas, dados vivem quando não estão rodando) OAC – Introdução 12 Juliana F Camapum Wanderley Nosso primeiro enfoque O processador (datapath e controle) Implementado usando milhões de transistores Impossível de entender olhando cada transistor Nós precisamos de abstrações 7 OAC – Introdução 13 Juliana F Camapum Wanderley Arquitetura de Computadores Arquitetura Pentium Data cache Instruction cache Control Branch Bus In te ge r d at a pa th Floating- point data path OAC – Introdução 14 Juliana F Camapum Wanderley Mudanças tecnológicas Grande desenvolvimento da eletrônica Transistor: chave on/off CI: dúzias a milhões de transistores em um VLSI. 8 OAC – Introdução 15 Juliana F Camapum Wanderley Circuitos Integrados Silício → semicondutor. Pode ser: Excelentes condutores. Excelentes isolantes. Áreas que alternam entre condutores e isolantes (chaves). Fabricação: Bastão (ingot) – diâmetro de 6 a 12 polegadas, comprimento de 12 a 24 polegadas. Fatiados em finas fatias → wafers (largura de 0,1 polegada). Série de passos de processamento químico, que cria transistores, condutores e isolantes. Conectar o chip com os pinos externos. Encapsulamento. OAC – Introdução 16 Juliana F Camapum Wanderley Tendências Tecnológicas: Capacidade de Memória (cada chip DRAM) size Year 1000 10000 100000 1000000 10000000 100000000 1000000000 1970 1975 1980 1985 1990 1995 2000 Ano Tam. (Mbit) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256 - Aprox 1.4X/ano, ou dobro a cada 2 anos. - 4000X desde 1980. 9 OAC – Introdução 17 Juliana F Camapum Wanderley Year 1000 10000 100000 1000000 10000000 100000000 1970 1975 1980 1985 1990 1995 2000 i80386 i4004 i8080 Pentium i80486 i80286 i8086 Tendências Tecnológicas: Complexidade do Microprocessador 2X transistores/Chip Cada 1.5 anos Chamada "Lei de Moore" Alpha 21264: 15 milhões Pentium Pro: 5.5 milhões PowerPC 620: 6.9 milhões Alpha 21164: 9.3 milhões Sparc Ultra: 5.2 milhões Lei de Moore Athlon (K7): 22 Milhões OAC – Introdução 18 Juliana F Camapum Wanderley Tendências Tecnológicas: Desempenho de Processador 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 87 88 89 90 91 92 93 94 95 96 97 DEC Alpha 21264/600 DEC Alpha 5/500 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100 1.54X/ano Desempenho Processador aumento/ano, erroneamente referido como Lei de Moore (transistores/chip) Intel P4 1500 MHz (Prim. 2001) 10 OAC – Introdução 19 Juliana F Camapum Wanderley Tecnologia do Computador Mudança Dramática! Processador 2X em veloc. cada 1.5 anos; 100X desempenho na última década. Memória Capacidade DRAM: 2x / 2 anos; 64x tamanho na última década. Disco capacidade: > 2X em tamanho cada 1 ano. Custo por bit: melhora cerca de 100% por ano. 120X tamanho na última década. OAC – Introdução 20 Juliana F Camapum Wanderley Tecnologia do Computador Mudança Dramática PC Estado-da-arte: Velocidade Clock do Processador: 4000 MHz (4.0 GigaHertz) Capacidade da Memória: 1000 MegaByte (1.0 GigaBytes) Capacidade do Disco: 1000 GigaBytes (1.0 TeraBytes) Novas unidades! Mega => Giga, Giga => Tera 11 OAC – Introdução 21 Juliana F Camapum WanderleyPor que Estudar Arq de Computadores? Mudança; É excitante!; nunca foi tão excitante! Impacta todos os outros aspectos de engenharia elétrica/eletrônica e ciência dos computadores. Bionics: Sensors in latex fingers instantly register hot and cold, and an electronic interface in his artificial limb stimulates the nerve endings in his upper arm, which then pass the information to his brain. The $3,000 system allows his hand to feel pressure and weight, so for the first time since losing his arms in a 1986 accident, he can pick up a can of soda without crushing it or having it slip through his fingers. One Digital Day OAC – Introdução 22 Juliana F Camapum Wanderley AC: Então, o que aprenderei neste curso? Arq de Computadores do ponto de vista do programador O que o programador escreve Como é convertido para algo que o computador entende Como o computador interpreta o programa O que torna programas lentos 12 OAC – Introdução 23 Juliana F Camapum Wanderley AC: Então, o que será visto neste curso? Aprender as grandes idéias em CC e engenharia: 5 componentes clássicos de um computador Dados podem ser qualquer coisa (inteiros, ponto flutuante, caracteres); um programa determina o que ele é Conceito de programa armazenado: instruções são apenas dados Princípio de Localidade, explorado via hierarquia de memória (cache) Maior performance via exploração de paralelismo (pipeline). Princípio de abstração, utilizado para construir sistemas em camadas Compilação vs. Interpretação através das camadas do sistema. Princípios/Armadilhas de Medidas de Desempenho. OAC – Introdução 24 Juliana F Camapum Wanderley O que AC não é Aprendizado de C Se você sabe uma, você deveria ser capaz de aprender outra ling. de programação praticamente sozinho. Dado que você sabe Pascal ou Java, deve ser mais ou menos fácil entender/aprender C. Programação em Linguagem Assembly Esta é uma habilidade que você aprenderá como um efeito colateral de entender as Grandes Idéias. Projeto de Hardware Nós trabalharemos com hardware em nível de abstração, com muito pouco de lógica física para que tenhamos uma perspectiva adequada do assunto. C C++ Java 13 OAC – Introdução 25 Juliana F Camapum Wanderley Organização do curso Desempenho (Capítulo 2) Uma arquitetura de conjunto de instruções (Capítulo 3) Aritmética e como construir uma ALU (Capítulo 4) Lógica Seqüencial (Apêndice B) Construção de um processador para executar nossas instruções (Capítulo 5) Mapeamento do Controle no Hardware (Apêndice C) Pipelining para melhorar desempenho (Capítulo 6) Memória: caches e memória virtual (Capítulo 7) I/O (Capítulo 8) Chave para um bom curso: Ler o livro! OAC – Introdução 26 Juliana F Camapum Wanderley Literatura Livro Texto: Requerido: Organização e Projeto de Computadores: A Interface Hardware/Software, Segunda Edição, Patterson and Hennessy (P&H) - Editora LTC 14 OAC – Introdução 27 Juliana F Camapum Wanderley Leitura Todo o capítulo 1 do livro texto Itens 1.1 - 1.8
Compartilhar