コンテンツにスキップ

IBM 1401

出典: フリー百科事典『ウィキペディア(Wikipedia)』
IBM 1401 Data Processing System. 左から、1402 カードリーダ/パンチ、1401処理装置、1403プリンター

IBM 1401IBM1959105 IBM 1400 1197128

歴史

[編集]
コンピュータ歴史博物館にて、ボランティアが IBM 1401 を修理している様子
引き出されたカードケージ(IBM用語では gates)のクローズアップ。SMS回路基板が並んでいるのが見える。




 IBM 1401 使
1401IBMIBM 700  7000 [1]


14012,500[2]

IBM55,200[3]196120004119601140119601401[3]19712[4]

使 IBM 1401 使IBM 7090 1401 14021403使

1401 1401  IBM 14101964System/360140036014011400 Honeywell 200IBMROM3601401[5]

21401[6][7]

アーキテクチャ

[編集]
IBM 1401 の制御パネル。下部は補助制御パネル。

14016 B, A, 8, 4, 2, 1 B,A 8,4,2,1 IBM80

19BCD08,2 1

使80312-11-012  B,A11  B0  A19A 12.1  B,A,1 



IBM1401BCD1401

62C  odd M 

:

C B A 8 4 2 1 M

1401 1.4K2K4K8K16K 5140132K[ 1]015999

使使Read a card 80 001-080 3 087-089092-094097-099 Punch a card  101-180 Write a line  201-332 

1401
  Opcode
   with   [A-or-I-or-unit-address [B-address]] [modifier]
 word mark

 (Opcode) 1"I" "A"  "B" 3 (modifier) 1124578



使3553 000  999 3使3A  1000B  2000B,A  3000 03,999A  4000B  8000B,A  12000 16,0003 "I99"  3000 + 999 3,999

使

A-address  B-address 1使AddSubtractMultiplyDivide (Compare) Move Characters to A or B Word MarkMove Characters and Edit1 Group Mark  Record Mark Move Characters to Record or Group Mark 

使 "A 700,850", "A 695,845", "A 690,840"  "A 700,850", "A", "A" [8]

ブートとサンプルプログラム

[編集]

IBM 1402 (パンチカード読み取り/パンチ装置)のLOADボタンが押下されると、カードがバッファ(メモリ上の 001-080 番地)に読み込まれる。このとき001番地の文字にワードマックがセットされ(カードの最初の命令を有効にする)、002-080番地のワードマークはクリアされる。先頭の命令は常に2オペランド(7文字)の Set Word Mark 命令であり、これは後続の命令コードにワードマークがなくとも実行可能で、後続の2命令にワードマークをセットできる。このようにしてカードデッキ内の命令列の実行が継続され、プログラムをメモリにロードし、ワードマークをセットし、最後にプログラムの開始アドレスに分岐する。

パンチカード1枚に収まる実用的なプログラムもある。よく使われたのは後続のカードデッキの内容をそのままプリンターに出力するプログラムや後続のカードデッキをそのままカードパンチで複写するプログラムなどである。Tom Van Vleck のウェブサイト[9]には、"HELLO WORLD" とプリンターに出力するパンチカード1枚に収まるプログラムが紹介されている。

,008015,022029,036043,050054,055062,063065,069080/333/M0792502F1.065HELLO WORLD

上述のようにLOADボタンを押下すると001番地(先頭の ",")から実行を開始する。"," は命令コードとしては Set Word Mark 命令である。それが7命令続いており、読み込んだ全命令にワードマークを設定する。"/" は Clear Storage 命令で、オペランド333で指定されたプリンター出力エリアの 333-300 の範囲をクリアし、次の "/" で連鎖アドレスを使って 299-200 の範囲をクリアする。次の命令コード "M" は Move Charactors to Word Mark 命令であり、079番地から250番地へワードマークまで文字列転送を行うが、これが "HELLO WORLD" をプリンター出力エリアにコピーすることになる。次の "2" が Write line 命令で印字を行い、次の "F" が Control Carriage 命令(修飾子が 1)でプリンターにページ送りをさせ、次の "." が Halt 命令となっていて停止する。065はHalt命令の番地であり、STARTボタンを押下しても停止したままとするようになっている。

ハードウェアの実装

[編集]
IBM 1403 高速ラインプリンター(ドイツ、IBM博物館)

1401 Diode-transistor logic(DTL)IBMCDTLIBM使

Alloy - 使使使

CTRL - Resistor-transistor logic(RTL)

1953使DTLIBMSDTL:

S &U: high - 0V-0.5V, low - -6V-12V

T: high - 6V1V, low - -5.5V-6V
1401使SMS

2.5×4.51615.375×4.5162使IBMSMS(Standard Modular System)7400(3512204)

SMSIBMgates

1401使1mm4140004096118使4000[10]11401 1406 Core Memory Unit 140111.5μ1[11][12]

ソフトウェア

[編集]

1401

IBM 1401 Symbolic Programming System (SPS) - SPS-1 1.4KSPS-2 4K

Autocoder - 4K4

FARGO (Fourteen-o-one [1401] Automatic Report Generation Operation) - RPG4K

FORTRAN II - 8KP[13]

FORTRAN IV - 12K41 IBM 1311 

COBOL - 4K4

IBM RPG (Report Program Generator) - Basic RPG 4K

IBM 1401 から生まれた芸術

[編集]

2006年10月、アイスランド出身の前衛音楽家ヨハン・ヨハンソン4ADから IBM 1401, A User's Manual英語版 というアルバムをリリースしている[14]。アイスランド初のコンピュータの保守技術者だった彼の父と、その友人でアイスランド初のプログラマとなった Elias Davidsson が1964年に作った曲をベースとしている。ヨハン・ヨハンソンは電子音や父が保管していた IBM 1401 が歌った歌を録音したオープンリールの録音テープなども加え、それをオーケストラ向けに書き直して長くした[15]

1401 の文化

[編集]

IBM Symbolic Programming System 1,4001124K使11使1

CPU[16] "X"  "0" [17]

1401 IBM 1401 

19701980使IT 1401  1401 [18]

文字コードと命令コード

[編集]

以下の表はキャラクターを辞書的順序で示したものである。

注: ワードマークがセットされている場合、C ビットが示されているのとは反対の値になる。その場合、C ビットはマシンが自動的に設定/チェックするので、通常はプログラマが気にする必要はない。補助制御パネルから入力する際には操作者が C ビットを気にする必要がある。プログラマはデバッグの際に素早くパッチを当てるのに補助制御パネルを使うことがあった。
BCD文字 Print-A Print-H カード BCD 操作 定義その他
空白 C      
. . . 12-3-8  BA8 21 Halt
¤ ¤ ) 12-4-8 CBA84   Clear Word Mark Lozenge
[ 12-5-8  BA84 1
< 12-6-8  BA842  Less Than
12-7-8 CBA8421 Group Mark
& & + 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 (モード変更)
- - - 11  B     
/ / / 0-1 C A   1 Clear Storage
, , , 0-3-8 C A8 21 Set Word Mark
% % ( 0-4-8   A84   Divide オプション機能
ˠ 0-5-8 C A84 1 Word Separator
\ 0-6-8 C A842  Left Oblique
0-7-8   A8421   Tape Segment Mark
ƀ N/A
0
 
  A       カードからは読めない。
ゼロとしてパンチ。
テープでは
Blank with "even-parity"
# # = 3-8    8 21 Modify Address オプション
(4000文字分以上のメモリを要する)
@ @ ' 4-8 C  84   Multiply オプション機能
: 5-8    84 1
> 6-8    842  Greater Than
ˉ 7-8 C  8421 Tape Mark
? & & 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 (ビット)
E E E 12-5 CBA 4 1 Move Characters and Edit
F F F 12-6 CBA 42  Control Carriage (プリンタ)
G G G 12-7  BA 421
H H H 12-8  BA8    Store B-Address Register オプション機能
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 (カード)
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
オプション機能
Q Q Q 11-8 CB 8    Store A-Address Register オプション機能
R R R 11-9  B 8  1
0-2-8   A8 2  Record Mark
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 (テープ)
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 オプション機能
X X X 0-7 C A 421 Move and Insert Zeros オプション機能
Y Y Y 0-8 C A8    Move Zone (ビット)
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 オプション機能
9 9 9 9 C  8  1 Start Punch Feed オプション機能

注釈

[編集]
  1. ^ 本項目では K を1000の意味で用いており、1024ではない。

出典

[編集]


(一)^ 1401 Data Processing System. IBM Archives (1959105). 201062

(二)^ Columbia University, Computing History Project

(三)^ abSpicer, Dag. Back to Life: The story behind CHM's IBM 1401 Restoration.  Computer History Museum. 2011527

(四)^ FAQ's for Products and Services. IBM Archives. 201062

(五)^ Pugh, Emerson W. (1995). Building IBM: Shaping an Industry and Its Technology. MIT. p. 273. ISBN 0-262-16147-8 

(六)^ 1401 Restoration Project. 2012724

(七)^ 1401 "Rebuilding the IBM," by Philip E. Ross, IEEE Spectrum, November 2009. 2012724

(八)^ IBM (April 1962). IBM 1401 Data Processing System: Reference Manual. p. 20. A24-1403-5. http://bitsavers.org/pdf/ibm/140x/A24-1403-5_1401_Reference_Apr62.pdf 

(九)^ Tom Van Vleck: 1401s I have known. 2012724

(十)^ Rob Storey. Core memory frame from an IBM 1401. 2012715

(11)^ The IBM 1401. IBM 1401 Restoration Project.  Computer History Museum. 2012715 The 1401s clock frequency is 86,957 cycles per second, or about 87 kiloHertz! This corresponds to an 11.5 micro-second system clock cycle time. ... The 1401 CPU does everything in a character-serial manner. In order to add say two N-digit numbers, the CPU takes several cycles to fetch the instruction itself and then one cycle for every character of the instructions two operands or arguments, or 2N cycles total.

(12)^ IBM Corporation (1961). IBM 1401 Principles of Programming, Section 7 (PDF). IBM Personal Study Program.  IBM Corporation. p. 19. 2012715 The timing of the IBM 1401 is described in terms of the time required for one complete core storage cycle, which is 11.5 microseconds ... The time required for any internal processing instruction is always a multiple of this interval of time.

(13)^ John A. N. Lee()The Anatomy of a Compiler1968Appendix

(14)^ Jóhann Jóhannsson profile. 4AD web site. 201062

(15)^ Jóhann Jóhannsson: IBM 1401, A User's Manual. work's web site. 201062

(16)^ 1401-music-Movie. 2012724

(17)^ Gansing, Kristoffer (2007). Working Paper version - Humans Thinking Like Machines - Incidental Media Art in the Swedish Welfare State.  University of Malmö, School of Arts & Communication. 2024224 A full version to be published in Place Studies in Art, Media, Science and Technology, VDG Weimar , 2009

(18)^ History of PIA. 2012724

参考文献

[編集]

関連項目

[編集]

外部リンク

[編集]