![Page 1: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/1.jpg)
1PUCC
Organização e Arquitetura de Computadores
![Page 2: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/2.jpg)
2PUCC
Agenda - Aula 01
• Computador
• Programas
• Elementos básicos da máquina
• Máquina multinível
• Evolução dos computadores
![Page 3: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/3.jpg)
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.
![Page 4: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/4.jpg)
4PUCC
Computador Digital
Vídeo
MemóriaProgramas
+Dados
E/S
Buffers
TecladoCPU
Execução dasinstruções de um
programa
CPU
Execução dasinstruções de um
programa
![Page 5: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/5.jpg)
5PUCC
Computador Digital
Vídeo
MemóriaProgramas
+Dados
E/S
Buffers
Reg.
ALU
PCIR
ACAC
MARMAR
MBRMBR
Unid. processamento
Unid. controle
Teclado
![Page 6: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/6.jpg)
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.
![Page 7: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/7.jpg)
7PUCC
Programa
Solução
Computador
Programa
Problema
Qual a linguagem que o computador entende?
![Page 8: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/8.jpg)
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.
![Page 9: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/9.jpg)
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
![Page 10: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/10.jpg)
10PUCC
Programa
Faça isto e aquilo
01001110101101
Máquina
linguagem não executávelprograma fonte
linguagem executávelprograma objeto
CompilaçãoExecução
dados entrada saída
![Page 11: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/11.jpg)
11PUCC
Programa
Faça isto e aquilo
Máquina
Compilação
Interpretação
01001110101101
• 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.
![Page 12: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/12.jpg)
12PUCC
Programa
01001110101101
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.
![Page 13: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/13.jpg)
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
![Page 14: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/14.jpg)
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).
![Page 15: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/15.jpg)
15PUCC
MemóriaAritmética e
Lógica
Dispositivos
ControleCanais 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).
![Page 16: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/16.jpg)
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
0000000010100001000000000001100000000000100011100001100000100001100011000110001000000000000000001000110011110010000000000000010010101100111100100000000000000000
Código Executável
![Page 17: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/17.jpg)
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.
![Page 18: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/18.jpg)
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)
![Page 19: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/19.jpg)
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.
![Page 20: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/20.jpg)
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
![Page 21: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/21.jpg)
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.
![Page 22: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/22.jpg)
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;
![Page 23: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/23.jpg)
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.
![Page 24: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/24.jpg)
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.
![Page 25: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/25.jpg)
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;
![Page 26: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/26.jpg)
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
![Page 27: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/27.jpg)
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!
![Page 28: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/28.jpg)
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.
![Page 29: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/29.jpg)
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.
![Page 30: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/30.jpg)
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.
![Page 31: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/31.jpg)
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.
![Page 32: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/32.jpg)
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
![Page 33: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/33.jpg)
33PUCC
Evolução dos Computadores
• ... Anos 90
– Arquiteturas Superescalares
– Arquiteturas VLIW ou EPIC (Explicit ParallelInstruction 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.
![Page 34: PUCC 1 Organização e Arquitetura de Computadores](https://reader036.vdocuments.com.br/reader036/viewer/2022062700/552fc14d497959413d8e2dc5/html5/thumbnails/34.jpg)
34PUCC