Honeywell 200シリーズ

Multi tool use
左側にシステムコンソールがある(右にあるのはIBM 1402 パンチカードリーダ/パンチャー
Honeywell 200シリーズは1960年代にハネウェル社が製造販売したキャラクター指向の2アドレス商用コンピュータである。後の 1200、2200、4200、8200などの機種の基本となった。H200と略記される。
IBM 1401への対抗機種として登場したH200は、1401の2~3倍の性能でソフトウェアのサポートにより 1401 のプログラムを再コンパイルせずに実行可能であった。マーケティングキャンペーンでこの互換性を利用し、IBM 1401 の販売を行き詰らせるほどの売れ行きを見せた。ハネウェルには当初数百の注文が殺到したが、後にIBMはマーケティング戦略としてSystem/360を開発中であることを明らかにし、H200シリーズの勢いは途絶えた。
日本では、日本電気がノックダウン輸入(部品の状態で輸入して現地組み立てする方式)でH200をNEAC2200として販売し、これが好評だったためシリーズ化した。しかし、ハネウェルの後継機開発が遅れるようになり、独自に上位機種を開発したこともある。ACOSはこれとは全く異なるアーキテクチャであり、エミュレータで従来互換を確保した。
アーキテクチャ
H200のメモリは文字単位にアドレスが振られている。各文字は6ビットデータと2ビットの区切りビットと1ビットのパリティビットから構成される。2つの区切りビットはワードマークとアイテムマークとして使われ、2ビット同時に立っているとワードマークを意味した。アイテムビットにより、「アイテム転記」、「レコード転記」、「ワード転記」が可能となっていた(文字列のメモリ上でのコピーをする際に長さを指定せず、区切りの印に到達するまでをコピーする方法)。
命令は1文字の命令コードと最大2つのオペランドアドレスで構成される。通常、命令コードの文字はワードマークが付与され、前の命令との区切りを示している。アイテムマークのついた命令コードは通常とは異なった扱いとなり、完全互換ではない IBM 1401 の命令をエミュレートするのに使用された。オペランドアドレスの最初の3ビットはメモリの先頭32番地までに存在する8本のインデックスレジスタを指定することができる。
Change Address Mode (CAM) 命令は命令のオペランドでアドレスを表すのに使用する文字数を切り替える命令である(これをアドレスモードと呼び、2文字、3文字、4文字がある)。
Change Sequence Mode (CSM)命令は次の命令アドレスを記憶したメモリ上のアドレスを指定し、そこから読み込んだアドレスをプログラムカウンタにセットする。これによりプログラム内のスレッドの切り替えに相当する簡単な仕組みを提供している。これは Honeywell 800シリーズと類似した機能である。
H200はコンソール、パンチカードリーダーとパンチといったIBM 1401と同じような入出力をサポートしたが、汎用入出力命令でラインプリンターや磁気テープ装置もサポートした。
入出力命令は区切りビットをそのままにして、データ部分(とパリティ)だけをメモリとの間でやり取りし、レコードマークを検出した時点で終了する。そのため、入力バッファの最後にレコードマークを書いておけばバッファオーバーランを防ぐことができる。
H200シリーズの入出力命令には Peripheral Data Transfer (PDT) や Peripheral Control and Branch (PCB) があり、これらによって明示的な非同期I/Oが実現されている。PDT命令はデバイスのアドレスとバッファのアドレスを指定して転送を開始する。PCB命令はデバイスのアドレスを指定して操作モードを設定したり、デバイスの状態をチェックするのに使われた。
ソフトウェア
Easycoderと呼ばれる固有のアセンブリ言語がある。
Easycoderの生成する実行ファイルはパンチカードか磁気テープに記録された。オブジェクトファイルにはブートルーチンが先頭に仕込まれていて、各プログラムはコンソールからのブート指示によってロードされ実行される。
H200 は大型の Honeywell 800 シリーズのスプーリングマシンとしても使われた。H1800-II は H1800本体には磁気テープ装置と H200へのオンラインアダプタ(OLA)接続のみを装備し、H200側でパンチカード関連のジョブ投入機能を持っていた。H200上のLINKプログラムがOLAを制御し、パンチカードや紙テープのデータを磁気テープにコピーしたり、逆に磁気テープのデータをパンチカードにパンチしたり、プリンターに出力したりといった使い方をした。
外部リンク
Honeywell Series 200(英語と仏語)
KI2zkEs
Popular posts from this blog
Ramiro Burr's New Blog - to go back: www.ramiroburr.com From Latin rock to reggaeton, boleros to blues,Tex-Mex to Tejano, conjunto to corridos and beyond, Ramiro Burr has it covered. If you have a new CD release, a trivia question or are looking for tour info, post a message here or e-mail Ramiro directly at: musicreporter@gmail.com Top Tejano songwriter Luis Silva dead of heart attack at 64 By Ramiro Burr on October 23, 2008 8:40 AM | Permalink | Comments (12) | TrackBacks (0) UPDATE: Luis Silva Funeral Service details released Visitation 4-9 p.m. Saturday, Rosary service 6 p.m. Saturday at Porter Loring, 1101 McCullough Ave Funeral Service 10:30 a.m. Monday St. Anthony De Padua Catholic Church, Burial Service at Chapel Hills, 7735 Gibbs Sprawl Road. Porter Loring (210) 227-8221 Related New Flash: Irma Laura Lopez: long time record promoter killed in accident NewsFlash: 9:02 a.m. (New comments below) Luis Silva , one of the most well-known ...
1 I having trouble getting my ResourceDictionary.MergedDictionaries to load from app.xaml. My WPF app has a static class with a Main defined and startup object set to it. Within Main I created an instance of App and run it. The override OnStartup fires and the mainwindow.cs InitializeComponent gives the error "Message "Cannot find resource named 'MaterialDesignFloatingActionMiniAccentButton'. If I put the resources in the mainwindow.xaml everything is fine, but I wanted them to load at the app level so I they are not in each page. Any help appreciated. public partial class App protected override void OnStartup(StartupEventArgs e) base.OnStartup(e); var app = new MainWindow(); var context = new MainWindowViewModel(); app.DataContext = context; app.Show(); from the Main.. var app = new App(); app.Run(); app.xaml.. <Application x:Class="GS.Server.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:...
up vote 2 down vote favorite There is a clear pattern that show for two separate subsets (set of columns); If one value is missing in a column, values of other columns in the same subset are missing for any row. Here is a visualization of missing data My tries up until now, I used ycimpute library to learn from other values, and applied Iterforest. I noted, score of Logistic regression is so weak (0.6) and thought Iterforest might not learn enough or anyway, except from outer subset which might not be enough? for example the subset with 11 columns might learn from the other columns but not from within it's members, and the same goes for the subset with four columns. This bar plot show better quantity of missings So of course, dealing with missings is better than dropping rows because It would affect my prediction which does contain the same missings quantity relatively. Any better way to deal with these ? [EDIT] The nullity pattern is confirmed: machine-learning cor...