aula introdutória 1 arquitetura e organização de computadoresabdala/gbc036/gbc036_01.pdf ·...

26
Aula Introdutória Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala GBC036 – Arq. e Org. de Computadores 1 Arquitetura e Organização de Computadores

Upload: vutruc

Post on 15-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Aula Introdutória

Universidade Federal de Uberlândia Faculdade de Computação

Prof. Dr. rer. nat. Daniel D. Abdala

GB

C0

36

– A

rq. e

Org

. de

Co

mp

uta

do

res

1

Arquitetura e Organização de Computadores

Page 2: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Nesta Aula

• Apresentação da disciplina GBC036;

• Apresentação do plano da disciplina;

• Conteúdo programático;

• Apresentação do sistema de avaliação;

• Bibliografia:

– Básica

– Suplementar

2

Page 3: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Por que Estudar AOC?

• Todos os sistemas computacionais modernos utilizam as ideias gerais apresentadas nesta disciplina;

• AOC é a disciplina onde aprendemos acerca de processadores, como eles funcionam, etc;

• Conhecimento geral acerca de AOC habilita o profissional de computação a tirar o máximo dos sistemas computacionais;

• Conhecer AOC habilita o aluno a desenvolver programas eficientes e seguros.

3

Page 4: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Máxima

“We live in a society exquisitely dependent on science and technology, in which hardly anyone knows anything about science and technology.”

Carl Sagan

4

Page 5: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que é arquitetura de Computadores?

5

Mundo Físico

Componentes Elétricos

Circuitos Elétricos

Portas Lógicas

Register Transfer Level

Microarchitecture

Instruction Set Architecture

Sistemas Computacionais

SOs/Máquinas Virtuais

Linguagens de Programação

Algoritmos

Aplicação • Arquitetura de Computadores

pode ser vista como uma pilha de abstrações;

• Ela se enquadra em uma pilha muito mais complexa que permite utilizarmos conceitos físicos para a criação de aplicações complexas;

Page 6: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que é um Computador?

• DEF (Britânica): Device for processing, storing and displaying information;

6

Page 7: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que é arquitetura de Computadores?

7

Mundo Físico

Componentes Elétricos

Circuitos Elétricos

Portas Lógicas

Register Transfer Level

Microarchitecture

Instruction Set Architecture

Sistemas Computacionais

SOs/Máquinas Virtuais

Linguagens de Programação

Algoritmos

Aplicação

Arquitetura de Computadores

Page 8: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que é arquitetura de Computadores?

8

Mundo Físico

Componentes Elétricos

Circuitos Elétricos

Portas Lógicas

Register Transfer Level

Microarchitecture

Instruction Set Architecture

Sistemas Computacionais

SOs/Máquinas Virtuais

Linguagens de Programação

Algoritmos

Aplicação

• Arquitetura de Computadores existe em um contexto;

Page 9: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que estudaremos em AOC?

• A história da computação (ponto de vista arquitetural);

• Tecnologias que habilitaram, habilitam e potencialmente habilitarão computação no futuro;

• Visão detalhada da arquitetura von Neumann;

• Interfaces do processador com o SO e com os fenômenos físicos;

• Diferenças entre arquiteturas RISC e CISC;

• ISA MIPS32;

• Organização MIPS32 Monociclo;

9

Page 10: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O que estudaremos em AOC?

• ALU;

• Unidade de Controle Combinacional;

• Pipelining;

• Organização MIPS32 multiciclo;

• Hierarquia de Memórias;

• Comunicação com o Mundo externo;

10

Page 11: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Calendário de Aulas ↔ Conteúdo

Aula Data Conteúdo Programático

1 08/08 Apresentação da Disciplina, Plano de Ensino, Avaliação e Bibliografia.

2 09/08 Histórico da Evolução dos Computadores 1944 - 2016

3 16/08 Visão Geral da Arquitetura von Neumann

4 22/08 Organização Estruturada de Sistemas Computacionais Modernos

5 23/08 Arquitetura de Computadores - ISA (Arquitetura de Conjunto de Instruções)

6 29/08 Apresentação do Simulador MARS e Estrutura Básica de um Prog.

7 30/08 Linguagem Assembly, Montadores e Ligadores

8 05/09 Operações Lógicas e Aritméticas no MIPS3000

9 06/09 Operações de Controle de Fluxo e Acesso a Memória no MIPS3000

10 12/09 Chamadas do Sistema (Syscalls)

11 13/09 Suporte a Subrotinas

12 19/09 Modelo de Memória e Alocação Dinâmica de Memória

11

Page 12: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Calendário de Aulas ↔ Conteúdo

Aula Data

13 20/09 Macros e Prog. Modular

14 26/09 Exercícios de Programação

15 27/09 Exercícios de Programação

16 03/10 Instruções de Suporte ao SO e Proteção de Hardware

17 04/10 Primeira Avaliação (50% do conceito final)

18 10/10 Avaliando e Compreendendo o Desempenho de UCPs

19 11/10 Organização de Computadores (μArquitetura)

20 17/10 Implementação da ULA e da Unidade de Controle

21 18/10 Caminho de Dados / Subsistema de Busca / Instruções do Tipo R

22 24/10 Integra UFU

23 25/10 Integra UFU

24 31/10 Implementação de Instruções do Tipo I

12

Page 13: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Calendário de Aulas ↔ Conteúdo

Aula Data

25 01/11 Implementação de Instruções do Tipo J

26 07/11 Considerações Implementação Monociclo e Introdução a Pipelining

27 08/11 Pipelining

28 21/11 Considerações Desempenho do Implementação com Pipelining

29 22/11 Hierarquia de Memória

30 28/11 Memórias Cache

31 29/11 Exercícios e Dúvidas

32 05/12 Segunda Avaliação (50% do conceito final)

33 06/12 Aula de Dúvidas e Exercícios

34 12/12 Recuperação

35 13/12 Vista da Recuperação

36* 10/12 Estudo Dirigido

13

Page 14: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Sistema de Avaliação

• Duas provas (P1 e P2) valendo 100 pontos cada e correspondendo a 50% do conceito final da disciplina cada;

• Adicionalmente, o aluno deve possuir frequência em aula superior a 75% e nota final superior a 59 para ser aprovado;

• Para os casos regularmente previstos nas Normas de Graduação, haverá uma prova substitutiva;

• Para alunos com média entre 20 e 59 será ofertada uma prova de recuperação. A média final após a recuperação será igual a média aritmética entre a média antés da recuperação e a nota da recuperação.

14

2

21 PPNF

Page 15: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Arquitetura

vs

Organização de Computadores

15

Page 16: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Arquiteturas de Computadores

• Refere-se ao comportamento funcional de um computador; • Ponto de vista do programador; • Termo “Arquitetura” – Introduzido pela IBM, Lyle R. Johnson,

Muhammad Usman Khan e Frederick P. Brooks, Jr. Em 1959 • Descreve um nível de compatibilidade entre diferentes

processadores de uma mesma linha/família a nível de instruções.

• Exemplos de Arquiteturas: – IA-86, X-86 – MIPS – SPARC – VAX – PowerPC

16

Page 17: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Arquitetura

• Definição da ISA – Instruction Set Architecture;

– Instruções em Hardware (Assembly);

• Formato de Instrução;

• Representação numérica;

• Tamanho das palavras;

• etc...

17

Page 18: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Organização de Computadores

• Refere-se aos aspectos estruturais que definem um processador;

• Tipos (classes) de sistemas computacionais:

18

• Desktop

• Servidor

• Supercomputador

• Tablet

• Notebook

• Sistemas Embarcados

• Computadores de bordo

• etc...

Page 19: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Organização de Computadores

• Elementos da organização de computadores: – Implementação da ISA – Instruction Set Architecture; – Hierarquia de Memória; – Registradores; – Palavras; – Coprocessadores; – Interrupções; – Barramentos; – Interfaces de comunicação; – Processador(es); – Frequência de clock; – etc ...

Como correlacionar estes elementos para a composição de um sistema computacional? 19

Page 20: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Organização de Computadores

• Como Implementar uma ISA;

• Tradeoffs (Velocidade, Energia, Custo, ...)

• Como organizar a memória;

• Qual a profundidade do Pipeline;

• Largura de Barramentos;

• etc.

20

Page 21: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

O Modelo von Neumann

21

Memória

Unidade de Controle

Unidade de Entrada

Unidade de Saída

Unidade Lógica e

Aritmética

UCP - Unidade Central de Processamento Periféricos

ULA

UC

Page 22: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Modelo de Barramento

22

CPU (ALU, Controle

e Registradores) Entrada e Saída Memória

Barramentos

Dados

Endereços

Controle

Page 23: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Prolar

• Leitura:

– Patterson: capítulo 1

– Hennessy: capítulo 1

– Stallings: capítulo 1

– Tanenbaum: capítulo 1 (até 1.1.3)

– Leia o verbete sobre computador da Wikipedia e outras enciclopedias e aponte as diferenças e discrepâncias em relação a definição vista em aula.

23

Page 24: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Bibliografia Comentada

• PATTERSON, D. A. e HENNESSY, J. L. 2014. Organização e Projeto de Computadores – A Interface Hardware/Software. Elsevier/ Campus 4ª edição.

• HENNESSY, J. L. e PATTERSON, D. A. 2012. Arquitetura de Computadores – Uma Abordagem Quantitativa. Elsevier/ Campus 5ª edição.

24

Page 25: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Bibliografia Comentada

• MONTEIRO, M. A. 2001. Introdução à Organização de Computadores. s.l. : LTC, 2001.

• MURDOCCA, M. J. e HEURING, V. P. 2000. Introdução à Introdução de Computadores. 2000. 85-352-0684-1.

25

Page 26: Aula Introdutória 1 Arquitetura e Organização de Computadoresabdala/GBC036/GBC036_01.pdf · 2016-08-08 · •Diferenças entre arquiteturas RISC e CISC; •ISA MIPS32; •Organização

Bibliografia Comentada

• STALLINGS, W. 2002. Arquitetura e Organização de Computadores. 2002.

• TANENBAUM, A. S. 2007. Organização Estruturada de Computadores. 2007.

26