ARQUITECTURA DE COMPUTADORES CAPÍTULO V AULA I



Documentos relacionados
Memória cache. Prof. Francisco Adelton

R S Q Tabela 17 - Tabela verdade NOR

Memórias Prof. Galvez Gonçalves

Informática Aplicada à Química. Hardware - armazenamento

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

Programação de Sistemas

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

Introdução a Informática. Prof.: Roberto Franciscatto

ROM e RAM. Memórias 23/11/2015

ARQUITETURA DE COMPUTADORES

MEMÓRIA. A memória do computador pode ser dividida em duas categorias:

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 11

Sistemas de armazenamento

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

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

O quê um Processador e qual a sua função?

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

Arquitectura dos processadores

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Prof. Daniel Gondim Informática

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

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Organização e Arquitetura de Computadores

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

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

Setores Trilhas. Espaço entre setores Espaço entre trilhas

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

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

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

for Information Interchange.

Arquitetura de Von Neumann e os Computadores Modernos

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

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Estruturas do Sistema de Computação

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Infraestrutura de Hardware. Memória Virtual

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

Memória Cache. Prof. Leonardo Barreto Campos 1

BARRAMENTO DO SISTEMA

Escola Secundária de Emídio Navarro

Microprocessadores. Prof. Leonardo Barreto Campos 1

Figura 1 - Memória 1. OBJETIVO. Conhecer os principais tipos de memórias entendendo suas funcionalidades e características.

ARQUITETURA DE COMPUTADORES Prof. João Inácio

ARQUITETURA DE COMPUTADORES

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

Memória ROM. Organização Funcional de um. Computador. ROM (Read-Only Memory) Memória Somente Leitura.

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Set/10

Portas lógicas e circuitos digitais. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Sistemas Operacionais Gerência de Dispositivos

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 de Computadores 1

O Hardware Dentro da Unidade do Sistema

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

Técnicas de Manutenção de Computadores

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL

Escola. Europeia de. Ensino. Profissional ARQUITETURA DE COMPUTADORES

Programador/a de Informática

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Processadores. Guilherme Pontes

Prof. Sandrina Correia

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Curso de Instalação e Gestão de Redes Informáticas

Arquitetura e organização de computadores

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

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Disciplina: Introdução à Informática Profª Érica Barcelos

Fundamentos em Informática

Introdução aos Computadores

3. Arquitetura Básica do Computador

CPU Unidade Central de Processamento. História e progresso

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

SISTEMAS INFORMÁTICOS

Introdução a Informática. Prof.: Roberto Franciscatto

Processadores clock, bits, memória cachê e múltiplos núcleos

Visão geral do sistema de armazenamento e hierarquia de memória

Sistemas Operativos I

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Conceitos Básicos. Conceitos Básicos Memória

Aula 06. Memórias RAM

Aula Memória principal e 2. Memória de armazenagem em massa.

ILHA I GERENCIAMENTO DE CONTEÚDO CMS DISCIPLINA: Introdução à Computação MÓDULO II Memórias e Processamento

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Disciplina: Unidade III: Prof.: Período:

Memória RAM. Administração de Sistemas Informáticos I 2005 / Grupo 1:

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Introdução. Hardware (Parte II) Informações Adicionais. Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Estabilizada de. PdP. Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/02/2006 Última versão: 18/12/2006

Figura 1 - O computador

Dispositivos de Armazenamento

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

ARQUITETURA DE COMPUTADORES

Memória. Introdução. Unidades de medida de capacidade Tipos:

bit Tecnologia ao Serviço do Mundo Rural

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

Transcrição:

ARQUITECTURA DE COMPUTADORES CAPÍTULO V AULA I

Índice Memórias Grandes e rápidas Introdução Tecnologias de memórias O básico das caches

Grandes e rápidas Neste V Capitulo vamos abordar a hierarquia de memória e a sua relação com a localização. Vamos estudar como é que o principio de localização deu aos designers uma forma de ultrapassar as grandes latências de acesso. Vamos estudar como a estratégia de localização é abordada nos vários níveis hierárquicos.

Grandes e rápidas Para além da localização, vamos abordar a memória como um elemento central para o suporte de paralelismo com multiprocessadores. A importância crescente da hierarquia de memória na determinação da performance dos sistemas significa que esta área continuará em evolução e sob-investigação durante muitos anos.

Introdução Contextualização Imaginem que estão na biblioteca da UAL a elaborar a monografia de AC e têm uma serie de livros na vossa secretária. No entanto, nenhum desses livros contem informação sobre a Lei de Moore e vocês têm que se levantar e ir às prateleiras procurar um livro sobre a Lei de Moore. Uma vez encontrado, voltam para a vossa secretária e agora com todos os livros necessários bem seleccionados, têm uma boa probabilidade de elaborarem a vossa monografia rapidamente e com qualidade.

Introdução Contextualização Dada a boa selecção dos livros, existe uma grande probabilidade de todos os tópicos que procuram estarem presentes nesses livros. Isso evita que se tenham de levantar e perder mais tempo à procura de novos livros nas estantes da biblioteca. Poderem ter vários livros na vossa secretária ao mesmo tempo é muito mais produtivo do que ter poder ter só um de cada vez, o que obrigaria a que se tivessem de levantar constantemente para procurar o próximo livro.

Introdução Contextualização Dada a boa selecção dos livros, existe uma grande probabilidade de todos os tópicos que procuram estarem presentes nesses livros. Isso evita que se tenham de levantar e perder mais tempo à procura de novos livros nas estantes da biblioteca. Poderem ter vários livros na vossa secretária ao mesmo tempo é muito mais produtivo do que ter poder ter só um de cada vez, o que obrigaria a que se tivessem de levantar constantemente para procurar o próximo livro.

Introdução Contextualização O mesmo principio permite-nos criar a ilusão de que podemos aceder tão rapidamente a grandes memórias tal como acederíamos a pequenas memórias. Tal como não necessitamos de aceder a todos os livros da biblioteca ao mesmo tempo, um computador não necessita de aceder a todo o código em simultâneo. Caso contrário não seria possível aceder rapidamente a toda a memória, tal como não seria possível termos todos os livros da biblioteca na nossa secretária e acharmos rapidamente o conteúdo que procurávamos.

Introdução Principio de localização Este principio chama-se principio de localização e aplica-se tanto ao caso da biblioteca como dos programas de computador. Este principio afirma que os programas somente acedem a uma porção de endereços de memória bastante limitada a cada instante de tempo, tal como nós só acedemos a uma parte muito pequena de toda a colecção da biblioteca.

Introdução Principio de localização Este principio distingue dois tipos de localização: 1. Localização Temporal se um item foi referenciado, ele irá provavelmente ser referenciado novamente num curto espaço de tempo. Se consultarem um livro na vossa secretária, provavelmente irão consultá-lo novamente, enquanto estiverem a elaborar a vossa monografia. 2. Localização Espacial se um item foi referenciado, provavelmente os items adjacentes também o serão. Se consultarem um livro sobre a Lei de Moore, provavelmente ao lado terão outros livros relacionados com a evolução dos processadores, que também vos serão úteis para a monografia.

Introdução Principio de localização Os programas de computador tendem a utilizar os mesmos dados ao longo da execução e a repetir instruções incluídas em loops. Esse comportamento resulta numa localização temporal. Em contrapartida, como vimos anteriormente, o código é sequencial, o que por sua vez resulta numa localização espacial. Para tirar partido do principio de localização a memória de um computador é implementada seguindo uma hierarquia de memória.

Introdução Hierarquia de Memória Uma hierarquia de memória consiste em vários níveis de memórias com diferentes tamanhos e velocidades. As memórias mais rápidas são mais caras por bit e consequentemente de menor tamanho. Aumentando a distância do processador, aumenta o tamanho da memória e o tempo de acesso à mesma.

Introdução Hierarquia de Memória http://commons.wikimedia.org/wiki/file:computer_memory_hierarchy.svg

Introdução Hierarquia de Memória Os dados seguem a mesma hierarquia que as diferentes memórias. Os dados próximos do processador são um subconjunto dos dados presentes na memória seguinte. A última memória contem todos os dados. Na biblioteca os livros que têm na secretaria são um subconjunto dos livros da secção de livros de informática, tal como esta secção é um subconjunto da biblioteca que contem todos os livros.

Introdução Hierarquia de Memória Apesar dos dados poderem estar contidos em todos os níveis, a transmissão de dados é realizada entre dois níveis de cada vez. À unidade mínima de dados presente no nível mais acima, ou seja, mais próximo do processador, dá-se o nome de bloco ou linha. (No nosso exemplo, um livro será um bloco)

Introdução Hierarquia de Memória Caso os dados pedidos pelo processador estejam presentes na memória mais próxima, chama-se um hit. Caso contrário, o pedido é passado à memória imediatamente abaixo, classificando o pedido como um miss. À fracção de hits dá-se o nome de hit rate, sendo este o parâmetro de avaliação da eficiência da hierarquia implementada. À fracção de misses dá-se o nome de miss rate.

Introdução Hierarquia de Memória Hit time é o tempo que demora a aceder à memória presente no topo da hierarquia, o que inclui o tempo consumido a determinar se é um hit ou um miss. corresponde ao tempo que se perde ao procurar qualquer informação pelos livros que temos na secretaria. O tempo para substituir um bloco no nível superior por um bloco do nível inferior, mais o tempo de entrega desse bloco ao processador é chamado de miss penalty. corresponde ao tempo de ir à estante buscar outro livro e substituir por um na nossa secretaria, mais o tempo de consultar o conteúdo necessário. Uma vez que aceder à memória mais alta é muito mais rápido, o hit time vai ser muito mais curto que o tempo de acesso ao próximo nível hierárquico, o que é o maior responsável pelo miss penalty. o tempo de examinar os livros na secretaria é muito menos que levantar e procurar livros na estante.

Tecnologias de memórias Existem 4 tipos de tecnologias de memórias utilizadas actual. A memória principal é implementada em DRAM (Dynamic Random Access Memory) As memórias mais próximas do processador, como as caches, são implementadas utilizando SRAM (Static Random Access Memory). As DRAM são mais baratas por bit do que as SRAM e consequentemente mais lentas. A diferença de preço deve-se principalmente ao facto de as DRAM requerem menos área por bit de memória, o que permite acomodar mais bits no mesmo volume de silicon. As diferenças de velocidade por seu lado devem a diferentes factores relacionados com a forma como as memórias são implementadas.

Tecnologias de memórias O terceiro tipo de memória mais utilizado é a memória flash utilizada hoje em dia como memória auxiliar em praticamente todos os dispositivos ubíquos. O quarto tipo de memória mais em uso, de maiores dimensões e com preços mais acessíveis, são os discos magnéticos.

Tecnologias de memórias SRAM SRAM são circuitos integrados simples organizados em arrays de memória acessíveis por uma só porta que server tanto para ler como para escrever. As SRAM têm tempos fixos para acesso aos dados, provocando acessos distintos para leitura e escrita. As SRAM não necessitam de ser refrescadas e como tal o tempo de acesso é muito perto do tempo de um ciclo de relógio. As SRAM utilizam entre 6 a 8 transístores por bit, garantindo a integridade dos dados em cada leitura. As SRAM necessitam de potencia mínima para manterem a energia em modo standby. No passado todos os sistemas utilizavam chips de SRAM separados para cada nível de cache. No entanto, actualmente as caches estão todas embutidas nos próprios CPUs e o mercado de SRAM praticamente desapareceu.

Tecnologias de memórias DRAM Nas SRAM, desde que a energia exista, o valor é guardado infinitamente. Nas DRAM isso já não acontece. O valor guardado numa célula é guardado como uma carga num capacitador. Um única transístor é depois utilizado para aceder a essa carga, tanto para ler ou para reescrever o valor que lá se encontra. Uma vez que as DRAM utilizam somente um transístor por bit, a capacidade é muito maior e o custo por bit muito menor que nas SRAM. Uma vez que as DRAM guardam o valor num capacitador, o mesmo não é guardado indefinidamente, sendo necessário ser refrescado periodicamente. Este refrescamento periódico é a causa de se dizer que esta memória é dinâmica.

Tecnologias de memórias Para refrescar as células, basta ler o valor e voltar a escrevelo. Se esta acção fosse realizada bit a bit deixaria de haver tempo para consumir os dados existentes. Como tal, as DRAM utilizam uma estrutura de descodificação de dois níveis, permitindo o refrescamento em grupos (rows). Assim, o refrescamento é realizado utilizando um ciclo de relógio para ler todas as células do grupo e o próximo ciclo para reescrever cada uma. Ex: A DDR3 está organizada em 4 Bancos. Para aceder a um banco envia-se um Pre, que basicamente activa o banco, passando as rows para um buffer permitindo a sua utilização. DRAM Em buffers, as rows são organizadas e manipuladas em colunas de 4, 8 ou 16 bits, dependendo da capacidade da DRAM.

Tecnologias de memórias DRAM

Tecnologias de memórias DRAM A organização das DRAMs em linhas (rows) permite não só um refrescamento eficaz como também permite melhorar a performance. Ao manter em buffer linhas frequentemente utilizadas, a leitura das mesmas torna-se muito rápida. Mais rápida não só pela disponibilidade, mas pelo facto de que os buffers comportam-se como SRAMs, mantendo cada bit acessível aleatoriamente através do seu endereço no buffer.

Tecnologias de memórias DRAM Tornar o chip maior também melhora a largura de banda da memória, ou seja, a capacidade de transmissão de bits. Quando a linha (row) está carregada em buffer, pode ser transmitida utilizando endereços sucessivos, correspondentes à dimensão da DRAM (4, 8 ou 16bits DDR3), ou através de um endereço e de um dimensão.

Tecnologias de memórias DRAM Para melhorar a interface com o processador as DRAM passaram a utilizar relógios sincronizados com o relógio do sistema, passando a chamarem-se Synchronous DRAM ou SDRAM. Uma vez com relógio próprio já não é necessário existir sincronização direta entre o CPU e as DRAM, tendo estas capacidade para transmitir dados em sincronização com o próprio bus do sistema. A versão mais rápida das SDRAMs chama-se Double Data Rate ou DDR. Chama-se DDR pois os dados são transmitidos tanto na subida como na descida do ciclo de relógio, dobrando as transmissões por ciclo.

Tecnologias de memórias DRAM Como exemplo, considere-se a versão DDR4-3200. DDR4-3200 significa que estas memórias têm a capacidade de realizar 3200 milhões de transferências por segundo, ou seja, que possuem um relógio de 1600Mhz. Apesar dos sistemas ubíquos e embebidos utilizarem módulos de DRAM embebidos e separados entre si, é normal a DRAM ser vendida em módulos próprios chamados Dual Inline Memory Modules DIMMs. As DIMMs são normalmente constituídas por 4 a 16 DRAMs, com uma largura de, por exemplo, 8 bytes.

Tecnologias de memórias DRAM As DIMMs são normalmente constituídas por 4 a 16 DRAMs, com uma largura de, por exemplo, 8 bytes (64bits). Considerando as DDR4-3200, podemos calcular que conseguimos transmitir: 8 x 3200 = 25,600 MB por segundo A estas memórias chamar-se-iam PC25600

Tecnologias de memórias DRAM

Tecnologias de memórias Memória Flash A memória flash é um tipo de EEPROM - Electrically Erasable Programmable Read-only Memory. Ao contrário das DRAM, mas como muitas outras EEPROM, as escritas podem desgastar os blocos da própria memória. Para controlar este problema muitos sistemas flash possuem um controlador que altera o mapeamento dos blocos, trocando os distribuindo a escrita por blocos menos utilizados. A essa técnica chama-se nivelamento do desgaste. O nivelamento do desgaste obviamente que afecta a performance da memória. No entanto, sem o mesmo a integridade dos dados fica afectada seriamente. O nivelamento permite ainda evitar blocos danificados no fabrico. Os dispositivos pessoais raramente chegam ao ponto de desgaste total do cartão e, como tal, não se torna um problema real.

Tecnologias de memórias Disco Magnético Um disco magnético é constituído por um conjunto de pratos que rodam a uma rotação que varia por norma entre as 5000 e as 15000 rotações por minuto. Os pratos metálicos estão cobertos de ambos os lados com material magnético, semelhante às fitas das cassetes. Para ler e escrever existe um braço oscilante com uma bobine electromagnetica com uma cabeça de leitura/escrita na ponta, para cada prato. Todo o disco é confinado num espaço bastante limitado, protegendo os pratos do exterior e mantendo a integridade de todos os elementos, inclusive dos dados.

Tecnologias de memórias Disco Magnético Cada superfície de um disco está dividida em círculos concêntricos, chamados track. Tipicamente existem dezenas de milhares de tracks por superfície. Cada track por sua vez está dividida em sectores, que contêm a informação. Tipicamente existem milhares de sectores por track. Os sectores têm tipicamente de 512 a 4096 bytes. A sequência de gravação incluí: Nº Sector -> -> Informação + Recuperação Erro -> Nº Sector->.

Tecnologias de memórias Disco Magnético As cabeças estão todas ligadas ao mesmo braço e oscilam todas em simultâneo. Isto faz com que todas estejam sobre o mesmo sector, do respectivo prato, a cada instante. Ao conjunto de tracks que estão sob as cabeças num determinado instante, denomina-se cilindro.

Tecnologias de memórias Disco Magnético Para aceder aos dados o sistema operativo efectua três processos: 1. Posiciona a cabeça na track desejada. O processo de procura da track pretendida denominase seek e o tempo de procura seek time. Os fabricantes de discos normalmente fornecem o seek time máximo, mínimo e médio. 2. Uma vez na track certa, temos de esperar pela rotação para alcançar o sector pretendido. A este tempo de espera chama-se latência de rotação. Estima-se que o atraso seja em média metade da rotação.

Tecnologias de memórias Disco Magnético 3. O terceiro e último ponto refere-se à transferência dos dados. Ao tempo requerido para transferir um bloco de bits de um sector chama-se tempo de transferência. O tempo de transferência depende da dimensão do sector, da velocidade de rotação e da densidade da track. As taxas de transferências normais variam entre 100MB/s a 200MB/s. No entanto, a maioria dos discos utiliza cache para os sectores já visitados e as taxas de transferência da cache chegam aos 6 Gbps ( = Tx Interface SATA). Para optimizar as taxas de transferência utilizam-se métodos de obtenção de dados sequenciais, assumindo a organização sectores->track-cilindro. Deste modo o acesso deixa de ser aleatório e o seek time é reduzido.

Índice Memórias Grandes e rápidas Introdução Tecnologias de memórias O básico de caches

O básico de caches No nosso exemplo da biblioteca, a nossa secretária acaba por ser a cache do sistema. A cache é assim, resumidamente, um lugar seguro para guardarmos dados de que ainda vamos precisar. O nome cache surgiu a primeira vez para classificar a memória extra que era colocada entre a memória RAM e a memória do processador (registos).

O básico de caches Como sabemos se determinada word existe na cache? Se existir, como encontra-la? Se cada word poder ir para um local de memória especifico, o método mais fácil será calcular a localização na cache com base no endereço que a word tem em memória e aplicar assim o método de mapeamento directo. Com mapeamento directo o mapeamento cada localização de memória é mapeada directamente para uma localização da cache, seguindo normalmente o formato:

O básico de caches Considerando por exemplo que a dimensão da cache é uma potencia de 2, pode-se mapear com base nos bits menos significativos dos elementos de memória. Considerando uma cache com espaço para 8 elementos = 2 3, considera-se os 3 bits menos significativos.

O básico de caches No entanto, uma vez que cada entrada na cache pode conter dados de diferentes localizações de memória, como sabemos qual contem? Para responder a esta pergunta utiliza-se o que se chama de tag. A tag é composta pelos números mais significativos que compõe o endereço de memória, excepto os bits menos significativos que constituem o endereço do bloco da cache. Esta tag é ela própria guardada na cache. Torna-se ainda necessário identificar os blocos válidos na cache. Quando se inicia o sistema, nenhum bloco da cache tem informação válida e como tal devem ser ignoradas. Mesmo durante a execução, vários blocos podem-se manter vazios e como tal a tag dos mesmos deve ser ignorada. Para isso utiliza-se um bit de validade, que só está activo caso existe informação válida.

O básico de caches Aceder à cache Considerando uma sequência de 9 acesso de memória e uma cache de 8 blocos:

Dúvidas e Questões Maio 2014