Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621]...
Transcript of Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621]...
![Page 1: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/1.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Arquitetura de Computadores
Modelo do Computador
![Page 2: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/2.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
O modelo de von Neumann possui cinco componentes principais:
1. unidade de entrada;
2. unidade de saída;
3. unidade lógica aritmética;
4. unidade de memória;
5. unidade de controle.
Modelo de von Neumann
2
![Page 3: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/3.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.13
Modelo de von Neumann
![Page 4: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/4.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Refinamento do modelo de von Neumann;Possui uma CPU (ALU e controle), memória e uma unidade de entrada/saída (I/O).A comunicação entre os componentes é realizada através de um caminho compartilhado chamado barramento de sistema (bus) constituído
do barramento de dados, do barramento de endereços e do barramento de controle. Existe também um barramento de energia e algumas arquiteturas podem ter um barramento de I/O separado.
Modelo Barramento de Sistema
4
![Page 5: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/5.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Níveis de Arquitetura
5
![Page 6: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/6.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
O conceito de níveis:
A idéia básica é que existem muitos níveis nos quais o computador pode ser analisado/construído;
Do nível mais alto, onde o usuário executa programas, ao nível mais baixo, que consiste de transistores e fios.
Níveis de Máquinas
6
![Page 7: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/7.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Existe um certo número de níveis em um computador
O número exato é discutível
Vai do nível do usuário descendo ao nível do transistor.
Descendo a partir do nível mais alto:
Os níveis se tornam menos abstratos
E mais da estrutura interna do computador se torna visível.
Níveis de Máquinas
7
![Page 8: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/8.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Níveis de Arquitetura
8
![Page 9: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/9.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
A Arquitetura do Conjunto de Instruções (Instruction Set Architecture - ISA)
Corresponde aos níveis de linguagem de montagem (assembly) e de linguagem de máquina.
O compilador traduz uma linguagem de alto nível (independente de arquitetura) na linguagem assembly, (dependente da arquitetura)
O assembler (ou montador) traduz programas em linguagem assembly em códigos binários executáveis.
Arquitetura do Conjunto de Instruções
9
![Page 10: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/10.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
A Arquitetura do Conjunto de Instruções (Instruction Set Architecture - ISA)
Linguagens completamente compiladas, como C e Fortran:
os códigos binários são executados diretamente pela máquina-alvo.
O Java pára a tradução no nível de byte code.
A máquina virtual Java, que está no nível da linguagem assembly, interpreta os byte codes (implementações em hardware da JVM também existem, caso em que o byte code Java é executado diretamente.)
Arquitetura do Conjunto de Instruções
10
![Page 11: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/11.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Organização de um computador Simples
11
![Page 12: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/12.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
A CPU consiste de uma seção (ou caminho) de dados (datapath) que contém registradores e uma ALU, e uma seção de controle, que interpreta instruções e efetua transferências entre registradores.
Visão abstrata de uma CPU
12
![Page 13: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/13.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Local onde os programas e os dados são armazenados Sua unidade básica é o bit É formada por um conjunto de células (ou posições)
O número de bits de uma célula é chamado palavra Células referenciadas por um endereço
Memória
13
![Page 14: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/14.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Organização de uma memória de 96 bits
Memória
14
![Page 15: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/15.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Um byte (ou octeto) é composto de 8 bits. Dois nibbles formam um byte. Meias-palavras, Palavras (words), Palavras duplas (doublewords), e Quadwords são compostas de bytes
Tipos de dados mais comuns
15
![Page 16: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/16.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Tamanho dos dados mais comuns
16
![Page 17: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/17.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Numa máquina endereçável por byte: A menor informação que pode ser referenciada na memória é o byte. Palavras de múltiplos bytes são armazenadas como uma seqüência de bytes O endereço da palavra na memória é o mesmo do byte da palavra que possui o menor endereço.
As palavras de múltiplos bytes podem ser ordenadas de duas formas: O byte mais significativo no endereço mais baixo - big-endianO byte menos significativo no endereço mais baixo - little-endian
Formatos Big-Endian e Little-Endian
17
![Page 18: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/18.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Formatos Big-Endian e Little-Endian
18
![Page 19: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/19.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapa de Memória do ARC
19
As localizações na memória são arrumadas linearmente em ordem.
Cada localização numerada corresponde a uma palavra
O número único que identifica cada palavra é o seu endereço.
![Page 20: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/20.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Visão Geral da CPU ARC
A CPU ARC é composta de :
32 registradores de 32 bits de uso geral
PC
IR
Registrador de status do processador (PSR)
Todas as instruções têm 32 bits de tamanho (1 palavra)
ARC é uma máquina load-store
Operações permitidas na memória são apenas carregar e armazenar
Operações lógico-aritméticas apenas em registradores
20
![Page 21: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/21.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
O ISA ARC é um sub-conjunto do ISA SPARC.
O ISA ARC
21
![Page 22: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/22.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Visão Geral das InstruçõesMovimentação de Dados
ld (load) e st (store)transferência entre a memória e registradores
Aritméticas e Lógicas andcc, orcc e orncc
operações lógicas bit a bitsrl
desloca para a direita e copia zeros à esquerda
Controle call e jmpl
chamada e retorno de sub-rotinasbe, bneg, bcs, bvs e ba
desvio condicional
22
![Page 23: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/23.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Formato da Linguagem Assembly ARC
23
O formato da linguagem assembly ARC é o mesmo da linguagem assembly SPARC.
Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring
![Page 24: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/24.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Formato do Assembly ARCRótulo: opcional
não pode começar por número
termina por dois pontos ( : )
Mnemônico
campo de código da operação
Operandos origem (se houver operando)
Um ou mais campos separados por vírgula
Operando destino (se houver operando)
Comentário (opcional)
Começa por exclamação ( ! )
Constantes
Base numérica default = 10
24
![Page 25: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/25.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Registradores Visíveis ao Usuário
25
![Page 26: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/26.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Registradores do ARC
PC – Program Counter
Endereço da próxima instrução a ser executada
IR – Instruction Register
Instrução em execução
PSR – Processor Status Register
Informações sobre o estado do processador
Informações a respeito do resultado de operações aritméticas
Códigos de condição
z – valor zero
n – valor negativo
c – excedente da ALU de 32 bits (carry ou vai-um)
v - overflow
26
![Page 27: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/27.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Formato Aritmético e de MemóriaOperandos
rd, rs1 e rs2 ourd, rs1 e simm13
Instruções Aritméticas 2 operandos origem1 operando destino
Instruções de Memória 1 operando de endereço1 operando de dados
27
![Page 28: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/28.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Formato de Dados ARC
28
![Page 29: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/29.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Exemplo de Programa ARC
29
Um programa em assembly ARC que soma dois inteiros:
![Page 30: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/30.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
A Hierarquia de Memória
30
Registradorvelocidade da CPUpouca quantidadealto consumo
Discos rígidostempo de acesso muito longocusto por bit baixo
![Page 31: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/31.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória de Acesso Aleatório
RAM (Random Access Memory) acesso aleatório
qualquer posição de memória é acessada na mesma quantidade de tempo
RAMs estáticas (SRAM) baseadas em flip-flops
conteúdo persiste enquanto circuito alimentadomais rápidas
RAMs dinâmicas (DRAM) baseadas em capacitores
carga deve ser restaurada periodicamentemenores, mais econômicas
31
![Page 32: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/32.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memórias Somente de Leitura
ROM (Read-Only Memory) Simples: decodificador, linhas de saída e portas lógicasAplicações de alto volume
PROM (Programmable ROM) Baixo volume e protótiposConteúdo escrito com um queimador de PROMs
EPROM (Erasable PROM) Apagada por luz ultra-violeta
EEPROM (Electrically Erasable PROM)
32
![Page 33: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/33.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória CachePrincípio básico:
Na execução de um programa, muitas das referências são a um pequeno conjunto de posições de memória
Idéia: memória cache
pequena mas muito rápida
colocada entre a CPU e a memória
33
![Page 34: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/34.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Princípio da Localidade
Localidade temporalUma posição de memória referenciada recentemente tem boas chances de ser referenciada novamente
iterações e recursividade
Localidade espacialUma posição de memória vizinha de uma posição referenciada recentemente tem boas chances de ser referenciada
dados tendem a ser armazenados em posições contíguas
34
![Page 35: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/35.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Localização da Memória Cache
35
![Page 36: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/36.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Esquema de Mapeamento Associativo
36
![Page 37: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/37.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Bits de controle do cache
Marca(TAG) 27 bits mais significativos do endereço de memória
Válido (Valid) Indica se a fenda contém ou não um bloco do programa sendo executado
Sujo(Dirty) Indica se o bloco foi ou não modificado enquanto no cache
37
![Page 38: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/38.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Operações no cache
Acerto (hit) Posição acessada está no cache
Erro (miss) Posição acessada ausente do cacheBuscada da memória principal
Ao carregar o programa Bits válidos todos zerados
Primeira instrução causa um miss
38
![Page 39: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/39.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Políticas de Reposição em Caches Mapeados de Forma Associativa
39
Quando não existem slots disponíveis para colocar um bloco:
Ama política de reposição é implementada.
A política de reposição define que bloco deve ser liberado para dar lugar ao novo bloco.
Políticas de reposição:
Least recently used (LRU)
First-in/first-out (FIFO)
Least frequently used (LFU)
Random (aleatória)
Ótima (usada para análise – gravar os acessos feitos por um programa, e escolher a melhor estratégia possível para aquela seqüência de referências à memória.)
![Page 40: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/40.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Políticas de ReposiçãoLRU - Least recently used
Marca de tempo associada a cada slot
LFU - Least frequently used Contador de freqüência associado a cada slot
FIFO Substituição dos slots de forma cíclica (round-robin)
Aleatória
Ótima Usada para análise – gravar os acessos feitos por um programa, e escolher a melhor estratégia possível para aquela seqüência de referências à memória.
40
![Page 41: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/41.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapeamento AssociativoVantagens
Qualquer bloco em qualquer espaço livre
Desvantagens
Custo adicional em hardware
A TAG deve poder ser pesquisada em paralelo
Memórias associativas
41
![Page 42: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/42.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapeamento DiretoCada espaço da cache corresponde a um conjunto explícito de blocos da memória
Exemplo de memória de 232 palavras
Cada bloco 25 palavras
Cache com 214 espaços
213 blocos da memória principal mapeados em cada fenda
Campo de marca de 13 bits
42
![Page 43: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/43.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapeamento DiretoVantagens
Não há busca associativa
Campo Slot é utilizado
Problema
Programa referencia posições separadas por 219 palavras (tamanho do cache)
Cada referência resulta em um missSomente uma parte do cache disponível será usado...
43
![Page 44: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/44.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapeamento Associativo por Conjunto
Combina o mapeamento associativo e o mapeamento direto
Idéia básicaA porção associativa é limitada a algums slots que constituem um conjunto
ExemploCache associativo por conjunto de dois caminhos
Dois blocos fazem um conjunto
44
![Page 45: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/45.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Mapeamento Associativo por Conjunto para Memória Cache
45Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring
![Page 46: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/46.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Políticas de Leitura e Escrita no Cache
46
![Page 47: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/47.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória VirtualMemória principal pode atuar como um “cache” para o armazenamento secundário (disco)
Vantagens
Permitir um compartilhamento eficiente e seguro da memória entre vários programas
Minimizar os problemas causados aos programas pela existência de uma pequena memória principal
Memória principal só precisa ter as partes ativas dos muitos programas em execução
Deseja-se compilar cada programa no seu próprio espaço de endereços
Tradução do espaço de endereços para o endereço físico
47
![Page 48: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/48.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Permite a um único programa ultrapassar o tamanho da memória primária
Antigamente usavam-se overlays
Memória virtual automaticamente gerencia a memória principal e a secundária
Bloco ! página
CPU produz um endereço virtual que é traduzido para um endereço físico (por hardware e software)
Páginas físicas podem ser compartilhadas, logo dois programas diferentes podem compartilhar dados ou código
48
![Page 49: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/49.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)
49
Physica l addresses
Disk addresses
Virtual addressesAddress translation
Técnica da memória virtual (fonte: Patterson)
![Page 50: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/50.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Analogia
Endereço virtual ! título de um livro
Endereço físico ! localização do livro na biblioteca
Simplifica a carga dos programas para execução a partir da relocação
Relocação mapeia os endereços virtuais usados por um determinado programa em endereços físicos antes de tais endereços serem usados
Carrega-se o programa em qualquer lugar na memória principal
Sistemas operacionais só precisam encontrar um número suficiente de páginas (não necessariamente contíguas)
50
![Page 51: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/51.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Endereço dividido em número de página virtual e deslocamento na página
Exemplo de mapeamento de um endereço virtual em um endereço físico
Tamanho da página: 212 = 4 kB
Memória principal: 230 = 1 GB
Espaço de endereçamento virtual: 232 = 4 GB
51
![Page 52: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/52.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)
52
A memória virtual é armazenada em uma imagem no disco rígido.
A memória física mantém um pequeno número de páginas virtuais em quadros de páginas (page frames) físicos.
Um mapeamento entre as memórias física e virtual:
![Page 53: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/53.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Tabela de Páginas
53
A tabela de páginas armazena o mapeamento entre a memória virtual e a memória física.
![Page 54: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/54.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Tabela de Páginas
Número de linhas = número de páginas virtuais
Endereços no disco
Atribuídos pelo S.O. aos blocos do disco
Campo frameQue quadro (página física) contém a página virtual
54
![Page 55: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/55.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Falta de página (Page Fault)
dado não está na memória,
recuperá-lo do disco (consome milhões de ciclos de clock)
Usa-se páginas grandes para amortizar o tempo de acesso (16 kB por ex.)
Pode ser tratada por software pois o tempo de acesso ao disco é enorme
Utiliza-se algoritmos mais eficientes para a escolha de como colocar as páginas
Usa-se a contra-escrita (write-back) pois as escritas no disco demoram muito
55
![Page 56: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/56.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Esquema de associatividade total para colocar blocos na memória principal
Páginas localizadas por uma tabela de páginas que indexa totalmente a memória principal
Tabela está na memória principal, é indexada com o número da página virtual e contém o respectivo número de página física
Cada programa possui a sua tabela de páginas
Tabela pode conter entradas para páginas que não estão na memória principal
Hardware possui um registrador da tabela de páginas usado para apontar o endereço inicial da tabela na memória principal
56
![Page 57: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/57.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Memória Virtual (cont.)Esquema de associatividade total para colocar blocos na memória principal
Bit de residência
Se 0, a página não está na memória principal
Rótulos não são necessários pois a tabela de páginas contém um mapeamento para cada possível página virtual
57
![Page 58: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/58.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Tabela de Páginas Única
58
Para endereço físico e endereço em disco (fonte: Patterson)
Physical memory
Disk storage
Valid
111101101101
Page table
Virtual pagenumber
Physical page ordisk address
![Page 59: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/59.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Segmentação
59
A segmentação da memória permite por exemplo a dois usuários compartilhar o mesmo código de um processador de textos, com diferentes espaços de dados:
Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring
![Page 60: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/60.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
SegmentaçãoProgramas possuem regiões de memória que podem variar
Ex. compilador
código-fonte, tabela de constantes, pilha...
Segmentos
Espaços de endereçamento virtual distintos
Facilitam o gerenciamento destas regiões
(aumento e diminuição de tabelas)
60
![Page 61: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/61.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
SegmentosCorresponde a um espaço de endereçamento virtual separado
Podem crescer e diminuir sem afetar uns aos outros
O programador deve especificar endereços na memória de duas dimensões
“número” do segmento
endereço dentro do segmento (deslocamento)
61
![Page 62: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/62.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Vantagens da SegmentaçãoFacilidade de programação
Modularidade (compilação)
Proteção
Compartilhamento
62
![Page 63: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/63.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.163
Paginação SegmentaçãoProgramador precisa estar consciente da técnica? Não SimQuantos espaços de endereçamento linear? 1 VáriosO espaço de endereçamento total pode exceder a memória física?
Sim Sim
Os procedimentos e dados podem ser diferenciados e protegidos separadamente?
Não Sim
Tabelas de tamanho variável suportadas facilmente?
Não Sim
Compartilhamento de funções facilitado? Não Sim
Para que a técnica foi criada? Utilizar espaço de endereçamento maior sem ter que acrescentar memória física
Permitir que programas e dados possam ser divididos em espaços de endere- çamento lógico diferentes, facilitando o compar-tilhamento e a proteção
![Page 64: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/64.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.1
Fragmentação
64
(a) Área de memória livre após inicialização;
(b) depois da fragmentação;
(c) depois da fusão de 2 áreas livres.
![Page 65: Arquitetura de Computadores - LNCC...2016/01/04 · Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016 Versão: 0.1 Arquitetura de Computadores Modelo do](https://reader033.fdocumentos.tips/reader033/viewer/2022060900/609d4df9cbaaac38d83ea053/html5/thumbnails/65.jpg)
Prof. Luis Rodrigo [email protected] http://luisrodrigoog.ddns.net/ - http://lrodrigo.ddns.net/
Arquitetura de Computadores [UCP-104621] Petrópolis, 30 de Janeiro de 2016
Versão: 0.165