JPS6118044A - プログラムスキヤナ - Google Patents

プログラムスキヤナ

Info

Publication number
JPS6118044A
JPS6118044A JP60140127A JP14012785A JPS6118044A JP S6118044 A JPS6118044 A JP S6118044A JP 60140127 A JP60140127 A JP 60140127A JP 14012785 A JP14012785 A JP 14012785A JP S6118044 A JPS6118044 A JP S6118044A
Authority
JP
Japan
Prior art keywords
syllable
register
syllables
object code
scanning
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.)
Granted
Application number
JP60140127A
Other languages
English (en)
Other versions
JPS6359176B2 (ja
Inventor
フレツド・テイラー・レイナード
リチヤード・ジヨン・マーンコウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of JPS6118044A publication Critical patent/JPS6118044A/ja
Publication of JPS6359176B2 publication Critical patent/JPS6359176B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 この発明は、汎用データプロセッサのためのストアされ
たロジックプログラムスキャナに関し、より特定的には
、複数のデータおよび命令スト1ノームを有するような
プロセッサに関する。
1匡1L影糺吐 先行技術のデータフロレツサは一般的に、そtLらが用
いる従来の命令コードの逐次的な性質のために、本質的
に逐次的であった。このタイプの特定のプロセッサモジ
コールは、Barton et  al。
の米国特許第3,461.434号、第3,546.6
77号および第3,548.384号において開示され
ている。これらの特許は、スタック配向データプロセッ
サに向けられており、ここで、スタック機構、すなわち
先入れ後出1ノ機構の機能は、特定のより高いレベルの
言語のネストされた構造をもたらす態様で演算子および
関連するパラメータの流れを処理することである。しか
しながら、そのようなプロセッサに対する改善が顧客に
もたらされることが望まれている場合に、プロセッサの
スループットを増大する一方で以前のそしてより少数の
同一の処理ファミリーとのプログラムの互換性を維持す
ることが必要になってきている。 コードのシーケンス
の実行は、処理の3つの基本的な形態を含んでいる:づ
なわち、命令フォーマツ1〜の処理、その命令によって
作り出された基準の処理および命令によって特定された
機能の実行。簡単な順序機械において、シーケンスS’
 * S i・・・Snを実行するのに要する金時間は
、(To+Ro→−EO)→−(Ii +Ri +Ei
 −4−・・・In +Rn +En )であり、ここ
で1は命令処理であり、Rは閣tp処理であり、Eは実
行処理である。簡単なパイプラインマシンにおいて、一
定の従属性を無視すると、処理ステージの最大の総和に
等しい時間、すなわち(Io+Ii+・・何n>などに
おいて同一のシーケンスが実行され、ここで個々の命令
処理、基準処理および実行処理は並行して実行される。
しかしながら、」:り高いレベルの言語コンパイラから
受取られた逐次目的コードは、そのような並列プロセッ
サの種々のユニットに送られて実行される、簡単な分離
のためのコードの適正な順序付けを常に含んでいるわ【
プではない。したがって、プログラムスキャナは、入っ
てくるコードをスキャンしかつコードのどのセグメント
が共に分類されてプロセッサの種々のユニットに伝送さ
れるかを判断するために設けられている。
この発明の目的は、多重命令およびデータストリームプ
ロセラ勺のための改良されたプログラムスキャナを提供
することである。
この発明の他の目的は、入ってくるコードをスキャンし
、かつそれらがプロセッサの種々のユニット上へ伝送さ
れる命令、(データに対する)基準またはリテラル値で
あるならば適当なシラブルを分類する、改善されたプロ
グラムスキャナを提供することである。
一〇− さらに、この発明の他の目的は、命令の目的コードセッ
トに加えられる新しいグループを認識でるようにスキャ
ナの機能を容易に拡張するように要求された、ストアさ
れたロジックを用いるプログラムスキャナを提供するこ
とである。
発明の概要 上述の目的を実現するために、この発明【j1命令の多
重内部ストリームおよびデータフローを有するプロセッ
サのための改善されたプログラムスキャナに向けられて
いる。このスキャナは、入ってくるコードのシーケンス
をスキャンし、かつそのコードにおけるシラブルの種々
のタイプを検出するために複数のRAMを用いている。
これらのRAMの内容は、可能なコードの種々のタイプ
を示す信号であり、そのとき、このRAMの出力は多重
化されて、どのシラブルが共に分類されてプロセッサの
種々のユニットに伝送されるかを示す出力を与える。
この発明の特徴は、コードのシーケンスをスキャンして
どのシラブルが適正に分類されてブロセッサの種々のユ
ニットに伝送されるかを決定Mる改善されたプログラム
スキャナにある。
この発明の上述のおよび他の目的、長所および特徴は、
図面に関連して1メ下の明細書を調べることによってよ
り容易に明白となるであろう。
発明の詳細な説明 この発明を用いる汎用プロセッサが第1図に示されてい
る。このプロセッサは、プログラムスキャナまたはプロ
グラム制御ユニット(PCLJ)10を含み、このユニ
ットは本願の主題であり、かつメモリアドレス」ニット
(MAU)15によってメモリ(MEM)16からコー
ドのストリングを受取り、かつ実行ユニット(Ell)
11.基準ユニット(RU)13および書込ユニット(
WU)14に演算子およびパラメータを与え、さらに中
央データバッフ? (CDB>12にデータまたはリテ
ラル値を与え、このデータバッファ12はさらに、実行
ユニット11および基準ユニット13の双方によってア
クセスされ1qる。
第1図に描かれているように、実行ユニット11は、実
行ユニラミー持ち行列11aによって演算子およびパラ
メータを受取り、それらが受は取られた順序で引き続き
実行する。同様に、基準コニッ]−13にはまた、アド
レスの対、演算子およびパラメータを受取る基準1−ニ
ット待ち行列13aが与えられている。この発明のプロ
グラムスキャナ10の機能は、これらの演算子およびパ
ラメータを他のコニツl〜に並列に与えかつそれらのユ
ニットが同時に作動し得るようにこれらのユニットのそ
れぞれの持ち行列を満された状態に保つことである。
第2図は、この発明のプログラムスキャナの全体的な構
成を示す図である。そこに示されているように、]−ド
は、メモリアドレスユニット15ににって第1図のメモ
リ16から受取られかつ第2図のキャッシュメモリ20
にストアされる。この発明において、ワードは、コード
から形成され、そのワードは、48ビツトの幅であり、
または6    ゛つの8−ピットシラブルの幅である
。ワードウィンドセレクタ21は、以下により完全に説
明されるように、プログラムカウンタ25の制御下にお
いてキャッシュ20から2つのそのようなワードを受取
る。6つのこれらのシラブルはその後、ワードウィンド
セレクタ21によって選択されてバレルシフタ(bar
rel  5hifter ) 22に伝送され、この
シフタ22は、スキャナマルチプレクサ構造24aおよ
びbから受取られたシフト量の値に従ってこれらのシラ
ブルを左ヘシフトする。
バレルシフタ22からの6つの8−ピットシラブルはそ
の後、スキャンレジスタ23に伝送され、ここでそれら
はスキャナロジック24aによって並列にスキャンされ
て、プロセッサの他のユニットにさらに伝送されるシラ
ブルの適当な分類が存在するかどうかが判断される。
スキャナロジック24aによって判断された受入れ可能
なシラブルのグループにしたがって、適当なシラブルは
その後、スイッチネッ1〜ワーク24bによってス↑V
す出力レジスタ27.・・・、33に同時に伝送される
。スキャナレジスタ23から出力レジスタに伝送された
シラブルの数に従って、シフト倒が決定されかつ上述の
ようにバレルシフタ22に送られ、スキャンレジスタ2
3を再度溝たすのに必要なシラブルの数を特定する。シ
フ1〜量の値は、プログラムカウンタ25の内容に加算
され、どの付加的なシラブルがスキャンレジスタ23に
送られるべきかをワードウィンドセレクタに知らせる。
出力レジスタ27.・・・、33の内容は、それらの内
容をプロセッサの他方のユニットに与える。
一定の場合に、命令演算子は、制御ストア(図示せず)
をアドレスしかつマイクロ演算子を適当なユニットに与
える。しかしながら、それはこの発明の範囲外の事項で
ある。
これらの出力レジスタはPOSレジスタ27であり、こ
のレジスタ27は、リテラル、値の呼出しまたはメモリ
アドレス演算子を含むことができる。POMレジスタ2
8は、1メ下により完全に説明されるように、終了演算
子としてマイクロコードを含lυでいる。レジスタP 
0129およびPOAC30はそれぞれ、コードリテラ
ルおよびアトレス対を含んでいる。POPレジスタ31
は、POSレジスタ27とともに、第1図の中央データ
バッファ12内に存在するスタックの1ヘツプを制御す
るスタックパラメータを含む、、POl−、Tレジスタ
32は、POI−レジスタ29に含まれたラテラル値の
フォーマットを区別するタイプの]−ドを含んでいる。
第2図の種々の出力レジスタと第1図の他のコニットと
の間の関係に関しては、演算子レジスタ27−29およ
び31−32が第1図の実行ユニット11に結合されて
いる。レジスタ27−28および30−32は、基準ユ
ニット13に結合され、かつレジスタ29および32は
第1図の中央データバッファ12に結合されている。
第2図のスキャナは、第2図のスキャナロジック24a
の使用を通じて、3つに及ぶ演算子のグループを認識す
る可能性を有している。それは、コードストリームの現
在のヘッドから次の2つの隣接する演算子を介して下方
に延びる。コードストリームヘッドは、ルート演算子と
呼ばれかつスキャンレジスタ23のシラブルOに配置さ
れる。
コードストリームが演算子または演算子グループに関し
てスキャンされるときに、スキャンレジスタは、上述の
J:うに、そこから抽出された演算子または演算子グル
ープとしてシラブルの数によって更新される。このスキ
ャナは、最も高度に用いられかつそれゆえに最も実行に
方向づ【ノされた演算子グループのみを分類するように
設計されている。
スキャナロジック24aによって用いられるアルゴリズ
ムは、]−トトスドリームヘラまたはルーツ、すなわ1
5第2図のスキャンレジスタ23のシラブルOの占有者
であるコードストリームにおける次のシラブルまたは命
令に依存している。OPlがルーl−命令でありかつO
F2およびOF2が次の2つの連続する命令であるど考
える。スキャニングアルゴリズムまたは判断ツリーは以
下に説明されているが、ここで″終了1゛または“終了
させる″という言葉は、いつ命令スキャニングが停止す
るかを説明するために用いられ、“延ばす″は、次の命
令への制御の転送を示でために用いられる。このスキャ
ニングアルゴリズムの結采は、スキャンレジスタシフ1
〜、命令選択などのような第2図のスキャナの種々の要
素をドライブする。
OPlは制御をOF2まで伸ばしているかその410 
P 2は制御をOF2まで伸ばしているか その後OP3はOPl :OF2を終了させるか その後OPlコOP2 : OF2を引ぎ出す さもなければOPlを引き出す さもなければOF2はOPlを終了させるか その後OP1 :OF2を引き出す さもなければOPlを引き出す さもなければOPlを引き出す 完全な実施は、OPlおよびOF2に対するマシンコー
ドが1から3バイトのサイズで変化するという事実を考
慮しなければならない。この複雑さは、すべての可能な
長さの組合わせに対する判断ツリーにおt−Jる他の経
路を実現することによって解決される。Mlのレベルの
判断はその後、そのリーイズに対でる適正な経路を選択
する。神々の判断レベルは、以下により完全に説明され
るであろう。
発明の詳細な説明− 第3図は、第2図のスキャナロジック24aの概略図で
ある。そこに示されているように、スキャンレジスタ2
3はシフトレジスタでありかつ6つのシラブル位[23
a 、・・・、23fを有しており、その各々は8−ピ
ッ1−レジスタである。これらの位置の内容は、ストア
されたロジックユニットまたはRAM40a 、・・・
、40fをアドレスするために用いられ、その内容は、
前述のスキャニングアルゴリズムまたは判断ツリーを実
現している。前述のように、シラブルOは、スキャニン
グアルゴリズムを開始させるルートコードであり、した
がって、RAM40aからの内容は、スキャニングアル
ゴリズムによって実現されている8つの基本ルー1への
種々のタイプを示しかつ選IRシ、また、マルチプレク
サ/11rl、・・・、dにJ、るそれぞれのRAMの
内容の出力マルチブレクリ/12への経路指定を選択す
る。
第3図に示されているJ:うに、マルチブレクリ42か
らの出力側tlj 信号は、スキャンレジスタ位!23
aにお1プるシラブルOによってさらにアクセスされる
RAM40ahs+らの3−ビットセットの制御信号に
よって選択される。同様の態様で、マルチプレクサ41
aからマルチプレクサ42への出力は、RAM40bか
らの2−ピッ1〜セツトの制御信号によって選択され、
マルチプレクサ41bの出力は、RAM40Cからの2
−ピットセットの制御信号によって選択され、マルチプ
レクサ41cの出力は、これもまたRAM4QCからの
2−ピットセットの制御信号によって選択され、マルチ
プレクサ4.16の出力は、RAM40(+からの2−
ビットセットの制御信号によって選択される。
第3図のスキャナロジックのオペレーションを説明する
前に、種々のルート演算子と、第2図のスイッチングネ
ッl−ワーク24bににる、第2図のレジスタ23から
ft52図のプログラムスキャナのそれぞれの出力レジ
スタへの種々のシラブルの3vlIRに関ηるぞれらの
影響とについてのより詳細な説明が提供されるであろう
この発明に用いられる演算子のセラ1〜は、8つの基本
的なグループに分類され得る:変形演障子(\/ARI
 )−Jなわし標準的な主演算子に対する補足、第1図
の中央データバッファ12におけるスタックアイテムの
トップを複製覆−る複製演算子(DUPL)、スタック
ドに間接メモリアドレスを配置する名称呼出し演算子(
NAMC> 、メモリからオペランドを取出しかつそれ
をスタックのトップ1qに配置づる値呼出し演算子(V
 A L C)、16〜ビツトリテラル値<1−T16
)、および8−ビツ1〜リテラル値(LT8) 、ZE
ROloNEおよびEl−8E(−に連のいずれでもな
いもの)。   ゛VARIルートは、どの演算子をも
分類させずまたはそれに隣接させていない。このルート
は単に、第3図のRA M /1. Oaにおける5G
AN  O制御ストアテーブルからRA M 40 b
にお()る5CAN  V (VARI ) デー1ル
ヘス’FptDシツクの制御を転JYs’jる。また、
E l−S Fルートは、どの演算子もそれに隣接さ1
!ない。VARIおよび残りの6つのルー1−をのぞく
覆べては、演算子のE L S Eクラスに属する。プ
ログラムスキャナレベルにおいて演算子のE L S 
Eクラスを分類させることに関してどのような有意義な
費用−効果の利点も判断さねていない。
隣接する演算子を伴なわない第2図のスキャナロジック
スイッヂネッ1〜ワーク24aおよびbによってルート
演算子が引き出されかつ放出されるときに、これは終了
ルートと呼ばれる。これは、スキャニングアルゴリズム
または判断ツリーがそのルー1へ自体によって終了させ
られるということを意味している。終了ルートと呼ばれ
る2つの場合がある。その1つは、演算子がELSEま
たはVARIタイプのものである場合である。これらの
場合は、定義による明白な終了ルートである。
他の場合は、他の演算子と分類され得るルートが、スキ
ャニングアルゴリズム(寸なりち判断ツルーの結果)の
ために隣接されない場合である。これは、ルー1〜が、
その終了演算子のレッ[・の数によって終了さl−られ
ないJzうな場合である。それゆえに、それは絶対的な
終了ルートとしてスキャナから引き出さねかつ放出され
る。
ルート演算子および1つの隣接された演算子がスキャナ
から引き出されかつ放出されるときに、この分類は、簡
単なシーケンスまたは単にシーケンスと呼ばれている。
分類における第2の演算子は、ルートに対する終了演算
子と呼ばれている。
ルー1〜演障子および2つの隣接する演算子がスキャナ
から引ぎ出されかつ放出されるときに、これは延長され
たシーケンスまたは単に延長と呼ばれている。このグル
ープの第2の演算子は、ルートに対する延長演算子と呼
ばれている。第3の演算子は、延長に対する終了演算子
と呼ばれている。
種々の基本的なルート演算子について説明したので、次
に、そのようイ賞演算子の様々な例ど、それらがどのよ
うに第3図のスキャナロジックによって実現されるかに
ついて説明する。10 A I)のような終了演算子に
よって隣接された、複製演算子、DLIPI−の場合に
ついて考える。複製演算子は、シラブルOにあり、かつ
l−OA D演算子は第3図のシラブル1にある。シラ
ブルOによってアドレスされた、RA M 408から
の出力は、RAM40tlからDUPI−人力を選択1
ノ、その出力は1組の制御信号であり、この制御信号は
、第3図のマルチプレクサ42によって第2図のスイッ
チングネットワーク24.b上へ通過させられるであろ
う。同様に、ルートが、その後に終了演算子が続<NA
MOであるときに、その終了演算子はシラブル2にあり
、RAM40aからの3−ビット出力はマルチプレクサ
42のNAMC入力を選択してシラブル2によってアク
セスされたRAM40Cの出力を受取るであろう。この
場合、シラブル1は、第2図の出力レジスタに転送され
てスタックに記憶されるべきデータを含むであろう。こ
れは、演算子のシーケンスがどのように形成されるかを
示している。
シラブルOとしてのV A L Cの例に対して、VA
 L Cはパラメータをシラブル1としてアドレスし、
L T 81.1シラブル2としてアドレスし、リテラ
ルデータはシラブル3としてアドレスし、かつ分割演算
子(DIVD)はシラブル4としてアドレスする。この
分割演算子は終了演算子である。
この状況において、RAM40aからの3−ビットはッ
トの制御信号は、マルチプレクサ42に、マルチプレク
サ41Cからマルチプレクサ42へのV A L C入
力を選択させ、その入力は、RAM40Cから受取られ
た2−ビットセットの制御信号によって選択される。マ
ルチプレクサ41Cへの入力はRAM40(!から受取
られる。これは、どのように延長が形成されるかを示し
ている。他のマルチプレクサおよびRAMのオペレーシ
ョンを示す同様の例が与えられ1qるが、上述の説明は
このオペレーションの木質を説明するのに十分であると
確信している。この発明のスキャナのプログラム制御コ
ニットの出力1■要は第5図に示されている。
第3図の種々のRAM40a 、=−,4Ofの1ノイ
ズは、第3図のより詳ITlな説明をもたらすように説
明される。RAM40aからマルチプレク1j′42へ
の3−ビットセットの制御信号に加えて、45ピツトが
、マルチプレクサ42のE L S E入力に並列に与
えられる。
RAM40t+は、マルチプレクサ42(7)VAR■
入力に15−ビット入力を与え、さらにマルチプレクサ
41aおよび42の双方に、12ビツトを出力し、これ
はマルチプレクサ41aへの2−ビットセットの制御信
号を含lυでいる。RAM40cは15ビツトを出力し
、これは、マルチプレクサ41bへの2−ビットセット
の制御信号と、マルチプレクサ41cへの2−ビットセ
ットの制御信号とを含んでいる。
RAM40dは、11−ビット信号を出力し、これは、
マルチプレクサ41dへの2−ビットセットの制御信号
を含んでいる。RAM408は8−ビットセットの信号
を出力し、RAM40fも同様である。
プログラムスキャナの残りに対重るマルチプレクサ42
の出力は36ビツト幅であり、かつ以下のものを含んで
いる:第2図のバレルシフタ22に対する3−ビットシ
フト聞の値;第2図のワードウィンドセレクタ21に対
する3−ビットウィンド選択値:第2図のPO△C出力
レジスタ30への入力に対する2−ビットソース選択値
;POLレジスタ29への入力に対する2−ビットソー
ス選択値;Pot−レジスタ29の内容のコードタイプ
を示す3−ビット信号:POACレジスタ30の内容の
2−ビットコードタイプ; POMレジスタ28に対す
る11−ビットの次のソース選択;POPレジスタ31
に対する6−ビットの次のソース選択;およびPOSレ
ジスタ27に対する4−ビットの次のソース選択信号。
第3図のスキャナロジックによって実現されるスキャニ
ングアルゴリズムまたは判断ツリーは、スキャナ判断ツ
リーを描く第4図を調べることにJ:つてよりm好に叩
解される。そこに示されているように、スキャナロジッ
クのすべてのオペレーションは、シラブルOにおけるル
ート演算子と、第3図のRAM40aにおけるその対応
する制御信号とによって開始させられる。もしもそのル
ートがE L S EまたはVARIであれば、そのル
ートは終了ルートであり、かつ終了ルートのみが放出さ
れる。もしもこのルート演算子がD U P Lであれ
ば、そのとぎはスキャンレジスタ23のシラブル1がR
AM40bによって検査され、これは適当な制御信号を
出力する。もしもルート演算子がNAMCであれば、シ
ラブル2が第3図のその対応するR A M 4. O
cによって検査される。
もしもルート演算子がV△+Cであれば、そのときはシ
ラブル2がRA M 40 cによって検査され、この
RAM40cはさらに、延長演算子がZEROloNE
であるときに出力信号としてRAM40dから出力を選
択し、または延長演算子がL T 8である場合に制御
信号としてRAM40aの出力を選択しかつ延長演算子
がL T 16であるときに制御信号としてRAM40
rの出力を選択する。判断ツリーの残りの部分は同様の
態様で機能し、かつ第4図から明白であると確信してい
る。
L 命令の多重ス1−リームおよびデータフローを有するプ
ロセッサに用いるプログラムスキャナが以−にのように
説明された。このスキャナは、入ってくるコードのシー
ケンをスキャンしかつそのコードにおけるシラブルの種
々のタイプを並列に検出するために複数のRAMを用い
ている。これらのRAMの出力は、共に分類される可能
なコードの種々のタイプを示し同時オペレーションのた
めにプロセッサの種々の動作ユニツi〜に伝送される制
御信号である。この発明は、この目的のためのRAMt
なわらランダムアクセスメモリの使用について説明した
が、これらのRAMの機能はロジックまたは制御信号を
ストアすることでありかつそれらはリードオンリメモリ
によって容易に置換えられ冑るということが叩解される
であろう。
この発明の一実施例が開示されたが、この発明の精神お
J:び範囲から離れることなく、変化および修正がなさ
れ1qるということは当業者にとって明白であろう。
【図面の簡単な説明】
第1図は、この発明を用いるプロセッサの概略図である
。 第2図は、この発明のプログラムスキャナの概略図であ
る。 第3図は、スキャナ構造の概略図である。 第4図は、この発明のプログラムスキャナの動作を示す
判断またはロジックツリーを示す図である。 第5A図、第5B図および第5C図は、この発明のプロ
グラムスキャナによって放出される分類されたシラブル
の種々の出力を描くテーブルを示す図である。 第5図は、第5A図、第5B図および第5c図の関係を
示す図である。 図において、10はプログラムスキャナ、11は実行ユ
ニット、12は中央データバッファ、13は基準ユニッ
ト、14は書込ユニット、15はメモリアドレスユニッ
ト、16はメモリ、20はキャッシュメモリ、21はワ
ードウィンドセレクタ、22はバレルシフタ、23はス
キャンレジスタ、25はプログラムカウンタ、27はP
OSレジスタ、28はROMレジスタ、29はPot−
レジスタ、30はPOACレジスタ、3111POPレ
ジスタ、32はP OL Tレジスタを示す。 特許出願人 バロース・コーポレーション代  理  
人  弁理士  深  見  久  部(ほか2名) 丁続補正出(方式) 昭和60年9月17[]

Claims (11)

    【特許請求の範囲】
  1. (1)多重内部データおよび命令ストリームを有し目的
    コードの逐次ストリングに応答して種々のユニットを同
    時に能動化するデータプロセッサにおけるプログラムス
    キャナであって、 複数の目的コードシラブル位置を有し前記目的コードの
    ストリングの一部を受取るスキャニングレジスタと、 前記プロセッサの前記種々のユニットに結合された複数
    の出力レジスタと、 前記スキャニングレジスタのそれぞれのシラブル位置を
    前記出力レジスタの異なるシラブル位置に結合するスイ
    ッチネットワークと、 前記スキャニングレジスタにおける前記シラブル位置の
    各々に対して1つずつ設けられかつ前記それぞれのシラ
    ブル位置に結合されてそれによってアドレスされる複数
    の記憶手段とを備え、前記それぞれの記憶手段は、前記
    スイッチネットワークに結合され、かつ前記スキャニン
    グレジスタの前記シラブル位置のどれが前記出力レジス
    タの異なるシラブル位置に結合されるかを示し前記シラ
    ブル位置の内容を前記出力レジスタの前記異なるシラブ
    ル位置に同時に伝送する制御信号を含む、プログラムス
    キャナ。
  2. (2)前記スキャニングレジスタは、前記出力レジスタ
    に伝送されなかったこれらのシラブルを、より低い番号
    のシラブル位置にシフトするシフトレジスタ手段を含む
    、特許請求の範囲第1項記載のプログラムスキャナ。
  3. (3)前記プロセッサは、前記目的コードのストリング
    をストアする外部メモリに結合され、かつ 前記スキャニングレジスタは前記外部メモリに結合され
    て複数の前記目的コードシラブルを受取り前記スキャン
    レジスタにおける未使用のシラブル位置を満たす、特許
    請求の範囲第2項記載のプログラムスキャナ。
  4. (4)前記目的コードシラブルのストリングを受取って
    前記スキャニングレジスタに伝送するシラブル選択手段
    と、 前記スキャニングレジスタにいくつのシラブルが与えら
    れるべきかを特定するプログラムカウンタとをさらに備
    えた、特許請求の範囲第3項記載のプログラムスキャナ
  5. (5)前記シラブル選択手段は、 前記外部メモリから前記目的コードシラブルのストリン
    グを受取りかつ前記スキャニングレジスタへの将来の伝
    送のために前記目的コードシラブルをストアするキャッ
    シュメモリと、 前記キャッシュメモリ手段から、複数のワードを形成す
    る複数の前記シラブルを受取り、かつ前記複数のワード
    から、シラブルのストリングにおける次のシラブルを選
    択して前記スキャニングレジスタに伝送するワード選択
    手段とを含む、特許請求の範囲第4項記載のプログラム
    スキャナ。
  6. (6)外部メモリに結合されかつ多重内部データおよび
    命令ストリームを有し目的コードの逐次ストリングに応
    答して種々のユニットを同時に能動化するデータプロセ
    ッサであって、 前記目的コードにおける演算子を実行する実行ユニット
    と、 前記目的コードにおける外部メモリの基準を実行する基
    準ユニットと、 プログラムスキャナとを備え、前記プログラムスキャナ
    は、 複数の目的コードシラブル位置を有し前記目的コードの
    ストリングの一部を受取るスキャニングレジスタと、 前記プロセッサの前記種々のユニットに結合された複数
    の出力レジスタと、 前記スキャニングレジスタのそれぞれのシラブル位置を
    前記出力レジスタの異なるシラブル位置に結合するスイ
    ッチネットワークと、 前記スキャニングレジスタにおける前記シラブル位置の
    各々に対して1つずつ設けられかつ前記それぞれのシラ
    ブル位置に結合されてそれによってアドレスされる複数
    の記憶手段とを含み、前記それぞれの記憶手段は、前記
    スイッチネットワークに結合され、かつ前記スキャニン
    グレジスタの前記シラブル位置のどれが前記出力レジス
    タの異なるシラブル位置に結合されるかを示し前記シラ
    ブル位置の内容を前記出力レジスタの異なるシラブル位
    置に同時に伝送する制御信号を含む、データプロセッサ
  7. (7)前記実行ユニット、前記基準ユニットおよび前記
    出力レジスタに結合されてそれらの間でデータを転送す
    る中央データバッファをさらに含む、特許請求の範囲第
    6項記載のプロセッサ。
  8. (8)前記スキャニングレジスタは、前記出力レジスタ
    に伝送されなかったこれらのシラブルを、より低い番号
    のシラブル位置にシフトするシフトレジスタ手段を含む
    、特許請求の範囲第7項記載のプロセッサ。
  9. (9)前記外部メモリは、前記目的コードのストリング
    をストアし、かつ 前記スキャニングレジスタは前記外部メモリに結合され
    て前記複数の目的コードシラブルを受取り前記スキャン
    レジスタにおける未使用のシラブル位置を満たす、特許
    請求の範囲第8項記載のプロセッサ。
  10. (10)前記プログラムスキャナは、 前記目的コードシラブルのストリングを受取って前記ス
    キャニングレジスタに伝送するシラブル選択手段と、 前記スキャニングレジスタにいくつのシラブルが与えら
    れるべきかを特定するプログラムカウンタとをさらに含
    む、特許請求の範囲第9項記載のプロセッサ。
  11. (11)前記シラブル選択手段は、 前記外部メモリから前記目的コードシラブルのストリン
    グを受取りかつ前記スキャニングレジスタへの将来の伝
    送のために前記目的コードシラブルをストアするキャッ
    シュメモリと、 前記キャッシュメモリ手段から、複数のワードを形成す
    る複数の前記シラブルを受取り、かつ前記複数のワード
    から、シラブルのストリングにおける次のシラブルを選
    択して前記スキャニングレジスタに伝送するワード選択
    手段とを含む、特許請求の範囲第10項記載のプロセッ
    サ。
JP60140127A 1984-06-28 1985-06-25 プログラムスキヤナ Granted JPS6118044A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US625612 1984-06-28
US06/625,612 US4720779A (en) 1984-06-28 1984-06-28 Stored logic program scanner for a data processor having internal plural data and instruction streams

Publications (2)

Publication Number Publication Date
JPS6118044A true JPS6118044A (ja) 1986-01-25
JPS6359176B2 JPS6359176B2 (ja) 1988-11-18

Family

ID=24506861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60140127A Granted JPS6118044A (ja) 1984-06-28 1985-06-25 プログラムスキヤナ

Country Status (4)

Country Link
US (1) US4720779A (ja)
EP (1) EP0170398B1 (ja)
JP (1) JPS6118044A (ja)
DE (1) DE3585182D1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454920B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen
SE454921B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser
US4961133A (en) * 1987-11-06 1990-10-02 Visystems, Inc. Method for providing a virtual execution environment on a target computer using a virtual software machine
US5280626A (en) * 1987-12-02 1994-01-18 Hitachi, Ltd. Multi-process emulator suitable for testing software under multi-process environments
US5187793A (en) * 1989-01-09 1993-02-16 Intel Corporation Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache
US5280615A (en) * 1990-03-23 1994-01-18 Unisys Corporation Out of order job processing method and apparatus
US5506974A (en) * 1990-03-23 1996-04-09 Unisys Corporation Method and means for concatenating multiple instructions
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
US5572682A (en) * 1992-04-03 1996-11-05 Cyrix Corporation Control logic for a sequential data buffer using byte read-enable lines to define and shift the access window
JP3644959B2 (ja) 1992-09-29 2005-05-11 セイコーエプソン株式会社 マイクロプロセッサシステム
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6115807A (en) * 1997-12-19 2000-09-05 Intel Corporation Static instruction decoder utilizing a circular queue to decode instructions and select instructions to be issued
US7711926B2 (en) 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
FR2479532B1 (fr) * 1980-04-01 1986-09-19 Bull Sa Procede et dispositif pour gerer les transferts d'informations entre un ensemble memoire et les differentes unites de traitement d'un systeme de traitement numerique de l'information
US4456958A (en) * 1982-06-08 1984-06-26 Burroughs Corporation System and method of renaming data items for dependency free code
US4463423A (en) * 1982-07-14 1984-07-31 Burroughs Corporation Method of transforming high level language statements into multiple lower level language instruction sets
US4636948A (en) * 1985-01-30 1987-01-13 International Business Machines Corporation Method for controlling execution of application programs written in high level program language

Also Published As

Publication number Publication date
EP0170398B1 (en) 1992-01-15
JPS6359176B2 (ja) 1988-11-18
DE3585182D1 (de) 1992-02-27
US4720779A (en) 1988-01-19
EP0170398A3 (en) 1988-06-01
EP0170398A2 (en) 1986-02-05

Similar Documents

Publication Publication Date Title
JPS6118044A (ja) プログラムスキヤナ
SK93491A3 (en) Digital computer system for elaborating of at lest two parallel instructions
US5471626A (en) Variable stage entry/exit instruction pipeline
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
KR100354324B1 (ko) 명령어큐스캐닝장치및그방법
JP2571757B2 (ja) 信号処理装置及び該装置を使用する
CS93691A2 (en) Method of instruction sequence processing and device for this method realization
US10430210B2 (en) Systems and devices for accessing a state machine
JP3100721B2 (ja) 複数の命令を発行する装置および方法
CN101432703A (zh) 用于高速缓存可变长度指令的方法及设备
US20220261257A1 (en) Systems and devices for accessing a state machine
US11580055B2 (en) Devices for time division multiplexing of state machine engine signals
NO141105B (no) Databehandlingssystem som har en hoeyhastighets bufferlager - enhet for overfoering av data mellom et hovedlager og en sentral behandlingsenhet
CA1235230A (en) Parallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JP2007536696A5 (ja)
KR900010587A (ko) 생산라인의 고성능 명령어 실행방법 및 장치
US5206947A (en) Stable sorting for a sort accelerator
US5506974A (en) Method and means for concatenating multiple instructions
JPH073655B2 (ja) 整理編集プロセツサ
JP2828219B2 (ja) オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム
EP0545927B1 (en) System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction
JP3732233B2 (ja) スーパースカラマイクロプロセッサ内で可変バイト長命令をプリデコードするための方法および装置
EP1236095B1 (en) Data processor with multi-command instruction words
JP3737573B2 (ja) Vliwプロセッサ
JPS6033644A (ja) メモリバンク切換方法および装置