Módulo 01: Introdução
Claudionor N. Coelho Jr.
ARQUITETURA DE COMPUTADORES
DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG
Arquitetura vs. Organização
 Arquitetura: atributos do computador visíveis ao
programador
 Conjunto de instruções, número de bits utilizados
para representação de dados, mecanismos de E/S,
técnicas de endereçamento.
 e.g. Existe uma instrução de multiplicação?
 Organização: como atributos são
implementados
 Sinais de controle, interfaces, tecnologia de memória.
 e.g., a instrução de multiplicação é implementada por
um hardware dedicado ou por repetição de soma?
Arquitetura vs. Organização
 Arquitetura básica do x86 da Intel compartilha
mesma arquitetura básica
 Família IBM 370 compartilha mesma arquitetura
básica
 Migração dos Mac’s de 680x0 para Power PC
teve fase de transição de emulação de código
680x0 em hardware e software
 Arquitetura única provê compatibilidade de
código
 Organização difere em cada implementação
Máquina de von Neumann (1945)
Unidade Lógica e
Artimética
Entrada
/
Saída
Memória
Principal
Unidade de Controle
de Programa
Máquina de von Neumann (1945)
 Componentes especializados para executar operações
aritméticas (A)
 Execução das operações na sequência apropriada por
de um componente de controle central (C)
 Qualquer dispositivo destinado a execução de longas e
complicadas sequências de operações deve ter uma
memória considerável (M)
 O dispositivo deve possuir elementos para transferir
informações de A para seus componentes específicos C
eM
 O dispositivo deve possuir elementos para transferir de
seus elementos específicos C e M para A
O que é este curso?
 Entender as técnicas de projeto, arquitetura das
máquinas correntes, fatores da tecnologia, métodos de
avaliação que vão determinar a estrutura da próxima
geração de computadores
Tecnologia
(IC)
Aplicações
Paralelismo
Linguagens de
Programação
Arquitetura de Computadores:
• Projeto do conjunto de instruções
• Organização
• Hardware
Sistemas
Operacionais
Projeto da
Interface
História
Medidas e avaliação
Exemplo
Material do curso
 Livro texto e papers
 Listas de exercícios
 Implementação de RTL a implementação lógica
do uRISC
 Especificação a nível de RTL de um
processador moderno
 Projeto de final de curso, envolvendo um tópico
avançado
Referência e Programação










Hennessy and Patterson, Computer Architecture: A Quantitative
Approach, 3rd Ed., Morgan Kaufman, 2003.
Introdução à arquitetura de computadores (Capítulo 1)
Conjunto de instruções (Capítulo 2)
Pipelining e paralelismo de instruções (Apêndice A e Capítulo 3, 4)
Hierarquia do sistema de memória (Capítulo 5)
Multiprocessadores (Capítulo 6)
Entrada/Saída (Capítulo 7)
Tecnologia de interconexão e redes (Capítulo 8)
Arquiteturas de processadores (Power PC, ARM, i64, Pentium,
Sparc, MIPS, VAX, IBM 360/370, processadores vetoriais)
Aritmética de computadores (Apêndice H)
Tópicos avançados
Livros de referência complementar
 Patterson and Hennessy, Computer Organization and
Design: the Hardware/Software Interface, 2nd edition,
Morgan Kaufmann, 1998.
 Flynn, Michael, Computer Architecture: Pipelined and
Parallel Processor Design, Jones and Bartlett, 1995.
 Stallings, William, Arquitetura e Organização de
Computadores, 5a. edição, 2002.
Tópicos a serem estudados
I/O e armazenamento
Discos, WORM, Fitas
DRAM
Hierarquia
de memória
Cache L2
Cache L1
VLSI
Arquitetura a nível de instrução
RAID
Tecnologia emergentes
Interleaving
Protocolos de barramento
Coerência,
Bandwidth,
Latência
Endereçamento,
Proteção,
Tratamento de exceção
Pipelining, resolução de hazards, Pipelining and paralelismo
superscalar, reordenamento,
a nível de instrução
predição, especulação
Tópicos a serem estudados
P M
P M
S
°°°
P M
P M
rede de interconexão
switch entre processador
e memória
Multiprocessadores,
redes e interconexão
Memória
compartilhada,
Troca de mensagens,
Interfaces de redes
Topologias,
roteamento,
bandwith,
latência,
reliability
Tópicos avançados
Embedded Systems / Mobile Systems
 Computadores vs. comunicadores
inteligentes
 Alta performance vs. baixa
potência
 I/O de tempo real
 Dispositivos portáteis de
armazenamento
(PCMCIA)
 Baterias inteligentes
 Técnicas de SW e HW para
conservação de
energia
Tópicos avançados
Arquiteturas Reconfiguráveis
 Permitem customizar processador para
aplicações dedicadas para maximizar
performance
 Possível com uso de dispositivos reconfiguráveis
(FPGAs)
 exemplos: processador de imagens, decodificador de
mpeg, dma’s reconfiguráveis, ASIPs (Application
Specific Instruction Processors)
Unidades
de processamento
Estado local
Interconexão
Input/Output
Arquitetura de Computadores
Desktop
Servidoras
Sistemas embutidos
Metodologia de projeto de
arquiteturas de computadores
Avanços
tecnológicos
Metodologia de projeto de
arquiteturas de computadores
Avaliação de sistemas
existentes em busca
de gargalos
Benchmarks
Avanços
tecnológicos
Metodologia de projeto de
arquiteturas de computadores
Avaliação de sistemas
existentes em busca
de gargalos
Benchmarks
Avanços
tecnológicos
Workloads
Simulação de novos
projetos e organizações
Metodologia de projeto de
arquiteturas de computadores
Avaliação de sistemas
existentes em busca
Complexidade
de gargalos
do sistema
Benchmarks
Implementação
Avanços
da
tecnológicos
próxima geração
Workloads
Simulação de novos
projetos e organizações
Metodologia de projeto de arquiteturas
de computadores (Idéia básica)
 Regra número 1: Nada vem de graça
 Regra número 2: Uma nova arquitetura ou uma
nova idéia só é implementada após um estudo
da sua viabilidade
 Regra número 3: Nem sempre o melhor e o
mais bem desenvolvido vai ganhar o mercado
 Microsoft Windows vs. Mac OS + OS2
 68000 vs. x86
 Qualquer implementação nova tenta diminuir sua
dependência com a sorte o máximo o possível (isso é
um esforço multi-disciplinar)
Evolução Tecnológica
Gerações
Evoluções
Paralelismo
Ano
54
58
60
64
66
67
71
Componente Armazen.
Tubes
core (8 ms)
Transistor (10µs)
73
75
78
80
84
87
89
92
(8-bit µP)
(16-bit µP)
VLSI (10ns)
Hybrid (1µs)
IC (100ns)
LSI (10ns)
(32-bit µP)
ULSI
GAs
(64-bit µP)
thin films
(200ns)
1k DRAM
4k DRAM
16k DRAM
64k DRAM
256k DRAM
1M DRAM
4M DRAM
16M DRAM
Linguagens
Algol, Cobol
Lisp, APL, Basic
PL1, Simula,C
O.O.
O/S
Fortran
Batch
Multiprog.
V.M.
Redes
ADA
C++
Fortran90
Hoje
 Processadores com via de dados de 128 bits
 Espaço de endereçamento: <16 Gbytes
 Redes de 1Gigabit wired / 55 Mbps wireless
 Sistemas Operacionais: UNIX, PalmOS,
Windows
 Linguagens de programação: C++, Java
Evolução Tecnológica
Perspectiva da Intel
Ano Processador # Xtors
1971
4004
2300
1972
8008
3500
1974
8080
6000
1978 8086/8088
29000
1982
80286
134K
1985
80386
275K
1989
80486
1.2M
1993
Pentium
3.1M
1995 Pentium Pro 5.5M
1997
Pentium II
7.5M
1999 Pentium III
9.5M
2002 Pentium IV
55M
Evolução Tecnológica
Moore Law
Projeto de Novas Arquiteturas
 Área de aplicação
 Propósito específico (e.g., DSP) / propósito genérico
 Científico (intenso em FP) / Comercial (Mainframe)
 Computação embutida
 Nível de compatibilidade de Software
 Compatibilidade de código objeto/binário (custo HW
vs. SW, x86)
 Linguagem de máquina (modificações no código
objeto/binário são possíveis no projeto da arquitetura)
 Linguagens de programação (por que não?)
Projeto de Novas Arquiteturas
 Requisitos do sistema operacional
 Tamanho do espaço de endereçamento (Address
Space)
 Gerenciamento de memória e proteção
 Trocas de contexto
 Interrupções e Traps
 Padrões: inovação vs. competição
 Ponto flutuante (IEEE 754)
 Barramentos de I/O (PCI, SCSI, PCMCIA)
 Sistemas operacionais (UNIX, PalmOS, Windows)
 Redes (Ethernet, Infiniband)
 Sistemas operacionais / Linguagens de programação
...
Download

Aula 01: Introdução - trabalhos