Buscar

Arq. e Org. de Computadores (aula 1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1PUCC
Organização e Arquitetura 
de Computadores
2PUCC
Agenda - Aula 01
• Computador
• Programas
• Elementos básicos da máquina
• Máquina multinível
• Evolução dos computadores
3PUCC
Computador Digital
• Máquina capaz de resolver problemas 
através da execução de instruções que 
lhe são passadas.
• Os circuitos eletrônicos do computador 
executam um conjunto limitado de 
instruções simples: adição, subtração, 
deslocamento, OR, AND.
4PUCC
Computador Digital
Vídeo
Memória
Programas
+
Dados
E/S
Buffers
Teclado
CPU
Execução das
instruções de um
programa
CPU
Execução das
instruções de um
programa
5PUCC
Computador Digital
Vídeo
Memória
Programas
+
Dados
E/S
Buffers
Reg.
ALU
PCIR
ACAC
MARMAR
MBRMBR
oUnid. processamento
oUnid. controle
Teclado
6PUCC
Programa
• Seqüência de instruções que mostra 
como executar uma determinada tarefa. 
Pode ser escrita em uma linguagem 
específica. Por exemplo:
- Some dois números.
- Imprima “positivo” se o resultado for > 0.
- Imprima “negativo” se o resultado for < 0.
7PUCC
Programa
Solução
Computador
Programa
Problema
Qual a linguagem que o computador entende?
8PUCC
Programa
• Cada instrução deve ser executada pela 
máquina na qual o programa está instalado.
• Apenas algumas linguagens contém instruções 
que podem ser diretamente executadas.
• Computador executa um conjunto limitado de 
instruções simples: adição, subtração, 
deslocamento, OR, AND. Os programas são 
convertidos nestas instruções antes de serem 
executados. 
9PUCC
Programa
• Os programas cujas instruções não podem ser 
diretamente executadas devem ser compilados ou 
interpretados para a linguagem que permita a 
execução direta de suas instruções.
Tradução e Execução
10PUCC
Programa
Faça isto 
e aquilo
0100111
0101101
Máquina
linguagem não executável
programa fonte
linguagem executável
programa objeto
Compilação
Execução
dados 
entrada saída
11PUCC
Programa
Faça isto 
e aquilo
Máquina
Compilação
Interpretação
0100111
0101101
• O processo de 
compilação traduz todo 
o programa fonte para 
um programa objeto.
• A interpretação traduz
comando a comando do 
programa fonte, que são 
executados à medida 
que são traduzidos.
12PUCC
Programa
0100111
0101101
Máquina
dados 
entrada saída
O processo de execução de um programa envolve:
• Executar cada instrução do programa objeto.
• Obter os dados necessários para a computação.
• Produzir as saídas resultantes da computação.
13PUCC
Elementos Básicos da Máquina
• Memória
• Unidade aritmética e lógica
• Unidade de controle
• Barramento
• Dispositivos de entrada e saída
14PUCC
Elementos Básicos da Máquina
O sistema no qual o programa será executado 
deve ser capaz de:
• Armazenar o programa e os dados utilizados 
na computação.
• Localizar cada instrução e identificar a ação 
que deve ser realizada.
• Executar a ação, possivelmente obtendo, 
transformando e armazenando dados.
• Comunicar- se com outros dispositivos 
(entrada e saída).
15PUCC
Memória
Aritmética e 
Lógica
Dispositivos
Controle
Canais de 
Comunicação
Elementos Básicos da Máquina
O sistema no qual o programa será executado 
deve ser capaz de:
• Armazenar o programa e os dados utilizados 
na computação.
• Localizar cada instrução e identificar a ação 
que deve ser realizada.
• Executar a ação, possivelmente obtendo, 
transformando e armazenando dados.
• Comunicar- se com outros dispositivos 
(entrada e saída).
16PUCC
Máquina Multinível
Swap (int v[], int k)
{int temp:
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
Linguagem C
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
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
Código Executável
17PUCC
Máquina Multinível
• Uma máquina pode ser vista como tendo vários 
níveis, cada um capaz de executar um conjunto de 
instruções específicas. Isto é, cada nível possui 
linguagens apropriadas para descrever as instruções 
que nele podem ser executadas.
MÁQUINA VIRTUAL
• A maioria dos computadores possui dois ou mais 
níveis. Descreveremos a organização de uma 
máquina de seis níveis. 
18PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemasNível 5:
Nível 0:
Nível 1:
Nível 2:
Nível 3:
Nível 4:
dispositivos
Executados Diretos pelo Hardware
Interpretação (Microprograma)
Tradução (Compilador)
Tradução (Montador)
Interpretação Parcial (SO)
19PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
• Formado pelos transistores 
individuais
• Tensão, corrente, circuitos, 
etc.
20PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
• Portas lógicas e CI.
• Implementam a 
manipulação de sinais 
executando funções lógicas 
básicas: AND, OR, NOT, 
deslocamento de bits, etc. 
soma
vai um
21PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
• Microinstruções constituem 
de microprogramas que 
controlam a entrada e saída de 
sinais para os vários 
dispositivos e controlam as 
várias portas lógicas. 
• Instruções binárias. 
22PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
• Comandos para executar 
funções específicas da 
máquina: formato de 
instruções endereçamento, 
interrupções, dependente da 
arquitetura utilizada.
MOV 0 ACC;
ADD 03FC;
23PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
Comandos para executar 
funções específicas da 
máquina:
• Gerenciamento de tarefas,
• Sistema de arquivos,
• Memória virtual e paginação.
24PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
Assembler
MOV 0 ACC;
MOV 0 R1;
...
GTO A R1
Cada comando corresponde 
exatamente a uma instrução 
a ser executada.
Utiliza-se mnemônicos e 
endereços simbólicos. 
25PUCC
Máquina Multinível
lógica digital
microprogramação
máquina convencional
sistema operacional
linguagem de montagem
linguagem orientada a problemas
dispositivos
C, C++, Pascal, Cobol
Aux:= 0;
do 
print(Aux); 
Aux:= Aux + 1;
while Aux <= 10;
26PUCC
Evolução dos Computadores
• GERAÇÃO ZERO - 1836 - Anos 30
– Máquinas mecânicas ou baseadas em relés
• dificuldade de construção
• pouca exatidão
– 1 nível:
• nível de lógica digital
– Exemplos:
• 1936 - Zuze - Z1
– Primeira máquina calculadora a relés
• 1943 - Governo Britânico - Colossus
– Primeiro computador eletromecânico
27PUCC
Evolução dos Computadores
• PRIMEIRA GERAÇÃO - Anos 40
– Válvulas com processadores
• Caras, lentas, queimavam com facilidade
– ENIAC, UNIVAC
– 2 níveis:
• nível convencional
• nível de lógica digital
– Exemplos:
• 1946 - Eckert/Mauchkley - Eniac 1
– A História do computador moderno começa aqui!
28PUCC
Evolução dos Computadores
• SEGUNDA GERAÇÃO - Anos 50
– Transistores
• menores, mais baratos, rápidos, duráveis
– 3 níveis:
• nível de montadores (assembly)
• nível de máquina convencional
• nível de lógica digital
– Exemplo:
• 1952 - Von Neumann - IAS
– Modelo da maioria das máquinas atuais.
29PUCC
Evolução dos Computadores
• TERCEIRA GERAÇÃO - Anos 60
– Circuitos Integrados (CI`s)
– 4 níveis:• nível de montadores/compiladores
• nível de sistema operacional
• nível de máquina convencional
• nível de lógica digital
– Exemplos:
• 1960 - DEC - PDP 11
– Primeiro minicomputador (50 unidades vendidas)
• 1964 - IBM - 360
– Primeira linha de produtos projetada como uma família.
30PUCC
Evolução dos Computadores
• QUARTA GERAÇÃO - Anos 70
– Microprocessadores/ Mem. semicondutora
• VLSI Very Large Scale Integration
– 5 níveis:
• nível de montadores/compiladores
• nível de sistema operacional
• nível de máquina convencional
• nível de microprogramação
• nível de lógica digital
– Exemplos:
• 1974 - Intel - 8080 
– Primeira CPU de uso geral em um chip.
31PUCC
Evolução dos Computadores
• QUINTA GERAÇÃO - Anos 80
– Máquinas RISCs
• Crise do Software
• Linguagem C
– 4 níveis:
• nível de montadores/compiladores 
• nível de sistema operacional
• nível de máquina convencional
• nível de lógica digital
– Exemplos: RISC, MIPS, Sparc.
32PUCC
Evolução dos Computadores
• Crise do Software
– Diminuição do preço de hardware 
• Aumento do preço relativo do software
– Dificuldades em achar programadores
• Aumento do preço absoluto do software
– Aumento da complexidade dos sistemas
• Impulsionou linguagens de alto nível
• Gap semântico
• Melhoria da tecnologia dos compiladores
33PUCC
Evolução dos Computadores
• ... Anos 90
– Arquiteturas Superescalares
– Arquiteturas VLIW ou EPIC (Explicit Parallel
Instruction Coding, ex: Merced IA64 da Intel)
– Arquiteturas Superpipeline
– 3 níveis
• nível de sistema operacional
• nível de máquina convencional
• nível de lógica digital
– Exemplos:
• Pentium, Alpha, Power.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes