29
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: SIC/XE 1

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:

Embed Size (px)

Citation preview

Page 1: 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:

Software Básico

Silvio Fernandes2010.1

Universidade Federal Rural do SemiáridoDepartamento de Ciências Exatas e Naturais

Ciência da Computação

Aula 04: SIC/XE

1

Page 2: 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:

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.

2

Page 3: 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:

Registradores no SIC/XE

• O SIC/XE possui quatro registradores a mais do que o SIC.

Registrador Endereço/Número Utilização

B 3 Registrador de Base:

Usado para endereçamento

S 4 Registrador de Trabalho:

Sem uso especial

T 5 Registrador de Trabalho:

Sem uso especial

F 6 Acumulador de Ponto Flutuante:

Registrador de 48 bits

3

Page 4: 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:

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

11 bits1 bit 36 bits

4

Page 5: 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:

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.

5

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

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

Page 7: 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:

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

7

Page 8: 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:

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 bits 6 x 1 bit 12 bits

I X B P E Deslocamento

8

Page 9: 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:

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

6 bits 6 x 1 bit 20 bits

I X B P E Deslocamento

9

Page 10: 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:

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ção Endereço Alvo Deslocamento

Relativo a Base B = 1, P = 0 EA = (B) + Deslocamento

0 Deslocamento 4095

Inteiro sem sinal

Relativo ao PC B = 0, P = 1 EA = (PC) + Deslocamento

-2048 Deslocamento 2047

Inteiro. Negativos em compl. de 2

10

Page 11: 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:

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

Page 12: 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:

Modos de endereçamento no SIC/XE

• Endereçamentos Relativo e Direto:– Se X = 1 (endereçamento indexado)

Codificação Endereço Alvo Tipo (indexado)

B = 1, P = 0, X = 1 EA = (B) + (X) + Deslocamento Relativo a base

B = 0, P = 1, X = 1 EA = (PC) + (X) +Deslocamento Relativo ao PC

B = 0, P = 0, X = 1 EA = (X)+Deslocamento (12 bits) Direto (formato 3)

B = 0, P = 0, X = 1 EA = (X) + Endereço (20 bits) Direto (formato 4)

12

Page 13: 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:

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

Page 14: 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:

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

Page 15: 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:

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

Page 16: 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:

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

Page 17: 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:

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.

17

Page 18: 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:

Conjunto de instruções do SIC

Ex: ADD m ¾ 18 A (A) + (m..m+2)Mnemônico: ADD mFormatos: 3 ou 4Código: 18H ou 00011000BEfeito: 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

Page 19: 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:

Conjunto de instruções do SIC

Ex: COMP m ¾ 28 A (A) : (m..m+2) CMnemô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 >)

19

Page 20: 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:

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.r2 2 90 r2 (r2) + (r1) X

AND m ¾ 40 A (A) & (m..m+2)

CLEAR r1 2 B4 r1 0 X

COMP m ¾ 28 (A) : (m..m+2) C

COMPF m ¾ 88 (F) + (m..m+5) X F C

COMPR r1.r2 2 A0 (r1) : (r2) X C

DIV m ¾ 24 A (A) / (m..m+2)

DIVF m ¾ 64 F (F) + (m..m+5) X F

DIVR r1.r2 2 9C r2 (r2) / (r1) X 20

Page 21: 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:

Conjunto de instruções do SIC

FIX 1 C4 A (F) {converte em inteiro} X F

FLOAT 1 C0 F (A){ converte em flutuante}

HIO 1 F4 Interrompe 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

Page 22: 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:

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.r2 2 98 r2 (r2) * (r1) X

NORM 1 C8 F (F) {normalizado} X F

OR m ¾ 44 A (A) | (m..m+2) 22

Page 23: 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:

Conjunto de instruções do SICRD m ¾ D8 A [byte mais à direita] dados do

dispositivo especificado por mP

RMO r1. R2 2 AC r2 (r1) X

RSUB ¾ 4C PC L

SHIFTL r1.n 2 A4 r1 (r1); desl. n bits à esquerda X

SHIFTR r1.n 2 A8 r1 (r1); desl. n bits à direita X

SIO 1 F0 *** 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 F23

Page 24: 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:

Conjunto de instruções do SICSTI 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.r2 2 94 r2 (r2) - (r1) X

SVC n 2 B0 Gera interrupção SVC X

TD m ¾ E0 Testa disp. especificado por (m) P C24

Page 25: 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:

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)

TIO 1 F8 Testa canal de I/O número (A) P X C

TIX m ¾ 2C X (X) + 1; (X) : (m..m+2) C

TIXR r1 2 B8 X (X) + 1; (X) : (r1) X C

WD m ¾ DC Dispos. especificidado por (m) (A) {byte mais à direita}

P

25

Page 26: 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:

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.

26

Page 27: 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:

Tabela de modos de endereçamentoTipo Flags

n i x b p e

Notação Assembler

Cálculo de EA operandos Notas

Simples 1 1 0 0 0 0 oper. c Desl. (TA) D

1 1 0 0 0 1 + oper. m Endereço (TA) 4 D

1 1 0 0 1 0 oper. m (PC) + desl. (TA) A

1 1 0 1 0 0 oper. c. x (B) + desl (TA) A

1 1 1 0 0 0 +oper. m. x Disp + (X) (TA) D

1 1 1 0 0 1 oper. m. x Endereço + (X) (TA) 4 D

1 1 1 0 1 0 oper. m. x (PC) + desl + (X) (TA) A

1 1 1 1 0 0 oper. m. x (B) + desl + (X) (TA) A

0 0 0 - - - oper. m b/p/e/desl (TA) D S

0 0 1 - - - oper. m. x b/p/e/desl + (X) (TA) D S27

Page 28: 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:

Tabela de modos de endereçamentoTipo Flags

n i x b p e

Notação Assembler

Cálculo de EA operandos Notas

Indireto 1 0 0 0 0 0 oper. @c Desl. ((TA)) D

1 0 0 0 0 1 + oper. @m Endereço ((TA)) 4 D

1 0 0 0 1 0 oper. @m (PC) + desl. ((TA)) A

1 0 0 1 0 0 oper. @m (B) + desl ((TA)) A

Imediato 0 1 0 0 0 0 oper.#c Disp TA D

0 1 0 0 0 1 +oper.#m Endereço TA 4 D

0 1 0 0 1 0 oper.#m (PC) + desl TA A

0 1 0 1 0 0 oper.#m (B) + desl TA A

28

Page 29: 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:

Referências

• Leland L Beck.. “Desenvolvimento de software básico”. 2ª ed. Rio de Janeiro: Campus, 1993. 525p.

29