Escolar Documentos
Profissional Documentos
Cultura Documentos
Ementa do Curso
Resumidamente:
Introduo Arquitetura e Organizao de Computadores.
Processador
Memria
Barramentos
Entrada/Sada (I/O)
Plano de Curso
Objetivos do Curso
Capacitar os alunos a compreenderem conceitos
fundamentais da rea de Computao:
Arquitetura e organizao de computadores
Estes conceitos so importantes para um profissional que utilize
sistemas computacionais...
Garantir a homogeneidade dos alunos em relao
terminologia e conceitos essenciais de sistemas de
computao, no sentido de viabilizar as referncias a esses
conceitos posteriormente.
O que um Sistema?
Sistema: conjunto de componentes que trabalham de maneira
coordenada para realizar alguma atividade
Tecnolgicos: sistema de TV digital, sistema de controle
de freios, sistema de injeo eletrnica, sistema de reserva
de passagens, sistema de controle de trfego areo,
sistema de atendimento automtico, sistema distribudo,...
No-tecnolgicos: sistema circulatrio, sistema
respiratrio, sistema nervoso, sistema de venda de
bilhetes, ...
Abordagem sistmica
Facilita a compreenso do funcionamento como um todo e
a participao de cada uma das partes envolvidas
Sistema Nervoso
Sistema
CREBRO
Sensaes e
Conhecimento
Estmulos
(percepo)
Usurio
Sistema de Computao
Sistema
COMPUTADOR
OU
PROCESSADOR
Sada
Entrada
Usurio
10
11
Entrada:
Como consigo interagir com o sistema?
Qual a linguagem que ele entende?
Quanto de conhecimento preciso ter para inserir coisas no
sistema?
Qual o formato ou modalidade devo usar?
...
Sada:
Qual a linguagem que o usurio entende?
Qual o resultado esperado pelo usurio?
Quanto de conhecimento preciso para entender os resultados
produzidos?
Qual o formato, linguagem e modalidade a ser utilizada?
...
12
Sistemas Computacionais
Software
Dados
13
Sistemas Computacionais
14
15
16
17
Sistemas de Numerao
Nosso curso:
Base binria (base 2) e hexadecimal (base 16)
Implementaes em hardware
[http://www.inf.ufsc.br/ine5365/clteoria.html]
Representao de racionais
18
Sistemas de Numerao
19
Variveis Booleanas
Podem assumir apenas 2 valores: 0 e 1
Abstraes:
Lmpada: acesa (1) ou apagada (0)
Chave: fechada (1) ou aberta (0)
Verdadeiro (1) ou Falso(0)
Representao:
Expresso Lgica
Tabela Verdade
Smbolos (portas lgicas)
20
21
Anotaes da Parte 1
22
Introduo
23
O que um computador?
Componentes:
Entrada (mouse, teclado, USB)
Sada (monitor, impressora)
Memria (disk drives, DRAM, SRAM, CD, DVD, flash memory)
Rede
Foco inicial: o processador (controle e via de dados)
Implementado usando milhes de transistores
Impossvel entender olhando cada transistor
Precisamos de...
24
Abstrao
Removendo camadas
temos mais informao
High-level
language
program
(in C)
C compiler
Assembly
language
program
(for MIPS)
swap:
muli $2, $5,4
add $2, $4,$2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
Assembler
Binary machine
language
program
(for MIPS)
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
25
26
Chave para uma boa nota na disciplina: guie-se pelos slides, mas
LEIA o Livro texto!
27
CPU: ALU
(datapath)
+ control
interrupts
Cache
main bus
Main
Memory
I/O
Controller
I/O
Controller
Graphics
display
I/O
Controller
Keyboard
I/O
Controller
Network
28
29
Um breve histrico
MARK I 1944
Primeiro computador eletromecnico
Desenvolvido pela Universidade de Harvard, com apoio da IBM
Medidas:
700.000 peas
800.000 metros de fios
17 metros de comprimento por 2 metros de altura
70 toneladas
Soma 0,3 segundos
Multiplicao 6 segundos
30
Um breve histrico
ENIAC 1945
17.000 vlvulas.
50.000 comutadores.
70.000 resistncias.
Soma 0,0002 segundos.
Multiplicao 0,003 segundos.
111 m3.
30 toneladas.
Consumo 100.000 a 200.000 watts.
31
Um breve histrico
Mquina de von Neumann
Proposta em 1946
Mquina composta por:
Memria (MEM)
Armazena dados, onde alguns destes dados so interpretados como
instrues de um programa a ser executado pela CPU
A caracterstica fundamental da mquina de von Neumann que
dados e programas esto armazenados numa mesma memria!
32
33
CPU: ALU
(datapath)
+ control
interrupts
Cache
main bus
Main
Memory
I/O
Controller
I/O
Controller
Graphics
display
I/O
Controller
Keyboard
I/O
Controller
Network
34
3.
35
Mas s isso?
Existe ainda um programa que gerencia os recursos da mquina
durante a execuo dos programas: o SISTEMA
OPERACIONAL (SO)
Operaes de Entrada/Sada (E/S), carga do programa na
memria, excees, etc.
O SO funciona como um gerente dos recursos, escondendo o
acesso direto ao hardware dos usurios
Mais ainda: multiprocessamento, gerncia de arquivos,
processamento distribudo, ...
Assim, existem diversas camadas e servios disponveis para
auxiliar nossa comunicao com a mquina:
Um modelo em camadas e servios uma forma
interessante de abstrao para a comunicao
36
6o. bit
15o. bit
O que isto?
00000000001000100100000000100000
214
25 ...
20
37
O que isto?
00000001000000010000001000001000000000000100000
00000001000000110000010000001001000000000100000
000000100000100000001001000001010000000 00100010
Melhor assim?
00000001 00000001 00000010 00001000 0000000 00100000
00000001 00000011 00000100 00001001 0000000 00100000
00000010 00001000 00001001 00000101 0000000 00100010
38
Traduzindo...
E assim?
1
1
1
3
2
8
2
4
9
8
9
5
0
0
0
32
32
34
Melhorando...
add $8,
add $9,
sub $5,
$1,
$3,
$8,
$2
$4
$9
39
Claro agora?
u=a+b
v=c+d
x=u-v
Sim, claro: x = (a+b) - (c+d)
40
Nveis de Representao
Programa em
Linguagem de Alto-Nvel
x = (a+b)
x = x (c+d)
Compilador /
Interpretador
Compilador
lw
lw
sw
sw
Programa em Linguagem
de Montagem
Montador ou
Assembler
$15,
$16,
$16,
$15,
0($2)
4($2)
0($2)
4($2)
Programa em
Linguagem de Mquina
Interpretao da Mquina
Especificao do
controle de sinais
41
Implementao em Circuitos
Lgica Binria
42
Clula Complexa
Ligaes
43
X
I
V+
ig
44
GND = 0v
Vdd = 5V
45
NOT
A , A
Smbolo
Tabela da Verdade
A
0
1
F = A
1
0
46
Smbolo
In
Circuito
PMOS
In
Out
Out
NMOS
Operao do Inversor
Vdd
Vout
Vdd
Vdd
Vdd
Open
Carga
Sada = 1
Sada = 0
Open
Descarga
Vdd
Vin
47
Out
B Out
0
0
1
1
Porta NOR
0
1
0
1
1
1
1
0
A
A
Out
Vdd
0
0
1
1
B Out
0
1
0
1
1
0
0
0
Vdd
A
Out
B
B
Out
A
48
Circuitos Lgicos
49
Estado
Corrente
Funo prximo
estado
Clock
Prximo
Estado
Entradas
Funo
Sadas
sada
50
Armazenando um Programa
Registradores
CPU
Memria Principal
ULA
Dados e
instrues
armazenados
na mesma
... ento, quando eles
memria so carregados para a
CPU, os dados vo
para os registradores e
as instrues so
executadas.
51
Arranjo de palavras
cada palavra contm 32 bits
... isto , quatro bytes de 8 bits
Endereos de memria referem-se a palavras ao invs de bytes
diretamente
Os endereos podem ser armazenados em palavras
Portanto, cada posio endereada contm 8 bits
Em geral, as arquiteturas no acessam bits diretamente, mas
blocos ou conjuntos de bits
O tamanho dos blocos variam de acordo com os nveis de
memria endereados...
52
msb
O que representa?
Cdigo ASCII (ANSI):
ex. A=65 (0x41), a= 97, B=66, C=67, ...
0=48, 1=49, ...
lsb
53
...Resposta
Algumas Arquiteturas:
SPARC big-endian (compatibilidade com a linha 68K usada
pela SUN)
MIPS configura-se em big ou little-endian (interoperabilidade)
IBM big-endian
Intel 80x86 e VAX little-endian
54
Exemplo
Implementao little-endian
Endereo do byte = Endereo da palavra + offset (deslocamento)
Offset
ms
+3 +2
3
A
7
Endereos
de Bytes
41
+1
1
B
6
42
ls
+0
0
C D
5
43
44
Palavra
0
4
8
12
(Contedo em
Hexadecimal)
16
55
56
Desempenho x Tecnologia
Poder da Tecnologia Ganho: 1.2 x 1.2 x 1.2 = 1.7 x / ano
Tamanho: miniaturizao do transistor ganha 10%/ ano
velocidade de chaveamento ganha 1.2 / ano.
Densidade: aumenta 1.2x / ano.
rea da pastilha (die): 1.2x / ano.
A lio da abordagem RISC deixar o conjunto de instrues
(ISA) o mais simples possvel:
Ciclo de projeto curto explora de maneira otimizada a
tecnologia (~3 anos)
Tcnicas de pipeline e previso de desvios (branches)
Caches on-chip maiores e mais sofisticados
57
58