Registradores
Projeto de pesquisa: Registradores. Pesquise 861.000+ trabalhos acadêmicosPor: kmylla • 22/11/2013 • Projeto de pesquisa • 1.259 Palavras (6 Páginas) • 417 Visualizações
SUMÁRIO
1 INTRODUÇÃO 5
2 REGISTRADORES DE DADOS (REGISTRADORES DE USO GERAL) 6
3 REGISTRADORES DE SEGMENTO 8
4 REGISTRADORES PONTEIROS E DE ÍNDICE (REGISTRADORES DE DESLOCAMENTO) 10
5 GERAÇÃO DE ENDEREÇO FÍSICO EM SEGMENTOS 11
6 CONCLUSÃO 12
REFERÊNCIAS 13
1. INTRODUÇÃO
O conceito de registrador surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um processamento. Por exemplo, quando um dado resultado de operação precisa ser armazenado até que o resultado
de uma busca da memória esteja disponível para com ele realizar uma nova operação.
Máquinas RISC são geralmente construídas com um grande conjunto de registradores, de forma a trazer os dados para o mais próximo possível da UCP, de
forma a que o programa opere sempre sobre dados que estão em registradores.
Registradores são VOLÁTEIS, isto é, dependem de estar energizados para manter armazenado seu conteúdo.
Na arquitetura de computadores, um registrador é uma pequena porção de memória localizada no processador central. Os registradores permitem acessos muito rápidos a dados e são usados para aumentar a velocidade de execução de programas. A maioria das modernas arquiteturas de computadores opera transferindo dados da memória principal para os registradores, onde estes são processados e o resultado é devolvido à memória principal - é a chamada arquitetura de carregamento-armazenamento.
Os registradores estão no topo da hierarquia da memória e propiciam ao sistema o modo mais rápido de acessar dados. O termo geralmente é usado para designar apenas o grupo de registradores que podem ser utilizados diretamente para entradas ou saídas através de instruções definidas no conjunto de instruções do processador.
2. REGISTRADORES DE DADOS (REGISTRADORES DE USO GERAL)
Os registradores de dados podem ser usados como:
• 4 registradores de 16 bits (AX, BX, CX e DX), para manipulação de words (16 bits); ou
• 8 registradores de 8 bits (AL, AH, BL, BH, CL, CH, DL e DH), para manipulação de bytes (8 bits).
A terminação L (low) ou H (high) define onde será armazenado o byte de mais baixa ordem ou o de mais alta ordem de uma palavra de 16 bits.
Embora considerados de uso igualitário pela maioria das instruções aritméticas, lógicas ou de transferência de informação, os registradores de dados apresentam algumas características próprias que os diferenciam:
Os registradores de dados podem ser usados como:
• 4 registradores de 16 bits (AX, BX, CX e DX), para manipulação de words (16 bits); ou
• 8 registradores de 8 bits (AL, AH, BL, BH, CL, CH, DL e DH), para manipulação de bytes (8 bits).
A terminação L (low) ou H (high) define onde será armazenado o byte de mais baixa ordem ou o de mais alta ordem de uma palavra de 16 bits.
Embora considerados de uso igualitário pela maioria das instruções aritméticas, lógicas ou de transferência de informação, os registradores de dados apresentam algumas características próprias que os diferenciam:
• As instruções de multiplicação, divisão ou de transferência de dados de uma E/S exigem o registrador AX como acumulador e, o registrador DX como registrador de dados auxiliar;
• As instruções que usam forma de endereçamento de memória mais complexa exigem o registrador BX como registrador de base; e
• As instruções que manipulam strings ou loops de contagem exigem o registrador CX como registrador de contagem.
As instruções de multiplicação, divisão ou de transferência de dados de uma E/S exigem o registrador AX como acumulador e, o registrador DX como registrador de dados auxiliar;
• As instruções que usam forma de endereçamento de memória mais complexa exigem o registrador BX como registrador de base; e
• As instruções que manipulam strings ou loops de contagem exigem o registrador CX como registrador de contagem.
3. REGISTRADORES DE SEGMENTO
Um programa executável deve ser constituído por módulos de código e de dados. Para suportar esta estrutura de programa modular, o processador aloca cada unidade lógica de um programa em regiões específicas da memória denominadas de segmentos. Por razões de implementação física, cada um destes segmentos não poderá exceder o limite de 64 k bytes.
Como apenas um pequeno número de módulos de programa e dados são necessários em um dado instante, este mecanismo, chamado de segmentação de memória, permite que os programas sejam executados rapidamente e tomem pouco espaço na memória principal, além de facilitar o desenvolvimento de programas e a sua manutenção.
Em qualquer instante, um programa em execução só poderá ter acesso a 4 segmentos:
• Um segmento de código, onde será alocado o módulo executável (instruções);
• Um
...