Você está na página 1de 14

Organizao e Arquitetura de Computadores

Aula 1 - Introduo

2002 Juliana F. Camapum Wanderley


http://www.cic.unb.br/docentes/juliana/cursos/oac
OAC Introduo 1 Juliana F Camapum Wanderley

Sumrio

Introduo a Arquitetura de Computadores Organizao e Anatomia de um Computador Mudanas Tecnolgicas Rpidas Concluses

OAC Introduo 2

Juliana F Camapum Wanderley

Introduo

Nos anos 60/70:


minimizar espao em memria melhora o desempenho

Problema atual:

hierarquia de memrias paralelismo dos processadores (pipeline) otimizao dos compiladores sistema operacional...

OAC Introduo 3

Juliana F Camapum Wanderley

O que "Arquitetura de Computadores"?


Application (Netscape) Compiler Operating System (Linux)

AC
Instruction Set Architecture

Software Hardware

Assembler

Processor Memory I/O system Datapath & Control Digital Design Circuit Design
transistors

Arquitetura do conjunto de instrues + Organizao da mquina Coordenao de muitos Nveis de Abstrao


OAC Introduo 4

Juliana F Camapum Wanderley

Abstrao

Maior aprofundamento revela mais informaes Uma abstrao omite detalhes desnecessrios, ajudando a lidar com a complexidade uma descrio simplificada ou seletiva de um sistema

OAC Introduo 5

Juliana F Camapum Wanderley

Arquitetura do Conjunto de Instrues


Uma importante abstrao


interface entre hardware e software de baixo nvel padronizao das instrues, linguagem de mquina, etc... Vantagens: diferentes implementaes da mesma

arquitetura

desvantagem: algumas vezes impossibilita o uso de

inovaes

Modernas arquiteturas de conjunto de instrues:


Intel (80x86/Pentium/K6/MMX), PowerPC, DEC Alpha, SGI MIPS, SUN SPARC, HP PA-RISC
Juliana F Camapum Wanderley

OAC Introduo 6

Arquitetura do Conjunto de Instrues


Conjunto de instrues (ou cdigos de operao).


Categorias de Instrues - MIPS R3000


Carregar/Armazenar Clculo Desvio Ponto flutuante Gerenciamento de Memria

Formato das instrues.


3 formatos de instrues (32 bits) - MIPS R3000

Tipos e estruturas de dados, codificao e representao Modos de endereamento e acesso a dados e instrues. Organizao da memria.
Juliana F Camapum Wanderley

OAC Introduo 7

Nveis de Representao
High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,MIPS) Assembler Machine Language Program (MIPS) Machine Interpretation Control Signal Specification
OAC Introduo 8

AC

temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw lw sw sw $t0, $t1, $t1, $t0,
0110 1000 1111 1001

0($2) 4($2) 0($2) 4($2)


1111 1001 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111

0000 1010 1100 0101

1001 1111 0110 1000

1100 0101 1010 0000

1010 0000 0101 1100

Juliana F Camapum Wanderley

Por trs do Programa


Computadores: dois dgitos 0 e 1 (bits). Em computadores: bits so agrupados em grupos na memria:

Z-80 Grupos de 8 bits (1 byte). MIPS Grupos de 32 bits.

Memria de um computador: Endereo Contedo 0 0000 0000 0000 0000 1 0000 0000 0000 0000 2 0000 0000 0000 0000 Representao popular: em hexa: Endereo Contedo 0000 0000 0000 0098 0000 0001 0000 F098

OAC Introduo 9

0000 0000 1001 1000 0000 1000 0001 1010 1111 0000 1001 1000
Significado dos bits: Programas, nmeros, texto, imagens, sons, etc.
Juliana F Camapum Wanderley

Organizao da Mquina

Caractersticas de performance e capacidade das principais unidades funcionais.


Registradores, Unidade lgica e aritmtica, Unidade de controle ...

Como estas unidades funcionais so conectadas. A natureza das informaes trocadas entre componentes. A lgica e os meios pelos quais controlado este fluxo de informaes.

OAC Introduo 10

Juliana F Camapum Wanderley

Anatomia: 5 componentes de qualquer Computador

Computador Pessoal

Computador Processador Controle Datapath Memria (onde programas, dados vivem qdo rodando) Devices Input Entrada Output Sada

Teclado, Mouse Disco


(onde programas, dados vivem quando no esto rodando)

Via de dados

Monitor, Impressora

OAC Introduo 11

Juliana F Camapum Wanderley

Nosso primeiro enfoque


O processador (datapath e controle) Implementado usando milhes de transistores Impossvel de entender olhando cada transistor Ns precisamos de abstraes

OAC Introduo 12

Juliana F Camapum Wanderley

Arquitetura de Computadores
Branch

Data cache

Control

Integer data path

Arquitetura Pentium
OAC Introduo 13

Instruction cache

Bus

Floatingpoint data path


Juliana F Camapum Wanderley

Mudanas tecnolgicas

Grande desenvolvimento da eletrnica


Transistor: chave on/off CI: dzias a milhes de transistores em um VLSI.

OAC Introduo 14

Juliana F Camapum Wanderley

Circuitos Integrados

Silcio semicondutor. Pode ser:


Excelentes condutores. Excelentes isolantes. reas que alternam entre condutores e isolantes (chaves). Basto (ingot) dimetro de 6 a 12 polegadas, comprimento de 12 a 24 polegadas. Fatiados em finas fatias wafers (largura de 0,1 polegada). Srie de passos de processamento qumico, que cria transistores, condutores e isolantes. Conectar o chip com os pinos externos. Encapsulamento.
Juliana F Camapum Wanderley

Fabricao:

OAC Introduo 15

Tendncias Tecnolgicas: Capacidade de Memria (cada chip DRAM)


size 1000000000

100000000

10000000

1000000

100000

10000

Ano Tam. (Mbit) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 2000 256
1970 1975 1980 1985 Year 1990 1995 2000

1000

- Aprox 1.4X/ano, ou dobro a cada 2 anos. - 4000X desde 1980.


OAC Introduo 16 Juliana F Camapum Wanderley

Tendncias Tecnolgicas: Complexidade do Microprocessador


100000000

10000000

Lei de Moore
1000000 i80386 100000 i80286

Pentium i80486

Athlon (K7): 22 Milhes Alpha 21264: 15 milhes Pentium Pro: 5.5 milhes PowerPC 620: 6.9 milhes Alpha 21164: 9.3 milhes Sparc Ultra: 5.2 milhes

i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000

2X transistores/Chip Cada 1.5 anos

Chamada "Lei de Moore"


Juliana F Camapum Wanderley

OAC Introduo 17

Tendncias Tecnolgicas: Desempenho de Processador


1200 1100 1000 900 800 700 600 500 400 300 200 100 0
Intel P4 1500 MHz (Prim. 2001)

1.54X/ano

DEC Alpha 21264/600 DEC Alpha 5/500 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100

87 88 89 90 91 92 93 94 95 96 97
Desempenho Processador aumento/ano, erroneamente referido como Lei de Moore (transistores/chip)
OAC Introduo 18 Juliana F Camapum Wanderley

Tecnologia do Computador Mudana Dramtica!

Processador
2X em veloc. cada 1.5 anos;
100X desempenho na ltima dcada.

Memria
Capacidade DRAM: 2x / 2 anos; 64x tamanho na ltima
dcada.

Disco
capacidade: > 2X em tamanho cada 1 ano. Custo por bit: melhora cerca de 100% por ano. 120X tamanho na ltima dcada.

OAC Introduo 19

Juliana F Camapum Wanderley

Tecnologia do Computador Mudana Dramtica


PC Estado-da-arte:
Velocidade Clock do Processador:
4000 MHz (4.0 GigaHertz) Capacidade da Memria: 1000 MegaByte (1.0 GigaBytes) Capacidade do Disco: 1000 GigaBytes (1.0 TeraBytes) Novas unidades! Mega => Giga, Giga => Tera

OAC Introduo 20

Juliana F Camapum Wanderley

Por que Estudar Arq de Computadores?


Mudana; excitante!; nunca foi to excitante! Impacta todos os outros aspectos de engenharia
eltrica/eletrnica e cincia dos computadores.
Bionics: Sensors in latex fingers instantly register hot and cold, and an electronic interface in his artificial limb stimulates the nerve endings in his upper arm, which then pass the information to his brain. The $3,000 system allows his hand to feel pressure and weight, so for the first time since losing his arms in a 1986 accident, he can pick up a can of soda without crushing it or having it slip through his fingers. One Digital Day
OAC Introduo 21 Juliana F Camapum Wanderley

AC: Ento, o que aprenderei neste curso?


Arq de Computadores do ponto de vista do programador


O que o programador escreve Como convertido para algo que o computador entende Como o computador interpreta o programa O que torna programas lentos

OAC Introduo 22

Juliana F Camapum Wanderley

AC: Ento, o que ser visto neste curso?


Aprender as grandes idias em CC e engenharia:
5 componentes clssicos de um computador Dados podem ser qualquer coisa (inteiros, ponto flutuante,
caracteres); um programa determina o que ele

Conceito de programa armazenado: instrues so apenas dados Princpio de Localidade, explorado via hierarquia de memria (cache) Maior performance via explorao de paralelismo (pipeline). Princpio de abstrao, utilizado para construir sistemas em camadas Compilao vs. Interpretao atravs das camadas do sistema. Princpios/Armadilhas de Medidas de Desempenho.

OAC Introduo 23

Juliana F Camapum Wanderley

O que AC no
Aprendizado de C
C
Se voc sabe uma, voc deveria ser capaz de aprender outra ling. de
programao praticamente sozinho. entender/aprender C.

C++ Dado que voc sabe Pascal ou Java, deve ser mais ou menos fcil Java Programao em Linguagem Assembly
Esta uma habilidade que voc aprender como um efeito colateral
de entender as Grandes Idias.

Projeto de Hardware
Ns trabalharemos com hardware em nvel de abstrao, com muito pouco de lgica fsica para que tenhamos uma perspectiva adequada do assunto.
OAC Introduo 24 Juliana F Camapum Wanderley

Organizao do curso

Desempenho (Captulo 2) Uma arquitetura de conjunto de instrues (Captulo 3) Aritmtica e como construir uma ALU (Captulo 4) Lgica Seqencial (Apndice B) Construo de um processador para executar nossas instrues (Captulo 5) Mapeamento do Controle no Hardware (Apndice C) Pipelining para melhorar desempenho (Captulo 6) Memria: caches e memria virtual (Captulo 7) I/O (Captulo 8) Chave para um bom curso: Ler o livro!

OAC Introduo 25

Juliana F Camapum Wanderley

Literatura

Livro Texto:
Requerido: Organizao e Projeto de Computadores: A Interface Hardware/Software, Segunda Edio, Patterson and Hennessy (P&H) - Editora LTC

OAC Introduo 26

Juliana F Camapum Wanderley

Leitura

Todo o captulo 1 do livro texto


Itens 1.1 - 1.8

OAC Introduo 27

Juliana F Camapum Wanderley

Você também pode gostar