computadores introdução histórico erjacobi/ensino/oac/historico.pdf · histórico e introdução...
TRANSCRIPT
![Page 1: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/1.jpg)
Universidade de Brasília
Histórico eIntrodução
Organização e Arquitetura deComputadores
![Page 2: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/2.jpg)
Apresentar a evolução doscomputadores, sua estrutura emtermos de componentes básicos efunções principais.
Objetivo
![Page 3: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/3.jpg)
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
• ...
![Page 4: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/4.jpg)
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 - ...
![Page 5: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/5.jpg)
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
![Page 6: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/6.jpg)
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
![Page 7: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/7.jpg)
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:
![Page 8: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/8.jpg)
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.
![Page 9: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/9.jpg)
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
![Page 10: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/10.jpg)
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
![Page 11: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/11.jpg)
Máquina de Babbage
![Page 12: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/12.jpg)
ENIACO primeiro computador eletrônico
![Page 13: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/13.jpg)
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.
![Page 14: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/14.jpg)
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.
![Page 15: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/15.jpg)
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.
![Page 16: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/16.jpg)
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
![Page 17: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/17.jpg)
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
![Page 18: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/18.jpg)
Mudanças no hardware
![Page 19: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/19.jpg)
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.
![Page 20: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/20.jpg)
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
![Page 21: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/21.jpg)
Principais Módulos
Controle
Operação
Memória
Entrada
Saída
Processador
![Page 22: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/22.jpg)
Sistema computacional típico
![Page 23: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/23.jpg)
O processador
![Page 24: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/24.jpg)
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
![Page 25: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/25.jpg)
Como a memória é organizada
![Page 26: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/26.jpg)
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.
![Page 27: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/27.jpg)
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
![Page 28: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/28.jpg)
Dispositivos periféricos
![Page 29: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/29.jpg)
Dispositivos periféricos
![Page 30: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/30.jpg)
Dispositivos periféricos
![Page 31: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/31.jpg)
Dispositivos periféricos
![Page 32: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/32.jpg)
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
![Page 33: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/33.jpg)
![Page 34: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/34.jpg)
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.
![Page 35: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/35.jpg)
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.
![Page 36: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/36.jpg)
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.
![Page 37: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/37.jpg)
![Page 38: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/38.jpg)
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.
![Page 39: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/39.jpg)
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.
![Page 40: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/40.jpg)
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, ...
![Page 41: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/41.jpg)
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.
![Page 42: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/42.jpg)
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
![Page 43: Computadores Introdução Histórico erjacobi/ensino/OAC/Historico.pdf · Histórico e Introdução Organização e Arquitetura de Computadores. Apresentar a evolução dos computadores,](https://reader033.vdocuments.site/reader033/viewer/2022042312/5edbe54aad6a402d666653e9/html5/thumbnails/43.jpg)
I think there is a world
market for maybe five
computers.
“
” TTTThhhhoooommmmaaaassss WWWWaaaattttssssoooonnnn SSSSeeeennnniiiioooorrrr,,,,
CCCChhhhaaaaiiiirrrrmmmmaaaannnn ooooffff IIIIBBBBMMMM,,,, 1111999944443333