Programação em Sistemas Computacionais



Documentos relacionados
Hierarquia de memória

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Memória cache. Prof. Francisco Adelton

Organização e Arquitetura de Computadores

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

Capítulo 7 Sistemas de Memória. Ch7a 1

Microprocessadores. Memórias

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Infra-Estrutura de Software. Introdução

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Introdução. à Estrutura e Funcionamento de um Sistema Informático

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Memória Cache: Funcionamento

MEMÓRIA M.1 - HIERARQUIA DE MEMÓRIAS NUM COMPUTADOR DIGITAL

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

ARQUITETURA DE COMPUTADORES II

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

Infraestrutura de Hardware. Memória Virtual

Introdução à estrutura e funcionamento de um Sistema Informático

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

O Hardware Dentro da Unidade do Sistema

Memória. Conceitos gerais Hierarquia de memórias

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Arquitetura de Computadores Celso Alberto Saibel Santos

Organização e Arquitetura de Computadores

Sistemas Operativos I

Programação de Sistemas

Memórias Cache. Memória

Introdução a Organização de Computadores Aula 4

Memória cache (cont.) Sistemas de Computação

Interface entre Processadores e Periféricos

EFA / S13 SIS Ricardo Castanhinha / Nº STC / Formadoras Alexandra Formosinho & Isabel Carvalho. Sistema Binário

Barramentos 17/10/2011. Redes de Computadores. Arquitetura de Computadores FACULDADE PITÁGORAS DE TECNOLOGIA FACULDADE PITÁGORAS DE TECNOLOGIA.

Capítulo 4 Memória. Prof. Romis Attux EA Obs: Os slides são parcialmente baseados nos dos autores do livro texto e do Prof.

Chama-se sistema informatizado a integração que

Gerência de Memória. Paginação

Introdução à Organização de Computadores Memória Principal

Gerenciamento de memória

ARQUITETURA DE COMPUTADORES. EMENTA Prof. Benito Piropo Da-Rin

Apresentação. Conceitos Iniciais. Apresentação & Introdução. contato@profricardobeck.com.br.

Apresentação. Conceitos Iniciais. Apresentação & Introdução.

Sistemas Operativos I

Arquitectura de Computadores II

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

Memória Cache. Prof. Leonardo Barreto Campos 1

Circuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto

CIÊNCIA E TECNOLOGIA DO RIO INFORMÁTICA BÁSICA AULA 03. Docente: Éberton da Silva Marinho ebertonsm@gmail.com 25/06/2014

for Information Interchange.

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Introdução à Engenharia de Computação

Arquitetura de Computadores. Arquitetura de Computadores 1

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Operações na Memória Principal: Leitura (read ou retrieve) não destrutiva Escrita (write ou Record) destrutiva (o conteúdo anterior se perde)

Disciplina: Introdução à Engenharia da Computação

Tipo de Dados em Linguagem C

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Memória RAM. A memória RAM evolui constantemente. Qual a diferença entre elas? No clock (velocidade de comunicação com o processador)

Arquitetura e Organização de Computadores

Organização de Computadores Prof. Alex Vidigal Bastos

Sistemas Processadores e Periféricos Aula 9 - Revisão


Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico.

Memória Principal. Tiago Alves de Oliveira

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Capítulo 12) Dispositivos de Memória

Prof. Sandrina Correia

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

Hierarquia de Memória

Conceitos e Gerenciamento de Memória

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

CEFET-RS Curso de Eletrônica

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Capítulo 4 Gerenciamento de Memória

Estrutura de um Computador

Motherboard A7V133. Configuração do Hardware

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Introdução. à Informática. Wilson A. Cangussu Junior. Escola Técnica Centro Paula Souza Professor:

Sistemas de Computação Hardware. Sistema Central Periféricos

Introdução à Arquitetura de Computadores

MODULO II - HARDWARE

Algoritmos DCC 119. Introdução e Conceitos Básicos

Transcrição:

Programação em Sistemas Computacionais Hierarquia e memória Centro e Cálculo Instituto Superior e Engenharia e Lisboa Pero Pereira palex@cc.isel.ipl.pt

Localiae Localiae temporal Um programa que acee a uma zona e memória, proaelmente irá aceer noamente a essa zona num curto espaço e tempo, uma ou mais ezes. Localiae espacial Um programa que acee a uma zona e memória, proaelmente irá aceer a izinhanças essa zona. int sum(byte a[lins][cols]) { int l,c, res=0; for(c=0 ; c<cols ; ++c) for(l=0 ; l<lins ; ++l) res += a[l][c]; return res; } Boa localiae relatiamente à memória e cóigo (instruções)? Boa localiae relatiamente à memória e aos (ariáeis)?

Ranom Access Memory Static RAM (SRAM) 6 transístores por célula (bit) Estáel Acesso rápio (10x) Usaa para cache (KBytes..MBytes) Dynamic RAM (DRAM) 1 transístor e 1 conensaor por célula Custo baixo (100x) Pequena imensão Memória principal (GBytes)

Estrutura típica ALU Registers PC? Bytes 1 cycle L1 cache (SRAM) Data 64 KB cycles Coe CPU L cache (SRAM) 1 MB 14 cycles ns GB 160 cycles 60 ns Main Memory (DRAM) Bus Bus USB Controller Graphics Aapter Disk Controller Expansion slots Mouse Keyboar Display Disk 100 GB 8 ms 4

Hierarquia e memória Acesso rápio Menor capaciae Maior custo /byte Acesso lento Maior capaciae Menor custo /byte L4 L L L1 L0 Registers On-chip cache (SRAM) Off/On-chip cache (SRAM) Main memory (DRAM) Local seconary storage (local isk) Remote seconary storage (istribute file systems) Os registos o CPU guaram palaras obtias a cache A cache L1 guara linhas e cache obtias a cache L A cache L guara linhas e cache obtias a memória A memória guara blocos obtios o isco O isco guara ficheiros obtios remotamente 5

Conceito geral e cache Cache Hits (acesso rápio) Se os aos procuraos estão num os blocos a cache. 1. Os aos são lios/escritos apenas a/na cache. Cache Misses (acesso lento) Se os aos procuraos não estão num os blocos a cache. 1. É escolhio um bloco a cache para ser substituío.. Caso este bloco tenha sio alterao é escrito na memória principal.. Too o bloco o byte pretenio é lio a memória principal para a cache. 4. Os aos são lios/escritos apenas a/na cache. CPU N s b bytes Cache 16, ou 64 bytes Bus Cache memory (SRAM) Cache 4 Cache 9 Cache 14 Cache N < M Main memory (DRAM) Cache 0 Cache 1 Cache Cache Cache 4 Cache 5 Cache 6 Cache 7 Cache 8 Cache 9 Cache 10 Cache 11 Cache 1 Cache 1 Cache 14 Cache 15 M s 6

Organização a cache Organização em linhas: Vali Dirty t bits 16, ou 64 bytes Bloco: Cópia e um bloco e aos (ex: bytes) : Ientifica o bloco Uma parte o enereço em memória Vali bit: Cópia ália Inicialmente, toas as linha estão inálias Dirty bit: Bloco alterao Falta actualizar este bloco na memória (não é usao em write-through) 7

Fully Associatie cache Um bloco poe estar em qualquer linha a cache Aress bits: m bits main memory 4 GB m = offset Cache memory 0 1 Main memory 0 1 4 5 t = 7 t=m-b bits size bytes b = 5 b bits Aress: t=7 bits b=5 bits offs Um comparaor para caa linha. t=7 bits bytes == Enconer e Or com lógica em cascata. Para méias e granes imensões tem acessos lentos e é ispenioso. == == == Encoer Caches e pequena imensão (TLBs) Hit / Miss Mux 8

Direct-Mappe cache Caa bloco só poe estar numa linha a cache Aress bits: t=m-b-s bits t = 1 m bits main memory 4 GB m = Inex offset Cache memory 0 bytes s bits b bits 16k lines (51 KB) b = 5 Aress: Inex offs s = 14 t=1 bits bytes 1 t=1 bits s=14 bits b=5 bits Main memory 0 1 4 5 6 7 Inex 0 Um só comparaor. Económico e com acessos rápios. Cache miss se blocos usaos têm o mesmo inex (situação frequente) Inex 1 Inex s -1 Mux Hit / Miss == Mux 9

Set Associatie cache Caa bloco poe estar numa as N linhas a cache Aress bits : T a g t=m -b -s bits t =1 mb its m a inm e m o ry4g B m = In e x o ffs e t t=1bits s=14bits b=5bits Cache memory 0 1 Main memory 0 sbits bbits 1 6 kx W a ylin e s (1M B ) bytes b =5 A re s s : T a g In e x offs s =1 4 W a y 0 W a y 1 1 4 5 irect-mappe Set inex 1 Fully associatie Tipicamente com 4 ou 8 ways. Reúne as antagens a irect-mappe e fully associatie. M u x = = M u x E n c o e r M u x M u x = = M u x H it / M is s b lo c k 10

Política e substituição por Miss Direct-mappe Não tem. É sempre a mesma linha a cache Set associatie Sem aliate Escolher linhas azias em ez e ocupaas. Só no arranque? Sem irty As linhas não alteraas poem ser remoias. Será justo? Least-Frequently-Use (LFU) Escolher a linha usaa menos ezes. Dese quano? Least-Recently-Use (LRU) Escolher a usaa há mais tempo. Como implementar? Ranom Escolher aleatoriamente tem custo reuzio. 11

Estratégia e write Write-through O bloco é escrito quano a linha for alteraa. A escrita o bloco é realizaa em paralelo. Não usa bit irty. Tempo e miss reuzio. A memória é usaa urante mais tempo. Mais conflitos no acesso por DMA. Write-back O bloco só é escrito quano a linha for escolhia para substituição. Necessita bit irty. Tempo e Miss mais eleao. Minimiza a utilização a memória. Menos conflitos no acesso por DMA. 1