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