stringtranslate.com

ND812

El ND812 de 12 bits , producido por Nuclear Data, Inc. , era un miniordenador comercial desarrollado para el mercado de la informática científica. Nuclear Data lo introdujo en 1970 a un precio inferior a 10.000 dólares [1] (equivalente a unos 80.000 dólares en 2023 [2] ).

Descripción

La arquitectura tiene un bus de E/S programado simple, además de un canal DMA . El bus de E/S programado normalmente ejecuta periféricos de velocidad baja a media, como impresoras , teletipos , perforadoras de cintas de papel y lectores, mientras que DMA se utiliza para pantallas de tubos de rayos catódicos con un lápiz óptico , convertidores analógicos a digitales , Convertidores a analógico , unidades de cinta , unidades de disco .

El tamaño de la palabra , 12 bits, es lo suficientemente grande como para manejar números enteros sin signo de 0 a 4095, lo suficientemente ancho como para controlar maquinaria simple. Esto también es suficiente para manejar números con signo de -2048 a +2047. Esta es una precisión mayor que la de una regla de cálculo o la de la mayoría de las computadoras analógicas . Doce bits también podrían almacenar dos caracteres de seis bits (tenga en cuenta que seis bits no son suficientes para dos casos, a diferencia del conjunto de caracteres ASCII "más completo" ). El "Código ND" era una de esas codificaciones de caracteres de 6 bits que incluía letras mayúsculas, dígitos, un subconjunto de puntuación y algunos caracteres de control. [3] La configuración básica del ND812 tiene una memoria principal de 4.096 palabras de doce bits con un tiempo de ciclo de 2 microsegundos. La memoria se puede ampliar a 16 000 palabras en incrementos de 4 000 palabras. Los bits dentro de la palabra se numeran desde el bit más significativo (bit 11) hasta el bit menos significativo (bit 0).

El modelo de programación consta de cuatro registros de acumuladores: dos acumuladores principales, J y K, y dos subacumuladores, R y S. Se proporciona un rico conjunto de operaciones aritméticas y lógicas para los acumuladores principales y se proporcionan instrucciones para intercambiar datos entre los principales. y subacumuladores. La ejecución condicional se proporciona mediante instrucciones de "omisión". Se prueba una condición y la instrucción posterior se ejecuta o se omite según el resultado de la prueba. La instrucción posterior suele ser una instrucción de salto cuando se necesita más de una instrucción para el caso en que la prueba falla.

De entrada y salida

Las funciones de E/S incluyen interrupciones programables con 4 niveles de prioridad que pueden atrapar cualquier ubicación en las primeras palabras de 4K de memoria. Las E/S pueden transmitir 12 o 24 bits, recibir 12 o 24 bits o transmitir y recibir 12 bits en un ciclo. Las instrucciones de E/S incluyen 4 bits para crear pulsos para el control de periféricos. Los periféricos de E/S se pueden conectar mediante un conector de señal 76 que permite el acceso directo a la memoria por parte de los periféricos. DMA se logra mediante el "robo de ciclos" de la CPU para almacenar palabras directamente en el sistema de memoria central.

Nuclear Data proporcionó interfaces para los siguientes periféricos:

Instalaciones de programación

El ND812 no tenía sistema operativo, solo un panel frontal e interruptores de marcha y parada. La función de E/S permitía que los periféricos cargaran programas directamente en la memoria mientras la computadora estaba parada y no ejecutaba instrucciones. Otra opción era ingresar un programa de carga corto que se usaría para iniciar el programa deseado desde un periférico como un teletipo o un lector de cintas de papel. Dado que la memoria central no es volátil, apagar la computadora no resultó en pérdida de datos o programas.

Nuclear Data puso a disposición una serie de programas del sistema para su uso con el ND812: ensamblador BASC-12, editor de texto simbólico, intérprete NUTRAN y editor de texto simbólico basado en disco.

Ensamblador BASC-12

Se proporcionó un ensamblador llamado BASC-12. BASC-12 era un ensamblador de dos pasadas , con una tercera pasada opcional. El paso uno genera una tabla de símbolos, el paso dos produce una cinta de salida binaria y el paso tres proporciona una lista del programa.

A continuación se muestra un ejemplo del ensamblador del manual Principios de programación de la computadora ND812:

/Ingrese dos números desiguales "A" y "B", compare los dos números/y determinar cuál es más grande y generar una declaración literal/"A > B", o "B > A", según corresponda.//Ingresar y almacenar valores para A y B *200Iniciar, TIF/Borrar bandera TTY Entrada JPS/Obtener valor para A STJ A Entrada JPS/Obtener valor para B STJB//Determinar cuál de los dos valores es mayor LDJ A SBJ B /Restar B de A SIP J /Prueba para A positivo JMP BRAN /¡No! B > A LDJ ABCST /¡Sí! A > B SALTAR/Saltar la siguiente instrucciónBRAN, LDJ BACST//Configurar y generar expresión/ JPS FUERA DETENER INICIO DEL JMP//Área de trabajo o almacenamiento de datos/A, 0 /Constante AB, 0 /Constante BABCST, AB /Dirección del literal A > BBACST, BA /Dirección de B > A literalC260, 260 /Constante de zona ASCII//Rutina de entrada + franja de zona ASCII/Entrada, 0 /Punto de entrada TIS JMP.-1 LFR Entrada TCP/Echo en teletipo Términos de servicio JMP.-1 SBJ C260 ENTRADA JMP@//Rutina de salida - Expresión ASCII de salida/Fuera, 0 /Punto de entrada BUCLE STJ+1 LDJ C5 / Establecer número de caracteres constante CTR STJ// Bucle de datos de salida/Bucle, TWLDJ 0 tcp Términos de servicio JMP.-1 BUCLE ISZ+1 DSZ CTR /Prueba para todos los caracteres BUCLE JMP /No JMP@ Salida/RegresoC5, 5CTR, 0//Mensajes de salida/AB, 215 212 301/A 276 /> 302/BLicenciatura, 215 212 302/B 276 /> 301/A$ /Carácter final

NUTRAN

Se proporcionó NUTRAN, un lenguaje conversacional similar a FORTRAN . NUTRAN estaba destinado a la programación científica general. A continuación se muestra una muestra de NUTRAN:

1 IMPRIMIR 'INTRODUCIR VALORES PARA X E Y'2 ENTRADA X,Y3Z=X+Y4 IMPRIMIR 'X+Y= ',Z5 DETENER

A continuación se muestra un ejemplo de la naturaleza conversacional de NUTRAN. >es el símbolo del sistema y :es el símbolo de entrada.

>1.GVALORES DE ENTRADA PARA X E Y:3:2X+Y= .5000000E 1>

Formatos de instrucción

El conjunto de instrucciones consta de instrucciones de una y dos palabras. Los operandos pueden ser inmediatos, directos o indirectos. Los operandos inmediatos se codifican directamente en la instrucción como un valor literal. Los operandos directos se codifican como la dirección del operando. Los operandos indirectos codifican la dirección de la palabra que contiene un puntero al operando.

Instrucciones de una sola palabra

El bit de desplazamiento y signo permite que instrucciones de una sola palabra direccionen ubicaciones entre -63 y +63 de la ubicación de la instrucción. El bit 4 de la instrucción permite elegir entre direccionamiento indirecto y directo. Cuando el desplazamiento se utiliza como dirección indirecta, el contenido de la ubicación que está a +/-63 ubicaciones de la ubicación de la instrucción se utiliza como puntero al operando real.

Muchas instrucciones de una sola palabra no hacen referencia a la memoria y utilizan los bits 4 y 5 como parte de la especificación de la operación.

formato literal

Formato del grupo 1

Las instrucciones del grupo 1 realizan funciones aritméticas, lógicas, de intercambio y de desplazamiento en los registros del acumulador. Esto incluye instrucciones de multiplicación y división de hardware. El bit 4 se establece si el registro K se ve afectado. El bit 5 se establece si el registro J se ve afectado. Ambos bits están configurados y ambos registros se ven afectados.

Formato del grupo 2

Las instrucciones de formato del grupo 2 prueban las condiciones internas de los registros del acumulador J y K, manipulan los bits de estado de bandera y desbordamiento y proporcionan operaciones de complemento, incremento y negación en los registros del acumulador J y K. Los bits 9, 10 y 11 seleccionan la condición a probar.

Instrucciones de dos palabras

El bit 9, Cambiar campos, impide que la dirección absoluta haga referencia a un campo diferente al que contiene la instrucción. Cuando el bit 8 es 1, el acumulador superior K se usa con la instrucción; de lo contrario, se usa el acumulador inferior J. Cuando el bit 7 es 1, se utiliza el direccionamiento indirecto; en caso contrario, se utiliza el direccionamiento directo.

Estado Formato de palabra

El registro de estado no existe como registro distinto. Son los contenidos de varios grupos de indicadores los que se almacenan en el registro J cuando se desea. Los bits JPS e Int contienen el contenido del campo actual que se usaría durante una instrucción o interrupción JPS. Los bits de bandera y de desbordamiento se pueden configurar explícitamente a partir del contenido del registro J con la instrucción RFOV, pero los otros bits deben configurarse mediante instrucciones distintas.

Subrutinas

El procesador ND812 proporciona una pila simple para operandos, pero no utiliza este mecanismo para almacenar direcciones de retorno de subrutinas. En cambio, la dirección de retorno se almacena en el destino de la JPSinstrucción y luego el PCregistro se actualiza para señalar la ubicación siguiente a la dirección de retorno almacenada. Para regresar de la subrutina, un salto indirecto a través de la ubicación inicial de la subrutina restaura el contador del programa a la instrucción que sigue a la JPSinstrucción.

Conjunto de instrucciones

Instrucciones de referencia de memoria

Operaciones lógicas

Operaciones aritméticas con acumuladores.

Instrucciones de cambio/rotación

Operaciones de carga y cambio

Saltos condicionales

Limpiar, complementar, incrementar y establecer

Instrucciones de bits de desbordamiento

Instrucciones de bit de bandera

Incrementar y negar

instrucciones de interrupción

Instrucciones lógicas de corte de energía

Instrucciones literales

Instrucciones de registro INT y JPS

sistema de teletipo

Cinta de papel de alta velocidad

Sistema de cinta de casete magnético

Instrucciones varias

Referencias

  1. ^ "Datamación". dieciséis . 1970: 84. {{cite journal}}: Citar diario requiere |journal=( ayuda )
  2. ^ 1634-1699: McCusker, JJ (1997). ¿Cuánto es eso en dinero real? Un índice de precios histórico para su uso como deflactor de los valores monetarios en la economía de los Estados Unidos: Addenda et Corrigenda (PDF) . Sociedad Estadounidense de Anticuarios .1700–1799: McCusker, JJ (1992). ¿Cuánto es eso en dinero real? Un índice de precios histórico para su uso como deflactor de los valores monetarios en la economía de los Estados Unidos (PDF) . Sociedad Estadounidense de Anticuarios .1800-presente: Banco de la Reserva Federal de Minneapolis. "Índice de precios al consumidor (estimación) 1800–" . Consultado el 29 de febrero de 2024 .
  3. ^ "Principios de programación de la computadora ND812" (PDF) . 1971. pág. G-1 . Consultado el 11 de febrero de 2017 .

enlaces externos