290 likes | 372 Views
Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação. Software Básico. Aula 04: SIC/XE. Silvio Fernandes 2010.1. Memória do SIC/XE.
E N D
Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Software Básico Aula 04: SIC/XE Silvio Fernandes 2010.1
Memória do SIC/XE • A estrutura de memória do SIC/XE é a mesma do SIC. As posições de memória são formadas por três bytes consecutivos. • A capacidade de memória é aumentada para 1 Mbyte (220). • Este aumento de capacidade de endereçamento provoca modificações no formato das instruções e modos de endereçamento.
Registradores no SIC/XE • O SIC/XE possui quatro registradores a mais do que o SIC.
Formato de dados no SIC/XE • O Formato do SIC standard continua válido. • É acrescentado um tipo de dados de ponto flutuante de 48 bits. S Expoente Mantissa 1 bit 11 bits 36 bits
Dados de ponto flutuante • A mantissa é um valor entre 0 e 1. (0.XXX). • O expoente é um número binário sem sinal entre 0 e 2047 (211). • O sinal do número é indicado pelo valor de S. • S = 0 número positivo. • S = 1 Número negativo. • Um valor igual a zero é indicado com todos os bits iguais a zero.
Formatos de instrução no SIC/XE • O Formato do SIC não é mais válido devido ao aumento da capacidade de memória. • O SIC/XE possui 4 formatos. • Formato 1: usado para instruções que não utilizam nenhum operando. Código da Operação 8 bits
Formatos de instrução no SIC/XE • Formato 2: usado para instruções que utilizam como operando o conteúdo de dois registradores ou o conteúdo de um registrador e uma constante de até quatro bits Código da Operação R1 R2 8 bits 4 bits 4 bits
Formatos de instrução no SIC/XE • Formato 3: usado para instruções em que um dos operandos é o conteúdo de uma posição de memória que pode ser alcançada por um deslocamento de 15 bits. • Formato compatível com o SIC standard. • Flags N e I devem fazer parte do código da operação, o flag X deve indicar o modo de endereçamento e os flags B, P e E se juntem ao campo Deslocamento formando o campo endereço. Código da Operação N I X B P E Deslocamento 6 bits 6 x 1 bit 12 bits
Formatos de instrução no SIC/XE • Formato 4: usado para instruções que acessam operandos em uma memória com capacidade de endereçamento de 220 posições. • Por possuir 32 bits, não é compatível com o formato SIC standard. Código da Operação N I X B P E Deslocamento 6 bits 6 x 1 bit 20 bits
Modos de endereçamento no SIC/XE • Endereçamento Relativo: • Criados para serem usados com instruções de formato 3.
Modos de endereçamento no SIC/XE • Endereçamento Direto: • Se B = 0 e P = 0 o campo deslocamento em uma instrução de formato 3 (E = 0) será o endereço alvo. • EA = Deslocamento (12 bits). • Para instruções no formato 4 (E = 1), B e P são necessariamente iguais a 0, • EA = Endereço (20 bits).
Modos de endereçamento no SIC/XE • Endereçamentos Relativo e Direto: • Se X = 1 (endereçamento indexado)
Modos de endereçamento no SIC/XE • Os flags I e N são usados para indicar o uso apropriado do endereço alvo. • I = 1 e N = 0: o endereço alvo será usado como operando e nenhum acesso será feito a memória (Endereçamento Imediato). • I = 0 e N = 1: o endereço alvo apontará para a posição de memória cujo conteúdo é o endereço do operando (Endereçamento Indireto). • I = 1 e N = 1: instruções SIC/XE que não usam endereçamento imediato ou indireto (endereço da memória) • I = 0 e N = 0: instruções no formato SIC (formato 3). Flags B,P e E são usados como parte do endereço (endereço da memória)
0 Para cálculo do endereço alvo 1 Modos de endereçamento no SIC/XE • Formatos de instrução Sem referência a memória Endereçamento relativo Campo de endereço extendido
Modos de endereçamento no SIC/XE • Compatibilidade • Todas as instruções SIC tem 8 bits de código de operação terminando com 00 • Se n=i=0, bits b,p,e são considerados como parte dos 15 bits campo de endereço
Conjunto de instruções do SIC • O SIC possui um formato básico de instruções suficiente para executar a maioria das tarefas (programas) simples. • Existem instruções que definem e armazenam o conteúdo dos registradores (LDA, LDX, STA, STX, etc). • Existem instruções aritméticas (ADD, SUB, MUL, etc). • Todas as operações aritméticas envolvem o registrador A e uma palavra de memória. • Existe a instrução COMP, que compara o valor do registrador A com uma palavra de memória. • Utiliza um código de condição (CC) para determinar o resultado da comparação (<, = ou >). • Existem instruções de salto condicional (JLT, JEQ, JGT) que executam o salto com base no valor de CC. • Existem duas instruções específicas para o uso de sub-rotinas (JSUB e RSUB).
Conjunto de instruções do SIC Mnemômico: nome da instrução. Formato: qual formato a instrução foi codificada e montada. Código da Operação: normalmente em hexadecimal. Efeito: significado da instrução. Notas: informações adicionais: P instrução privilegiada. Xinstrução disponível apenas no SIC/XE. F instrução de ponto flutuante. C Código de condição.
Conjunto de instruções do SIC Ex: ADD m ¾ 18 A (A) + (m..m+2) Mnemônico: ADD m Formatos: 3 ou 4 Código: 18H ou 00011000B Efeito: adicionar a palavra composta pelos bytes m, m+1 e m+2 da memória com a palavra contida no registrador acumulador. Notas: nenhuma
Conjunto de instruções do SIC Ex: COMP m ¾ 28 A (A) : (m..m+2) C Mnemônico: COMP m. Formatos: 3 ou 4. Código: 28H ou 00101000B. Efeito: compara o conteúdo do registrador acumulador com a palavra armazenada nas posições m, m+1 e m+2. Notas: o resultado é armazenado no código de condição (<, + ou >)
Conjunto de instruções do SIC • ** LPS: carrega status do processador com base em informações que se iniciam no endereço m • ***: SIO: ativa canal de I/O número (A); endereço do programa do canal é dado por (S)
Tabela de modos de endereçamento • C = constante entre 0 e 4095 ou um endereço de memória contido nesta faixa. • m = endereço de memória ou constante maior que 4095. • Coluna notas: • 4 = instrução somente no formato 4. • D = instrução de endereçamento direto. • A = O assembler seleciona o modo relativo ao contador do programa ou ao registrador base. • S = compatível com o formato SIC standard.
Referências • Leland L Beck.. “Desenvolvimento de software básico”. 2ª ed. Rio de Janeiro: Campus, 1993. 525p.