Computação L1
Sérgio Cavalcante
Centro de Informática - UFPE
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Computação L1

Conceitos Básicos
• História da computação
• Aritmética Binária
• Conceitos de Lógica
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Computação L1

Módulo 1: Hardware
• Conceitos de Arquitetura de Computadores
– Como funciona uma CPU
• Básico: Unidade de Controle + Unid. Processamento
• Avançado: Pipeline e Arquiteturas Superescalares
– Memória
• Tipos de memória
• Heierarquia de Memória: principal, secundária e cache
• Memória virtual
– Sistema de Entrada/Saída
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
• Dispositivos de E/S
• Barramentos
• Periféricos
Computação L1

Módulo 2: Software
• Compiladores e Interpretadores
• Sistemas operacionais
– Gerenciamento de processos
– Gerenciamento de memória
– Gerenciamento de periféricos
– Interface com o usuário
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Computação L1

Módulo 3: Linguagens de Programação
• Tipos de dados
• Operacões aritméticas
• Comandos de controle
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Conceitos Básicos
de Computadores
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
O que é o computador?
Problema
Programa
Computador
Solução
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Como funciona um computador?
Como trabalhamos ?
 Como
trabalhamos ?
• Informações que não tem uso •
no momento ficam no fichário.
• A pasta sobre a mesa contém
cópias das informações que
•
precisaremos naquele dia.
Fichário
Pastas
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Na mesa mantemos os
papéis que estamos
usando naquele
momento
Completada uma tarefa,
pomos os papéis
alterados de volta no
fichário.
• Após o expediente, a
faxineira joga no lixo
tudo que está na mesa.
Como funciona um computador?
Comparando com um computador
Fichário
Disco
Memória
2
3
1
timing
& size
size
timing
&
Information
Information
Unidade de
Controle (CPU)
Mesa
Pastas


Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO


O fichário representa o disco rígido, com alta capacidade de
armazenamento.
A pasta sobre a mesa representa a memória, de acesso rápido e fácil
Mesa e usuário são a CPU
OBS: Memória é volátil e disco não (faxineira)
Qual
a linguagem queHomem-Máquina
o computador entende?
Comunicação

Níveis distintos de abstração
Linguagem C
Linguagem Assembly
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
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
swap(int v[], int k)
{int temp:
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
Código executável
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Comunicação Homem-Máquina

Como transformar descrições em código
executável?
• Diferença entre as linguagens utilizadas
• Métodos:
– Compilação
– Interpretação
– Compilação-Interpretação
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Compilação
Programa fonte
Ln
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Compilador
Programa objeto
L0
Interpretação
Instrução
Ln
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Interpretador
Instrução
Ln-1
Interpretação & Compilação
Programa fonte
Ln
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Compilador
Programa objeto
Lint
Interpretador
Instrução de máq.
L0
Computador: Hardware e
Software
re
Sy
ions soft w
t
a
c
i
are
pl
p
A
ms softwa
e
t
s
Hardware
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Computador: Hardware e
Software
Periféricos
Computador
CPU
Mem.
Interconexão
E/S
(I/O)
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Componentes de um computador
Memória
CPU
Execução das
instruções de um
programa
Programas
+
Dados
Teclado
E/S
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Vídeo
Buffers
Sistema Básico de Memória
CPU
Memória
Principal
Barramento
de memória
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Memória
Secundária
Barramento
de E/S
Sistema Básico de Memória
Alto desempenho da CPU
CPU
C
a
c
h
e
Memória
Principal
Barramento
de memória
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Memória
Secundária
Barramento
de E/S
Memória
Dado
0
15
sinal
magnitude
Instrução
Opcode
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
15
3 4
0
0001 AC  Mem.
0010 Mem.  AC
0101 AC  AC + Mem.
Endereço
Componentes de um computador
Memória
CPU
Execução das
instruções de um
programa
Programas
+
Dados
E/S
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Buffers
Vídeo
Teclado
Componentes de um computador
Unid. controle
Instrução
Reg.
Memória
Endereço
temp
Operando
ALU
Programas
+
Dados
E/S
Unid. processamento
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Buffers
Vídeo
Teclado
Executando um programa
Busca instrução
Decodifica instrução
Incrementa PC
Busca operando
Executa instrução
Armazena resultado
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Executando um programa
Memória
300
301
302
1940
5941
2941
Registradores da CPU
300
PC (endereço
da instrução)
1940
IR (código
da instrução)
0003
AC (operando)
...
940
941
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
0003
00 02
0001 AC  Mem.
0010 Mem.  AC
0101 AC  AC + Mem.
Executando um programa
Memória
300
301
302
1940
5941
2941
...
940
941
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
0003
00 02
0001 AC  Mem.
0010 Mem.  AC
0101 AC  AC + Mem.
Registradores da CPU
301
0
PC
1941
0
5
IR
0003
5 AC
316 + 216 = 516
Executando um programa
Memória
300
301
302
1940
5941
2941
Registradores da CPU
302
1
PC
2941
IR
0005
AC
...
940
941
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
0003
00 02
5
0001 AC  Mem.
0010 Mem.  AC
0101 AC  AC + Mem.
Evolução dos Computadores

GERAÇÃO ZERO - 1836 - Anos 30
• Máquinas mecânicas ou baseadas em relés
– dificuldade de construção
– pouca exatidão
• 1 nível:
– nível de hardware (lógica digital)
• Exemplos:
– 1936 - Zuze - Z1
• Primeira máquina calculadora a relés
– 1943 - Governo Britânico - Colossus
• Primeiro computador eletromecânico
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Hardware
Evolução dos Computadores

PRIMEIRA GERAÇÃO - Anos 40
• Válvulas com processadores
– Caras, lentas, queimavam com facilidade
• ENIAC, UNIVAC
• 2 níveis:
– nível convencional (binário)
– nível de hardware
• Exemplos:
– 1946 - Eckert/Mauchkley - Eniac 1
– Começa a História do computador moderno
0001010...01
Convencional
(binário)
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Hardware
Evolução dos Computadores

SEGUNDA GERAÇÃO - Anos 50
• Transistores
– menores, mais baratos, rápidos, duráveis
• 3 níveis:
– nível de montadores (assembly)
– nível de máquina convencional (binário)
– nível de hardware
Programa
add
sub
lw
Ling. Assembly
• Exemplo:
– 1952 - Von Neumann - IAS
• Modelo da maioria das máquinas atuais
0001010...01
Convencional
(binário)
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Hardware
Evolução dos Computadores

TERCEIRA GERAÇÃO - Anos 60
• Circuitos Integrados (CI`s)
• 4 níveis:
–
–
–
–
C, Java, etc.
Ling. Programação
de alto nível
nível de montadores/compiladores
nível de sistema operacional
nível de máquina convencional (binário)
nível de hardware
• Exemplos:
Memória Virtual
– 1960 - DEC - PDP 11
Ling. Assembly
Sist. Operacional
• Primeiro minicomputador (50 unidades vendidas)
– 1964 - IBM - 360
• Primeira linha de produtos projetada como uma família
Entrada/Saída
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Convencional
(binário)
Hardware
Evolução dos Computadores

QUARTA GERAÇÃO - Anos 70
• Microprocessadores/ Mem. semicondutora
Ling. Programação
de alto nível
– VLSI Very Large Scale Integration
• 5 níveis:
–
–
–
–
nível de montadores/compiladores
nível de sistema operacional
nível de máquina convencional (binário)
nível de hardware + microprogramação
• Exemplos:
Ling. Assembly
Sist. Operacional
– 1974 - Intel - 8080
• Primeira CPU de uso geral em um chip
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Convencional
(binário)
Hardware +
Firmware
Evolução dos Computadores

QUINTA GERAÇÃO - Anos 80
• Crise do Software  Complexidade dos sistemas
– Linguagens estruturadas de nível mais alto
– Avanço dos compiladores
– Maior eficiência do hardware
 Máquinas RISC (Reduced Instruction Set Computer)
• 4 níveis:
–
–
–
–
nível de montadores/compiladores
nível de sistema operacional
nível de máquina convencional (binário)
nível de hardware
• Exemplos: RISC, MIPS, Sparc
Programação
em Assembler
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Evolução dos Computadores

... Anos 90+
•
•
•
•
Arquiteturas Superescalares
Arquiteturas VLIW
Arquiteturas Superpipeline
4 níveis
–
–
–
–
nível de montadores/compiladores
nível de sistema operacional
nível de máquina convencional (binário)
nível de hardware
• Exemplos:
– Pentium, Alpha, Power
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Geração de Computadores
Ano
Nome
Tama
nho
Potência
Desempenho
(adições por
seg.)
Memóri
a (KB)
Preço
Preço/Perf.
Preço reaj.
Preço/perf
reaj.
1951
UNIVAC
1
1000
124.500
1900
48
$1.000.000
1
$4.996.7499
1
1964
IBM/360
60
10.000
500.000
64
$1.000.000
263
$4.140.257
318
1965
PDP-8
8
500
330.000
4
$16.000
10.855
$66.071
13.135
1976
Cray-1
58
60.000
166.000.000
32.768
$4.000.000
21.842
$8.459.712
51.604
1981
IBM-PC
1
150
240.000
256
$3.000
42.105
$4.081
154.673
1991
HP9900
0
2
500
50.000.000
16.384
$7.400
3.556.188
$8.156
16.122.356
1996
Intel P
pro
200MHz
2
500
400.000.000
16.384
$4.400
47.846.890
$4.400
239.078.908
Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Bibliografia


Computer Organization and Design: The
Hardware/Software Interface: Hennessy and
Patterson
Computer Organization and Architecture:
Designing for Performance
• William Stallings, 4. Edition - Prentice Hall 1996

Cin - CENTRO
DE INFORMÁTICA
UFPE
GRECO
Organização estruturada de computadores:
Tanenbaum
Download

arqui-cap1