Aula 12: Memória: Barramentos e Registradores

Documentos relacionados
Organização e Arquitetura de Computadores INTRODUÇÃO

SSC510 Arquitetura de Computadores 1ª AULA

BARRAMENTOS. Adão de Melo Neto


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

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

Processador: Conceitos Básicos e Componentes

Disciplina: Arquitetura de Computadores

Processador. Processador

Barramento. Prof. Leonardo Barreto Campos 1

BARRAMENTO DO SISTEMA. Adão de Melo Neto

Memória Principal. Tiago Alves de Oliveira

2. A influência do tamanho da palavra

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas

Organização e Arquitetura de Computadores I

Aula 11: Memória Principal: Conceitos Básicos e Organização

UCP 8051 (parte 02) Professor Adão de Melo Neto

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ARQUITETURA DE COMPUTADORES

UCP: Caminho de Dados (Parte II)

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

COMPUTADOR 2. Professor Adão de Melo Neto

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

Organização de Sistemas Computacionais Processadores: Organização da CPU

Infraestrutura de Hardware. Funcionamento de um Computador

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

BARRAMENTOS. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Organização de Computadores I

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ENTRADA E SAÍDA (I/O)

Unidade Central de Processamento 2. Registradores

Arquitetura de Computadores Aula 10 - Processadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquitetura de Computadores. Ciclo de Busca e Execução

2. A influência do tamanho da palavra

BARRAMENTOS. Adão de Melo Neto

CONJUNTO DE INSTRUÇÕES

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

UCP: Construindo um Caminho de Dados (Parte III)

Unidade Central de Processamento UCP (CPU)

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

Solução Lista de Exercícios Processadores

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

Aula 09. Módulos de Entrada e Saída

Prof. Leonardo Augusto Casillo

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Aula 17: Organização de Computadores

AGT0001 Algoritmos Aula 01 O Computador

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

Introdução à Ciência da Computação

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

ORGANIZAÇÃO DE COMPUTADORES

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Arquitetura e organização de computadores

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico Barramentos

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Aula 5: Introdução a Arquitetura do Microcontrolador 8051

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

Capítulo 3 Organização Interna de um Computador

Organização de Computadores Sistema de Interconexão. Professor: Francisco Ary

Fundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Introdução à Computação: Arquitetura von Neumann

CPUs e Barramentos. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Algoritmos Computacionais

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

SSC0112 Organização de Computadores Digitais I

Instruções. Maicon A. Sartin

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Fundamentos de Sistemas Operacionais

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

RELOGIO MEMÓRIA USO DA NUMERAÇÃO BINÁRIA. 02. Explique a função do barramento de endereços no Modelo Barramento de Sistemas.

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Estrutura Básica de um Computador

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Dispositivos de Entrada e Saída

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Aula 13: Memória Cache

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Dispositivos de Entrada e Saída

Instruções de Máquina

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

Transcrição:

Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

Revisão Diego Passos (UFF) Memória: Barramentos e Registradores FAC 2 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 3 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 4 / 34

Barramentos Diego Passos (UFF) Memória: Barramentos e Registradores FAC 5 / 34

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 a posição 2875 Escreva o valor 144 na posição 7765 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 6 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 7 / 34

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{ Diego Passos (UFF) Memória: Barramentos e Registradores FAC 8 / 34

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 eg, processador de 32 bits necessita de BD com 32 bits de largura O BE precisa de uma largura suficiente para endereçar todas as possíveis células de 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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 9 / 34

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) Diego Passos (UFF) Memória: Barramentos e Registradores FAC 10 / 34

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 L em bytes, T é medida em MB/s Diego Passos (UFF) Memória: Barramentos e Registradores FAC 11 / 34

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 O controlador 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 E interfacear os comandos para a memória em si Diego Passos (UFF) Memória: Barramentos e Registradores FAC 12 / 34

Barramentos: Conectando a UCP à Memória (II) Dados Controle Endereço Processador Memória Principal Controlador Diego Passos (UFF) Memória: Barramentos e Registradores FAC 13 / 34

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) Diego Passos (UFF) Memória: Barramentos e Registradores FAC 14 / 34

Barramentos: Exemplo de Escrita (II) Processador 0000 0001 0110 1010 1 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 0 1 1 0 Memória recebe dado, endereço e operação E armazena o valor especificado 1100 1101 1110 1111 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 15 / 34

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) Diego Passos (UFF) Memória: Barramentos e Registradores FAC 16 / 34

Barramentos: Exemplo de Leitura (II) Processador 1110 1011 0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1 0 1 1 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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 17 / 34

Registradores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 18 / 34

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? Diego Passos (UFF) Memória: Barramentos e Registradores FAC 19 / 34

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 do tamanho da palavra do processador Ou ligeiramente maiores ou menores Registradores armazenam as informações importantes para a execução imediata Ou em um futuro 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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 20 / 34

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 eg, se o resultado foi zero ou negativo O ponto atual de execução de um programa Diego Passos (UFF) Memória: Barramentos e Registradores FAC 21 / 34

Registradores: Tipos Processadores modernos geralmente contêm vários registradores Um processador x86 64, por exemplo, contém cerca de 32 registradores visí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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 22 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 23 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 24 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 25 / 34

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 de status: informações sobre o estado atual do processador Em geral, não podem ser diretamente escritos Diego Passos (UFF) Memória: Barramentos e Registradores FAC 26 / 34

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) Diego Passos (UFF) Memória: Barramentos e Registradores FAC 27 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 28 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 29 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 30 / 34

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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 31 / 34

Registradores: Voltando ao Exemplo de Leitura na MP Processador MAR MDR 1110 1011 0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1 0 1 1 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 Diego Passos (UFF) Memória: Barramentos e Registradores FAC 32 / 34

Registradores: Resumindo os Tipos Registradores Acessíveis Internos Dados Endereço Especiais Acesso à MP Instrução Inteiros PF PC Status MDR MAR Lembre-se que arquiteturas diferentes possuem registradores diferentes Processadores reais podem conter outros Diego Passos (UFF) Memória: Barramentos e Registradores FAC 33 / 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)? Diego Passos (UFF) Memória: Barramentos e Registradores FAC 34 / 34