Arquitetura de Computadores
Prof. Eduardo Simões de Albuquerque
Adaptado do material do Prof. Fábio M. Costa
Instituto de Informática – UFG
1o. Semestre / 2006
Fundamentos
Roteiro
Fundamentos
{
Princípios de funcionamento de computadores
{Perspectiva histórica
{
Tendências tecnológicas
{
Panorama das tecnologias atuais
{Princípios de projeto de computadores
{Análise do desempenho de computadores
Princípios do funcionamento
de computadores
Estrutura e função de um sistema de
computação
{
Estrutura
: quais os componentes e
como eles estão relacionados
{
Função
: operação de componentes
individuais como parte da estrutura
Função
Processamento de dados
Armazenamento de dados
Movimentação de dados
Visão funcional
Armazenamento
Processamento /
Armazenamento
Processamento/
Armazenamento / E/S
Estrutura – visão de alto nível
Computer Main Memory Input Output Systems Interconnection Peripherals Communication lines Central Processing Unit Computer
Estrutura – CPU
Computer Arithmetic and Login Unit Control Unit Internal CPU Interconnection Registers CPU I/O Memory System Bus CPUEstrutura – Unidade de
Controle
CPU Control Memory Control Unit Registers and Decoders Sequencing Login Control Unit AL U Registers Internal Bus Control UnitPerspectiva Histórica
Gerações de Computadores
Geração Zero (1642-1945):
{
computadores mecânicos e eletromecânicos
{Pascal, Babage, Zuse, Atanasoff, Stibbitz, Aiken
Primeira Geração (1945-1955):
{
eletrônica baseada em válvulas
{
Colossus, ENIAC, EDVAC, IAS, EDSAC, IBM 70x
{Turing, Mauchly & Eckert, Wilkes, von Neuman
{memórias de ferrite (núcleo magnético)
{
design típico: máquina de von Neuman
ENIAC
decimal (não binary)
20 acumuladores de 10 dígitos
programado manualmente por chaves
18.000 válvulas
peso: 30 toneladas
ocupava uma área de aprox. 1200m
2 consumo de energia: 140 kW
desempenho: 5000 adições por segundo
A arquitetura de von Neumann
Exemplo concreto: IAS
1000 palavras de 40 bits
{
Representação binária para os dados
{2 instruções de 20 bits por palavra
Conjunto de registradores (armaz. na CPU)
{
Memory Buffer Register
{Memory Address Register
{Instruction Register
{
Instruction Buffer Register
{Program Counter
{
Accumulator
{Multiplier Quotient
Estrutura
do IAS
A segunda geração (1955-65)
transistor
mainframes: IBM 7090, 7094, Burroughs
B5000
minicomputadores: DEC PDP-1, PDP-8
primeiro supercomputador: CDC 6600 –
{
paralelismo
{Seymour Cray
Arquiteturas com barramento
compartilhado
Terceira Geração (1965-80):
circuitos integrados
famílias de computadores com uma arquitetura
comum (em nível ISA) e ≠s implementações
{
IBM System/360
{
compatibilidade entre máquinas diferentes
multiprogramação
emulação de outras máquinas através de
microprogramas distintos para cada arquitetura
Quarta (...) Geração (1980-????)
VLSI (Very Large Scale Integration)
primeiro microchip: Intel 4004 (1971) – LSI
sucessores Intel: 8080, 8086, 8088, 80x86, Pentiums
não-Intel: Z80, Z8000, 68000, SPARC, PowerPC,...
micro-computadores: Apple II, IBM PC, ...
estações de trabalho: Sun, DEC Alpha, ...
evolução em supercomputadores, paralelismo
interconexão em redes, clusters, grid, …
dispositivos computacionais embarcados, etc., etc....
Em resumo:
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965 on
{Up to 100 devices on a chip
Medium scale integration - to 1971
{
100-3,000 devices on a chip
Large scale integration - 1971-1977
{
3,000 - 100,000 devices on a chip
Very large scale integration - 1978 to date
{
100,000 - 100,000,000 devices on a chip
Ultra large scale integration
Espectro da computação
Influências
Computer ArchitectureTecnologia
Linguagens de
Programação
Sistemas
Operacionais
História
Aplicações
Lei de Moore
Aumento da densidade de componentes em chips Gordon Moore– co-fundador da Intel
O número de transistores em um chip dobra a cada ano
Desde os anos 1970 houve uma desaceleração
{ O número de transistores dobra a cada 18 meses
O custo de um chip permanece inalterado
Densidade mais alta representa circuitos de interconexao mais curtos: melhor desempenho
Tamanho menor: maior flexibilidade
Menor consumo e necessidade de resfriamento Menos interconexoes: aumenta a confiabilidade
Contagem de transistores em CPUs
A Lei de Moore na Intel
Processador Ano Núm. de Transistores
---4004 1971 2,250 8008 1972 2,500 8080 1974 5,000 8086 1978 29,000 286 1982 120,000 Intel386 processor 1985 275,000 Intel486 processor 1989 1,180,000
Intel® Pentium® processor 1993 3,100,000 Intel® Pentium® II processor 1997 7,500,000 Intel® Pentium® III processor 1999 24,000,000 Intel® Pentium® 4 processor 2000 42,000,000 Intel® Itanium® processor 2002 220,000,000 Intel® Itanium® 2 processor 2003 410,000,000
Contagem de transistores
Atualmente:
{
Tecnologia de 65nm: 0,5 bilhão de
transistores em um chip
Fonte: Intel
Mais informações e demo sobre a lei de Moore (Intel): http://www.intel.com/technology/silicon/mooreslaw/index.htm
Outros fatores que afetam o
desempenho: novas técnicas
Pipelining
Cache dentro do processador
Caches de nível 1 e 2
Previsão de desvios
Análise de fluxo de dados
Desempenho:
Processador X Memória
Grande aumento da velocidade dos
processadores
Grande aumento na capacidade de
armazenamento das memórias
Mas:
{
A velocidade de acesso à memória não
acompanhou o desenvolvimento da
tecnologia de processadores
Características de DRAMs e
Processadores
Soluções
Aumentar o numero de bits lidos/escritos de
uma vez
{
i.e., aumentar “largura” da memória
Melhorar a interface com a memória: caches
Reduzir a freqüência dos acessos
{
caches mais complexas, dentro do chip da
CPU
Aumentar a largura de banda da interconexão
{
Barramentos de alta velocidade e hierárquicos
Tendências: Aumento relativo
de desempenho
Microprocessors Minicomputers Mainframes Supercomputers 1995 Year 1990 1970 1975 1980 1985 Lo g of Perf orma nceMelhorias de Desempenho:
Freqüência (clock) X Arquitetura
Fonte: Intel
Explorando o paralelismo em
um chip
Exemplo: Evolução do Pentium
8080
{ primeiro microprocessador de propósito geral { via de dados (barramento interno) de 8 bits { Usado no primeiro computador pessoal – Altair
8086
{ bem mais poderoso { 16 bits
{ cache de instruções, pré-busca de algumas instruções
{ 8088: (barramento externo de 8 bits) usado no primeiro IBM PC
80286
{ 16 Mbytes de memória endereçável
80386
{ 32 bits
{ Suporte para multi-tarefa
Exemplo: Evolução do Pentium
80486
{ esquema de caches sofisticado { pipeline de instruções
{ co-processador matemático embutido no chip
Pentium
{ super-escalar
{ múltiplas instruções executadas em paralelo
Pentium Pro
{ organização super-escalar aprimorada
{ técnica agressiva de renomeação de registradores (…) { previsão de desvios, análise de fluxo de dados, execução
Exemplo: Evolução do Pentium
Pentium II{ tecnologia MMX (MultiMedia eXtensions) { processamento gráfico e de áudio & vídeo
Pentium III
{ instruções de ponto flutuante adicionais para gráficos 3D
Pentium 4
{ mais melhorias de ponto flutuante e multimídia
{ mais paralelismo (2005: “dual core” - dois procs. em um)
Itanium
{ 64 bits (IA-64)
Exercício:
{ Veja as páginas Web da Intel para mais detalhes
http://www.intel.com/intel/intelis/museum/online/hist_micro/hof/index.htm
Panorama das Tecnologias
Atuais de Processadores
Pentium 4
Clock: 2 a 3,8GHz
Tecnologia de integração: 0,90µm (2Q05: 65nm)
Barramento do sistema: até 1066MHz (real: 266MHz)
Hyper-pipelining & Hyper-Threading
Unidade de ponto flutuante de 128bits
Cache nível 2 de até 2MB, integrada
SIMD2 (1 fluxo de instruções, vários fluxos de dados)
P4 Extreme Edition (3,8 GHz)
{ otimizado para jogos, aplicações gráficas e multimídia de alto
desempenho
2005: Extensão de 64bits para acesso a memória
Celeron D
Clock: 2,26MHz a 3,06GHz
Barramento do sistema: 533MHz
Cache nível 2: 256KB
SIMD, execução especulativa, análise
de fluxo de dados
Barramento interno dual (via da cache
separada da via principal de dados)
Segmento de baixo custo
Pentium M
®
Clock: 1,5MHz a 2,13GHz
Projetado para vários níveis de operação em
baixo consumo de energia (com taxas de clock
reduzidas) – SpeedStep
Até 2MB de cache de nível 2, integrada no chip
Barramento do sistema: 533MHz
Tamanho reduzido
Otimizado para computação móvel
{
Tecnologia Centrino:
Itanium2
Arquitetura de 64bits (IA-64)
Voltado para o mercado de servidores
Clock: 1,0 a 1,6GHz
Caches integradas no chip
{
L1: 32KB
{L2: 256KB
{L3: até 9MB
Paralelismo interno explícito (EPIC)
Barramento do sistema: até 533MHz,
128bits
Xeon MP
Também voltado para o mercado de
servidores
Clock: 1,4 a 3,6GHz
Arquitetura NetBurst (mesma do P4)
SIMD2, Hyper Threading
3 níveis de caches integradas
{
L2: até 2MB; L3: até 4MB
Barramento dual de memória
AMD
UltraSPARC IV
Sun Microsystems
Multi-threading com 2 pipelines UltraSPARC III no
mesmo chip
Super-escalar
64 bits
66M transitores
Clock: 1,05 a 1,2GHz
Caches
{ nível 1: uma por pipeline (64KB dados, 32KB instruções { nível 2: 16MB externa ao chip
PowerPC (IBM)
DSPs – Digital Signal
Processors
Conversão entre sinais analógicos em sinais digitais Processamento dos sinais em tempo real
Algumas aplicações:
{ sensores em automóveis, eletrodomésticos, ferramentas, etc. { processamento de voz em telefones celulares
{ video e imagem (câmeras digitais) { aviônica
{ biométrica
Requisitos e arquiteturas diferentes dos processadores de propósito geral
Mais Informações: Texas Instruments
{ http://dspvillage.ti.com/
DSPs – Digital Signal
Processors
Fonte: Texas Instruments
Leitura Recomendada
STALLINGS, W. Arquitetura e
Organização de Computadores,
Tradução da 5ª Edição, Prentice-Hall, 2002.
Cap. 1 e 2
PATTERSON, D.A.; HENNESSY, J.L. Projeto e Organização de
Computadores: A Interface
Hardware / Software, Tradução da
2a Edição, LTC, 2000.
Cap. 1
TANENBAUM, A.S. Organização
Estruturada de Computadores,
Tradução da 4a Edição, LTC, 2001.
Recursos na Internet
Intel: http://www.intel.com/
{Intel Museum:
http://www.intel.com/intel/intelis/museum/index.htm IBM: http://www.ibm.com
PowerPC
{ http://www-03.ibm.com/chips/products/powerpc/