Burroughs B1000シリーズは、 Burroughs Corporationが製造したメインフレームコンピュータのシリーズで、1970年代に初めて登場し、1987年までソフトウェア開発が続けられました。このシリーズは、B1700 、B1800、B1900の3つの主要な世代で構成されていました。また、 Burroughs Large Systems(B5000、B6000、B7000、B8000)およびBurroughs Medium Systems (B2000、B3000、B4000)と対比して、Burroughs Small Systemsとしても知られていました。
B1700(当初はPLP(「Proper Language Processor」または「Program Language Processor」)というコードネームで呼ばれていた)の初期研究の多くは、バロウズ社のパサデナ工場で行われた。[ 1 ]
B1700の生産は1970年代半ばに始まり、サンタバーバラ工場とベルギーのリエージュ工場で行われた。設計作業の大部分はサンタバーバラで行われたが、B1830は例外的にリエージュで設計された。
B1000マシンは、書き込み可能な制御ストアを備えている点で他のマシンと区別され、これによりマシンが 他のマシンをエミュレートすることが可能になります。Burroughs MCP (マスター制御プログラム)は、特定のジョブの実行をスケジュールします。MCPは、必要な言語のインタプリタをプリロードします。これらのインタプリタは、COBOL、Fortranなど、 さまざまな仮想マシンを提供します。
特定のプログラミング問題の解決策の理想的な表現と実際の物理ハードウェアとの間の「意味的ギャップ」という注目すべき概念は、当時のマシン実装の非効率性を示していました。バーローズの3つのアーキテクチャは、高水準言語に合わせたハードウェア、いわゆる言語指向設計(現代の用語。今日では「高水準言語コンピュータアーキテクチャ」と呼ばれることが多い)を構築することで、この問題を解決しようとしました。大型システムはスタックマシンであり、 ALGOLを非常に効率的に実行しました。中型システム(B2000、3000、B4000)はビジネスの世界を対象とし、COBOLを実行しました(そのため、メモリのアドレス指定を含め、すべてがBCDで行われました)。B1000シリーズは、あらゆる言語に対応する理想化された仮想マシンを使用していたため、この観点からはおそらく唯一の「汎用」ソリューションでした。
実際のハードウェアは、この機能を強化するために構築されました。最も分かりやすい例は、ビットアドレス指定可能なメモリと可変サイズの算術論理演算ユニット(ALU)でしょう。マシン語のもう一つの特徴は、ALUの出力が異なるアドレス指定可能なレジスタとして表示されることです。X+YとXYは、マシン語内では2つの読み取り専用レジスタです。
マイクロコードは、レジスタからのデータとマイクロコードからのマイクロ命令をOR演算し、その結果をマイクロ命令レジスタに送信する機能を備えており、非常に効率的なマイクロ命令解析を可能にした。この機能は、データと分岐の両方に対して複雑なアドレッシングモードを実装するのに役立った。これは主に、自己修正マイクロコードに頼ることなく、マイクロ命令内のアドレスフィールドを置き換えるために使用された。[ 2 ]
バロウズが主に企業向けサプライヤー(つまりCOBOLを運用している)であったという事実に対する譲歩の一つとして、ALUにBCD演算が搭載されていた。
内部的には、これらのマシンは16ビット命令と24ビットデータパスを採用していた。ビットアドレス指定可能なメモリは、この組み合わせを非常に効率的にサポートしていた。後期の世代のメモリは、内部的には32ビット境界でデータを格納していたが、この境界を越えて読み出し、統合された結果を出力することができた。
初期のハードウェア実装は、フェアチャイルド・セミコンダクターが最初に製造した相補型トランジスタロジック(CTL)ファミリ[ 3 ]をベースに構築されましたが、1979年にB1955が導入されると、より普及し入手しやすいTTLロジックファミリが採用されました。B1955までは、制御ロジックはPROM 、マルチプレクサなどで実装されていました。
シリーズ最後のB1965は、互いに同期を保つ一対のマイクロコードシーケンサで実装されました。命令の大部分は1サイクルで実行されました。この最初のサイクルは、16個の入力(16ビット命令ワードに最適なサイズ)と48個の最小項を使用するFPLAによってデコードされました。マルチサイクル命令の次のサイクルはPROMから供給されました。FPLAとPROMの出力は配線で接続されていました。FPLAは最初のサイクルで出力を駆動し、その後トライステート状態になります。PROMは命令が完了するまで制御線を駆動します。
B1000シリーズのI/Oシステムは、24ビットのデータパスと、周辺機器との間で送受信される制御ストローブで構成されていた。CPUはデータパス上にデータを配置した後、周辺機器にデータが存在することを通知した。多くの周辺機器アダプタは非常にシンプルな構造で、CPUは連続的なアクセスによってアダプタの状態遷移マシンを動作させていた。
1800シリーズと1900シリーズの後期モデルでは、シングルプロセッサ構成とデュアルプロセッサ構成のどちらにも対応可能でした。これらのマシンは密接に連携しており、メインメモリへのアクセスを競合していました。B1955とB1965はメモリバス上に最大4つのプロセッサを搭載できましたが、そのうち少なくとも1つは、システムにシリアルI/Oを提供するマルチラインアダプタに割り当てられていました。実際に販売されたのはデュアルプロセッサ構成のみでした。
マルチラインは、マルチドロップ構成で複数の19.2Kb RS485シリアルラインを駆動することができました。シリアルI/Oはポーリング方式で、各端末はアドレスが渡されるまで待機し、回線を取得して保留中のデータを送信しました。
マルチラインアダプタは、データをリンクリスト形式でメインメモリにDMA転送します。そのため、プロセッサはシリアルI/O割り込みの問題に対処する必要がありませんでした。これは、ブロックモード端末のみがサポートされていたことで実現されました。
B1000シリーズは最大2メガバイトのメモリをアドレス指定できた。ほとんどの商用システムでは、数百キロバイトのストレージで十分だった。