Escolar Documentos
Profissional Documentos
Cultura Documentos
de Computadores 1
Aula Introdutória
Arquitetura e Organização de
Computadores
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
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
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.
24
Bibliografia Comentada
• MONTEIRO, M. A. 2001. Introdução à
Organização de Computadores. s.l. : LTC,
2001.
25
Bibliografia Comentada
• STALLINGS, W. 2002. Arquitetura e
Organização de Computadores. 2002.
26