Post on 18-Apr-2015
História do Computador
Desde os idos tempos da humanidade os seres humanos procuram relacionar quantidades. Supõe-se que as primeiras tentativas de contagens foram feitas pelos pastores de ovelhas que marcavam a areia com sulcos ou empilhavam pedrinhas ou gravetos, na medida em que as ovelhas iam passando. Como os cálculos foram se complicando e aumentando de quantidade, dos sulcos na areia e as pedrinhas nasceu o ábaco, há cerca de 2500 anos
Ábaco
• Ainda hoje o soroban, uma evolução do ábaco desenvolvida pelos japoneses, é utilizado de forma eficiente.
Bastões de Napier Napier
1614
Régua de Cálculos
1633
Pascaline Blaise Pascal
1642
Arithmometer
1820
Tabulador estatístico construído pelo norte-americano Herman Hollerith
O computador ENIAC
1945
Apple II
1976
Palm Top
Transistores da CPU
Processador
Tensão Transistores
8088 5 V 29.000
80286 5 V 134.000
80386 5 V 275.000
Pentium II 2,8 V 7.500.000
Pentium III 2,0 V 9.500.000
Pentium 4 1,7 V 42.000.0000
SaídaProcessamento
Sistemas de Computação
Entrada
Memória
Entrada É responsável pelo fornecimento dos dados ao
computador. Os periféricos mais usados são: teclado e mouse.
Saída É responsável pelo fornecimento dos
dados do computador para o usuário. Os periféricos mais utilizados são: o
monitor de vídeo e a impressora.
Processamento
Responsável pela execução dos programas.
Unidade Central de Processamento
ULA-UnidadeLógica e
Aritmética
Entrada
Saída
Reg. D
Reg. C
Reg. B
Acumulador
Registradores
Clock
Componentes da UCP ULA (Unidade Lógica e Aritmética): é
responsável pelas operações lógicas (comparações) e aritméticas (adição, subtração, etc...).
Registradores: armazenam os valores que serão manipuladas pela ULA. Os valores devem ser copiados da memória para os registradores e destes para a memória
Registradores
Acumulador: registrador utilizado para armazenar os resultados das operações.
Demais: registradores auxiliares usados nas operações.
Os registradores utilizados em cálculos formam a Pilha Operacional.
Funcionamento dos registradores
• Ao realizar uma operação pela ULA, a UCP realiza as seguintes tarefas:
1-Copia os dados da memória para os registradores.
2-Realiza as operações, mantendo o resultado no acumulador.
3-Copia o conteúdo do acumulador para a memória.
Memória
• Armazena dados ou programas.• Cada posição de memória é identificada por um
ENDEREÇO.• Assim, cada endereço armazena um dado ou
instrução de programa.• Obs.: Alguns dados ou instruções podem ocupar mais
de um endereço.• O PC armazena o endereço da instrução.
Linguagens de Programação
• Programa: seqüência de ordens que serão executadas pela UCP.
• A linguagem que a UCP trabalha chama-se Linguagem de Máquina e é composta de “0” e “1” (bits).
• Linguagem muito difícil de se trabalhar.• Exemplo de um comando em Linguagem de
Máquina: 10010010
Linguagem Assembly• Cada comando em Ling. de Máquina (LM) é
associado a um mnemônico.• É uma forma simplificada de se escrever um
programa em LM.• O programa em Assembly deve ser traduzido
para LM. Isto é feito pelo programa Montador (Assembler).
• Exemplo de comando Assembly: LDA X
RISC versus CISC
Na segunda metade da década de 80 apareceram comenrcialmente microprocessadores especiais de alta velocidade, conhecidos como RISC (reduced instruction set computer), que foram adotados por fabricantes de estações de trabalho. Desde então os demais microprocessadores passaram a ser denominados CISC (complex instruction set computer).
Linguagens de Alto Nível
• As linguagens faladas pela UCP são chamadas de Ling. de Baixo Nível.
• As linguagens que se aproximam da linguagem humana são chamadas de Ling. de Alto Nível.
• Uma Ling. da Alto Nível deve ser traduzida para uma Ling. de Baixo Nível para poder ser executada pela UCP.
Interpretadores
• É um processo de tradução onde cada comando em Ling. de Alto Nível é traduzido para LM e depois executado pela UCP.
• Se um comando for executado diversas vezes, ele será traduzido e executado em LM várias vezes também.
• Isto deixa o processo de interpreta-ção lento.
Compiladores
• Todo o programa é primeiro traduzido para LM e depois executado pela UCP.
• Após a tradução é gerado um novo programa, totalmente em LM.
• Este programa é de execução muito mais rápida que o interpretado.
Algoritmos
• O desenvolvimento de um programa é muito complexo.• ALGORITMO: é a descrição dos passos necessários para se
resolver um problema.
Problema Algoritmo Programa