Você está na página 1de 26

GBC036 – Arq. e Org.

de Computadores 1

Aula Introdutória

Arquitetura e Organização de
Computadores

Universidade Federal de Uberlândia


Faculdade de Computação
Prof. Dr. rer. nat. Daniel D. Abdala
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
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
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
O que é arquitetura de Computadores?

• Arquitetura de Computadores
Aplicação
pode ser vista como uma pilha
Algoritmos
de abstrações;
Linguagens de Programação
SOs/Máquinas Virtuais
• Ela se enquadra em uma pilha
Sistemas Computacionais
muito mais complexa que
Instruction Set Architecture
permite utilizarmos conceitos
Microarchitecture
físicos para a criação de
Register Transfer Level
aplicações complexas;
Portas Lógicas
Circuitos Elétricos
Componentes Elétricos
Mundo Físico

5
O que é um Computador?
• DEF (Britânica): Device for processing,
storing and displaying information;

6
O que é arquitetura de Computadores?

Aplicação
Algoritmos
Linguagens de Programação
SOs/Máquinas Virtuais
Sistemas Computacionais
Instruction Set Architecture
Arquitetura de Computadores
Microarchitecture
Register Transfer Level
Portas Lógicas
Circuitos Elétricos
Componentes Elétricos
Mundo Físico

7
O que é arquitetura de Computadores?
• Arquitetura de Computadores
Aplicação existe em um contexto;
Algoritmos
Linguagens de Programação
SOs/Máquinas Virtuais
Sistemas Computacionais
Instruction Set Architecture
Microarchitecture
Register Transfer Level
Portas Lógicas
Circuitos Elétricos
Componentes Elétricos
Mundo Físico

8
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
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
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
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
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
Sistema de Avaliação
• Duas provas (P1 e P2) valendo 100 pontos cada e
correspondendo a 50% do conceito final da disciplina cada;
P1  P2
NF 
2

• 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
Arquitetura
vs
Organização de Computadores

15
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
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
Organização de Computadores
• Refere-se aos aspectos estruturais que
definem um processador;
• Tipos (classes) de sistemas computacionais:
• Desktop • Notebook
• Servidor • Sistemas Embarcados
• Supercomputador • Computadores de bordo
• Tablet • etc...

18
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
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
O Modelo von Neumann

ULA
Unidade
Unidade de
Memória Lógica e
Entrada
Aritmética

UC

Unidade de Unidade de
Controle Saída

UCP - Unidade Central


de Processamento Periféricos

21
Modelo de Barramento

CPU
(ALU, Controle Memória Entrada e Saída
e Registradores)

Barramentos
Dados
Endereços
Controle

22
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
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
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
Bibliografia Comentada
• STALLINGS, W. 2002. Arquitetura e
Organização de Computadores. 2002.

• TANENBAUM, A. S. 2007. Organização


Estruturada de Computadores. 2007.

26

Você também pode gostar