Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução...
Transcript of Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução...
Universidade de Brasília
Histórico eIntrodução
Organização e Arquitetura deComputadores
Apresentar a evolução doscomputadores, sua estrutura emtermos de componentes básicos efunções principais.
Objetivo
Abstração
Projeto Urbano:• características da cidade
• definição dos setores
• vias de circulação
• sistema hidráulico e energético
• sistema de esgotos
• ...
AbstraçãoProcessador:• características: - para que serve ? - Que tipo de aplicações deve atender ?
• projeto da arquitetura: - conjunto de instruções - tipos de dados - registradores - ...
• projeto da organização: - blocos principais - barramentos - alimentação e relógio - ...
Abstração
• o ser humano consegue tratar um conjunto pequeno de conceitosao mesmo tempo
• em um projeto, a abstração permite ignorar detalhes, focandoaspectos mais gerais em primeiro lugar
• os conceitos ou relações abstratos são sucessivamentedetalhados, até chegar a uma descrição do projeto em nível deimplementação
• através da abstração se controe uma hierarquia de conceitos erelações, que auxilia a divisão do problema em unidades maissimples
Marcos na História da Computação
1642 Pascal Soma, subtração Transferência devai-um
1671 Leibinitz *, -, +, / Mecanismo paramul. e div.
1827 Babbage:Difference Engine
Avaliaçãopolinomial
Automação deoperações
1834 Babbage:Analytical Engine
Computador depropósito geral
Controle dosequênciamento
1941 Zuse: Z3 Computador depropósito geral
Dispositivoseletro-mecânicos
1944 Aiken:Harvard Mark I
Computador depropósito geral
Válvulas
No princípio (pré-computadores)
No início do século 17 iniciou-se a automação de tarefas commáquinas (ex.:adição mecanizada). Com resultados utilizados atéhoje!
Blaise Pascal,matemático efilósofo doséculo 17.
Por exemplo:
Máquina de Pascal
Mais tarde no mesmo século foram adicionadasmultiplicação e divisão à máquina.
Cartões perfurados codificados com instruções para amáquina vieram da indústria de tecelagem.
Máquina de Babbage
• em 1823, Charles Babbage concebeu aDifference Engine, para cômputo automático detabelas matemáticas utilizando o método dasdiferenças finitas
• foi concebida para polinômios de grau 6 enúmeros binários de 20 bits
• não foi concluída por dificuldades no projetomecânico
Máquina de Babbage
• em 1934 concebeu a Analytical Engine, queintroduziu conceitos de armazenamento deinformações (memória), unidade operadora econtrole, presentes nos computadores atuais
• a entrada de dados era via cartões perfurados
Máquina de Babbage
ENIACO primeiro computador eletrônico
ENIAC• Início dos anos 40
• Universidade da Pennsylvania
• 18000 válvulas e 1500 relés
• Electronic Numerical Integrator And Calculator.
• 5000 adições por segundo ou 357 multiplicações por segundo.
• programado por cartões perfurados e podia ler dois números por segundo.
O MARK I
A série de computadores Mark foidesenvolvida na Universidade de Harvarddurante os anos 40.
O primeiro, Mark I, entrou em operação em1944 e foi utilizado até 1959.
O MARK I
Armazenava e contava números mecanicamente,utilizando 3000 discos de armazenamento decimais,1400 chaves circulares (rotary dial switches) e 500milhas de fios. Transmitia e lia os dados eletricamente.
Era programado por cartões perfurados, pesava 5toneladas e realizava uma operação de multiplicação em6 segundos.
O MARK I
Os dados eram armazenados em local diferente dasinstruções (programa). Este tipo de organização ficouconhecida como Arquitetura de Harvard
As instruções também eram armazenadas numformato diferente dos dados
A arquitetura von Neumann
• Nos primeiros computadores o controle (instruções) tinha natureza diferente dos dados. O controle era usualmente manipulado através de fios e chaves, os dados lidos de fita ou cartão
• A equipe de von Neumann (ENIAC) desenvolveu a idéia de representar dados e instruções da mesma forma, armazenando o programa na memória, como os dados. Este conceito ficou conhecido como arquitetura de von Neumann. Muitos pesquisadores contestam este termo por ignorar o trabalho de Eckert e Mauchly, engenheiros do projeto
Mudanças no hardware
Mudanças no hardware
Os primeiros dispositivos utilizados eram os relés(eletromecânicos)
A utilização de válvulas aumentou a velocidade deoperação, com comutação eletrônica
Para o final dos anos 50 foi introduzido o uso dotransistor. 1/200 do tamanho da válvula. Podiam suportaraté 100.000 instruções por segundo.
Gerações de Computadores
Geração Período Tecnologia Velocidade(op / seg)
1 1946-57 Válvula 40.000
2 1958-64 Transistor 200.000
3 1965-71 Integraçãomédia e baixa
1.000.000
4 1972-77 Integração alta 10.000.00
5 1978- Integraçãomuito alta
100.000.000
Principais Módulos
Controle
Operação
Memória
Entrada
Saída
Processador
Sistema computacional típico
O processador
O Processador
• para executar uma instrução, o processadorinternamente utiliza:– registradores para armazenar dados e instruções
– circuitos lógicos para executar operações simples
– máquinas de estado para executar sequências deoperações, implementando as instruções
Como a memória é organizada
Como a memória é organizada
A memória de acesso randômico é utilizada para trocade informações ou para o armazenamento deprogramas (do disco ou outro periférico) para executá-los.
Este tipo de memória não preserva seu conteúdoquando o sistema é desligado.
Ciclo de Execução
• o ciclo típico de execução de uma instrução emum computador divide-se em etapas:– busca instrução na memória
– decodifica
– busca operando(s)
– realiza operação
– armazena resultado
Dispositivos periféricos
Dispositivos periféricos
Dispositivos periféricos
Dispositivos periféricos
Software
Níveis deabstração
Nível 0Lógica digital
Nível 1Microprogramação
Nível 2Máquina convencional
Nível 3Sistema Operacional
Nível 4Linguagem de montagem
Nível 5Linguagem orientada para problemas
Tradução (compilador)
Tradução (montador)
Interpretação (SO)
Interpretação (µprograma)
µprograma executado pelo hardware
Linguagens de baixo-nível
Enquanto os sistemas von Neumann lidam bem comas instruções em linguagem de máquina, ela não émuito fácil para os programadores lerem ouescreverem.
A linguagem assembly foi desenvolvida nos anos 50.Utiliza códigos mnemônicos (ADD, SUB, ...), maisfáceis de aprender e memorizar que os códigosnuméricos.
Linguagens de baixo-nível
Na linguagem assembly cada instrução tem umacorrespondência de um-para-um com asinstruções em linguagem de máquina.
Linguagens assembly exigem o uso demontadores: programas que traduzem alinguagem assembly em linguagem de máquina.
Linguagens de baixo-nível
Como cada processador tem seu próprio conjunto deinstruções, também tem seu próprio montador.
Isto significa que um programa em linguagem assemblysó pode ser escrito para um tipo particular de máquina.
Linguagem de máquina e linguagem assembly sãochamadas linguagens de baixo-nível.
Linguagens de alto-nível
Para resolver os problemas das linguagens assembly foinecessário desenvolver outro tipo de linguagens: aslinguagens de alto-nível.
Mais naturais para o programador e independentes demáquina.
O programador pode se preocupar com um problema emparticular e não como traduzí-lo para o nível decompreensão da máquina.
Linguagens de alto-nívelPor exemplo, escrever
A = B + C
é mais fácil do que escrever
MOV @C, R1;
ADD @B, R1;
MOV R1, @A;
A primeira é mais abstrata e faz menos considerações sobre amáquina alvo.
Linguagens de alto-nível
Linguagens de alto-nível foram desenvolvidas nosmeados dos anos 50.
A primeira foi FORTRAN, seguida pelo ALGOL eLISP.
As linguagens de alto-nível modernas incluem Pascal,C, C++, Smalltalk, Java, ...
Linguagens de alto-nível
Estas linguagens requerem o uso de compiladores:programas que traduzem o código fonte de alto-nível nalinguagem de máquina do computador alvo.
A cada instrução do código fonte podem correspondervárias instruções da linguagem de máquina.
Um programa simples
FOR I = 1 TO 4 PRINT I
END
Um programa equivalente em assembly:
PUT 1 INTO Register 1PUT 4 INTO Register 2LOOP: COMPARE Register 1 WITH Register 2IF EQUAL BRANCH TO "END"ADD 1 TO Register 1BRANCH TO "LOOP"END: STOP
I think there is a world
market for maybe five
computers.
“
” TTTThhhhoooommmmaaaassss WWWWaaaattttssssoooonnnn SSSSeeeennnniiiioooorrrr,,,,
CCCChhhhaaaaiiiirrrrmmmmaaaannnn ooooffff IIIIBBBBMMMM,,,, 1111999944443333