Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 1 - Introdução
2002
Juliana F. Camapum Wanderley
http://www.cic.unb.br/docentes/juliana/cursos/oac
Sumário
1
Introdução
Nos anos 60/70:
minimizar espaço em memória melhora o
desempenho
Problema atual:
hierarquia de memórias
paralelismo dos processadores (pipeline)
otimização dos compiladores
sistema operacional...
Application (Netscape)
Operating AC
Compiler System
Software Assembler (Linux)
Instruction Set
Hardware Processor Memory I/O system Architecture
2
Abstração
3
Arquitetura do Conjunto de Instruções
Conjunto de instruções (ou códigos de operação).
Categorias de Instruções - MIPS R3000
Carregar/Armazenar
Cálculo
Desvio
Ponto flutuante
Gerenciamento de Memória
Formato das instruções.
3 formatos de instruções (32 bits) - MIPS R3000
Tipos e estruturas de dados, codificação e representação
Modos de endereçamento e acesso a dados e instruções.
Organização da memória.
OAC – Introdução 7 Juliana F Camapum Wanderley
Níveis de Representação
temp = v[k];
High Level Language v[k] = v[k+1];
Program (e.g., C)
v[k+1] = temp;
Compiler AC
Assembly Language lw $t0, 0($2)
Program (e.g.,MIPS) lw $t1, 4($2)
Assembler
sw $t1, 0($2)
sw $t0, 4($2)
Machine Language
Program (MIPS)
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
Machine Interpretation 1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Control Signal
Specification
°
OAC – Introdução 8 ° Juliana F Camapum Wanderley
4
Por trás do Programa
Computadores: dois dígitos – 0 e 1 (bit’s).
Em computadores: bits são agrupados em grupos na memória:
Z-80 – Grupos de 8 bits (1 byte).
MIPS – Grupos de 32 bits.
Memória de um computador:
Endereço Conteúdo
0 0000 0000 0000 0000 0000 0000 1001 1000
1 0000 0000 0000 0000 0000 1000 0001 1010
2 0000 0000 0000 0000 1111 0000 1001 1000
Representação popular: em hexa:
Endereço Conteúdo
Significado dos bits:
0000 0000 0000 0098 Programas, números, texto,
0000 0001 0000 F098 imagens, sons, etc.
Organização da Máquina
5
Anatomia: 5 componentes de qualquer Computador
Computador Pessoal
Computador Teclado,
Mouse
Processador Memória Devices
(onde Disco
Input
Controle programas,
Entrada (onde
dados
vivem qdo programas,
rodando) dados
Datapath Output vivem quando
Via de dados
Saída não estão
rodando)
Monitor,
Impressora
transistores
Impossível de entender olhando cada
transistor
Nós precisamos de abstrações
6
Arquitetura de Computadores
Branch
Data
Control
cache
Mudanças tecnológicas
7
Circuitos Integrados
Ano
1000000000
Tam. (Mbit)
100000000 1980 0.0625
1983 0.25
10000000
1986 1
1000000
1989 4
100000 1992 16
10000
1996 64
2000 256
1000
1970 1975 1980 1985 1990 1995 2000
Year
8
Tendências Tecnológicas: Complexidade do
Microprocessador
100000000
i8086
2X transistores/Chip
10000 Cada 1.5 anos
i8080
i4004
1000 Chamada
"Lei de Moore"
1970 1975 1980 1985 1990 1995 2000
Year
9
Tecnologia do Computador
Mudança Dramática!
Processador
2X em veloc. cada 1.5 anos;
100X desempenho na última década.
Memória
Capacidade DRAM: 2x / 2 anos; 64x tamanho na última
década.
Disco
capacidade: > 2X em tamanho cada 1 ano.
Custo por bit: melhora cerca de 100% por ano.
120X tamanho na última década.
Tecnologia do Computador
Mudança Dramática
PC Estado-da-arte:
10
Por que Estudar Arq de Computadores?
Mudança; É excitante!; nunca foi tão excitante!
Impacta todos os outros aspectos de engenharia
elétrica/eletrônica e ciência 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
11
AC: Então, o que será visto neste curso?
O que AC não é
Aprendizado de C
C Se você sabe uma, você deveria ser capaz de aprender outra ling. de
programação praticamente sozinho.
C++ Dado que você sabe Pascal ou Java, deve ser mais ou menos fácil
entender/aprender C.
Java Programação em Linguagem Assembly
Esta é uma habilidade que você aprenderá como um efeito colateral
de entender as Grandes Idéias.
Projeto de Hardware
Nós trabalharemos com hardware em nível de abstração, com
muito pouco de lógica física para que tenhamos uma
perspectiva adequada do assunto.
12
Organização do curso
Desempenho (Capítulo 2)
Uma arquitetura de conjunto de instruções (Capítulo 3)
Aritmética e como construir uma ALU (Capítulo 4)
Lógica Seqüencial (Apêndice B)
Construção de um processador para executar nossas
instruções (Capítulo 5)
Mapeamento do Controle no Hardware (Apêndice C)
Pipelining para melhorar desempenho (Capítulo 6)
Memória: caches e memória virtual (Capítulo 7)
I/O (Capítulo 8)
Literatura
Livro Texto:
Requerido: Organização e Projeto de Computadores: A
Interface Hardware/Software, Segunda Edição, Patterson and
Hennessy (P&H) - Editora LTC
13
Leitura
Todo o capítulo 1 do livro texto
Itens 1.1 - 1.8
14