Programação Aplicada à Engenharia

Propaganda
Universidade Federal Rural do Semi-Árido
Departamento de Ciências Ambientais
Ciência da Computação
Software Básico
Aula 03: Computador Didático Simplificado
Silvio Fernandes
2010.1
1
Estrutura da Máquina
• Como essência os softwares básicos
dependem da máquina
• A maioria dos computadores reais possui
características incomuns ou até exclusivas
• Para tanto usaremos como referência o SIC
(Simplified Instructional Computer ou
Computador Didático Simplificado)
2
Introdução ao SIC
• É um computador hipotético, projetado para
conter todas as características físicas da
maioria das máquinas verdadeiras
• Existem duas versões: o SIC standard e o
SIC/XE (extended).
• Programas objetos escritos para o SIC são
compatíveis com o SIC/XE.
3
Memória do SIC
• Organizada em 32.768 (215) posições de 8 bits (1 byte) de largura.
• Três posições consecutivas da memória constituem uma palavra
da arquitetura (24 bits).
• O endereçamento é expresso em bytes. Uma palavra é
endereçada pela posição de menor byte. Memória
Palavra
M(i+2)
M(i+1)
M(i)
(i)
Endereço
(i+1)
(i+2)
4
Registradores do SIC
• Existem 5 (cinco) registradores no SIC, cada um destinado a uma
função específica.
• Todos os registradores possuem tamanho de 24 bits.
• Definição dos registradores:
–
–
–
–
–
A (Accumulator - Acumulador).
X (Index Register – Registrador de Indexação).
L (Linkage Register – Registrador de Ligação).
PC (Program Counter – Contador de Programa).
SW (Status Word – Palavra de Status).
5
Registradores do SIC
Registrador
Endereço/Número
Utilização
A
0
Registrador Acumulador:
Usado em operações aritméticas
X
1
Registrador de Indexação:
Usado para endereçamento
L
2
Registrador de Ligação:
Armazena o endereço de retorno de instruções
de salto para sub-rotinas
PC
8
Contador de programa:
Contém o endereço de memória cujo conteúdo
é a próxima instrução a ser executada
SW
9
Palavra de status:
Contém informações diversas, inclusive um
condition code (código de condição) CC 6
Formato de dados do SIC
• O SIC possui 2 formatos de dados.
– Inteiros: armazenados como números binários de 24 bits.
• A representação dos números negativos é feita na
forma de complemento de 2.
– Caracteres alfanuméricos: representados pelos códigos
ASCII de 8 bits.
– Não existe suporte para instruções de ponto flutuante.
7
Formato de instruções do SIC
• Todas as instruções do SIC estão codificadas no seguinte
formato (24 bits):
Código da Operação
X
Endereço
8 bits
1 bit
15 bits
• O flag x é utilizado para indicar o modo de endereçamento.
8
Modos de endereçamento do SIC
• Existem 2 modos de endereçamento disponíveis no SIC:
– Endereçamento Direto:
• flag x = 0.
• Endereço alvo = Endereço.
– Endereçamento Indexado:
• flag x = 1.
• Endereço alvo = Endereço + (X).
Legenda:
– Endereço : campo de endereço do formato de instrução (15 bits).
– Endereço alvo: endereço apontado pela instrução.
– (X): conteúdo do registrador de indexação.
9
Operações de entrada e saída
• São realizadas através da transferência de um byte de dados
do dispositivo especificado para o byte menos significativo do
registrador acumulador.
• A instrução TD (Testa dispositivo) verifica se o dispositivo
endereçado está pronto para enviar ou receber um byte.
• O resultado do teste é armazenado no campo código de
condição do registrador de status.
– <  Dispositivo pronto.
– =  Dispositivo ocupado.
• As instruções RD e WD são utilizadas para ler e escrever dados
do dispositivo endereçado.
10
Referências
• Leland L Beck.. “Desenvolvimento de software
básico”. 2ª ed. Rio de Janeiro: Campus, 1993.
525p.
11
Download