A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 04:

Apresentações semelhantes


Apresentação em tema: "Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 04:"— Transcrição da apresentação:

1 Software Básico Silvio Fernandes Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 04: SIC/XE 1

2 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 (2 20 ). Este aumento de capacidade de endereçamento provoca modificações no formato das instruções e modos de endereçamento. 2

3 Registradores no SIC/XE O SIC/XE possui quatro registradores a mais do que o SIC. RegistradorEndereço/NúmeroUtilização B3Registrador de Base: Usado para endereçamento S4Registrador de Trabalho: Sem uso especial T5Registrador de Trabalho: Sem uso especial F6Acumulador de Ponto Flutuante: Registrador de 48 bits 3

4 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. SExpoente Mantissa 11 bits1 bit36 bits 4

5 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 (2 11 ). 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. 5

6 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 6

7 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 bits4 bits 7

8 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 6 bits6 x 1 bit12 bits IXBPE Deslocamento 8

9 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 2 20 posições. Por possuir 32 bits, não é compatível com o formato SIC standard. Código da Operação N 6 bits6 x 1 bit20 bits IXBPE Deslocamento 9

10 Modos de endereçamento no SIC/XE Endereçamento Relativo: – Criados para serem usados com instruções de formato 3. Modo de endereçamento CodificaçãoEndereço AlvoDeslocamento Relativo a BaseB = 1, P = 0EA = (B) + Deslocamento 0 Deslocamento 4095 Inteiro sem sinal Relativo ao PCB = 0, P = 1EA = (PC) + Deslocamento Deslocamento 2047 Inteiro. Negativos em compl. de 2 10

11 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). 11

12 Modos de endereçamento no SIC/XE Endereçamentos Relativo e Direto: – Se X = 1 (endereçamento indexado) CodificaçãoEndereço AlvoTipo (indexado) B = 1, P = 0, X = 1EA = (B) + (X) + DeslocamentoRelativo a base B = 0, P = 1, X = 1EA = (PC) + (X) +DeslocamentoRelativo ao PC B = 0, P = 0, X = 1EA = (X)+Deslocamento (12 bits)Direto (formato 3) B = 0, P = 0, X = 1EA = (X) + Endereço (20 bits)Direto (formato 4) 12

13 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) 13

14 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 0 1 Para cálculo do endereço alvo

15 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

16 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 ( ). 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). 16

17 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. X instrução disponível apenas no SIC/XE. F instrução de ponto flutuante. C Código de condição. 17

18 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 B 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 18

19 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 B. 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 ( ) 19

20 Conjunto de instruções do SIC ADD m¾18 A (A) + (m..m+2) AADF m¾58 F (F) + (m..m+5) X F ADDR r1.r2290 r2 (r2) + (r1) X AND m¾40 A (A) & (m..m+2) CLEAR r12B4 r1 0 X COMP m¾28(A) : (m..m+2)C COMPF m¾88(F) + (m..m+5)X F C COMPR r1.r22A0(r1) : (r2)X C DIV m¾24 A (A) / (m..m+2) DIVF m¾64 F (F) + (m..m+5) X F DIVR r1.r229C r2 (r2) / (r1) X 20

21 Conjunto de instruções do SIC FIX1C4 A (F) {converte em inteiro} X F FLOAT1C0 F (A){ converte em flutuante} HIO1F4Interrompe canal de I/O número (A)P X J m¾3C PC m JEQ m¾30 PC m if CC definido como = JGT m¾34 PC m if CC definido como > JLT m¾38 PC m if CC definido como < JSUB m¾48 L (PC) ; PC m LDA m¾00 A (m..m+2) LDB m¾68 B (m..m+2) X LDCH m¾50 A [byte mais à direita] (m) 21

22 Conjunto de instruções do SIC LDF m¾70 F (m..m+5) X F LDL m¾08 L (m..m+2) LDS m¾6C S (m..m+2) X LDT m¾74 T (m..m+2) X LDX m¾04 X (m..m+2) LPS m¾D0**P X MUL m¾20 A (A) * (m..m+2) MULF m¾60 F (F) * (m..m+5) X F MULR r1.r2298 r2 (r2) * (r1) X NORM1C8 F (F) {normalizado} X F OR m¾44 A (A) | (m..m+2) 22

23 Conjunto de instruções do SIC RD m¾D8 A [byte mais à direita] dados do dispositivo especificado por m P RMO r1. R22AC r2 (r1) X RSUB¾4C PC L SHIFTL r1.n2A4 r1 (r1); desl. n bits à esquerda X SHIFTR r1.n2A8 r1 (r1); desl. n bits à direita X SIO1F0***P X SSK m¾EC Chave de proteção do end. m (A) P X STA m¾0C m..m+2 (A) STB m¾78 m..m+2 (B) X STCH m¾54 m A {byte mais à direita} STF m¾80 m..m+5 (F) X F 23

24 Conjunto de instruções do SIC STI m¾D4 Valor do timer de intervalos (m..m+2) P X STL m¾14 m..m+2 (L) STS m¾7C m..m+2 (S) X STSW m¾E8 m..m+2 (SW) P STT m¾84 m..m+2 (T) X STX m¾10 m..m+2 (X) SUB m¾1C A (A) - (m..m+2) SUBF m¾5C F (F) - (m..m+5) X F SUBR r1.r2294 r2 (r2) - (r1) X SVC n2B0Gera interrupção SVCX TD m¾E0Testa disp. especificado por (m)P C 24

25 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) TIO1F8Testa canal de I/O número (A)P X C TIX m¾2C X (X) + 1; (X) : (m..m+2) C TIXR r12B8 X (X) + 1; (X) : (r1) X C WD m¾DCDispos. especificidado por (m) (A) {byte mais à direita} P 25

26 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 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. 26

27 Tabela de modos de endereçamento TipoFlags n i x b p e Notação Assembler Cálculo de EAoperandosNotas Simples oper. cDesl.(TA)D oper. mEndereço(TA)4 D oper. m(PC) + desl.(TA)A oper. c. x(B) + desl(TA)A oper. m. xDisp + (X)(TA)D oper. m. xEndereço + (X)(TA)4 D oper. m. x(PC) + desl + (X)(TA)A oper. m. x(B) + desl + (X)(TA)A oper. mb/p/e/desl(TA)D S oper. m. xb/p/e/desl + (X)(TA)D S 27

28 Tabela de modos de endereçamento TipoFlags n i x b p e Notação Assembler Cálculo de EAoperandosNotas Indireto D desl.((TA))A desl((TA))A Imediato oper.#cDispTAD oper.#mEndereçoTA4 D oper.#m(PC) + deslTAA oper.#m(B) + deslTAA 28

29 Referências Leland L Beck.. Desenvolvimento de software básico. 2ª ed. Rio de Janeiro: Campus, p. 29


Carregar ppt "Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 04:"

Apresentações semelhantes


Anúncios Google