computadores introdução histórico erjacobi/ensino/oac/historico.pdf · histórico e introdução...

43
Universidade de Brasília Histórico e Introdução Organização e Arquitetura de Computadores

Upload: others

Post on 01-Jun-2020

6 views

Category:

Documents


0 download

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,
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,

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,

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,

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,
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,

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,

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,

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,

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,

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,

I think there is a world

market for maybe five

computers.

” TTTThhhhoooommmmaaaassss WWWWaaaattttssssoooonnnn SSSSeeeennnniiiioooorrrr,,,,

CCCChhhhaaaaiiiirrrrmmmmaaaannnn ooooffff IIIIBBBBMMMM,,,, 1111999944443333