fbpx
Wikipedia

IBM 1401

La computadora IBM 1401, primer miembro de la serie IBM 1400, era un ordenador decimal de longitud de palabra variable, que fue sacado al mercado por la empresa IBM el 5 de octubre de 1959, siendo retirado el 8 de febrero de 1971.

Un Sistema IBM 1401. Desde la izquierda: lector/perforador 1402, procesador 1401, impresora 1403.

Historia

Proveniente de los archivos de IBM:

Lo que sigue es el texto de una nota de prensa distribuida por la División de Proceso de Datos de IBM (IBM Data Processing Division) el 5 de octubre de 1959.
El Sistema de Proceso de Datos IBM 1401 (IBM 1401 Data Processing System) pone las características propias de los sistemas de proceso electrónico de datos al alcance de negocios de menor tamaño, hasta ahora limitados al uso de equipos de tarjetas perforadas convencionales. Estas características incluyen: perforado y lectura de tarjetas a alta velocidad, cinta magnética para entrada y salida, impresión de alta velocidad, programa almacenado, y capacidad aritmética y lógica.
El 1401 puede utilizarse como un sistema independiente, conjuntamente con equipamiento IBM de tarjetas perforadas, o como equipamiento auxiliar de sistemas de las series IBM 700 ó 7000.

El IBM 1401 era también usado frecuentemente como controlador periférico off-line en muchas grandes instalaciones, tanto de "computación científica" como de "computación de negocio". En estas instalaciones, el ordenador principal (por ejemplo, un IBM 7090) hacía toda su entrada/salida sobre cintas magnéticas de almacenamiento de datos, y el modelo 1401 se utilizaba para cambiar el formato de los datos de entrada desde otros periféricos (por ejemplo, el lector de tarjetas perforadas de la lectora/perforadora de tarjetas IBM 1402) a las cintas, y para transferir los datos de salida desde las cintas a otros periféricos (por ejemplo, la perforadora de tarjetas de la lectora/perforadora de tarjetas IBM 1402, o la impresora de líneas IBM 1403).

A lo largo de su tiempo de permanencia en el mercado se fabricaron alrededor de 20.000 sistemas (foto), haciendo en su momento del IBM 1401 uno de los productos de mayor éxito de IBM. De los Archivos de IBM:

La tarifa mensual por un 1401 era de 2.500 dólares en adelante, dependiendo de la configuración. A finales de 1961, el número de equipos 1401 instalados tan solo en los Estados Unidos de América, había llegado a unos 2.000, representando aproximadamente uno de cada cuatro ordenadores electrónicos de programa almacenado (respecto de todos los fabricantes activos por entonces). El pico de 1401 instalados superó los 10.000 a mediados de los años 60, y el sistema fue retirado del mercado en febrero de 1971.

Algunos miembros de IBM, particularmente John Haanstra, un ejecutivo a cargo del desarrollo del modelo 1401, apoyaron su continuidad hacia modelos mayores (por ejemplo el IBM 1410), pero la decisión tomada en 1964 por la alta dirección de concentrar recursos en el System/360 terminó con esos esfuerzos de forma relativamente brusca. Para proteger la inversión de los clientes de software para el 1401, IBM fue pionero en el uso de emulación de microcódigo, en forma de ROM, de manera que algunos modelos de System/360 podían ejecutar programas 1401. Dicha emulación continuó hasta bien entrada la era moderna (en algunos casos, quizá, hasta que los esfuerzos por el efecto 2000 causaron la reescritura del código para 1401 que todavía estaba utilizándose).

Durante la década de los 70 del pasado siglo, muchas instalaciones de la India usaban el modelo 1401, y algunos de los empresarios de software de la India de la actualidad empezaron con esta máquina.

En el Museo de Historia del Ordenador de Mountain View (California, Estados Unidos de América), se encuentra en curso un Proyecto de Restauración del 1401.[1]

Arquitectura

El 1401 usaba el código binario decimal de IBM (BCD). Cada byte (o carácter alfanumérico) en el 1401 se representaba por medio de seis bits, llamados A, B, 8, 4, 2 y 1. Los bits A y B se denominaban bits de zona y los bits 8, 4, 2 y 1 se denominaban bits numéricos. Con cada byte de seis bits se asociaban otros dos bits, llamados C y M. C era el bit de paridad impar (odd parity Check) y M la marca de palabra (word mark).[2]​ El formato era el siguiente:

 C B A 8 4 2 1 M 

El 1401 estaba disponible con cinco configuraciones de memoria: 1,4K,[3]​ 2K, 4K, 8K, o 16K (un número muy reducido de 1401s fueron ampliados a 32K a través de RPQ - Solicitud de Presupuesto (Request for Price Quotation) - especiales.

Una dirección de la memoria de ferrita del IBM 1401 consistía en tres bytes de seis bits. Las direcciones decimales entre 000 y 999 se especificaban mediante los bits 8-4-2-1 de dichos bytes. Los bits de zona del byte más significativo especificaba un incremento de A=1000, B=2000, AB=3000, proporcionando una capacidad de direccionamiento de 4.000 bytes en total. Los bits de zona del byte menos significativo especificaban incrementos de 4000, 8000 o 12000, para direccionar 16.000 bytes (con una unidad de expansión de memoria IBM 1406). Los bits de zona del byte intermedio se usaban para especificar registros índices, una de muchas funcionalidades opcionales.

Las instrucciones eran de seis longitudes (1, 2, 4, 5, 7, 8). Las instrucciones de un byte tan solo contenían un código de operación. Estos eran, bien instrucciones de un byte propiamente dichas, o bien eran instruccciones encadenadas (chained instructions) que utilizaban las direcciones de la instrucción previa. Las instrucciones de dos bytes consistían en un código de operación y un byte modificador. Las instrucciones de cuatro bytes consistían en un código de operación seguido de una dirección. Las instrucciones de cinco bytes en un código de operación, una dirección y un byte modificador. Las instrucciones de siete bytes en un código de operación seguido de dos direcciones. Y las instrucciones de ocho bytes en un código de operación, dos direcciones y un byte modificador.

Las instrucciones eran válidas únicamente si la marca de palabra del byte de menor orden (el código de operación) tenía el valor 1 y las marcas de palabra del resto de bytes el valor 0. La lectura de una instrucción se detenía y comenzaba su ejecución cuando se encontraba otro byte con la marca de palabra a 1. Había dos excepciones a esta regla:

  1. La instrucción SET WORDMARK, que establecía dos marcas de palabra, era de siete bytes aunque no le siguiera un código de operación válido.
  2. La instrucción BRANCH INDICATOR era de cinco bytes aunque no le siguiera un código de operación válido.
Nota: Al margen de las dos excepciones citadas, si no se encontraba un código de operación válido antes del noveno byte la instrucción era tratada como una instrucción de ocho bytes, pero la máquina seguía recorriendo la memoria en busca de un código de operación válido (ignorando los bytes leídos) antes de comenzar la ejecución hasta que encontraba uno o hasta que detectaba un error (como, por ejemplo, el final de la memoria). Esto era considerado habitualmente como una programación chapucera, pero no necesariamente un error.

Al pulsar la tecla LOAD de la lectora/perforadora IBM 1402, se leía una tarjeta en el buffer de lectura (posiciones de memoria 1-80), se establecía una marca de palabra en la posición 1 (validando la primera instrucción de la tarjeta) y se borraban las marcas de palabra en las posiciones 2-80. La primera instrucción de cualquier programa de arranque era SET WORDMARK, que validaba otras dos instrucciones. En la práctica, las primeras tarjetas del mazo que componía el programa de arranque consistían en instrucciones SET WORDMARK, instrucciones no-op, y una instrucción "leer tarjeta y saltar" (read card and branch), las cuales configuraban un patrón de marcas de palabra en el buffer de lectura. La instrucción READ CARD no alteraba las marcas de palabra presentes en el buffer de lectura. Utilizando instrucciones no-op de varias longitudes, el siguiente grupo de tarjetas encajaría en este patrón de marcas de palabra.

Software

El software del 1401 incluía:

  • Autocoder, un ensamblador más avanzado, requería un mínimo de 4K posiciones de memoria.
  • FARGO (Fourteen-o-one Automatic Report Generation Operation: Generación Automática de Informes 1401), un precedesor de RPG, requería 4K.
  • FORTRAN II estaba disponible para sistemas con al menos 8K posiciones de memoria; el compilador Fortran del 1401 está descrito en Haines, L.H. (1965), enlace más abajo. El compilador Fortran, para generar código para memorias pequeñas, utilizaba una forma innovadora de pseudo-código interpretado.
  • FORTRAN IV estaba disponible para sistemas con al menos 8K posiciones de memoria y o bien cuatro unidades de cinta o bien una unidad de disco IBM 1311.
  • RPG. Único lenguaje de alto nivel de uso común, RPG era un lenguaje declarativo principalmente para la especificación de informes contables. Todavía (año 2007) se encuentra en uso en máquinas IBM intermedias, AS/400.
  • SPS (Symbolic Programming System: Sistema de Programación Simbólica).[4]​ SPS-1 podía utilizarse en máquinas con 1,4K posiciones de memoria. SPS-2 requería un mínimo de 4K posiciones de memoria.

Caracteres y códigos de operación

Nota: En la tabla que sigue, si el bit de marca de palabra está activo, el bit C será el opuesto del mostrado. El bit C era determinado y verificado automáticamente por la máquina, normalmente los programadores no necesitaban preocuparse por él. La única forma de especificar el bit C era utilizando los interruptores del panel de mantenimiento. Aunque este panel era principalmente para uso de los técnicos de hardware (CEs), un programador podía utilizar sus interruptores para aplicar parches rápidos durante la depuración de programas.
Carácter BCD Print-A Print-H Tarjeta BCD
sin M
Operación Definición
y Observaciones
Espacio       C          
. . . 12-3-8  BA8 21 Halt  
¤ ¤ ) 12-4-8 CBA84   Clear Word Mark Rombo
[     12-5-8  BA84 1    
<     12-6-8  BA842    Menor que
      12-7-8 CBA8421   Marca de Grupo
& & + 12 CBA        
$ $ $ 11-3-8 CB 8 21    
* * * 11-4-8  B 84      
]     11-5-8 CB 84 1    
;     11-6-8 CB 842     
?     11-7-8  B 8421   Delta (Cambio de Modo)
- - - 11  B         
/ / / 0-1 C A   1 Clear Storage  
, , , 0-3-8 C A8 21 Set Word Mark  
% % ( 0-4-8   A84   Divide Funcionalidad opcional.
?     0-5-8 C A84 1   Separador de Palabras
\     0-6-8 C A842    Oblicuo izquierdo
?     0-7-8   A8421   Marca de Segmento de Cinta
? ? ? N/A
0
 
  A       No se puede leer desde tarjeta.
Perforado como cero.
Espacio con "paridad-par" en cinta.
# # = 3-8    8 21 Modify Address Opcional (requiere más de
4000 posiciones de memoria)
@ @ ' 4-8 C  84   Multiply Funcionalidad opcional.
:     5-8    84 1    
>     6-8    842    Mayor que
??     7-8 C  8421   Marca de Cinta
? & & 12-0 CBA8 2  Zero and Add Plus Zero
A A A 12-1  BA   1 Add  
B B B 12-2  BA  2  Branch  
C C C 12-3 CBA  21 Compare  
D D D 12-4  BA 4   Move Numerical (Bits)
E E E 12-5 CBA 4 1 Move Characters and Edit  
F F F 12-6 CBA 42  Control Carriage (Impresora)
G G G 12-7  BA 421    
H H H 12-8  BA8    Store B-Address Register Funcionalidad opcional.
I I I 12-9 CBA8  1    
! - - 11-0  B 8 2  Zero and Subtract Minus Zero
J J J 11-1 CB    1    
K K K 11-2 CB   2  Select Stacker (Tarjeta perforada)
L L L 11-3  B   21 Load Characters to Word Mark  
M M M 11-4 CB  4   Move Characters to Word Mark  
N N N 11-5  B  4 1 No Operation  
O O O 11-6  B  42     
P P P 11-7 CB  421 Move Characters to
Record or Group Mark
Funcionalidad opcional.
Q Q Q 11-8 CB 8    Store A-Address Register Funcionalidad opcional.
R R R 11-9  B 8  1    
? ? ? 0-2-8   A8 2    Marca de registro
S S S 0-2 C A  2  Subtract  
T T T 0-3   A  21    
U U U 0-4 C A 4   Control Unit (Cinta)
V V V 0-5   A 4 1 Branch if Word Mark
and/or Zone
 
W W W 0-6   A 42  Branch if Bit Equal Funcionalidad opcional.
X X X 0-7 C A 421 Move and Insert Zeros Funcionalidad opcional.
Y Y Y 0-8 C A8    Move Zone (Bits)
Z Z Z 0-9   A8  1 Move Characters and
Suppress Zeros
 
0 0 0 0 C  8 2     
1 1 1 1       1 Read a Card  
2 2 2 2      2  Write a Line  
3 3 3 3 C    21 Write and Read  
4 4 4 4     4   Punch a Card  
5 5 5 5 C   4 1 Read and Punch  
6 6 6 6 C   42  Write and Punch  
7 7 7 7     421 Write, Read, and Punch  
8 8 8 8    8    Start Read Feed Funcionalidad opcional.
9 9 9 9 C  8  1 Start Punch Feed Funcionalidad opcional.

Implementación hardware

La mayoría de la circuitería lógica del 1401 consistía en un tipo de DTL al que IBM llamaba CTDL. Otros tipos de circuitos IBM utilizados eran: Alloy (algunas funciones lógicas, pero fundamentalmente funciones no lógicas; tomaba su nombre del tipo de transistores que utilizaba), CTRL (un tipo de RTL). Actualizaciones posteriores (por ejemplo, la interfaz de cinta TAU-9) utilizaban un tipo de DTL más rápido, que IBM llamaba SDTDL y que incorporaba un modelo de transistor inventado por Herbert Kroemer en 1953 ("drift" transistor) por su mayor velocidad.

Estos circuitos se fabricaban con componentes discretos montados en circuitos impresos de papel de resina epóxica en una cara, bien de 38x114 mm con un conector de 16 pines (ancho simple), o bien de 82x114 mm con dos conectores de 16 pines (doble ancho). IBM se refería a ellos como tarjetas SMS Standard Modular System: Sistema Modular Estándar. La cantidad de lógica en un circuito impreso era similar a la de un circuito SSI de la serie 7400 o a la de un MSI (por ejemplo, de tres a cinco puertas lógicas o un par de flip-flops en un circuito de ancho simple hasta alrededor de veinte puertas lógicas o cuatro flip-flops en un circuito de doble ancho). Estos circuitos se insertaban en bastidores.

Arte Inspirado por el IBM 1401

En octubre de 2006, la respetada discográfica independiente 4AD (Los Pixies, Dead Can Dance, Scott Walker) publicó un disco del músico islandés de vanguardia Jóhann Jóhannsson. El título del disco es 'IBM 1401, A User's Manual' (IBM 1401, Un Manual de Usuario). Está basado en un trabajo que su padre, Jóhann Gunnarsson, ingeniero jefe de mantenimiento de una de los primeros ordenadores del país, y Elias Davidsson, uno de los primeros programadores del país, hicieron en 1964. Fue escrito originalmente para cuarteto de cuerda, órgano y electrónica, para acompañar una obra de danza de Erna Ómarsdóttir. Para la grabación del disco, Johann lo ha reescrito para una orquesta de cuerda de sesenta componentes, ha añadido un movimiento final y ha incorporado grabaciones electrónicas cinta-a-cinta de época de un ordenador IBM 1401 encontradas en el ático de su padre. El resultado es asombroso. .

Un sketch de los primeros tiempos de los Muppets de Jim Henson parece parodiar un manual de formación técnica. Un prototipo del monstruo de las galletas, con los dientes más afilados, se come una máquina compleja mientras lee su propio manual de instrucciones en voz alta. Vídeo Youtube [1].

Referencias

  • IBM (Abril, 1966). (PDF) (en inglés). Archivado desde el original el 27 de septiembre de 2007. Consultado el 18 de julio de 2007.  Breves descripciones de la máquina, componentes, configuraciones y características especiales
  • IBM (Abril, 1962). (PDF) (en inglés). Archivado desde el original el 30 de septiembre de 2007. Consultado el 18 de julio de 2007. 

Enlaces externos

  • Archivos de IBM, Sistema de Proceso de Datos 1401 (en inglés)
  • Los 1401s que he conocido (en inglés), Tom Van Vleck
  • Haines, L. H. (1965). «Serial compilation and the 1401 FORTRAN compiler (Compilación serie y el compilador 1401 FORTRAN)». IBM Systems Journal 4 (1): 73-80. Consultado el 24 de julio de 2007.  Este artículo fue reimpreso y editado en las dos ediciones de Lee, John A. N. (1967(primera), 1974(segunda)). Van Nostrand Reinhold, ed. Anatomy of a Compiler (Anatomía de un Compilador). 
  • "The Real Computer Monster" (El Monstruo de las Computadoras) (vídeo)
  • Música inspirada por el IBM 1401 (en inglés)

Notas

  1. . Archivado desde el original el 1 de julio de 2007. Consultado el 3 de julio de 2007. 
  2. IBM (Abril de 1962). IBM 1401 Data Processing System: Reference Manual (A24-1403-5 edición). http://bitsavers.org/pdf/ibm/14xx/A24-1403-5_1401RefMan_Apr62.pdf. p. 15. «El uso del formato de instrucción de longitud variable y de datos de longitud variable requiere una forma de determinar la longitud de la instrucción y de los datos. Esta identificación es proporcionada por una marca de palabra.» 
  3. en este artículo K toma el valor 1000, no 1024.
  4. La página web History of Programming Languages: SPS el 21 de abril de 2008 en Wayback Machine. incluye, en su parte inferior, la afirmación, atribuida a Ray Saunders, de que SPS "fue un desarrollo de campo por parte de CEs (Customer Engineers: técnicos de hardware) y SEs (System Engineers: técnicos de sistemas) de IBM".
  •   Datos: Q1066933

1401, computadora, primer, miembro, serie, 1400, ordenador, decimal, longitud, palabra, variable, sacado, mercado, empresa, octubre, 1959, siendo, retirado, febrero, 1971, sistema, desde, izquierda, lector, perforador, 1402, procesador, 1401, impresora, 1403, . La computadora IBM 1401 primer miembro de la serie IBM 1400 era un ordenador decimal de longitud de palabra variable que fue sacado al mercado por la empresa IBM el 5 de octubre de 1959 siendo retirado el 8 de febrero de 1971 Un Sistema IBM 1401 Desde la izquierda lector perforador 1402 procesador 1401 impresora 1403 Indice 1 Historia 1 1 Arquitectura 2 Software 3 Caracteres y codigos de operacion 4 Implementacion hardware 5 Arte Inspirado por el IBM 1401 6 Referencias 7 Enlaces externos 8 NotasHistoria EditarProveniente de los archivos de IBM Lo que sigue es el texto de una nota de prensa distribuida por la Division de Proceso de Datos de IBM IBM Data Processing Division el 5 de octubre de 1959 El Sistema de Proceso de Datos IBM 1401 IBM 1401 Data Processing System pone las caracteristicas propias de los sistemas de proceso electronico de datos al alcance de negocios de menor tamano hasta ahora limitados al uso de equipos de tarjetas perforadas convencionales Estas caracteristicas incluyen perforado y lectura de tarjetas a alta velocidad cinta magnetica para entrada y salida impresion de alta velocidad programa almacenado y capacidad aritmetica y logica El 1401 puede utilizarse como un sistema independiente conjuntamente con equipamiento IBM de tarjetas perforadas o como equipamiento auxiliar de sistemas de las series IBM 700 o 7000 El IBM 1401 era tambien usado frecuentemente como controlador periferico off line en muchas grandes instalaciones tanto de computacion cientifica como de computacion de negocio En estas instalaciones el ordenador principal por ejemplo un IBM 7090 hacia toda su entrada salida sobre cintas magneticas de almacenamiento de datos y el modelo 1401 se utilizaba para cambiar el formato de los datos de entrada desde otros perifericos por ejemplo el lector de tarjetas perforadas de la lectora perforadora de tarjetas IBM 1402 a las cintas y para transferir los datos de salida desde las cintas a otros perifericos por ejemplo la perforadora de tarjetas de la lectora perforadora de tarjetas IBM 1402 o la impresora de lineas IBM 1403 A lo largo de su tiempo de permanencia en el mercado se fabricaron alrededor de 20 000 sistemas foto haciendo en su momento del IBM 1401 uno de los productos de mayor exito de IBM De los Archivos de IBM La tarifa mensual por un 1401 era de 2 500 dolares en adelante dependiendo de la configuracion A finales de 1961 el numero de equipos 1401 instalados tan solo en los Estados Unidos de America habia llegado a unos 2 000 representando aproximadamente uno de cada cuatro ordenadores electronicos de programa almacenado respecto de todos los fabricantes activos por entonces El pico de 1401 instalados supero los 10 000 a mediados de los anos 60 y el sistema fue retirado del mercado en febrero de 1971 Algunos miembros de IBM particularmente John Haanstra un ejecutivo a cargo del desarrollo del modelo 1401 apoyaron su continuidad hacia modelos mayores por ejemplo el IBM 1410 pero la decision tomada en 1964 por la alta direccion de concentrar recursos en el System 360 termino con esos esfuerzos de forma relativamente brusca Para proteger la inversion de los clientes de software para el 1401 IBM fue pionero en el uso de emulacion de microcodigo en forma de ROM de manera que algunos modelos de System 360 podian ejecutar programas 1401 Dicha emulacion continuo hasta bien entrada la era moderna en algunos casos quiza hasta que los esfuerzos por el efecto 2000 causaron la reescritura del codigo para 1401 que todavia estaba utilizandose Durante la decada de los 70 del pasado siglo muchas instalaciones de la India usaban el modelo 1401 y algunos de los empresarios de software de la India de la actualidad empezaron con esta maquina En el Museo de Historia del Ordenador de Mountain View California Estados Unidos de America se encuentra en curso un Proyecto de Restauracion del 1401 1 Arquitectura Editar El 1401 usaba el codigo binario decimal de IBM BCD Cada byte o caracter alfanumerico en el 1401 se representaba por medio de seis bits llamados A B 8 4 2 y 1 Los bits A y B se denominaban bits de zona y los bits 8 4 2 y 1 se denominaban bits numericos Con cada byte de seis bits se asociaban otros dos bits llamados C y M C era el bit de paridad impar odd parity Check y M la marca de palabra word mark 2 El formato era el siguiente C B A 8 4 2 1 M El 1401 estaba disponible con cinco configuraciones de memoria 1 4K 3 2K 4K 8K o 16K un numero muy reducido de 1401s fueron ampliados a 32K a traves de RPQ Solicitud de Presupuesto Request for Price Quotation especiales Una direccion de la memoria de ferrita del IBM 1401 consistia en tres bytes de seis bits Las direcciones decimales entre 000 y 999 se especificaban mediante los bits 8 4 2 1 de dichos bytes Los bits de zona del byte mas significativo especificaba un incremento de A 1000 B 2000 AB 3000 proporcionando una capacidad de direccionamiento de 4 000 bytes en total Los bits de zona del byte menos significativo especificaban incrementos de 4000 8000 o 12000 para direccionar 16 000 bytes con una unidad de expansion de memoria IBM 1406 Los bits de zona del byte intermedio se usaban para especificar registros indices una de muchas funcionalidades opcionales Las instrucciones eran de seis longitudes 1 2 4 5 7 8 Las instrucciones de un byte tan solo contenian un codigo de operacion Estos eran bien instrucciones de un byte propiamente dichas o bien eran instruccciones encadenadas chained instructions que utilizaban las direcciones de la instruccion previa Las instrucciones de dos bytes consistian en un codigo de operacion y un byte modificador Las instrucciones de cuatro bytes consistian en un codigo de operacion seguido de una direccion Las instrucciones de cinco bytes en un codigo de operacion una direccion y un byte modificador Las instrucciones de siete bytes en un codigo de operacion seguido de dos direcciones Y las instrucciones de ocho bytes en un codigo de operacion dos direcciones y un byte modificador Las instrucciones eran validas unicamente si la marca de palabra del byte de menor orden el codigo de operacion tenia el valor 1 y las marcas de palabra del resto de bytes el valor 0 La lectura de una instruccion se detenia y comenzaba su ejecucion cuando se encontraba otro byte con la marca de palabra a 1 Habia dos excepciones a esta regla La instruccion SET WORDMARK que establecia dos marcas de palabra era de siete bytes aunque no le siguiera un codigo de operacion valido La instruccion BRANCH INDICATOR era de cinco bytes aunque no le siguiera un codigo de operacion valido Nota Al margen de las dos excepciones citadas si no se encontraba un codigo de operacion valido antes del noveno byte la instruccion era tratada como una instruccion de ocho bytes pero la maquina seguia recorriendo la memoria en busca de un codigo de operacion valido ignorando los bytes leidos antes de comenzar la ejecucion hasta que encontraba uno o hasta que detectaba un error como por ejemplo el final de la memoria Esto era considerado habitualmente como una programacion chapucera pero no necesariamente un error Al pulsar la tecla LOAD de la lectora perforadora IBM 1402 se leia una tarjeta en el buffer de lectura posiciones de memoria 1 80 se establecia una marca de palabra en la posicion 1 validando la primera instruccion de la tarjeta y se borraban las marcas de palabra en las posiciones 2 80 La primera instruccion de cualquier programa de arranque era SET WORDMARK que validaba otras dos instrucciones En la practica las primeras tarjetas del mazo que componia el programa de arranque consistian en instrucciones SET WORDMARK instrucciones no op y una instruccion leer tarjeta y saltar read card and branch las cuales configuraban un patron de marcas de palabra en el buffer de lectura La instruccion READ CARD no alteraba las marcas de palabra presentes en el buffer de lectura Utilizando instrucciones no op de varias longitudes el siguiente grupo de tarjetas encajaria en este patron de marcas de palabra Software EditarEl software del 1401 incluia Autocoder un ensamblador mas avanzado requeria un minimo de 4K posiciones de memoria FARGO Fourteen o one Automatic Report Generation Operation Generacion Automatica de Informes 1401 un precedesor de RPG requeria 4K FORTRAN II estaba disponible para sistemas con al menos 8K posiciones de memoria el compilador Fortran del 1401 esta descrito en Haines L H 1965 enlace mas abajo El compilador Fortran para generar codigo para memorias pequenas utilizaba una forma innovadora de pseudo codigo interpretado FORTRAN IV estaba disponible para sistemas con al menos 8K posiciones de memoria y o bien cuatro unidades de cinta o bien una unidad de disco IBM 1311 RPG Unico lenguaje de alto nivel de uso comun RPG era un lenguaje declarativo principalmente para la especificacion de informes contables Todavia ano 2007 se encuentra en uso en maquinas IBM intermedias AS 400 SPS Symbolic Programming System Sistema de Programacion Simbolica 4 SPS 1 podia utilizarse en maquinas con 1 4K posiciones de memoria SPS 2 requeria un minimo de 4K posiciones de memoria Caracteres y codigos de operacion EditarNota En la tabla que sigue si el bit de marca de palabra esta activo el bit C sera el opuesto del mostrado El bit C era determinado y verificado automaticamente por la maquina normalmente los programadores no necesitaban preocuparse por el La unica forma de especificar el bit C era utilizando los interruptores del panel de mantenimiento Aunque este panel era principalmente para uso de los tecnicos de hardware CEs un programador podia utilizar sus interruptores para aplicar parches rapidos durante la depuracion de programas Caracter BCD Print A Print H Tarjeta BCDsin M Operacion Definiciony ObservacionesEspacio C 12 3 8 BA8 21 Halt 12 4 8 CBA84 Clear Word Mark Rombo 12 5 8 BA84 1 lt 12 6 8 BA842 Menor que 12 7 8 CBA8421 Marca de Grupo amp amp 12 CBA 11 3 8 CB 8 21 11 4 8 B 84 11 5 8 CB 84 1 11 6 8 CB 842 11 7 8 B 8421 Delta Cambio de Modo 11 B 0 1 C A 1 Clear Storage 0 3 8 C A8 21 Set Word Mark 0 4 8 A84 Divide Funcionalidad opcional 0 5 8 C A84 1 Separador de Palabras 0 6 8 C A842 Oblicuo izquierdo 0 7 8 A8421 Marca de Segmento de Cinta N A0 A No se puede leer desde tarjeta Perforado como cero Espacio con paridad par en cinta 3 8 8 21 Modify Address Opcional requiere mas de4000 posiciones de memoria 4 8 C 84 Multiply Funcionalidad opcional 5 8 84 1 gt 6 8 842 Mayor que 7 8 C 8421 Marca de Cinta amp amp 12 0 CBA8 2 Zero and Add Plus ZeroA A A 12 1 BA 1 Add B B B 12 2 BA 2 Branch C C C 12 3 CBA 21 Compare D D D 12 4 BA 4 Move Numerical Bits E E E 12 5 CBA 4 1 Move Characters and Edit F F F 12 6 CBA 42 Control Carriage Impresora G G G 12 7 BA 421 H H H 12 8 BA8 Store B Address Register Funcionalidad opcional I I I 12 9 CBA8 1 11 0 B 8 2 Zero and Subtract Minus ZeroJ J J 11 1 CB 1 K K K 11 2 CB 2 Select Stacker Tarjeta perforada L L L 11 3 B 21 Load Characters to Word Mark M M M 11 4 CB 4 Move Characters to Word Mark N N N 11 5 B 4 1 No Operation O O O 11 6 B 42 P P P 11 7 CB 421 Move Characters toRecord or Group Mark Funcionalidad opcional Q Q Q 11 8 CB 8 Store A Address Register Funcionalidad opcional R R R 11 9 B 8 1 0 2 8 A8 2 Marca de registroS S S 0 2 C A 2 Subtract T T T 0 3 A 21 U U U 0 4 C A 4 Control Unit Cinta V V V 0 5 A 4 1 Branch if Word Markand or Zone W W W 0 6 A 42 Branch if Bit Equal Funcionalidad opcional X X X 0 7 C A 421 Move and Insert Zeros Funcionalidad opcional Y Y Y 0 8 C A8 Move Zone Bits Z Z Z 0 9 A8 1 Move Characters andSuppress Zeros 0 0 0 0 C 8 2 1 1 1 1 1 Read a Card 2 2 2 2 2 Write a Line 3 3 3 3 C 21 Write and Read 4 4 4 4 4 Punch a Card 5 5 5 5 C 4 1 Read and Punch 6 6 6 6 C 42 Write and Punch 7 7 7 7 421 Write Read and Punch 8 8 8 8 8 Start Read Feed Funcionalidad opcional 9 9 9 9 C 8 1 Start Punch Feed Funcionalidad opcional Implementacion hardware EditarLa mayoria de la circuiteria logica del 1401 consistia en un tipo de DTL al que IBM llamaba CTDL Otros tipos de circuitos IBM utilizados eran Alloy algunas funciones logicas pero fundamentalmente funciones no logicas tomaba su nombre del tipo de transistores que utilizaba CTRL un tipo de RTL Actualizaciones posteriores por ejemplo la interfaz de cinta TAU 9 utilizaban un tipo de DTL mas rapido que IBM llamaba SDTDL y que incorporaba un modelo de transistor inventado por Herbert Kroemer en 1953 drift transistor por su mayor velocidad Estos circuitos se fabricaban con componentes discretos montados en circuitos impresos de papel de resina epoxica en una cara bien de 38x114 mm con un conector de 16 pines ancho simple o bien de 82x114 mm con dos conectores de 16 pines doble ancho IBM se referia a ellos como tarjetas SMS Standard Modular System Sistema Modular Estandar La cantidad de logica en un circuito impreso era similar a la de un circuito SSI de la serie 7400 o a la de un MSI por ejemplo de tres a cinco puertas logicas o un par de flip flops en un circuito de ancho simple hasta alrededor de veinte puertas logicas o cuatro flip flops en un circuito de doble ancho Estos circuitos se insertaban en bastidores Arte Inspirado por el IBM 1401 EditarEn octubre de 2006 la respetada discografica independiente 4AD Los Pixies Dead Can Dance Scott Walker publico un disco del musico islandes de vanguardia Johann Johannsson El titulo del disco es IBM 1401 A User s Manual IBM 1401 Un Manual de Usuario Esta basado en un trabajo que su padre Johann Gunnarsson ingeniero jefe de mantenimiento de una de los primeros ordenadores del pais y Elias Davidsson uno de los primeros programadores del pais hicieron en 1964 Fue escrito originalmente para cuarteto de cuerda organo y electronica para acompanar una obra de danza de Erna omarsdottir Para la grabacion del disco Johann lo ha reescrito para una orquesta de cuerda de sesenta componentes ha anadido un movimiento final y ha incorporado grabaciones electronicas cinta a cinta de epoca de un ordenador IBM 1401 encontradas en el atico de su padre El resultado es asombroso Enlace a muestras mp3 del disco Un sketch de los primeros tiempos de los Muppets de Jim Henson parece parodiar un manual de formacion tecnica Un prototipo del monstruo de las galletas con los dientes mas afilados se come una maquina compleja mientras lee su propio manual de instrucciones en voz alta Video Youtube 1 Referencias EditarIBM Abril 1966 IBM 1401 System Summary A24 1401 1 PDF en ingles Archivado desde el original el 27 de septiembre de 2007 Consultado el 18 de julio de 2007 Breves descripciones de la maquina componentes configuraciones y caracteristicas especialesIBM Abril 1962 IBM 1401 Data Processing System Reference Manual A24 1403 5 PDF en ingles Archivado desde el original el 30 de septiembre de 2007 Consultado el 18 de julio de 2007 Enlaces externos EditarDocumentos del IBM 1401 en bitsavers org Archivos de IBM Sistema de Proceso de Datos 1401 en ingles Videos y sonidos del IBM 1401 en ingles Los 1401s que he conocido en ingles Tom Van Vleck Haines L H 1965 Serial compilation and the 1401 FORTRAN compiler Compilacion serie y el compilador 1401 FORTRAN IBM Systems Journal 4 1 73 80 Consultado el 24 de julio de 2007 Este articulo fue reimpreso y editado en las dos ediciones de Lee John A N 1967 primera 1974 segunda Van Nostrand Reinhold ed Anatomy of a Compiler Anatomia de un Compilador Pagina oficial en 4AD del disco IBM 1401 A User s Manual IBM 1401 Un Manual de Usuario de Johann Johannsson s The Real Computer Monster El Monstruo de las Computadoras video Musica inspirada por el IBM 1401 en ingles Notas Editar 1401 Restoration Project Archivado desde el original el 1 de julio de 2007 Consultado el 3 de julio de 2007 IBM Abril de 1962 IBM 1401 Data Processing System Reference Manual A24 1403 5 edicion http bitsavers org pdf ibm 14xx A24 1403 5 1401RefMan Apr62 pdf p 15 El uso del formato de instruccion de longitud variable y de datos de longitud variable requiere una forma de determinar la longitud de la instruccion y de los datos Esta identificacion es proporcionada por una marca de palabra en este articulo K toma el valor 1000 no 1024 La pagina web History of Programming Languages SPS Archivado el 21 de abril de 2008 en Wayback Machine incluye en su parte inferior la afirmacion atribuida a Ray Saunders de que SPS fue un desarrollo de campo por parte de CEs Customer Engineers tecnicos de hardware y SEs System Engineers tecnicos de sistemas de IBM Datos Q1066933Obtenido de https es wikipedia org w index php title IBM 1401 amp oldid 136673759, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos