IBM 1620

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Small IBM scientific computer released in 1959
IBM 1620 máquina de procesamiento de datos con IBM 1627 plotter, en exhibición en la Feria Mundial de Seattle de 1962

La IBM 1620 fue anunciada por IBM el 21 de octubre de 1959 y comercializada como una computadora científica económica. Después de una producción total de unas dos mil máquinas, se retiró el 19 de noviembre de 1970. Se utilizaron versiones modificadas de la 1620 como CPU de los sistemas de control de procesos industriales IBM 1710 e IBM 1720 (lo que la convierte en la primera computadora digital considerada lo suficientemente confiable). para el control de procesos en tiempo real de equipos de fábrica).

Al ser un decimal de longitud de palabra variable, a diferencia del binario puro de longitud de palabra fija, se convirtió en una primera computadora especialmente atractiva para aprender, y cientos de miles de estudiantes tuvieron sus primeras experiencias con una computadora en el IBM 1620..

Los tiempos de ciclo de la memoria central eran de 20 microsegundos para el Modelo I (anterior), 10 microsegundos para el Modelo II (alrededor de mil veces más lento que la memoria principal típica de una computadora en 2006). El Modelo II se introdujo en 1962.

Arquitectura

Memoria

El IBM 1620 era una "palabra" variable; computadora de longitud decimal (BCD) con una memoria de núcleo magnético que podría contener:

  • 20.000 dígitos decimales
  • 40.000 dígitos decimales (memoria básica más unidad de almacenamiento IBM 1623, modelo 1)
  • 60.000 dígitos decimales (memoria básica más unidad de almacenamiento IBM 1623, modelo 2).

Lo anterior estaba en el Modelo I. El Modelo II implementó la unidad de memoria de almacenamiento central IBM 1625, cuyo tiempo de ciclo de memoria se redujo a la mitad mediante el uso de núcleos más rápidos, en comparación con el Modelo I (unidad de memoria interna o 1623).): a 10 µs (es decir, la velocidad del ciclo se elevó a 100 kHz).

Si bien las direcciones de cinco dígitos de cualquiera de los modelos podrían haber direccionado 100 000 dígitos decimales, nunca se comercializó ninguna máquina con más de 60 000 dígitos decimales.

Acceso a memoria

Se accedió a la memoria con dos dígitos decimales al mismo tiempo (par de dígitos pares e impares para datos numéricos o un carácter alfamérico para datos de texto). Cada dígito decimal constaba de seis bits, compuestos por un bit de control de paridad impar C, un bit de retardo F y cuatro bits BCD para el valor del dígito en el siguiente formato:

 C F 8 4 2 1

El bit de retraso F tenía varios usos:

  • En el dígito menos significativo se fijó que indicara un número negativo (valor señalizado).
  • Se fijó para marcar el dígito más significativo de un número (wordmark).
  • En el dígito menos significativo de las direcciones de cinco dígitos se estableció para el tratamiento indirecto (una opción en el modelo I, estándar en el modelo 1620 II). Se podría utilizar la indirecta multinivel (puede incluso poner la máquina en un bucle de dirección indirecta infinito).
  • En el medio tres dígitos de direcciones de cinco dígitos (en el 1620 II) se establecieron para seleccionar uno de los siete registros índice.

Además de los valores de dígitos BCD válidos, había tres valores de dígitos especiales (estos no se podían usar en los cálculos):

 C F 8 4 2 1
1 0 1 0 – Marca de grabación (derecha la mayoría del final del registro, impresiones como un símbolo de doble daga, ‡)
1 0 0 – Numeric Blank (negro para el formato de salida de tarjetas perforadas)
1 1 1 1 – Marca del Grupo (la mayoría final de un grupo de registros para el disco I/O)

Las instrucciones eran de longitud fija (12 dígitos decimales), y consistían en un "código de operación" de dos dígitos, una "Dirección P" de cinco dígitos; (generalmente la dirección de destino) y una "Dirección Q" de cinco dígitos. (generalmente la dirección de origen o el valor inmediato de origen). Algunas instrucciones, como la instrucción B (rama), usaban solo la dirección P, y los ensambladores inteligentes posteriores incluyeron un "B7" instrucción que generó una instrucción de bifurcación de siete dígitos (código de operación, dirección P y un dígito adicional porque la siguiente instrucción tenía que comenzar en un dígito par).

Datos de punto fijo "palabras" podría tener cualquier tamaño, desde dos dígitos decimales hasta toda la memoria no utilizada para otros fines.

Datos de punto flotante "palabras" (usando la opción de punto flotante de hardware) podría tener cualquier tamaño desde 4 dígitos decimales hasta 102 dígitos decimales (2 a 100 dígitos para la mantisa y dos dígitos para el exponente).

El compilador Fortran II ofrecía acceso limitado a esta flexibilidad a través de una "Tarjeta de control de programa fuente" precediendo a la fuente de fortran en un formato fijo:

*ffkks

El * en la columna uno, ff el número de dígitos para la mantisa de los números de coma flotante (permitiendo del 02 al 28), kk el número de dígitos para números fijos -números de punto (permitiendo 04 a 10) y s es para especificar el tamaño de memoria de la computadora para ejecutar el código si no es la computadora actual: 2, 4 o 6 para memorias de 20,000 o 40,000 o 60.000 dígitos.

La máquina no tenía registros accesibles al programador: todas las operaciones eran de memoria a memoria (incluidos los registros de índice del 1620 II).

Véase Sección de dificultades arquitectónicas

Códigos de personaje y operación

La siguiente tabla enumera los caracteres del modo alfamérico (y los códigos de operación).

Tabla de caracteres y códigos de operaciones
BCD character Escribedor Impresora Tape Tarjeta Core MNEMONIC y operación Definición y notas
InFueraFueraInFueraInFueraInclusoOdd
Blank CC
inválido .. 1FADD Floating Add Función especial opcional.
inválido .. 2 FSUB Subtracto flotante Función especial opcional.
. . . . X0 8 21 X0 8 2112-3-8
12-1-2-8
12-3-8 21FMUL Floating Multiply Función especial opcional.
) ) ) ) X0C84 X0C8412-4-8 12-4-8 4
inválido .. 4 1Camisa flotante de FSL izquierda Función especial opcional.
inválido .. 42 TFL Transmit Floating Función especial opcional.
inválido .. 421BTFL Branch and Transmit Floating Función especial opcional.
inválido .. 8FSR Floating Shift Right Función especial opcional.
inválido .. 81IEDV Dividente flotante Función especial opcional.
+ + + + X0C X0C12 12 1 BTAM Branch and Transmit Address immediately (Modelo II)
inválido .. 11AM Añadir inmediatamente
inválido .. 12 SM
$ $ $ $ X C8 21 X C8 2111-3-8
11-1-2-8
11-3-8 121MM Multiply Inmediata
* * * * X84 X8411-4-8 11-4-8 14CM Compare Inmediatamente
inválido .. 14 1TDM Transmitir Digit Inmediato
inválido .. 142 TFM Transmit Field Inmediatamente
inválido .. 1421BTM Branch and Transmit immediately
inválido .. 1 8LDM Carga Dividend Inmediata Función especial opcional (Model I).
Estándar (Modelo II).
inválido .. 1 81DM Divide Inmediata Función especial opcional (Model I).
Estándar (Modelo II).
- - - - X X11 11 2 BTA Branch and Transmit Address (Modelo II)
/ / / / 0C10C10-1 0-1 2 1A Add
inválido .. 2 2 S Subtract
, , , , 0C8 210C8 210-3-8
0-1-2-8
0-3-8 2 21M Multiply
() () () () 0 840 840-4-8 0-4-8 2 4C Compare
inválido .. 2 4 1TD Transmit Digit
inválido .. 2 42 TF Transmit Field
inválido .. 2 421BT Branch and Transmit
inválido .. 2 8LD Load Dividend Función especial opcional (Model I).
Estándar (Modelo II).
inválido .. 2 81D Divide Función especial opcional (Model I).
Estándar (Modelo II).
inválido .. 21 TRNM Registro de transmisión No RM (Modelo II)
inválido .. 211TR Transmit Record
inválido .. 212 SF Set Flag
= = = = 8 218 213-8
1-2-8
3-8 2121CF Bandera clara
@ @ @ @ C84C844-8 4-8 214K Control (dispositivo I/O)
inválido .. 214 1DN Dump Numeric
inválido .. 2142 RN Read Numeric
inválido .. 21421RA Read Alphameric
inválido .. 21 8WN Write Numeric
inválido .. 21 81WA Write Alphameric
A A A A X01 X0112-1 12-1 41NOP No Operación
B B B B X02 X02 12-2 12-2 42 BB Branch Back
C C C C X0C21 X0C2112 a 3
12-1-2
12 a 3 421BD Branch On Digit
D D D D X04 X0412-4 12-4 44BNF Branch No Flag
E E E E X0C 4 1 X0C 4 112-5
12-1-4
12-5 44 1BNR Branch No Record Mark
F F F F X0C 42 X0C 42 12 a 6
12-2-4
12 a 6 442 BI Branch Indicator
UMK Unmask
MK Mask
Función de interrupción 1710. Modificadores en el campo Q.
G G G G X0421 X042112-7
12-1-2-4
12-7 4421BNI Branch No Indicator
BO Branch Out
BOLD Branch Out and Load
Función de interrupción 1710. Modificadores en el campo Q.
H H H H X0 8 X0 812-8 12-8 4 8H Halt
I I I I X0C81 X0C8112 a 9
12-1-8
12 a 9 4 81B Branch
-0 N/A - - N/A X11-0 11-0 4 1
J
-1
J J J X C1 X C111-1 11-1 4 11
K
-2
K K K X C2 X C2 11-2 11-2 4 12
L
-3
L L L X21 X2111 a 3
11-1-2
11 a 3 4 121
M
-4
M M M X C 4 X C 411-4 11-4 4 14
N
-5
N N N X4 1 X4 111-5
11-1-4
11-5 4 14 1BNG Branch No Group Mark Función especial opcional.
O
-6
O O O X42 X42 11-6
11-2-4
11-6 4 142
P
-7
P P P X C 421 X C 42111-7
11-1-2-4
11-7 4 1421
Q
-8
Q Q Q X C8 X C811-8 11-8 4 1 8Espera a Interrupt Función de interrupción 1710.
R
-9
R R R X81 X8111-9
11-1-8
11-9 4 1 81
inválido .. 42 BS Branch and Select (Modelo II)
inválido .. 42 1BX Branch and Modify Index Register Función especial opcional (Modelo II).
S S S S 0C2 0C2 0-2 0-2 42 2 BXM Branch y Modificar Índice Registro Inmediato Función especial opcional (Modelo II).
T T T T 0210210-3
0-1-2
0-3 42 21BCX Rama condicional y Modificar el Registro de Índice Función especial opcional (Modelo II).
U U U U 0C 40C 40-4 0-4 42 4BCXM Rama condicional y Modificar Índice Registro Inmediato Función especial opcional (Modelo II).
V V V V 04 104 10-5
0-1-4
0-5 42 4 1BLX Branch and Load Index Register Función especial opcional (Modelo II).
W W W W 042 042 0-6
0-2-4
0-6 42 42 BLXM Subdivisión Registro Indice de carga Inmediata Función especial opcional (Modelo II).
X X X X 0C 4210C 4210-7
0-1-2-4
0-7 42 421BSX Branch and Store Index Register Función especial opcional (Modelo II).
Y Y Y Y 0C80C80-8 0-8 42 8
Z Z Z Z 0 810 810-9
0-1-8
0-9 42 81
0 0 0 0 0 0 0
12-0
0 421 Dirección de movimiento Función especial opcional (Modelo II).
1 1 1 1 111 1 4211MF Move Flag Función especial opcional (Model I).
Estándar (Modelo II).
2 2 2 2 2 2 2 2 4212 Transmisión de banda numérica Función especial opcional (Model I).
Estándar (Modelo II).
3 3 3 3 C21C213 3 42121TNF Transmitir Numeric Fill Función especial opcional (Model I).
Estándar (Modelo II).
4 4 4 4 4 44 4 4214
5 5 5 5 C 4 1C 4 15 5 4214 1
6 6 6 6 C 42 C 42 6 6 42142
7 7 7 7 421 4217 7 421421
8 8 8 8 888 8 421 8
9 9 9 9 C81C819 9 421 81
inválido .. 84SA Select Address
SACO Select Address, Contact Operate
SAOS Select Analog Output Signal
Función 1710. Modificadores en campo Q
inválido .. 842 SLTA Seleccione TAS
SLAR Select ADC Register
SLTC Seleccione el reloj en tiempo real
SLIC Seleccionar canal de entrada
SLCB Seleccionar bloque de contacto
SLME Seleccionar entrada manual
Función 1710. Modificadores en campo Q
inválido .. 8F 42 RNIC Leer Numeric Canal de entrada Función 1710. Modificadores en campo Q
inválido .. 8F 421RAIC Read Alphameric Canal de entrada Función 1710. Modificadores en campo Q
inválido .. 8 8WNOC Canal de salida numérico Función 1710. Modificadores en campo Q
inválido .. 8 81WAOC Write Alphameric Output Channel Función 1710. Modificadores en campo Q
inválido .. 81 BBT Branch on Bit Función especial opcional (Modelo II).
inválido .. 811BMK Branch on Mask Función especial opcional (Modelo II).
inválido .. 812 ORF ORF OR to Field Función especial opcional (Modelo II).
inválido .. 8121ANDF AND to Field Función especial opcional (Modelo II).
inválido .. 814CPLF Campo complementario Octal Función especial opcional (Modelo II).
inválido .. 814 1EORF Exclusivo OR al Campo Función especial opcional (Modelo II).
inválido .. 8142 OTD Octal a Conversión Decimal Función especial opcional (Modelo II).
inválido .. 81421DTO Decimal a Octal Conversion Función especial opcional (Modelo II).
RM . (Parar) (Parar) 0 8 2 E
(Parar)
0-2-8 0-2-8 8 2 Marca de grabación
MM IBM 1401 Group Mark.GIF(Parar) (Parar) 0 8421E
(Parar)
0-7-8 1-2-4-8 8421Group Mark

La tabla abajo lista caracteres de modo numérico.

Cara Escribedor Impresora Tape Tarjeta Core Definición y notas
InFueraFueraBombaInFueraInFuera
Blank 0 0 0 C0 0 C
0 0 0 0 0 0 0 0
12-0
12
0 C
1 1 1 1 1 111
12-1
1 1
2 2 2 2 2 2 2 2
12-1
2 2
3 3 3 3 3 C21C213
12 a 3
1-2
12-1-2
3 C21
4 4 4 4 4 4 44
12-4
4 4
5 5 5 5 5 C 4 1C 4 15
12-5
1-4
12-1-4
5 C4 1
6 6 6 6 6 C 42 C 42 6
12 a 6
2-4
12-2-4
6 C42
7 7 7 7 7 421 4217
12-7
1-2-4
12-1-2-4
7 421
8 8 8 8 8 888
12-8
8 8
9 9 9 9 9 C81C819
12 a 9
1-8
12-1-8
9 C 81
-0 00- - X
X0C
X11-0 11-0 F
-1 11J J X C1 X C111-1 11-1 CF1
-2 22K K X C2 X C2 11-2 11-2 CF2
-3 33L L X21 X2111 a 3
11-1-2
11 a 3 F21
-4 44M M X C 4 X C 411-4 11-4 CF 4
-5 55N N X4 1 X4 111-5
11-1-4
11-5 F 4 1
-6 66O O X42 X42 11-6
11-2-4
11-6 F 42
-7 77P P X C 421 X C 42111-7
11-1-2-4
11-7 CF 421
-8 88Q Q X C8 X C811-8 11-8 CF8
-9 99R R X81 X8111-9
11-1-8
11-9 F81
RM . (Para, WN)
.
(DN)
(Parar) . 0 8 2 E
(Para, WN)
0 8 2
(DN)
0-2-8 0-2-8 C 8 2 Marca de grabación
En la cinta un WN golpea EOL en su lugar!
bandera RM .(Para, WN)
.
(DN)
(Parar) W X8 2 E
(Para, WN)
X8 2
(DN)
11-2-8
12-2-8
11-2-8 F8 2 Marca de grabación
En la cinta un WN golpea EOL en su lugar!
EOL . (Para, WN)
.
(DN)
(Parar) . EE
(WN)
0 8 2
(DN)
0-2-8 0-2-8 C 8 2 Fin de la línea Sólo cinta.
Nota: ¡En memoria es una marca de registro!
MM IBM 1401 Group Mark.GIF(Para, WN)
IBM 1401 Group Mark.GIF
(DN)
(Parar) G 0 84210 84210-7-8 0-7-8 C 8421Group Mark
bandera GM IBM 1401 Group Mark.GIF(Para, WN)
IBM 1401 Group Mark.GIF
(DN)
(Parar) X X8421 X842112-7-8 12-7-8 F8421Flagged Group Mark
NB @ @ @ C84C844-8 C 84Número Blank
bandera NB @@* X84 X8411-4-8 F84Blank Numeric Flagged

Carácter no válido

El Modelo I usó el carácter cirílico Ж (pronunciado zh) en la máquina de escribir como un carácter inválido de uso general con paridad correcta (la paridad inválida se indica con una tachadura "–"). En algunas instalaciones de 1620 se le llamó SMERSH, como se usa en las novelas de James Bond que se hicieron populares a fines de la década de 1960. El Modelo II usó un nuevo carácter ❚ (llamado "almohada") como un carácter inválido de uso general con la paridad correcta.

Dificultades arquitectónicas

Aunque la arquitectura del IBM 1620 fue muy popular en la comunidad científica y de ingeniería, el científico informático Edsger Dijkstra señaló varias fallas en su diseño en EWD37, "Una revisión del sistema de procesamiento de datos IBM 1620" 34;. Entre estos se encuentran que las instrucciones Branch y Transmit de la máquina junto con Branch Back permiten un gran total de un nivel de llamada de subrutina anidada, lo que obliga al programador de cualquier código con más de un nivel a decidir donde el uso de esta "característica" sería lo más efectivo. También mostró cómo el soporte de lectura de cintas de papel de la máquina no podía leer correctamente las cintas que contenían marcas de registro, ya que las marcas de registro se utilizan para terminar los caracteres leídos en el almacenamiento. Un efecto de esto es que el 1620 no puede duplicar una cinta con marcas de grabación de una manera sencilla: cuando se encuentra la marca de grabación, la instrucción de perforación perfora un carácter EOL y termina. Sin embargo, esto no fue un problema paralizante:

  • los datos pueden ser copiados al final de la memoria y perforado literal con una instrucción DN en lugar de WN
  • Las cintas se duplicaban generalmente fuera de línea.

La mayoría de las instalaciones de 1620 usaban la entrada/salida de tarjeta perforada más conveniente, en lugar de cinta de papel.

El sucesor del 1620, el IBM 1130, se basó en una arquitectura binaria de 16 bits totalmente diferente. (La línea 1130 retuvo un periférico 1620, el trazador de tambor IBM 1627).

Software

Tarjeta SPS IBM 1620

IBM suministró el siguiente software para el 1620:

  • 1620 Sistema de Programación Simbólica (SSP) (lengua de la Asamblea)
  • FORTRAN
  • FORTRAN II – requiere 40.000 dígitos o más de memoria

  • GOTRAN – versión simplificada e interpretada de FORTRAN para "carga y marcha" operación
  • Monitor I y Monitor II – sistemas operativos de disco.

Los monitores proporcionaron versiones basadas en disco de 1620 SPS IId, FORTRAN IId, así como un DUP (Programa de utilidad de disco). Ambos sistemas Monitor requerían 20.000 dígitos o más de memoria y una o más unidades de disco 1311.

Existe una colección de manuales relacionados con IBM 1620 en formato PDF en bitsavers.

1620 aritmética no decimal

Dado que el Modelo I usaba tablas de búsqueda en memoria para sumas y restas, se podía realizar aritmética de números sin signo de bases limitadas (5 a 9) cambiando el contenido de estas tablas, pero teniendo en cuenta que el el hardware incluía un complemento de diez para restar (y sumar números con signos opuestos).

Para hacer sumas y restas completamente firmadas en las bases 2 a 4, se requiere una comprensión detallada del hardware para crear un "doblado" tabla de suma que falsificaría el complementador y llevaría la lógica.

Además, la tabla de sumar tendría que volver a cargarse para el funcionamiento normal en base 10 cada vez que se requirieran cálculos de direcciones en el programa, y luego volver a cargarse para la base alternativa. Esto hizo que el "truco" algo menos que útil para cualquier aplicación práctica.

Dado que el Modelo II tenía la suma y la resta completamente implementadas en el hardware, cambiar la tabla en la memoria no podía usarse como un "truco" para cambiar las bases aritméticas. Sin embargo, una característica especial opcional en hardware para entrada/salida octal, operaciones lógicas, y estaba disponible la conversión de base a/desde decimal.

Aunque no se admitían bases que no fueran 8 y 10, esto hizo que el Modelo II fuera muy práctico para aplicaciones que necesitaban manipular datos formateados en octal por otras computadoras (por ejemplo, IBM 7090).

Modelo I

Dibujo mostrando el diseño interno de "puertas"

El IBM 1620 Modelo I (comúnmente llamado "1620" desde 1959 hasta la introducción del Modelo II en 1962) fue el original. Se produjo de la manera más económica posible, para mantener el precio bajo.

  • carecía de hardware convencional ALU: la aritmética fue hecha por la búsqueda de la tabla de memoria. La adición y la resta utilizaron una tabla de 100 dígitos (en la dirección 00300..00399). La multiplicación utilizó una mesa de 200 dígitos (dirección 00100..00299). La máquina básica utiliza subroutinas de software para división, aunque el hardware de división opcional se puede instalar que utiliza un algoritmo de resta repetido. Las instrucciones aritméticas de punto flotante fueron una opción disponible (si se instaló la opción de división).
  • Los primeros 20.000 dígitos decimales de memoria de núcleo magnético fueron internos a la propia CPU (que redujo los requerimientos de espacio de piso del sistema básico). La expansión a 40.000 o 60.000 dígitos decimales requiere la adición de una unidad de memoria IBM 1623. El tiempo del ciclo de memoria era de 20 μs (es decir, la velocidad de memoria era de 50 kHz = 1/20 de un MHz). A Memory Address Register Storage (MARS) La memoria básica leída, clara o operación de escritura tomó 2 μs y cada operación de escritura fue automáticamente (pero no necesariamente inmediatamente) precedida por una operación leída o clara del mismo "regist(s)" durante el ciclo de memoria de 20 μs.
  • La velocidad del reloj de procesador central fue de 1 MHz, que fue dividida por 20 por un contador de anillo de 10 posiciones para proporcionar el tiempo del sistema y las señales de control. Las instrucciones tomaron ocho ciclos de memoria (160 μs) para buscar y un número variable de ciclos de memoria para ejecutar. Direccionamiento indirecto agregó cuatro ciclos de memoria (80 μs) para cada nivel de indirectidad.
  • Pesó alrededor de 1,210 libras (550 kg).

Modelo II

El IBM 1620 Modelo II (comúnmente llamado simplemente Modelo II) fue una implementación muy mejorada, en comparación con el Modelo I original. El Modelo II se introdujo en 1962.

  • Tenía hardware básico de ALU para la adición y la resta, pero la multiplicación todavía se hizo mediante la búsqueda de tabla de memoria en núcleo, utilizando una tabla de 200 dígitos (en la dirección 00100..00299). Las direcciones de memoria en la dirección 00300..00399 fueron liberadas por la sustitución de la tabla de adición con hardware, lo que dio lugar a almacenamiento de dos "bandas" seleccionables de siete registros índice de cinco dígitos.
  • En lugar de ser una opción disponible, como en el Modelo I, se construyó el hardware de división utilizando un algoritmo de resta repetido. La aritmética de punto flotante era una opción disponible, al igual que la entrada octal, las operaciones lógicas y la conversión de base a/desde instrucciones decimales.
  • Toda la memoria central estaba en la unidad de memoria IBM 1625. El tiempo del ciclo de memoria se redujo a la mitad en comparación con el modelo I (unidad de memoria interna o 1623), a 10 μs (es decir, la velocidad del ciclo se levantó a 100 kHz) utilizando núcleos más rápidos. Una dirección de memoria Registro Almacenamiento (MARS) memoria básica leída, clara o operación de escritura tomó 1,5 μs y cada operación de escritura fue automáticamente (pero no necesariamente inmediatamente) precedida por una operación leída o clara del mismo "register(s)" durante el ciclo de memoria de 10 μs.
  • La velocidad del reloj del procesador también se duplicó, a 2 MHz, que todavía estaba dividido por 20 por un contador de 10 posiciones para proporcionar el tiempo del sistema / señales de control. El mecanismo de embrague/ejecuto fue completamente rediseñado, optimizando el tiempo y permitiendo embragues parciales cuando los campos P o Q no eran necesarios. Las instrucciones tomaron uno, cuatro o seis ciclos de memoria (10 μs, 40 μs o 60 μs) para buscar y un número variable de ciclos de memoria para ejecutar. Direccionamiento indirecto agregó tres ciclos de memoria (30 μs) para cada nivel de indirectidad. Direccionamiento indexado agregó cinco ciclos de memoria (50 μs) para cada nivel de indexación. El tratamiento indirecto e indexado podría combinarse en cualquier nivel de indirectidad o indexación.

Consolas modelos I y II

Mientras que la Consola inferior de los sistemas IBM 1620 Modelo 1 y Modelo 2 tenían las mismas luces e interruptores, la Consola superior del par era parcialmente diferente.

Consola superior

Modelo I (Consola de cobre) #Lamps Modelo II (Consola de cobre) #Lamps
Instrucción y ejecución del ciclo 60 Puertas de control 60
Puertas de control 35 Input-Output 35
Input-Output 15 Ciclo de Inst & Exec 15 -

El equilibrio de la Consola superior fue el mismo en ambos modelos:

  • Registro de Operación – 25 lámparas
  • Memory Buffer Register – 30 lámparas
  • Memory Address Register – 25 lámparas
  • Memory Address Register Display Selector – Rotary switch, 12 posiciones

Consola inferior

  • Disparo de emergencia – Interruptor de arranque
  • Verificar Lámparas de estado de la condición – 15 lámparas & 5 interruptores de toggle
  • Interruptores del programa – 4 interruptores de conmutación
  • Lámparas de operador de consola – 13 luces, 1 interruptor de potencia y 12 botones

Máquina de escribir consola

La máquina de escribir de consola Modelo I era un Modelo B1 modificado, interconectado por un conjunto de relés, y escribía a solo 10 caracteres por segundo.

Había un conjunto de instrucciones que escribía en la máquina de escribir o leía de ella. Las instrucciones generales RN (leer numérico) y WN (escribir numérico) tenían mnemónicos en lenguaje ensamblador que proporcionaban el "dispositivo" código en el segundo campo de dirección, y el código de control en el dígito de orden inferior del segundo campo de dirección.

  • WNTY: Writo Numeric TYpewriter: cada ubicación de memoria contenía un personaje de 6 bits en el rango de 000000 a 001001; con esta instrucción, cada ubicación de memoria se hizo como uno de los caracteres "0" a través de "9".
  • WATY: Writo Alphanumeric TYpewriter: cada par de ubicaciones de memoria contenía dos dígitos de 6 bits que aparecían en la máquina de escribir como uno de los 64 caracteres que podían aparecer.
  • RNTY: Read Numeric TYpewriter: leer un valor numérico del teclado de máquina de escribir
  • RATY: Read Alphanumeric TYpewriter: leer un personaje del teclado y almacenar como un personaje alfanumérico de dos dígitos
  • TBTY: TaB TYPewriter. Las pestañas tenían que ser fijadas manualmente, por lo que esta instrucción raramente se utilizó.
  • RCTY: Return CLlegada TYPewriter: Se usó la máquina de escribir para hacer lo que ahora llamamos una secuencia CR/LF.

Para simplificar la entrada y la salida, había dos instrucciones:

  • TNS: TRunsmit Numeric Sviaje: Convierte una representación alfanumérica de dos dígitos de "0" a "9" a una representación de un solo dígito
  • TNF: TRunsmit Numeric Fenfermo: Convierte una representación de dígitos de un solo dígitos en una secuencia a secuencia alfanumérica de dos dígitos que representaba "0" a través de "9"

El Modelo II usaba una máquina de escribir Selectric modificada, que podía escribir a 15,5 cps, una mejora del 55 %.

Periféricos

IBM 1627 batería plotter

Los periféricos disponibles eran:

  • IBM 1621 – Lector de cinta de papel
  • IBM 1622 – Lector de tarjetas Punch/punch
  • IBM 1624 – Puñeta de cinta de papel (en el interior del 1621 en un estante)
  • IBM 1626 – Controlador de Plotter
  • IBM 1627 – Plotter
  • IBM 1311 – Disk drive: Model 3 master drive control up to 3–Model 2 slave drives.
  • IBM 1443 – Impresora, barra tipo vuelo
  • IBM 1405 – Disk Drive disponible como RPQ (prestación del precio de la solicitud)

La "salida" estándar El mecanismo de un programa era perforar tarjetas, que era más rápido que usar la máquina de escribir. Luego, estas tarjetas perforadas se alimentaron a través de una calculadora mecánica IBM 407 que se podía programar para imprimir dos tarjetas, y así poder usar las columnas de impresión adicionales disponibles en el 407. Toda la salida fue sincrónica y el procesador se detuvo mientras el dispositivo de E/S produjo la salida, por lo que la salida de la máquina de escribir podría dominar completamente el tiempo de ejecución del programa.

Una opción de salida más rápida, la impresora IBM 1443 se presentó el 6 de mayo de 1963 y su capacidad de 150 a 600 líneas por minuto estaba disponible para usar con cualquier modelo de la 1620.

Podría imprimir 120 o 144 columnas. Se fijó el ancho de los caracteres, por lo que fue el tamaño del papel el que cambió; la impresora imprimió 10 caracteres por pulgada, por lo que una impresora podría imprimir un máximo de 12 pulgadas o 14,4 pulgadas de texto. Además, la impresora tenía un búfer, por lo que se redujo el retraso de E/S para el procesador. Sin embargo, la instrucción de impresión se bloquearía si la línea no se hubiera completado.

Procedimientos operativos

El "sistema operativo" para la computadora constituía el operador humano, que usaba los controles en la consola de la computadora, que consistía en un panel frontal y una máquina de escribir, para cargar programas desde los medios de almacenamiento masivo disponibles, como barajas de tarjetas perforadas o rollos de cinta de papel que se guardaban en gabinetes cerca. Más tarde, el dispositivo de almacenamiento en disco modelo 1311 conectado a la computadora permitió una reducción en la búsqueda y transporte de barajas de cartas o rollos de cinta de papel, y un simple 'Monitor' El sistema operativo podría cargarse para ayudar a seleccionar qué cargar desde el disco.

Un preliminar estándar era limpiar la memoria de la computadora de cualquier desecho del usuario anterior; al ser núcleos magnéticos, la memoria conservaba su último estado incluso si se apagaba la alimentación. Esto se efectuó utilizando las instalaciones de la consola para cargar un programa de computadora simple escribiendo su código de máquina en la máquina de escribir de la consola, ejecutándolo y deteniéndolo. Esto no fue un desafío ya que solo se necesitaba una instrucción, como 160001000000, cargada en la dirección cero y siguientes. Esto significaba transmitir campo inmediato (el 16: códigos de operación de dos dígitos) a la dirección 00010, el campo constante inmediato que tiene el valor 00000 (campos de operandos de cinco dígitos, el segundo desde la dirección 11 hasta la 7), disminuyendo las direcciones de origen y destino hasta que un dígito con una "bandera" fue copiado. Este era el medio normal de código de máquina para copiar una constante de hasta cinco dígitos. La cadena de dígitos se direccionó en su extremo de orden inferior y se extendió a través de direcciones inferiores hasta que un dígito con una bandera marcó su final. Si no fuera por esta instrucción, nunca se encontraría ningún indicador porque los dígitos de origen se habían sobrescrito poco antes con dígitos que carecían de un indicador. Por lo tanto, la operación giraba alrededor de la memoria (incluso sobrescribiéndose a sí misma) llenándola con ceros hasta que el operador se cansaba de ver las luces indicadoras en movimiento y presionaba el botón Parada instantánea - Ejecución de ciclo único. Cada módulo de memoria de 20.000 dígitos tardó poco menos de un segundo en borrarse. En el 1620 II, esta instrucción NO funcionaría (debido a ciertas optimizaciones en la implementación). En cambio, había un botón en la consola llamado Modificar que, cuando se presionaba junto con el botón Comprobar reinicio, cuando la computadora estaba en modo manual, configuraba la computadora en un modo que borraría toda la memoria en una décima de segundo, independientemente de la cantidad de memoria que tuviera; cuando presionó Iniciar. También se detuvo automáticamente cuando se borró la memoria, en lugar de requerir que el operador lo detuviera.

Además de escribir el código de la máquina en la consola, se puede cargar un programa mediante el lector de cintas de papel, el lector de tarjetas o cualquier unidad de disco. La carga desde cinta o disco requería primero escribir un "bootstrap" rutina en la máquina de escribir de la consola.

El lector de tarjetas facilitó las cosas porque tenía un botón Cargar especial para indicar que la primera tarjeta debía leerse en la memoria de la computadora (comenzando en la dirección 00000) y ejecutarse (en lugar de simplemente iniciar el lector de tarjetas, que luego espera los comandos de la computadora para leer las tarjetas): este es el "bootstrap" proceso que ingresa a la computadora solo el código suficiente para leer el resto del código (del lector de tarjetas, del disco o...) que constituye el cargador que leerá y ejecutará el programa deseado.

Los programas se prepararon con anticipación, fuera de línea, en cinta de papel o tarjetas perforadas. Pero, por lo general, a los programadores se les permitía ejecutar los programas personalmente, con las manos, en lugar de enviarlos a los operadores, como era el caso de las computadoras centrales en ese momento. Y la máquina de escribir de la consola permitía ingresar datos y obtener resultados de manera interactiva, en lugar de simplemente obtener el resultado impreso normal de una ejecución por lotes a ciegas en un conjunto de datos preempaquetados. Además, había cuatro interruptores de programa en la consola cuyo estado un programa en ejecución podía probar y así tener su comportamiento dirigido por su usuario. El operador de la computadora también podría detener un programa en ejecución (o puede llegar a una detención programada deliberadamente) y luego investigar o modificar el contenido de la memoria: al estar basado en decimales, esto fue bastante fácil; incluso los números de punto flotante se podían leer de un vistazo. Entonces se podría reanudar la ejecución, desde cualquier punto deseado. Aparte de la depuración, la programación científica suele ser exploratoria, en contraste con el procesamiento de datos comercial donde el mismo trabajo se repite en un horario regular.

Consola

IBM 1620 Funtor de registro de la dirección de memoria

Los elementos más importantes de la consola del 1620 eran un par de botones etiquetados como Insertar & Release, y la máquina de escribir de la consola.

  • Insertar – Presionar esta llave con el ordenador Manual modo restablecer el contador del programa (en la memoria del núcleo MARS) a cero, cambió el ordenador en Automático y Insertar Modos, y simularon la ejecución de un número de lectura de la máquina de escribir a dirección cero (desbloqueado el teclado de máquina de escribir, cambió la máquina de escribir en modo numérico). Nota: a diferencia de un número de lectura real de la máquina de escribir, Insertar El modo obligaría a un Liberación después de 100 dígitos habían sido escritos para evitar la sobreescritura de las tablas aritméticas.
  • Lanzamiento – Presionando esta llave mientras hacía una lectura de la máquina de escribir terminó la lectura, cambió el ordenador en Manual modo, y bloquea el teclado de máquina de escribir.

La máquina de escribir se utiliza para la entrada/salida del operador, tanto como el control de la consola principal de la computadora como para la entrada/salida controlada por programa. Los modelos posteriores de la máquina de escribir tenían una tecla especial marcada R-S que combinaba las funciones de la consola Release & Botones Inicio (esto se consideraría equivalente a una tecla Intro en un teclado moderno). Nota: varias teclas de la máquina de escribir no generaban caracteres de entrada, estos incluían Tab y Return (los juegos de caracteres BCD alfaméricos y numéricos de la década de 1620 carecían de códigos de caracteres para estas teclas).

Los siguientes elementos más importantes de la consola eran los botones etiquetados como Iniciar, Detener-SIE e Detener instantáneamente-SCE.

  • Inicio – Presionar esta llave con el ordenador Manual el modo cambió el ordenador Automático Modo (causando al ordenador para comenzar a ejecutar en la dirección en el mostrador del programa).
  • Stop-SIE – Presionar esta llave con el ordenador en Automático el modo cambió el ordenador Manual modo cuando la instrucción de ejecución actual completa. Presionando esta llave con el ordenador Manual el modo cambió el ordenador Automático modo para una instrucción.
  • Instant Stop-SCE – Presionar esta llave con el ordenador en Automático el modo cambió el ordenador Automático/Manual modo al final del ciclo de memoria actual. Presionando esta llave con el ordenador Manual o Automático/Manual el modo cambió el ordenador Automático/Manual modo y ejecutó un ciclo de memoria.

Para la depuración del programa había botones etiquetados como Guardar & Mostrar MAR.

  • Guardar – Presionar esta llave con el ordenador en Manual modo guardó el contador del programa en otro registro en la memoria central MARS y activado Guardar Modo.

Cuando se ejecutaba una instrucción Branch Back en modo Guardar, copiaba el valor guardado de vuelta al contador del programa (en lugar de copiar el registro de dirección de retorno como lo hacía normalmente) y desactivaba Guardar modo .

Esto se usó durante la depuración para recordar dónde se había detenido el programa para permitir que se reanudara después de que terminaran las instrucciones de depuración que el operador había escrito en la máquina de escribir. Nota: el registro MARS utilizado para guardar el contador del programa también fue utilizado por la instrucción Multiplicar, por lo que esta instrucción y el modo Guardar eran incompatibles. Sin embargo, no había necesidad de usar multiplicar en el código de depuración, por lo que no se consideró un problema.

  • Mostrar MAR – Presionar esta llave con el ordenador en Manual El modo mostró el registro MARS seleccionado y el contenido de la memoria en esa dirección en las lámparas de consola.
Procedimiento "Breakpoint" Notas
Prensa Stop-SIEPara el ordenador al final de la instrucción actual.
Prensa GuardarGuardar la dirección para reanudar la ejecución en.
Prensa InsertarDesbloquea el teclado de máquina de escribir y cambia a modo numérico.
Tipo 35xxxxx0010036xxxx0010042
xxxxxx es la dirección que planea establecer el punto de ruptura.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoComiencen la ejecución. Permitir la instrucción de 12 dígitos para imprimir.
Prensa LiberaciónDetiene el Número de Bomba.
Prensa ComienzoComiencen la ejecución.
Tipo 48 Reemplazar el opcode de la instrucción para "romper" con un Halt opcode.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoReanuda la ejecución. Espera hasta que el ordenador se detenga en el "romppoint".
Prensa InsertarDesbloquea el teclado de máquina de escribir y cambia a modo numérico.
Tipo 36xxxxxx0010049xxxxxxxx
xxxxxx es la dirección en la que previamente fijaste el punto de ruptura, ahora vas a limpiarlo.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoComiencen la ejecución.
Tipo o oo es el opcode de 2 dígitos la instrucción original de 12 dígitos previamente impreso.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa Stop-SIELa máquina ya está lista para reanudar la ejecución desde la ubicación del "romperpoint" (ahora despejado). Usted puede realizar cualquier acción requerida de depuración ahora, antes de continuar.

Toda la memoria principal podría borrarse de la consola ingresando y ejecutando una instrucción de transferencia de dirección a dirección +1, esto sobrescribiría cualquier marca de palabra, que normalmente detendría una instrucción de transferencia y terminaría al final de la memoria. Después de un momento, al presionar Detener se detendría la instrucción de transferencia y se borraría la memoria.

Lector/perforador de cinta de papel IBM 1621/1624

El IBM 1621 Paper Tape Reader podría leer un máximo de 150 caracteres por segundo;
El IBM 1624 Paper Tape Punch podría generar un máximo de 15 caracteres /segundo.

Ambas unidades:

  • podría manejar Cinta de papel de ocho canales
  • realizado Comprobación automática para garantizar la precisión
  • alojado tanto información numérica como alfabética en codificación de caracteres individuales.

El 1621 Tape Reader y el 1624 Tape Punch incluyen controles para:

  • Interruptor de potencia – Si "en" el lector de unidad está encendido cuando la CPU está encendido.
  • Reel-Strip switch – Este interruptor selecciona si se usan los rodillos o tiras de cinta de papel.
  • Llave de potencia de carrete – Aplica potencia al suministro y la toma Carretes para posicionar la cinta para leer y coloca al lector en estado listo.
  • Llave no procesal – Cinta Feeds hasta que el lector esté vacío y saque al lector del estado listo.
Procedimiento de arranque Notas
Prensa InsertarDesbloquea el teclado de máquina de escribir y cambia a modo numérico.
Tipo 36xxxxx0030049yyyy
xxxxx es la dirección para cargar la cinta.
Yyyy es la dirección para comenzar la ejecución.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoComiencen la ejecución.

Lector/perforadora de tarjetas IBM 1622

El perforador/lector de tarjetas IBM 1622 podría:

  • leer un máximo de 250 tarjetas por minuto
  • golpear un máximo de 125 tarjetas/minuto.

Los controles del 1622 se dividieron en tres grupos: 3 interruptores basculantes de control de golpe, 6 botones y 2 interruptores basculantes de control de lectores.

Interruptores de balancín:

  • Punch Off/Punch On – Este rockero apagado o encendido el mecanismo de golpe.
  • Select No-Stop/Select Stop – Este rocker seleccionó si las tarjetas mal puntiagudas (depuesto en el apilador de error de golpe selecto en lugar del apilador de golpe normal) permiten que el golpe continúe o causó una parada de verificación.
  • Ejecución de no proceso – Este rockero con la tolva de puñetazo vacío, "salir" cartas restantes del mecanismo de golpe.

Botones:

  • Puñeta de inicio – Presionando esta llave con el gatillo y encendido, comenzó el golpe. El ordenador ahora podría golpear tarjetas.
  • Dejar de golpear – Presionar esta llave con el golpe activo, paró el golpe.
  • Reiniciar – Presionar esta clave reiniciar todas las condiciones de "prueba de terror" en el lector y golpear.
  • Carga – Presionar esta llave con el lector ocio y encendido y el ordenador en Manual El modo comenzó el lector, reajustó el contador del programa (en el núcleo de memoria MARS) a cero, leyó una tarjeta en el búfer del lector y comprobó la tarjeta por errores, y simulaba la ejecución de un Read Numeric de Card Reader para dirección cero (leyendo los 80 caracteres del búfer del lector en direcciones de memoria 00000 a 00079), luego cambió el ordenador en Automático modo (iniciando la ejecución en la dirección en el mostrador del programa).
  • Parar el lector – Presionar esta llave con el lector activo, detuvo al lector.
  • Comience el lector – Presionando esta llave con el lector idle y encendido, comenzó el lector y leyó una tarjeta en el búfer del lector y comprobó la tarjeta para errores. El ordenador podría leer tarjetas.

Interruptores basculantes del lector:

  • Ejecución de no proceso – Este rockero con la tolva de lectura vacía, "salida" cartas restantes del mecanismo del lector.
  • Reader Off/Reader On – Este rockero ha apagado o encendido el mecanismo del lector.
Procedimiento de arranque Notas
Prensa Carga

Unidades de disco

IBM 1311 Disk Drives – Modelo 2 (Slave) " Modelo 3 (Master), adscrito a un IBM 1620 II

Los controles de la unidad de disco 1311.

  • Luz del módulo – Esta luz muestra el número de unidad. Cuando se enciende la unidad está listo para el acceso.
  • Comparar-Deshabilitar el interruptor de teclas – Cuando este (sólo Maestro) se encuentra en la posición ON y el botón Write Address se pulsa se puede realizar una escritura completa sin comparar direcciones. Se utiliza para formatear paquetes de disco.
  • Seleccione la luz de bloqueo – Cuando esto (sólo Maestro) ilumina una o más de las unidades ha funcionado mal. No se puede realizar acceso al disco.
  • Escribe el botón de dirección/luz – Esto (sólo más) controles claves de escritura direcciones del sector. Presionando esto, se activa y se apaga su luz.
  • Activar-desactivar el revolver – Este interruptor permite o deshabilita el acceso a la unidad. Si este interruptor está deshabilitado en el Maestro, todas las unidades están deshabilitadas independientemente del estado de sus propios interruptores. También controla el medidor de tiempo de uso del disco.
  • Inicio Botón de parada – Presionar esta tecla comienza o detiene el motor del disco. El motor debe ser detenido para abrir la tapa y cambiar los paquetes de disco.
Procedimiento de arranque Notas
Prensa InsertarDesbloquea el teclado de máquina de escribir y cambia a modo numérico.
Tipo 3400032007013600032007024902402
x
y1963611300102
x – Especifica fuente de tarjetas de control Monitor: 1=scriptor de tipo, cinta 3=papel, 5=tarjetas
y – Especifica la unidad de disco en la que el Monitor reside: 1, 3, 5, 7
02402 es la dirección del punto de entrada del programa Monitor.
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoComiencen la ejecución.
Procedimiento de reinicio Notas
Prensa InsertarDesbloquea el teclado de máquina de escribir y cambia a modo numérico.
Tipo 490225FLG6
02256̅ es la dirección de la ubicación que contiene la dirección del punto de reanudación del programa Monitor.
Nota: este procedimiento supone que el Monitor ya está cargado en memoria
Prensa LiberaciónBloquea el teclado de máquina de escribir.
Prensa ComienzoComiencen la ejecución.

Generales

El compilador FORTRAN II y el ensamblador SPS eran un tanto engorrosos de usar según los estándares modernos, sin embargo, con la repetición, el procedimiento pronto se volvió automático y ya no pensó en los detalles involucrados.

Procedimiento de compilación FORTRAN II Notas
Establecer los switches del programa como sigue:
  1. OFF (No hay lista de fuentes)
  2. OFF (No hay compilación de lotes)
  3. OFF (La fuente se introduce de tarjetas)
  4. OFF (Sólo se usa si 3 es ON)
Opciones Paso I
Establecer interruptor de control de flujo al programa y todos los demás para detener
Prensa Reset
Cargar tarjetas en blanco (cara abajo 12-edge primero) en la tolva Punch y luego presionar Punch Start
Paso de carga I del compilador (cara abajo 9-edge primero) en la tolva de lectura luego pulse CargaEspera a pase Cargo e imprima en la máquina de escribir "Programa de la fuerza, PRESS START"
Quitar paso I del compilador del apilador de lectura
Cargar la cubierta fuente del programa (cara abajo 9-edge primero) en la tolva de lectura y luego presionar ComienzoEspera a Pass I para completar e imprimir en la máquina de escribir "TURN SW 1 ON FOR SYMBOL TABLE, PRESS START"
Interruptor del programa 1 OFF entonces presiona ComienzoSi un listado de la tabla de símbolos es deseado para depurar, girar el interruptor del programa 1 ON en su lugar. El listado de la tabla de símbolos se imprimirá en la máquina de escribir.
Espera a pase I para imprimir en la máquina de escribir "END OF PASS 1"
Establecer los switches del programa como sigue:
  1. OFF (No hay número de declaración o lista de direcciones)
  2. OFF (No se usa)
  3. OFF (No hay rastro de las declaraciones de la IF)
  4. OFF (No hay rastro de declaraciones aritméticas)
Opciones de pase II
Establecer interruptor de control de flujo al programa y todos los demás para detener
Prensa Reset
Cargar tarjetas en blanco (cara abajo 12-edge primero) en la tolva Punch y luego presionar Punch Start
Paso de carga II del compilador (cara abajo 9-edge primero) en la tolva de lectura luego pulse CargaEspera a que el Paso II se cargue
Quitar paso II del compilador del apilador de lectura
Eliminar la salida intermedia del Paso I del apilador Punch, luego cargarlo (cara abajo 9-edge primero) en la tolva de lectura y la prensa Reader Start entonces ComienzoEsperar el Paso II para completar e imprimir en la máquina de escribir "SW 1 ON TO PUNCH SUBROUTINES, PRESS START"
Eliminar la salida intermedia del apilador del lector
Interruptor del programa 1 ON, cargar la cubierta Subroutine (cara abajo 9-edge primero) en la tolva de lectura, luego presionar Reader Start entonces ComienzoEsperar el Paso II para imprimir en la máquina de escribir "END OF PASS II"
Retire la cubierta Subroutine del apilador Reader y la cubierta completada Objeto del apilador Punch

GOTRAN era mucho más simple de usar, ya que producía directamente un ejecutable en la memoria. Sin embargo, no fue una implementación completa de FORTRAN.

Para mejorar esto, se desarrollaron varios compiladores FORTRAN de terceros. Uno de estos fue desarrollado por Bob Richardson, un programador de la Universidad de Rice, el compilador FLAG (FORTRAN Load-and-Go). Una vez que se había cargado el deck FLAG, todo lo que se necesitaba era cargar el deck de origen para llegar directamente al deck de salida; FLAG permaneció en la memoria, por lo que estuvo inmediatamente listo para aceptar el siguiente mazo de origen. Esto fue particularmente conveniente para hacer frente a muchos trabajos pequeños. Por ejemplo, en la Universidad de Auckland, un procesador de trabajos por lotes para las tareas de los estudiantes (por lo general, muchos programas pequeños que no requieren mucha memoria) atravesó una clase mucho más rápido que el último IBM 1130 con su sistema basado en disco. El compilador permaneció en la memoria, y el programa del estudiante tuvo la oportunidad de tener éxito o fallar en la memoria restante, aunque una falla grave podría interrumpir el compilador residente.

Más tarde, se introdujeron los dispositivos de almacenamiento en disco, lo que eliminó la necesidad de almacenamiento en funcionamiento en las barajas de cartas. Las diversas barajas de cartas que constituyen el compilador y el cargador ya no necesitan ser extraídas de sus gabinetes, sino que pueden almacenarse en disco y cargarse bajo el control de un sistema operativo simple basado en disco: mucha actividad se vuelve menos visible, pero aún continúa..

Dado que el lado perforado del lector de tarjetas no imprimía los caracteres en la parte superior de las tarjetas, había que llevar los mazos de salida a una máquina separada, normalmente un intérprete alfabético IBM 557, que leyeron cada tarjeta e imprimieron su contenido en la parte superior. Los listados generalmente se generaban perforando un mazo de listado y usando una máquina de contabilidad IBM 407 para imprimir el mazo.

Implementación de hardware

Una tarjeta estándar de sistema modular (SMS)

La mayor parte de los circuitos lógicos del 1620 eran un tipo de lógica de resistencia-transistor (RTL) que usaba "deriva" transistores (un tipo de transistor inventado por Herbert Kroemer en 1953) por su velocidad, que IBM denominó Saturated Drift Transistor Resistor Logic (SDTRL). Otros tipos de circuitos de IBM utilizados se denominaron: Aleación (alguna lógica, pero en su mayoría varias funciones no lógicas, denominadas así por el tipo de transistores utilizados), CTRL (otro tipo de RTL, pero más lento que SDTRL), CTDL (un tipo de lógica de diodo-transistor (DTL)) y DL (otro tipo de RTL, llamado así por el tipo de transistor utilizado, transistores de 'deriva'). Los niveles lógicos típicos de todos estos circuitos (S Level) eran altos: 0 V a -0,5 V, bajos: -6 V a -12 V. Los niveles lógicos de la línea de transmisión de SDTRL los circuitos (Nivel C) eran altos: 1 V, bajos: -1 V. Los circuitos de relé usaban cualquiera de los dos niveles lógicos (Nivel T) altos: 51 V a 46 V, bajo: 16 V a 0 V o (Nivel W) alto: 24 V, bajo: 0 V.

Estos circuitos se construyeron con componentes discretos individuales montados en placas de circuito impreso de epoxi de papel de un solo lado de 2,5 por 4,5 pulgadas (64 por 114 milímetros) con un conector de borde chapado en oro de 16 pines, al que IBM se refirió como Tarjetas SMS (Sistema Modular Estándar). La cantidad de lógica en una tarjeta era similar a la de un SSI de la serie 7400 o un paquete MSI más simple (por ejemplo, de 3 a 5 puertas lógicas o un par de flip-flops).

Estas placas se insertaron en zócalos montados en bastidores con forma de puerta a los que IBM se refirió como puertas. La máquina tenía las siguientes "puertas" en su configuración básica:

  • "Gate A" – Forward puerta cerrada que oscila por la parte posterior para el acceso, después de "Gate B".
  • "Gate B" – Puerta acolchada trasera que oscila por la parte posterior para el acceso.
  • "Gate C" – Diapositivas hacia atrás para el acceso. Interfaz de máquina de escribir consola. Sobre todo releva la lógica.
  • "Gate D" – Diapositivas hacia atrás para el acceso. Interfaz estándar I/O.

Había dos tipos diferentes de memoria central utilizados en el 1620:

  • Memoria principal
    • Coincident Current X-Y Line addressing
      • 20.000, 40.000 o 60.000 Digits
    • 12-bit, incluso-odd Digit Pair
    • 12 planos de un bit en cada módulo, 1 a 3 módulos
      • 10.000 núcleos por avión
  • Memoria Dirección Registro Almacenamiento (MARS) memoria
    • Word Line Address
      • 16 Palabras, mínimo de ocho utilizadas en configuración básica
      • Palabras individuales leídas, múltiples Word clear/write
    • Dirección de memoria decimal de 24 bits, de cinco dígitos (no 8 - Diez Mil bit stored)
    • 1 avión
      • 384 núcleos

La lógica de decodificación de direcciones de la memoria principal también utilizó dos planos de 100 núcleos de transformador de pulsos por módulo para generar los pulsos de media corriente de la línea X-Y.

Había dos modelos del 1620, cada uno con implementaciones de hardware totalmente diferentes:

  • IBM 1620 I
  • IBM 1620 II

Historial de desarrollo

Un ordenador para el "pequeño mercado científico"

En 1958, IBM reunió un equipo en el laboratorio de desarrollo de Poughkeepsie, Nueva York, para estudiar el "pequeño mercado científico". Inicialmente, el equipo estaba formado por Wayne Winger (Gerente), Robert C. Jackson y William H. Rhodes.

Requisitos y diseño

Las computadoras de la competencia en este mercado fueron Librascope LGP-30 y Bendix G-15; ambos eran máquinas de memoria de tambor. La computadora más pequeña de IBM en ese momento era la popular IBM 650, una máquina decimal de longitud de palabra fija que también usaba memoria de tambor. Los tres usaban tubos de vacío. Se concluyó que IBM no podía ofrecer nada realmente nuevo en esa área. Para competir con eficacia se requeriría el uso de tecnologías que IBM había desarrollado para computadoras más grandes, pero la máquina tendría que producirse al menor costo posible.

Para cumplir con este objetivo, el equipo estableció los siguientes requisitos:

  • Memoria básica
  • Conjunto de instrucciones restringidas
    • Sin instrucciones de punto de división o flotante, use subrutinas en el "paquete de programa general"
  • Donde sea posible reemplazar hardware con las funciones de máquina lógica existentes
    • No hay circuitos aritméticos, use tablas en memoria núcleo
  • Entrada/salida menos costosa posible
    • Sin tarjetas de golpe, use cinta de papel
    • No impresora, use la máquina de escribir de consola del operador

El prototipo

El equipo se amplió con la incorporación de Anne Deckman, Kelly B. Day, William Florac y James Brenza. Completaron el prototipo CADET (nombre en clave) en la primavera de 1959.

Mientras tanto, las instalaciones de San José, California, estaban trabajando en una propuesta propia. IBM solo pudo construir uno de los dos y ganó la propuesta de Poughkeepsie porque "la versión de San José es de primera línea y no se puede expandir, mientras que su propuesta tiene todo tipo de capacidad de expansión; nunca ofrezca una máquina que no se pueda expandir" 34;.

IBM1620A.jpg
IBM 1620 Modelo I Nivel A (prototipo), como apareció

en el anuncio de IBM de la máquina.

La gerencia no estaba del todo convencida de que la memoria central pudiera funcionar en máquinas pequeñas, por lo que se prestó a Gerry Ottaway al equipo para diseñar una memoria de batería como respaldo. Durante las pruebas de aceptación realizadas por el laboratorio de pruebas de productos, se encontraron fallas repetidas en la memoria central y parecía probable que las predicciones de la gerencia se hicieran realidad. Sin embargo, en el último momento se descubrió que el ventilador para muffins que se usaba para soplar aire caliente a través de la pila del núcleo no funcionaba correctamente, lo que provocaba que el núcleo captara pulsos de ruido y no pudiera leer correctamente. Después de que se solucionó el problema del ventilador, no hubo más problemas con la memoria central y el esfuerzo de diseño de la memoria del tambor se suspendió por innecesario.

Transferida a San José para producción

(feminine)

Tras el anuncio del IBM 1620 el 21 de octubre de 1959, debido a una reorganización interna de IBM, se decidió transferir la computadora de la División de procesamiento de datos en Poughkeepsie (solo computadoras centrales a gran escala) a la División de productos generales en San José (solo computadoras pequeñas y productos de apoyo) para la fabricación.

Después de la transferencia a San José, alguien sugirió en broma que el nombre en clave CADET en realidad significaba "Can't Add, Doesn't Even Try", refiriéndose al uso de tablas de suma en la memoria en lugar que los circuitos de adición dedicados (y SDTRL en realidad significaba "Sold Down The River Logic" se convirtió en una broma común entre los CE). Esto se quedó y se hizo muy conocido entre la comunidad de usuarios.

Implementación de "niveles"

  • Modelo I
    • Nivel A; prototipo.
      • Todas las flip-flops en el diseño fueron versiones transistorizadas del original Circuito de activación Eccles-Jordan. Mientras que esta máquina era totalmente funcional, se encontró que el acoplamiento de condensador utilizado en estos resultaron problemáticos en el ambiente de señal ruidoso de los relés y los interruptores de cámara de tiempo utilizados para conducir la máquina de escribir consola. Esto necesitaba un rediseño completo de la máquina para utilizar S-R flip-flops en su lugar (excepto para dos disparadores utilizados para generar relojes para los S-R flip-flops). Sin embargo, el uso del término Trigger fue retenido en toda la documentación cuando se refiere a un flip-flop, ya que era el término convencional de IBM (como alfamética era su término para los alfanuméricos).
      • Este es el único nivel usando un panel de control vertical de una pieza, cuando el diseño fue transferido de Poughkeepsie a San José fue rediseñado al panel de control de dos piezas angulares utilizado en todos los modelos de producción.
    • Nivel B; primera producción.
      • Este es el único nivel usando un panel de control inferior de aluminio quemado, niveles posteriores terminaron este panel con blanco.
    • Nivel C; introducción de 1622 lectores de tarjetas/punch.
    • Nivel D; introducción de 1311 unidades de disco y adición de la lógica de control de disco opcional "Gate J".
    • Nivel E; introducción de la opción Floating Point.
    • Nivel F
    • Level G; introduction of Interrupt option (neced for IBM 1710).
      • ¡No apoyó las subrutinas BT & BB en código de interrupción!
      • Lógica de control de disco en la lógica "Gate J" fusionada en "Gate A" & "Gate B".
        • Lo hizo posible porque gran parte de la lógica fue compactada usando tarjetas diseñadas para el Modelo II.
    • Nivel H; mejorada opción Interrupt que soportaba las subrutinas BT & BB en código de interrupción.
      • Versión final del Modelo I.
  • Modelo II (no hay información sobre "Levels" disponible en este momento)
El modelo 1620 II introdujo el hardware básico de ALU para adición y resta (haciendo "Cno Add, DNo. Even Try" ya no aplicable) y registros índice.
  • Modelo III
    • El trabajo se inició en un modelo III 1620, pero el proyecto fue cancelado rápidamente, ya que IBM quería promover las ventas de su nuevo sistema/360 y descontinuar las viejas líneas.

Patentes

  • U.S. Patent 3,049,295– Multiplicación de ordenador
    • Patentes archivados: 20 de diciembre de 1960
    • Patentes emitidos: 14 de agosto de 1962
    • Inventores
      • William H. Rhodes
      • James G. Brenza
      • Wayne D. Winger
      • Robert C. Jackson
    • Claims and prior art references
      • 21 reclamaciones
      • No hay arte previo
    • Diagramas y texto
      • 156 hojas de diagramas (Describes 1620 en detalles completos.)
      • 31 hojas de texto
  • U.S. Patent 3,328,767– Tabla compacta de datos
    • Patente presentado: 31 de diciembre de 1963
    • Patentes emitidos: 27 de junio de 1967
    • Inventores
      • Gerald H. Ottaway
    • Claims and prior art references
      • 11 reclamaciones
      • 5 arte anterior
    • Diagramas y texto
      • 5 hojas de diagramas
      • 4 hojas de texto
  • U.S. Patent 3,199,085– Computación con la búsqueda de tabla Unidad Aritmética
    • Patentes archivados: 20 de diciembre de 1960
    • Patentes emitidos: 3 de agosto de 1965
    • Inventores
      • William H. Rhodes
      • James G. Brenza
      • Wayne D. Winger
    • Claims and prior art references
      • 21 reclamaciones
      • 5 arte anterior
    • Diagramas y texto
      • 156 hojas de diagramas (Describes 1620 en detalles completos.)
      • 31 hojas de texto
  • U.S. Patente 3,239,654– Computadora dividida
    • Patentes archivados: 8 de febrero de 1961
    • Patentes emitidos: 8 de marzo de 1966
    • Inventores
      • Robert C. Jackson
      • William A. Florac
      • Wayne D. Winger
    • Claims and prior art references
      • 9 reclamaciones
      • 1 arte anterior
      • 3 publicaciones
    • Diagramas y texto
      • 13 hojas de diagramas
      • 19 hojas de texto

Usos destacados

Un IBM 1620 modelo II fue utilizado por Vearl N. Huff, sede de la NASA (FOB 10B, Washington DC) para programar una simulación tridimensional en Fortran de la cápsula Gemini atada: el problema de dos cuerpos del módulo cohete Agena a la vez. cuando no se entendía completamente si era seguro unir dos objetos en el espacio debido a posibles colisiones inducidas por ataduras elásticas. La misma computadora también se usó para simular las órbitas de los vuelos de Gemini, produciendo gráficos impresos de arte de cada órbita. Estas simulaciones se realizaron durante la noche y los datos se examinaron al día siguiente.

En 1963, se instaló un IBM 1620 en IIT Kanpur, lo que supuso el puntapié inicial para la destreza del software de la India.

En 1964, en la Universidad Nacional de Australia, Martin Ward usó un IBM 1620 modelo I para calcular el orden del grupo Janko J1.

En 1966, la UIT produjo una película explicativa sobre un sistema de 1963 para composición tipográfica por computadora en el Washington Evening Star, utilizando una IBM 1620 y una fotocomponedora Linofilm.

En 1964 se instaló una IBM 1620 en la Universidad de Islandia, convirtiéndose en la primera computadora en Islandia.

Uso en cine y televisión

  • Un programa de radio fue desarrollado por DJ Rege Cordic para KDKA Pittsburgh, basado en un simulador de juego de béisbol desarrollado por John Burgeson de IBM y su hermano, Paul, luego un cartel en la Armada de Estados Unidos. Este programa se utilizó en numerosos eventos de demostración en los años 1960 a 1963 como ejemplo del poder de las computadoras para realizar ejercicios de simulación.
  • El computador ficticio Coloso Coloso: El proyecto Forbin usó alrededor de una docena de paneles frontales raspados 1620 comprados en el mercado excedente, en diversas orientaciones.
  • Un arreglo similar se utilizó en un episodio de televisión tardío y una película de El hombre de U.N.C.L.E. para retratar THRUSH supercomputadora.

Anécdotas

CADETE

Muchos en la comunidad de usuarios recuerdan que se hace referencia al 1620 como CADET, que en broma significa "Can't Add, Doesn't Even Try", refiriéndose al uso de tablas de suma en la memoria en lugar de tablas dedicadas circuito de adición

Consulte el historial de desarrollo para obtener una explicación de las tres interpretaciones conocidas del nombre en clave de la máquina.

Se seleccionó el nombre de código interno CADET para la máquina. Uno de los desarrolladores dice que esto significaba "Ccomputer with ADvanced Economic Ttechnology& #34;, sin embargo, otros lo recuerdan simplemente como la mitad de "SPACE - CADET", donde SPACE era el nombre de código interno del IBM 1401 máquina, también entonces en desarrollo.

Contenido relacionado

QWERTY

Darwin (sistema operativo)

Sistema IBM/370

Más resultados...
Tamaño del texto:
Copiar