Computação L1 Sérgio Cavalcante Centro de Informática - UFPE Cin - CENTRO DE INFORMÁTICA UFPE GRECO Computação L1 Conceitos Básicos • História da computação • Aritmética Binária • Conceitos de Lógica Cin - CENTRO DE INFORMÁTICA UFPE GRECO Computação L1 Módulo 1: Hardware • Conceitos de Arquitetura de Computadores – Como funciona uma CPU • Básico: Unidade de Controle + Unid. Processamento • Avançado: Pipeline e Arquiteturas Superescalares – Memória • Tipos de memória • Heierarquia de Memória: principal, secundária e cache • Memória virtual – Sistema de Entrada/Saída Cin - CENTRO DE INFORMÁTICA UFPE GRECO • Dispositivos de E/S • Barramentos • Periféricos Computação L1 Módulo 2: Software • Compiladores e Interpretadores • Sistemas operacionais – Gerenciamento de processos – Gerenciamento de memória – Gerenciamento de periféricos – Interface com o usuário Cin - CENTRO DE INFORMÁTICA UFPE GRECO Computação L1 Módulo 3: Linguagens de Programação • Tipos de dados • Operacões aritméticas • Comandos de controle Cin - CENTRO DE INFORMÁTICA UFPE GRECO Conceitos Básicos de Computadores Cin - CENTRO DE INFORMÁTICA UFPE GRECO O que é o computador? Problema Programa Computador Solução Cin - CENTRO DE INFORMÁTICA UFPE GRECO Como funciona um computador? Como trabalhamos ? Como trabalhamos ? • Informações que não tem uso • no momento ficam no fichário. • A pasta sobre a mesa contém cópias das informações que • precisaremos naquele dia. Fichário Pastas Cin - CENTRO DE INFORMÁTICA UFPE GRECO Na mesa mantemos os papéis que estamos usando naquele momento Completada uma tarefa, pomos os papéis alterados de volta no fichário. • Após o expediente, a faxineira joga no lixo tudo que está na mesa. Como funciona um computador? Comparando com um computador Fichário Disco Memória 2 3 1 timing & size size timing & Information Information Unidade de Controle (CPU) Mesa Pastas Cin - CENTRO DE INFORMÁTICA UFPE GRECO O fichário representa o disco rígido, com alta capacidade de armazenamento. A pasta sobre a mesa representa a memória, de acesso rápido e fácil Mesa e usuário são a CPU OBS: Memória é volátil e disco não (faxineira) Qual a linguagem queHomem-Máquina o computador entende? Comunicação Níveis distintos de abstração Linguagem C Linguagem Assembly swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Cin - CENTRO DE INFORMÁTICA UFPE GRECO swap(int v[], int k) {int temp: temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } Código executável 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000 Comunicação Homem-Máquina Como transformar descrições em código executável? • Diferença entre as linguagens utilizadas • Métodos: – Compilação – Interpretação – Compilação-Interpretação Cin - CENTRO DE INFORMÁTICA UFPE GRECO Compilação Programa fonte Ln Cin - CENTRO DE INFORMÁTICA UFPE GRECO Compilador Programa objeto L0 Interpretação Instrução Ln Cin - CENTRO DE INFORMÁTICA UFPE GRECO Interpretador Instrução Ln-1 Interpretação & Compilação Programa fonte Ln Cin - CENTRO DE INFORMÁTICA UFPE GRECO Compilador Programa objeto Lint Interpretador Instrução de máq. L0 Computador: Hardware e Software re Sy ions soft w t a c i are pl p A ms softwa e t s Hardware Cin - CENTRO DE INFORMÁTICA UFPE GRECO Computador: Hardware e Software Periféricos Computador CPU Mem. Interconexão E/S (I/O) Cin - CENTRO DE INFORMÁTICA UFPE GRECO Componentes de um computador Memória CPU Execução das instruções de um programa Programas + Dados Teclado E/S Cin - CENTRO DE INFORMÁTICA UFPE GRECO Vídeo Buffers Sistema Básico de Memória CPU Memória Principal Barramento de memória Cin - CENTRO DE INFORMÁTICA UFPE GRECO Memória Secundária Barramento de E/S Sistema Básico de Memória Alto desempenho da CPU CPU C a c h e Memória Principal Barramento de memória Cin - CENTRO DE INFORMÁTICA UFPE GRECO Memória Secundária Barramento de E/S Memória Dado 0 15 sinal magnitude Instrução Opcode Cin - CENTRO DE INFORMÁTICA UFPE GRECO 15 3 4 0 0001 AC Mem. 0010 Mem. AC 0101 AC AC + Mem. Endereço Componentes de um computador Memória CPU Execução das instruções de um programa Programas + Dados E/S Cin - CENTRO DE INFORMÁTICA UFPE GRECO Buffers Vídeo Teclado Componentes de um computador Unid. controle Instrução Reg. Memória Endereço temp Operando ALU Programas + Dados E/S Unid. processamento Cin - CENTRO DE INFORMÁTICA UFPE GRECO Buffers Vídeo Teclado Executando um programa Busca instrução Decodifica instrução Incrementa PC Busca operando Executa instrução Armazena resultado Cin - CENTRO DE INFORMÁTICA UFPE GRECO Executando um programa Memória 300 301 302 1940 5941 2941 Registradores da CPU 300 PC (endereço da instrução) 1940 IR (código da instrução) 0003 AC (operando) ... 940 941 Cin - CENTRO DE INFORMÁTICA UFPE GRECO 0003 00 02 0001 AC Mem. 0010 Mem. AC 0101 AC AC + Mem. Executando um programa Memória 300 301 302 1940 5941 2941 ... 940 941 Cin - CENTRO DE INFORMÁTICA UFPE GRECO 0003 00 02 0001 AC Mem. 0010 Mem. AC 0101 AC AC + Mem. Registradores da CPU 301 0 PC 1941 0 5 IR 0003 5 AC 316 + 216 = 516 Executando um programa Memória 300 301 302 1940 5941 2941 Registradores da CPU 302 1 PC 2941 IR 0005 AC ... 940 941 Cin - CENTRO DE INFORMÁTICA UFPE GRECO 0003 00 02 5 0001 AC Mem. 0010 Mem. AC 0101 AC AC + Mem. Evolução dos Computadores GERAÇÃO ZERO - 1836 - Anos 30 • Máquinas mecânicas ou baseadas em relés – dificuldade de construção – pouca exatidão • 1 nível: – nível de hardware (lógica digital) • Exemplos: – 1936 - Zuze - Z1 • Primeira máquina calculadora a relés – 1943 - Governo Britânico - Colossus • Primeiro computador eletromecânico Cin - CENTRO DE INFORMÁTICA UFPE GRECO Hardware Evolução dos Computadores PRIMEIRA GERAÇÃO - Anos 40 • Válvulas com processadores – Caras, lentas, queimavam com facilidade • ENIAC, UNIVAC • 2 níveis: – nível convencional (binário) – nível de hardware • Exemplos: – 1946 - Eckert/Mauchkley - Eniac 1 – Começa a História do computador moderno 0001010...01 Convencional (binário) Cin - CENTRO DE INFORMÁTICA UFPE GRECO Hardware Evolução dos Computadores SEGUNDA GERAÇÃO - Anos 50 • Transistores – menores, mais baratos, rápidos, duráveis • 3 níveis: – nível de montadores (assembly) – nível de máquina convencional (binário) – nível de hardware Programa add sub lw Ling. Assembly • Exemplo: – 1952 - Von Neumann - IAS • Modelo da maioria das máquinas atuais 0001010...01 Convencional (binário) Cin - CENTRO DE INFORMÁTICA UFPE GRECO Hardware Evolução dos Computadores TERCEIRA GERAÇÃO - Anos 60 • Circuitos Integrados (CI`s) • 4 níveis: – – – – C, Java, etc. Ling. Programação de alto nível nível de montadores/compiladores nível de sistema operacional nível de máquina convencional (binário) nível de hardware • Exemplos: Memória Virtual – 1960 - DEC - PDP 11 Ling. Assembly Sist. Operacional • Primeiro minicomputador (50 unidades vendidas) – 1964 - IBM - 360 • Primeira linha de produtos projetada como uma família Entrada/Saída Cin - CENTRO DE INFORMÁTICA UFPE GRECO Convencional (binário) Hardware Evolução dos Computadores QUARTA GERAÇÃO - Anos 70 • Microprocessadores/ Mem. semicondutora Ling. Programação de alto nível – VLSI Very Large Scale Integration • 5 níveis: – – – – nível de montadores/compiladores nível de sistema operacional nível de máquina convencional (binário) nível de hardware + microprogramação • Exemplos: Ling. Assembly Sist. Operacional – 1974 - Intel - 8080 • Primeira CPU de uso geral em um chip Cin - CENTRO DE INFORMÁTICA UFPE GRECO Convencional (binário) Hardware + Firmware Evolução dos Computadores QUINTA GERAÇÃO - Anos 80 • Crise do Software Complexidade dos sistemas – Linguagens estruturadas de nível mais alto – Avanço dos compiladores – Maior eficiência do hardware Máquinas RISC (Reduced Instruction Set Computer) • 4 níveis: – – – – nível de montadores/compiladores nível de sistema operacional nível de máquina convencional (binário) nível de hardware • Exemplos: RISC, MIPS, Sparc Programação em Assembler Cin - CENTRO DE INFORMÁTICA UFPE GRECO Evolução dos Computadores ... Anos 90+ • • • • Arquiteturas Superescalares Arquiteturas VLIW Arquiteturas Superpipeline 4 níveis – – – – nível de montadores/compiladores nível de sistema operacional nível de máquina convencional (binário) nível de hardware • Exemplos: – Pentium, Alpha, Power Cin - CENTRO DE INFORMÁTICA UFPE GRECO Geração de Computadores Ano Nome Tama nho Potência Desempenho (adições por seg.) Memóri a (KB) Preço Preço/Perf. Preço reaj. Preço/perf reaj. 1951 UNIVAC 1 1000 124.500 1900 48 $1.000.000 1 $4.996.7499 1 1964 IBM/360 60 10.000 500.000 64 $1.000.000 263 $4.140.257 318 1965 PDP-8 8 500 330.000 4 $16.000 10.855 $66.071 13.135 1976 Cray-1 58 60.000 166.000.000 32.768 $4.000.000 21.842 $8.459.712 51.604 1981 IBM-PC 1 150 240.000 256 $3.000 42.105 $4.081 154.673 1991 HP9900 0 2 500 50.000.000 16.384 $7.400 3.556.188 $8.156 16.122.356 1996 Intel P pro 200MHz 2 500 400.000.000 16.384 $4.400 47.846.890 $4.400 239.078.908 Cin - CENTRO DE INFORMÁTICA UFPE GRECO Bibliografia Computer Organization and Design: The Hardware/Software Interface: Hennessy and Patterson Computer Organization and Architecture: Designing for Performance • William Stallings, 4. Edition - Prentice Hall 1996 Cin - CENTRO DE INFORMÁTICA UFPE GRECO Organização estruturada de computadores: Tanenbaum