Você está na página 1de 45

Fundamentos da Computação

Fernando Masanori
fmasa@terra.com.br
fmasanori@hotmail.com
Agenda
 Conhecendo os alunos e o professor
 CV resumido
 Objetivos
 Programa
 Avaliação
 Introdução
Conhecendo os Alunos
 Apresentações
 O que espera deste curso?
 Sugestões para o curso
 Como integrar turmas?
 Como melhorar a comunicação professor aluno?
 Sugestões de atividades extracurriculares
 Projeto Social Fatec
 Fatec Jr
 Grupos de estudos da Info
 Semana de Tecnologia
Conhecendo o Professor
CV resumido
 Ciências Computação USP
 Credicard
 PriceWaterhouse
 BankBoston
 Mestrado ITA – Computação
 Professor ITA – 3º Comp (2 anos)
 Doutorando ITA – Computação
Conhecendo o Professor
 Orkut
 http://fatecsjc.blogspot.com
 http://picasaweb.google.com/fmasanori
 Professor teatro, retórica, japonês
 Projeto Social Santa Cruz
 Pizzadas, Churrascos e Chopp
 Vídeos
Conhecendo o Professor
Conhecendo o Professor
Conhecendo o Professor
Objetivos da disciplina
 Conceitos!
 Arquitetura de Computadores
 Teoria da Computação
 Algoritmos
 Sistemas Operacionais
 Compiladores
 Software Básico
 Redes
Programa
01 Apresentação
02 Introdução
03 Arquitetura e Organização Comp
04 Arquitetura e Organização Comp
05 Teoria da Computação
06 Algoritmos
07 Algoritmos
Programa
08 Prova Individual P1
09 Correção e Comentários
10 Algoritmos
11 Sistemas Operacionais
12 Sistemas Operacionais
13 Sistemas de Armazenamento
14 Redes de Interconexão Clusters
Programa
15 Redes de Interconexão Clusters
16 Compiladores
17 Software Básico
18 Prova Individual P2
19 Correção da P2
20 Exame
Bibliografia
 Aho, A.V., Sethi, R., Ullman, J.D.,
Compiladores: Princípios, Técnicas e
Ferramentas. Guanabara–Koogan, 1995.
 Hennessy, J. L., Patterson, D. A.
Arquitetura de Computadores - Uma
Abordagem Quantitativa, Editora Campus,
2003.
 Hennessy, J. L., Patterson, D. A.
Organização e Projeto de Computadores,
Editora Campus, Edição 3, 2005.
Bibliografia
 Silberschatz, A. Galvin, P.B., Gagne, G.,
Operating System Concepts, 7ª Edição, Wiley,
2004.
 Stallings, W., Arquitetura e Organização de
Computadores, Pearson, Edição 5, 2002.
 Tanenbaum, Andrew S, Organização
Estruturada de Computadores, LTC , 2001.
 Ullman, Jeffrey D., Hopcroft, John E. e
Motwani Rajeev, Introdução à Teoria de
Autômatos, Linguagens e Computação, Rio de
Janeiro, Campus, 2002.
Avaliação
 P1 (peso 1)
 P2 (peso 2)
 Presença e Participação
 Aprovado >= 5,0
 Exame se nota < 5,0
Aula de introdução
Introdução
 Conceitos assimilados => sabe se
virar (IME USP)
 Qualquer S.O., compilador, rede
 Sabe o que está por trás
 Computação x Programação
 Hardware, Software, Redes, Dados
 Inglês
Quem usava computadores em 1949?
Quem são os usuários hoje?
O que mudou?
 Maior usabilidade
– “Facilidade que uma pessoa têm para
usar uma determinada ferramenta e
assim atingir seu objetivo”
 Avanços no software e no hardware
permitiram uma maior usabilidade
Avanços HW e SW
Avanços HW e SW
Avanços HW e SW
Avanços HW e SW
Avanços HW e SW
Futuro?
Dúvidas?
Instruções e Programas
Instrução
– Operação Argumentos
Programa
– Seqüência pré-determinada de
instruções
Ex.:
• LOD X
Computador básico
CPU
Memória
Periféricos
Barramento (BUS)
CPU básico
Unidade de Controle
Unidade Lógica e Aritmética
Registradores
Controle
 Ciclo da máquina, coordena as
atividades
 Contém as instruções da CPU para
executar os comandos
 Conjunto de instruções:
– Embutidos nos circuitos
– Lista de todas as operações que a CPU
é capaz de executar
Ciclo de uma instrução
 Buscar – obtém uma instrução da
memória principal
 Decodificar – traduz a instrução em
comandos do computador
 Executar – processa o comando
 Armazenar – Grava o resultado na
memória principal
Unidade Lógica Aritmética
Operações lógicas e matemáticas
Acionada pela unidade de
controle sempre que as operações
acima são necessárias
Soma, Subtração, And, Or, Xor
Registradores importantes
 IP – apontador de instruções: registra o
endereço da memória da próxima
instrução a ser executada
 Registrador de Instruções – armazena a
instrução que está sendo executada
 Registradores para dados
– char register *p;
– const volatile k;
Memória
 Tipo de circuito presente no hardware
do computador responsável pelo
armazenamento (temporário ou não)
de informação
 Unidades de informação são
representadas por bits (binary digits)
Tipos básicos de memória
 RAM (random access memory)
– Memória de acesso direto
 ROM (ready only memory)
– Somente de leitura
 Memória Cache
 Memórias especiais
– Placas de vídeo para renderização em
tempo real
Unidades de memória
Bit – unidade básica, vale 0 ou 1
Palavras – seqüências de bits
Palavras de 8, 16, 32, 64 bits
Bit = 0 ou 1
Byte = 23 bits
Kbyte = 1024 bytes = 210 bytes
Hierarquia de memória
 Registradores – 1ns – menos que Kb
 Cache – 2 ns – Mb
 RAM – 10 ns – 64/512 Mb
 Disco – 10 ms – Gb
 Fita – 100s
RAM
 Armazenamento volátil (temporário)
– Instruções e dados até que estejam
prontos para serem utilizados
– Dados até que sejam requeridos pela
CPU ou usuário
Cache
 Memória de rápido acesso
 Útil para guardar instruções utilizadas
com maior freqüência
 Primeiro local onde o processador
procura um dado
Como multiplicar sem *?
Entrada: inteiros x, y >= 0; z = 0
Enquanto y > 0
faça
y=y-1
z=z+x
fim faça
Código
1. Lod y Enquanto y > 0
2. Jmz 9
faça
3. Sub #1
4. Sto y y=y-1
5. Lod z z=z+x
6. Add x fim faça
7. Sto z
8. Jmp 1
9. Halt
Resumo
 CPU, memória, bus
 CPU = UC e ULA
 UC executa 4 operações nas instruções:
– Busca, decodificação, execução,
armazenamento resultados
 RAM, Cache, ROM
Dúvidas?