Computadora instructiva simplificada


La computadora instructiva simplificada (abreviado SIC) es un sistema informático hipotético introducido en Software del sistema: una introducción a la programación de sistemas , de Leland Beck. Debido al hecho de que la mayoría de los microprocesadores modernos incluyen funciones sutiles y complejas con fines de eficiencia, puede ser difícil aprender a programar sistemas utilizando un sistema del mundo real. La computadora instructiva simplificada resuelve esto abstrayendo estos comportamientos complejos en favor de una arquitectura que es clara y accesible para aquellos que desean aprender a programar sistemas.

La máquina SIC tiene direccionamiento básico, almacenando la mayoría de las direcciones de memoria en formato de entero hexadecimal. Al igual que la mayoría de los sistemas informáticos modernos, la arquitectura SIC almacena todos los datos en binario y utiliza el complemento a dos para representar valores negativos a nivel de máquina. El almacenamiento de memoria en SIC consta de bytes de 8 bits y todas las direcciones de memoria en SIC son direcciones de bytes. Tres bytes consecutivos cualesquiera forman un valor de 'palabra' de 24 bits, direccionado por la ubicación del byte con el número más bajo en el valor de la palabra. Los valores numéricos se almacenan como valores de palabras y los valores de caracteres utilizan el ASCII de 8 bits.sistema. La máquina SIC no admite hardware de punto flotante y tiene como máximo 32.768 bytes de memoria. También hay una máquina más complicada construida sobre el SIC llamada Computadora de Instrucción Simplificada con Equipo Extra (SIC/XE). La expansión XE de SIC agrega un tipo de datos de punto flotante de 48 bits, un modo de direccionamiento de memoria adicional y memoria adicional (1 megabyte en lugar de 32,768 bytes) a la máquina original. Todo el código ensamblador de SIC es compatible hacia arriba con SIC/XE.

Las máquinas SIC tienen varios registros, cada uno de 24 bits de largo y con una representación tanto numérica como de caracteres:

Además de los registros SIC estándar, también hay cuatro registros de propósito general adicionales específicos para la máquina SIC/XE:

Estos cinco/nueve registros permiten que la máquina SIC o SIC/XE realice la mayoría de las tareas simples en un lenguaje ensamblador personalizado. En el libro Software del sistema, esto se usa con una serie teórica de códigos de operación para ayudar en la comprensión de los ensambladores y cargadores de enlaces necesarios para la ejecución del código en lenguaje ensamblador .

La computadora de instrucción simplificada tiene tres formatos de instrucción, y el complemento de equipo adicional incluye un cuarto. Los formatos de instrucción proporcionan un modelo para la gestión de memoria y datos. Cada formato tiene una representación diferente en la memoria: