39
OC_Aula_02 Organização de Computadores Linguagens, Níveis e Máquinas . Comunicação MulherXMáquina . Cibernética . Inteligência Artificial

F oc aula_02a

Embed Size (px)

Citation preview

Page 1: F oc aula_02a

OC_Aula_02

Organização de ComputadoresLinguagens, Níveis e Máquinas

. Comunicação MulherXMáquina

. Cibernética

. Inteligência Artificial

Page 2: F oc aula_02a

Comunicação Homem X máquinaAtravés das linguagens codificadasEscrita, figura, Imagem, Som...Códigos, traduções e Conversão...Bits e BytesBinários(Imantados, perfurados e Laser)Eletrificados

Page 3: F oc aula_02a

CibernéticaOrigem da palavra `Kybernytiky)`gregoCiência Interdisciplinar destinada a estabelecer relações entre as várias ciências, ou seja, permitir que cada ciência utilizasse os conhecimentos desenvolvidos pelas demais e formasse uma interconexão entre elas.

Page 4: F oc aula_02a

Inteligência Artificial (IA)

Dar poderes e Instruções a um equipamento para que este oriente ou tenha capacidade para tomar decisões.

Page 5: F oc aula_02a

Linguagens e níveisOrganização de Computadores

Linguagens

Níveis

Máquinas Virtuais Computador M0Linguagem L0

Nível 0

Computador M1Linguagem L1

Nível 1

Computador M2Linguagem L2

Nível 2

Computador MnLinguagem Ln

Nível n

5

Page 6: F oc aula_02a

Linguagens e níveis

Linguagens de Máquina Baixo NívelRepresentação binária das instruções de um processador.

Linguagem de MontagemLinguagem simbólica que pode facilmente ser traduzida para a linguagem de máquina.

6

Page 7: F oc aula_02a

Linguagens de Programação

Linguagem orientada a objetos, que é uma tipologia de linguagens de programação que modela no qual as informações de programação são convenientemente modeladas. Linguagem Objeto neste contexto é sinônimo de linguagem alvo. Linguagem de máquina, mas pode ser outro tipo de linguagem, como linguagem assembly

Page 8: F oc aula_02a

Linguagem de Programação de alto nível

Linguagem que, teoricamente, pode ser executada em qualquer máquina, a exemplo das linguagens C, Fortran ou Java, cujas instruções são compostas de palavras em inglês e/ou de fórmulas matemáticas, instruções estas que podem ser traduzidas para a linguagem de montagem por um compilador.

Page 9: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

9

Linguagem de Alto Nível

Linguagem de Máquina

Linguagem Assembly (Baixo Nível)

Linguagem de 4a. Geração

Custo de projeto

Flexibilidade

Desempenho

Portabilidade

Facilidade

Velocidade de Projeto

Page 10: F oc aula_02a

Estágios da Evolução da Arquitetura de

Computadores

10

Swap (int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }

Linguagem de Alto Nível

00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

Linguagem de MáquinaCompilador

Swap: muli $2,$5,4 add $2,$4,$2 lw $15,0($2) lw $16,4($2) sw $16,0($2) sw $15,4($2) jr $31

Linguagem Assembly

Montador

Page 11: F oc aula_02a

Linguagens e níveisNível

A criação de toda uma série de linguagens, cada uma das quais mais conveniente do que suas antecessoras, pode prosseguir indefinidamente, até a obtenção de uma que sirva aos nossos propósitos.Cada linguagem usa sua antecessora como base, de modo um computador que use essa técnica pode ser visto como um conjunto de camadas ou níveis.A linguagem ou o nível mais baixo é o mais simples, enquanto a linguagem ou o nível mais alto é o mais sofisticado.

11

Page 12: F oc aula_02a

Linguagens e níveisMáquina Virtual

Computador virtual que aparenta não ter desvios e loads retardados, e um conjunto de instruções mais rico do que o que está efetivamente implementado em hardware.

12

Page 13: F oc aula_02a

Linguagens e níveisMáquinas de vários níveis

Nível da Lógica Digital

Lógica DigitalNível 0

13

No nível mais baixo da nossa estrutura, vamos encontrar o nível da lógicadigital, cujos objetos de interesse são como portas lógicas. Cada porta

lógica tem uma ou mais entradas digitais (0 ou 1) e calcula algumas funçõesmuito simples como AND e OR.

As portas lógicas podem ser combinadas para formar o principal dispositivode computação, conhecido como processador.

Page 14: F oc aula_02a

IntroduçãoMáquinas de vários níveis

Nível da Lógica DigitalNível da Microarquitetura

MicroarquiteturaNível 1

Lógica DigitalNível 0

Hardware

14

Nesse nível enxergamos um conjunto de (quasesempre) 8 a 32 registradores que formam uma memória

local e um circuito chamado UAL que é apta a realizar operações aritméticas muito simples. Os registradores são conectados aos caminhos

de dados, estrutura onde os dados fluem.

Page 15: F oc aula_02a

IntroduçãoMáquinas de vários níveis

Nível da Lógica DigitalNível da MicroarquiteturaNível da Arquitetura do Conjunto de Instruções

Arquitetura do Conjunto de Instruções

Nível 2

MicroarquiteturaNível 1

Lógica DigitalNível 0

Hardware

Interpretação, execução

15

Todos os fabricantes de computadores publicam ummanual para cada um dos modelos de máquina que

vendem, intitulado “Manual de Referência da Linguagem”.Descreve o conjunto de instruções da máquina.

Page 16: F oc aula_02a

IntroduçãoMáquinas de vários níveis

Nível da Lógica DigitalNível da MicroarquiteturaNível da Arquitetura do Conjunto de InstruçõesNível do Sistema Operacional

Arquitetura do Conjunto de Instruções

Nível 2

MicroarquiteturaNível 1

Lógica DigitalNível 0

Hardware

Sistema OperacionalNível 3

Interpretação, execução

Interpretação Parcial

16

Algumas instruções são executadas no nível do sistemaoperacional, módulo que controla as funções da máquina.

Outras instruções são executadas diretamente nohardware.

Page 17: F oc aula_02a

IntroduçãoMáquinas de vários níveis

Nível da Lógica DigitalNível da MicroarquiteturaNível da Arquitetura do Conjunto de InstruçõesNível do Sistema OperacionalNível da Linguagem do Montador

Arquitetura do Conjunto de Instruções

Nível 2

MicroarquiteturaNível 1

Lógica DigitalNível 0

Hardware

Sistema OperacionalNível 3

Linguagem do MontadorNível 4

Interpretação, execução

Interpretação Parcial

Tradução (montador)

17

Corresponde à linguagem de montagem, nada maisé que uma forma simbólica de representação das

linguagens dos níveis mais baixos.Esse nível fornece um método para as pessoas

escreverem programas para os níveis 1, 2 e 3 emuma forma não muito confortável.

Page 18: F oc aula_02a

IntroduçãoMáquinas de vários níveisNível da Lógica Digital

Nível da MicroarquiteturaNível da Arquitetura do Conjunto de Instruções

Nível do Sistema Operacional

Nível da Linguagem do MontadorNível das Linguagens Orientadas à Solução de Problemas

Arquitetura do Conjunto de Instruções

Nível 2

Linguagens Orientadas à Solução de Problemas

Nível 5

MicroarquiteturaNível 1

Lógica DigitalNível 0

Hardware

Sistema OperacionalNível 3

Linguagem do MontadorNível 4

Interpretação, execução

Interpretação Parcial

Tradução (montador)

Tradução (compilador)

18

As linguagens do nível 5 em geral são projetadas paraserem usadas por programadores de aplicação, comalgum problema a ser resolvido. Tais linguagens são

conhecidas como de alto nível.

Page 19: F oc aula_02a

Exercício05/LinguagensDescreva em suas palavras:A) CibernéticaB) IAC) LinguagemD) NíveisE) Linguagem de Baixo Nível e ex.F) Linguagem de Alto Nível e ex.G) Máquinas Virtuais

Page 20: F oc aula_02a

Evolução das Máquinas de Vários Níveis

Invenção da Microprogramação

Invenção do Sistema Operacional

Migração das Funcionalidades para o Microcódigo

Eliminação da Microprogramação20

Page 21: F oc aula_02a

Evolução das Máquinas de Vários Níveis

Invenção da MicroprogramaçãoOs primeiros computadores digitais construídos na década de 1940 tinham somente dois níveis: o nível ISA, no qual toda a programação era feita, e o nível da lógica digital, onde esses programas eram executados.Os circuitos do nível da lógica digital eram complicados, difíceis de entender e de construir, além de pouco confiáveis.Em 1951, surge a máquina de três níveis: a máquina deveria ter acoplado a si um interpretador (o microprograma), cuja função era executar programas escritos no nível ISA por interpretação.

21

Page 22: F oc aula_02a

Evolução das Máquinas de Vários Níveis

Invenção do Sistema OperacionalNo início, máquinas operadas pelos próprios operadores.Os primeiros Sistemas Operacionais serviam para carregar o programa e depois carregar os seus dados.Depois, os sistemas operacionais permitiam que se utilizasse mais que um programa por vez, porém sempre submetendo-os em modalidade lote (batch).Em seguida, os sistemas operacionais permitiram que se utilizassem sistemas trabalhando na modalidade on line transacional, com os homens interagindo diretamente com o sistema.

22

Page 23: F oc aula_02a

Evolução das Máquinas de Vários Níveis

Migração de Funcionalidades para o MicrocódigoAcrescentar novas instruções ao conjunto de instruções do processador simplesmente expandindo o microprograma.Eles poderiam adicionar “hardware” (novas instruções de máquina) por meio de programação.Isto levou a uma explosão nos conjuntos de instruções das máquinas.Funcionalidades: (1) acelerar o processamento de programas envolvendo cálculos, (2) permitir que os programas pudessem ser deslocados de posição na memória, (3) sistemas de interrupção e (4) capacidade de suspender execução de um programa.

23

Page 24: F oc aula_02a

Evolução das Máquinas de Vários Níveis

Eliminação da microprogramaçãoEntre 1960 e 1970, a microprogramação cresceu muito, e com isso as máquinas tornaram-se muito lentas.O estudo era transferir as instruções da microprogramação para serem feitas diretamente nos hardwares. Dessa forma, as máquinas teriam um ganho significativo no tempo de execução de instruções.O ponto central era mostrar a fronteira entre Hw e Sw.Aquilo que hoje está implementado em software poderá em breve estar implementado em hardware, e vice-versa.

24

Page 25: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Geração Zero (1642-1945) - Computadores mecânicos

1834 Máquina Analítica – Charles Babbage - tinha a memória, a unidade de computação, a unidade de entrada (cartão) e a unidade de saída (impressora ou cartão).

1944 Mark I – Howard Aiken - a entrada e saída era feita através de fita de papel perfurada.

25

Page 26: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Primeira Geração (1645-1955) - Válvulas

1946 ENIAC I – John Mauchley / J. Presper Eckert - tinha 20 registradores.

1952IAS - John von Neuman - memória, unidade aritmética lógica, unidade de controle e os dispositivos de entrada e saída.

26

Page 27: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Segunda Geração (1955-1965) - Transistores

1960 PDP-1 – DEC - com 4 k palavras de 18 bits e um clock de 5 ms.

19641401 - IBM - arquitetura nova.

19646600 - CDC - máquina com grande poder de processamento.

27

Page 28: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Terceira Geração (1965-1980) - Circuitos Integrados

1974 8080 -IntelIBM/360 - projeto revolucionário.

1974 CRAY-1 – Cray

1978VAX - DEC

28

Page 29: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Quarta Geração (1980-?) - Integração de Circuito em Escala Muito Alta - VLSI

1981 IBM-PC – IBM - revolucionou a informática

1990RS6000 - IBM - processamento de projetos

29

Page 30: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

Quinta Geração ??? (1981-?)- Evolução

1981- IBM-PC - revolucionou a informática

Integração de outras Ciências

Integração das redes ???...

Page 31: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

31

• Se a industria de transportes tivesse se desenvolvido na mesma velocidade dos computadores, teríamos a possibilidade de ir do Oiapóque ao Chuí em segundos, pagando apenas 1 real.

• Poderíamos mudar nosso “modus vivendi”. Morar no Cabo de Santo Agostinho e trabalhar nos EUA. Assistir uma ópera Italiana em Milão e jantar em Paris.

• Os computadores levaram a civilização contemporânea a uma terceira revolução, a chamada revolução da Informação, ocorrida após a revolução agrícola e industrial.

Page 32: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

32

• Os engenheiros de computação estão empenhados em viabilizar ferramentas mais eficientes para que os cientistas teóricos e experimentais possam explorar as novas fronteiras do conhecimento.

• Caixas Eletrônicos 1950 o computador mais barato custava US$ 500.000.• Computadores em automóveis.• Palm top• WWW Tecnologia que permita que pessoas (inclusive leigas no assunto) acessem as mais diversificadas informações disponíveis no mundo com apenas um click do mouse.

Page 33: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

33

Motorola, Intel, CrayMicroprocessadorMicrocomputador

VLSI4ª: 1980- ????

IBM 360, DEC PDP-8Microprogramação,Pipeline, Caches

CIs3ª: 1965-1980

IBM 7094, DEC PDP-1Ponto Flutuante,Proc. de E/S

Transistor2ª: 1955-1964

ENIAC, IAS, UNIVACPonto fixoVálvulas1ª: 1946-1954

Máq. Diferencial (Pascal)Máq. Analítica (Babbage)

MecânicaZero: 1642-1945

RepresentantesCaracterísticasTecnologiaGeração/Período

Page 34: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

34

239.078.908

4,447.846.890

4,416 M400 M500Pentium Pro 200

1996

16.122.3568,13.556.1887,416 M50 M500HP 9000 model 750

1991154.673442.1053256 k240 k150IBM PC1981

51.6048.46021.8424.00032 M166 M60.000Cray-11976

13.1356610.855164 k330 k500PDP-81965

3184.1402631.00064 k500 k10.000IBM S/360 model 50

1964

14.99711.00048 k1,9 k124.500UNIVAC I1951

Custo-BenefícioCorrigido

Preço Corrigid

o

Custo-Benefício

Preço (US$ mil)

Mem.(Bytes)

Desemp. (adições

/seg)

Potência (W)

NomeAno

Page 35: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

35

Crescimento de Desempenho em Workstations

0

200

400

600

800

1.000

1.200

1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997

Ano de Lançamento

Des

emp

enh

o

Page 36: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

36

Crescimento da Capacidade de Memória

16

64

256

1024

4096

16384

65536

10

100

1.000

10.000

100.000

1976 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996

Ano de Lançamento

Cap

acid

ade

(kB

ytes

)

Page 37: F oc aula_02a

Estágios da Evolução da Arquitetura de Computadores

37

Aplicativos

Software de Sistema

Hardware

Page 38: F oc aula_02a

F I M

Page 39: F oc aula_02a

Exercício06/LinguagensResponda sobre:A) Linguagem montadorB) SO. O que é. ExemplifiqueC) GeraçõesD) MicroprogramaçãoE) Compilador