Upload
bruna-cardoso-stanziani-luiz
View
527
Download
0
Embed Size (px)
Citation preview
OC_Aula_02
Organização de ComputadoresLinguagens, Níveis e Máquinas
. Comunicação MulherXMáquina
. Cibernética
. Inteligência Artificial
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
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.
Inteligência Artificial (IA)
Dar poderes e Instruções a um equipamento para que este oriente ou tenha capacidade para tomar decisões.
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
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
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
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.
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
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
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
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
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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 ???...
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.
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.
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
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
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
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
)
Estágios da Evolução da Arquitetura de Computadores
37
Aplicativos
Software de Sistema
Hardware
F I M
Exercício06/LinguagensResponda sobre:A) Linguagem montadorB) SO. O que é. ExemplifiqueC) GeraçõesD) MicroprogramaçãoE) Compilador