• Nenhum resultado encontrado

Aula 12: Memória: Barramentos e Registradores

N/A
N/A
Protected

Academic year: 2023

Share "Aula 12: Memória: Barramentos e Registradores"

Copied!
34
0
0

Texto

(1)

Aula 12: Memória: Barramentos e Registradores

Diego Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

(2)

Revisão

(3)

Na Aula Passada. . .

Discutimos o papel da memória em um sistema de computação.

Armazenar informações.

Dados, código.

Vimos que fisicamente a memória é organizada hierarquicamente.

Em termos lógicos, vemos a memória como uma matriz de bits.

Ou sequência de células de memória de uma largura fixa.

(4)

Na Aula Passada. . . (II)

Na parte final da aula, falamos sobre as operações da UCP sobre a memória.

Leitura.

Escrita.

Discutimos ainda dois conceitos importantes.

Alinhamento.

Padding.

(5)

Barramentos

(6)

Barramentos: Motivação

Para executar operações sobre a memória, UCP precisa ser capaz de se comunicar.

É necessário enviar comandos e receber respostas.

Comandos, neste caso, são simples:

Leitura.

Escrita.

Mas comandos precisam de argumentos:

Leia aposição 2875.

Escrevao valor 144naposição 7765.

(7)

Barramentos: Introdução

A comunicação entre a UCP e a memória se dá por intermédio de um barramento.

Conceito brevemente discutido nas aulas iniciais.

É um canal de comunicação entre dispositivos.

Mais de dois dispositivos podem se comunicar.

Hoje, há várias maneiras diferentes de se implementar barramentos.

Para efeito desta disciplina, entenderemos um barramento como um conjunto de fios.

Linhas de comunicação.

Cada uma capaz de transportar 1 bit de informação.

...

(8)

Barramentos: Organização

Em geral, nem todas as linhas de comunicação de um barramento são usadas para transferência de dados.

Algumas podem ser usadas para envio de informações de controle ou endereçamento.

Uma possível organização é a divisão em três grupos:

Dados (BD).

Controle (BC).

Endereço (BE).

... ...

{

Dados

{

Controle

{

Endereço

(9)

Características de um Barramento: Largura

Quantas linhas alocar para cada grupo do barramento?

Decisão de projeto.

Quanto mais linhas, mais informação podemos transferir de uma só vez.

Por outro lado, aumenta-se complexidade, custo, . . .

O número de linhas no BD é o tamanho da palavra do processador.

e.g., processador de 32 bits necessita de BD com 32 bits delargura.

O BE precisa de uma largura suficiente para endereçar todas as possíveis célulasde memória.

Não é uma regra, mas,em geral, é a mesma largura do BD.

Finalmente, o BC precisa ter uma largura compatível com o número de mensagens de controle.

Para apenas leitura/escrita, pode ser uma única linha.

(10)

Características de um Barramento: Frequência de Operação

A largura do BD determina quanta informação pode ser enviada de uma única vez.

Se precisarmos enviar um volume maior de dados, teremos que fazer múltiplas transmissões através do barramento.

Mas quanto tempo demora uma transmissão?

Quanto menor esta duração, mais transmissões por unidade de tempo.

Barramentos operam a uma determinada frequência.

A frequência determina quantas transmissões podemos realizar por unidade de tempo.

Geralmente dada em múltiplos de Hertz (Hz).

(11)

Características de um Barramento: Taxa de Transmissão

A taxa de transmissão máxima teórica de um barramento é uma função da sua largura e frequência de operação.

Quanto maior a frequência, maior a taxa.

Quanto maior a largura, maior a taxa.

Em geral, podemos calcular a Taxa de Transferência a partir da seguinte fórmula:

T =F ×L

Onde:

F é a frequência.

Lé a largura.

Se F é dada em MHz e Lem bytes, T é medida em MB/s.

(12)

Barramentos: Conectando a UCP à Memória

A interconexão entre processador e memória se dá por um barramento.

Mas há ainda um outro intermediário.

Ocontrolador da memória.

A memória principal não é conectada diretamente ao barramento.

Ao invés disso, liga-se o controlador.

Controlador é responsável por “conversar” com o processador.

Einterfacearos comandos para a memória em si.

(13)

Barramentos: Conectando a UCP à Memória (II)

Dados

Controle Endereço

Processador Memória

Principal Controlador

(14)

Barramentos: Exemplo de Escrita

Processador

0110 1010 1

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Escrita começa com a UCP transmitindo parâmetros pelo barramento.

Endereço: 1010.

Dado a ser escrito: 0110.

Operação: 1 (escrita).

(15)

Barramentos: Exemplo de Escrita (II)

Processador

0110 1010 1

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 1 1 0

Memória recebe dado, endereço e operação.

E armazena o valor especificado.

(16)

Barramentos: Exemplo de Leitura

Processador

1110 0

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

1 0 1 1

Leitura começa com a UCP transmitindo parâmetros pelo barramento.

Endereço: 1010.

Operação: 0 (leitura).

(17)

Barramentos: Exemplo de Leitura (II)

Processador

1110 0

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

1 0 1 1

1011

Memória recebe endereço e operação.

E escreve o valor correspondente.

Muitas vezes, BC contém também um linha chamada ack.

Neste contexto, pode avisar que dados estão prontos.

(18)

Registradores

(19)

Registradores: Conceitos Básicos

Falamos brevemente sobre registradores na aula passada.

São parte da hierarquia de memória.

Tipo de memória mais “próxima” do processador.

E por isso mais rápida.

Mas para que servem os registradores?

(20)

Registradores: Conceitos Básicos (II)

Registradores são memórias capazes de armazenar pequenas quantidades de bits internamente ao processador.

Em geral, registradores são dotamanho da palavrado processador.

Ou ligeiramente maiores ou menores.

Registradores armazenam as informações importantes para a execução imediata.

Ou em umfuturo muito próximo.

Por exemplo: soma de dois números.

Ambos os números estarão em registradores.

Resultado da soma será armazenado em um registrador.

(21)

Registradores: Conceitos Básicos (III)

Registradores não servem apenas para armazenar operandos e resultados de operações.

Eles também armazenam informações como:

O estado atual do processador.

Meta-informações sobre a última operação realizada.

e.g., se o resultado foi zero ou negativo.

O ponto atual de execução de um programa.

. . .

(22)

Registradores: Tipos

Processadores modernos geralmente contêm vários registradores.

Um processador x86 64, por exemplo, contém cerca de 32 registradoresvisíveis ao usuário.

Há processadores especiais, usados para controle do processador.

Mas nem todos os registradores são iguais.

Um registrador pode servir a um propósito específico.

De maneira geral, podemos dividir os registradores em dois grupos:

Registradores acessíveis ao usuário.

Registradores internos.

(23)

Registradores: Acessíveis ao Usuário

São registradores que estão acessíveis ao programa em execução.

Um programador pode escrever código que manipula estes registradores.

Se a linguagem oferecer acesso de nível suficientemente baixo.

Programas em linguagens de alto nível são traduzidos para operações que os manipulam.

Dentro desta categoria, podemos fazer uma nova subdivisão.

Registradores de dados.

Registradores de endereço.

(24)

Registradores: Registradores de Dados

Armazenam dados a serem processados.

Ou resultados de operações.

Operações da UCP operam sobre estes dados.

Processadores modernos geralmente fazem distinção entre registradores inteiros e de ponto flutuante.

Processadores mais antigos ou mais simples normalmente contam com um registrador chamado acumulador.

Usado como entrada para operações.

Mas também acumula a saída.

(25)

Registradores: Registradores de Endereço

Armazenam valores numéricos que dizem respeito a endereços na memória principal.

Absolutos ou relativos.

Certas operações de uma UCP usam os valores destes registradores como referências para acessar a memória principal.

Relação direta com os modos de endereçamento.

Que serão discutidos daqui a algumas aulas.

(26)

Registradores: Outros Registradores Acessíveis ao Usuário

Dependendo da arquitetura, há vários outros tipos de registradores acessíveis ao usuário.

Algumas contêm, por exemplo, registradores constantes.

Não podem ser escritos.

Possuem sempre o mesmo valor.

Algum tipo de constante útil.

Como 0, 1, ouπ.

Outros comuns são os registradores de propósito especial:

Program Counter (PC): contador de programa.

Palavra destatus: informações sobre o estado atual do processador.

Em geral, não podem serdiretamenteescritos.

(27)

Registradores: Internos

Registradores não são acessíveis ao usuário.

Programa em execução.

Nem para leitura, nem para escrita.

Auxiliam a UCP nas operaçoes a serem executadas.

Há muitos exemplos, dependendo da arquitetura.

Por hora, como exemplo, veremos os seguintes:

Registrador de Instrução.

Memory data register (MDR).

Memory address register (MAR).

(28)

Registradores: Registrador de Instrução

As instruções (operações) que devem ser executadas pelo processador são também armazenadas em memória.

Em computadores de programa armazenado.

Logo, elas são representadas como conjuntos de bits.

Assim como nos esquemas de representação de números, cada bit (ou conjunto de bits) possui um significado.

Para “entender” a operação, UCP precisa analisar os bits da instrução.

Para isso, instrução é colocada em um registrador especial.

O Registrador de Instrução.

Discutiremos em mais detalhes as instruções e este registrador em aulas futuras.

(29)

Registradores: Registradores de Memória

Este conjunto de registradores é usado para auxiliar no acesso à memória principal.

Tipicamente, são dois registradores diferentes:

Memory data register (MDR).

Memory address register (MAR).

Estes registradores são usados como interfaces para o barramento de acesso à memória.

(30)

Registradores: MAR

O MAR é o registrador que armazena o endereço da memória principal a ser acessado.

Tanto no caso de uma leitura, quanto no caso de uma escrita.

Quando uma operação a ser executada precisa ler ou escrever dados na memória, processador coloca no MAR o endereço correspondente.

Este valor é transmitido pelo BE para o controlador da memória.

O número de bits do MAR deve corresponder ao número de bits do barramento.

Ou seja, ele deve um número suficiente de bits para endereçar todas as células da memória.

(31)

Registradores: MDR

Analogamente ao MAR, o MDR corresponde aos bits do BD.

Quando o processador deseja escrever uma palavra na memória, ele a coloca no MDR.

Após o sinal de escrita ser colocado no barramento, conteúdo do MDR é transmitido através do BD.

Na leitura, o processo é análogo.

O que a MP escreve no BD, chega ao MDR no processador.

Uma vez lá, processador pode facilmente acessar o dado.

O MDR deve ter o mesmo número de bits da palavra do processador.

(32)

Registradores: Voltando ao Exemplo de Leitura na MP

Processador

1110 0

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

1 0 1 1

1011 MAR MDR

MAR e MDR estão associados ao BE e BD, respectivamente.

No exemplo, UCP coloca endereço no MAR.

Após o sinal de leitura no

barramento, memória transmite o valor a ser lido.

Valor é colocado no MDR.

UCP pode facilmente acessá-lo.

(33)

Registradores: Resumindo os Tipos

Registradores

Acessíveis Internos

Acesso à MP Instrução

MDR MAR

Dados Endereço Especiais

Inteiros PF PC Status

Lembre-se que arquiteturas diferentes possuem registradores diferentes.

Processadores reais podem conter outros.

(34)

Exercício

Um processador possui um BE com capacidade de transferir 33 bits de cada vez.

Sabe-se que o BD permite a transferência de 4 palavras em cada acesso e que cada célula da MP armazena 1/8 de cada palavra.

Considerando que a MP pode armazenar no máximo 64 Gibibits, responda:

Qual a quantidade máxima de células da MP?

Qual o tamanho de cada célula e cada palavra (em bits)?

Qual o tamanho do MAR e do BD (em bits)?

Referências

Documentos relacionados

Este projeto se insere no campo aplicado dos estudos linguísticos e busca contribuir para a reflexão sobre o ensino de Língua Portuguesa, bem como para otimizar modos de trabalho

Tubos de condução nos graus A e B, com composição química e propriedades mecânicas definidas.Sendo o de grau A apto a ser dobrado ou flangeado.São nor- malmente fornecidos no SHC

[r]

Tem-se como objetivo deste trabalho de pesquisa a proposta de arquitetura para a integração de diversas tecnologias em Automação em uma plataforma automatizada

A decisão da associação vem baseada em estudos científicos realizados ao longo dos anos por cientistas renomados e capacita- dos, que demonstraram a eficá- cia da low

A ADMINISTRADORA e a GESTORA buscarão manter carteira de títulos com prazo médio superior a 365 (trezentos e sessenta e cinco) dias calculado conforme metodologia de cálculo do

sido muito difícil, mas eu acho que a vida das mulheres hoje em dia também não é 22?. fácil, porque têm de conjugar uma série

Dessa forma uma classe em Python permite que o mecanismo de herança realize múltiplas classes bases, uma classe derivada pode sobrescrever quaisquer métodos de uma classe