JPS584368B2 - デ−タ フイ−ルドヒカクソウチ - Google Patents
デ−タ フイ−ルドヒカクソウチInfo
- Publication number
- JPS584368B2 JPS584368B2 JP49142628A JP14262874A JPS584368B2 JP S584368 B2 JPS584368 B2 JP S584368B2 JP 49142628 A JP49142628 A JP 49142628A JP 14262874 A JP14262874 A JP 14262874A JP S584368 B2 JPS584368 B2 JP S584368B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data field
- register
- storage
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の詳細な説明】
目次
(5)発明の分野
(B)従来技術の説明
(C)従来技術の問題点
(D)本発明の概要と利点
(E)本発明の目的
(F)実施例の概要
(G)実施例の説明
(C−])命令フォーマットの説明(第1図)(G−2
)ハードウエアシステム及び動作の説明(第2図) (G−3)比較命令動作の説明(第3図、第4図)(G
−4)比較命令の前処理 (G−5)データ型式の判断 (G−6)+進数値データの場合の処理 (G−7)文字数字データの場合の処理 (H)まとめ (5)発明の分野 本発明は、データ処理システムに関し、とくに、二つの
異なったデータ・フィールドの内容比較をする装置及び
方法に関するものである。
)ハードウエアシステム及び動作の説明(第2図) (G−3)比較命令動作の説明(第3図、第4図)(G
−4)比較命令の前処理 (G−5)データ型式の判断 (G−6)+進数値データの場合の処理 (G−7)文字数字データの場合の処理 (H)まとめ (5)発明の分野 本発明は、データ処理システムに関し、とくに、二つの
異なったデータ・フィールドの内容比較をする装置及び
方法に関するものである。
(B)従来技術の説明
マルチプログラミング及び共用・アクセス・データ処理
システムの不断の進歩の結果既存ファイルに別の要求事
項を配置する新しいプログラムが常に書かれている。
システムの不断の進歩の結果既存ファイルに別の要求事
項を配置する新しいプログラムが常に書かれている。
従来技術でファイルの変更又はその構造の変更をしよう
とすると、ファイル全体の更新をしなければならない。
とすると、ファイル全体の更新をしなければならない。
この問題を避けるため、[データ・インデイペンデンス
(data independence)」の概念が使
われている。
(data independence)」の概念が使
われている。
記述制御ファイル(description cont
rolled file)、すなわち、データの内容及
び構造の記述がプログラムとは別に行われるファイルに
おいては、データ・インデイペンデンスにより外から見
てある型(form)を示すデータを他の型のデータを
同時に変更せずに変更することができる。
rolled file)、すなわち、データの内容及
び構造の記述がプログラムとは別に行われるファイルに
おいては、データ・インデイペンデンスにより外から見
てある型(form)を示すデータを他の型のデータを
同時に変更せずに変更することができる。
(C)従来技術の問題点
したがって、現在の技術水準で使われているデータ・イ
ンデイペンデンスは、[二つの型によるデータ表示」の
概念、すなわち第1にプログラムからみたデータ・フィ
ールドの型及び第2に二次記憶域におけるデータ・フィ
ールドの型を要求する。
ンデイペンデンスは、[二つの型によるデータ表示」の
概念、すなわち第1にプログラムからみたデータ・フィ
ールドの型及び第2に二次記憶域におけるデータ・フィ
ールドの型を要求する。
しかし、この条件は、データ・べ−ス・ファイル(da
ta base file)で働くルーチンに対してデ
ータのデブロッキング(deblocking)及びエ
ンブロッキング(enblocking)のタスクを著
しく面倒なものにする。
ta base file)で働くルーチンに対してデ
ータのデブロッキング(deblocking)及びエ
ンブロッキング(enblocking)のタスクを著
しく面倒なものにする。
第1に、データのエンブロック又はデブロックを要する
命令の型の決定、第2に演算実行のための特定命令の選
択のために相当長いデータ処理時間が使われることが知
られている。
命令の型の決定、第2に演算実行のための特定命令の選
択のために相当長いデータ処理時間が使われることが知
られている。
さらに、このタスクに必要な各種命令を使うことは、記
憶装置スペースの多犬な使用及びデータ処理時間の大幅
な消費を招くので、データ処理システムの運用上の重大
な問題になっている。
憶装置スペースの多犬な使用及びデータ処理時間の大幅
な消費を招くので、データ処理システムの運用上の重大
な問題になっている。
特定の命令に対する全体的性能(performa−n
ce)の基準についてみるに、データ処理システムにお
ける制限がデータプロセッサの性能の低下を招いている
。
ce)の基準についてみるに、データ処理システムにお
ける制限がデータプロセッサの性能の低下を招いている
。
たとえば、ユーザーがデータを書くときには、各種のフ
ォーマットを使って書くことができる。
ォーマットを使って書くことができる。
そのユーザ一が自己のデ一タ・フィールドの異なった部
分を比較しようとするときは簡単な比較命令で足りる。
分を比較しようとするときは簡単な比較命令で足りる。
しかし、データ処理ユニットが問題のデータ・フィール
ドをとり、データ管理部(data administ
rator)の決定により、そのデータ・フィールドの
長さがその一般フォーマット(書式)に適うように拡張
される。
ドをとり、データ管理部(data administ
rator)の決定により、そのデータ・フィールドの
長さがその一般フォーマット(書式)に適うように拡張
される。
このことは、たとえば、ユーザーが従業員100人程度
の小さい会社であり、データ処理システムがそれよりも
多い従業員を有する多数のユーザーによって使われてい
る場合におこる。
の小さい会社であり、データ処理システムがそれよりも
多い従業員を有する多数のユーザーによって使われてい
る場合におこる。
その結果、そのユーザーは自己の従業員の識別のために
は4バイトのみで足りるにもかかわらず、データ処理ユ
ニットとしては従業員識別のために6バイトを使う。
は4バイトのみで足りるにもかかわらず、データ処理ユ
ニットとしては従業員識別のために6バイトを使う。
比較命令を実行するときには、データ・プロセッサがま
ずサブルーチンによりユーザーの長さを定めることが必
要であり、このサブルーチンが記憶装置にアクセスし、
比較の実行をする特定命令を発生する。
ずサブルーチンによりユーザーの長さを定めることが必
要であり、このサブルーチンが記憶装置にアクセスし、
比較の実行をする特定命令を発生する。
以上から明らかなように、この簡単な操作のために相当
大きな記憶域スペースと演算時間が必要になる。
大きな記憶域スペースと演算時間が必要になる。
比較命令が可成の変更を行うのは、このほかに、データ
・プロセッサの諸ユニットがある単位をもつのに対し、
ユーザ一が自己のプログラムを別の単位で書いた場合が
ある。
・プロセッサの諸ユニットがある単位をもつのに対し、
ユーザ一が自己のプログラムを別の単位で書いた場合が
ある。
たとえば、データ処理システムがダラムによる情報を有
するときに、ユーザ一が自己のプログラムをポンドで書
くと、比較操作のためには、所要換算の形式を定めたの
ちその操作の実行をする特定命令の選択をすることが必
要になる。
するときに、ユーザ一が自己のプログラムをポンドで書
くと、比較操作のためには、所要換算の形式を定めたの
ちその操作の実行をする特定命令の選択をすることが必
要になる。
これらのサブルーチンは、たんに計算時間の浪費である
ばかりでなく、それに要する諸命令はデータ・プロセッ
サの記憶域スペースの最適利用を防げる。
ばかりでなく、それに要する諸命令はデータ・プロセッ
サの記憶域スペースの最適利用を防げる。
(D)本発明の概要と利点
本発明は、所要操作の種類の決定とその操作実行のため
の命令選択との二重タスクを除去する命令に関するもの
である。
の命令選択との二重タスクを除去する命令に関するもの
である。
このことは、異なる型式(type)の二つのフィール
ドを一つの命令のディスクリプタによって比較する機能
を有する比較命令によって達成される。
ドを一つの命令のディスクリプタによって比較する機能
を有する比較命令によって達成される。
したがって、4バイトフィールドと6バイト・フィール
ドとを比較するとき、及びダラムとポンドとを比較する
ときには、命令自体がその実行時に、その比較遂行に要
する情報を使う。
ドとを比較するとき、及びダラムとポンドとを比較する
ときには、命令自体がその実行時に、その比較遂行に要
する情報を使う。
本発明に完全に包含されるチャールズ・ダブリュー・バ
ツクマン(Charles W.Backman)の関
連出願においては、各種データ・フィールドの属性を記
述するデータ・フィールド・デスクリプタが列挙されて
いる。
ツクマン(Charles W.Backman)の関
連出願においては、各種データ・フィールドの属性を記
述するデータ・フィールド・デスクリプタが列挙されて
いる。
これらのデータ・フィールド・デスクリプタを使用する
ことにより、比較命令は、各種型式のデータについて操
作をする汎用論理命令となる。
ことにより、比較命令は、各種型式のデータについて操
作をする汎用論理命令となる。
この特徴の実現は、データ・フィールド・デスクリプタ
をその制御機構に適当に含め、命令実行時にデータを適
当な単位にフォーマット変更することによって達成され
る。
をその制御機構に適当に含め、命令実行時にデータを適
当な単位にフォーマット変更することによって達成され
る。
したがって、実行時に先行して、従来技術で必要とされ
た特殊命令を全く必要としない一般的手続がとられる。
た特殊命令を全く必要としない一般的手続がとられる。
さらに、比較命令とデータ属性とにより異なったデータ
フォーマットの比較が可能になるガら、データ処理時間
の浪費を伴う特殊サブルーチンが不要になる。
フォーマットの比較が可能になるガら、データ処理時間
の浪費を伴う特殊サブルーチンが不要になる。
この解決法によれば、フィールド内のレコードの変更又
はファイル内のレコードの再構成が容易に行えるという
利点が生ずる。
はファイル内のレコードの再構成が容易に行えるという
利点が生ずる。
この命令は、使用者によって又はデータ処理システムに
よって定義される情報に依存しないから、俊更が容易に
行える。
よって定義される情報に依存しないから、俊更が容易に
行える。
(E)本発明の目的
本発明の−泪的は、複数のユーザーからの各種データ型
式について操作することができるデータ処理システムを
提供するにある。
式について操作することができるデータ処理システムを
提供するにある。
本発明の他の目的は、データ処理システム全体の演算機
能を大幅に改善するデータ処理システム用比較命令を提
供するにある。
能を大幅に改善するデータ処理システム用比較命令を提
供するにある。
本発明はさらに、あらゆる型式のデータについて論理比
較命令の実行を高速かつ高効率ですることができるデー
タ処理装置の提供を目的とする。
較命令の実行を高速かつ高効率ですることができるデー
タ処理装置の提供を目的とする。
本発明はまた、所要命令の型式の判断又は各種型式のデ
ータについての演算に対する特殊命令の選択のための特
殊サブルーチンの必要性を除去することを目的とする。
ータについての演算に対する特殊命令の選択のための特
殊サブルーチンの必要性を除去することを目的とする。
(F)実施例の概要
上記目的を達成するため、本発明の−実施例によれば、
第1a図及び第1b図に示されたようなフォーマットを
有する比較命令を用い、これを実行する装置が提供され
る。
第1a図及び第1b図に示されたようなフォーマットを
有する比較命令を用い、これを実行する装置が提供され
る。
上記命令100はそのOPコードが比較命令を表わすこ
とが識別されると、その内の第1と第2のアドレス・シ
ラブルの内容とベース・レジスタ(図示せず)の内容と
を用いて比較されるべき各データ・フィールドに関連し
、かつその属性を記述するデータ・フィールド・デスク
リプクを位置決めするために用いられる。
とが識別されると、その内の第1と第2のアドレス・シ
ラブルの内容とベース・レジスタ(図示せず)の内容と
を用いて比較されるべき各データ・フィールドに関連し
、かつその属性を記述するデータ・フィールド・デスク
リプクを位置決めするために用いられる。
この葛1と第2のアドレス・シラブルに夫々関連するヂ
−ク・フィールド・デスクリプタは、第1c図に示すよ
うなフォーマットを有し、夫々第4図に示すレジスタA
C408及びAD410にロードされる。
−ク・フィールド・デスクリプタは、第1c図に示すよ
うなフォーマットを有し、夫々第4図に示すレジスタA
C408及びAD410にロードされる。
比較されるべきデータ・フィールドは、これらのデータ
・フィールド・デスクリプタの内の第1語102と他の
ペースレジスタ(図示せず)の内容を用いて位置決めさ
れる。
・フィールド・デスクリプタの内の第1語102と他の
ペースレジスタ(図示せず)の内容を用いて位置決めさ
れる。
その後第4図の計算ユニット416を用いて献・記デー
タ・フィールド・デスクリプク内の、関連する各データ
・フィールドに関する属性の記述を用いて、比較される
べきデータ・フィールドのフォーマットを比較し、それ
らが等しくない場合は制御記憶ユニット210及び制御
インターフエイス・アダプタ209の制御下で、一つの
データ・フィールドを他のデータ・フィールドのフォー
マットに適合するように自動的にフォーマット変更をす
る。
タ・フィールド・デスクリプク内の、関連する各データ
・フィールドに関する属性の記述を用いて、比較される
べきデータ・フィールドのフォーマットを比較し、それ
らが等しくない場合は制御記憶ユニット210及び制御
インターフエイス・アダプタ209の制御下で、一つの
データ・フィールドを他のデータ・フィールドのフォー
マットに適合するように自動的にフォーマット変更をす
る。
ついで、二つのデータ・フィールドについてビットごと
の比較をする。
の比較をする。
こうして、第1データ・フィールドと第2データ・フィ
ールドとの間の大小・同一関係が決定される。
ールドとの間の大小・同一関係が決定される。
(G)実施例の説明
以下添附図を参照して本発明を詳細に説明する。
本発明はデータ処理システムに関するものであるから、
その説明は複雑になるが、本発明自体の説明のためには
データ処理システムの細部をすべて記述する必要はない
。
その説明は複雑になるが、本発明自体の説明のためには
データ処理システムの細部をすべて記述する必要はない
。
したがって、当業者に周知の細部の多くのものについて
は、その説明を省略する。
は、その説明を省略する。
詳細説明は省くが、本発明が置かれる環境を明らかにす
るため、システム全体の基本原理を記す。
るため、システム全体の基本原理を記す。
図中同一部分は同一符号で示す。(G−1)命令フォー
マットの説明(第1図)第1図は、本発明の比較命令の
ために使われる語を示す。
マットの説明(第1図)第1図は、本発明の比較命令の
ために使われる語を示す。
すなわち、第1a図は、本発明において使われる比較命
令100の前半を示す。
令100の前半を示す。
第1a図において、最初の8ビットは、演算コード、す
なわちOPコードを示し、その特定ビット表示のデコー
ドにより比較命令を識別する。
なわちOPコードを示し、その特定ビット表示のデコー
ドにより比較命令を識別する。
次の4ビット、すなわちビット8−11は、これらのビ
ットがゼロでなければならないことを示すMBZである
。
ットがゼロでなければならないことを示すMBZである
。
ビット12−31は、記憶装置内のソース・フィールド
オペランドの論理表示である第1アドレス・シラブルA
SIを示す。
オペランドの論理表示である第1アドレス・シラブルA
SIを示す。
ここに使用する特定型式の演算のためには、アドレス・
シラブルの第1ビット、すなわちビット12は二進1に
セットされる。
シラブルの第1ビット、すなわちビット12は二進1に
セットされる。
このビットは、間接アドレシング・モードを指定するた
めに使われ、このモードではまず、「データ・ベース・
ファイル用デ一タ・フィールド・デスクリプタを使うデ
ータ処理システム」と題するチャールズ・ダブリュー・
バツクマンの特許出願に記載された機構を介して第1c
図示すデータ・フィールド・デスクリプタにアクセスす
る。
めに使われ、このモードではまず、「データ・ベース・
ファイル用デ一タ・フィールド・デスクリプタを使うデ
ータ処理システム」と題するチャールズ・ダブリュー・
バツクマンの特許出願に記載された機構を介して第1c
図示すデータ・フィールド・デスクリプタにアクセスす
る。
その後、データ・フィールド・デスクリプタの語102
が所要のデータ・フィールドにアクセスする。
が所要のデータ・フィールドにアクセスする。
各アドレスシラブルに対するデータ・フィールド及びデ
ータ・フイールド・デスクリブタの検索及び生成は、上
記出願に詳細に記載されているから、その説明は省略す
る,比較命令に対しては、ソース及びデステイネーショ
ン(destination)の属性を知るために二つ
のアドレス・シラブルが必要である。
ータ・フイールド・デスクリブタの検索及び生成は、上
記出願に詳細に記載されているから、その説明は省略す
る,比較命令に対しては、ソース及びデステイネーショ
ン(destination)の属性を知るために二つ
のアドレス・シラブルが必要である。
すなわち、ビット12−31の第1アドレス・シラブル
As1が、コ−ザーによって与えられかつ一つの記憶位
置に置かれたソースの論理オペランドを指定し、ビツト
44−63の第2アドレス・シラブルAS2が、デステ
イネ−ションの論理オペランドを指定する。
As1が、コ−ザーによって与えられかつ一つの記憶位
置に置かれたソースの論理オペランドを指定し、ビツト
44−63の第2アドレス・シラブルAS2が、デステ
イネ−ションの論理オペランドを指定する。
比較命令に対する各アドレス・シラブルASIAS2は
、第1c図に語102,104,106として示すデー
タ・フィールド・デスクリプクを引用する。
、第1c図に語102,104,106として示すデー
タ・フィールド・デスクリプクを引用する。
語102は、最終的に第1b図のビット32−39に示
す汎用・レジスタに貯えられる。
す汎用・レジスタに貯えられる。
ビット32−35は第1アドレス・シラブルに対応する
第1汎用・レジスタを示し、ビツト36−39は第2ア
ドレス・シラブルによって作られた情報をもつ第2汎用
・レジスタを示す。
第1汎用・レジスタを示し、ビツト36−39は第2ア
ドレス・シラブルによって作られた情報をもつ第2汎用
・レジスタを示す。
ビツト44−63の第2アドレス・シラブルは、第1ア
ドレス・シラブルAS1と同様にして、インデイレクシ
ョン(indirection)により第1図の詔10
2,104,106をつくる。
ドレス・シラブルAS1と同様にして、インデイレクシ
ョン(indirection)により第1図の詔10
2,104,106をつくる。
詔104及び106は、データに対して特定化ゴされた
属性を含む拡張データ・デスクリプタである。
属性を含む拡張データ・デスクリプタである。
語102にアクセスしたのち、タグ・フィールド01が
附加データの検索の必袈を表示する。
附加データの検索の必袈を表示する。
この附加データ(すなわち、少くとも語104)は、語
102の生成によりフユツチされるべきオペランドの属
性を示す。
102の生成によりフユツチされるべきオペランドの属
性を示す。
すなわち、語104のビット32−34は、ユーザーに
対し自己のファイルにビット列の形で情報を圧縮できる
能力を与えるビット列を識別する。
対し自己のファイルにビット列の形で情報を圧縮できる
能力を与えるビット列を識別する。
ビット35はゼロであることを要す。
ビツト36一38は、オペランドの配列制御を定義する
配列フィールドを示す。
配列フィールドを示す。
配列フィールド古は、アドレス・シラブルによって指定
されたデータ・フィールド内に2つ以トのオペランドが
あることを意味する。
されたデータ・フィールド内に2つ以トのオペランドが
あることを意味する。
ビット36の値が二進1であるときは、長さ及び大きさ
フィールドを有する語106が、配列フィールドにおけ
るオペランドの位置及びその大きさを定めるためにアク
セスされる。
フィールドを有する語106が、配列フィールドにおけ
るオペランドの位置及びその大きさを定めるためにアク
セスされる。
語104のビット39は、変更可能性インジケークであ
る。
る。
この変更可能性が存在する、すなわちこのビットが二進
1であるときは、データ・フィールド・デスクリプタに
よって記述されたソース・フィールド内のオペランドが
、デスデイネーションによって指定されたオペランドに
書込まれ得る。
1であるときは、データ・フィールド・デスクリプタに
よって記述されたソース・フィールド内のオペランドが
、デスデイネーションによって指定されたオペランドに
書込まれ得る。
語104のビツト40−63は、データの特性を識別す
るデータ・フィールド・デスクリプタを示す。
るデータ・フィールド・デスクリプタを示す。
すなわち、ビット40−47はデ一夕型式(type)
を示す。
を示す。
データ型式占は、ユーザーかりえる情報のフォーマット
の一定の特徴の記述を意味する。
の一定の特徴の記述を意味する。
たとえば、ある値の二進コードは、文字数字列、非パッ
ク化十進、パック化十進、その他の各種フォーマットな
どを表わすこさができる。
ク化十進、パック化十進、その他の各種フォーマットな
どを表わすこさができる。
比較命令の目的のためには、Eつの群が区別される。
第1群は文字数字列フオーマツトであり、この場合には
フィールド対フィールド比較が行われる。
フィールド対フィールド比較が行われる。
第2群は非パック化及びバック化十進数を含み、そのい
ずれかが存在する場合にはパック化十進構成に変えられ
る。
ずれかが存在する場合にはパック化十進構成に変えられ
る。
第3群は、翻訳を要する附加的フォーマットに関するも
ので、ここではその説明を省略する。
ので、ここではその説明を省略する。
ビット48−55は、オペランドのキー・フィールドを
定義する。
定義する。
キー・フィールドは、特定データ型式の一定の特徴、た
とえば、ユーザーがんえた情報の型式の記述である。
とえば、ユーザーがんえた情報の型式の記述である。
その結果、キー・フィールドはデータ型式に対して条件
を二次的に課する。
を二次的に課する。
たとえは、平方フイ−ト当りのポンドをソース・フィー
ルドからデステイネーション・フィールドのポンドへ移
そうとすると、キー・フィールドがその操作が許容でき
ない旨を表示する。
ルドからデステイネーション・フィールドのポンドへ移
そうとすると、キー・フィールドがその操作が許容でき
ない旨を表示する。
したがって、たとえばデータ型式に互換性があっても、
ある種の変換は等しくないキー・フィールドにより使用
される。
ある種の変換は等しくないキー・フィールドにより使用
される。
語104のビット56−63は、アドレス・シラブルが
指定したオペランドに関する8ビット長さ記述である。
指定したオペランドに関する8ビット長さ記述である。
長さ記述は、オペランド中のバイトの数を表示する。
オペランドの長さは次の条件をみたさなければならない
。
。
すなわち、第1に、バイト列の場合には、その長さは2
56バイト又はそれ未満でなければならず、第2に、十
進数列の場合には、その長さは32デイジツト未満でな
ければならない。
56バイト又はそれ未満でなければならず、第2に、十
進数列の場合には、その長さは32デイジツト未満でな
ければならない。
その長さが上記限度を超えたときは、違法(illeg
al)データ例外となる。
al)データ例外となる。
第1c図の語106は、長さ表示を指定するビット64
−79、及び大きさ表示を指定するビツト80−95を
有する。
−79、及び大きさ表示を指定するビツト80−95を
有する。
これらのものはそれぞれ、語104のビツト36−39
の配列上下限インデックスが存在するときに使われる。
の配列上下限インデックスが存在するときに使われる。
これらのフィールドの詳細については、上記バツ〃マン
の特許出願を参照されたい。
の特許出願を参照されたい。
語106がデ−ク取得のために与える機構は本発明の要
件ではないから、その説明を省略する。
件ではないから、その説明を省略する。
(G−2)ハードウエアシステム及び動作の説明(第2
図) 第2図は、本発明を利用したデータ処理ハードウエア・
システムのブロック図であり、第13及び1b図の命令
100の操作及び第1図に示す命令100が与えるアド
レスからのデータ・フィールド・デスクリブタの操作を
、このブロック図を参照して説明する。
図) 第2図は、本発明を利用したデータ処理ハードウエア・
システムのブロック図であり、第13及び1b図の命令
100の操作及び第1図に示す命令100が与えるアド
レスからのデータ・フィールド・デスクリブタの操作を
、このブロック図を参照して説明する。
第2図において、主記憶装置201は、MOS半導体(
metal−oxide semiconductor
)記憶装置の四つのモジュールからなる。
metal−oxide semiconductor
)記憶装置の四つのモジュールからなる。
四つの記憶モジュールO−3は、主記憶シーケンサ20
2を介して中央処理ユニツト200とインターフエイス
する。
2を介して中央処理ユニツト200とインターフエイス
する。
これら四つの主記憶モジュール0−3はまた、主記憶シ
ーケンサ202及び人出力コントローラTOC220を
介して、磁気デープ・ユニット及びディスク装置ユニッ
ト等の周辺サブシステム(図示せず)とインターフエイ
スする。
ーケンサ202及び人出力コントローラTOC220を
介して、磁気デープ・ユニット及びディスク装置ユニッ
ト等の周辺サブシステム(図示せず)とインターフエイ
スする。
主記憶シ一ケンサは、四つの記憶モジュ−ルのすべてに
対するアクセス及び制御機能を与える。
対するアクセス及び制御機能を与える。
記憶シーケンザ202は記憶サイクル安求を重畳させる
ことができるので、二つ以上の記憶モジュール0−3が
同時にサイクル動作できる。
ことができるので、二つ以上の記憶モジュール0−3が
同時にサイクル動作できる。
CPU200、緩衝記憶装置204、及びTOC220
はそれぞれ、各記憶参照においてデータのダブルワード
(8バイト)にアクセスすることができる。
はそれぞれ、各記憶参照においてデータのダブルワード
(8バイト)にアクセスすることができる。
しかし、CPU記憶アクセスにおいては、高位4バイト
又は低位4バイトが選択され、情報の4バイトのみがC
PU200内に受信される。
又は低位4バイトが選択され、情報の4バイトのみがC
PU200内に受信される。
CPUの動作は、以下に制御記憶ユニット210と呼ぶ
読出専用記憶装置ROMによって制御される。
読出専用記憶装置ROMによって制御される。
(本発明を実施するための制御記憶ユニツトの詳細につ
いては、1970年プレンテイスホール社出版サミール
・工・ハツソン著[7イクロプログラミングの原理と実
際(Microprogram−ming:Princ
iples and Practices)」と題する
書物を参照されたい。
いては、1970年プレンテイスホール社出版サミール
・工・ハツソン著[7イクロプログラミングの原理と実
際(Microprogram−ming:Princ
iples and Practices)」と題する
書物を参照されたい。
また、ハネイウエル社の米国特許第3,634,883
号は、他の標準的制御記憶ユニットを開示している。
号は、他の標準的制御記憶ユニットを開示している。
)制御記憶ユニツト210の各位置は一つのCPUザイ
クルを制御するものとして解釈される。
クルを制御するものとして解釈される。
制御記憶ユニツトの各位置が読出されるのに応じて、そ
の内容がマイクロOPデコード機能によってデコードさ
れる。
の内容がマイクロOPデコード機能によってデコードさ
れる。
各マイクロ0Pデコード機能は、CPU内の特定演算を
作動させる。
作動させる。
たとえば、010とデコードされる制御記憶ユニツトの
データ・ビツト1,2、及び3(図示せず)は、Aレジ
スタ(図示せず)からBレジスタ(図示せず)への転送
を行わせるマイク0OPデコード機能を能動状態にする
ことができる。
データ・ビツト1,2、及び3(図示せず)は、Aレジ
スタ(図示せず)からBレジスタ(図示せず)への転送
を行わせるマイク0OPデコード機能を能動状態にする
ことができる。
各制御記憶ユニット位置は30ないし50ビットを含む
こ吉ができるので、各制御記憶ザイクルに対して多数の
マイクロOPデコード機能を選択的に能動状態にするこ
とができる。
こ吉ができるので、各制御記憶ザイクルに対して多数の
マイクロOPデコード機能を選択的に能動状態にするこ
とができる。
記憶位置をグループ分けすることによって、特定のCP
U演算又は命令を実竹さぜる制御記憶シーケンサを実現
することができる。
U演算又は命令を実竹さぜる制御記憶シーケンサを実現
することができる。
CPUが各命令を開始させるのに応じて、OPコード中
のあるビツトが制御記憶開始シーケンスを定めるために
使われる。
のあるビツトが制御記憶開始シーケンスを定めるために
使われる。
命令デコード機能によってセット又はリセツトされる一
定のブロック(図示せず)を試験することにより、制御
記憶ユニット210は、必要に応じて特定シーケンスへ
分岐する。
定のブロック(図示せず)を試験することにより、制御
記憶ユニット210は、必要に応じて特定シーケンスへ
分岐する。
制御配憶インターフエイス・アダプタ209は、制御記
憶ユニット210、データ管理ユニット206、アドレ
ス制御ユニット207、及び算術・論理ユニット212
と通信し、制御記憶ユニット210の操作を指示する。
憶ユニット210、データ管理ユニット206、アドレ
ス制御ユニット207、及び算術・論理ユニット212
と通信し、制御記憶ユニット210の操作を指示する。
制御記憶インターフエイス・アダプタ209は、制御記
憶アドレス修飾、試験、誤りチェック、及びハードウエ
ア・アドレス発生に対する論理を含む。
憶アドレス修飾、試験、誤りチェック、及びハードウエ
ア・アドレス発生に対する論理を含む。
ハードウエア・アドレス発生は、一般に、誤りシ−ケン
ス又は初期設定シーケンスの開始アドレスの発生に使わ
れる。
ス又は初期設定シーケンスの開始アドレスの発生に使わ
れる。
緩衝記憶装置204は、最も頻繁に使われる情報又はC
PUで処理中の最後に使われた情報を貯えるために使わ
れる。
PUで処理中の最後に使われた情報を貯えるために使わ
れる。
緩衝記憶装置は、比較的小さな極めて高速の記憶装置で
あって、128列と上側行及び下側行として参照される
2行とをもつ。
あって、128列と上側行及び下側行として参照される
2行とをもつ。
それは、−意にアドレスすることができるプリセット・
ブロックに論理的に分けられている。
ブロックに論理的に分けられている。
これらのブロックはページと呼ばれ、各記憶装置ページ
は32バイトの情報をもつ。
は32バイトの情報をもつ。
各ページは、主記憶装置アドレスの最上位16ビットに
よってアドレスすることができ、下位5ビットはそのペ
ージ内の特定情報バイトをアドレスするために使われる
。
よってアドレスすることができ、下位5ビットはそのペ
ージ内の特定情報バイトをアドレスするために使われる
。
ページを、その列の割尚てを維持したまま主記憶装置か
ら緩衝記憶装置へ転送することが可能であり、たとえば
、主記憶装置の列1からのページは常に緩衝記憶装置の
列1へ転送される。
ら緩衝記憶装置へ転送することが可能であり、たとえば
、主記憶装置の列1からのページは常に緩衝記憶装置の
列1へ転送される。
しかし、情報をその列の上側行にいれるか又は下側行に
いれるかは、利用可能性による。
いれるかは、利用可能性による。
したがって、主記憶装置ページの各列ごとに(たとえば
、256Kないし2メガバイトの主記憶装置を有するシ
ステムに対しては64ないし512ページがある。
、256Kないし2メガバイトの主記憶装置を有するシ
ステムに対しては64ないし512ページがある。
)、緩衝記憶装置内に2ページがある。たとえば、緩衝
記憶装置の列37は、主記憶装置内の列37からの情報
の任意の2ページを含む。
記憶装置の列37は、主記憶装置内の列37からの情報
の任意の2ページを含む。
任意時点において緩衝記憶装置列に含まれる2ページの
情報は、CPUが最も最近にアクセスしたページがどれ
であるかによって定まり、したがって通常は最も最近に
アクセスした2ページが緩衝記憶装置204内に留まる
。
情報は、CPUが最も最近にアクセスしたページがどれ
であるかによって定まり、したがって通常は最も最近に
アクセスした2ページが緩衝記憶装置204内に留まる
。
与えられた情報ページが緩衝記憶装置204内に含まれ
ているか否かは、緩衝記憶登録簿205の内容を調べる
ことによってのみ判断できる。
ているか否かは、緩衝記憶登録簿205の内容を調べる
ことによってのみ判断できる。
緩衝記憶登録簿は緩衝記憶装置と同様に分割されるが、
情報のページの代りに、緩衝記憶登録簿205の各列は
、緩衝記憶装置204内の対応情報の主記憶装置の行ア
ドレスを含む。
情報のページの代りに、緩衝記憶登録簿205の各列は
、緩衝記憶装置204内の対応情報の主記憶装置の行ア
ドレスを含む。
たとえば、緩衝記憶装置204の列0が下側行にページ
20を上側行にページ0を有する場合には、緩衝記憶登
録簿の上側及び下側行はそれぞれ、10100及びoo
oooを有する。
20を上側行にページ0を有する場合には、緩衝記憶登
録簿の上側及び下側行はそれぞれ、10100及びoo
oooを有する。
したがって、その列番号を有する緩衝記憶登録簿205
にアクセスしかつ被要求行番号を緩衝記憶登録簿位置に
含まれる行番号と比較することにより、CPUは与えら
れたページが緩衝記憶装置に含まれるか否か判断するこ
とができる。
にアクセスしかつ被要求行番号を緩衝記憶登録簿位置に
含まれる行番号と比較することにより、CPUは与えら
れたページが緩衝記憶装置に含まれるか否か判断するこ
とができる。
データ管理ユニット206は、CPUと主記憶装置20
1及び/又は、緩衝記憶装置204との間のデータ・イ
ンターフエイスを与える。
1及び/又は、緩衝記憶装置204との間のデータ・イ
ンターフエイスを与える。
記憶装置読出し操作中は、主記憶装置又は緩衝記憶装置
から情報が検索される。
から情報が検索される。
適当な時点に情報をCPUレジスタへストローブ(st
robe)するのがデー夕管理ユニット206の責任で
ある。
robe)するのがデー夕管理ユニット206の責任で
ある。
データ管理ユニットはまた、部分的書込操作中にマスキ
ングを行う。
ングを行う。
データ管理ユニット206、アドレス制御ユニット20
7、算術・論理ユニット212、及び制御記憶ユニット
210とインターフエイスする情報フエツチ・ユニット
208は、CPUへの命令供給を維持する責任を有する
。
7、算術・論理ユニット212、及び制御記憶ユニット
210とインターフエイスする情報フエツチ・ユニット
208は、CPUへの命令供給を維持する責任を有する
。
このユニットは、現在の命令の完了前に後続命令をその
レジスタにおいて利用可能にしようとする。
レジスタにおいて利用可能にしようとする。
この機能を与えるため、命令フエツチ・ユニット208
は、常時二つ以上の命令を保有する12語の命令レジス
タ(図示せず)をもつ。
は、常時二つ以上の命令を保有する12語の命令レジス
タ(図示せず)をもつ。
さらに、命令フエツチ・ユニットは、制御記憶210の
制御下において、実際に命令が必要となる前にその命令
の主記憶装置201からの供給を要求し、その12語命
令レジスタを常時更新しておく。
制御下において、実際に命令が必要となる前にその命令
の主記憶装置201からの供給を要求し、その12語命
令レジスタを常時更新しておく。
このように、常時非使用(normally unus
ed)の記憶サイクルにより、命令はプリフエツチされ
る。
ed)の記憶サイクルにより、命令はプリフエツチされ
る。
命令フエツチ・ユニットはまた、各命令をデコードし、
かつ、他の諸ユニットに対し命令の長さ及びフォーマッ
トを通報する。
かつ、他の諸ユニットに対し命令の長さ及びフォーマッ
トを通報する。
アドレス制御ユニット207は、命令フエツチ・ユニッ
ト208、緩衝記憶登録簿205、主記憶域シーケンサ
202、算術・論理ユニット212、データ管理ユニッ
ト206、及び制御記憶インターフエイス・アダプタ2
09経由で制候記憶ユニット210とインターフエイス
する。
ト208、緩衝記憶登録簿205、主記憶域シーケンサ
202、算術・論理ユニット212、データ管理ユニッ
ト206、及び制御記憶インターフエイス・アダプタ2
09経由で制候記憶ユニット210とインターフエイス
する。
アドレス制御ユニット207は、CPUにおけるずべて
のアドレス・生成に対する責任をもつ。
のアドレス・生成に対する責任をもつ。
アドレス制御ユニットのすべての操作は、そのユニット
への人出及びそのユニット内部の操作を含めてそのユニ
ット内の制御記憶マイクロOP及び論理によって指示さ
れる。
への人出及びそのユニット内部の操作を含めてそのユニ
ット内の制御記憶マイクロOP及び論理によって指示さ
れる。
アドレス制御ユニットの通常サイクル操作は、命令の型
式によるよりはむしろ命令におけるアドレスの型式によ
って定まる。
式によるよりはむしろ命令におけるアドレスの型式によ
って定まる。
アドレスの型式にもとづいて、アドレス制御ユニットは
、命令中の各アドレスに対して異なった操作を遂行する
。
、命令中の各アドレスに対して異なった操作を遂行する
。
アドレス制御ユニット207はまた、最も最近に使用さ
れた八つの記憶セグメントのベース・アドレスをそのセ
グメント番号とともに貯えるアソシアチブ記憶装置を有
する。
れた八つの記憶セグメントのベース・アドレスをそのセ
グメント番号とともに貯えるアソシアチブ記憶装置を有
する。
記憶装置要求がなされるたびごとに、セグメント番号が
アソシアチブ記憶装置の内容に対比してチェックされ、
そのセグメントのベース・アドレスが作られて貯えられ
ているか否か判断される。
アソシアチブ記憶装置の内容に対比してチェックされ、
そのセグメントのベース・アドレスが作られて貯えられ
ているか否か判断される。
ベース・アドレスがアソシアチブ記憶装置内に含まれて
いる場合には、このアドレスが絶対アドレスの生成にお
いて使用され、相当大幅な時間の節減が可能になる。
いる場合には、このアドレスが絶対アドレスの生成にお
いて使用され、相当大幅な時間の節減が可能になる。
ベース・アドレスがアンシアチブ記憶装置に含まれてい
ない場合には、主記憶装置表へアクセスすることにより
それが作られる。
ない場合には、主記憶装置表へアクセスすることにより
それが作られる。
しかしそのセグメントのベース・アドレスが生成された
のち、それは、将来の引用のためセグメント番号ととも
にアソシアチブ記憶装置内に貯えられる。
のち、それは、将来の引用のためセグメント番号ととも
にアソシアチブ記憶装置内に貯えられる。
CPU200の一次作業領域である算術・論理ユニット
212は、アドレス制御ユニット207命令フエツチ・
ユニット208、及び制御記憶ユニット210とインタ
ーフエイスする。
212は、アドレス制御ユニット207命令フエツチ・
ユニット208、及び制御記憶ユニット210とインタ
ーフエイスする。
算術・論理ユニットの一次的機能は、算術演算の遂行と
CPUが要求するデータ操作にある。
CPUが要求するデータ操作にある。
算術・論理ユニットの操作は完全に、制御記憶ユニット
210からの制御記憶マイクロOPによって定まる。
210からの制御記憶マイクロOPによって定まる。
算術・論理ユニット212及び制御記憶ユニット210
と関連したローカル記憶ユニット211は、256位置
(位置ごとに32ビット)の固体記憶装置ならびに選択
及び記憶装置に対する読出/書込論理からなる。
と関連したローカル記憶ユニット211は、256位置
(位置ごとに32ビット)の固体記憶装置ならびに選択
及び記憶装置に対する読出/書込論理からなる。
ローカル記憶装置211はCPU制御及び保全性(ma
intenability)情報を貯えるために使われ
る。
intenability)情報を貯えるために使われ
る。
さらに、ローカル記憶装置211は作業領域をもち、こ
れがオペランドの一時的記憶及びデータ操作中の部分的
結果の記憶のために使われる。
れがオペランドの一時的記憶及びデータ操作中の部分的
結果の記憶のために使われる。
標準的な中央処理ユニツトCPU200は、算術・論理
ユニット212内に位置する八つのべ一ス・レジスタを
もち、これらはアドレス計算の過程においてセグメント
番号、オフセット、及びリング番号の定義のために使わ
れる。
ユニット212内に位置する八つのべ一ス・レジスタを
もち、これらはアドレス計算の過程においてセグメント
番号、オフセット、及びリング番号の定義のために使わ
れる。
オフセットはセグメント内のポインタであり、リング番
号はアドレス妥当性の計算において特定参照がセグメン
トにアクセスするための権利の判断のために使われる。
号はアドレス妥当性の計算において特定参照がセグメン
トにアクセスするための権利の判断のために使われる。
第3図は、上記チャールズ・バンクマンの特許願におけ
るステップ432の詳細なフロー・チャートであり、一
つの実行可能な汎用論理命令のステップを示す。
るステップ432の詳細なフロー・チャートであり、一
つの実行可能な汎用論理命令のステップを示す。
この時点における結果として、第1a及び1b図に示す
命令100が、第2図及び第4図に示す命令フエツチ・
ユニット208の命令レジスタ400内に貯えられる。
命令100が、第2図及び第4図に示す命令フエツチ・
ユニット208の命令レジスタ400内に貯えられる。
制御記憶インターフエイス・アダプタ209が比較操作
コードを検出すると、制御記憶ユニット210を使用可
能にして、比較すべき両データ・フィールドのデータ及
びデータ・フィールド・デスクリプクについて一連の試
験をする。
コードを検出すると、制御記憶ユニット210を使用可
能にして、比較すべき両データ・フィールドのデータ及
びデータ・フィールド・デスクリプクについて一連の試
験をする。
これらの試験の発生は、制御記憶ユニット210からの
マイクロ命令によって行われる。
マイクロ命令によって行われる。
これらの試験の結果は制御記憶インターフエイス・アダ
プタ209によって検出され、その試験結果に応じてそ
のアダプタが後続マイクロ命令を修正して、被検出条件
を含んだ関連マイクロ命令を発生ずる。
プタ209によって検出され、その試験結果に応じてそ
のアダプタが後続マイクロ命令を修正して、被検出条件
を含んだ関連マイクロ命令を発生ずる。
IOC220は、多数の周辺ザブシステムから主記憶装
置にいたるデータ通路を完成するところの中央処理ユニ
ットサブシステムの一部分である,それは、周辺命令を
開始すべき通路を与え、かつ,それは結果のデータ転送
を制御する。
置にいたるデータ通路を完成するところの中央処理ユニ
ットサブシステムの一部分である,それは、周辺命令を
開始すべき通路を与え、かつ,それは結果のデータ転送
を制御する。
IOCは最大16個のチャンネル制御ユニットの取扱が
可能であり、各チャンネル制御ユニットは一つの周辺制
御ユニットを処理することができる。
可能であり、各チャンネル制御ユニットは一つの周辺制
御ユニットを処理することができる。
ユーザーのデータ・ベース・ファイルを中央処理サブシ
ステムへ与えるのはこれらの周辺制御ユニットである。
ステムへ与えるのはこれらの周辺制御ユニットである。
(G−3)比較命令動作の説明(第3図、第4図)第3
図は、比較命令のフロー・チャートを示す。
図は、比較命令のフロー・チャートを示す。
第3図は、第2図及び第4図と併せて読むときに、この
システムの全体的動作を示す。
システムの全体的動作を示す。
第4図は、システム・レベルにおける比較命令によるデ
ータの転送及び操作を示す図式的説明図である。
ータの転送及び操作を示す図式的説明図である。
第3図のフロー・チャートと併読すれば、比較命令に含
まれる演算及び手続を理解することができる。
まれる演算及び手続を理解することができる。
制御記憶ユニット210と制御記憶インターフエイス・
アダプタ209との相互接続はマイクロ分岐技術を与え
、ここにおいて、制御記憶インターフエイス・アダプタ
が受取った信号は制御記憶ユニット210内の直接アド
レスに翻訳される。
アダプタ209との相互接続はマイクロ分岐技術を与え
、ここにおいて、制御記憶インターフエイス・アダプタ
が受取った信号は制御記憶ユニット210内の直接アド
レスに翻訳される。
その結果の操作は、さきに検出された条件を考慮した後
続データ転送用直接経路を確立する。
続データ転送用直接経路を確立する。
この事象のこのシーケンスは、第3図の各菱形に対して
発生するが、その詳細説明は省略する(この操作の詳細
説明については、1972年1月l1日にレオナルド・
クライデルマツヘルに与えられた米国特許第3,643
,883号、及び1971年2月2目にスコツト・シュ
バルツに与えられた米国特許第3,560,993号を
参照されたい。
発生するが、その詳細説明は省略する(この操作の詳細
説明については、1972年1月l1日にレオナルド・
クライデルマツヘルに与えられた米国特許第3,643
,883号、及び1971年2月2目にスコツト・シュ
バルツに与えられた米国特許第3,560,993号を
参照されたい。
)。(G−4)比較命令の前処理
始まりスデツプ300の前に、命令100の処理により
データ・フィールド・デスクリプタ及びデータ・フイ−
ルドを与える。
データ・フィールド・デスクリプタ及びデータ・フイ−
ルドを与える。
間接アドレス・生成には多くの方法がある(たとえば、
1968年11月9日付のクールール等の米国特許第3
,412,382号)が、好ましい方法は次の通りであ
る。
1968年11月9日付のクールール等の米国特許第3
,412,382号)が、好ましい方法は次の通りであ
る。
各アドレス・シラブルは、算術・論理ユニツト212内
に位置するベース・レジスタを識別する一定のビツト・
フィールドを含む。
に位置するベース・レジスタを識別する一定のビツト・
フィールドを含む。
このベース・レジスタはセグメント番弓及びオフセツト
を含む,セグメント番号は、所要のデータ・デスクリプ
タを貯えたセグメントの位置を示すデスクリプタを与え
る表を参照する。
を含む,セグメント番号は、所要のデータ・デスクリプ
タを貯えたセグメントの位置を示すデスクリプタを与え
る表を参照する。
このデータ・デスクリブタを識別するために、ベース・
レジスタが与えるオフセットを、アドレス・シラブル内
の変位フィールドに加算する。
レジスタが与えるオフセットを、アドレス・シラブル内
の変位フィールドに加算する。
データ・デスクリプタは、第1c図に示すように、3語
までを含み得る。
までを含み得る。
これは、ここでフエツチを完了した語、102のタグ・
フィールドの試験によってまず定められる。
フィールドの試験によってまず定められる。
このタグ・フィールドが01のコードをもつときは、少
くとも一つの附加的語、すなわち語104があることが
知られる。
くとも一つの附加的語、すなわち語104があることが
知られる。
詔104を試験した後、ビット36ないし38を試験し
て語106をフエツチする必要の有無を判断ずる。
て語106をフエツチする必要の有無を判断ずる。
語102は所要オペランドの位置の識別に使われ、梧1
04及び106は、詔102によって位置決めされたオ
ペランドの属性の識別をする。
04及び106は、詔102によって位置決めされたオ
ペランドの属性の識別をする。
語102はアドレス・シラブルと正に回様に生成され、
したがってベース・レジスクが位置決めされ、ベース・
レジスクがセグメント番号及びオフセットをもつ。
したがってベース・レジスクが位置決めされ、ベース・
レジスクがセグメント番号及びオフセットをもつ。
セグメント番号を表へ引用して、オペランドを有するセ
グメントの位置決めをするセグメント・デスクリプタを
与えたのち、ペースレジスタ内のオフセットを語102
の変位に加算して、セグメント内におけるオペランドの
正確な位置を識別する。
グメントの位置決めをするセグメント・デスクリプタを
与えたのち、ペースレジスタ内のオフセットを語102
の変位に加算して、セグメント内におけるオペランドの
正確な位置を識別する。
上記の演尊はすべて、周知態様において算術・論理ユニ
ット212内で行われる。
ット212内で行われる。
データ・フィールド・デスクリプタ及びオペランドの生
成を要約するに、命令のアドレス・シラブル吉ベース・
レジスタとを併用してデータ・フィールド・デスクリプ
ク102ないし106の位置決めをする。
成を要約するに、命令のアドレス・シラブル吉ベース・
レジスタとを併用してデータ・フィールド・デスクリプ
ク102ないし106の位置決めをする。
ついで、語102と他のベース・レジスタとを使って所
要の特定オペランドの位置決めをする。
要の特定オペランドの位置決めをする。
語104及び106は、こうして位置決めされたオペラ
ンドの属性を記述する。
ンドの属性を記述する。
(G−5)データ型式の判断
第3図のステップ300において、デ一タ・フィールド
・デスクリプタの属性を試験して次の結果を得る。
・デスクリプタの属性を試験して次の結果を得る。
データ型式が適式にして互換性があり、キー・フィール
ドが同一である。
ドが同一である。
第1及び第2オペランドに関連したデータ・フィールド
・デスクリプタがそれぞれ、レジスタ408AC及び4
10Aに貯えられる。
・デスクリプタがそれぞれ、レジスタ408AC及び4
10Aに貯えられる。
(上記の処理を与える実際の機構は、ヂャールズ・グブ
リュー・バンクマンの「データ・ファイル処理用データ
・フィールド・デスクリプタを用いたデータ処理シスデ
ム(Data Processing System
Utilizing Data Eield Desc
riptors for Proces−sing D
ata FiIes)」と題する特許願に記載されてい
る。
リュー・バンクマンの「データ・ファイル処理用データ
・フィールド・デスクリプタを用いたデータ処理シスデ
ム(Data Processing System
Utilizing Data Eield Desc
riptors for Proces−sing D
ata FiIes)」と題する特許願に記載されてい
る。
)ステップ302において、各データ・フィールド・デ
スクリプクの長さく性がフエツチされる。
スクリプクの長さく性がフエツチされる。
まず、第1c図に示す第1データ・フィールドに関連し
た拡張データ・デスクリプタの語104をもつA.Cレ
ジスタ408が、その長さデスクリプタをセレクタ機構
428によって選択する。
た拡張データ・デスクリプタの語104をもつA.Cレ
ジスタ408が、その長さデスクリプタをセレクタ機構
428によって選択する。
セレクク機構は、長さバイト、すなわちビツト56−6
3を、ACレジスタからAAレジスタ412へ転送する
。
3を、ACレジスタからAAレジスタ412へ転送する
。
セレクタ機構は、Acレジスタ又はADレジスタに含ま
れる任意のバイトを選択する。
れる任意のバイトを選択する。
または、長さバイトの選択を、レジスタ内容の一定位置
にいたる回転と一定バイトの選択とによって行ってもよ
い。
にいたる回転と一定バイトの選択とによって行ってもよ
い。
セレクク機構自休は公知であるから、本発明の説明を簡
潔にするためその詳細は省略する。
潔にするためその詳細は省略する。
ステップ304において、長さデスクリブタを試験し、
それがゼロであるか否か試験する。
それがゼロであるか否か試験する。
これは、AGI/ジスタ402によって、レジスタ41
2に含まれる長さ軍性から定数を減算することによって
行われる。
2に含まれる長さ軍性から定数を減算することによって
行われる。
制御記憶ユニツト210の制御下にレジスタ420ヘロ
ードされる定数は二進0である。
ードされる定数は二進0である。
データ・フィールドの長さはすべてゼロよりも大きいと
仮定しており、これに反すイ場合はデータ・フィールド
が存在しないから、減算によりゼロが得られたときは、
実際の長さを256バイトとする。
仮定しており、これに反すイ場合はデータ・フィールド
が存在しないから、減算によりゼロが得られたときは、
実際の長さを256バイトとする。
ステップ306において、ゼロ検出時の長さデスクリブ
タを制御記憶ユニント210によって変更し、全ビット
二進をAAレジスク412へ転送する。
タを制御記憶ユニント210によって変更し、全ビット
二進をAAレジスク412へ転送する。
いずれの場合においても、レジスタ412の内容は作業
記憶ユニット406内のレジスクへ転送される。
記憶ユニット406内のレジスクへ転送される。
ステップ308において、第2データ・フィールドの長
さ属性について同様な試験が行われる。
さ属性について同様な試験が行われる。
ステップ308はステップ304に対応ずるが、AGレ
ジスタ420にロ−ドされた定数がADレジスタ410
よりの長さフィールドを有するA.Bレジスク414か
ら減9される点のみが相違する演算は計算器422によ
ーって行われ、その結果はABレジスタ414に貯えら
れ、そのご、作業記憶ユニット406のレジスタへ転送
さレル。
ジスタ420にロ−ドされた定数がADレジスタ410
よりの長さフィールドを有するA.Bレジスク414か
ら減9される点のみが相違する演算は計算器422によ
ーって行われ、その結果はABレジスタ414に貯えら
れ、そのご、作業記憶ユニット406のレジスタへ転送
さレル。
この時点において、比較操作に関係する各データ・フィ
ールドの長さが知られる。
ールドの長さが知られる。
ステップ312において、各データ・フィールド・デス
クリプタのデータ型式がそれぞれレジスタ408及び4
10からAA412及びAB414レジスタへ転送され
る。
クリプタのデータ型式がそれぞれレジスタ408及び4
10からAA412及びAB414レジスタへ転送され
る。
スデツプ314においてAAレジスタ412に含まれる
データ型式がAGレジスタ420内の定数から減算され
る。
データ型式がAGレジスタ420内の定数から減算され
る。
ビット40−47のデータ型式がコード0000000
1で表わされる文字数字列であるときは、スデツブ31
8へ分岐する。
1で表わされる文字数字列であるときは、スデツブ31
8へ分岐する。
データ型式がコード00000001又は0000 0
010でそれぞれ表わされるパック化若しくは非パツク
化十進である吉きは、ステップ320へ分岐する。
010でそれぞれ表わされるパック化若しくは非パツク
化十進である吉きは、ステップ320へ分岐する。
この分岐は、計算器422が与える差に基づいて行われ
る。
る。
ゼロが認識された場合には、制御記憶ユニツト210は
、以下に説明する適当なマイクロ命令シーケンスへ分岐
する。
、以下に説明する適当なマイクロ命令シーケンスへ分岐
する。
データ型式がこれらの文字数字列、非バツク化十進、バ
ック化七進のいずれでもないときは、ステップ316に
示す違法データの分岐が行われる。
ック化七進のいずれでもないときは、ステップ316に
示す違法データの分岐が行われる。
この例外条件は、制御記憶装置210をして、中央処理
ユニツト200のハードウエアがその命令を実行し得な
い旨の表示をさせる。
ユニツト200のハードウエアがその命令を実行し得な
い旨の表示をさせる。
しかし、使用される比較命令全体の90%ないし95%
は、文字数字列、パック化十進、又は非パック化十進か
らなりたっているから、この例外条件が広く使われるこ
とはない。
は、文字数字列、パック化十進、又は非パック化十進か
らなりたっているから、この例外条件が広く使われるこ
とはない。
(G−6)十進数値データの場合の処理
説明士、最初のデータ型式がバック化又は非パック化コ
ードであると判断されたと仮定する。
ードであると判断されたと仮定する。
この判断ののち、スデツブ320への分岐が起り、制御
記憶装置210によって、データ・フイ−ルド及びデー
タ・フイ−ルド・デスクリプクについて次のステップが
実行される。
記憶装置210によって、データ・フイ−ルド及びデー
タ・フイ−ルド・デスクリプクについて次のステップが
実行される。
ステップ320において、第1データ・フィールドに関
連した第1データ・フィールド・デスクリプタの長さオ
ペランドがセレクク機構428を介してAAレジスタ4
12へ転送される。
連した第1データ・フィールド・デスクリプタの長さオ
ペランドがセレクク機構428を介してAAレジスタ4
12へ転送される。
十進形式は32デジット以下でなければならないから、
長さフィールドを試験して、この条件の存否をみる。
長さフィールドを試験して、この条件の存否をみる。
AGレジスタ420に含まれる定数から長さフィールド
を減算した結果、ゼロ未満の条件が認められた場合には
、ステップ322が行われる。
を減算した結果、ゼロ未満の条件が認められた場合には
、ステップ322が行われる。
その差が正の数であるときは、違法データの例外の条件
があり、ステップ324へ分岐する。
があり、ステップ324へ分岐する。
これは、制御記憶ユニット210が与える例外ルーチン
であって、そのデータがオペレーデイング・システムに
よってセット・アップされた限界の中にない旨を表示す
る。
であって、そのデータがオペレーデイング・システムに
よってセット・アップされた限界の中にない旨を表示す
る。
ステップ322においても、ステップ320と同様な試
験が行われるが、この場合には第2データ・フィールド
が試験される。
験が行われるが、この場合には第2データ・フィールド
が試験される。
スデツプ326において、第1及び第2オペランドの内
容に対する適式表示がなされたか否かの判断がなされる
。
容に対する適式表示がなされたか否かの判断がなされる
。
違法表示とは1001より大きな4ビツト・コードをも
つ整数表示であり、エンコードした4ビット二進数は十
進数9に対応するものより犬なる値をとってはならない
。
つ整数表示であり、エンコードした4ビット二進数は十
進数9に対応するものより犬なる値をとってはならない
。
ステップ314の判断が非パック化十進の感知を示した
ときは、符号の試験が行われ、表示の適弐性が判断され
る。
ときは、符号の試験が行われ、表示の適弐性が判断され
る。
非パック化十進数は、十進整数の符号及び大きさの表示
を含む主記憶装置内の連続バイト列である。
を含む主記憶装置内の連続バイト列である。
各バイトは、デイジツト・エンコーディング及び符号(
正・負)エンコーディングを含む右端バイトを除き、4
ビツトのデイジツト・エンコーディング及ひ4ビツトの
ゾーン・エンコーディングをもつ。
正・負)エンコーディングを含む右端バイトを除き、4
ビツトのデイジツト・エンコーディング及ひ4ビツトの
ゾーン・エンコーディングをもつ。
1010と1111との間にある4ビットのデイジツト
・エンコーディングは違法である(十進数10ないし1
5に対応する二進表示だから)。
・エンコーディングは違法である(十進数10ないし1
5に対応する二進表示だから)。
ステップ326は、非パック化十進のエンコーディング
を検討ずる。
を検討ずる。
1111なるエンコーディングがすべてのゾーンへ送ら
れる。
れる。
最後のバイトの初めの4ビットである符号エンコーディ
ングは、パック化十進に対する符号エンコーディングと
同一である。
ングは、パック化十進に対する符号エンコーディングと
同一である。
デイジット・エンコーディング又は符号エンコーディン
グのいずれかが違法である場合には、非パック化十進数
の表示が違法である。
グのいずれかが違法である場合には、非パック化十進数
の表示が違法である。
こうして、第1オペランドの各バイトをフエツチし、そ
れが有する情報が適弐である旨を確認する。
れが有する情報が適弐である旨を確認する。
パック化十進数に対しても、同様な適式表示の試験がな
される。
される。
パック化十進数は、七進デイジットの符号及び大きさ表
示を有する主記億契置内の連続バイトの列である。
示を有する主記億契置内の連続バイトの列である。
4ビット・デイジットエンコーディング及び4ビット符
号エンコーディングを有す右端バイトを除き、各バイト
は、二つの4ビット・デイジツト(すなわち、数)をも
つ。
号エンコーディングを有す右端バイトを除き、各バイト
は、二つの4ビット・デイジツト(すなわち、数)をも
つ。
左端デイジットは高位デイジットである。
パック化十進数のフォーマットによれば1010から1
111までのエンコーディングは違法である。
111までのエンコーディングは違法である。
符号エンコーディングの解釈は、1010、1100、
1110、1111の符号エンコーディングを正符号と
解し、1011及び1101の符号エンコーディングを
負符号と解するように行われる。
1110、1111の符号エンコーディングを正符号と
解し、1011及び1101の符号エンコーディングを
負符号と解するように行われる。
符号はパック化十進数の最後の4ビットデイジットとし
て生ずるから、0000ないし1001のエンコーデイ
ングが検出されたときは、違法な符号エンコーディング
と判断される。
て生ずるから、0000ないし1001のエンコーデイ
ングが検出されたときは、違法な符号エンコーディング
と判断される。
ステップ328においては、第1データ・フイ−ルドの
データ型式の試験及び第2データ・フィールドのデータ
型式の試1験が行われる。
データ型式の試験及び第2データ・フィールドのデータ
型式の試1験が行われる。
これは、計算器422によって、AAレジスク412に
含まれるデータ型式とABレジスタ412に貯えられた
データ型式との差を求めることによって行われる。
含まれるデータ型式とABレジスタ412に貯えられた
データ型式との差を求めることによって行われる。
差がゼロのときは、ステップ330へ分岐する。
負の数が感知されたときはステップ332が実行され、
正の数が見出されたときは、ステップ334が実行され
る。
正の数が見出されたときは、ステップ334が実行され
る。
同一条件に対しては、両形式が供にパック化又は非パッ
ク化十進数であることが知られる。
ク化十進数であることが知られる。
ついで、比較が、右詰めされた符号オペランドを含めて
実行される。
実行される。
長さが等しくない場合には、短いオペランドをゼロによ
って左方へ拡張する。
って左方へ拡張する。
非パック化オペランドの比較は、そのオペランドの符号
を除き、すべてのゼロを無視して行われる。
を除き、すべてのゼロを無視して行われる。
このことはステップ330及び336に示され、第1オ
ペランドに関連したデータ・フィールドはデータ・フィ
ールド中の一時記憶レジスタR1へ転送され、その第2
フィールドは一時記憶レジスタR2へ転送される。
ペランドに関連したデータ・フィールドはデータ・フィ
ールド中の一時記憶レジスタR1へ転送され、その第2
フィールドは一時記憶レジスタR2へ転送される。
つぎに、ステップ338で比較が行われ、その結果が、
ステップ340、342、及び344にそれぞれ示すよ
うに、より小、より犬、又は同一になる。
ステップ340、342、及び344にそれぞれ示すよ
うに、より小、より犬、又は同一になる。
ステップ328の試験が、第1データ型式が第2データ
型式より小さい旨の表示をしたときは、第1データ型式
が非パック化十進であり第2データ型式がパック化十進
であることが知られる。
型式より小さい旨の表示をしたときは、第1データ型式
が非パック化十進であり第2データ型式がパック化十進
であることが知られる。
その結果、ステップ332が、第1データ・フィールド
を非パック化十進フォーマットからパック化十進フォー
マットに変換し、かつその結果を一時記憶レジスタR1
に貯える。
を非パック化十進フォーマットからパック化十進フォー
マットに変換し、かつその結果を一時記憶レジスタR1
に貯える。
第2データ・フィールドはパック化表示を有するので、
ステップ336が実行されて、パック化十進数が第2一
時記憶レジスタR2に貯えられる。
ステップ336が実行されて、パック化十進数が第2一
時記憶レジスタR2に貯えられる。
右の詰めされた符号オペランドを含めてパック化十進数
の比較がステップ338において行われる。
の比較がステップ338において行われる。
ステップ328において、第2オペランドが第1オペラ
ンドより大きいときは、第2オペランドが非パック化十
進であり第2オペランドがバック化十進であることが知
られる。
ンドより大きいときは、第2オペランドが非パック化十
進であり第2オペランドがバック化十進であることが知
られる。
ステップ332の場合と同様にして、非パック化十進フ
ォーマットがバック化十進フォーマットに変換される。
ォーマットがバック化十進フォーマットに変換される。
しかし、この場合、非パック化十進は第2オペランドで
ある。
ある。
これは、ステップ334に示すようにパック化十進フォ
ーマットに変換される。
ーマットに変換される。
パック化十進である第1オペランドがステップ337で
一時記憶レジスタR1へ転送され、ステップ338に示
す比較が行われる。
一時記憶レジスタR1へ転送され、ステップ338に示
す比較が行われる。
非パック化十進フォーマットからパック化十進フォーマ
ットへの翻訳は、デイジット表示をとり非パック化バイ
トのゾーンを除去することによって行われる。
ットへの翻訳は、デイジット表示をとり非パック化バイ
トのゾーンを除去することによって行われる。
非パック化十進の最後のバイトに対して、4ビットのデ
イジット数と符号数とを変換し、情報の対応性を許容す
る。
イジット数と符号数とを変換し、情報の対応性を許容す
る。
非パック化十進フォーマットからパック化十進フォーマ
ットへの実際の変換は、非パック化十進数のゾーン・ビ
ットの単純な切捨てによって行われる。
ットへの実際の変換は、非パック化十進数のゾーン・ビ
ットの単純な切捨てによって行われる。
したがって、残りは4ビットのデイジット(すなわち、
数)・エンコーデイングとなり、これが一時記憶レジス
タR1に貯えられる。
数)・エンコーデイングとなり、これが一時記憶レジス
タR1に貯えられる。
または定数をAGレジスタ420にロードし、計算器4
22を減算にセットしてもよい。
22を減算にセットしてもよい。
減算結果の下位4ビットを一時記憶レジスタに貯える。
ステップ338の比較操作の結果、第1データフィール
ドが第2データ・フィールドより小さいときは、状態レ
ジスタ418が、状態コード2にセットされる。
ドが第2データ・フィールドより小さいときは、状態レ
ジスタ418が、状態コード2にセットされる。
これにより、第1データ・フィールドが第2データ・フ
ィールドより小なる旨の表示がされる。
ィールドより小なる旨の表示がされる。
したがって、ステツフ゜346は、匍御記憶ユニット2
10による状態コード2の状態レジスタ418への転送
になる。
10による状態コード2の状態レジスタ418への転送
になる。
第1データ・フィールドが第2データ・フィールドに等
しいときは、状態レジスタ418に状態コード3がセッ
トされて、両者が等しい旨の表示がなされる。
しいときは、状態レジスタ418に状態コード3がセッ
トされて、両者が等しい旨の表示がなされる。
ステップ350はこれを示す。
第2データ・フィールドが第1データ・フィールドより
大きい場合にはステップ352に示すように状態レジス
タ418が状態コード1にセットされ、第2データ・フ
ィールドに一層正の数がある旨の表示をする。
大きい場合にはステップ352に示すように状態レジス
タ418が状態コード1にセットされ、第2データ・フ
ィールドに一層正の数がある旨の表示をする。
状態レジスタのセット完了後、次の命令が実行される(
G−7)文字数字データの場合の処理 ステップ314において、文字数字列の存在がデータ型
式によって見出されたときは、制御記憶ユニット210
によるステップ318への分岐が行われる。
G−7)文字数字データの場合の処理 ステップ314において、文字数字列の存在がデータ型
式によって見出されたときは、制御記憶ユニット210
によるステップ318への分岐が行われる。
ステップ318において、四つの一時レジスタがセット
・アップされる。
・アップされる。
以下にNで示す第1の一時レジスタが、Lで表わす第1
データフィールドの最短長さを記憶する。
データフィールドの最短長さを記憶する。
以下にMで表わす第2の一時記憶レジスタは、第2デー
タ・フィールドの最短長さを貯えるようにセット・アッ
プされる。
タ・フィールドの最短長さを貯えるようにセット・アッ
プされる。
ついで、実際のデータ・フィールド内容が位置X1及び
X2から一時記憶レジスクS1及びS2へ転送される。
X2から一時記憶レジスクS1及びS2へ転送される。
かつこして示す実際のバイト(S1)及び(S2)が、
一時に1バイトづつ左から右へ比較される。
一時に1バイトづつ左から右へ比較される。
各バイトの内容は、8ビットの正整数と認められる。
二つのバイトが不等であるとき又は両列が尽きたときに
比較が定められる。
比較が定められる。
データ・フィールドの長さが等しくないときは、以下の
ステップ354及び356の説明から明らかになるよう
に、短い方のオペランドがブランク文字によって右方へ
拡張される。
ステップ354及び356の説明から明らかになるよう
に、短い方のオペランドがブランク文字によって右方へ
拡張される。
ステップ354においては、第1オペランドの長さが試
験される。
験される。
第1オペランドがゼロでないときは正常状態であって、
ステップ356が実行される。
ステップ356が実行される。
ステップ356において、第2オペランドの長さがゼロ
に対して試験される。
に対して試験される。
通常の条件として、第2データ・フィールドの初期長は
ゼロではない。
ゼロではない。
したがって、ステップ358が実行される。
ステップ358において、最初の二つのバイト(S1)
及び(S2)の内容が比較される.第1バイトの比較結
果に不等の条件が存在するときは、ステップ340又は
344への分岐が行われる。
及び(S2)の内容が比較される.第1バイトの比較結
果に不等の条件が存在するときは、ステップ340又は
344への分岐が行われる。
これは、状態レジスク418を適当なコードでセット・
アップし、比較操作の結果がより小又はより犬である旨
の表示をする。
アップし、比較操作の結果がより小又はより犬である旨
の表示をする。
ステップ358における比較は、計算ユニット416を
介してステップ338の比較と同様に行われる。
介してステップ338の比較と同様に行われる。
不等の条件が存在する場合には、次のバイトを考慮する
。
。
この条件は、各種の一時記憶レジスタを後続バイトにセ
ットするステップ360によってセット・アップされる
。
ットするステップ360によってセット・アップされる
。
すなわち、一時記憶レジスタS1及びS2に含まれる実
際のデータ・フィールドを、データ・フィールド内の後
続バイトを指示するように1だけ増加させる。
際のデータ・フィールドを、データ・フィールド内の後
続バイトを指示するように1だけ増加させる。
N及びM一時記憶レジスタに含まれる長さ桝性は1だけ
減少する。
減少する。
Sl,S2,N,及びMに対するこれらの各操作は、八
〇レジスタに定数をロードし、かつ計算器422を加算
又は減算にセットすることによって行われる。
〇レジスタに定数をロードし、かつ計算器422を加算
又は減算にセットすることによって行われる。
ぺA及びABレジスタは、一時記憶レジスタからの各種
情報の記憶及び算術演算結果の一時記憶レジスタへの返
送のために使われる。
情報の記憶及び算術演算結果の一時記憶レジスタへの返
送のために使われる。
ステップ360ののち、第1データ・フィールド長さの
試験を含むステップ354が実行される。
試験を含むステップ354が実行される。
試験された第1オペランドの長さがゼロであるときは、
ステップ362が行われる。
ステップ362が行われる。
このステップは、第2オペランド長さを試験し、それが
ゼロであるか否か判断する。
ゼロであるか否か判断する。
そうである場合には、状態レジスタ418を二進3にセ
ットして、文字数字列の第1データ・フィールドが、文
字数字列の第2データ・フィールドに等しい旨の表示を
する。
ットして、文字数字列の第1データ・フィールドが、文
字数字列の第2データ・フィールドに等しい旨の表示を
する。
しかし、第2データ・フィールドがゼロに等しくない場
合は、第2データ・フィールドを、第1データ・フィー
ルドに対して与えられたブランクに対して比較する。
合は、第2データ・フィールドを、第1データ・フィー
ルドに対して与えられたブランクに対して比較する。
したがって、ステップ364は、比較を実行するため、
ブランク・フィールドの発生を含む。
ブランク・フィールドの発生を含む。
第2データ・フイ−ルドをブランク・バイトに対して比
較した結宋より大又はより小の条件が感知されたときは
、より犬(ステップ340又はより小(ステップ344
)条件コードを状態レジスタにおく分岐が行われる。
較した結宋より大又はより小の条件が感知されたときは
、より犬(ステップ340又はより小(ステップ344
)条件コードを状態レジスタにおく分岐が行われる。
しかし、同一条件が存在する、すなわち、第2データ・
フィールドもまたゼロ値をもつときは、ステップ366
が実行される。
フィールドもまたゼロ値をもつときは、ステップ366
が実行される。
ステップ366において、一時記憶レジスタS2に貯え
られた第2データ・フィールドを適当に増大して新しい
内容を与える。
られた第2データ・フィールドを適当に増大して新しい
内容を与える。
また、第2データ・フィールドの長さを貯える一時記憶
レジスタMカ月だけ減少される。
レジスタMカ月だけ減少される。
次いで、ステップ362及び364を含むループが、第
2データフィールド内のすべてのバイトの試験が終るま
で繰返し実行される。
2データフィールド内のすべてのバイトの試験が終るま
で繰返し実行される。
N一時記憶しジスタの内容として示される第1データ・
フィールドの長さがゼロより犬であり、かつ、M一時記
憶レジスタの内容として示される第2データ・フィール
ドの長さがゼロに等しいときは、ステップ356からス
テップ368への分岐が行われる。
フィールドの長さがゼロより犬であり、かつ、M一時記
憶レジスタの内容として示される第2データ・フィール
ドの長さがゼロに等しいときは、ステップ356からス
テップ368への分岐が行われる。
ステップ368は、第1データ・フィールドの方が長い
のであるから、第2データフィールドへのブランク・バ
イトの附加を示す。
のであるから、第2データフィールドへのブランク・バ
イトの附加を示す。
このブランク・バイトを適当につくり、二つのフィール
ドを比較してそれらが等しいか否かの判断を与える。
ドを比較してそれらが等しいか否かの判断を与える。
スデツプ368において、第1データフィールド・バイ
トが第2データ・フィールド・バイトに等しくない場合
には、より小(ステップ340)又はより犬(スデツブ
344)状態コードへの分岐が行われる。
トが第2データ・フィールド・バイトに等しくない場合
には、より小(ステップ340)又はより犬(スデツブ
344)状態コードへの分岐が行われる。
しかし、両者が等しい場合には、ステップ370が実行
される。
される。
ステップ370において、第1オペランドのアドレスを
貯える一時記憶レジスクは適当に増やされ、第1データ
・フィールドの後続バイトがアクセスされるまた、N一
時記憶レジスタによって示される第1デ−タ・フィール
ドの長さ表示が減少され、ステップ354が繰返し実行
される。
貯える一時記憶レジスクは適当に増やされ、第1データ
・フィールドの後続バイトがアクセスされるまた、N一
時記憶レジスタによって示される第1デ−タ・フィール
ドの長さ表示が減少され、ステップ354が繰返し実行
される。
第1データ・フィールド全体が、各データ・フィールド
の長さとは無関係に第2データ・フィールドと同程度(
comparable)であるときは、最後にステップ
362がアクセスされ、同−条件の存在を表示する。
の長さとは無関係に第2データ・フィールドと同程度(
comparable)であるときは、最後にステップ
362がアクセスされ、同−条件の存在を表示する。
その後、中央処理ユニット200における次の命令が実
行される。
行される。
(H)まとめ
ダラムをポンドと比較する場合のように、データ・デス
クリブタのキー・フィールドが不等であるときは、ルー
チンによって、一つの量を有する一方のデータ・フィー
ルドを他方の量にフォーマット変更する。
クリブタのキー・フィールドが不等であるときは、ルー
チンによって、一つの量を有する一方のデータ・フィー
ルドを他方の量にフォーマット変更する。
その後、各データ・フィールドのデータフォーマット及
び長さを考慮して七記諸ステップが実行される。
び長さを考慮して七記諸ステップが実行される。
異なったキー・フィールドを認識することにより、デー
タ処理時間及び記憶スペースの最少化が可能になる。
タ処理時間及び記憶スペースの最少化が可能になる。
以上説明した本発明の好ましい実施例に対して、本発明
の技術的範囲を離れることなく各種変更を加え得ること
は当業者には明らかである。
の技術的範囲を離れることなく各種変更を加え得ること
は当業者には明らかである。
第1図は書式の説明図、第2図はデータ処理装置のブロ
ック図、第3図はフロー・チャート、第4図は回路の論
理図である。 200・・・・・・中央処理ユニット、201・・・・
・・主記憶装置、202・・・・・・主記憶シーケンサ
、204・・・・・・緩衝記憶装置、205・・・・・
・緩衝記憶登録簿、206・・・・・・データ管理ユニ
ット、207・・・・・・アドレス管理ユニット、20
8・・・・・・命令フェッチ・ユニット、209・・・
・・・制御記憶ノンターフエイス・アダブク、210・
・・・・・制御記憶ユニット、211・・・・・・ロー
カル記憶ユニット、212・・・・・・算術・論理ユニ
ット、220・・・・・・入出力コントローラ。
ック図、第3図はフロー・チャート、第4図は回路の論
理図である。 200・・・・・・中央処理ユニット、201・・・・
・・主記憶装置、202・・・・・・主記憶シーケンサ
、204・・・・・・緩衝記憶装置、205・・・・・
・緩衝記憶登録簿、206・・・・・・データ管理ユニ
ット、207・・・・・・アドレス管理ユニット、20
8・・・・・・命令フェッチ・ユニット、209・・・
・・・制御記憶ノンターフエイス・アダブク、210・
・・・・・制御記憶ユニット、211・・・・・・ロー
カル記憶ユニット、212・・・・・・算術・論理ユニ
ット、220・・・・・・入出力コントローラ。
Claims (1)
- 【特許請求の範囲】 1 複数の異なったデータフォーマットをもつデータ・
フィールドを比較する装置であって、比較命令を与える
千段; 上記比較命令の第1の部分に応答して、第1データ・フ
ィールド・デスクリプタをアドレスし更にその第1デー
タ・フィールド・デスクリプタを用いて第1データ・フ
ィールドをアドレスする千段; 上記比較命令の第2の部分に応答して、第2データ・フ
ィールド・デスクリブタをアドレスし更にその第2デー
タ・フィールド・デスクリプタを用いて第2データ・フ
ィールドをアドレスする千段;ならびに 上記比較命令の第3の部分に応答して、上記第1データ
・フィールドを上記第2データ・フイールドと比較し、
かつ必要に応じて、L記第1及び第2データ・フィール
ド・デスクリプタに従い上記第1又は第2データ・フィ
ールドに対して比較命令実行時にフォーマット変更をす
る手段からなることを特徴とするデータ・フィールド比
較装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US05/424,406 US4068299A (en) | 1973-12-13 | 1973-12-13 | Data processing system incorporating a logical compare instruction |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS50115440A JPS50115440A (ja) | 1975-09-10 |
| JPS584368B2 true JPS584368B2 (ja) | 1983-01-26 |
Family
ID=23682518
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP49142628A Expired JPS584368B2 (ja) | 1973-12-13 | 1974-12-13 | デ−タ フイ−ルドヒカクソウチ |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US4068299A (ja) |
| JP (1) | JPS584368B2 (ja) |
| CA (1) | CA1026870A (ja) |
| DE (1) | DE2458259A1 (ja) |
| FR (1) | FR2254825B1 (ja) |
| GB (1) | GB1494506A (ja) |
| IT (1) | IT1035093B (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4156926A (en) * | 1976-06-01 | 1979-05-29 | Texas Instruments Incorporated | PROM circuit board programmer |
| US4214303A (en) * | 1977-12-22 | 1980-07-22 | Honeywell Information Systems Inc. | Word oriented high speed buffer memory system connected to a system bus |
| US4268907A (en) * | 1979-01-22 | 1981-05-19 | Honeywell Information Systems Inc. | Cache unit bypass apparatus |
| JP2844591B2 (ja) * | 1987-01-16 | 1999-01-06 | 株式会社日立製作所 | ディジタル信号処理装置 |
| US5197141A (en) * | 1988-01-30 | 1993-03-23 | Nec Corporation | Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions |
| US5045992A (en) * | 1988-10-19 | 1991-09-03 | Hewlett-Packard Company | Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type |
| US6292879B1 (en) | 1995-10-25 | 2001-09-18 | Anthony S. Fong | Method and apparatus to specify access control list and cache enabling and cache coherency requirement enabling on individual operands of an instruction of a computer |
| US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
| US6557096B1 (en) | 1999-10-25 | 2003-04-29 | Intel Corporation | Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types |
| US6732203B2 (en) | 2000-01-31 | 2004-05-04 | Intel Corporation | Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus |
| JP3845814B2 (ja) * | 2000-08-10 | 2006-11-15 | 株式会社テルミナス・テクノロジー | 連想メモリとその検索方法及びルータとネットワークシステム |
| US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
| US9195463B2 (en) * | 2011-11-30 | 2015-11-24 | International Business Machines Corporation | Processing core with speculative register preprocessing in unused execution unit cycles |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BE758811A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites |
| US3805247A (en) * | 1972-05-16 | 1974-04-16 | Burroughs Corp | Description driven microprogrammable multiprocessor system |
-
1973
- 1973-12-13 US US05/424,406 patent/US4068299A/en not_active Expired - Lifetime
-
1974
- 1974-12-10 DE DE19742458259 patent/DE2458259A1/de not_active Withdrawn
- 1974-12-10 IT IT54450/74A patent/IT1035093B/it active
- 1974-12-12 CA CA215,878A patent/CA1026870A/en not_active Expired
- 1974-12-12 FR FR7441025A patent/FR2254825B1/fr not_active Expired
- 1974-12-12 GB GB43775/74A patent/GB1494506A/en not_active Expired
- 1974-12-13 JP JP49142628A patent/JPS584368B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| FR2254825A1 (ja) | 1975-07-11 |
| CA1026870A (en) | 1978-02-21 |
| AU7607774A (en) | 1976-06-10 |
| GB1494506A (en) | 1977-12-07 |
| JPS50115440A (ja) | 1975-09-10 |
| US4068299A (en) | 1978-01-10 |
| IT1035093B (it) | 1979-10-20 |
| FR2254825B1 (ja) | 1979-02-23 |
| DE2458259A1 (de) | 1975-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS5916301B2 (ja) | デ−タフアイルを処理するためにデ−タフイ−ルド記述子を用いるデ−タ処理方法及び装置 | |
| US3949379A (en) | Pipeline data processing apparatus with high speed slave store | |
| US4363091A (en) | Extended address, single and multiple bit microprocessor | |
| US4574349A (en) | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction | |
| JP3683230B2 (ja) | データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法 | |
| US5991757A (en) | Method and system for searching an array for an array value | |
| US4591972A (en) | Data processing system with unique microcode control | |
| RU2137184C1 (ru) | Отображение с помощью мультинаборов команд | |
| US4586130A (en) | Central processing unit for a digital computer | |
| US4569018A (en) | Digital data processing system having dual-purpose scratchpad and address translation memory | |
| EP0056008A2 (en) | Apparatus for writing into variable-length fields in memory words | |
| JPS59111542A (ja) | プログラム・カランタ・スタツク方法およびネストされたサブル−チンと命令用の装置 | |
| JPH0425579B2 (ja) | ||
| JPS6114535B2 (ja) | ||
| US3936804A (en) | Data processing system incorporating a logical move instruction | |
| JPS584368B2 (ja) | デ−タ フイ−ルドヒカクソウチ | |
| JPS604491B2 (ja) | デ−タ処理システム | |
| JPS5811654B2 (ja) | デ−タシヨリシステム | |
| US3735355A (en) | Digital processor having variable length addressing | |
| JP2840604B2 (ja) | マイクロコード式cpuで実行される命令用のオペランドを指定する方法および装置 | |
| US4780810A (en) | Data processor with associative memory storing vector elements for vector conversion | |
| EP0207666A2 (en) | Method and means for moving bytes in a reduced instruction set computer | |
| US4812971A (en) | Central processing unit for a digital computer | |
| US4181935A (en) | Data processor with improved microprogramming | |
| US4893235A (en) | Central processing unit for a digital computer |