Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
•• Arquitetura de Computadores Apresentação do curso Ronaldo de Freitas Zampolo zampolo@ieee.org, zampolo@ufpa.br LaPS/DEEC/CT/UFPA •• 2/26 Tópicos Como iremos trabalhar Atendimento, avaliação, etc. Introdução e conceitos básicos Computador como máquina multi-nível Máquina de Von Neumann Lei de Moore Máquinas-exemplos LaPS/DEEC/CT/UFPA •• 3/26 Apresentação do curso Professor: Ronaldo de Freitas Zampolo Atendimento Laboratório de Engenharia Elétrica, 2o andar, sala no 31. Telefone: 3201-7307 ramal: 24 E-mail: zampolo@ieee.org, zampolo@ufpa.br LaPS/DEEC/CT/UFPA •• 4/26 Apresentação do curso Avaliação Provas escritas Trabalhos LaPS/DEEC/CT/UFPA •• 5/26 Apresentação do curso Página: www.laps.ufpa.br/zampolo/ (opção: ensino) Download das listas de exercício Resultados das avaliações Avisos Links úteis LaPS/DEEC/CT/UFPA •• 6/26 Apresentação do curso Objetivo: Fornecer ao aluno o entendimento básico da arquitetura interna de computadores, enfatizando os aspectos práticos e os recentes avanços na área. Situações de aplicação: Projeto e utilização de sistemas computacionais Análise crítica para seleção de tecnologias LaPS/DEEC/CT/UFPA •• 7/26 Apresentação do curso Bibliografia: A. S. Tanenbaum, Organização estruturada de computadores, 4a ed., LTC, 2001. (http://www.cs.vu.nl/∼ast/) J. L. Hennessy, D. A. Patterson, Arquitetura de computadores – uma abordagem quantitativa, Campus, 2003. M. J. Murdocca, V. P. Heuring, Introdução à arquitetura de computadores, Campus, 2000. LaPS/DEEC/CT/UFPA •• 8/26 Introdução e conceitos básicos Como resolver esse problema? Olá! Quero editar um texto ! 000111001 000100100 LaPS/DEEC/CT/UFPA •• 9/26 Introdução e conceitos básicos Hardware (Nível 0): Ling.(L0) e Máquina (M0) Solução: uma linguagem mais próxima da humana (L1) Programas passam a ser escritos em L1 Programador: preocupação apenas com L1 (M1 – máquina virtual) Execução: conversão de L1 para L0 (hardware executa): Tradução Interpretação LaPS/DEEC/CT/UFPA •• 10/26 Introdução e conceitos básicos Tradução Programa em L1 (programa-fonte) Todo o programa em L1 é convertido para L0, gerando o programa-objeto O programa em L1 é descartado Durante a execução, a máquina é controlada pelo programa-objeto residente em memória Tradutor: programa em L0 que realiza a tradução LaPS/DEEC/CT/UFPA •• 11/26 Introdução e conceitos básicos Interpretação Programa em L1 Cada instrução do programa em L1 é convertida para L0 e imediatamente executada O programa em L1 não é descartado Durante a execução, a máquina é controlada pelo interpretador Interpretador: programa em L0 que realiza a interpretação LaPS/DEEC/CT/UFPA •• 12/26 Introdução e conceitos básicos Computador como máquina de vários níveis Level 0 Level 1 Level 2 Level 3 Level n Programs in L0 can be directly executed by the electronic circuits Programs in L2 are either interpreted by interpreters running on M1 or M0, or are translated to L1 or L0 Programs in Ln are either interpreted by interpreter running on a lower machine, or are translated to the machine language of a lower machine Programs in L1 are either interpreted by an interpreter running on M0, or are translated to L0 Virtual machine Mn, with machine language Ln Virtual machine M3, with machine language L3 Virtual machine M2, with machine language L2 Virtual machine M1, with machine language L1 Actual computer M0, with machine language L0 … LaPS/DEEC/CT/UFPA •• 13/26 Introdução e conceitos básicos Computador de seis níveis Level 1 Level 2 Level 3 Level 4 Level 5 Level 0 Problem-oriented language level Translation (compiler) Assembly language level Translation (assembler) Operating system machine level Microarchitecture level Partial interpretation (operating system) Instruction set architecture level Hardware Digital logic level Interpretation (microprogram) or direct execution LaPS/DEEC/CT/UFPA •• 14/26 Introdução e conceitos básicos Do nível 4 para cima: Programadores de aplicação (problemas a resolver) Linguagem: palavras, abreviações Abaixo do nível 4: Programadores de sistema (projeto de máquinas virtuais para suportar os níveis superiores) Linguagem: numérica LaPS/DEEC/CT/UFPA •• 15/26 Introdução e conceitos básicos Arquitetura: conjunto de tipos de dados, operações e características de um dado nível (aspectos visíveis ao programador); Organização: relacionamentos estruturais (não vistos pelo programador), tais como freqüência de clock, tecnologia da memória, etc. LaPS/DEEC/CT/UFPA •• 16/26 Introdução e conceitos básicos Nível da Lógica Digital A B C 0 0 0 0 0 1 0 1 0 0 1 1 M 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 (a) (b) ABC A A B C B C A A B C ABC ABC ABC M 1 4 8 5 6 7 B 2 C 3 LaPS/DEEC/CT/UFPA •• 17/26 Introdução e conceitos básicos Nível da Microprogramação H Shifter controlShifter ALU 2 N A B B busC bus 6 ALU control Control signals Memory control registers Enable onto B bus Write C bus to register To and from main memory Z SP LV CPP TOS OPC PC MDR MAR MBR LaPS/DEEC/CT/UFPA •• 18/26 Introdução e conceitos básicos Nível da Arquitetura do Conjunto de Instruções Software Hardware Hardware C program ISA level ISA program executed by microprogram or hardware FORTRAN 90 program FORTRAN 90 program compiled to ISA program C program compiled to ISA program LaPS/DEEC/CT/UFPA •• 19/26 Introdução e conceitos básicos Nível do Sistema Operacional Automatizar o trabalho do operador Compilar e executar programas Gerenciar arquivos Gerenciar memória Level 1 Level 2 Level 3 Operating system machine level Microarchitecture level Operating system Instruction set architecture level Microprogram or hardware LaPS/DEEC/CT/UFPA •• 20/26 Introdução e conceitos básicos Nível da Linguagem de Montagem Nomes simbólicos para as instruções ISA (facilitar o uso) Montagem pura: relação 1 para 1 entre instruções desse nível com o nível ISA Nomes simbólicos para posições de memória Acesso a todas as instruções e características disponíveis da máquina-alvo (o que não ocorre nos níveis superiores) LaPS/DEEC/CT/UFPA •• 21/26 Introdução e conceitos básicos Máquina de Von Neumann Definição de unidades com funções específicas Programa armazenado em memória Memory Control unit Arithmetic logic unit Accumulator Output Input LaPS/DEEC/CT/UFPA •• 22/26 Introdução e conceitos básicos Lei de Moore (1965, por Gordon Moore) A cada 18 meses, a capacidade de integração dobra 100000000 10000000 1000000 100000 10000 1000 100 10 1 T r a n s i s t o r s 1965 1970 1975 1980 1985 64M 16M 4M 1M 256K 64K 16K 1K 4K 1990 1995 10M 1M 100K 10K 1K 100 10 1 1970 1972 1974 1976 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 Pentium Moore's law 4004 8008 8080 8086 8088 80286 80386 80486 Pentium Pro Pentium II T r a n s i s t o r s Year of introduction LaPS/DEEC/CT/UFPA •• 23/26 Introdução e conceitos básicos Variedade de sistemas computacionais: Sistemas muito simples: chips em cartões de aniversário Sistemas embarcados Processadores de propósito específico (DSPs, microcontroladores...) Processadores de propósito geral (Pentium...) LaPS/DEEC/CT/UFPA •• 24/26 Introdução e conceitos básicos Pentium II Data: Março/1997 Fabricante: Intel Clock: 233 a 400 MHz Número de transistores: 7,5 M Pentium Pro com extensões para multimídia Compatibilidade com as versões anteriores (até o 8086) LaPS/DEEC/CT/UFPA •• 25/26 Introdução e conceitos básicos UltraSPARC II Meados da década de 90 Projeto: Sun Microsystems Fabricantes licenciados Arquitetura de 64 bits Desde o início: aplicações multimídia LaPS/DEEC/CT/UFPA •• 26/26 Introdução e conceitos básicos picoJava II Projeto: Sun Microsystems Objetivo: executar binários baixados na rede com segurança JVM - Java Virtual Machine Multiplataforma Memória com palavras de 64 bits LaPS/DEEC/CT/UFPA T'opicos Apresentac c~ao do curso Apresentac c~ao do curso Apresentac c~ao do curso Apresentac c~ao do curso Apresentac c~ao do curso Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos Introdução e conceitos básicos