A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores"— Transcrição da apresentação:

1 Arquitetura de Computadores
Sérgio Cavalcante Manoel Eusebio de Lima GRECO - Grupo de Engenharia da Computação Centro de Informática - UFPE

2 Motivação Porque é importante saber conceitos de arquitetura/organização de computadores? Revolução da Informação: Primeiro computador comercial no final anos 1940 Número e complexidade crescente de aplicações: Caixas Eletrônicos Computadores em automóveis Laptops Projeto Genoma World Wide Web Os computadores estão cada vez mais presentes no nosso dia a dia....

3 Público alvo Projeto de máquinas Desenvolvimento de sw básico
Desenvolvimento de aplicações de alto desempenho Concepção de sistemas de computação Aquisição de computadores

4 Conceitos Básicos de Arquitetura de Computadores

5 O que é o computador? Problema Programa Computador Solução

6 Como trabalhamos ? Como trabalhamos ?
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. 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. Fichário Pastas

7 Comparando com um computador
Como funciona um computador? Comparando com um computador Disco Fichário Memória Unidade de Controle (CPU) Pastas 3 timing & size Information 2 1 Mesa 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)

8 Comunicação Homem-Máquina
Níveis distintos de abstração swap(int v[], int k) {int temp: temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } Linguagem C 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 Linguagem Assembly Código executável Comunicação Homem-Máquina Qual a linguagem que o computador entende?

9 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

10 Compilação Programa fonte Ln Programa objeto L0 Compilador

11 Interpretação Instrução Ln-1 Instrução Ln Interpretador

12 Interpretação & Compilação
Programa fonte Ln Programa objeto Lint Instrução de máq. L0 Compilador Interpretador

13 Computador: Hardware e Software aqui

14 Computador: Hardware e Software
Periféricos Computador CPU Mem. Interconexão E/S (I/O)

15 Componentes de um computador
CPU Execução das instruções de um programa Memória Vídeo Programas + Dados Teclado E/S Buffers

16 Sistema Básico de Memória
Principal Secundária Barramento de memória de E/S CPU

17 Sistema Básico de Memória
Alto desempenho da CPU CPU C a c h e Memória Principal Secundária Barramento de memória de E/S

18 Memória Dado Instrução 0001 AC  Mem. 0010 Mem.  AC 0101
15 sinal magnitude Instrução 15 3 Opcode Endereço 4 0001 AC  Mem. 0010 Mem.  AC 0101 AC  AC + Mem.

19 Componentes de um computador
CPU Execução das instruções de um programa Memória Programas + Dados Vídeo Teclado E/S Buffers

20 Componentes de um computador
Memória Programas + Dados Unid. controle Vídeo Instrução Reg. Endereço temp Operando Teclado ALU E/S Unid. processamento Buffers

21 Executando um programa
Busca instrução Decodifica instrução Incrementa PC Busca operando Executa instrução Armazena resultado

22 Executando um programa
Memória Registradores da CPU 3 0 0 3 0 0 PC (endereço da instrução) 3 0 1 3 0 2 IR (código da instrução) ... 9 4 0 AC (operando) 9 4 1 0001 AC  Mem. 0010 Mem.  AC 0101 AC  AC + Mem.

23 Executando um programa
Memória Registradores da CPU 3 0 0 3 0 1 PC 3 0 0 PC 3 0 1 3 0 2 IR IR ... 9 4 0 AC AC 9 4 1 + 216 = 516 316 0001 AC  Mem. 0010 Mem.  AC 0101 AC  AC + Mem.

24 Executando um programa
Memória Registradores da CPU 3 0 0 3 0 2 PC 3 0 1 PC 3 0 1 3 0 2 IR ... 9 4 0 AC 9 4 1 0001 AC  Mem. 0010 Mem.  AC 0101 AC  AC + Mem.

25 Evolução dos Computadores
GERAÇÃO ZERO 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: Zuze - Z1 Primeira máquina calculadora a relés Governo Britânico - Colossus Primeiro computador eletromecânico Hardware

26 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: Eckert/Mauchkley - Eniac 1 Começa a História do computador moderno Convencional (binário) Hardware

27 Evolução dos Computadores
Programa add sub lw 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 Exemplo: Von Neumann - IAS Modelo da maioria das máquinas atuais Ling. Assembly Convencional (binário) Hardware

28 Evolução dos Computadores
C, Java, etc. Ling. Programação de alto nível TERCEIRA GERAÇÃO - Anos 60 Circuitos Integrados (CI`s) 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: DEC - PDP 11 Primeiro minicomputador (50 unidades vendidas) IBM - 360 Primeira linha de produtos projetada como uma família Ling. Assembly Memória Virtual Sist. Operacional Convencional (binário) Entrada/Saída Hardware

29 Evolução dos Computadores
Ling. Programação de alto nível QUARTA GERAÇÃO - Anos 70 Microprocessadores/ Mem. semicondutora 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: Intel Primeira CPU de uso geral em um chip Ling. Assembly Sist. Operacional Convencional (binário) Hardware + Firmware

30 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

31 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

32 Geração de Computadores
Ano Nome Tamanho Potência Desempenho (adições por seg.) Memória (KB) Preço Preço/Perf. Preço reaj. Preço/perf reaj. 1951 UNIVAC1 1000 1900 48 $ 1 $ 1964 IBM/360 60 10.000 64 263 $ 318 1965 PDP-8 8 500 4 $16.000 10.855 $66.071 13.135 1976 Cray-1 58 60.000 32.768 $ 21.842 $ 51.604 1981 IBM-PC 150 256 $3.000 42.105 $4.081 1991 HP99000 2 16.384 $7.400 $8.156 1996 Intel Ppro PC 200MHz $4.400

33 Arquitetura de Computadores
Módulo 1 Conceitos Básicos de Arquitetura (MIPS) Como uma CPU é implementada Unidade de Controle + Unid. Processamento Pipeline Máquinas superescalares

34 Arquitetura de Computadores
Módulo 2 Hierarquia de memória Memória cache Memória principal Memória Virtual Sistema de Entrada/Saída Dispositivos de E/S Barramentos Projetando um sistema de E/S

35 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 Organização estruturada de computadores: Tanenbaum

36 Meio Somador

37 Somador Completo 1 bit

38 Somador Completo 4 bit

39

40 Subtrator Completo

41 Somador / Subtrator

42 Multiplicador 4 bits

43 ALU ALU

44 ALU


Carregar ppt "Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google