Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
Arquitetura de Von Newmann
John Von Newmann propôs que as instruções, lidas na época por cartões
perfurados, fossem gravadas na memória do computador; o que faria sua
execução e leitura mais rápidas, uma vez que se davam eletronicamente
Arquitetura proposta por Von Newmann: Década de 40
Computador composto por basicamente três subsistemas:
CPU (Unidade Central de Processamento)
Unidade de Memória Principal
Unidades de Entrada e Saída
Apesar das mudanças na Informática nos últimos tempos, grande parte dos
computadores ainda segue a arquitetura de Von Newmann
3
Arquitetura de Von Newmann
Esquema simplificado da Arquitetura de Von Newmann
Unidade de Memória
Principal
CPU
Unidade de
Dispositivo de Entrada Controle Dispositivo de Saída
Unidade de Lógica
e Aritmética
4
Arquitetura de Von Newmann
Unidade de Controle: Identifica e decodifica as instruções, acionando a unidade
responsável pela sua execução
Unidade de Aritmética e Lógica: Executa as operações que são do tipo de
aritmética e lógica
Unidade de Memória Principal (RAM): Armazena o programa (instruções) e seus
respectivos dados. O programa e os dados estão na memória no momento da
execução
Unidades de Entrada: Transferem informações externas a máquina para a
Unidade de Memória Principal
Teclado, leitor óptico
Mouse
Unidades de Saída: Exibem informações que se encontram na Unidade de
Memória Principal
Monitor de vídeo
Impressora
5
Instruções de Computador
O que são instruções de computador
A CPU, então, executa alguns passos para que cada uma das instruções seja
corretamente efetuada
6
Instruções de Computador
Basicamente, as etapas para o processamento de uma instrução passa pelos
seguintes passos:
7
Linguagens de Máquina e
de Alto Nível
Conhecendo o conjunto de instruções do computador, podemos então passar
para ele um programa que desejamos executar
Máquinas não entendem a nossa linguagem
Como podemos passar as instruções para a máquina
Através de linguagens de programação de alto nível
8
Linguagens de Máquina e
de Alto Nível
Diversas linguagens de programação de alto nível
C, C++, Java, Pascal, Delphi, Python, Cobol
Compilação
Interpretação
9
Interpretação
Um interpretador é um programa que recebe como entrada um arquivo
contendo um código fonte
Um interpretador lê linha-a-linha desse arquivo de entrada e executa uma a uma
as instruções que estão neles programadas
Interpretador pega uma instrução em linguagem de alto nível e a transforma
em uma ou mais instruções em linguagem de máquina
Tradução é feita no momento da execução do programa
Interpretador Execução
Código Fonte
Exemplo: teste.py
10
Interpretação
Programa pode ser executado em qualquer máquina, desde que haja um
interpretador disponível para utilização naquela Arquitetura de Computador
11
Compilação
Um compilador é um programa ou um conjunto de programas que recebe como
entrada um programa fonte e cria um novo arquivo como saída
Compilador não executa um programa
12
Compilação
Diferentes compiladores são produzidos para diferentes Arquiteturas de
Computadores
Isso porque normalemnte elas possuem um conjunto de instruções diferente
entre si
O compilador somente gera corretamente o código objeto caso não tenha
encontrado um erro de compilação
010100010110
101010101010
010101001110
Compilador Execução
110100101010
010101010101
010101010011
13
Linguagem Java
Java é uma linguagem compilada
Compilador javac
O compilador Java, entretanto, não gera código para um processador específico,
mas sim para uma Máquina Virtual Java
Código objeto é chamado de bytecode
Código fonte tem extensão .java
Código objeto tem extensão .class
010100010110
101010101010
010101001110 Máquina Virtual
Compilador Javac Execução
110100101010 Java (JVM)
010101010101
010101010011
14
Linguagem Java
Os programas escritos em Java são portáveis sobre todos os computadore sobre
os quais existir uma implementação da JVM
15
Algoritmo
Um algoritmo é uma seqüência finita de passos que podem ser seguidos para
alcançar um objetivo
Para ordenar o computador a realizar uma determinada tarefa, o algoritmo é
descrito em uma linguagem de programação
Assim, o algoritmo é escrito na forma de um código fonte e depois é interpretado
ou compilado
Exemplos de algoritmo: Vir para a UNISINOS, fazer um bolo, comprar comida,
verificar se um número é primo ou não
Estruturas de controle
16
Algoritmo
Formas de representação de um algoritmo: Fluxograma
Início
Ir até o Açougue
Carne Sim
ruim
Não
17