Sumário Arquitetura de Computadores w Conceitos básicos w Classificação de arquiteturas w Máquinas multinível w Tendências da tecnologia AULA 2 - Introdução w Família Pentium w Conclusão Linguagens, Máquinas Multiníveis ... Adaptação do material desenvolvido pelo Profs. Eduardo Moresi e Edilson Ferneda UCB - DF Edilberto M. Silva - Arquitetura de Computadores Conceitos básicos Conceitos básicos w Arquitetura do computador n n 2/27 w Arquitetura do computador O projetista de hardware preocupa-se com circuitos, componentes, temporização e facilidade de solução de erros. O arquiteto de computador preocupa-se com os componentes de alto nível, como eles se conectam, como eles trabalham de forma integrada para garantir performance n n Visão tradicional: tradicional identificar os atributos de um sistema de computação na visão do programador, isto é, a estrutura conceitual e o comportamento funcional, em oposição à implementação física. Visão atual: atual entender as técnicas de projeto, estrutura das máquinas, fatores tecnológicos e métodos de avaliação que irão determinar a estrutura dos computadores no século 21 Arquitetura = Organização da máquina + Conjunto de instruções Edilberto M. Silva - Arquitetura de Computadores 3/27 Edilberto M. Silva - Arquitetura de Computadores Conceitos básicos Conceitos básicos w Comunicação com o computador Programa em linguagem de alto nível Compilador Programa em linguagem Assembly Assembler Programa em linguagem de máquina w Conjunto de instruções n temp = v[k]; v[k] = v[k+1]; v[k+1] = tempo; Parte da arquitetura que é visível para o programador: – – hv $15, hv $16, anv $16, anv $15, 0($2) 4($2) 0($2) 4($2) 1000 1000 1010 1010 0110 1111 1111 0110 1100 1100 1100 1100 – – 0010 0010 0010 0010 0000 0000 0000 0000 0000 0000 0000 0000 4/27 0000 0000 0000 0000 Códigos de operação das instruções disponíveis Quantidades e tipos dos registradores Formatos das instruções Acesso à memória e modos de endereçamento 0000 0100 0000 0100 Interpretação pela máquina Conjunto de sinais de controle ALUOP[0:3] ⇐ InstReg[9:11] & MASK Edilberto M. Silva - Arquitetura de Computadores 5/27 Edilberto M. Silva - Arquitetura de Computadores 6/27 1 Conceitos básicos Conceitos básicos w Conjunto de instruções w Arquiteturas de alto desempenho § Ênfase nos módulos e estruturas que permitem agilizar a velocidade de processamento Aplicações Sistema Operacional Exemplos: – – – – Compilador Microprograma Sistema I/O Processadores RISC Pipelines Memória cache Multiprocessadores Projeto da lógica digital Projeto de circuitos Edilberto M. Silva - Arquitetura de Computadores 7/27 Edilberto M. Silva - Arquitetura de Computadores Classificação de arquiteturas Classificação de arquiteturas w Classificação básica w Máquinas von Neumann § Máquinas von Neumann § Máquinas não-von Neumann Memória Principal w Máquinas von Neumann § Três subsistemas básicos: endereço – CPU com três blocos principais: unidade de controle, unidade lógicoaritmética (ALU) e registradores, incluindo-se aí um registrador contador de programa (PC) – Memória principal – Sistema de E/S dados/instruções CPU Registradores ULA PC § Programa armazenado representado em forma digital na memória do computador, juntamente com os dados § Execução seqüencial de instruções § Caminho único entre memória e unidade de controle Edilberto M. Silva - Arquitetura de Computadores 8/27 Unidade de Controle Sistema de E/S 9/27 Edilberto M. Silva - Arquitetura de Computadores Classificação de arquiteturas 10/27 Classificação de arquiteturas w Máquinas von Neumann w Máquinas nãonão- von Neumann § Operação: a execução de um programa é uma seqüência de ciclos de máquina von Neumann, compostos por: – Busca da instrução (fetch): transfere instrução da posição de memória apontada por PC para a CPU; – Execução da instrução: a unidade de controle decodifica a instrução e gerencia os passos para sua execução pela ALU. § Máquinas paralelas: várias unidades de processamento executando programas de forma cooperativa, com controle centralizado (máquinas SIMD) ou não (máquinas MIMD) § Máquinas de fluxo de dados: não executam instruções de um programa; realizam operações de acordo com a disponibilidade dos dados envolvidos § Redes neurais artificiais: § Processadores sistólicos (VLSI): processamento ocorre pela não executam instruções de um programa; resultados são gerados a partir de respostas a estímulos passagem de dados por arranjo de células de processamento executando operações básicas Edilberto M. Silva - Arquitetura de Computadores 11/27 Edilberto M. Silva - Arquitetura de Computadores 12/27 2 Simples Linguagem Complexa Máquinas multinível Máquinas multinível Os programas em Ln ou são interpretados por um interpretador em execução em uma máquina de nível inferior, ou são traduzidos para a linguagem de máquina de uma máquina de nível inferior Nível n Máquina virtual Mn , com linguagem de máquina Ln Nível 4 Máquina virtual M4 , com linguagem de máquina L4 Nível 3 Máquina virtual M3 , com linguagem de máquina L3 Os programas em L3 ou são interpretados por um interpretador em execução em M2, ou são traduzidos para L2 Nível 2 Máquina virtual M2 , com linguagem de máquina L2 Os programas em L2 ou são interpretados por um interpretador em execução em M1, ou são traduzidos para L1 Nível 1 Computador real M1 , com linguagem de máquina L1 Os programas em L1 podem ser executados diretamente pelos circuitos eletrônicos Edilberto M. Silva - Arquitetura de Computadores 13/27 u Linguagens, níveis e máquinas virtuais § Um computador com n níveis pode ser considerado como n diferentes máquinas virtuais, cada uma delas com uma diferente linguagem de máquina § Os termos nível e máquina virtual podem ser utilizados indistintamente § Para escrever programas para a máquina virtual de nível n não há necessidade de conhecer os interpretadores e tradutores subjacentes § A estrutura da máquina assegura que estes programas serão de algum modo executados Edilberto M. Silva - Arquitetura de Computadores Máquinas multinível u Linguagens, níveis e máquinas virtuais Nível 5 Máquinas multinível Linguagem orientada para problemas u Máquinas Tradução (compilador) Linguagem de montagem Nível 4 § Tradução (montador) Sistema operacional Nível 3 Interpretação parcial (sistema operacional) § Máquina convencional Nível 2 Interpretação (microprograma) Nível 1 14/27 Máquina de microprogramação multinível contemporâneas As máquinas com controle programado no hardware não possuem o nível 1, pois as instruções do nível de máquina convencional são executadas diretamente pelos circuitos eletrônicos do nível 0 Os níveis 6 e superiores consistem em coleções de programas projetados para criar máquinas especialmente adequadas para aplicações específicas Os microprogramas são executados diretamente pelo hardware Nível 0 Lógica digital Edilberto M. Silva - Arquitetura de Computadores 15/27 Edilberto M. Silva - Arquitetura de Computadores Máquinas multinível u Hardware, § § Máquinas multinível u Hardware, software e máquinas multinível O hardware é composto de objetos tangíveis - circuitos integrados, placas de circuito impresso, cabos, fontes de alimentação, memórias, leitoras de cartões, impressoras e terminais - em lugar de idéias abstratas, algoritmos ou instruções O software consiste em algoritmos (instruções detalhadas que dizem como fazer algo) e suas representações para o computador - ou seja, os programas podem estar representados em cartões perfurados, fita magnética, filme fotográfico e outros meios Edilberto M. Silva - Arquitetura de Computadores 16/27 17/27 § § software e máquinas multinível Qualquer operação efetuada pelo software pode também ser implementada diretamente em hardware, e qualquer instrução executada pelo hardware pode também ser simulada pelo software A decisão de se colocar certas funções em hardware e outras em software baseia-se em: – – – – Custo Velocidade Confiabilidade Freqüência esperada de alterações Edilberto M. Silva - Arquitetura de Computadores 18/27 3 Máquinas multinível u Hardware, § § Máquinas multinível software e máquinas multinível u Hardware, Não há regras rígidas e diretas para se dizer que X deve ser implementado em hardware e Y deve ser programado explicitamente Projetistas com objetivos diferentes podem, e muitas vezes o fazem, tomar diferentes decisões § § Uma forma intermediária entre o hardware e o software é o firmware, que consiste do software embutido em dispositivos eletrônicos durante a fabricação Utilização do firmware: – – – Edilberto M. Silva - Arquitetura de Computadores 19/27 u Implementação § Circuitos Integrados: – Memória utilizada pelos programas - Regra prática de consumo de endereços: A memória necessária para um programa médio cresce em torno de 1.5 a 2 vezes por ano; portanto, é consumido entre 0.5 a 1 bit de endereçamento por ano § – – – § Importância maior dos compiladores. – Tecnologia de compilação – – – Otimizações tradicionais Comportamento de pipelines. Comportamento do sistema de memória Edilberto M. Silva - Arquitetura de Computadores 21/27 Primeiros Microprocessadores w 1971: Intel 4004, o primeiro processador composto de apenas 1 chip. w 1974: Texas Intruments TMS 1000, o primeiro processador capaz de operar sem a necessidade de outros chips de suporte. w 1974: Intel 8080, idealizado como controlador de terminal. w 1976: Zilog Z-80, criado como um 8080 aprimorado. w 1975: MOS Technologies 650x, mais barato que o 8080. w 1975: Microchip Technology PIC 16x/17x, utilizando a arquitetura RISC. w 1977: Motorola 6809, rápido e flexível. w 1978: Intel 8086, a escolha da IBM. Edilberto M. Silva - Arquitetura de Computadores Densidade cresce 50% ao ano ⇒ Número de transistores por chip cresce 60-80% ao ano Velocidade aumenta mais ou menos na mesma proporção (50% ao ano) Tecnologia de metal das interconexões não melhora na mesma proporção Memória - Regra prática de crescimento de DRAMs: Uso de linguagens de alto nível – 20/27 Tendências da tecnologia u Utilização de computadores – Quando se espera que os programas raramente ou nunca serão mudados (brinquedos ou instrumentos) Quando os programas não podem ser perdidos ao se acabar a alimentação (quando a bateria da boneca se descarrega) Em muitos computadores, o microprograma está em firmware Edilberto M. Silva - Arquitetura de Computadores Tendências da tecnologia § software e máquinas multinível A densidade de DRAMs cresce em torno de 60% ao ano, quadruplicando em 3 anos Tempo de ciclo melhora lentamente: diminuiu 35% em 10 anos Recentemente a tecnologia de DRAMs tem melhorado mais rápido que a tecnologia do processador Edilberto M. Silva - Arquitetura de Computadores 22/27 Processadores RISC w 1986: MIPS R2000, desenvolvido para simplificar o projeto de processadores. w 1986: Hewlett-Packard PA-RISC, um RISC conservador. w 1987: AMD 29000, um conjunto flexível de registradores. w 1988: Motorola 88000, uma construção elegante. w 1990: IBM RS/6000 POWER chips, um RISC complicado. w 1992: Hitachi SuperH series, pequenos e econômicos. w 1992: DEC Alpha, desenvolvido para o futuro. 23/27 Edilberto M. Silva - Arquitetura de Computadores 24/27 4 Evolução da Performance dos Microprocessadores Processadores Intel w w w w w w w w § 1982: 286. 1985: 386. 1989: 486. 1993: Pentium. 1995: Pentium Pro. 1997: Pentium II. 1999: Pentium III. 2001: Pentium IV Aumenta com uma razão média de 37% por ano Começando com um preço inicial em torno de $1000, diminuindo em poucos anos para $100. § Edilberto M. Silva - Arquitetura de Computadores 25/27 Edilberto M. Silva - Arquitetura de Computadores 26/27 FIM Perguntas .... Edilberto M. Silva - Arquitetura de Computadores 27/27 5