JPS61256455A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JPS61256455A
JPS61256455A JP61103714A JP10371486A JPS61256455A JP S61256455 A JPS61256455 A JP S61256455A JP 61103714 A JP61103714 A JP 61103714A JP 10371486 A JP10371486 A JP 10371486A JP S61256455 A JPS61256455 A JP S61256455A
Authority
JP
Japan
Prior art keywords
address
information
instruction
processing
memory
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.)
Pending
Application number
JP61103714A
Other languages
English (en)
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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of JPS61256455A publication Critical patent/JPS61256455A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の背景 命令の取出しと実行および支援オはレーションの実行の
機能強化をする装置と方法とに関する。
玉]」JL二区里 情報処理システムの演算速度に対する第一の制限は、情
報、即ち命令およびデータを、メモリと情報処理エレメ
ントとの間で移動させるために要する時間によって課せ
られる。例えば、命令およびデータはそれらを処理する
処理装置へメモリから移す必要があり、その結果が処理
装置からメモリへ移される。
従来技術では、メモリから処理装置へ命令やデータを修
す速度を増加させるためにキャッシュや先取り機構を用
いてきたが、一般的にある種の関連した問題を指向する
ものでなかった。その問題の第1は命令やデータを取出
す速度でなく、命令やデータを滑かに流すことに関して
いる。即ち、命令やデータを取出す速度を増加してみて
も命令やデータがなければ処理速度を増すことにならず
、取出し演算が極めて高速であっても命令やデータの取
出し演算を行うために処理を伴出させねばならない。第
2の問題は、メモリへの情報書込み領域にある。即ち、
キャッシュを用いたシステムにおいては、キャッシュに
入力した情報はメモリ内の情報に対応するよう継続的に
更新する必要がある。しかしながら、このためには一連
の演算を必要とし、データ処理演算の円滑な流れを阻害
する。
命令の単に簡単な演算の機能が向上されるのみという点
において「通常」の命令演算実行上別の問題が発生する
。しかしながら、はとんどのシステムにおいて、処理エ
レメントは命令の実行に関連するが、例えば、割込み、
トラップおよび分岐演算のように命令を直接実行しない
多くの演算を実行する必要がある。
最後の問題は、マイクロコービのロードや診断オ(レー
ションのようなシステムの支援オペレーションが、シス
テムの全体性能に影響する重要なデータ処理関連オペレ
ーション群を構成することである。そのため前述の支援
オはレーションを実行する効率と所要電力とがシステム
パフォーマンスに関連するものの、はとんどのシステム
においては二次的な処理に関係している。
以下に説明する本発明は従来技術の前記およびその他の
関連の問題を指向するものである。
発明の概要 本発明は、演算すべきデータと、当該システムの演算を
命令する情報とを記憶するシステムメモリ手段と、該情
報に対して演算する処理手段とを含む情報処理システム
に関する。本発明は第1の局面において、システムメモ
リ手段に記憶された情報のサブセットのコピーを記憶し
、そこから処理手段へ情報を提供するキャッシュ手段を
含む。
該キャッシュ手段はシステムメモリ手段から処理手段へ
接続され、サブセットに含まれた情報のコピーを記憶し
、かつ提供するキャッシュメモリ手段と、処理手段から
システムメモリ手段へ情報を書込む書込みご組合せ手段
とを含む。書込み2組合せ手段は処理手段とキャッシュ
メモリ手段の情報出力側から接続された第1と第2の入
力部と、システムメモリ手段ならびにキャッシュメモリ
手段の情報入力部とに接続された出力部とを含む。
書込み一組合せ手段はキャッシュメモリ手段に位置する
サブセットのコピーに含まれた情報に関するメモリ書込
みアドレスに応答してキャッシュメモリ手段からの対応
する情報を読取り、システムメモリ手段に書込むべき情
報とキャッシュメモリ手段から読取られる対応する情報
とを組合わせ、組合わされた情報をキャッシュメモリ手
段へ書込み、かつ組合わされた情報をシステムメモリ手
段へ供給する。
キャッシュの別の特徴において、キャッシュメモリ読取
り手段はさらに、サブセットに含まれていない情報に関
する読取りアドレスに応答してアドレスされた情報をシ
ステムメモリ手段から読取り、かつシステムメモリ手段
から読取られた情報をキャッシュメモリ手段へ書込み、
その中に含まれたサブセットの一部とするキャッシュメ
モリ書込み手段を含む。キャッシュメモリ書込み手段は
さらに、キャッシュメモリ手段の情報入力部からキャッ
シュメモリ手段の情報出力部に接続され、読取り情報を
キャッシュメモリ手段へ書込むのと同時にシステムメモ
リ手段から読取られた情報を処理手段へ供給するキャッ
シュメモリバイパス手段を含む。
本発明の別の特徴においては、処理装置は命令やオはラ
ンド(演算数)を処理装置に滑かに流すだめの取出し手
段を含む。この取出し手段は、処理装置のオペレーショ
ンに応答して、その各演算の最初に来る第1のエツジ(
edgθ)と、該処理装置の各演算の実行の間に来る第
2のエツジとを有する処理装置クロック信号を供給する
手段を含む。
アドレス手段は処理装置手段のオにレーションに応答し
て処理装置のクロック信号の第1のエツジにおいてメモ
リ手段に次のオRランビのアドレスを供給し、かつアド
レス手段が次のオイランドのアドレスを供給したとすれ
ば処理装置のクロック信号の第1のエツジの後の一定間
隔において、あるいはアドレス手段が次のオイランドの
アドレスを供給していないとすれば処理装置のクロック
信号の第1のエツジにおいてのいずれかで次の命令アド
レスをメモリ手段に供給する。また処理手段は処理装置
のクロック信号に応答して該信号の次に起る最初のエツ
ジにおいて次のオイラント9をメモリ手段から受取り、
かつ処理装置のクロック信号の次に起る第2のエツジに
おいてメモリ手段から次の命令を受取る手段を含む。
取出し機慣の別の特徴において、処理手段は、現在の命
令に応答して次の論理命令アドレスを提供する手段を含
み、オペランドに対する演算を実行する中央処理手段と
、次の論理オRランドアドレスを発生させる手段を含み
命令に対して演算を実行する命令処理手段と、を含む。
アドレス手段はさらに9次の論理命令アドレスと5次の
論理オにランドアドレスとに応答して対応する次の命令
アドレスと次の第4ランドアドレスア ト3レス変換手段と、中央処理手段の演算に応答して次
の命令アドレスを記憶しかつ供給する次の命令のレジス
タ手段と、および命令処理手段の演算に応答して次のオ
にランドのアドレスを記憶しかつ供給する次のオペラン
ド9のレジスタ手段とを含む。
本発明のさらに別の特徴においては、処理装置は命令に
応答して処理手段の演算を制御するマイクロ命令を供給
するマイクロ命令制御手段を含む。
マイクロ命令制御手段はマイクロ命令アドレスに応答し
てマイクロ命令を記憶しかつ供給するマイクロ命令メモ
リ手段と、命令に応答してマイクロ′命令シーケンスの
最初のアドレスを供給する第4のマイクロ命令アドレス
手段と、およびマイクロ命令に応答してマイクロ命令を
順次選択する第2のマイクロ命令アドレス手段とを含む
。マイクロ命令制御手段はさらに、当該システムの決定
されタオイレーション条件でテストを行い、かつそのテ
ストの結果の真偽を指示する出力を供給するテスト状況
検出手段をさらに含む。第2のマイクロ命令アドレス手
段はテスト出力に応答して、もしテストが正しければ次
のマイクロ命令アドレスを供給し、第1のマイクロ命令
アドレス手段はテスト出力に応答して、テスト結果が正
しくなければ新しい初期マイクロ命令アドレスを供給す
る。
当該システムは支援オペレーションを行うシステム制御
手段と、データ処理手段とマイクロコード制御手段とを
含む少なくとも1個のデータ処理エレメントと、システ
ム制御手段から接続されシステム制御手段とデータ処理
エレメントとの間で情報を導く支援バス手段とをさらに
含む。前記の処理エレメントは、支援バス手段から接続
されエレメント支援手段と支援バス手段との間で指令ワ
ードを転送する指令レジスタ手段を有する支援手段を含
み、情報を含む制御ワードを含む指令ワード1のあるも
のが処理エレメントのオはレーションの現在モードを導
く。制御レジスタ手段は指令レジスタ手段から接続され
制御ワードを記憶し、かクロル−チンを供給する。処理
エレメントのマイクロコード制御手段は制御ワードに応
答して処理エレメントの制御ワードを支援マイクロコー
ド手段へ転送する。
各指令ワード9は、受取る側の処理エレメントを識別す
る目標フィールドと、目標の処理エレメントによって実
行すべき支援オペレーションを識別する命令フィールド
とを含む第1のセクションと、制御ワードあるいは現在
の支援オペレーションの結果として通信すべき情報を含
む情報フィールド9のいずれかを含む第2のセクション
と全含む。情報フィールド9は処理エレメントのマイク
ロコード制御手段におけるマイクロ命令アドレスと、処
理エレメントのマイクロコード制御手段から読取られた
か、また書込むべきマイクロ命令あるいはデータ処理手
段から読取られたか、あるいはそこへ書込むべきデータ
と、を含む。各制御ワードは処理エレメントが指令モー
ドにおいて動作すべきことを示すピッ゛トを含むモード
フィールドを含み、かつ処理エレメントのオはレーショ
ンは支援手段によって制御される。
本発明のその他の目的、利点および特徴は好適な実施例
についての以下の詳細な説明と添付の図面とを参照すれ
ば当該技術分野の専門家には理解される。
好適な実施例の説明 以下の説明は、本発明の現在の好適な実施例を含むコン
ピュータシステムの構成と動作とを記載する。以下の説
明において、当該システムの全体の構成と動作とは全体
的なブロック線図レベルでまず説明する。次いで、例え
ばデータ、命令、アドレス、プログラム制御ワードおよ
び割込みの構成および操作のような当該システムの基本
的な特徴ならびに動作原理について説明する。次いで、
当該システムの説明を、さらに詳細なブロック線図しば
ルで続け、当該技術分野の専門家が本発明をさらに理解
しやすく、さらに詳細なレベルまで展開する。
本発明をより明確にするために以下の説明を通して、参
照番号および図面においである種の数種めを行っておく
。まず、当該システムの関連部分あるいは関連情報を添
付図面の2頁以上にわたり継続する場合、これらの図面
の頁は1個の共通の図面番号で示し、図面の頁は末尾に
文字で指示することにより個々に識別するものとする。
例えば、第10図があったとしてそれが3頁から構成さ
れる場合、第10A図、第10B図および第10C図と
言及するものとする。
当該システムの関連部分間の相互接続については2種類
の方法のいずれかで指示することができる。まず、説明
を判りやすくするには、当該システムの関連部分の間の
相互の接続を、配置sあるいはバスを描くのでなく、む
しろ共通の符号あるいは参照番号で指系すればよい。第
2の方法は、当該図面を構成する図面の頁をその文字の
示す順序で並置させて、一枚の大きい図をつくるように
複数の頁からなる図を作成すればよい。この場合、ある
種のバスや接続は図の頁の端で接続するようにし、バス
ならびに接続が1枚以上の図の頁にわたってつながるよ
うにする数種の図に出てくるシステムエレメントについ
ての参照番号は3桁あるいは4桁から構成される。少な
くとも2個(最右端)の桁が特定の図面における特定の
エレメントを示し、1桁あるいはせいぜい2桁(最左端
)が該エレメントが最初に出てくる図を示す。例えば、
特定のシステムエレメントが第10図において12)番
目のエレメントとして出てくるとすれば、そのエレメン
トは参照番号1012で示す。同様に、第3図において
9番目のエレメントとして最初に出てくるエレメントは
309で指示される。前述のように、そのような参照番
号は以下の説明に出てくる特定のエレメントに対して最
初に付与され、該エレメントに言及する場合はいつでも
説明の最後まで使用される。例えば、第3図において最
初に出てくるエレメント309は第10図にも出てくる
場合309で言及され続ける。
最後に、かつ説明を判りやすくするため、いずれのフィ
ールド、ワードあるいは命令の最左端部分は、以下の説
明を通して最も重要な、即ち最高位のノ2イトあるいは
ピントとして言及される。同様に、いずれかのフィール
ド、ワードあるいは命令における最古側の部分は、重要
度の低い、即ち最低位のバイトあるいはビットを示す。
A、ブロック線図の構成とオペレーション(第1図)第
1図を参照すれば、本発明を組込れたシステム102の
ブロック線図が示されている。図に示すように、システ
ム102は処理ユニット(PU)104、主メモ!J 
(MM)106 、システム制御二二ツ) (SCU)
108、および1個以上のサテライト(satelit
e)処理ユニツ) (SPU)112を備えたシステム
バスインタフェース(SBI)IIQを含む。これらの
エレメントはシステムバス(SB) 114に双方向的
に接続され、かつ該バスにより相互に接続され、該シス
テムハス114ハ、双方向性システムアドレス(SA)
バス116、双方向性メモリ制御(MO)バス117、
双方向性システムデータ(SD)バス118およびシス
テムバス制御(SBC) IJンク119とから構成さ
れている。SAババス14とSDパス116とはそれぞ
れシステム102のエレメントの間でアドレスやデータ
を転送するためのものであり、一方MOバス117はM
M106の動作の制御を行う。SBCIJンク119は
5B114ノ各種ノユーザ、例えばPU104、MM1
06、SCU 108 オJ: ヒsBI 110 K
 J: ’) SB 114へ07クセスを制御する機
構を提供する。例えばPU104.5CU108、MM
106および5BIIIOのようなシステム102のあ
る種のエレメントも支援リンク(SL)バス120によ
りさらに相互に接続されている。以下さらに下記するよ
うに、SLババス20はSCU108とシステム102
のあるエレメントの内部オRレーンヨンとの間でアクセ
スや通信を提供する。
まずPU104を参照すれば、PU104は処理制御さ
れて、即ちプログラムの実行の間受取られる命令によっ
て制御されてデータに対する演算を行う中央処理ユニッ
) (CPU)122を含む。以下詳細に説明すルj5
1C1CPU 122 (!:、PUIO4)関連エレ
メントとは、CPU122がその各サイクル当り1個の
マイクロ命令を、かつ1回に1個のマイクロ命令を実行
するようにしてマイクロプログラムニより制御[11さ
れる。
CPU122は主として、2進および10進法の整数演
算ならびに論理演算を行い、以下に説明する種類の一般
的な命令を実行する。またcpu122は例えば命令ア
ドレス関連の計算のような′アドレス生成二二ソ) (
AGU)124を支援するある種のアドレス生成演算を
行う。さらに、CPU122はこれも以下詳しく説明す
るシステムプログラム制御ワードを発生させ、かつ持続
する。またCPU122はマイクロ命令ブランチアドレ
スを発生させ、これも以下に詳しく説明するマイクロコ
ービシーケンサから受取られたリテラルフィールド9ヲ
用いてリテラルフィールド常数の演算を行う。第1図に
示すように、CPU122はSLババス20に接続され
たシステム102のエレメントの中の1つである。
CPU122にはアドレス生成ユニット(AGU)12
4が付属しており、該ユニットは以下説明のように、マ
イクロ命令先取りおよび待ち行列機構を含む。
AGU124は命令全取出し、命令のフィールドから、
該命令によって演算すべきオペランドを示す仮想アドレ
スを発生させ、これら命令を実行するためにマイクロ命
令ルー・チンを識別するアドレスを送る。AGU124
はまた現在の命令フィールドから、実行すべき次の命令
の仮想アドレスを発生させる。
以下に詳しく説明するように、AGU124とCPU1
22とはそれぞれ命令演算および実行ユニットといえる
。AGU124とCPU122とは個別に、かつ同時に
演算して、命令取出し、命令復号化、オにランド取出し
および命令の実行を重複して行い、PU104の内部性
能を向上させる。
CPU122およびAGU124にはアドレス変換ユニ
ツト/キヤツシユ(ATU/C)126が付属しており
、これはCPU122とAGU124とを相互に連結さ
せ、PU104と5B114との間のデータおよびアド
レスパス(address path)として、PU1
04の内部データおよびアドレスパスによってATU/
C126への経路として作用する。前述のように、AG
U124は仮想アドレス、即ちプロセスのアドレス空間
に対する命令およびオペランドのアドレスを発生させ;
該プロセスはコープに対してプログラムを実行する構成
要素であって、かつアドレス空間およびプログラム実行
の現在の状態によって表わされる。
ATU/C125はAC,U124に対して作用し、例
えばMM106から読取ったり、かつ書込むためにシス
テム102のアドレス空間内の対応する物理的アドレス
に仮想アドレスを変換する。またATU/C126はC
PU122に対するキャッシュ機構として作用し、即ち
CPU122の演算に先立ってオペランドと命令ヲ取出
シ、カッ記憶スル。ATU/C1264CPU122と
AGU124と共に同時に作用する。
PU104は、PU104の他の演算、例えばCPU1
22と同時に浮動小数点演算を行う浮動小数点ユニット
(FPU) 128をさらに含む。FPU128はSL
パス120から接続された、システム102の別のエレ
メントである。
第1図に示すMM106を参照すれば、MM106はデ
ータや命令を記憶する1個以上のメモリ二二ツ) (M
U)130 、!:、MU130カラノ、アルイハMU
130へのデータや命令の読取り、書込みを制御するメ
モリ制御ユニット(MCU)132とを含む。MCUは
SAババス16、MCバス117、SDババス18およ
びSBCリンク119から接続され、SLババス20か
ら接続されたシステム102のエレメントの中の1つで
ある。
5CU108は主として全体のシステム制御および。客
寄 支援オ   う。第1図に示すように、SOo 108
テム全提供する。また、5CU108は局部的な診断機
能を行い、かつ遠隔診断装置用のリンクを提供すること
ができる。5cUtosのその他の機能には、停電時の
自動再開機能ならびにエラーロギングおよびシステムの
作動モニタリングを含むことができる。
5BIIIOおよび5PU112を参照すれば、5PU
112は周辺装置、例えばプリンタ、通信リンク、ター
ミナルおよびディスク駆動装置用のインテリジェント制
御装置/インタフェースである。5PU112は入出/
出力(工0)バス136を介して5BIIIQに接続さ
れている。5BIIIQは5PU112と協働して、工
○パス136およびシステムバス114の間の通信イン
タフェースとして作動し、周辺装置とシステム102の
エレメントとの間で情報を転送する。
B、演算の基本的特徴と原理(第2図、第3図、第4図
、および第5A図、第5B図および第5C図) 前述のように、以下、データ、命令、アドレス、プログ
ラム制御ワードを含むシステム102のある基本的特徴
および演算ならびに割込み構造と演算について述べる。
B、1.システム102の全体の構成(第2図)以下詳
細に説明するように、処理二二ツ) (PU)104ハ
主メモリ(MM)106をアドレスする装置、情報を取
出し記憶する装置、データの演算および論理処理用装置
、希望する順序で命令を順序付けする装置およびMM1
06と外部装置との間の通信を開始する装置とを含む。
!」」記1と乙二二 PU104は、その内部演算と関連して16個の32ビ
ツト汎用レジスタにおいて情報をアドレスする。
汎用レジスタはアドレス演算およびインデックス作用に
おいてインデックスレジスタとして、かつ固定小数点の
算術および論理演算においてアキュムレータとして使用
しうる。汎用レジスタは〇−15の数で識別し、かつ以
下述べるように命令フォーマットにおいて4ビツトのR
フィールドにより規定される。ある種の命令により、数
個のRフィールドを有することによって多数の汎用レジ
スタをアドレスする。
B、1.b、制御レジスタ 制御のためにさらに16個の32ビツトレジスタが設け
られており、これらはアドレス可能の記憶装置の一部で
なく、即ち命令の実行においてアドレスしたり使用はで
きない。これらの制御レジスタはプログラム制御ワー)
” (PCW)の外部に存在する制御情報を保持し、か
つ操作する手段を提供し、該ワードは後述のようにシス
テム102に位置しプログラムと命令の実行に関する情
報を含む8バイトのワードである。
CROからCR15までの16個の制御レジスタの用途
と構成とについては当該技術分野の専門家には十分理解
される。システム102において、制御レジスタの役割
は以下の通りである。
CRO高範囲 CRI     保存領域バックチェイン(Back 
Chain)CRz      システムスタックリミ
ットワードCRa     低範囲 CR4修正割込みアドレス CR5先行命令割込みアドレス CR6−11予備 CRI 2−13 時間、日付クロックCR14−15
クロックコンパレータ 制御レジスタの全体構成について検討すれば、制御レジ
スタ1はプログラム呼出しの保護されたバックチェイン
とスーパバイザサービス用入口(スーパバイザ呼出し)
とを保持する。制御レジスタ2はスタックハンドリング
装置と関連し、システムスタックリミットワードと称さ
れる。制御レジスタ0および3−5はデバツギングエイ
ドと関連し、制御レジスタ12−15はクロックと関連
する。
B、1.c、メモリ リファレンス、セグメントおよび
に−ジテーブル システム102は、それぞれ有効メモリセグメントと関
連した、1バイト入口の、多数のローカルイージテ・−
プル(LPTS)を保持する。全てのメモリリファレン
スは前記テーブルの1個を用いて仮想メモリアドレスの
変換を行う。
纜−ジテーブルには1個以上のローカルベージフレーム
テーブルが関連しており、該テーブルは物理的メモリの
は−ジフレーム当り2ピツトノ情報、即ち1向の基準ビ
ットと1個の変動ビットとを含んでいる。機械語命令に
よりあるイージフレームにおける何らかの位置が引1用
されると常に、対応スルローカルヘーシのフレームテー
ブルエントリ(入口)の対応する基準ビットがセットさ
れてそのリファレンスを指示する。このリファレンスが
メモリ位置の修正を含む場合には、ローカルイージのフ
レームテーブルの入口における対応する変動ビットもセ
ットされ、その変動を示す。これらの入口がテストされ
て、オ竪レーティングシステム支援命令によりリセット
される。
B・1・d、  BU104による算術演算以下詳細に
説明するように、PU104の算術および論理ユニット
は長さが固定の二進法整数、長さが可変の十進法整数お
よび長さが固定か可変かいずれかの論理情報とを処理す
ることができる。
PU104により実行される算術および論理演算は以下
の5種類に入る;即ち固定小数点算術演算浮動小数点算
術演算、十進法の算術演算、十進法の浮動小数点算術演
算および論理演算である。これらの種類は使用するデー
タフォーマット、使用レジスタ、提供される演算、およ
びフィールド長さを示す要領とによって相違する。
B、1.θ、PU104とMM106との間の情報転送
とアドレス例外(第2図) MM106とPU104との間で伝達される情報と、P
U104が演算する情報とは8個のビット、即ちバイト
あるいはその倍数を論理単位として構成される。第2図
を参照すれば、システム102によって実行される情報
フォーマットが示されている。
図示のように、ワード9はそのアドレスが4の倍数であ
る4個の連続したバイトのフィールドとして規定され、
ダブルワードはそのアドレスが8の倍数である2個の連
続したワードのフィールドとして規定され、ハーフワー
ドはアドレスが2の倍数である2個の連続したバイトの
フィールドとして規定される。
以下さらに説明するが、システムデータ(SD)バス1
18の幅は64ビツト、即ち8バイト即ち1個のダブル
ワードであって、MM106とPU104との間の全て
の情報はダブルワード9の形で転送される。
いずれの情報フォーマット、あるいは以下説明するいず
れの固定長さのオはランドフォーマットにおいても、フ
ォーマットを構成するビット、あるいはバイトは0から
始まって左方から右方へ連続的に番号が付されている。
メモリにおけるバイト位置はOから始まって連続的に番
号が付され、各番号は対応するバイトのアト3レスと考
えられる。
メモリにおける一部のバイトは核部の最左端のバイトに
よってアドレスされ、核部におけるバイトの番号は演算
により暗に示されるか明示される。
以下さらに説明するように、システム102は拡張可能
の31ビツトである24ビツトの二進法アト0レスを使
用する。所定の装置において、システム102の最大の
アドレス可能の記憶容量の一部のみが利用可能である場
合、利用可能な記憶は通常アドレス0から始まる一連の
範囲の物理的アドレスである。オ被ランドのいずれかの
部分力゛−記憶装置の最大利用可能容量を越えて位置す
る場合はアドレス例外が確認される。データが使用され
、プログラムに割込みが起るとアドレス例外が確認され
る。
後述するように、システム102は複数の命令フォーマ
ットを実行し、その各々について下記する。
しかしながら、各命令は2個の主要部分から構成される
;即ち、実行すべき演算を規定する命令コードおよび該
演算に参加するオペランドの指示である。
B、2.a命令コート中 各命令フォーマットにおいて、命令の最も有意性のある
ハーフワードの痕初の、即ち最も有意性のあるバイトは
命令コード(OPコード)フィールドを含む。OPコー
ドフィールド 個のビットは以下示すように命令の長さとフォーマット
とを規定する: ビット位置   命令     命令 00    ハーフワード    RRol   2個
のハーフワード”   RXlo   2個のハーフワ
ード R8,SI、S、RL。
またはRRL 11  3個または4個の  SSまたはSSIハーフ
ワード OPコートリイールト9の第2のバイトは2個の4ビツ
トフイールド9あるいは1個の8ビツトフイールドのい
ずれかとして使用される。このバイトは以下の情@を含
むことができる。
4ビツトオにラント9のレジスタ指定(R1、R2また
はR3); 4ビツトのインデックスレジスタ指定(X2) ;4ビ
ツトのマスク(Ml); 4ビツトのオにランド長さ指定(LlまたはL2);8
ビツトのオペランド長さ指定(L);8ビツトの即値デ
ータ(12) ;または4ビツトのスタックベクトル指
定(S)。
ある種の命令において、4ビツトフイールドあるいは最
初のハーフワードの全体の第2のバイトは無視しうろこ
とを注目すべきである。
命令の第2)第3および第4のハーフワードは後述のよ
うに、特定の命令に応じてフオニマッド を変えること
ができる。
B、z、b、命令によるオペ27ドのリファレンスシス
テム102において、命令はそのフォーマットに応じて
3個のオペランド9まで辱R1することができる。オペ
2ント9のリファレンスはさらに3種類にまとめること
ができる:レジスタに位置するオはランビニ即値オペラ
ンド、および主メモリ(MM106)におけるオペラン
ド、であって、かつ黙示あるいは明示ができる。
レジスタオペランドは一般的に浮動小数点あるいは制御
レジスタに位置することができ、かつ命令において、R
フィールド9と称される4ビツトのフィールドにおいて
レジスタt−識別することにより規定される。ある種の
命令に対してはオペランド9は黙示されたレジスタに位
置する。
即値オペランドは命令内に含まれ、即値オペランドを含
む8ビツトのフィールドはエフイールド9と称される。
MM 106におけるオペランドの長さは、1ビツトの
マスクにより黙示規定されるか、Lフィールド9と称す
る4ビツトあるいは8ビツトの長さのパラメータにより
規定される。MM106における第4ランドのアドレス
はアドレスの一部として全体的、即ちペースレジスタの
中味を用いるフォーマットにより規定される。全体レジ
スタにおけるアドレスはBフィールドと称され、さらに
移動したアドレス(0でもよい)はDフィールド9と称
される。
Xフィールド9は、ペースレジスタアドレスに追加され
るアドレスをインデックスレジスタにおいて指示する。
命令実行を説明するために、オペランドを第1、第2お
よび第3のオペランド9として指示する。一般的に、2
個のオペランド9が命令実行に参加し、その結果第1の
オペランド1に代替する。しかしながら、ある命令にお
いては、結果として第2のオにランドに代替することが
ある。最終結果を記憶することを除いて、演算のアドレ
シングあるいは実行部分に関係する全てのレジスタおよ
びメモリ位置の中味は不変のままである。
は4個の3  )−であって、MM106において、−
貫したハーフワード境界に位置する必要がある。
第3A図から第3工図までを参照すれば、9個の命令フ
ォーマットが示されている。9個の基本的す命令フォー
マットはフォーマツトコ−)”、 RL。
RR,RRl、、 RX、 R3%SI、s、ssオヨ
ヒss工テ指示くれ、それらは一般的に実行すべきオペ
レーションを示す。
冊 レジスタからレジスタへのオペレーションを示ス;
RL  レジスタからレジスタへの〔相対的〕オペレー
ションを示す; RX  レジスタおよび割出された記憶のオペレーショ
ンを示す; 怒 レジスタおよび記憶のオペレーション全示す;SI
  記憶および即値オはランドのオはレーションを示す
; S  黙示オにランドと記憶のオペレーションを示す; SS  記憶から記憶へのオにレーションを示す;およ
び SSI  記憶と即値オはラント9のオイレーンヨンを
示す。
B、3プログラム制御ワービ(第4図)前述のように、
システム102は各プロセスに対して、8バイトの長さ
で、適正なプログラム実行に必要な情報を含むプログラ
ム制御ワーp (paw)全保持する。PGWは状態お
よび制御情報、割込みコードおよび命令アトa vスと
を含む。一般に、PCWは命令の順序付けを制御し、現
在実行されつつあるプログラムに対するシステムの状態
を指示するために使用される。
命令のシーケンスを実行するために、PU104はPC
wから命令のアドレスを取込み、その命令を実行し、命
令の長さによってPCWの命令アドレスを増加する。次
いでPU104はPCWから新しく・命令アドレス全取
入れ、割込みあるいはHALT (停止)工10命令が
受取られるまでプロセスが継続する。
使用中即ち制御中のPCWは現在のPCWと称される。
現在のPCWの記憶を介して、PU104の状態全欠の
検査のために残すことができる。新しいPCW、即ちP
CWの一部を装填することによりPU104の状態を変
えることができる。
PCWは1バイトの割込みコード、3バイトの命令アド
レス、2バイトの状態フィールドおよび1バイトのプロ
グラムマスクフィールドから構成され、1バイトは他の
目的に残しておく。
第4図を参照すれば、システム1102pcの構成が示
されている。以下はPCWにおける各ビットの機能の詳
細説明である。
pawビット 簡略記号    機 能0−7    
      割込みコード8−31         
現在命令アドレス状態フイールド エヱニニ血ヱ12ユ 32    W   待機状態 〇−作動状態 ニー待機状態 33     G   制御モート9 〇−通常動作モード 1−制御モード 34     P   メモリ保護阻害および特権命令
割込み 0−メモリ保護阻害、即ち 特権命令に割込まない 1−メモリ保護阻害即ち 特権命令への割込み 37     I   I10割込みマスク0=I10
割込み使用不可 1 = エフ0割込み使用可能 38    T   クロック割込みマスク0=クロッ
ク割込み使用不可 l−クロック割込み使用可能 39Mfi械チェック割込みマスク 0−@械チェック割込み使用 不可 1−機械チェック割込み使用 可能 ステー スフイールビ 40     B  pewシングルアドレス比較割込
み(トラップ) Q = PSWシングルアドレス比 較割込みが実施されない 1=pcwシングルアドレス比 較等値割込み 41     D   シングルバイト修正割込み0=
ニシングルバイト正割込 みが実施されていない l=特定バイトにおけるバイ トとの非等値比較割込み 42    E   P(V 範[FIJ込ミQ = 
P(m範囲割込み実施され ていない 1=特定のpaw範囲における バイトとの非等値比較割込み 43     S   シングルステップ割込み0=ニ
ステップ外なし 1=次の命令実行後側込み 44    EM   修正割込み延長45   8T
   ブランチによる割込み46−47       
予備 48−49   CO状況コード プロクラムマスクフィールド9 0=オーバフローに割込まない 1=オーバフローが割込みをさ せる 51DOIQ進法オーバフローマスク O=オーバフローに割込まない 1=オーバフローが割込み全さ せる 52     EU   指数部アンダフローマスク(
浮動小数点命令) 0=アンダフローに割込まない 1=アンダフローが割込みをさ せる 53   8G  有意性マスク(浮動小数点命令)0
=オーバフローに割込まない 1=オーバフローが割込みをさ せる 54.55      予備 予備バイト 56−63       予備 psw状態コートリイールト頁BITS48−49)は
その機能については以下詳細に説明するが、セットし、
多くの命令によってテストし、ある種の命令によって変
更しうろことに注目すべきである。
B、4.アドレシング(第5A図、第5B図および第1
)前述のように、オペランドは3種類にグループ化でき
る。即ち、MM106において明示されてアドレスした
オにランド、MM106における命令の流れの一部とし
て位置した即値オペランドおよびレジスタに位置したオ
ペランド“である。これらのオペランドはオペランド3
を参照する命令に応じてベース(base)を変位した
相対的あるいは直接的なアドレス発生によりアドレスで
き、これらアドレシングモードの各々については所定の
順序で以下に説明する。
8.4aベース、変位アドレス生成 プログラムセグメントを簡単に移し換え、かつ入力、出
力および作業領域に対して弾力的な仕様を提供するため
に、MM106を参照する全ての命令は、前述し、かつ
システム102の以下の説明において詳述するが、完全
な24あるいは32ビツトのアドレスを採用することが
できる。
MM1’06を参照するために使用されるアドレスは以
下の3種類の2進数字から発生する二三二二乙二二玉旦
は命令のBフィールビにおいてプログラムにより規定さ
れる汎用レジスタに含まれる24ビツト数である。Bフ
ィールドは各アドレス仕様に含まれている。ベースアド
レスはプログラムおよびデータの静的再配置手段として
使用できる。アレイ計算においてベースアドレスはアレ
イの位置を規定し、記碌処理においてはレコードを識別
できる。ベースアドレスは全てのメモリをアドレスする
。またベースアドレスは索引用にも使用しうる。
ゴニニ!コニ2二9四、は命令のXフィールドにおいて
プログラムにより規定される汎用レジスタに含まれる2
4ビツトの数である。これはRx命令フォーマットに規
定されたアドレスのみに含まれる。RXフォーマット命
令は二重索引を可能とし、即ちプレイ内でエレメントの
アドレスを提供するために使用できる。
変位ff))即ちオフセットは命令フォーマントに含ま
れる12ビツトの数である。これは各アドレス計算に含
まれる。変位はエレメント即ちベースアドレスを越えて
4095バイトまでの相対アドレシングを提供する。ア
レイの計算において、変位はエレメントと関連した多く
の項目の中の1個を規定するために使用できる。レコー
ドの処理において、変位はレコード内の項目の識別に使
用できる。
ば−ス変位アドレスの形成において、ベースアドレスと
インデックスとは符号なしの24ビツト2進整数として
扱われる。変位も同様に符号なしの12ビツト2進整数
として処理される。オーバフローを無視してるが24ビ
ツトの2進数字として追加される。各アドレスはベース
を含むので、総和は常に24ビツトの長さとなる。
プログラムハイースアドレス、インデックスあるいは変
位フィールド9において零の直を示す。零は対応するア
ドレス成分9ないことを示す。ペース、即ち零のインデ
ックスは、零の値がアドレス形成に使用されるべきであ
って、汎用レジスタ0の中味を参照しないことを意味す
る。このように、レジスタo2ベースレジスタとして使
用することにより必然的にプログラムの再配置を不可能
とする。零の変位は何ら特別な意義を有しない。(−ス
アドレスおよびインデックスの開始、修正およびテスト
は固定小数点命令、あるいはある種の分岐命令により達
成することができる。
B、4.b、相対アドレス生成 相対的な命令フォーマツ) (RLおよびRRL)のア
ドレシングに対してはベースレジスタは不要である。現
在の命令アドレスは暗示されたベースアドレスであって
、相対的なオフセットが該ベースアドレスに追加され有
効アドレスを形成する。このフォーマットの使用はある
種の分岐命令に限定される。
MM106を参照するために使用する相対アドレスは以
下の3個の2進・種麹から発生する:】亘二血土1上二
二は暗示されたベースアドレスである。そのため、もし
例えばXとLの値が零であれば、命令はそれ自体分岐す
る。
インデックス閃は命令中に規定されるとすれば、命令の
Xフィールドにおいてプログラムにより規定される汎用
レジスタに含まれる24ビツトの数である。
相対的オフセラ14は命令におけるビットの数から24
ビツトの数まで伸ばされる。
相対的アドレスの形成において、前記3個の数字はオー
バフローを無視した符号なしの24ビツト2進整数とし
て追加される。さもなければ、相対アドレス生成に関す
る規則はベース変位アドレス生成規則と同じである。
B、4.c、直接アドレス生成 アドレス0−4095はベースアドレスあるいはインデ
ックスが無くても生成可能である。この特性は例えば、
PCWおよび汎用レジスタの中味が保存され、かつプロ
グラムスイッチの間復帰する必要のある場合使用される
。これらのアドレスはさらに、例えば古いPGNと新し
いPCWのような一定の目的に対してシステム102が
使用する全ての保存アドレスを含む。
B、4.a、アドレス変換(第5A図、第5辺および第
5C図)アドレス変換は、ユーザの仮想アドレス空間内
の位置、即ちユーザのプログラムあるいはプロセス内の
アドレス空間内の位置を参照する仮想アドレスを、MM
106の位置を参照する物理的アドレスに変換するプロ
セスである。
システム102 用のMM106ハページフレームへ局
部的に論理的に組織され、かつ後述するように31ビツ
トまで拡大し付加的なアトレシンゲスに−スを提供スる
24ビツトのアドレスによりスパンされる、バイトでア
ドレス可能のランダムアクセスメモリ(RAm )から
構成される。
第5A図を参照すれば、MM106はそれぞれ、MM1
06のアドレス空間内で特定のページフレームを識別す
る13ビツトのに一ジフレーム番号フィールドと、ペー
ジ内の位置を識別する11ビツトのバイトインデックス
フィールド9とから構成される。本実施例においては、
各ページフレームは2にノミイトの情報を含み、2にバ
イトの境界に整合し、正確に14−ジの情報を含む。以
下さらに・ 説明するように、MM106は1,2.4
あるいは8バイトのバイト整合書込み操作ならびに8バ
イトの二重ワードと整合した読取り操作を支援する。
例えばディスク記憶装置に位置する仮想メモリ空間は論
理的にページとセグメントとに分割される。第5B図に
示すように、仮想メモリアドレスはそれぞれ、仮想アド
レス空間内で仮想ページを識別する13ピツトの仮想に
一ジインデックスフイールド9と、仮想ページ内の位置
を識別する11ビツトのバイトインデックスとから構成
される。
また、仮想ページのサイズは2にバイトであって、2に
バイトの境界から開始する。物理的には各ページは例え
ばディスクプラッタの1セクタを占有する。セグメント
の方は1メガ(財)バイトの境界で始まるページのブロ
ックである。仮想メモリの被−ジは必要に応じて、後述
するように、MM106の使用可能なページフレームに
コピーすることができる。システム102は、MM10
6において物理的に利用可能なメモリの量より大きいデ
ィスク記憶装置において命令およびデータについて、同
時に1Å以上のユーザに対して仮想アドレス空間を提供
することができる。しかしながら、命令とデータとはM
M 106に介在する必要があるので、処理されている
間に仮想メモリからMM106へ必要に応じてコピーで
きる。仮想メモリからMM106へ情報をコピーするプ
ロセスはイージングと称され、2にバイトの単位、即ち
1イージにおいて達成される。さらに、プログラム命令
を実行可能な前に、アドレス変換と称する変換をその中
で規定された仮想アドレスに対して実施し、仮想アドレ
スを物理的アドレスに変換する必要がある。
アドレス変換機構の一部は1個以上のR−ジテーブルか
ら構成され、各ユーザの作業あるいはプロセスに対して
ページテーブルがありかつ各J −ジテーブルはMM1
06のページフレームに対して対応した作業の仮想アド
レス空間をマツピングさせる。ページテーブルの各入口
は例えば主メモリにページが存在するか、かつ各ページ
に対して読取りおよび書込み保護が行われているか否か
とは関係なく仮想ベージアドレスに関する情報を含んで
いる。
アドレス変換機構あ第2の部分はセグメント制御レジス
タ(SCR)s、即ちタスクのMM106ページテーブ
ルのアドレスおよび対応するタスクが実行される場合仮
想メモリの所定セグメントに対してその他の関連情報が
ロー費テれるPU104レジスタから構成されている。
第5・0図全参照すれば、仮想アドレスを物理的アドレ
スへ変換するプロセスが示されている。アドレス変換の
第1のステップはMM 106の一一ジテーブルが仮想
アドレスに対するR−ジフレーム番号全含んでいるか否
か検出することである。もし含んでおれば、PU104
がこの13ピツへの数を11ビツトの仮想バイトインデ
ックス(オフセット)と連結して第5A図に示すように
24ビツトの物理的アドレス全形成する。次いで、PU
104はこの物理的アドレスを用いてMM106におけ
るデータにアクセスする。仮想アドレスに対してページ
テーブルかに一ジフレーム番号全含んでいないとすれば
、PU104は仮想メモリから使用可能なページフレー
ムへの仮想ページのコピーを開始し、タスクのページテ
ーブルにおいて選定したページフレームの番号を記録す
る。次いでタスクが実行を再開できる。
B、50割込み機構 最後に、システム102は入力/出力Cl10)装置、
即ちPU104において、システムに対する外部条件の
結果としてPU104が演算の状態を変えうるようにす
る割込み機構を含む。システム102の実現においては
5種類の割込み状況が確認される;即ちIlo 、クロ
ック、プログラム、スーパバイザ呼出しおよび機械チェ
ックである。
スーパバイザ呼出しを除く各種類の割込みは永続的に指
定されたMM106の位置において「新」と「旧」の2
個の関連したPCWsを有する。割込みは情報全記憶し
、割込みの原因を識別し、現在のPCVf:その古い位
置において記憶し、■Mを新しい位置において現在のP
GWにすることを含む。
割込みのスーパバイザ呼出しは永続的に規定されたMM
106の位置において新しいPCWのみを有する。しか
しながら、スー・ξバイザの古いpawの呼出しはシス
テムスタックの頂部に記憶される。
古いP口1は割込みの時必要なPU104の状況の情報
を有する。もし、割込みによって阻止されるプログラム
の結論において、割込みが実施され、古いPGWを現在
のPCWにした場合、PU104は割込みの前の状態に
戻され、割込まれたプログラムが継続する。
割込みは命令単位の間で、即ち一方の命令の実行後で、
かつ次の命令の開始の前に許容され、かつ割込み可能命
令に対しては割込み実行中に行われる。割込みに先行す
る命令が完了する要領は割込みの原因によって変りうる
。命令は完了、停止、アボート(abort)、抑制、
あるいは再開が可能である。
割込みの各種の種類を簡単に検討してみると;I10割
込みは、I10装置からの信号にPU104が応答する
手段を提供し; クロック割込みはシステム内にセットされた調時状況に
PU104が応答する手段を提供し;プログラム割込み
は命令やデータの使用が不適正なために発生し; スーパバイザ呼出しの割込みはスーパバイザ呼出し命令
の発生から発生し;および 機械チェック割込みは機械の故障の発生に起因する。
システム102の基本的特徴ならびに原理のあるものに
ついて説明してきたが、次にシステム102のエレメン
トの作動について説明する。
C,PUIQ4の詳細説明(第6図、第7図、第7A図
および第8図) 第6図、第6A図、第7図および第8図を参照すれば、
CPU122)AGU124およびATU10126の
それぞれについての詳細ブロック線図が示されており、
以下この順序で説明する。第6図、第7図および第8図
はその順序で左から右へ横に並べればよく、第6図の下
に第6A図を置くと、PU104の部分の全体ブロック
線図を構成することになる。第6図、第6A図、第7図
および第8図を以下の説明のために並べることが好まし
い。前述のように、AGU124とCPU122とは個
別に、かつATU/C126と同時に作動して命令の取
出し、命令の復号化、オペランドの取出しおよび命令の
実行をオーバラップさせる。以下はCPU122)AG
U124およびATU/C126tその順序で説明し、
かつこれらエレメントの全体的および協働動作を説明す
る。これらエレメントのあるものについての特徴のある
ものは説明の便宜上、これら3個のエレメントの全ての
動作を説明した後に説明する。
C01cpu122(第6図および第6A図)まず第6
図および第6A図を参照すれば、前述のCPU122は
プロセスの制御によって、即ち、プログラムの実行中受
取られる命令の制御によってデータに対して演算する。
以下詳しく説明するようにCPU122と、PU104
の関連エレメントとはマイクロプログラムにより制御さ
れ、CPU122はCPUの各サイクル毎に1個のマク
ロ命令と、一時に1個のマイクロ命令とを実行する。
CPU122は2進と10進の整数の算術および論理演
算を行い、かつ前述したタイプの一般的な命令を実行す
る。また、CPU122はAGU124を支援しである
種のアドレス生成演算、例えば分岐命令アドレス計算を
行う。CPU122はさらに、これも前述したシステム
のプログラム制御ワードヲ発生し、かつ保持する。また
、CPU122はマイクロ命令分岐アドレスを生成させ
、以下詳細に説明するマイクロコート9シーケンサから
受取ったリテラルフィールビニを用いてリテラルフィー
ルビの一定演算を実施する。また前述のように、CPU
122は$ノ之ス120と接続したシステム102のエ
レメントの中の1個である。
第6図および第6A図に示すように、CPU122は中
央処理装置(CP) 602)マイクロコードシーケン
サ(MS)604およびCPU支援リンクバスインタフ
ェース(CPU−5LI)606とを含む。第6A図に
示すMS604およびCPU −SLI 5Q5は、C
PU122)λGU124およびATU/C126を説
明した後に以下説明する。
CP602を参照すれば、CP602は、例えばデータ
やアドレスに対して算術および論理演算を実行するため
に、32ビツトの算術および論理二二ツ) (ALU)
608 ト関連cD ALU シフ p (ALUS)
610 ト全含む。
ALU5Q8へのデータ入力は、それぞれ32ビツトの
Aポート(AP)バス612および32ビツトのBポー
) (BP)バス614から接続された32ビツトのA
LU A入力ポートおよび32ビツトのALU B入力
ポートを介して提供される。第6図に示すよ5K、AP
ババス12とBPババス14とには後述する複数のデー
タ源と出力側とが設けられている。
APババス12およびBPババス14に対する前述のデ
ータ源の1つはそれぞれレジスタファイル(RF)61
6の32ビツトのAおよびB出力側であって、該ファイ
ルは本発明の実施例においては32ビツト幅で256ワ
ート9のレジスタファイルである。
RF 616 K対”jる32ビツトのデータ入力はレ
ジスタファイルのデータマルチプレクサ(RFDM) 
618から提供され、該マルチプレクサは32ビツト(
1ワード°)データB (DB)バス600からの第1
の32ビツト入力側と、32ビツトのG ハ、1.62
0からの第2の32ビツトの入力側とを有する。
AGU124とATU/C126の以下の説明において
さらに説明するように、DBババス00はPU104の
第1の内部データバスであって、CPU122)AGU
124およびATU/C126とに連結される。
第6図に示すように、Cパス620はALUS610の
32ビツトの出力側から接続されている。Cバス620
からRFDm618へのパスは、ALU608とALU
S610の演算による結果を、例えば繰返し演算スるた
めRF616のデータ入力側に戻すことができるように
設けられている。
Cバス620からも32ビツトの作業用レジスタA (
WRA) 622および32ビツトの作業用レジスタB
 (WRB) 624が接続サレテオリ、wRA622
ト5RB624の出力側はそれぞれAPババス12とB
Pババス14とに接続されている。これらのデータバス
によって、ALU608とALUS610の演算の結果
がそれぞれAPババス12とBPババス14とへ、例え
ばALU608のAおよびBポートの入力側あるいは以
下説明するプログラム制御ワードレジスタへ戻ることが
できるようにする。
32ビツトの双方向性データバスが双方向性のAyt?
−))ランシーバ(API)を介してAPババス12と
DBババス00との間に設けられ、データがDBハス6
00とAP ハス612との間で転送できるようにする
。このパスは例えばALU 5Q8/ALUS610の
演算結果をDBババス00へ転送あるいはDBババス0
0からのデータをALU 608のA入力ポートへ転送
するために使用しうる。
APババス12とBPババス14とにはさらにA#?−
トマルチプレク丈(APm)628とBポートマルチプ
レクサ(BPM)630からのデータ源が設けられてお
り、それらは複数のデータソース(源)からの情報をそ
れぞれAPババス12およびBPババス14とへ選択的
に転送しうる。次に以下説明するように、BPババス1
2に関連したデータ源は主として算術演算に係り、部分
的に上述のように、CP602とDB ’バス600と
の間のデータ転送、即ちデータに対すルオペレーション
に係る。APババス14に関連したデータ源は主として
システムプログラム制御ワード、および命令アト0レス
の計算、即ちシステムオ(レーションの制御に係る。
まずA2m628を参照すれば、A2m628の第1の
入力側は当該技術分野の専門家には周知のように、2進
のALU 608/ALUS 610において10進法
の算術演算を実行するために使用される10進の補正常
数DCCから構成される。前記の第1の入力側へのその
他の接続には前述の制御レジスタからの入力側CRと、
アドレス計算に使用される変位フィールド”DSPとを
含むことができる。APM628の第2の入力側は、こ
れも当該技術分野において周知のように、MS 604
から提供される汎用マイクロ命令リテラルフィールドか
ら構成されている。この経路は例えば、マイクロ命令分
岐アドレスを発生させ、あるいは以下に説明するプログ
ラム制御ワードレジスタである機械の内部レジスタを操
作する上でリテラル常数を提供するために使用しうる。
第6図および第6A図に示すように、APババス12に
はまた。 CPtLSLI 606に関する以下の説明
において説明するCPU−SLI 60 からの双方向
性接続が設けられている。
BPM630を参照すれば第6図と第7図とに示すよう
に、BPM630への第1の入力は現在実行されつつあ
る命令を表わすAGU124からの32ビツトの入力で
ある。第2の入力は、64ビツトのPffレジスタ(R
C′wR) 632に位置する現在のプログラム制御ワ
ー1 (PGW)の64ビツトを32個組合せたものか
ら構成され、これらの32ビツトは現在実行されつつあ
る命令を表わす、PCWの部分を構成する。第6図にさ
らに示すように、P(n632にはBP)Zス614か
らの32ビツトの入力側が設けられ;このPCWR63
2の入力側は、現在実行されつつある命令を表わすPC
Wの部分を構成し、かツ一般的ニ、PCwR632カラ
BPM630ニ提供サレる32ビツトに対応する。CP
602の誠路はAGU124およびpcWR632から
の現在の命令入力側と、PC′wR632への現在の命
令の出力側とを含むことにより、CP602がPCWな
らびに現在の命令を操作しうるための手段全提供する。
前述のように、これらのPCWと命令操作とはAGU1
24t”支援して、例えば命令アドレスに関連する計算
ならびに分岐アドレス演算のようなアドレス生成演算を
含む。
第6図と第7図とに示すように、前述のBPババス14
の接続と演〜算とには、バッファ)” (buffer
ed) −レジスタ(BR)バス634を介してAGU
124の入力へALU608の出力側から提供される3
2ビツトの出力が関連している。この経路は、CP60
2が例えばCP602によって直接AGU124へ計算
されるブランチアドレスを提供することができる。
第6図に示すように、命令アドレスレジスタ(IAR)
636はBRババス34から、かつAPババス12まで
接続されている。IAR535は順番に接続された2個
のアドレスレジスタから構成されている。
第1のレジスタはその入力側をBRハス636から接続
している、次の命令のアドレスレジスタであって、次に
実行すべき命令のアドレスを記憶する。
次の命令アドレスレジスタは2乃至4のカウンタにより
増分されて次の命令アーレスを発生させ、この増分は現
在実行されつつある命令のサイズ、即ち32.48また
は64ビツトに関するAGU124からの情報に応答し
てマイクロコードルーチンにより制御される。
第2のIAR636レジスタはその入力を次の命令アド
レスレジスタの出力側から接続され、出力が好バス61
2に接続されている、現在実行されつつある命令のアド
レスを記憶する命令アドレス実行レジスタである。以下
説明のように、これらのレジスタ、かつ特に次の命令ア
ドレスレジスタはPCWの一部を構成し、例えば命令の
分岐演算に使用される。ATU/C126およびCPU
122)AGU124およびATU/C126の協働動
作についての以下の説明で説明するように、ATU/C
126による命令の通常の順序の実行中、命令アドレス
が生成される。
最後に、第6図と第7図に示すように、ファイルデータ
出力が、パンツアト9・ファイルデータ(BFD)バス
638を介してCP602からAGU124が提供され
、該バスはRFDM 518の出力側から接続されてい
る。この軌道はデータが、RF616への書込みと同様
に以下説明のAGU124レジスタファイルへ書込みで
きるようにする。前記データの例としてはDBババス0
0からのデータおよび、前述した汎用レジスタおよびベ
ースアドレスのよ5 すCP602アドレス計算の結果
を含む。
CPU122について説明したので、次にAGU124
について以下説明する。
C,2,AGU 124 (第7図および第7A図)前
述のよ5 K、 AGU 124の機能は命令を取出し
、命令のフィールド9から、該命令により演算すべきオ
ペランド3についての仮想アドレスを生成させ、かつこ
れら命令を実行するためのマイクロ命令ルーチンを識別
するアドレスを取出すことである。
第7図に示すように、AGU124の主要なエレメント
はcpu12zによる命令の実行に先立って命令を取出
し、かつ記憶するための命令ラッチ(IL)704を備
えた命令待ち行列(IQ)702を含む。以下説明する
ように、マイクロ命令ルーチンのアドレスを取出すため
に使用する命令コー)”(OPコード)フィールドなら
びにマイクロ命令ルーチンにより演算すべきオペランド
を識別するオペランド関連フィールド9を命令から抽出
するに必要なロジックを含む。
オペランドのアト3レシングに関して、前述のようにオ
ペランドに関する情報を含む命令フィールrは、オペラ
ンドを含むレジスタあるいはオペランド9のアドレスの
計算に使用しうるアドレス情報を含むレジスタを規定し
うろことに注目すべきである。典型的なオペランド9の
アトレシング演算において、オペランド9は特定化され
たベースアドレスに関して識別することができる。この
場合、命令ノ中オイラント9に関連したフィールド9は
ベースアドレスを含むレジスタを識別する第1のフィー
ルド9と、ベースアドレスからのオフセット、即ちベー
スアドレスに対するオペランド9の位置を含む第2のフ
ィールドを含むことができる。オペランドの実際のアド
レスは次いで、識別されたレジスタカラベースアドレス
を読取り、かつオフセットをベースアト0レスに追加す
ることにより検出される。
以下詳細に説明のように、AGU124はアドレスの計
算に使用される情報を記憶するためのアドレス生成レジ
スタフアイル(AGRF) 706 ’&:含む。
AGRF706は例えばベースアドレスを記憶するよう
定められたレジスタを含むことができる。
AGRF706にはAGRFセレクトロジック(AGR
FS )708が関連しており、該論理はIQ702か
らのオペランド1アビレシングフイールト“を受取り、
対応するアドレス出力t−AGRF 706と、オにラ
ンビアドレス計算において算術演算を実行するために使
用されるけた上げ合計伝播加算器(C8PA)710と
へ提供する。
最後に、AGU124は仮想アドレスマルチプレクサ(
VAM) 712および仮想アドレスレジスタ(VAR
)714とを含む。さらに以下説明するように、VAM
712ハATU/C126へのオペランド9と命令アド
レスとの供給源であって、このため、AGU124のオ
イラント9アドレス出力側、即ちC3PA 710の出
力側から、かつCPU122の次の命令アドレス出力側
、即ち、IAR636から、かつBRババス34を介し
て提供される次の命令アドレスから接続されている。
以下説明するように、MAR714は、例えばメモリか
らメモリへの転送のような、ある種のアト9レシング操
作に用いられるバッファレジスタで・ある。
C,2,a AGRF706およびAGU124出力論
理(第7図)前述のように、AGRF7Q5は現在実行
している命令のフィールドから、これら命令により演算
すべきオにラント9に関する仮想アダレスを発生させる
情報を記憶するレジスタファイルである。前記情報の例
としては、システム102のアーレンング構造において
前述したように、ば−スアドレス、インデックスアドレ
ス、変位および第4ラント9レジスタアドレスとを含む
本実施例において、AGRF 706は32ビット幅で
16ワート3のレジスタファイルであって、該ファイル
はAGRFS 708によりアト3レスされ、かつBF
Dバス638を介してCP 602からのデータ入力を
受取る。この点に関して、GP602が、例えば命令分
岐アドレスを発生する上でAGRF706に記憶される
情報のあるものに対してアクセスする必要のある限りに
おいては、AGRF706の中味のコピーがその目的に
対してRF608に記憶されることに注目すべきである
前述のように、AGRF706の32ビット仮想アドレ
ス出力側がC3PA710への1つの入力側として設け
られ、一方第2の出力側がIQ702から設けられてい
る。以下の説明のように、IQ702から設けられたG
SPA710入力端は、インデックスの相対アビレシン
グ即ちエレメントに対するアゝレスあるいはAGRF 
706の出力として提供されるぺ−7スアドレスを生成
させるために使用される。
C3PA 710 (7)出力側の方はvAM712へ
の1ツの入力側として提供される。BRババス34から
VAM7126の第2の入力側が設けられており、該・
2ス634は前述のように、CP602のALU 60
8の出力側から接続されている。前述のように、VAM
 712への前記BRバス634の入力にヨッテCP6
02カ例えば仮想分岐アドレスを直接生成かつ提供でき
るようにする。
vAM712への第3ノ入カバvAR714カラ提供す
れ、MAR714は本実施例においてはVAM 712
の仮想アドレス出力側から入力側が接続されて(・る2
個の並列の32ビツトレジスタで構成される。
MAR714は特にメモリからメモリへの演算、即ち一
方のアドレス位置から第2のアドレス位置へ情報を転送
するため連続した順序で1つ以上の読取りおよび書込み
が行われる演算において使用される。
第7図と第8図とに示すように、VAM712の出力側
は仮想アドレス(VA)バス700 を介してATU/
C126に提供され;前述のように、AGU124によ
って提供される仮想アドレスはATU/G126によっ
て物理的アドレスに変換される。VAM712の出力側
も前述のように、VAR714の入力側へ、かつDBバ
バス00へ接続される。
C,2,b、 IQ702および工L704 (第7図
および第7A図 前述のように、IQ702は指令の実行のために下記す
るATU10126のキャッシュから命令を取出し、命
令フィールドを復号化して仮想アドレスを発生させ、か
つこれら命令を実行するためマイクロ命令ルーチンを識
別するディスパッチアト3レスを生成させる。前述のよ
うに、AGU124とIQ702とは独立して、かつc
pty122およびATU/C126と協働して動作す
る。AGU124とIQ 702とには独立した制御機
構、詳しく有限状態機械が設けられる。前記制御機構の
構造と作動については特にIQ 702の構造と動作に
ついての以下の説明を読めば当該技術分野の専門家には
十分理解されるので説明の都合上第7図には示していな
い。
システム102をまず参照すれば、IQ702により取
出され、かつ復号化された命令は前述の命令と同様本実
施例においては長さが32ビツト(4バイト)、48ビ
ツト(6バイト〕あるいは64ビツト(8バイト)であ
る。各命令の溌初のバイトは実行すべき演算を規定する
命令コード(OPコード)フィールドから構成されてい
る。残りの命令バイトはオ(ラント9関連のフィールド
を含み、それぞれ1個以上のバイトと命令により演算す
べきオペランドに関する情報を含んでいる。以下説明す
るように、この情報は主としてオペランド“のアト9レ
シングに関する。
まず命令のオペランド関連フィールドについて検討する
。これらフィールド3の例としては前述のようにオ被う
ンド全含むレジスタを規定するR1、R2およびR3フ
ィールビと、即値オペランドを含むエフイールドとを含
む。B1およびB2フィールドはベースアドレスを含む
レジスタを規定し、一方Dフィールド9は変位フィール
ビを含むレジスタを規定し、X2フィール−はアドレシ
ングインデックスフィールト9を含むレジスタを規定す
る。前述のように、前記フィールドが関係するレジスタ
はAGRF 706に位置し、命令フィールドはAGR
FS708を介して前記命令フィールドに対応するAG
RFS708全アドレスするために使用しうる。その他
のオペランド関連フィールドはオペランドの長さを規定
するしフィールドと、スタックベクトルを含むSフィー
ルド9と、マスクを含むMフィールドとを含み、またこ
れらフィールド9のあるものはAGRFS708レジス
タに関し、かつ対応する。
前述のフィールドの中、R2)R3、X2)B1および
B2ならびにDIおよびD2フィールドを含ムサブセッ
トは仮想アドレスを発生するために直接使用され。この
アドレシングサブセットの中、R2)R3、X2)Bl
およびB2フィールド9は、それらの仮想アドレスがA
GRF706に位置するレジスタを規定し、そのためこ
れらフィールドはAGRF706へのアドレス入力とし
て提供される。R2)R3およびX2フィールドはIQ
 702の出力側AからAGRF706アドレス入力側
へ直接提供され、一方B1およびB2フィールビがIQ
 702の出力側BからAGRFS708を介してAG
RFアドレス入力側へ提供される。第7図に示すように
、AGRFS 708にはBRババス34からの別のア
ドレス入力側が設けられ、該入力側はALU608の出
力側から筬続されており;この峠跡はPCW関連アドレ
シング、即ち命令分岐アト9レシング用に用いられる。
最後に、前述のようにDlおよびD2フィールド9はエ
レメントに、即ちベースアドレスに関連するアドレシン
グに対して変位、即ちオフセットを含む。そのため、D
lおよびD2フィールド9はRまたはBフィールド9ア
ルス入力に応答してAGRF706から提供される仮想
アドレスに追加され、したがってIQ702出力側Cか
らC5PA710への入力として提供される。
命令OP コードフィールド 前述のようにIQ 702は、命令からOPコードフィ
ールド ためマイクロコービルーチンを識別するディスパッチア
ドレス全生成する際他の情報と共にこれらのフィールr
を用いる。
OPココーフィールrはIQ 702の出力側りからデ
ィスパッチアドレスゼネレータ(DAC)716の入力
側へ提供される。DAC716はディスパッチアドレス
を生成させるのに必要なロジックを含み、かつ前述し、
かつ第6図と第7図とに示すように、以下さらに述べる
MS604ヘデイスパツチアドレス出力を提供する。最
も単純な状態において、DAG716はディスパッチア
ドレス出力を介して直接opコードをMS604を通す
ことができ、OPココーフイールト9はOPコート1フ
ィールド9により指示される演算を実行するためにマイ
クロコー)”/l/−チンを選定するため直接使用され
る。その他の状態においては、DAC716は例えば命
令を完成し、かつ命令を準備する状態、停電あるいはシ
ステム開始演算、クロックおよびデバッグベンディング
状態、ページ境界状態、命令モード状態、IQ 702
への書込み状態あるいはディスパッチ阻止状態に必要な
ディスパッチアドレスを提供する。また、DAC716
は、例えば命令分岐演算においてアドレスの有効性をチ
ェックし、かつアドレスが無効になると対応するディス
パッチアドレスを提供するアト3レスコンパレータを含
む。DAG716id、DAG716が従来のものであ
り、かつ当該技術分野の専門家に十分理解される限り詳
しくは説明しない。
最後に、かつ前述し、かつ第6図と第7図に示すように
、AGU124は現在実行すべき命令を表わす出力i 
CPU 122に提供する。この32ビツトの出カバO
Pコードフィールド の次の一連の24ビツトを含み、工Q 702の出力側
Eから命令レジスタの実行(工RE)718の入力側へ
提供される。工RE718の出力側の方は前述し、かつ
第6図と第7図とに示すようにBPM630の入力側へ
接続される。
工Q702とIL 704の外部接続および演算につい
て説明してきたが、次にIQ 702とIL 704の
詳細構造トオはレーションについて以下説明スル。
再び、システム102のIQ702により取出されかつ
復号化された命令全参照すれば、前述のように長さが3
2ビツト、48ビツトあるいは64ビツトである。即ち
、命令は長さが整数倍数の7・−フワート9であって、
一方ワードについては32ビツト、・・−フワードは1
6ビツトと定義ずみである。
各命令の第1のバイト(8ビツト)は実行すべき演算を
規定する命令コート”(OPコー白から構成されている
。残りの命令バイトはオペランド関連フィールドヲ含み
、該フィールドは1個以上のバイトからなり、かつ命令
により演算すべきオペランドに関する情報を含む。
第7A図全参照すれば、IQ 702と工L 704の
詳細構造が示されている。IL 704は、DBババス
00から接続され、IQ 704へ32ビツトの出力を
提供する32ビツトの入力側を有する32ビツト(1ワ
ービ)のランチとして示されている。本実施例において
、IL 704は、それぞれDBババス00から接続さ
れIQ 702へ16ビツトの出力を提供する16ビツ
トの入力側を有する、2個の並列16ビツト(ハーフワ
ー−)のランチとして実行される。一方のラッチはDB
ババス00に現われる32ピントワードの高位ノ1−フ
ワート9を受取り、かつ提供し、一方他方のラッチは低
位のI・−フワード全受取りがつ提供する。
IQ 702は、それぞれIRo 720、IRI 7
22)IR2724およびIR3 726として指示さ
れる4個の16ビント(ハーフワード9)の命令レジス
タ( IR)を含むものとして第7A図に示されている
。IR3726のデータ入力側はIL 704の高位の
ハーフワードから直接接続されている。IR2 724
、IRt722およびIRO 720のデータ入力側は
、それぞれIMO728、工MI 730およびIM2
 732として指示される入力マルチプレクサを介して
提供され、それらの入力側の方はIL704から、かつ
命令レジスタの他方のレジスタの出力側から接続されて
いる。
第7A図に示すように、1M2732の入力側、したか
ってIR2 274の入力側はIL 70402個の1
6ビツトの出力側およびIR3 726の16ビツトの
出力側から接続されている。IMI 730 したがっ
てIRI 722の入力側はIL 704の2個の16
ビツトの出力側、IR3 726の16ビツトの出力側
およびIR2 724の16ビツトの出力側から接続さ
れている。
そのため、IQ 702は16ビツト「即ちハーフワー
ドのセグメントに分割される64ビツトのレジスタから
なる。IQ702のセグメントは個々のセグメントある
いは1個以上のセグメントからなるブロックとして、か
つ1個以上のセグメントの倍数だけ順方向、即ちIR3
726からIRO720の方向にシフトすることができ
る。IL 704は命令を記憶した別の32ビツト、即
ち°2個のセグメントを提供スる。IL 704の32
ビツトは2個のセグメントブロックとして1個以上のセ
グメントの倍数だケIQ 702へ順方向にシフトでき
る。
したがって、IQ702およびIL 704からな不命
令待ち行列の全体容量は96ビツト、即ち4ワードまた
は8ハーフワードのセグメントである。
可能なら64ピツ)SSIフォーマント指令を除いて、
命令の待ち行列はしたがって常に少なくとも2個の命令
を含む。さらに、選定可能のセグメントの整数倍だけセ
グメン)6るいはセグメントのブロックを命令待ち行列
がシフトできることによって、その中に含まれた命令が
順方向にシフトできるようにして、現在復号化されつつ
ある命令の中の第1のセグメントがIRQ72  K、
第2のセグメントがIRI 722に位置するようにさ
せる。現在の命令に続く命令は同じ量によって順方向に
シフトされ、そのため復号すべきIQ702を介して命
令が連続的に流れる。この点罠関して、かつCPU12
2)AGU124およびATUlo 126についての
協働オはレーションに関する以下の詳細に説明するよう
に、IQ 702は命令待ち行列制御機構は、lR27
24トIR3726トが令ニナル毎ニATU/c126
カラ命令の別の32ビツトを取出そうとする。
前述のように、IQ 702は現在復号化されつつある
命令の第1のセグメント(ビット0−15)がIRO7
20に位置し、第2のセグメント(ビット16−31)
がIRI 722に、第3のセグメント(ピッ) 32
−47) カIR3732に位置する等のように演算す
る。まず、命令オはランドブイールドび前述のIQ70
2の出力側A, BおよびCとを検討すれば、第7A図
に示すように、前述のIQ 702145力111JA
(R2)R3、オ!ヒX2 フィール)”) il;1
.MI730のビット12−15から接続され;工Q7
02出力側B (BIおよびB2フィールド9)はlR
1722の出力ビット0−3から、かつIM730の出
力ビットO−3から接続され、かつAGRFS708に
位置するマルチプレクサによってシングル4ビツト出力
に組合わされ;かつIQ 702出力C (1)1およ
びD2フィールド)はIRI 722のぐアト4−15
から接続される。命令oPコードフィールド9およびI
Q702の出力側りおよびEを検討すれば、第7A図に
示すように、IQ 702の出力側D ( OPコート
9フィールドa)はrRQ 720の出力ビット0−7
から接続され、32ビツトのIQ 702の出力側E(
現在実行されつつある命令)がIRQ 720の出力ビ
ット0−15オ!びIR 722 O出カビ−)0−1
5から接続されている。これらIQ702の出力と各種
の命令フォーマットの前述のフィールrと全比較した結
果、前述の命令フィールrは前述のIQ702の出力側
に対して選択的に提供しうる。
AGU124の構造ならび和演算について説明したので
、ATU7C 12 6の構造と動作とについて次に以
下に説明する。
c.3. ATU  126 (第8図)前述のように
、アドレス変換ユニツト/キヤツシユ(ATUlo:)
 126はPU104と、システム1o2のその他のエ
レメントとの間のデニタおよびアドレスパス(経路)と
して動作する。%に, CPU122とAGU124と
は相互に、カつOBバ,( 600とvAハス700ト
ヲ介シテATU/C126ニ連結サレ、A′rU/C1
26ハ前記エレメントとS′Aバ,’. 116 オよ
びSD ハス118との間の連結を形成する。ATU/
C126ハ、AGU124により提供される仮想アドレ
スを、システム102の物理的アドレス空間、例えばM
MIQQ内の対応する物理的アドレスへ変換し、キャッ
シュ機構として動作し、CPU122の演算に先立って
オペランドならびに命令を取出しかつ記憶する。この点
に関して、かつ以下に説明するように、AGU124と
CPU122とはATU10126と共に動作し、命令
取出し、命令復号化、オはランド取出しおよび命令実行
をオーバラップさせる。
第8図に示すように、ATU/G 12 6はアドレス
変換ユニット(ATU)802 、!ーデータキャッシ
ュ(DC)804とを含み、それらについてはその順序
で説明する。ATU802はVAバス70oとSAババ
ス16トO間のアダレス経路を含み、かつ仮想アドレス
を物理的アドレスに変換するキャッシュ機構を部分的に
含む。DC 804はDBババスooトsDハスl18
トの間のデータ経路であって、命令やオイラント9を取
出し、かつ記憶するキャッシュ機構を含む。キャッシュ
機構が当該技術分野の専門家に周知である限り、ATU
802とDC 804との従来のキャッシュ機構の詳細
については以下詳しく説明しないととに注目すべきであ
る。しかしながらATU802とDC804の本発明に
関連する特徴については詳細に説明する。
C,3,a、 ATU802 (第8図)前述のように
、ATU802は命令やオはランドに関する仮想アドレ
スをAGU124から受取り、これらの仮想アドレスを
、システム102の物理的アト0レススは−ス即ちDC
804またはMM106における命令やオRランドの対
応する物理的アドレスに変換スる。仮想アドレス物理的
アドレスへの変換操作についての前述の説明について簡
単に触れてみると、仮想アドレススペースが情報を含む
論理は一ジに分割され、仮想ページ内の情報はバイトレ
イルまでアドレスしうることが示された。システム10
2の物理的アドレススR−スはページフレームに分割さ
れ、各ページフレームは情報の1個の仮想は−:)ヲ含
み、その中の情報もバイトレベルまでアドレス可能であ
る。特定のページフレームに位置する情報の特定の仮想
ページは、システム102によって現在実行されつつあ
る演算に依存しており仮想バージはシステム102の物
理的アドレススば一ス、即ちMMIQ5と、仮想メモリ
例えば、必要に応じてディスクユニットとの間でスワッ
プされる。
仮想および物理的アドレスはそれぞれ24のアドレスビ
ットから構成される。仮想アドレスはアト3レスされた
情報を含む仮想ページt−識別する13ビツトの仮想ペ
ージ数フィールrと、仮想バージ内の特定バイトの情報
の位置全確認する11ビツトのノZイトインデックスフ
ィールrとから構成される。対応する物理的アドレスも
同様に、仮想アドレスのページ数フィールrに対応する
13ビツトのページフレーム番号フィールド9と、仮想
アドレスのバイトインデックスフィールト0に対応スる
11ビツトのバイトインデックスフィールrとから構成
されている。仮想ページと、該仮想バージを含むよう定
められた対応する物理的ページとの間で1対1でバイト
アドレスが対応するこトニ注目すべきである。即ち、仮
想ページと物理的ページフレームとの間に可変関係があ
り、該関係においてページフレームは対応するページや
ページフレームの内部構造に位置しない仮想バージを保
持するようにされている。そのため仮想アドレスの物理
的アト“レスへの変換は本質的に仮想バージ番号フィー
ルド9を対応するd−9フレ一ム番号フィールド9への
変換である。仮想アト0レスのバイトインデックスフィ
ールド9は直接、即ち変換することなく対応する物理的
アドレスのバイトインデックスフィールド3として用い
ることができる。
さらに、プログラムの内部構造は一般的に、命令のシー
ケンスおよびデータエレメントのグループが一連のアド
レス位置、即ち、順次隣接したアドレスを占めるもので
あることに注目すべきである。そのため、所定のページ
内で多数のアドレス変換が行われ;即ち仮想アドレスお
よび対応する物理的アドレスのバイトインデックスフィ
ールVのみが、例えば命令シーケンスの中の次の命令あ
るいはデータエレメントの群から次のデータニレメント
ラ選定する上で変更可能である。しかしながらば−ジフ
レームフィールド変換に対するバージエレメントは、バ
ージと4−ジフレームの境界を横切る際圧発生する。
さて第8図を参照し、かつATU802の基本的キャッ
シュ機構の構造を検討すれば、第8図に示すように、A
TU802は仮想ページ番号に対応する物理的−<−ジ
フレームフィールドをキャッシングするアドレス変換記
憶装置(ATS)806を含む。ATS806にはタッ
グ記憶コンパレータ(TSG) 810と保護機構記憶
装置(PRT)812とを付属した変換タグ記憶装置(
’r’rs)sosが付属している。
従来のキャッシュ機構におけるよさに、TTS808 
ハATS 806にキャッシュされた物理的4−ジフレ
ームフイールドを代表するタグを記憶する。
第8図に示すように、TTS 89gのアドレス入力側
はVAハス700かも、接続され、該バスに出てくる仮
想アドレスの4−ジ数フィールドを受取る。前記仮想ペ
ージ番号はバッジ−され、・・ツシュの結果は’r’r
ssosへのアドレス入力として用いられる。
’r’rssosが前記アドレス入力に対応するタグi
含むとすればそのタグは出力として提供され、そのため
ATS806が仮想ページ番号に対応する、キャッシュ
に入力された物理的ページフレーム番号を含むことがで
きる。これらのタグは’rsasxoによl1l)仮想
アドレスのページ数フィールドに比較され、’rscs
toは特定の仮想アドレスページ数フィールドに対応す
る物理的ページフレームフイールドカATS806に記
憶されているとすれば対応する出力を提供する。第8図
に示すように、例えばTSC810は、ATS806で
キャッシュされた対応する物理的アドレスベージフレー
ム番号フィールド全盲さない仮想アドレスイージ番号フ
ィールドが発生すればいつでも長いアドレス変換(LA
T)出力を提供する。次いで、この出力は必要な仮想ア
ドレスから物理的アドレスへの変換を行うマイクロルー
チンを開始する。
PRT812はシステム102の保護機構、即ち現在実
行されているプロセスにより記憶されタテータとプログ
ラムへのアクセスに関する情報に関する情報を記憶する
。第8図に示すように、PRTはそのアドレス入力側を
VAバス700から接続させており、VAバス700に
出てくる各仮想アドレスに応答して、前記アドレスに位
置する情報に関する所定の演算が可能か否かを指示する
。アクセスが許容されないとすれば、適当な保護マイク
ロルーチンが開始する。
再びATSgQ5を参照すれば、ATS 806には仮
想アドレスハツシングバッファ(VAH) 814と仮
想アドレスバツフア(VAB) 816とが付属してい
る。前記エレメントはATS8Q5と共に仮想アドレス
から物理的アドレスへの変換機構を構成し、以下説明の
ように、物理的アドレス出力をVAババス00に出てく
る仮想アドレスに応答して32ビツトのアト’tzス変
換ローヤル(ATL)バス818、物理的命令アドレス
レジスタ(PIAR)820および物理的アドレスレジ
スタ(PAR)822に供給スる。
VAH814はVAバスアドレス700から仮想アドレ
スページ番号フィールドあるいは仮想アドレスを受取る
。このアトし2シング入力はATS806からキャッシ
ュに入力された物理的ページフレーム番号フィールビを
読取り、かつ物理的ページフレーム番号フィール)”i
 ATS 8Q5へ入力即ち書込むための双方に用いら
れる。
VAB816はVAバス700に出てくるアドレスを受
取りかつ記憶するためにVAバス700から接続された
バッファレジスタである。第1の局面において、vAB
816は物理的に一ジフレーム番号フイ・−ルビをAT
S806へ入力即ち書込むデータ経路として用いられ、
この目的に対してATS806のデータ入力側に第1の
13ビツトの出力側を接続している。VAB818もC
PU122により直接発生する物理的アドレス用のAT
U802のアドレス出力経路として用いられ、かつ32
ビツトの出力側をATL818に接続しCPU122に
より発生する物理的アドレスを直接ATLハス818へ
通す。
さて、仮想アドレスの物理的アドレスへの変換について
検討すれば、前述のように各物理的アドレスは物理的ペ
ージフレーム番号とバイトインデックスフィールドとか
ら構成されている。これらのフィールドはそれぞれ仮想
は−ジ番号フィールドならびに仮想アドレスのバイトイ
ンデックスフィールドとに対応する。また前述のように
、仮想アドレスのバイトインデックスフィールドは物理
的アドレスのバイトインデックスフィールドとして直接
用いることができ、一方仮想ページ番号フィールドは対
応する物理的ページフレーム番号フィールビに変換する
必要がある。
VABst6は仮想アドレスから物理的アドレスへの変
換におけるバイトインデックスフィールド9のソース(
源)であり、かつこの目的のために、第3の11ビツト
のバイトインデックスフィールド出力側を有する。第8
図に示し、かつ以下説明するように、VAB818のバ
イトインデックスフィールドの出力側はPIAR820
とPAR822の入力側に接続されている。
ATS806は前述のように、仮想アドレスから物理的
アドレスへの変換における物理的ページフレーム番号フ
ィールドの源であり、この目的に対して、ATLバス8
18に接続された13ビツトのに一ジフレーム番号フィ
ールビを有する。第8図に示し、かつ後述するように、
PIAR820とPAR822とは、ATLバス818
から物理的アドレスの被−ジフレーム番号フィールド全
受取るためにATLバス818から接続された13ビツ
トのページフレーム番号フィールド9入力端を有する。
第8図にするように、AT[J802にはATS806
とVAB816からの2個の物理的アドレス出力経路が
設けられ、第1の級路はATL818を通りDB−ζス
600まで、第2の誠跨はPIAR820とPAR82
2を含む物理的アドレスレジスタを通っており、かつ物
理的アドレス(FA)パス800が設けられている。
まずATL818に検討すれば、ATL818は32ビ
ツトの双方向性物理的アドレスバツフア(PAB)82
4を介してDBババス00に接続されており、VAB8
16からの物理的アドレスとATS8Q5からの物理的
アトゝレス投−ジフレーム番号フィール)” 、!= 
カPAB824を介してDBババス00に読取ることが
できる。同様に、DBババス00に出てくる、例えばC
PU122により発生した物理的アドレスはATLバス
818に読取ることができる。
物理的アドレスレジスタ全通りPAババス00までの物
理的アドレス出力経路を検討すれば、ATU802には
命令およびデータ用の個別の物理的アドレスを備えてい
る。即ち、PIAR820は命令用の物理的アドレスを
記憶しかつ提供し、一方PAR822dデータ用の物理
的アドレスを記憶し、かつ提供する。以下詳しく説明す
るように、個別の命令およびデータアドレスレジスタを
設けることによって命令およびオペランドの取出しを、
即ちCPU122の1回における命令およびオペランド
の双方の取出しを重ねることができる。
前述のように、物理的アドレスは24ビツトとするが、
31ビツトに拡張してもよい。物理的アドレス全拡張し
たアドレスフィールド1はプログラム制御ワードの一部
として位置し、かつcpu122カラ、vAハス700
オヨヒ■AB816ヲ通シテATLバス818まで読取
ることができる。第8図に示すように、物理的アドレス
レジスタはさらに物理的アドレス拡張フィールド9を受
取りかつ記憶するために入力側がATALバス818か
ら接続された物理的アドレス拡張レジスタ(PARX)
828 を含む。
PARX828の出力側は以下説明するようにPAババ
ス00に提供される。
第8図に示すように、再びPIAR820およびPAR
822を参照すれば、PIAR820およびPAR82
2はそれぞれ、ATLバス818から物理的なページフ
レーム番号フィールド9を受取るためにATLパス81
8かもの第1の13ビツト入力側が設けられている。前
述のように、これらの4−ジフレーム番号7 (−ルV
源ハATS 606.6 ルイハVAB 816を介し
てCPU122およびVAバス700から転送された物
理的アドレスのいずれかでよい。また、PIAE820
 トPAR822ハソレソレ、VAB816(7)対応
する出力側からの第2の、11ビツトバイトインデツク
スフイールド入力側が設けられている。
再び前述のように、前記バイトインデックスフィールド
源はAGU124からVABB16によって受取られる
仮想アドレスあるいはCPU122からVAB816に
よって受取られる物理的アドレスのいずれかでよい。
個別ページフレーム番号およびバイトインデック、<y
イ−ルに源オJ1.ヒPIAR820オ!ヒPAR82
2用入力側とを設けることによって、ある状況下におい
ては、仮想アドレスを物理的アドレスへの変換速度を速
める。前述のように、データシーケンスおよびプログラ
ム内のデータエレメントの内部構造は所定のページ内で
多くのアドレス変換が行えるようなものとされている。
前記アドレスのシーケンス、即ち1個のページ内のアド
レスのシーケンスが発生すると、アドレス変換は各アド
レスに対して新しい物理的ページフレーム番号フィール
ド9を発生させる必要はない。即ち、物理的d −ジフ
レーム番号フィールドはシーケンスにおける各アドレス
に対して残留し、バイトインデックスフィールFのみが
変化する。ページフレーム番号およびバイトインデック
スフィールド用にPIAR820およびPAR822へ
の個別の電源ならびに入力側全段けることによってその
中に含まれる4−ジフレーム番号フィールドが、 VA
B1315から新しいバイトインデックスフィールドが
装填されている間ゴ定になるようにできる。所定(−ジ
内のアドレスのシーケンスに対して仮想アドレスの物理
的アドレスへの変換は、ATUB02のキャッシュ機構
がページ番号フィールドをR−ジフレーム番号フィール
ドへ変換しうる速度ではなく、むしろAGO124が新
しいバイトインデックスフィール)”l!供しうる速度
で進行することができる。そのため、仮Mアドレスの物
理的アドレスへの変換速度は1個のは−ジ内のアドレス
リファレンスに対して向上する。
前述のように、ATUB02の基本的な物理的アドレス
出力経路は32ビツトの物理的アドレス(PA)バス8
00を通る。
第8図に示すように、PIAR820とPAR822の
物理的アドレス出力側は物理的アドレスマルチプレクサ
(PAM)826を介してPAババス00に接続され、
そのため命令あるいはオペランドのいずれをアドレスす
べきかによって物理アト“レスの現在の源として選択し
うる。PARX828のアドレス拡張フィールド9出力
側はPAパス700に直接接続されることによって必要
に応じ31ビツトのアドレシングを提供する。
゛第8図に示すように、PAバス700はMM106な
らびにデータキャッジ−(DO)8o4へ直接読取りお
よび書込むためにシステムアドレスドライバ830を介
してSAババス16へ物理的アドレス出力を提供する。
書込み命令待ち行列検出装置(WIQD)832を説明
した後DC804について次に説明する。
前述のように、命令待ち行列はいずれかの所定の時罠少
なくとも2個の命令を記憶することができる。そのため
、例えば現在の命令の実行から発生する書込み演算は命
令待ち行列に現在位置し実行を待機している、塞106
またはDC804における命令のオリジナルコピーをあ
る点において修正することができる。例えば自己修正モ
ードにおけるように前述のようなことが発生すれば、命
令待ち行列に位置するコピーはもはや有効ではなく、新
しいオリジナルに代える必要がある。
第8図に示すように、WIQD832はその第1のアド
レス入力側をPIAR820から接続させ、現在取出さ
れつつある命令のアドレスを表わし、第2のアドレス入
力側をPAバス700から接続させ、例えば、現在書込
まれつつあるアドレスを表わす。
WIQD832はP工AR 832からの第1の入力か
ら、現在待ち行列に位置する命令のアドレス範囲を検出
し、現在の書込みアト0レスを命令待ち行列のアドレス
範囲と比較することができる。命令待ち行列に現在位置
するアドレス範囲内で書込み操作が起きるとすれば、W
IQDsazがマイクロコードルーチンピ開始させ命令
待ち行列の現在の中味を消去し、MM106またはI)
cso4からの命令待ち行列を再充填し、そのため待ち
行列における修正ずみの命令を命令の新しいオリジナル
に取替よる。そのためWIQD832は、命令待ち行列
が実行されつつあるコードの現在の有効なバージョンを
常に含むように保証する。
ATU/C 12 6のATU802部分の構造とオペ
レーションとについて説明したので、DC804につい
て次に説明する。
C.3.b.データキャッシュ(DC)804(第8図
)前述のように、I)cso4はDBパス600とSD
ババス18との間のデータ経路であって, CPU12
2の演算に先行して命令やオペランドを取出しかつ記憶
するキャッシュ機構を含む。ここでも、キャッシュ機構
が当該技術分野の専門家に対して周知のものである限り
、DC804の従来のキャッシュ機構の特徴については
以下に詳細には説明しない。
しかしながら、本発明に関連するDC804の特徴につ
いては詳細に説明することとする。
第8図に示すように、DC804は、そのデータキャッ
シュメモリ命令を構成するデータ記憶装置(DS)83
4 を含む。以下に説明するように、DS834はSD
ババス18からDBババス00までの入力経路を含み、
即ちPUlo4に提供される全てのデータおよび命令が
tos 834からPU104の残りのエレメントに提
供される。また以下に説明するよ5に、DBババス00
からSDババス18までの出力経路も同様にDS834
に関連したロジックとバスエレメントとから構成され、
DS834はPU104からMM106へのデータの書
込みに関係する。
前述のように, SDババス18は8バイト、即ち64
ビツトあるいは1個のダズルワードの幅を有している。
DC804とMM106との間の全ての情報の転送はダ
ブルワードで行われ、情報はダブルワードでDS834
に記憶され、DS 834へ書込まれかつ読取られる。
情報は一時に1個のダブルワードの割合でDS834か
ら読取られるが、DS834は可変ブロックサイズのキ
ャッシュであり、情報は1個以上のダブルワードを含む
ブロックの形でDS834へ書込むことができる。
本実施例においては、DS834書込みブロックサイズ
はマイクロコードにより選択可能であって、DS834
へのブロック書込みを実行する目的によって1個、2個
あるいは4個のダブルワードを含むことができる。例え
ば、キャッシュ取出しミスの場合、4個のダブルワード
9のメロツク書込みが実行され、そのため32バイトの
データあるいは命令をDS834へ転送する。プログラ
ムの前述のロジック構造、即ち一連のアドレスにおいて
前記シーケンスの命令および関連データエレメントが全
体的に位置するため、4@のダブルワードをブロック転
送することKよって、別のブロック書込みが必要とされ
る前に次の32バイトのキャツシュヒツト(eachθ
htt)を提供することが多い。
DS834への情報の書込みおよびDS834からの情
報の取出しはPACバス800通してATU802から
提供される物理的アドレスによって制御される。
第8図に示すように、DS834のアドレス入力側はデ
ータ記憶アドレスバッファ(DSAB)836の出力側
から接続され、DSAB836の方はPAババスOOか
ら接続されている。
前述のように、DS834は部分的に、SDババス18
からDBパス600への入力経路全構成し、DS834
 *−?ツシュamと関連したエレメントがDBババス
00からSDババス18までの出力経路を構成する。入
力経路をまず検討すれば、第8図に示すように、I)c
so4は双方向性のシステムデータバストランシーバ(
SDI)840を介してSDババス18から接続されて
いる。DCバス838の方はDS834のデータ入力側
に接続され、そのためSDX 84Qと共に、SDババ
ス18からDS 834へ情報が書込まれる経路を構成
する。以下説明するように、DCバス838および5D
X840もDBババス00からSDババス18までの出
力経路の一部を構成する。
DS834の64ビツト(ダブルワード)のデータ出力
側は64ビツトのデータ記憶ラッチ(DSL) 842
に接続され、DSL842の方は読出し伝送再指令バッ
ファ(RTRB)844に64ビツトの出力を提供する
前述のように、情報はダブルワード9の形でDS834
から読取られ、一方DBバス600は幅が単一ワード(
32ビツト)である。さらに、はとんどのCPU122
の演算はダブルワービ以下のデータエレメント、即ち、
バイト、ハーフワード寅ダブルバイト)およびワード9
に対して実施され、cpu122によって演算するデー
タエレメント全ダブルワード9の境界に位置させなくて
もよい。RTRB842は基本的に右/左+7)シフタ
で、かっDS834から読出されたダブルワードに対し
てバイトシフトおよびワード当りの選択撞作を実行する
マルチプレクサであって、そ(7) タメRTRB84
2はDS834から読取られるダブルワード9からバイ
ト、ハーフワード9およびワード9が抽出され、DBバ
バス00に提供すべき単一の32ビツトワードにフォー
マット化できるようにする。
DS834を通る経路の他に、第8図に示すように、D
S834の出力側へ、即ちDSL842の入力側へDC
バス838からキャッシュバイパス経路が提供される。
この経路はキャッシュミスから発生スるDS834の装
填の間必要とされる情報を提供するに要する時間全減少
するために使用できる。即ち、キャッシュミスを発生さ
せるデータ即ち命令に対する要求がDS834における
ブロックの他のる。プロンクロ4完了するのを待機し、
次いでDS834から必要とされる情報を読取るのでな
く、情報がDS834に書込まれると同時にバイパス経
路を通して必要な情報をDSL842に提供することが
できる。
第8図に示すように、RTRB842の単一ワード9(
32ビツト〕の出力側は双方向性の読取り伝送(RT)
バス846に接続されている。RTババス46の方は双
方向性のDBパストランシーバ(DBX)848を介し
てDBババス00に接続され、そのためDS834から
読取られた情報がDBパス600からCPU122およ
びAGU124へ転送できるようにする。次に下記する
ように、RTババス46およびDBX 848モDBバ
ス600からSDババス18マでの出力経路の一部を構
成する。
さて、DBババス00からSDババス18までの出力経
路を検討する。まず物理的経路について説明し、次いで
MM106への情報の書込みに関して前記経路とDS8
34の動作について説明する。
第8図に示し、かつ丁度前述したように、DBババス0
0からSDババス18までの経路の第1の部分は双方向
性のパストランシーバDBX848と双方向性のRTバ
バス46とを含む。即ち、情報はDB 600から、D
BX 848全介してRTババス46へ、32ビツトの
単一のワード9の形で読取ることができる。
第8図に示すように、単一ワード幅のRTババス46は
書込み組合せ装置(WRTMRG)850の第1の入力
側に接続され、以下説明するように、DSL842のダ
ブルワード9幅の出力側がWRTMRG 850の第2
の入力側に接続されている。前述のように、DCバス8
38が5DX840を介してSDババス18に接続され
、そのためWRTMRG 850の出力側に出てくるダ
ブルワード9がSDババス18.したがってMM106
へ書込むことができる。
さて、MM 106への情報の書込みに関してDS83
4と関連の論理の演算について検討する。MM106へ
の書込みを実行するDC804のオペレーションハ、一
般的な問題を以下説明した後での方がより理解できる。
前述のように、DC804とMM 106との間の情報
の全ての転送はダブルワードであって、情報はダブルワ
ードの形でMM 106に記憶される。そのため、MM
106に書込むべきバイト、ノ・−フワーピあるいはワ
ード1はMM106ヘダプルワードで転送する必要があ
り、かつ当該アドレス位置を含む記憶されたダブルワー
ド内のアドレス位置へ書込む必要がある。
従来のシステムにおいては、前記演算は通常システムメ
モリにおいて読取り一修正−書込み演算によって実行さ
れる。即ち、書込むべき情報はダブルワードにフォーマ
ット化され、ダブルワード9の未使用ビットは例えば零
で充填し、零を充填したダブルワード9がメモリに転送
される。メモリにおいて、情報を書込むべきアドレス位
置全含むダブルワードがメモリから読取られ、零を充填
したダブルワードからの情報ビットを含むよう修正され
、メモリへ書戻される。
システムメモリへの情報の書込みに関する別の問題はシ
ステムの演算に先立って命令やデータを記憶するキャッ
シュを含むいずれのシステムにおいても発生する。即ち
、キャッシュはMM106に記憶された情報の中のある
もののコピーを含み、鹿106への書込みによってその
中に位置する情報のオリジナルバージョンを修正させ、
そのためDS834における情報のキャッシュ化された
コピーはもはやMM106における新規情報分には対応
しなくなる。従来のシステムにおいては、この問題はメ
モリ内の情報を前述のように読取り一修正−書込み操作
によって更新された後メモリからの修正された情報をキ
ャッシュに入力することKより対処することが多い。
CPU122からMM106への情報の書込みについて
の一般的な問題について説明したので、前述の書込みを
実行するDC804のオペレーションについて以下説明
する。
前述のように、プログラムの内部論理構造は、命令なら
びにデータエレメントの群のシーケンスが一連のアドレ
ス位置、即ち順次の隣接する位置を極めて頻繁に占処す
るようなものである。また、前述のように、データある
いは命令全問わず、MM106からPU104へ読取ら
れる全ての情報は8から32バイト、即ち1個から4個
のダブルワードのブロックの形でDS834においてキ
ャッシュされる。そのため、いずれかの所定の書込み操
作に対して書込みアドレスに位置する情報エレメントが
キャッシュに入力され、そのためDS834で使用可能
となる。
書込みアドレスに位置するエレメントがDS834でキ
ャッシュに入力される、システム102のCPU122
力ラMM106への書込みにおいて、書込み操作は、M
M106によって実行される読取り一修正−書込み操作
に、読いてキャッシュを再鴫〉守ることにより実行され
るのではなく、DC804において書込み一組合せ操作
により実行される。書込み一組合せ操作においては、書
込みアドレスはDS834から、DSL842ト、WR
TMRG 850 O第2の、ダブルワード幅の入力側
でキャッシュに入力された情報エレメントを読取るため
に使用される。同時に、書込むべき情報を含むワードは
CPU122およびDBパス600から、WRTMRG
 850の第1の、単一ワード幅の入力側へ提供される
。この点に関して、前述のように、CPU122の機能
にはその中で発生した情報を、WRTMRG 850へ
の書込み入力として使用すべき、単一の、32ビツトの
ワードへフォーマット化する機能力を含む。
WRTMRG850 ハ基本的には、MM106へ書戻
されるべき情報を、書込むべき情報に対応する、DS8
34から読取られたダブルワードの部分に代替させるマ
ルチプレクサである。次いで、WRTMRG850は出
力として、新しいダブルワード9′it提供し、その新
しいダブルワードはその中の適当なバイト位置において
、メモリに書込むべき情報と、DS834から読取られ
たダブルワードのオリジナルの未修正の部分とを含む。
次いで、前記の新しいダブルワードはDS834へ書込
まれ、その中に位置するオリジナルのダブルワードを重
複書込みし、かつ代替することによって更新された情報
がDS834から直ちに得られるようになる。同時罠、
新しいダブルワードは5DX840およびSDババス1
8を介してMM106へ書込まれ、そこで中に位置する
オリジナルのダブルワードに重複して書込まれ、MM 
106の中味を更新する。
このように、DS834はメモリ修正速度およびキャッ
シュ再充填速度ではなく、キャッシュの動作速度で更新
され、MM 106はメモリの読取り一修正−書込み速
度でなくメモリ書込み速度で更新される。このように、
キャッシュt−”−スにした書込み、組合せ操作はメモ
リへの書込み実行においてキャッシュおよびシステムメ
モリの演算速度を著しく向上させる。
メモリへの書込みの実施におけるDC804の演算につ
いての別の例としては、メモリからメモリへのオ被し−
ションならびにストリング移動操作である。メモリから
メモリへの移動において、情報は第1の、元々のメモリ
位Rから第2の行き先メモリ位置へ書込まれる。ストリ
ング移動は基本的にはメモリからメモリへの移動のシー
ケンスから構成され、データエレメントはアトe vス
の第1のシーケンスから順に読取られ、同じシーケンス
でアドレスの第2の対応するシーケンスに書込まれる。
まずメモリからメモリへの移動操作について検討する。
該操作の各々における最初のステップは読取りであって
、そのため移動すべき情報はDS834においてキャッ
シュに入力される。情報はブロックペースでキャッシュ
に入力されるので、移動操作の行き先アドレスもDS8
34においてキャッシュされる。次いで、 DS834
の元々のアドレスカラDSL842オヨヒRTRB84
4f:介シテ、WRTMRG850の第1の、単一ワー
ド幅の入力側まで移動すべき情報を読取ることにより前
記移動が実行される。次いで行き先アドレスに位置する
情報はDS834カラ読取ラレ、WRTMFjG850
 O第2 O、ダブルワード幅の入力側へ提供され、元
々の情報は行き先のダブルワードと組合されて新しい行
き先ダブルワートヲ発生する。前述のように、次いで新
しい行き先のダブルワードはDS834とMM106と
へ同時に書込まれ、その中に位置するオリジナルの行き
先ダブルワードと重複書込まれる。
ストリング移動も同様に行われ、即ち、前述のように、
ストリングが元々のアドレス位置の第1のシーケンスか
ら行き先アドレス位置の第2のシーケンスまで移動して
しまうまでメモリからメモリへの移動のシーケンスとし
て実行される。前述cvx5ttc、VAR7141d
 AGU 124に提(1h、元々のおよび行き先アド
レスのシーケンスがストリング移動操作において発生し
うる速度全増加させることに注目すべきである。さらに
、特にストリング移動において、前述の移動は単一の論
理は−ジのアドレススペース、即ち単一の物理的に一ジ
フレーム内で発生することがほとんであることに注目す
べきである。そのため、元々のおよび行き先アドレスの
仮想アドレスを、元々および行き先アドレスの物理的ア
ドレスに変換する上で全てのアドレスを変換する必要は
ない。即ち、前述のように、所定被−ジ内での仮想アド
レスから物理的アドレスの変換のシーケンスは各新アド
レスに対して新しいは−ジフレーム番号金発生させる必
要は・なく、単に新しいバイトインデックスフィールド
9全仮想アドレスから物理的アドレスへ変換するだけで
ある。したがって、ス)IJソング動において実際の情
報の動きと、アドレス発生および変換のシーケンスとは
最大キャッシュ速度において行いうる。
うる。
最後に、システム1020本実施例においては、先の演
算あるいはMMlo 6への書込みから発生する演算の
一部のいずれかとして行き先アドレス情報がDS834
においてキャッシュに入力されないとすれば、MMlo
6への書込みに対して書込み一組合せ操作を使用しない
こと全注目すべきである。
DS834において行き先アドレス情報がキャッシュ罠
入力されないような場合、システム102は前述した従
来の、メモリ読取り一修正−書込み操作を用いる。しか
しながら、代替の実施例においては、DS834Vcお
いて行き先アドレス情報をキャッシュに入力し、かった
とえ、特定の書込み操作に対して特にキャッシュに入力
する必要があるとしても、MMlo6への全ての書込み
に対して書込み一組合せ操作全実行することが有利のこ
ともある。
入力および出力経路および書込み一組合せ操作について
のDC804のオペレーション全説明したので、 DS
834に関連するキャッシュ機構のあるエレメントの構
造とオペレーションとについて次に以下説明する。
はとんどの従来のキャッシュ機構におけるように、DC
804はDS834と関連して、DS834においてキ
ャッシュに入力された情報に関するパリティ情報を記憶
するメモリと、タグと、DS834人力に関するタグ有
効情報とを記憶するメモリと金含む。
パリティおよびタグ有効ビットメモリとは第8図に示し
ておらず、かつ当該技術分野の専門家には周知なので以
下詳しくは説明しない。しかしながら、タグ記憶メモリ
のオはレーションについてはDC804のオはレーショ
ンに係るので以下説明する。
第8図に示すように、DS834には、DS834でキ
ャッシュに入力されたダメルワート9の情報エレメント
と関連するタグを記憶し、かつ提供するデータタグ記憶
装置(DTS) 852が関連している。DTS852
の完全な構造体は第8図に示されておらず、類似のタグ
記憶装置(’r’rs80B)の構造と動作については
前述したので、DTS852の演算については詳細に説
明しない。
前述のように、キャッシュの中味が常にシステムメモリ
の中味と確実に対応するようにする。上で、キャッシュ
機構を組込んだいずれのシステムにおいても問題が介在
する。PU104から発生するMM 106の書込み操
作に対してMMlo5およびDS834の中味全対応さ
せることに関するDC804のオペレーションについて
はすでに前述した。しかしながら例えばPU104から
発生しない、5BIIIOからの書込みのようにMMl
o6への書込みに関して別の問題がある。
第8図に示すように、DTS852のアPレス入力側は
タグ記憶アドレスマルチプレクサ(TSAM)854か
ら接続されており、TSAMB 54の方はDS834
の通常のタグチェックおよびアト9レシングに対してP
Aババス00から第1の入力側が接続されている。
また、TSAM854の第2の入力側が外部メモリアド
レスランチ(XMAL)856を介してSAババス16
から接続されており、PI)104に対しては外部の源
から提供された全てのMM 106の書込みアドレスを
受取り、即ちPU 1’04から発生しないMMlo6
の全ての書込み操作を検出する。したがって、外部から
の鹿106書込み操作に対して、DTS852の中味が
アドレスされ、かつ検査され、DTS852が対応する
タグ全含むか、したがって、DS834が外部書込みア
ドレスに対応する入口1含むか全検出する。
DTS852からのタグとTSAM 854の出力とが
タグ記憶パイプライン(TSPL)858の入力側に提
供され、i TSPL858はハツシュした外部からの
書込みアドレスと対応するDTS852とがあればそれ
とを受取りかつ記憶する。TSPL858はPU104
および後述のλ4M106とパイプラインされた演算の
結果パイプラインされたレジスタとして提供される。ハ
ツシュされた外部書込みアドレスと対応する。DTS8
58から読取ったタグとは次いでタグ記憶コンパレータ
(TSC) 860に提供され、・・ツクユした外部書
込みアドレスとタグとを比較して、DTS834が、四
106への外部書込み操作の行き先アドレスに対応する
入口全台むか否か検出する。その通りであれば、マイク
ロルーチンが開始して再ロート9し、DTS834の対
応する中味を車106の修正された中味と対応するよう
更新する。
ATU10126即ちATU802とDC804の構造
とオペレーションについて説明したので、それぞれAG
(J124およびCP602への命令とオペランド9の
インタリーブされ、かつオーバラップした取出しを実行
するCP602)AGU124、ATU 802および
DC804のオペレーションを次に説明する。
C,3,c、命令およびオペランドの取出しく第8A図
)前述のように、DC804はPU104のオペレーシ
ョン全予定してMM 106から命令およびオペランド
9を取出し、かつ記憶し、これら命令およびオイランド
ヲ必要に応じてそれぞれAGU124とCPU122と
へ供給するよう操作する。DC804からAGU124
、即ちIQ 702への命令の読取りはCP602とA
TU802のP工AR820の操作によって供給される
次の命令アPレスに応答して実行される。
PU 104および特K CPU 122の演算速度は
部分的には命令およびオペランr1zpc$04からc
pty122とAGU124とから転送しうる速度によ
って決定され、CPU122の演算結果は次にMM10
6へ転送するようDC804へ転送される。この理由に
より、CPU、122)AGU124オ!ヒATU/C
126ij、オーバラップされかつインタリーブされた
命令/オはラント9読取り/書込みサイクルにおいて相
互に協働するよう構成されており、そのためPC804
とCP122との間で命令およびオペランドが効率的に
連続して流れる。
前記読取り/書込みサイクル全実行するPU104、即
ちCP122)AGU124、PAR822およびP 
IAR820を含むATU 802およびI)cso+
の個々のエレメントのオペレーションについて上述して
きた。
DBハス600 f:介して命令およびオペランドの読
取りおよび書込みをオーバラップして行う前記エレメン
トの協働のオペレーションについて以下説明する。
第8A図を参照すれば、AGU124およびCPU12
2への命令およびオペランド9の重複取出しならびにc
pty133からDC’804へのオペランド9の書込
み金示すタイミング線図が示されている。第8A図は、
イベント、即ちプログラム実行中の命令おびよオペラン
ド9の取出しおよびその結果の書戻しの連続したシーケ
ンスが入るウィンド9つを示す。
第8A図に出てくるイベントのシーケンスはプログラム
の実行の間PU104のエレメントによる命令とオペラ
ンドの取出しおよび書込みにおいて発生しうる典型的な
オペレーション1示すよう選定したものである。
以下の説明は各CPU122サイクルにおける「命令」
の取出しに関するものであることを注目すべきである。
前述のように、DBババス00のI[は32ビツトであ
り、そのため32ビット即ち1ワードが各演算において
DBババス00ヲ介して取出される。しかしながら所定
の命令の長さは16,32.48または64ビツトでよ
い。そのため以下の説明において「命令」の取出しは実
際の命令の取出しでなく、1ワードとして32の命令ピ
ントの取出したものを参照するものとする。即ち、取出
された「命令」を構成する32の命令ビットは1個の命
令、2個の命令、命令の一部あるいはそれらの組合せを
構成することができる。
第8A図の最上部の線を参照すれば、そこから全てのP
U104の動作のタイミングが得られるシステムクロッ
ク(SYSCLK)が示されている。システム102の
本実施例において、5YSCLKは60ナノ秒(n8)
の時間を有する。
一連のタイママーク、tlから120までが5YSCL
Kの上方に示され、各タイムマークは5YSCLK時間
の開始エツジ、即ち立上りエツジと一致して現われる。
これらのタイムマークは以下の説明全通じて参照するタ
イムリファレンススケールを提供する。この点に関して
、以下の説明はtlからt20のウィンドつ内で発生す
るイベントに関し、かつtlの前で発生しtlからt2
0のウィンド9つへあるいはウィンドウの後でオーバラ
ップするイベントは説明の都合上触れないことに注意す
べきである。しかしながら、tlからt20のウィンド
ゝつで示し、かつ説明するイベントについては連続した
イ(ントのシーケンスの一部を示すものであること全想
起すべきである。
第8A図の第2の線はCPUクロック(CPUC)を示
し、該クロツクはCPU122の演算により発生し、基
本的にCPU122の演算の実行状態を示す。システム
102の本実施例においては、CPUCサイクルは1回
の演算、即ち1個の命令全実行するに要する時間である
。第8A図に示すように、命令実行の開始はGPUCの
立上りエツジにて指示され、CPUC:時間の終り、即
ち次のCPUC時間の始まりは次の命令の実行の開始2
示すCPUCの次の立上りエツジにて指示される。第8
A図に示すように、CPUCの基本的時間、即ち1個の
命令を実行するに要する時間は120 nsである。し
かしながら、CPUC時間は、例えばマイクロコードの
分岐の結果ある種の演算で必要に応じて、あるいはDC
’s 04力MM106から要求されたオ投ラント9あ
るいは命令全取出す必要がある場合5YSCLK時間に
おいて6Qns増分させて延長することができる。
第8A図の次の3本の線はそれぞれCPUアドレス(C
PUA)、CPUデータ(CPUA)およびCPUロー
ド(CPUL)と名付ける。これらの線はそれぞれPA
R822からDC804へのオペランドの読取りあるい
4は書込みアドレスの提供、オペランドの読取り、また
は書込みアドレスに応答してDBババス00へのオペラ
ンドの出現、および読取り操作においてはCPU122
へのオにラント9のロードあるいは書込み操作において
はDC804へのオはランドのロードを示す。
最後の4本の線は部分的には、CPUの読取りおよび書
込み操作を示す3本の線に対応し、DBババス00全通
してDC804からの命令の取出し、および前記命令の
IL 704とIQ702へのロードを表わす。
IQアドレス(工QA)と名付けた線はPIAR820
からDC804への命令アドレスの提供を示し、IQデ
デー(IQD)と名付けた線はDC804からDBババ
ス00とのアドレスされた命令の出現を示す。ILラン
チ(ILL)と名付けた線はDBババス00からIL 
704への命令のラッチング1示し、IQロード(IQ
L)と名付けた線はIL 704からIQ 702への
命令のロード2示す。
説明の便宜上、第8A図に示すよう選択したイベントの
シーケンスは、DC804からCPU122”−のオペ
ランド9の2@の読取り、CPU122からDG804
へのオイラント℃膚込み、I)cso4から、MM10
6からDCf304の充填を要するCPU122へのオ
ペランド′読取り、および最後にオペランドの読取り、
書込みのいずれも必要としない2回のCPU122の演
算の順である。以下に説明するように、Qぞのサイク・
ル毎に命令がIQ702へ取出され、オペランドの読取
り、書込みおよび命令の取出しをオーバラップかつイン
タリーグすることによって。
CPUのサイクル毎に命令の取出しおよびオペランドの
読取りまたは書込みを実行するととができる。
第8A図を参照すれば、tlにおいてはオ(ランドの読
取りはベンディングであり、かつCPUAが指示するよ
うに、tlで始ま、6 cpU、cの時間の開始即ち立
上りエツジにおいてPAR822からオペランドアドレ
スがPAババス00に位置付けされる。
5Qns後、即ちt2において、とのcpucサイクル
に対する命令の取出しは、IQAで指示するように、P
IAR822からPAババス00に命令アドレスを位置
させることにより開始される。命令アドレスはt2にお
いてcpucの立下りエツジにおいて発生するものとし
て示されているが、このイベントはCPUCの立下りエ
ツジによって起動することはないとと圧注目すべきであ
る。即ち、所定のCPUCサイクルにおいてオペランド
の読取りあるいは書込みが行われつつある際、オペラン
ド9の読取りあるいは書込みアドレスは常にcpucの
立上りエツジにおいて発生し、命令アドレスは常に60
ns後、その時CPUCが立下りエツジ全盲しているか
否かには関係なく次の5YSCLKにおいて常に発生す
る。
またt2において、かつCPUDが示すように、DC8
04は要求されたオにランドをDBパス600ニ位置さ
せることによりtlで提供されるオイランド読取りアド
レスに応答する。DC804ヘアドレスの提供と、DO
804からの対応する出力の発生との間での60ナノ秒
(ns) 、即ち1回の5YSCLK時間は、要求され
たオはランド即ち命令がキャッシュに入力される時のD
C804の応答時間を示す。即ち、DO804は要求さ
れたオペランド9あるいは命令がDC804においてキ
ャッシュに入力されるとすればアドレスヲ受取った後天
の5YSCLKにおいてオペランドあるいは命令アドレ
スに常に応答する。
t3において、次のCPUCサイクルの開始と、次のC
PU122の演算の実行の開始を示すcpucの別の立
上りエツジが発生する。この時点で、次のオにランドの
読取り操作に対するオはランドの読取りアドレスが、C
PUAで示すようにDC804へPAR820から提供
され、前のオペランドの読取りアドレスの結果CBハス
600において出現したオ投−ランドはCPULで示す
ようにCPU122ヘラツチされる。
またt3において、かつCPUDで示すように、t2に
おいて提供された命令アドレスの結果としてDC804
から読取られた命令はDBババス00に現われる。
t4において、CPUDで示すように、t3で提供され
るオにラント9の読取りアドレスにより要求されるオR
ラント1はDBババス00に現われる。t4において、
IQAで示すように、第2回のcpucサイクルでの命
令の取出しはPIAR822からDC804へ次の命令
アドレス全提供することにより開始される。この命令ア
ドレスはt3において前記CPUCサイクルの開始後5
Qnsで現われる。
またt4において、かつILLで示すように、t2で提
供された命令アドレスに応答してDBババス00に現わ
れた命令はIL 704にランチされる。DBパス60
0かうIL704への命令のラッチングは対応する命令
アドレスがDC804に提供されたCPUCサイクルの
後天のCPUCサイクルで発生するCPUC:の立下り
エツジによって起動する。この例においては命令がアド
レスされた後CPUC:サイクルにおけるCPIJC,
の立上りエツジはt4で発生した。
t5において、再び次のcrttcサイクルの開始と、
次のCPU122の演算を示すCPUCの立上りエツジ
が再び発生する。この時点で、オペランドの書込み操作
用のオペランド書込みアドレスがGPUAで示すように
、PAR820からDO804へ提供され、前のオ(ラ
ンどの読取りアドレスの結果DBパス600に現われた
オペランドはCPULで示すようにCPU122ヘラン
チされる。
また℃5において、かつCPUDで示すように、t4で
提供された命令アドレスの結果DC804から読取られ
る命令はDBババス00で現われる。
t5において、かつIQLで示されるように、t4にお
けるCPUGの立下りエツジによってIL 704ヘラ
ツテされた命令はIQ 702ヘロードされる。
IL 704からIQ 702への命令のロート9はC
PUの上下6.エツジにより実行される、即ちcpuc
の立下りエツジでIL 704ヘラツチされたいずれか
の命令はCPUCの次に発生する立上りエツジにおいて
IQ 702ヘロードしうろことに注目すべきである。
この場合、cpucの次の立上りエツジはt5で発生ず
みである。
ここで、命令アドレスに応答してDBババス00に現わ
れる命令は、CPUCの次の立下りエツジにおいてIL
 704へ常にランチされることに注目すべきである。
しかしながら、命令はIQ 702に必ずしもロードさ
れるとは限らない;即ち、もしIQ 702が一杯であ
ればIQ702はIL 704から命令全受入れないか
らである。
CPUCサイクル毎の命令の取出しとラッチングならび
にIQ704が一杯の場合のIQ 704への命令の非
ロードとの間の矛盾は2つの理由で排除される。最初の
理由は通常の演算において命令は各CPUサイクルで実
行され、そのためIQ 702は各CPUサイクルの終
りにおいて新しい命令全受取る状態となる。即ち、命令
はそれらが実行されるにつれてIQ702の待ち行列を
移動し、そのためIT。
704から新しい命令を受取るスイースが、先に行列化
された命令が動く際各CPU?イクルの終りにおいて待
ち行列内で利用できるようになる。
第2の理由は、PIAR822に位置する命令アドレス
は、先の命令が完了したときのみ新しい命令を表示する
よう変化することである。したがって、命令からの完了
に1回以上のCPUCサイクルを要するいずれの場合に
おいても、命令の完成の発生する各cpucサイクルに
おいて同じ命令アドレスがDO804に供給される。そ
の結果、命令を完了させるに要する各cpucサイクル
において同じ命令力DC804から読取られ、かつIL
 704ヘラツチされる。したがって、IL 704は
命令が完了し、IQ 702がIL 704から新しい
命令を受取る状態となるまで、各コピーをその前のコピ
ーの上に書込ませて単に同じ命令のコピー全繰返し受取
る。
第8A図に戻れば、t6において、t5で提供されたオ
ペランド1の書込みアドレスに応答してDC804に書
込まれるべきオ被ラント“は、CPUDの状態が示すよ
うにDBパス600に位置され、かつ取出すべき次の命
令のアドレスはIQAの状態が示すように、DC804
に提供される。
またこの時点で、t4で提供された命令アドレスに応答
してt5においてDBババス00で現われる命令は、t
6で発生するCPUCの立下りエツジによりIL 70
4ヘラツチされる。
t7において、次のcpucサイクルの開始と、次のc
pu122の演算の実行の開始を示すCPUCの立上り
エツジが再び現われる。この時、次のオペランドの読取
り操作用のオペランド読取りアドレスがCPUAで示す
ようにPAR820からDC804へ提供される。前述
のように、この読取り操作は本実施例においては、要求
されたオペランドがDC804でキャッシュに入力され
ず、MM106から取出す必要のある場合オ投うントド
命令の取出し操作を示すために選んだものである。
またこの時点で、t5で提供されるオにランドの書込み
アドレスにより開始される書込み操作においてCPU1
22によりDBババス00に位置付けされたオペランド
は、CPULが示すように、cpucの笠上りエツジに
よりDO804ヘランチされる。
またt7において、七6において供給された命令アドレ
スの結果、DO804から読取られた命令はIQDで示
すようにDBババス00に現われ、IL 704ヘラツ
チされた命令はIQLにより示されるように、CPUC
の立上りエツジによりIQ704ヘロードされる。
七8において、t6で提供された命令アドレスによって
t7でDBババス00に現われた命令はcpucの立下
りエツジによりIL 704ヘランチされる。
前述のように、t7で開始されたオペランド取出し操作
はDC804がMM 106から要求されたオはランド
ヲ取出す必要のある取出し操作を示すために選択した。
アト3レスされたオペランドをMMlo 6から読取る
に要する時間と、オペランドがI)cso4の出力側に
現われるための時間とは、オペランドアドレスがDC8
04へ供給されるt7と、CPUDが示すようにtlO
においてDBババス00にオはラント9が現われるとき
との間の遅れとして本図において示されている。
第8A図、特にCPUCにより示されるように、CPU
122の演算はこの時間有効に停止され、即ち、t7に
おいてCPUCの立上りエツジで開始したcpucサイ
クルはtllまで延長される。tllにおいて、次のC
PU122はCPUCの立下りエツジで示すように開始
し、オペランドはcpucの立下りエツジによりCPu
t22ヘラツチされる。七6でアドレスされ、cpuc
の立下りエツジにより七8でIL704ヘラッチされた
命令も、GPUC,の立上りエツジによりt□1におい
てIQ 702ヘロードされる。
要求されたオペランド9がDC804でキャッシュに入
力されない場合を前記イベントのシーケンスは示したが
、このイベントは命令t−MM106から取出丁必要の
ある場合同様のシーケンスを辿ることに注目すべきであ
る。即ち、オペランド9/命令の取出しシーケンスは、
DBババス00に命令が現われるまで停止され、次いで
前記時点で再開する。
前述のように、本実施例においては、オペランド9が何
ら読取られたり書込まれないCPU122のサイクルに
おける命令の取出しt示すよう次の2回のCPUt22
サイクルを選別した。これら2回のCPU サイクルは
それぞれtllおよびt13で開始し、CPUAが示す
ように、cpucの前記立上りエツジにおいてはDC8
04にオーラント9アドレスは何う供給されない。
前記2回のCPUサイクルの開始時においてはオペラン
ドの読取りあるいは書込みは何らベンディングではない
ので、命令アドレスはCPUCの立上りエツジの後6Q
nsで発生するのではな(tl□およびt13で発生す
る前記CPU0の立上りエツジにおいてDC804に供
給される。アドレスがDC804に供給された後6Qn
sで、即ちIQDが示すようにt12とt14と忙おい
てDBババス00で対応する命令が現われる。
前記命令はcpucの次に発生する立下りエツジにおい
て、即ちILLが示すように112とt14とにおいて
それぞれIL 704にランチされ、cpuc の次に
発生する立下りエツジにおいて、即ちIQLが示すよう
にt13とt15においてIQ 702にロート9され
る。
本実施例に対して選定したオにレーションの典型的なシ
ーケンスはt15で完了し、かつ第8A図で示すように
、次のオはレーショラー、各CPUサイクルの間にオペ
ランドの読取りあるいは書込み、および命令の取出しが
行われるオペレーションのあるシーケンス全再開する。
取出し/書込み機構についての前述のオペレーションを
要約すると、この機構はオーバラップしかつインタリー
ブした形で操作してDC804から命令を取出し、たつ
GPU122とDC804の間でオペランドの読取りお
よび書込みt行う。CPUサイクルが命令の実行により
規定され、かつCPUクロック(cptyc)の一連の
エツジによって描かれるいずれかのCPUサイクルにお
いては、命令は取出され、かつオペランドはDC804
かも読取られるか、あるいは書込むことができる。
各CPUサイクルの開始はcpUcの第1の、即ち立上
りエツジによってマークされ、その後発生すルイベント
のtケンスは、オペランドの読取りあるいは書込みがベ
ンディングか否かによって変る。
もしオペランドの読取りあるいは書込みがベンディング
であれば、CPUGの最初のエツジ、即ちCPUサイク
ルを開始するcpucエツジにおいてDO804に供給
され、命令アドレスは、CPUの最初のエツジの後6Q
ns、即ちシステムクロック(SYSCLK)の−回の
時間の後DC804に供給される。オペランドの読取り
あるいは書込みが何らベンディングでなければ、命令ア
ドレスはCPU0の最初のエツジ、即ちCPUの時間の
開始時にDC804に供給される。
まず、オペランドの読取りおよび書込みKついて検討す
る。オペランドがDC804でキャッシュされるオペラ
ンド読取りあるいはオペランド9の書込みにおいて、ア
ドレスの後の次の5YSCLKにおいてオペランドはD
Bババス00に現われ、かつCPUCの次に発生する最
初のエツジ、即ち次のCPUサイクルを開始するcpu
cのエツジにおいてそれぞれCP0122″!!たけD
C804ヘラッチされる。
オペランドがDC804でキャッシュされず、鹿106
から取出す必要のあるオペランド読取りの場合、アドレ
スの後オペランド9は5YSCLKの何回かの後DBパ
ス600に現われ、cpucの次に発生する最初のエツ
ジ、即ち次に発生するCPUサイクルの開始時CPU1
22へ再びラッチされる。
即ち、オペランド9の読取りあるいは書込みを行うべき
いずれかのCPUサイクルにおいて、そのCPUサイク
ルを開始するCPUCのエツジにおいてオペランドのア
ドレスがDC804に提供され、オペランドは前記cp
uaの開始後1回以上の5YSCLKS(7)後DB、
ニス600に現われ、CPUサイクルt−開始させるG
PUCの次に発生するエツジにおいて、行き先、即ちC
PUt22またはDC804のいずれかヘラツチされる
命令の哉出しにおいて、アドレスされた命令は ゛アド
レス後通常1回の5YSCLK時間の後DBハス600
に現われ、CPUCの次に発生する第2)即ち立下りエ
ツジにおいてIL 704にランチされ、かつもしIQ
 702が命令を受入れるスペースがある場合CPUサ
イクルを開始させる、CPUCの次に発生するエツジに
おいてIQ702にロート9される。
IQ 702が命令を受取ることができなければ、IQ
702において命令全受入れるスペースが得られるcp
ucの最初のエツジが発生するまで命令はIL704に
保持される。
前述のオにレーションにおけるPAR820,PIAR
822およびIL 704の役割全検討する。まず、4
田822およびPIAR32Qを設けることにより12
0nsの一回のCPUサイクルにおいて命令とオペラン
ド9の双方の取出しを促進し、かつ可能とすることに注
目すべきである。即ち、120nsのCPUの一回のサ
イクル内でオはランヒラ読取りあるいは書込み、かつD
C804から命令全読取るには、DC804にはこの時
間内において2個のアドレス、即ち命令用に1個とオペ
ランド用に1個のアドレスを設ける必要がある。
しかしながら、1個のアドレス源はいずれか所定の12
0ns時間において1個のアト=し局みを供給しうる。
即ち、システムにおいて論理演算を行いうる速度は、6
0n8の時間を有する5YSGLKによって決められる
。1個のアドレス源はアドレス=<DCj804へ読取
るために1回の5YSGLK時間と、該アドレス全増分
したり、あるいは新しいアドレスをロードするために第
2の5YSGLK時間を必要とする。そのため、1個の
アドレス源の最大速度は120n8毎に1個のアドレス
となる。
しかしながら、前述のようにATU802は、2個のア
ドレスの流れ、即ちPIAR820からの命令アドレス
の流れと、PAR822からのオペランドの読取り/書
込みアドレスの流れと全供給する。前述のように、PI
AR820とPAR822はそれぞれ、2回の5YSG
LK時間毎に1個のアドレスを供給できる。
しかしながら、ATU802においては、PIAR82
0とPAR822とは交互に読取りおよび増分、即ち新
しいアドレスをロードされ、即ち、他方が増分あるいは
再ロードされている間に一方が読取られるので、P工A
R820とPAR822とは一緒になって6Qns毎に
1個のアドレスt−DO804に供給することができ、
前記アドレスは交互に命令アドレスであったり、オペラ
ンドの読取り/書込みアドレスとなる。
IL 704の役割について検討すれば、cpU122
はその演算の性格上、CPU122がオペランド全受取
る状態となるまでDC804からのオペランドの読取り
を要求しない。即ちCPU122はそれが第4ランドを
受取る入力側バッファに余裕がなければオペランドを受
取らない。したがって、CPU122はオペランド9が
現われるや直ちオペランKyDBバス600から常に動
かすことができ、そのためDBババス00は、通常次の
5YSGLK時間において現われる命令を自由に保持で
きる。
しかしながら、命令の場合については、CPUの各サイ
クルにおいて新しい命令が取出されている間、命令は均
一速度でIQ 702 t−通って進行しない。
したがって、いずれたの所定のCPUサイクルにおいて
、新しく取出された命令を受取るスペースがIQ 70
2に無い可能性がある。しかしながら、IL704’を
設けることによって、IQ 702にスペースができる
まで取出された命令をDBババス00から外しIL 7
04に保存できるようにし、そのため次のオペランドが
現われたとしてもDBババス00 t−自由にしておく
ことができる。
PU104の基本的な命令およびデータ処理エレメント
、即ちCP602)AGU124、ATU802  お
よヒDC804の構造ならびにオペレーションならびに
それらの個々および協働状態の演算について説明したの
で、次にMS604およびCPU −SLI 606に
ついて以下説明する。
C,4,?イクoシーケンサ1vls6o4(i6A6
A前述のように、DU104はプロセス制御により、即
ちプログラムの実行の間受取られる命令の制御により演
算を実行するマイクロコード制御の機械である。このマ
イクロコート9制御は、例えばAGU124のDAG7
16から提供されるディスパッチアドレスおよびPU1
04の演算の間発生するある条件およびテストに応答し
てMS604により提供される。
第6A図を参照すれば、MS604のブロック線図が示
されている。前述のように、第6図、第7図および第8
図はその順序で横に並べればPU104の全体のブロッ
ク線図を構成することができる。
この全体ブロック線図を続けるには、CPU −5LI
606 t−含む第68図全第6図のすぐ下方に置き、
MS604を含む第6A図を第6B図のすぐ下方に位置
させればMS604、CPU −SLI 606、CP
602)AGU124およびATU/C126の間の接
続ならびに関係をさらに明瞭に示すことができる。
第6A図に示すように、MS604はP[J104の演
算全制御するマイクロルーチンを記tlる、マイクロル
ーチン制御記憶装置(MC:5)640を含む。本実施
例においては、MC364Qはマイクロコート9制御記
憶装置の2個のバンクから構成され、第1のバンクは、
永久的に存在するマイクロルーチンを記憶する読取り専
用メモIJ (ROM)からなり、第2のバンクはロー
ド可能のマイクロコード用の読取り/書込みメモリであ
る。各バンク井水実施例においては8ビット幅4にワー
ドのメモリである。
MC3s40の書込み可能バンクには以下説明するCP
U −SLI 606の内部バスから接続された双方向
性のデータ人力/出力側が設けられている。CPU−S
LI 606、SLlバス120よびSCU 10gと
共にこの経路はマイクロコードがMC3640へ書込み
、あるいは読取られうる経路である。
また第6A図に示すように、MC3640にはマイクロ
命令アドレス(MIA)パス642がら接続されたアド
レス入力側が設けられている。以下説明するように、マ
イクロ命令アドレスはMIAバス642を介して提供さ
れ、MC8640からの個々のマイクロ命令を選別し、
かつ読取りかつMC8640へのマイクロコート9ノ装
填ノ間MC8640へのマイクロコービの書込みを制御
する。
MC3640のマイクロ命令出力側はマイクロ命令ゼネ
レータとレジスタ(MIGR)644の入力側に接続さ
れている。MIGR644は現在のマイクロ命令を記憶
するレジスタと、現在のマイクロ命令を復号化しマイク
ロ命令レジスタ(MIR)の出力であるマイクロ命令機
械制御信号を提供する論理とを含む。MIRの方は制御
のためにPU104の残りの部分に供給され、かつ前述
のようにAPM628の入力側へのマイクロ命令のリテ
ラル出力として供給される。MIGR644の制御出力
の一部はMIGR644への入力として提供され、その
演算全部分的に制御する。MIGR644は従来の内部
構成のものであって、当該技術分野の専門家には周知の
ものなので詳細には説明しない。
マイクロ命令アドレスは、マイクロ命令アドレス出力側
がMIAバス642に接続されている2個のアドレス源
のいずれかからMIAパス64゛2に提供することがで
きる。これらのアドレス源はそれぞれ、マイクロ命令ア
ドレス入力側R’OCMAcO’)646およびマイク
ロ命令制御装置1 (MAGf)648として指示され
ている。
まずMC3640を参照すれば、MC3640はマイク
ロルーチンにおけるマイクロ命令の順次的選別、マイク
0命令スタツク演算およびマイクロ命令ループ演算を基
本的に制御する。この目的に対して、MA01648は
マイクロ命令カウンタ、マイクロ命令スタックおよびマ
イクロ命令ループカウンタとを、関連のある種の制御機
能と共に含む。MAC1648には制御入力側と、オペ
レーションの必要に応じて、MC3640の出力側から
のマイクロ命令分岐アト3レスおよびMlバス642か
らのマイクロ命令アドレスとが設けられている。MAC
l c+40はさらに、以下説明するマイクロ命令アド
レス選定および制御装置(MASC)650からの制御
入力側が設けられている。MA01648も従来の内部
構成のものであるので詳細には説明しない。
MA01648のオペレーションは基本的にはMASC
650によって制御され、MASC650は例えばテス
トの結果を示す入力、サイクルの終り、全体的なアドレ
ス選択状況およびMIGR644の出力側からの入力を
受取る。MASC650にはテストマルチプレクサ(T
STM)652が付属しており、TSTM 652は状
態ビット入力全受取り、MASC650に対して、状態
関連テストの結果を示すテスト出力全供給する。MAS
C650が発生する出力の中にはテスト状況の結果、M
S604の他のエレメントに対スるある制御信号および
あるシステムクロック信号がある。
ATU/C126からの命令およびオイラント9の取出
しに関する以下の説明においてさらに説明されるカMA
S0650 Kより提供されるクロクク信号の中にはシ
ステムクロック(SYSCLK)およびCPU122ク
ロア り(CPUC) カ;h ル。5YSCLKハP
U 104ノj−L/ メントの論理的演算に対する基
本的なタイミングを提供し、かつシステム102の本実
施例においては60ナノ秒(ns)の時間を有する。C
PUCはCPU122の演算に応答して発生し、基本的
にはCPU122の演算実行状態を示す。システム10
2の本実施例においては、CPUCtイクルは1つの演
算を行うに要する時間、即ち1個の命令全実行するに要
する時間である。命令およびオペランドの取出シに関す
る以下の説明において詳しく説明するが、命令の実行の
開始はCPUCの立上りエツジによって示され、かつc
pua時間の終り、即ち次の(2)C時間の始まりは次
の命令の実行の開示を示す(FUGの次の立上りエツジ
により示される。cpucの基本的時間、即ち1個の命
令を実行するに要する時間は12Qnsである。しかし
ながら、cpuc時間は、例えばマイクロコード分岐の
結果としである種の演算に必要であるように、あるいは
DC804が■106から要求されたオペランドあるい
は命令を取出す必要がある場合60n8増分、即ち5Y
SCLK時間だけ延長することができる。
MACO646t−参照すれば、MACQ 646はデ
ィスパッチ時およびトラップ状態あるいはケーステスト
の発生時マイクロ命令アドレスを供給する。
MAC0646マイクロ命令アドレスはマイクロ命令ア
ドレスマルチプレクサ(MIAM)654の出力側から
供給され、MIAM654の方はマイクロ命令保存/戻
りレジスタ(SRR)656とケース/トラップ/ディ
ス・ぐツチゼネレータ(CTDG) 658から入力を
受取る。
まず5RR656を検討すれば、5RR656はマイク
ロ命令アドレス保存および戻り機構を提供し、トラップ
戻りレジスタ(TRA)660からの保存/戻りマイク
ロ命令アドレスを備えている。TRA660の方は実行
マイクロ命令アドレスレジスタ(XMIA)652を介
してMIAバス642に現われるマイクロ命令アドレス
を受取りかつ保存し、前記レジスタは現在実行すべきマ
イクロ命令のMIAバス642に現われるアドレスを捕
捉し、かつ記憶する。CPU −3LI606に関する
以下の説明でさらに詳しく説明するように、SLI:x
lzoあるいはGP602のいずれかからMC8640
にマイクロ命令が提供されうる経路全提供する。第6A
図に示すように、この経路はCPU −SLI 606
の内部バス、C3I666から5RR656に提供され
る入力側から構成され、例えばMC3640へのマイク
ロルーチンの直込みあるいは診断オペレーションに使用
しうる。
CTDG658はディスパッチ、ケースおよびトラップ
状態になるとマイクロ命令アドレスを発生させる。第6
A図に示すように、CTDG 658のディスパッチア
ドレス入力がDAC716から供給される。
マイクロ命令アドレスの発生の結果から発生するその他
のディス・ξツチ演算は例えばDAC716による不当
なアドレスの検出から発生するディスパッチ例外、ある
いは特定のファイルレジスタヲ選定する、あるいは浮動
小数点演算を実行する演算を含む。CPU −SLI 
606に関して下記するように、CTDG656にもC
PU −8部606から、特にCPU−8LI 606
の5CR674から入力が供給される。
トラップベクトルマイクロ命令アドレスは例えば、不当
な有効アドレス、長いアドレスの変換、キャッジユズロ
ッククロシンI (crossing) JH)1例外
、取出し操作、あるいはその他の一般的なトラップ状態
から発生しうる。マイクロ命令アドレスから発生するケ
ーステストは例えば、変数を正規化し浮動小数点変数即
ち浮動小数点指数差を比較し、命令待ち行列をマツプし
、ALUの結果あるいは一般制御除外を検査するオペレ
ーションを含む。
第6A図に示すように、CTGD658への入力はマイ
クロ命令アドレスコンパレータ(MIAC)664から
供給される。MIAC664は、XMIA 662から
接続されかつ現在のマイクロ命令アドレスを示す第1の
入力側と、以下説明するCPU −SLI 606の内
部バスから接続された第2の入力側と1有する。
選定されたマイクロ命令アドレスはCPU5LI606
レジスタに記憶され、XMIA 662の出力側に出て
くるそれぞれの現在のマイクロ命令アドレスに対してM
IAC664によって比較できる。次いで、MIAG 
664は、現在のマイクロ命令が記憶されたマイクロ命
令アドレスと比較されるとCTDG658に出力を発生
させ、例えば選定可能なマイクロ命令アドレスにおいて
トリップ(trip)点を提供する。この機能は例えば
、マイクロ命令を通して順次ステツピイングしたり、あ
るいは選定したマイクロ命令においてMS604の動作
を停止させる診断オはレーションで用いることができる
前述のように、MAGO646はディスパッチ、ケース
およびトラップ状態のためにマイクロ命令アドレス全発
生させ、一方MAG1648はマイクロルーチンにおけ
るマイクロ命令全順次選択するため、マイクロ命令スタ
ック演算およびマイクロ命令ループ演算のためのマイク
ロ命令アドレスを発生させる。MAc0646あるいは
MA01648のいずれかは所定のマイクロ命令サイク
ルの間のマイクロ命令アドレス源であって、いずれかが
1@のティクル内において前述のマイクロ命令アドレス
を供給する。
前述の2種類のマイクロ命令選択操作に対して2個の個
別の並列したマイクロ命令アドレス源金設けることによ
って、以下述べるように、1回のマイクロ命令サイクル
においてマイクロ分岐演算全実行することができる。
マイクロコード分岐は一般的に、規定された状態に対し
てテストを実施する結果発生する。もし例えばテスト結
果が正しいとすれば、現在のマイクロルーチンは次のマ
イクロ命令アドレスに継続する。テストの結果が間違っ
ておれば、ズランチマイクロルーチン用のマイクロ命令
アト3レスが発生し、次のマイクロ命令アドレスとして
使用する。
従来のマイクロ命令機械においては、第1のマイクロ命
令サイクルがテスト状態を発生するために使用され、第
2のマイクロ命令サイクルは、テス)t−実行するため
、かつ必要に応じマイクロ命令分岐全選定するために使
用される。MS604においては、かつ並列の現在演算
中のアドレス源′hlAcO646トMAC1648ト
カアルタメニ、テスト力発生し、かつ1回のマイクロ命
令サイクルの間MAC0646によりテストが実施され
る。もしテスト条件が正しければ、MACl 648に
よりすでに発生しているアドレスがそのサイクルの間、
次のマイクロ命令アドレスとして使用される。もしテス
ト条件が正しくなければ、マイクロ命令サイクルが延長
され、MAC0646により発生したアドレスが次のマ
イクロ命令アドレスとして使用される。
テスト結果は、MS604の動作原理を変えることなく
分岐/非分岐決定に関し反転しうろことに注目すべきで
ある。即ち、分岐において正しいテスト結果が得られ、
かつ非分岐に偽の結果が得られることが可能である。
分岐で発生するテストが延長したマ、イクロ命令すイク
ル金使用する限りにおいては、MS604の動作速度の
全体的な増加は通常の演算において発生する命令のパー
セントによって左右される。このパーセントが低ければ
低いほど、演算速度を増加することによる利点は大きい
。したがって、マイクロ命令rの設計者は経験あるいは
試験によってテスト条件を選定し正偽を問わず非分岐決
定において発生する、テスト結果のパーセントラ最小に
するようマイクロ命令ルーチンを構成すべきである。
MS604の構造とオイレーションについて説明したの
で、CPU −SLI 606の構造とオイレーション
とについて次に下記する。
G、5. CPUシステムリンクインタフェース(CP
U−前述のように、システム102のあるエレメント、
例えば、PU104.5CU108、MM106および
5B1110は、5C0108と、前記エレメントの内
部オ被し−ションとの間でアクセスおよび通信t−m供
−rべく支援リンク(SL)バス120全介して相互に
接続されている。このアクセスおよび通信は、以下の説
明のように、例えばマイクロ命令ビの開始およびロード
かつ診断オペレーションのように一般的に支援オイレー
ションとして分類されるものの実行を主として制御する
ために使用される。例えtd CPU −SLI 60
6 ハCPU 122 トSLバス120との間のリン
クであって、したがってSOU IQ3とCPU122
のエレメント、4!にCP602とMS604との間で
リンク全提供する。
以下の説明はCPU −SLI 606による例を中心
としたものであるが、CPU−5LI 606の全体的
な構造とオペレーションとはシステム102の情報処理
エレメントの各々において提供されるシステムリンクイ
ンタフェースを代表するものであることを想起すべきで
ある。即ち、例えばMCU132におけるシステムリン
クインタフェースは特定の情報処理エレメントの特別の
オにレーションおよび制御要件に対して当該技術分野の
専門家には明らかなある種の適合を加えればCPU −
SLI 606と類似である。
この点について、システム102の情報処理エレメント
は、それぞれが、情報の記憶手段、情報処理手段と、前
記情報記憶および処理手段との間で情報全転送するバス
と、MS604に類似のマイクロコード制御「エンジン
」を含む情報処理機能を含む点において類似であること
に注目すべきである。この点について、マイクロコー)
’制御エンジンはマイクロルーチン、即チマイクロ命令
のシーケンス全記憶するメモリ手段と、マイクロコード
メモ+)’r6yvスする手段と、メモリとアドレス手
段とを接続するマイクロ命令バスを含む。
CP602とMS604と全、それぞれ情報処理機能お
よび、RF616とALU 608がそれぞれ情報記憶
および処理手段全提供するCPU122のマイクロコー
ド制御エンジンとして上述してきた。別の例にオイて、
MEMIQ5の機能は、データとプログラムとを含む情
報を記憶し、システム102のエレメント間で情報を転
送することである。したがって、MEM106はMS6
04に類似のマイクロコード制御エンジン、MU813
0の形態の記憶手段、および情報処理手段、即ち例えば
MCU132の/ξミリティチェック理のようにデータ
経路、レジスタおよび処理機能の形uでMUS130と
システム102のエレメントの間で情報を転送する手段
とを含む。
以下、まずCPU −SLI 606の全体構造とオペ
レーションを説明し、次いでSLババス20、該バスを
通して通信される情報と命令およびこれらエレメントに
より実行される支援オペレーション全説明する。SL 
ハス120と支援オペレーションの説明の方はCPU 
−SLI 606のエレメントの1能とオはレーション
と全詳細に説明する。5CU108は本実施例において
はマサーチュセッッ州ローウェル(Lowell、mA
)のワングラボラトリース会社(WangLabos=
atories、Inc、)製のプロフェッショナルコ
ンピュータである、市販されているマイクロプロセッサ
をベースとしたコンピュータであり、その構造および演
算ならびに本目的への適用九ついては以下の説明を読め
ば当該技術分野の専門家には十分理解されるので、5c
U1o8の構造とオにレーションについては詳細に説明
しない。
第6B図2参照すれば、CPU −SLI 606 (
7)ブロック線図が示されている。以下CPU−3LI
 606の構造¥!:まず説明し、次いでCPU −S
LI 606の可能な演算についてのあるもの、および
CPU −SLIを通るデータ経路の可能な用途のある
ものについて説明する。前述のように、前記エレメント
の特殊な機能やオペレーションについてはSLババス2
0と支援命令演算の以下の説明において詳しく説明する
第6B図に示j!5K、CPU −SLI 606は1
6ヒツトノCPU支援リンクの内部(CSX)バス66
6t−含み、該バスは支援/!!ケットデータレジスタ
(SPDH)668 t−介シテSLパ、’、 120
 K双方向的に接続され、制御およびデータ情報がSL
Iバス120とC8Iバス666との間で通信できるよ
う処する。
以下に説明するように、5PDR668は16ビツトの
レジスタであって、該レジスタはC3Iバス666への
並列の16ビツトの入力/出力側と、SLババス20の
データバス部分への1個のビット幅の直列の入力/出力
接続とを有する。即ち、情報は5PDR668と5CU
IQ3の間で連続した形で導かれ、かつ5PDR668
とC8Iバス666との間では16ビツトの並列の形態
で導かれる。
C8Iハス666の方は前述のように、32ピントの双
方向性マイクロステート レジスタ/トランシー−’ 
(MSRX)670 を介しテCP 602 (7) 
AP 、z、t、 612に双方向的に接続されている
。第6B図に示fよ5K、MSRX 670は、APバ
バス12への32ビア)の並列のインタフェースと、C
8工666への16ビツトインタフエースを有し、その
ため情報は、MSRX 670032ビツトの高位およ
び低位の16ピントの「ワード」の形態でC3I 66
6とMSRX670との間で転送される。
C8I 666はさらにMS6Q4のある点と相互に接
続されている。第6A図および第6B図とに示すように
、 C8I 666はマイクロ命令アドレスバツフア(
MIAB)672を介してMIAバス642から接続さ
れている。また前述のように、C8Iバス666は双方
向性リンクによってさらにMC8640のデータ人力/
出力側に接続され、かつMIAC664と5RR656
のアドレス入力側に接続されている。
CPU −SLI 606はさらに、入力側がC8I、
ζス666に、出力側がC3Iバス666に接続された
、16ビツトの汎用支援命令レジスタ(SCR)674
 Th含む。
5CR674は、C8Iバス666に現われる命令、ア
ト。
レスまたはデータを記憶しC8Iバス666へ供給する
ために使用できる。この場合以下説明するように、5C
R674は支援オペレーションの実行において、CPt
f−3LI666オjヒMs604ノ動作t−制御する
情報を記憶するために使用される。この点に関し、第6
A図および第6B図に示すように、5CR674はCT
DG658へ制御信号出力を供給する。
最後に、CPU −SLI 606は支援リンク制御装
置(SLC)676として指示するマイクロ制御「エン
ジン」を含み、該5LC676は以下説明するようにS
Lババス20の個々の支援リンク制御ラインに接続され
、かつCPU −SLI 606とMS604へ支援リ
ンクインタフェース制御(SLIC)の制御出力全供給
する。SLC676は基本的に、以下説明する支援オペ
レーションを実行する上でCPU−3LI 606と肥
604とを制御するに必要なマイクロルーチンと関連の
論理とを含む。CPU −SLI 606の演算と支援
オペレーションについての以下の説明を読めば5LC6
76の設計と構造については当該技術分野の専門家には
明らかであるので、SLC674については詳細には説
明しない。
CPU −SLI 606の構造について説明したので
、CPU −SLI 606の可能な演算のあるもの、
およびCPU −SLI 606 t−通る情報のある
可能な用途については次に説明する。
まず、5PDR668、C3Iバス666およびM弥■
670全通るSLババス20からAPババス12までの
リンクを検討すれば、この経路は例えばCP602の診
断オにレーションに用いることができる。即ち、この軌
道はSLババス20、したがって5CU108と、CP
602の内部データおよびマイクロステートとの間で汎
用アクセスを提供する。
C8Iバス666と、MC5640のデータ人力/出力
との間の双方向性経路は、マイクロルーチンが通ってM
C8640へ書込まれる経路である。また、この経路は
診断のためにマイクロルーチンがそれぞし5PDR66
8、!: MSRX670 トYr介り、テMC864
0カらSLババス20あるいはOP 602へ読取るこ
とができるようにする。MC8640のデータ人力/出
力側からMSRX670 t−通る経路はまた、MIG
RのMIR出力側とAPババス12との間の経路に代替
する経路を提供することによってマイクロ命令フィール
ド9t−CP602へ読取ることができる。
CSエバスかうSRR656のアドレス入力側、したが
ってMIAバス642への経路はC8Iハス666とM
C5640との間の前述した入力/出力経路と協働して
使用しMC5640ヘアドレス入力を提供しMC864
0マイクロルーチンを書込み、かつMC8640からマ
イクロルーチンを読取ることができる。マイクロ命令ア
ドレスは、5PDR668t”通してSLババス20カ
ラ、6 ルイハMSRX670 ’t−通L−(CP6
02 カらこの経路を通して提供しうる。この点に関し
て、MIAB67  を通してMIAバス642からC
3工666までのアドレス経路は、MC:5640のデ
ータ人力/出力側からGSIバス666までの経路と共
にマイクロルーチン全モニタするために使用しうる。即
ち、M工Aバス642に現われるマイクロ命令アドレス
と、MC8640から読取られる対応したマイクロ命令
とはSLババス20あるいはCP602に読取ることが
できるO 最後に前述のように、MIAC664にはC3I 66
6から接続されたアドレス入力側が設けられている。
選定されたマイクロ命令アドレスは例えば5CR674
に記憶され、C8Iバス666とこのリンクを介してM
IAC664に供給しうる。このアドレス経路は例えば
、XMIA662の出力側でMIAバス642に現われ
るマイクロ命令アドレスと比較しうる。MIAC664
は次いで、現在のマイクロ命令アドレスが記憶されたマ
イクロ命令アドレスと比較され例えば選定可能なマイク
ロ命令アドレスにおいてトリップ点を提供するとCTD
G658に出力を発生させる。
この機能は、マイクロ命令ルーチンを通して順次ステッ
ピングしたり、あるいは選定したマイクロ命令において
MS604の動作を停止させるために使用しうる。
CPU −SLI 606の基本構造とオペレー7ヨン
について説明したので、支援オ(レーションを実行j 
ルCPU −SLI 606、SLババス2oオヨヒM
S6o4の機能と第4レーシヨンとについて次に説明す
る。
第60図全参照すれば、SLパス120と、該バスを通
して通信される情報および命令とt示す線図が示されて
いる。第6C図の上部に示すように、SLババス20は
単一のビットの一連の目標/命令/データ(TCD)バ
ス678から構成され、該バスは5C0108とシステ
ム102の情報処理エレメントならびに複数の個々の制
御ラインの間で支援第4し一ジョン命令と情報とを通信
するために使用される。
個々の制御ラインは、支援オペレージiンの実行を導く
命令t SOU 108から処理エレメントへ伝IL、
前記オイレーションのあるもの全実行することから発生
する情報を処理エレメントから5CU108へ伝送する
こと金含み、5OU108とシステム102の情報処理
エレメントとの演算全調整する信号を通信するために使
用される。個々の制御ラインは例えば割込要求(IR)
ライ/680、支援制御ユニットリセント(SOUR)
ライン682)支援命令確認(SCA)ライン684、
支援リンククロック(SLC)ライン686、支援デー
タ伝送(TSD)ライン688および支援命令(XSL
)実行ライン690とを含む。
前述のように、TCDバス678は5CU108とシス
テム1Ω2の情報処理エレメントとの間で支援制御デー
タおよび命令を通信するために使用される、この情報は
32ビツトの目標/命令/データ(T■〕ワード9の形
で通信される。前述のように、TCDバス678は1ビ
ツト幅の一連のバスで、5RDR668は16ヒシトの
レジスタである。そのためTCDワード3は、それぞれ
16ビツトの2個の一連の伝送として5CU108と5
PDR668との間で通信される。以下に説明するよう
に、TCDワード9は2個の16ビツトのセクションに
編成され、各セクションが関連情報を含む。
第6C図の中間部分を参照すれば、TCDワードのフォ
ーマットが線図で示されている。指示のように、TCD
ワード0の最初の16ビツトのセクションは演算を実施
する予定のシステムプロセッサのエレメントと、実施す
べき演算とを確認するフィールド9を含む。例えば、T
CSワード°の最初の10ビツトは1個以上の目標識別
(TI)フィールドヲ含むことができ、各TIフィール
ド°は特定のTCDワードの予定受取先を識別する情報
を含む。例えば、ビット8−10は3ビツトのフィール
ド9の中央処理ユニット、即ちPU104の識別フィー
ルド9を構成する。このフィールド9はシステム102
が8個のPUS104まで構成できるようにし、5CU
xo8がシステム102の多数のCPU構成におけるC
PU5のいずれかを個々に選定し、かつ該CPUと通信
できるようにする。
本実施例においては、実施すべき演算を識別する最初の
16ビツトのセクションのフィールド9は5ビツトの支
援命令(SC)フィールド9から構成される。前述のよ
うに、SCフィールドはTIフィールド3により識別さ
れるシステム102の受取りエレメントにより実施され
る特定の支援オイレーションを識別する支援命令コート
0全含む。本実施例においては、CPU122に関連す
る支援命令コード(SCS)は以下を含む; 3000−5PDR668例えばSOU 108へMc
s 64(1)書込み可能部分から16ビツトのマイク
ロコードを読取る;特定の16ビツトは5CI00によ
り識別される 5GO1−MSRX670 カI/) 5PDR668
O低位16 ヒy )へ16ビツトを読取る; SC02−M5Rx670カラ5PDR618ノ高位1
6ヒツトを読取る; 5GO3−MC5640力)らC8Iノζス666へ、
書込み可能制御記憶装置の84ビツト(1マイクロ命令
)t−読取る;読取りアドレスは5RR656の中味に
より規定される; 5co4−seR674の中味t−8’PDR668へ
読取る;SCO5−現在のマイクロ命令アドレス@ M
SRX670へ読取る; 5CO6−SRR656の中味により規定されるマイク
ロ命令メモリの位置? 5PDR668へ読取る;SO
07−子備 SO08−5PDR668からのマイクロ命令の16ビ
ツ) @ MC8640の書込み可能部分へ書込む;位
置は現在のマイクロ命令アドレスと5CR674の中味
により規定される部分とによって規定される; 5009−5PDR668からMSRX670へ低位1
6ビツトをロート9する; SC,OA −5PDR668カラMSRX670 ’
li位16ビツ)をロードする; SC・OB −C3I 6662)−らMC36401
7)書込み可能部分へ84ビツト(1マイクロ命令)を
ロー)−*する;アドレスは5RR65so中味により
規定される; 5coC−5PDR668から5RR656t−ロート
9する;SD□D −5PDR668カらMIAC66
4t o −yする;sa□E−5PDR668から5
GR674全ロードする;5GOF −5PDR668
からマイクロ命令メモリをローrする;アドレスは5R
R656の中味により規定される: 5clo −cp602f:リセットする;SCI 1
− MC8640の書込み可能部分を入力としてMC8
640へ選定する; 5C12−支援命令機能トラップオペレーションf実行
する; 5a13−一時に1ステツプ(−マイクロ命令ステップ
)マイクロ命令全実行する; 5c14−一時に1ステツプ(1マイクロ命令ステツプ
)マイクロ命令全実行する: 5G15−子備 5C16−子備および 5c17−子備 注) : 5C18,5C19,5CIA%5CIB、
5GxC,5CID。
SC;IEおよび5GIFは本実施例のシステムにおい
ては、予備であるか、MGU132に使用されるかSB
I IIQの支援命令演算あるいは浮動小数点ユニット
(FPU)支援命令演算用に用いられる。
最終的に、TCDワードの第2の16ビツトのセクショ
ンは、例えば前述のようにデータあるいはマイクロ命令
を通信、あるいは16ビツトの支援命令レジスタ(SC
R)ロードを通信するために使用しうる情報フィールド
9を構成する。支援命令ならび圧その結果の演算圧つい
ての前記説明に示すように、SCRワード9は5CR6
74に位置し、現在の支援オペレーションあるいは実行
すべき演算に関する情報を含む。
本実施例におけるSCRワードフィールドを含む: IRTR−情報転送源あるいは行き先となるべきCPU
122の内部レジスタ全識別するポインタを含む3ビツ
トフイールド務 例えばレジスタの中味はsc0108に読取りあるいは
SCU108により書込まれる。
EMIC − MIAG664の演算を可能とする1ビ
ツトのフィール)#0 ECSP − MCS640の中味に関してパリティ演
算全可能にする1ビツトのフィールド9。
GMDM−処理エレメント即ちCPU122が命令モー
ド、即ちSCUIQ8に制御されていることを示す1ビ
ツトのフィールド務こ のビットは前述のように、SLO676にある支援オペ
レーションへMS6 4 oのマイクロルーチンからC
PU122の制御全転送するディスパッチ除外入力とし
て CTDG658 K供給すtt ル; cMIM bZ
 セyトされると、CTDG658へのCMDMビット
入力はMS604がディス/ぞツチ例外ルー/へ入るよ
うにし、そこでCPU − SLI606により供給さ
れるマイクロ命令アドレスにより識別されるマイクq命
令あるいはマイクロルーチン全待機し、かつ実施する。
EIMIS−一回のマイクロ命令ステップの演算を可能
にする1ビツトのフィールド、およびlNTR−5CU
108への割込み要求がベンディングであることを示す
1ビツトのフィールド9゜TCDおよびSCRワードの
構造および情報について説明したのでSLババス20の
個々の制御信号の機能および演算について次に説明する
前述のように SL ハス120と支援オにレーション
の個々の制御ラインと信号とは以下を含む=INTR−
割込み要求−3Lバス120に取付けられた処理エレメ
ントにより発生し、該エレメントがサービス即ち5CU
108による支援演算を要求していること全示す割込み
要求; 5CUR−支援制御ユニットリセット−8O0108に
より発生し、SLババス20から接続された全てのユニ
ットによりモニタされる;5CU108により表明され
ると全てのプロセッサエレメントをリセット状態に保持
する; 5LCA −支援+7ンク命令確認−TCDワードの受
取り先により発生し、エレメントがX5LG命令全受取
ったことを確認する; 5LGK−支援リンククロック−5GU108により発
生し、SLババス20から接続された全てのエレメント
により使用されエレメントとSC:U2O5との間の通
信および演算を調整する;例えば、TCDワード9のビ
ット’tSPDR668へ、あるいはそこからクロック
するために使用される; TSLD−伝送支援リンクデーター5CU108により
発生しSLババス20から接続された全ての装置が情報
、例えばTCDワーrl’rccバス120がら受取る
ことができるようにする;表明されたTSLDは5CU
108が情報を全てのエレメントに伝送していることを
示す;および X5LG−実行支援リンク命令−5CUIQ8により表
明され、 SLババス20から接続された全てのエレメ
ントによりモニタされる; 5CU108により表明され、TCSワード・のターゲ
ットの受取り先がその5CR674において命令を実行
することを示す。
CPU −SLI 606とSLババス20の構造と演
算を説明したので、支援オペレーションのあるものにつ
いて次に説明する。
システムの初期状態設定についてまず検討する。
まずシステムには何らマイクロコート9あるいはプログ
ラムは介在していない。したがって、システムの最初の
仕事はシステムマイクロコート”tl−MS604にロ
ードし、例えばCPU122)AGU124およびAT
U10126のようなシステムの各種のエレメントの初
期状態を設定し、システムテス)1−行い、最初のプロ
グラムをロードシ開始することである。
これらの演算はSLパス120を介して演算している5
C0108により制御され、かつ3ステツプで実施され
る;即ち5CU108がシステムを制御し初期状態設定
支援オシレーションを実行する命令モート9を開始する
こと、システムのズーテイング、即ちマイクロコードヲ
ロードすることおよびプログラム実行を可能とすること
である。
最初のステップ、即ち命令モードの開始においては、5
CU108はある種の自己テストおよび初期設定開始操
作を実行し、PU104が論理回路へのパワーにより初
期状態に設定される。次いで、5OU108は支援オペ
レーションを行い、非マスク可能割込み(NMI)ディ
スパッチ例外ハンドう=2 MC8640の書込み可能
部分ヘロードシ、そのため5OU108が命令モート9
のNMIディスパッチ例外、CMDMを表明すると、M
S604がNMIハンドラマイクロルーチンへ分岐する
次いで、5CU108はCMDM、即ち5CR674で
SCRワードでの命令モードディスパッチ例外ビットヲ
セットし、論理へのパワーにより先にセットされていた
5OURlクリヤする。これらの演算の方はCPU12
2のディスパッチI:I:)ツク、即ち、 AGU12
4とCTDG658とを動作させ始め、該論理はプログ
ラムの最初のマイクロ命令を実行させ始めようとする。
しかしながら、CMDMが表明されずみであると、シス
テムはMS604’i命令モート“のディスパッチ例外
サービスループに残留させるようにして命令モート9に
留っている。CPU122が命令モードのディスパッチ
例外サービスループにある間、SCU z08は全ての
診断ルーチンを行うことができ、これらのルーチンの終
りにおいて、AGU124およびATU/C126を含
むcpu122を直接の物理的アビレシング状態に置き
CPU12zとMM106との間の直接経路を開放する
第2のステップにおいて、システムはブートする、即ち
マイクロコードがロート9される。この演算を行うには
、5OU108はマイクロ命令ロードルーチン> MC
8640の書込み可能部分に装填し、「フートコート月
ルーチンをシステムバスffOチ5B114を介してM
M106に書込み、5C0108が次いでマイクロ命令
ロードルーチンの実行を開始させ、該ルーチンの方ハ、
/−)ロート3ルーチン2 MC8640にロードし、
プートロードルーチンが実行を開始する。
この時点において、システムは演算マイクロコードの制
御を受けるが、MM106にプログラム、即ちマイクロ
命令がロート9されるまで命令モーrディスパッチ例外
サービスループに留っている。さらに、5CU108は
AGU124とATU/G 126とを開始させてマイ
クロ命令を実行できるようにする。一旦、これが達成さ
れ、MMI06にマイクロ命令がロードされると、5c
ty1osはCMDM iリセットあるいはクリヤする
。5CR674においてCMDM 2クリヤすることに
より既知の開始アドレスに位置する第1のマイクロ命令
へのディス・ξツチを可能とし、通常の動作モードでシ
ステムを始動させる。
SCU 108 全通してのシステム102の初期状態
設定および支援オペレーションについて説明したので、
基本的な支援演算命令のあるものについて次に説明する
まス、支援オイレーションカ、MC8640へ、かつそ
こからのマイクロ命令のロート9および読取り機能を提
供する。この演算は例えば診断オにレーションにおいて
、あるいは前述のようにcpty122の始動において
実施でき、MC8640が、CMDMによって表明され
る命令モート9へ強制することを要求する。
MC3640の書込みを実行する演算の基本的順序は以
下7jhら構成される: 5RR656に書込むべきMC3640のアドレス?ロ
ート9すること。これは、TCDワードの16ビツトの
情報フィールド9でアドレスを書込み、かつロー)”5
RR656の命令コードヲ発行することによって達成さ
れ、および MC3640に書込むべきデータを、16ビツトのセク
ションでデータを含む一連のTGDワード9と口p w
csx命令コードと全通して5ctyiosからMGS
640へ動かすことである。
MGS640の読取り金行う演算の基本的シーケンスは
以下から構成される; て5RR656にdニー啓ること、およびこれも16ビ
ツトセクシヨンで読取りwcsx命令コードとデータと
を含むTCSワード9のシーケンスを通してMC864
0から5CUIQ8ヘデータを読取ること。
次に、支援オはレーションは、マイクロ命令全1回のス
テップで実行できる能力を含むものとして前述した。こ
の操作は「パネルモード」即ち5CU108:2)”ら
の直接的なステップバイステップ制御により行われるか
、あるいは[プログラムモード」、即ち一時に1個のマ
イクロ命令のマイクロルーチンヲ菓行することにより実
行しうる。
前述のように、CPU122もCMDM lセツティン
グすることにより命令モードへ強制される必要があり″
、かつMC5640は少なくともNMI−>トンビラを
含む必要がある。その場合、パネルモーrのマイクロ命
令の1回のステップによる実行は以下の演算シーケンス
により達成しうる; MC8640の書込み可能人力/出力レジスタを実行す
べきマイクロ命令でロート9し、およびマイクロ命令を
含むレジスタ@ MC3640への入力源として選定す
ることである。
MIGR644への入力源としてMC3640レジスタ
を選定する命令が実行されるや、MIGR644は1個
のマイクロ命令でジャムされ、そのためマイクロ命令が
以前実行されていたか否かには無関係に実行される。し
たがって、マイクロ命令を1回のステップで実行するた
めには、1ステツプされたマイクロ命令の分岐フィール
ドはコード化されてNMIハンドラへ戻る必要がある。
最後のマイクロ命令をその分岐フィールド9を介してN
MIハンドラヘステップすることにより全体のマイクロ
ルーチンを前記のように実行することができる。次いで
、マイクロルーチンの1ステツプによる実施に伴って命
令モート9のNMIピッ) CMDMをセットし、かっ
腹ISおよびEMICをセットさせNIAC644が全
てのマイクロ命令アト0レスに対して比較できるように
する。このためCPU122が実行される各マイクロ命
令に対して割込むようにする。割込みに対するトラップ
は、XMIA662に含まれたマイクロ命令アドレスで
あると指定された現在のマイクロ命令を実際に実行して
いる間に発生することを注目すべきである。
この演算の間、5CU108が割込まれ、かつ5PDR
668Th読取って、割込みの原因は一回ステップの演
算の結果によることを検出する。どの演算が可能とされ
ている限り、CPU122は次のマイクロ命令に対する
割込みを発生させる。即ち、CPU122はMIAC6
64のトラップルーチンを・lステップで実行しており
、トラップルーチンはcpu122が命令モードにある
ことをモニタする。5CU108カ命令モードを表明し
続ける限り、トラップルーチンはそれ自体でルーピング
を継続する。一旦5CU108が命令モー)#ラフリヤ
すると、トラップルーチンはトラップの戻りを実行し、
該トラップ戻りはトラップマイクロ命令アドレスをスタ
ックカラ「ポツプ(poplさせ、実行すべきマイクロ
命令を指示する。
別の例において、支援オペレーションは1個のマイクロ
命令を実行する機能を含むと前述した。
このオはレーションはCPU122を命令モードに強制
し、1ステツプのマイクロ命令の命令コードヲ発すると
とにより達成される。CMDMはNMIディスパッチ例
外を起し、ディス/ぞツチ除外によりCPU122)即
ちMS 604の動作を次のマイクロ命令の境界で中断
させる。次いで、SGUIQgは1回のマイクロ命令の
命令コー)−e全発行し、この命令コードによりマイク
ロ命令の1サイクル時間に対し命令モー1jNMIピッ
) GMDM ’i有効に除外し、次のマイクロ命令の
実行を可能とし、次いでCMDMを再びセットして次の
追従するマイクロ命令の実行を停止させる。
最後の例においては、支援オペレーションはMIAG6
64 を介してマイクロ命令のブレークポイント・オペ
レーションを提供する。再び、CPU 122I−″ 通し−cr:j、:Ysれる。次イテ、SCU 108
はCMDM t−クリヤーすることにより命令モードか
らCPU)22を解放することができ、MIAC664
に対して開始される。MIAC664の中味と比較する
マイクロ命令が発生すれば常に、MIAC664は、ダ
イナミックトラップによりMC640全MIA(:s4
0のトラップハンドラへ強制する。仁のトラップハント
9うは5CU108t−割込み、5cu10Bにブレー
クポイント状態を知らせる。
前述した発明は、その精神あるいは基本的特徴から逸脱
することなくさらに別の特別の形態で実施しうる。した
がって、本実施例は全ての点において例示的および非制
限的であることを考えるべきで、本発明の範囲は前述の
説明でなく、特許請求の範囲によって示されるべきであ
り、特許請求の範囲の意義と、均等物の範囲内に入る全
ての変更は特許請求の範囲に包含すべきである。
【図面の簡単な説明】
第1図は本発明を組込んだコンピュータシステムのブロ
ック線図、 第2図はある種の中央処理装置と主メモリ構造体と1k
Ii!図で示す図、 第3A図から第31図まではある種のシステム命令構造
を線図で示す図、 第4図はプログラム制御ワード?線図で示す図、第5A
図、第5B図および第5C図は仮想アドレスから物理的
アドレスへの変換を線図で示す図、第6図はCPU12
2のブロック線図、第6A図はMS604のブロック線
図、第6B図はCPU −SLI 666のブロック線
図、第6C図はSLババス20の線図、 第7図はAGU124のブロック線図、第7A図はIQ
 702とIL704との線図、第8図はATU/C1
26のブロック線図、および第8A図は命令およびデー
タの取出しを示す図である。 図において、 102・・・システム 104・・・処理ユニット10
6・・・主メモリ 108・・・システム制御ユニット
110・・・システムバスインタフェース112・・・
サテライト制御ユニット 114・・・システムバス1
16・・・システムアドレス 117・・・主メモリ制
御ハス118・・・システムデータバス 120・・・
支援リンクバス122・・・中央処理ユニット 124・・・アドレスゼネレータユニット126・・・
アドレス変換ユニット/キャッシュ128・・・浮動小
数点ユニット 130・・・メモリユニット132・・
・メモリ制御ユニット 07BIコー叱)■5う≧二U5+ 色ヱ炙−1−z^−弓tバー7ワーy 七ヒ瓢フー−ノvy          りン71IG
 4 Flθ 6A FI6.6B sLI?ス/20 IG 6C IG 7A FIGθ

Claims (1)

  1. 【特許請求の範囲】 1)情報を記憶するシステムメモリ手段と、情報につい
    て演算する処理手段とを含む情報処理システムにおいて
    、前記システムメモリ手段に記憶された情報のサブセッ
    トのコピーを記憶し、そこから前記処理手段へ情報を提
    供するキャッシュ手段であつて: システムメモリ手段からシステム処理手段 へ接続されサブセットに含まれた情報のコピーを記憶し
    、かつ提供するキャッシュメモリ手段と、および 前記処理手段からシステムメモリ手段へ情 報を書込む書込み、組合せ手段とを含み; 前記書込みに組合せ手段が、 前記処理手段と、キャッシュメモリ手段の 情報出力側から接続された第1と第2の入力側と、およ
    び システムメモリ手段とキャッシュメモリ手 段の情報入力側とに接続された出力側とを有し、かつ キャッシュメモリ手段に存在するサブセッ トのコピーに含まれた情報に関するメモリ書込みアドレ
    スに応答し、 キャッシュメモリ手段から対応する情報を 読取り、システムメモリ手段に書込むべき情報とキャッ
    シュメモリ手段から読取られた対応する情報とを 組合せ、 組合された情報をキャッシュメモリ手段へ 書込み、かつ、組合された情報をシステムメモリ手段へ
    提供することを特徴とする前記キャッシュ手段。 2)特許請求の範囲第1項に記載のキャッシュ手段にお
    いて、 前記書込み、組合せ手段はサブセットに含 まれた情報を参照しないメモリ書込みアドレスに応答し
    て システムメモリ手段に直接書込むべき情報を提供する前
    記キャッシュ手段。 3)特許請求の範囲第1項に記載のキャッシュ手段にお
    いて、 サブセットに含まれた情報に関する読取りアドレスに応
    答して、 キャッシュメモリ手段からの、アドレスされた情報を読
    取り、かつ アドレスされた情報を処理手段に提供するキャッシュメ
    モリ読取りアドレスをさらに含む前記キャッシュ手段。 4)特許請求の範囲第3項に記載のキャッシュ手段にお
    いて、キャッシュメモリ読取り手段はさらに、 サブセットに含まれていない情報は参照しない読取りア
    ドレスに応答して、 システムメモリ手段から、アドレスされた情報を読取り
    、かつ システムメモリ手段から読取られた情報をキャッシュメ
    モリ手段に書込み、その中に含まれたサブセットの一部
    となるようにさせるキャッシュメモリ書込み手段をさら
    に含む前記キャッシュ手段。 5)特許請求の範囲第4項に記載のキャッシュ手段にお
    いて、前記キャッシュメモリ書込み手段がさらに、 キャッシュメモリ手段の情報入力側からキャッシュメモ
    リ手段の情報出力側まで接続され、読取り情報のキャッ
    シュメモリ手段への書込みと同時にシステムメモリ手段
    から読取つた情報を処理手段へ提供するキャッシュメモ
    リバイパス手段を含む前記キャッシュ手段。 6)特許請求の範囲第1項に記載のキャッシュ手段にお
    いて、 システムメモリ手段およびキャッシュメモリ手段に記憶
    された情報がNバイトの一定サイズを有するメモリ情報
    ユニットに含まれ、 処理手段によつて演算される情報がnバイトの一定サイ
    ズを有する処理情報ユニットに含まれ、 nがにより小さいか、あるいは等しく、かつ処理情報ユ
    ニットがNバイトの情報より小さい情報を含みうる前記
    キャッシュ手段。 7)特許請求の範囲第6項に記載のキャッシュ手段にお
    いて、 書込み一組合せ手段が、 キャッシュメモリ手段に位置するサブセットのコピーの
    一部であるメモリ情報ユニットに含まれた情報に関する
    メモリ書込みアドレスに応答して、 キャッシュメモリ手段から対応するメモリ情報ユニット
    を読取り、 処理情報ユニットからの情報バイトと、情報バイトに対
    応しないキャッシュメモリ手段から読取られたメモリ情
    報ユニットのバイトとを組合せ新しいメモリ情報ユニッ
    トを提供し、かつ前記の新しいメモリ情報ユニットをキ
    ャッシュメモリ手段へ書込んでオリジナルのメモリ情報
    ユニットに代替させ、および 新しいメモリ情報ユニットをシステムメモリ手段に提供
    しその中に位置する、対応したオリジナルメモリ情報の
    代りに書込むようにする前記キャッシュ手段。 8)特許請求の範囲第7項に記載のキャッシュ手段にお
    いて; 前記書込み−組合せ手段が、キャッシュメモリ手段に存
    在するサブセットのコピーの一部であるメモリ情報ユニ
    ットに含まれた情報を参照しないメモリ書込みアドレス
    に応答して、 システムメモリ手段に書込むべき情報を含む処理情報ユ
    ニットをシステムメモリ手段に提供する前記キャッシュ
    手段。 9)特許請求の範囲第7項に記載のキャッシュ手段にお
    いて、さらに、 キャッシュメモリ手段に位置するサブセットのコピーの
    一部であるメモリ情報ユニットに含まれる情報に関する
    読取りアドレスに応答するキャッシュメモリ読取り手段
    であつて、 キャッシュメモリ手段からの、アドレスされた情報を含
    むメモリ情報ユニットを読取るキャッシュメモリ読取り
    手段と、 読取りアドレスに応答して、 キャッシュメモリ手段から読取つたメモリ情報から、ア
    ドレスされた情報を抽出し、 アドレスされた情報を処理情報ユニットにフォーマット
    化し、かつ アドレスされた情報を含む処理情報ユニットを処理手段
    に提供するキャッシュ出力手段とを含む前記キャッシュ
    手段。 10)特許請求の範囲第7項に記載のキャッシュ手段に
    おいて、さらに キャッシュメモリ手段に存在するサブセットのコピーの
    一部であるメモリ情報ユニットに含まれている情報を参
    照しない読取りアドレスに応答し、 システムメモリ手段からの、アドレスされた情報を含む
    メモリ情報を読取りかつ システムメモリ手段から読取られたメモリ情報ユニット
    をキャッシュメモリ手段に書込みその中に含まれたサブ
    セットの一部とさせるキャッシュメモリ書込み手段をさ
    らに含む前記キャッシュ手段。 11)特許請求の範囲第10項に記載のキャッシュ手段
    において、キャッシュメモリ書込み手段がさらに; キャッシュメモリ手段の情報入力側からキャッシュメモ
    リ手段の情報出力側へ接続され、メモリ情報ユニットの
    キャッシュメモリ手段への書込みと同時に、アドレスさ
    れた情報を含むメモリ情報ユニットをキャッシュメモリ
    手段の情報出力側で提供するキャッシュメモリバイパス
    手段をさらに含む前記キャッシュ手段。 12)特許請求の範囲第11項に記載のキャッシュ手段
    において、さらに、 キャッシュメモリ手段の情報出力側から接続され、かつ キャッシュメモリ手段に位置するサブセットのコピーの
    一部となるべくキャッシュメモリ手段に現在書込まれつ
    つあるメモリ情報ユニットに含まれた情報に関する読取
    りアドレスに応答し、 キャッシュメモリバイパス手段から提供されたメモリ情
    報ユニットから、アドレスされた情報を抽出し、 アドレスされた情報を処理情報ユニットへフォーマット
    化し、かつアドレスされた情報を含む処理情報ユニット
    を処理手段に提供するキャッシュメモリ読取り手段を含
    む前記キャッシュ手段。 13)情報を記憶するシステムメモリ手段と、情報に対
    して演算する処理手段と、システムメモリ手段に記憶さ
    れた情報のサブセットのコピーを記憶し、そこから情報
    を処理手段へ提供するキャッシュ手段とを含み、キャッ
    シュ手段が前記システムメモリ手段から、処理手段へ接
    続され、サブセットに含まれた情報のコピーを提供する
    キャッシュメモリ手段と処理手段からシステムメモリ手
    段へ情報を書込む書込み−組合せ手段とを含み、前記書
    込み−組合せ手段は第1と第2の入力側が処理手段と、
    キャッシュメモリ手段の情報出力側から接続され、出力
    側がシステムメモリ手段と、キャッシュメモリ手段の情
    報入力側まで接続されている情報処理システムにおいて
    、処理手段からシステムメモリ手段へ情報を書込む方法
    であつて: キャッシュメモリ手段に位置するサブセットのコピーに
    含まれる情報に関するメモリ書込みアドレスに応答し; キャッシュメモリ手段から対応する情報を読取り; システムメモリ手段に書込むべき情報とキャッシュメモ
    リ手段から読取られる対応する情報とを組合せ; 組合された情報をキャッシュメモリ手段へ書込み;かつ 組合された情報をシステムメモリ手段へ提供する過程を
    含む前記情報を書込む方法。 14)特許請求の範囲第13項に記載の方法において、
    書込み−組合せ手段がサブセットに含まれた情報を参照
    しないメモリ書込みアドレスに応答し; 書込むべき情報をシステムメモリ手段に直接提供する過
    程を実行する、情報を書込む方法。 15)特許請求の範囲第13項に記載の方法において、
    キャッシュ手段がサブセットに含まれた情報に関する読
    取りアドレスに応答するキャッシュメモリ読取り手段を
    含み; キャッシュメモリ手段から、アドレスされた情報を読取
    り、かつ アドレスされた情報を処理手段へ提供する過程を実行す
    る、前記情報を書込む方法。 16)特許請求の範囲第15項に記載の方法において、
    キャッシュメモリ手段がサブセットに含まれていない情
    報に関する読取りアドレスに応答するキャッシュメモリ
    書込み手段をさらに含み;システムメモリ手段から、ア
    ドレスされた情報を読取り、かつシステムメモリ手段か
    ら読取られた情報をキャッシュメモリ手段へ書込みその
    中に含まれたサブセットの一部とさせる過程を実行する
    、前記情報を書込む方法。 17)特許請求の範囲第16項に記載の方法において、
    キャッシュメモリ書込み手段が、キャッシュメモリ手段
    の情報入力側からキャッシュメモリ手段の情報出力側ま
    で接続されたキャッシュメモリバイパス手段をさらに含
    み; システムメモリ手段から読取られた情報を、その情報の
    キャッシュメモリ手段への書込みと同時に処理手段へ提
    供する過程を実行する、前記情報を書込む方法。 18)特許請求の範囲第13項に記載の方法において、 システムメモリ手段とキャッシュメモリ手段とに記憶さ
    れた情報がNバイトの一定サイズを有するメモリ情報ユ
    ニットに含まれ、 処理手段によつて演算される情報がnバイトの一定サイ
    ズを有する処理情報ユニットに含まれ、 nがNより小さいか、あるいは等しく、かつ処理情報ユ
    ニットがnバイト以下の情報を含みうる、情報を書込む
    方法。 19)特許請求の範囲第18項に記載の方法において、
    書込み−組合せ手段が、キャッシュメモリ手段に位置す
    るサブセットのコピーの一部であるメモリ情報ユニット
    に含まれた情報に関するメモリ書込みアドレスに応答し
    て; キャッシュメモリ手段から対応するメモリ情報ユニット
    を読取り; 処理情報ユニットからの情報バイトと、情報バイトに対
    応しないキャッシュメモリ手段から読取られたメモリ情
    報ユニットのバイトと組合せて新しいメモリ情報ユニッ
    トを提供し;かつ新しいメモリ情報ユニットをキャッシ
    ュメモリ手段へ書込みオリジナルのメモリ情報ユニット
    と代替させ;かつ 新しいメモリ情報ユニットをシステムメモリ手段へ提供
    しその中に位置する、対応するオリジナルメモリ情報ユ
    ニットの代りに書込むようにする過程とを実行する、前
    記情報を書込む方法。 20)特許請求の範囲第19項に記載のキャッシュ手段
    において、書込み−組合せ手段が、キャッシュメモリ手
    段に存在するサブセットのコピイの一部であるメモリ情
    報ユニットに含まれた情報を参照しないメモリ書込みア
    ドレスに応答して; システムメモリ手段に書込むべき情報を含む処理情報ユ
    ニットをシステムメモリ手段へ提供する過程を実行する
    、前記キャッシュ手段。 21)特許請求の範囲第19項に記載の方法において、
    キャッシュ手段がさらに、キャッシュメモリ手段に位置
    するサブセットのコピイの一部であるメモリ情報ユニッ
    トに含まれた情報に関する読取りアドレスに応答するキ
    ャッシュメモリを含み; キャッシュメモリ手段から、アドレスされた情報を含む
    メモリ情報ユニットを読取る過程を実行し、かつ 読取りアドレスに応答して、 キャッシュメモリ手段から読取られたメモリ情報ユニッ
    トから、アドレスされた情報を抽出し、 アドレスされた情報を処理情報ユニットへフォーマット
    化し、かつ アドレスされた情報を含む処理情報ユニットを処理手段
    へ提供するキャッシュ出力手段をさらに含む、前記情報
    を書込む方法。 22)特許請求の範囲第19項に記載の方法において、
    キャッシュ手段が、キャッシュメモリ手段に位置するサ
    ブセットのコピイの一部であるメモリ情報ユニットに含
    まれていない情報に関する読取りアドレスに応答するキ
    ャッシュメモリ書込み手段をさらに含み; システムメモリ手段から、アドレスされた情報を含むメ
    モリ情報ユニットを読取り、かつシステムメモリ手段か
    ら読取られたメモリ情報ユニットをキャッシュメモリ手
    段へ書込みその中に含まれたサブセットの一部とさせる
    過程を実行する、前記情報を書込む方法。 23)特許請求の範囲第22項に記載の方法において、
    キャッシュメモリ書込み手段が、キャッシュメモリ手段
    の情報入力側からキャッシュメモリ手段の情報出力側ま
    で接続されたキャッシュメモリバイパス手段をさらに含
    み; キャッシュメモリ手段へのメモリ情報ユニットの書込み
    と同時にアドレスされた情報を含むメモリ情報ユニット
    をキャッシュメモリ手段の情報出力側で提供する過程を
    実行する、前記情報を書込む方法。 24)特許請求の範囲第23項に記載の方法において、
    キャッシュ手段が、キャッシュメモリ手段の情報出力側
    から接続され、キャッシュメモリ手段へ現在書込まれつ
    つあるメモリ情報ユニットに含まれた情報に関する読取
    りアドレスに応答してキャッシュメモリ手段に位置する
    サブセットのコピーの一部とさせ; キャッシュメモリバイパス手段から提供されたメモリ情
    報ユニットから、アドレスされた情報を抽出し、 アドレスされた情報を処理情報ユニットにフォーマット
    化し、かつアドレスされた情報を含む処理情報ユニット
    を 処理手段へ提供する過程を実行する、前記情報を書込む
    方法。 25)命令およびオペランドを記憶するメモリ手段と、
    命令に応答してオペランドに対して演算を行う処理手段
    と、を含む情報処理システムにおいて、前記処理手段に
    対して命令やオペランドを供給する取出手段であつて、 各処理演算の開始時における第1のエッジと、各処理演
    算実行の中の第2のエッジとを有する処理クロック信号
    を供給するため処理手段の演算に応答する手段と、 前記処理手段の演算に応答して、 前記処理クロック信号の第1のエッジにおいてメモリ手
    段へ次のオペランドのアドレスと、もしアドレス手段が
    次のオペランドのアドレスを供給ずみであれば前記処理
    クロック信号の第1のエッジの後一定間隔をおいて、あ
    るいはもしアドレス手段が次のオペランドのアドレスを
    提供していなかつたとすれば処理クロック信号の第1の
    エッジにおいて メモリ手段へ次の命令アドレスを提供する手段と、 前記処理クロック信号に応答して、 該クロック信号の次に発生する第1のエッジにおいてメ
    モリ手段から次のオペランドと、かつ 前記処理クロック信号の次に発生する第2のエッジにお
    いてメモリ手段から次の命令を受取る手段とを 含む前記取出し手段。 26)特許請求の範囲第25項に記載の取出し手段にお
    いて; 前記処理手段が、 論理的な次の命令アドレスを供給するよう現在の命令に
    応答する手段を含む、オペランドに演算を実行する中央
    処理手段と、 論理的な次のオペランドのアドレスを発生させる手段を
    含み、命令に対して演算を実行する命令処理手段とを含
    み、かつ 前記アドレス手段がさらに、 論理的な次の命令アドレスと論理的な次のオペランド・
    アドレスとに応答し、対応する次の命令アドレスと、次
    のオペランドのアドレスとを供給するアドレス変換手段
    と、 中央処理手段の演算に応答して次の命令アドレスを記憶
    しかつ提供する次の命令のレジスタ手段と、および 命令処理手段の演算に応答して次のオペランドアドレス
    を記憶しかつ提供する次のオペランドのレジスタ手段と
    を 含む前記取出し手段。 27)特許請求の範囲第26項に記載の取出し手段にお
    いて、 論理的な次の命令アドレスあるいは論理的な次のオペラ
    ンドアドレスが、 プロセスの論理的なアドレススペースの領域を示す情報
    用のページ番号フィールドと、 前記ページ番号フィールドにより識別される論理アドレ
    ス領域内の情報バイトの位置を示す情報用のバイトイン
    デックスフィールドとから構成され、かつ 次の命令アドレスあるいは次のオペランドのアドレスが メモリ手段のアドレススペースの領域を識別する情報用
    のフレーム番号フィールドと、および フレーム番号フィールドにより識別されるメモリ手段の
    アドレススペース領域内で情報バイトの位置を識別する
    情報用のバイトインデックスフィールドとから構成され
    、 次の命令あるいは次のオペランドのアドレスの第1の表
    示のページ番号フィールドとバイトインデックスフィー
    ルドとが、対応する次の命令あるいは次のオペランドの
    アドレスのフレーム番号フィールドおよびバイトインデ
    ックスフィールドとにそれぞれ対応する、前記取出し手
    段。 28)特許請求の範囲第27項に記載の取出し手段にお
    いて、 次の命令レジスタ手段と次のオペランドレジスタ手段と
    がそれぞれフレーム番号領域ならびにバイトインデック
    ス領域とに構成され、 次の命令および次のオペランドレジスタ手段の各々のフ
    レーム番号領域ならびに次のオペランドレジスタ領域と
    が個々の書込み可能入力側を有し、かつ アドレス変換手段が、 論理的な次の命令と次のオペランドのアドレスとに応答
    して対応する次の命令と次のオペランドとのアドレスを
    記憶しかつ提供するアドレス変換記憶手段を含み、 アドレス変換記憶手段のアドレス出力側が、書込みフレ
    ーム番号にそれぞれ接続されたフレーム番号フィールド
    出力側およびバイトインデックスフィールド出力側なら
    びに次の命令および次のオペランドのレジスタ手段とに
    構成され、かつ 処理手段の論理的アドレス出力側のバイトインデックス
    フィールド出力側から次の命令および次のオペランド・
    レジスタ手段の書込みバイトインデックス入力側へ接続
    され、バイトインデックスフィールドを次の命令および
    次のオペランドのレジスタ手段とへ直接書込むバイトイ
    ンデックスバイパス手段をさらに含む。前記取出し手段
    。 29)特許請求の範囲第25項に記載の取出し手段にお
    いて、 処理手段がある命令に応答してオペランドの書込み操作
    を行い、 アドレス手段が処理手段のオペランド書込み操作に応答
    して処理クロック信号の第1のエッジにおいてオペラン
    ド書込みアドレスを供給し、処理手段が書込み操作に応
    答して、処理クロック信号の第1のエッジの後一定間隔
    でメモリ手段に書込むべきオペランドを供給し、かつメ
    モリ手段がオペランドの書込みアドレスに応答して処理
    クロック信号の次に発生する最初のエッジにおいてオペ
    ランドを受取る、前記取出し手段。 30)特許請求の範囲第25項に記載の取出し手段にお
    いて、前記処理手段が、 オペランドに対して演算を実行する中央処理手段と、 処理クロック信号に応答してその信号の次に発生する第
    1のエッジにおいてメモリ手段からオペランドを受取る
    入力レジスタ手段を含む受取手段と、 命令に対して演算を実行する命令処理手段と、処理クロ
    ック信号に応答してその信号の次に発生する第2のエッ
    ジにおいてメモリ手段から命令を受取る命令ラッチ手段
    を受取る受取手段とを 含む前記取出し手段。 31)特許請求の範囲第30項に記載の取出し手段にお
    いて、前記命令処理手段がさらに、 命令ラッチ手段から接続され、処理クロック信号に応答
    して処理クロック信号の次に発生する第1のエッジにお
    いて命令ラッチ手段から命令を受取る命令待ち行列手段
    を含む前記、取出し手段。 32)特許請求の範囲第31項に記載の取出し手段にお
    いて、各命令が命令コードフィールドと、演算すべきオ
    ペランドを識別する少なくとも1個のオペランドリファ
    レンスフィールドとから構成され、前記命令処理手段が
    さらに; 前記命令待ち行列手段から接続され、現在の命令の命令
    コードフィールドに応答し、対応する演算を開始させる
    出力を前記中央処理手段へ提供するディスパッチ手段と
    、および オペランドのリファレンスフィールドに応答して対応す
    る論理的な次のオペランドアドレスを提供する手段とを
    含み、かつ 前記中央処理手段がさらに、現在の命令に応答して論理
    的な次の命令アドレスを提供する手段を含む、前記取出
    し手段。 33)特許請求の範囲第32項に記載の取出し手段にお
    いて、アドレス手段がさらに、 論理的な次の命令アドレスと論理的な次のオペランドの
    アドレスとに応答して対応する次の命令アドレスと次の
    オペランドのアドレスとを供給するアドレス変換手段と
    、 中央処理手段の演算に応答して次の命令アドレスを記憶
    しかつ提供する次の命令のレジスタ手段と、および 命令処理手段の演算に応答して次のオペランドのアドレ
    スを記憶しかつ供給する次のオペランドのレジスタ手段
    とを含む前記取出し手段。 34)特許請求の範囲第33項に記載の取出し手段にお
    いて、 論理的な次の命令アドレスあるいは論理的な次のオペラ
    ンドのアドレスが、 プロセスの論理的アドレススペースの領域を示す情報用
    のページ番号フィールドと、およびページ番号フィール
    ドによつて識別される論理的アドレス領域内の情報のバ
    イト位置を示す情報用のバイトインデックスフィールド
    とから構成され、かつ 次の命令アドレスあるいは次のオペランドのアドレスが
    、 メモリ手段のアドレススペースの領域を識別する情報用
    のフレーム番号フィールドと、およびフレーム番号フィ
    ールドにより識別されるメモリ手段のアドレススペース
    の領域内の情報のバイト位置を識別する情報用のバイト
    インデックスフィールドとから構成され、 次の命令あるいは次のアドレスの第1の表示のページ番
    号フィールドとバイトインデックスフィールドとがそれ
    ぞれ、対応する次の命令あるいは次のオペランドのアド
    レスのフレーム番号フィールドとバイトインデックスフ
    ィールドとに対応する前記取出し手段。 35)特許請求の範囲第34項に記載の取出し手段にお
    いて、 次の命令および次のオペランドのレジスタ手段がそれぞ
    れ、フレーム番号領域とバイトインデックス領域とに構
    成され、 次の命令と次のオペランドのレジスタ手段の各々のフレ
    ーム番号領域とバイトインデックス領域とが個別の書込
    み可能入力側を有し、かつアドレス変換手段が、 論理的な次の命令と次のオペランドのアドレスとに応答
    して対応する次の命令と次のオペランドのアドレスを記
    憶しかつ提供するアドレス変換記憶手段を含み、 アドレス変換記憶手段のアドレス出力側は、それぞれ次
    の命令および次のオペランドレジスタ手段の書込みフレ
    ーム番号および書込みバイトインデックス入力側に接続
    されたフレーム番フィールド出力側とバイトインデック
    スフィールドの出力側とに構成され、かつ 処理手段の論理的アドレス出力側のバイトインデックス
    フィールド出力側から次の命令および次のオペランドレ
    ジスタ手段の書込みバイトインデックスの入力側まで接
    続され、バイトインデックスフィールドを次の命令およ
    び次のオペランドレジスタ手段へ直接書込むバイトイン
    デックスバイパス手段をさらに含む 前記取出し手段。 36)命令およびオペランドを記憶するメモリ手段と、
    命令に応答してオペランドに対して演算を実行する処理
    手段と、命令およびオペランドを処理手段に提供する取
    出し手段とを含み、前記取出し手段が処理手段の演算に
    応答して処理クロック信号を提供する手段と、処理手段
    の演算に応答して次の命令アドレスと次のオペランドの
    アドレスとを供給するアドレス手段と、および処理クロ
    ック信号に応答して命令およびオペランドを受取る手段
    とを含む情報処理システムにおいて、命令およびオペラ
    ンドを取出す方法であつて: 各処理演算の開始時に第1のエッジと、 各処理演算の実行中に第2のエッジとを有する処理クロ
    ック信号を発生させ、 メモリ手段に対して、 処理クロック信号の第1のエッジにおいて次のオペラン
    ドのアドレスと、および もしアドレス手段が次のオペランドのアドレスを供給ず
    みであれが処理クロック信号の第1のエッジ後一定間隔
    で、 あるいは、もしアドレス手段が次のオペランドのアドレ
    スを供給していないとすれば処理クロック信号の第1の
    エッジにおいて次の命令アドレスを供給し、および、 処理クロック信号の次に発生する第1のエッジにおいて
    メモリ手段から次のオペランドを、かつ 処理クロック信号の次に発生する第2のエッジにおいて
    メモリ手段から次の命令を受取る過程とを含む 前記命令を取出す方法。 37)特許請求の範囲第36項に記載の方法において、 処理手段は、 現在の命令に応答して論理的な次の命令アドレスを提供
    する手段を含む オペランドに演算を実行する中央演算手段と、論理的な
    次のオペランドアドレスを発生させる手段を含む、 命令に対して演算を実行する命令処理手段とを含み、か
    つアドレス手段がさらに、 論理的な次の命令アドレスと論理的な次のオペランドア
    ドレスとに応答して、対応する次の命令アドレスと次の
    オペランドアドレスとを提供するアドレス変換手段と、 次の命令アドレスを記憶し、かつ提供する次の命令レジ
    スタ手段と、および 次のオペランドアドレスを記憶し、かつ供給する次のオ
    ペランドレジスタ手段とを含む 前記取出し方法。 38)特許請求の範囲第37項に記載の方法において、 論理的な次の命令アドレスあるいは論理的な次のオペラ
    ンドアドレスが、 プロセスの論理的アドレススペースの領域を示す情報用
    のページ番号フィールドと、 ページ番号フィールドにより識別される論理的アドレス
    領域内での情報のバイトの位置を示す情報用のバイトイ
    ンデックスフィールドとを含み、 次の命令アドレスあるいは次のオペランドアドレスが メモリ手段のアドレススペースの領域を識別する情報の
    フレーム番号フィールドおよび フレーム番号フィールドにより識別されるメモリ手段の
    アドレススペースの領域内で情報のバイトの位置を識別
    する情報用のバイトインデックスフィールドとを含み、 次の命令あるいは次のオペランドアドレスの最初の表示
    のページ番号フィールドとバイトインデックスフィール
    ドとがそれぞれ、対応する次の命令あるいは次のオペラ
    ンドアドレスのフレーム番号フィールドおよびバイトイ
    ンデックスフィールドとに対応する、 前記取出し方法。 39)特許請求の範囲第38項に記載の方法において、 次の命令レジスタ手段と次のオペランドレジスタ手段と
    がそれぞれフレーム番号領域およびバイトインデックス
    領域とに構成され、 次の命令および次のオペランドレジスタ手段の各々のフ
    レーム番号領域とバイトインデックス領域とが個別に書
    込み可能の入力側を有し、かつ アドレス変換手段が、 論理的な次の命令および次のオペランドアドレスとに応
    答し対応する次の命令および次のオペランドアドレスと
    を記憶しかつ供給するアドレス変換記憶手段を含み、 アドレス変換記憶手段のアドレス入力側が、次の命令お
    よび次のオペランドのレジスタ手段の書込みフレーム番
    号と書込みバイトインデックス入力側とにそれぞれ接続
    されたフレーム番号フィールド出力側とバイトインデッ
    クスフィールド出力側とに構成されており、かつ 処理手段の論理アドレス出力側のバイトインデックスフ
    ィールド出力側から次の命令および次のオペランドレジ
    スタ手段の書込みバイトインデックス入力側に接続され
    、バイトインデックスフィールドを次の命令および次の
    オペランドレジスタ手段へ書込むバイトインデックスバ
    イパス手段をさらに含む 前記取出し方法。 40)特許請求の範囲第39項に記載の方法において、
    次の命令アドレスあるいは次のオペランドアドレスがメ
    モリページの境界を横切るか否か検出し、かつ もし次の命令アドレスあるいは次のオペランドのアドレ
    スがページの境界を横切らなければ、次の命令アドレス
    バイトインデックスフィールドあるいは次のオペランド
    アドレスバイトインデックスをバイトインデックスバイ
    パス手段を介して次の命令レジスタ手段あるいは次のオ
    ペランドレジスタ手段へロードすることにより次の命令
    アドレスあるいは次のオペランドのアドレスを発生させ
    、かつ もし次の命令アドレスあるいは次のオペランドのアドレ
    スがメモリページ境界を横切るとすれば、 対応する次の命令アドレスあるいは次のオペランドアド
    レスをアドレス変換手段から供給し、次の命令アドレス
    バイトインデックスフィールドあるいは次のオペランド
    アドレスバイトインデックスフィールドをアドレス変換
    手段から次の命令レジスタ手段あるいは次のオペランド
    レジスタ手段へロードし、かつ 次の命令アドレスフレーム番号フィールドあるいは次の
    オペランドアドレスフレーム番号をアドレス変換手段か
    ら次の命令レジスタ手段あるいは次のオペランドレジス
    タ手段へロードすることにより次の命令アドレスあるい
    は次のオペランドアドレスを発生させる過程とを含む前
    記取出し方法。 41)特許請求の範囲第36項に記載の方法において、
    処理手段がある命令に応答してオペランドの書込み操作
    を実行し、さらに 処理手段において、かつ書込み操作に応答して、 処理クロック信号の第1のエッジにおいてオペランド書
    込みアドレスを供給し、 処理クロック信号の第1のエッジの後一定間隔でメモリ
    手段に書込むべきオペランドを供給し、かつ メモリ手段において、かつオペランドの書込みアドレス
    に応答して、 処理クロック信号の次に発生する第1のエッジにおいて
    オペランドを受取る過程を含む、前記取出し方法。 42)特許請求の範囲第36項に記載の方法において、
    処理手段が、 オペランドに対して演算を実行する中央処理手段、 入力レジスタ手段を含む受取り手段と、 命令に対して演算を実行する命令処理手段、命令ラッチ
    手段を含む受取り手段とを含み;さらに、入力レジスタ
    手段において、 処理クロック信号の次に発生する第1のエッジにおいて
    メモリ手段からオペランドを受取り、かつ 命令ラッチ手段において、 処理クロック信号の次に発生する第2のエッジにおいて
    メモリ手段から命令を受取る過程を含む 前記取出し方法。 43)特許請求の範囲第42項に記載の方法において、
    命令処理手段が命令ラッチ手段から接続された命令待ち
    行列手段をさらに含み、さらに; 命令待ち行列手段において、 処理クロック信号の次に発生する第1のエッジにおいて
    、命令ラッチ手段から命令を受取る過程を含む 前記取出し方法。 44)特許請求の範囲第43項に記載の方法において、
    各命令が命令コードフィールドと、演算すべきオペラン
    ドを識別する少なくとも1個のオペランドリファレンス
    フィールドとから構成され、命令処理手段がさらに、 命令待ち行列手段から接続され、現在の命令コードフィ
    ールドに応答し、対応する演算を開始させる出力を中央
    処理手段に提供するディスパッチ手段と、および オペランドリファレンスフィールドに応答して対応する
    論理的な次のオペランドアドレスを供給する手段とを含
    み、かつ中央処理手段が現在の命令に応答し論理的な次
    の命令アドレスを供給する手段を含む 前記取出し方法。 45)特許請求の範囲第44項に記載の方法において、
    アドレス手段がさらに、 次の論理的命令アドレスおよび次の論理的なオペランド
    アドレスに応答して対応する次の命令アドレスおよび次
    のオペランドアドレスとを提供するアドレス変換手段と
    、 次の命令アドレスを記憶し、かつ提供する次の命令レジ
    スタ手段と、および 次のオペランドアドレスを記憶し、かつ供給する次のオ
    ペランドのレジスタ手段とを含む前記取出し手段。 46)特許請求の範囲第45項に記載の方法において、
    論理的な次の命令アドレスあるいは論理的な次のオペラ
    ンドアドレスが、 プロセスの論理的アドレススペースの領域を示す情報用
    のページ番号フィールドと、およびページ番号フィール
    ド゛により識別される論理アドレス領域内での情報のバ
    イトの位置を示す情報用のバイトインデックスフィール
    ドとを含み、かつ 次の命令アドレスあるいは次のオペランドアドレスが、
    メモリ手段のアドレススペースの領域を識別する情報用
    のフレーム番号フィールドと、および フレーム番号フィールドによつて識別されるメモリ手段
    のアドレススペース内での情報のバイトの位置を識別す
    る情報用のバイトインデックスフィールドとを含み、 次の命令あるいは次のオペランドアドレスの最初の表示
    のページ番号フィールドとバイトインデックスフィール
    ドとが対応する次の命令あるいは次のオペランドのアド
    レスのフレーム番号フィールドとバイトインデックスフ
    ィールドとにそれぞれ対応する 前記取出し方法。 47)特許請求の範囲第46項に記載の方法において、
    次の命令レジスタ手段と次のオペランドのレジスタ手段
    がそれぞれフレーム番号領域およびバイトインデックス
    領域とへ構成され、 次の命令と次のオペランドレジスタ手段の各々のフレー
    ム番号領域とバイトインデックス領域とが個別の書込み
    可能入力側を有し、かつアドレス変換手段が、 論理的な次の命令および次のオペランドアドレスとに応
    答し、対応する次の命令および次のオペランドアドレス
    を記憶し、かつ供給するアドレス変換記憶手段を含み、 アドレス変換記憶手段のアドレス出力側は、次の命令と
    次のオペランドレジスタ手段の書込みフレーム番号と書
    込みバイトインデックス入力側とにそれぞれ接続された
    フレーム番号フィールド出力側およびバイトインデック
    スフィールド出力側とに構成され、かつ 処理手段の論理アドレス出力側のバイトインデックスフ
    ィールド出力側から、次の命令および次のオペランドレ
    ジスタ手段の書込みバイトインデックス入力側まで接続
    され、バイトインデックスフィールドを直接次の命令お
    よび次のオペランドレジスタ手段へ書込むバイトインデ
    ックスバイパス手段をさらに含む、 前記取出し方法。 48)特許請求の範囲第47項に記載の方法において、
    次の命令アドレスあるいは次のオペランドのアドレスが
    メモリページの境界を横切るか否か検出し、かつ もし次の命令アドレスあるいは次のオペランドアドレス
    がページの境界を横切らないとすれば、次の命令アドレ
    スバイトインデックスフィールドあるいは次のオペラン
    ドのアドレスバイトインデックスフィールドを次の命令
    レジスタ手段あるいは次のオペランドレジスタ手段へバ
    イトインデックスバイパス手段を介してロードすること
    によつて、次の命令アドレスあるいは次のオペランドア
    ドレスを発生し、 もし、次の命令アドレスあるいは次のオペランドアドレ
    スがメモリのページ境界を横切るとすれば、 次の対応する命令アドレスあるいは次のオペランドアド
    レスをアドレス変換手段から供給し、次の命令アドレス
    バイトインデックスフィールドあるいは次のオペランド
    のアドレスバイトインデックスフィールドをアドレス変
    換手段から次の命令レジスタ手段あるいは次のオペラン
    ドレジスタ手段へロードし、かつ 次の命令アドレスフレーム番号フィールドあるいは次の
    オペランドのアドレスフレーム番号フィールドをアドレ
    ス変換手段から次の命令レジスタ手段あるいは次のオペ
    ランドのレジスタ手段へロードすることによつて、 次の命令アドレスあるいは次のオペランドアドレスを発
    生させる過程を含む、 前記取出し方法。 49)命令とオペランドとを記憶するメモリ手段と、オ
    ペランドに対して演算する処理手段とを含む情報処理シ
    ステムにおいて命令に応答して処理手段の演算を制御す
    るマイクロ命令を提供するマイクロ命令制御手段であつ
    て; マイクロ命令アドレスに応答して、マイクロ命令を記憶
    し、かつ提供するマイクロ命令メモリ手段と; 命令に応答して、マイクロ命令シーケンスの初期アドレ
    スを設定する第1のマイクロ命令アドレス手段と;およ
    び マイクロ命令に応答してマイクロ命令を順次選定する第
    2のマイクロ命令アドレス手段とを含む、 前記マイクロ命令制御手段。 50)特許請求の範囲第49項に記載のマイクロ命令制
    御手段において; システムの演算の規定された条件に対してテストを実施
    し、そのテスト結果が正しいか、誤りかを指示する出力
    を供給するテスト条件手段と、 テスト出力に応答して、テストが正しければ次のマイク
    ロ命令を提供する第2のマイクロ命令アドレスと、かつ テスト出力に応答してテストが誤りであれば新しい初期
    のマイクロ命令アドレスを提供する第1のマイクロ命令
    アドレス手段とをさらに含む 前記マイクロ命令制御手段。 51)特許請求の範囲第49項に記載のマイクロ命令制
    御手段において、第1のマイクロ命令アドレス手段がさ
    らに; トラップ状態とケーステストとに応答して対応する初期
    アドレスを提供する手段とをさらに含む 前記マイクロ命令制御手段。 52)特許請求の範囲第49項に記載のマイクロ命令制
    御手段において、第1のマイクロ命令アドレス手段がさ
    らに; マイクロ命令制御手段の演算に応答して、 トラップ状態の発生により現在状態となるマイクロ命令
    を保存し、かつ トラップされたマイクロ命令アドレスを第1のマイクロ
    命令アドレス手段へ戻しトラップ状態により中断された
    マイクロ命令のシーケンスをトラップ状態の発生した点
    で再開させるトラップ手段を含む 前記マイクロ命令制御手段。 53)特許請求の範囲第49項に記載のマイクロ命令制
    御手段において; 前記第1のマイクロ命令アドレス手段がさらに;第1と
    第2のマイクロ命令アドレス手段のアドレス出力側から
    接続され、マイクロ命令比較アドレスを受取る入力側を
    有するアドレス比較手段を含み、 該比較手段が現在のマイクロ命令アドレスと比較アドレ
    スとに応答して、現在のアドレスと比較アドレスとの間
    で合致すると第1のマイクロ命令アドレス手段へ比較用
    出力を提供する、前記マイクロ命令制御手段。 54)特許請求の範囲第49項に記載の装置において、
    前記第2のマイクロ命令アドレス手段が; 初期マイクロ命令アドレスを受取り、かつマイクロ命令
    制御手段のオペレーションに応答して順次のマイクロ命
    令アドレスを発生させるマイクロ命令カウンタ手段と; マイクロ命令制御手段のオペレーションに応答して割込
    まれたマイクロ命令シーケンスの現在のマイクロ命令ア
    ドレスを保存し、かつ戻すマイクロ命令スタック手段と
    、および マイクロ命令ループシーケンスの初期マイクロ命令アド
    レスを受取り、マイクロ命令ループシーケンスの発生に
    応答してマイクロ命令ループの順次のマイクロ命令アド
    レスを発生するマイクロ命令ループカウンタ手段とを含
    む、 前記マイクロ命令制御手段。 55)支援オペレーションを実行するシステム制御手段
    と、データ処理手段およびマイクロコード制御手段とを
    含む少なくとも1個のデータ処理エレメントと、システ
    ム制御手段から接続され、システム制御手段とデータ処
    理エレメントとの間で情報を導く支援バス手段とを含む
    データ処理システムにおける、処理エレメント支援手段
    であつて: 支援バス手段から接続され、エレメント支援手段と支援
    バス手段との間で命令ワードを転送する命令レジスタ手
    段であり、 命令ワードのあるものは処理エレメントの演算の現在モ
    ードを導く情報を含む制御ワードを含んでいる前記命令
    レジスタ手段と; 該命令レジスタ手段から接続され、制御ワードを記憶す
    る制御レジスタ手段と;および 命令ワードならびに関係の制御ワードとに応答して支援
    オペレーションを制御するマイクロルーチンを提供する
    支援マイクロコード手段とを含み、 前記処理エレメントマイクロコード制御手段は制御ワー
    ドに応答して処理エレメントの支援マイクロコード手段
    へ転送する、 前記処理エレメント支援手段。 56)特許請求の範囲第55項に記載の処理エレメント
    支援手段において、 各命令ワードが、 受取側の処理エレメントを識別するターゲットフィール
    ドと、かつ ターゲット処理エレメントにより実行されるべき支援す
    るオペレーションを識別する命令フィールドとを含む 第1のセクションと、 制御ワードあるいは 現在の支援オペレーションの結果として通信すべき情報
    を含む情報フィールドとを含む 第2のセクションと、を含む 前記処理エレメント支援手段。 57)特許請求の範囲第56項に記載の処理エレメント
    支援手段において、 情報フィールドが、 処理エレメントのマイクロコード制御手段におけるマイ
    クロ命令アドレスと、 処理エレメントのマイクロコード制御手段に書込むべく
    読取つたマイクロ命令と、あるいはデータ処理手段から
    読取られるか、該手段へ書込むべきデータとを含む 前記処理エレメント支援手段。 58)特許請求の範囲第55項に記載の処理エレメント
    支援手段において、 各制御ワードが、 処理エレメントが命令モードで演算すべきことを指示す
    るビットを含むモードフィールドを含み、かつ 処理エレメントの動作が支援手段により制御される 前記処理エレメント支援手段。 59)特許請求の範囲第56項に記載の処理エレメント
    支援手段において; 各制御ワードが、 処理エレメントが命令モードで演算すべきことを指示す
    るビットを含むモードフィールドを含み、かつ 処理エレメントの動作が支援手段により制御される前記
    処理エレメント支援手段。 60)特許請求の範囲第55項に記載の処理エレメント
    支援手段において; 処理エレメントのマイクロコード制御手段が、処理手段
    の非支援オペレーションを制御するマイクロルーチンを
    記憶するマイクロコードメモリ手段と、 マイクロコードメモリ手段をアドレスする手段と、およ
    び マイクロメモリ手段とマイクロコードアドレス手段とを
    相互に接続するマイクロ命令バスとを含み、かつ 支援手段がさらに、 命令および制御レジスタ手段の間で接続され支援オペレ
    ーション情報を導く内部バス手段と、内部バス手段と処
    理エレメントのマイクロ命令アドレス手段との間で接続
    され、処理エレメントのマイクロ命令アドレスを提供す
    るマイクロ命令アドレス支援手段とを含む 前記処理エレメント支援手段。 61)特許請求の範囲第60項に記載の処理エレメント
    支援手段において; 処理エレメントのマイクロコード制御手段がマイクロ命
    令アドレス支援手段によつて提供されるマイクロ命令ア
    ドレスに応答し、対応する非支援オペレーションマイク
    ロ命令を実行する前記処理エレメント支援手段。 62)特許請求の範囲第61項に記載の処理エレメント
    支援手段において、 マイクロコードメモリアドレシング手段から接続され現
    在の非支援オペレーションマイクロ命令アドレスを受取
    る第1の入力側と、 内部バス手段から接続され、比較マイクロ命令アドレス
    を受取りかつ記憶して 現在の非支援オペレーションマイクロ命令アドレスが比
    較用マイクロ命令アドレスと比較すると支援マイクロコ
    ード手段に指示を与える第2の入力側とを有する マイクロ命令アドレス比較手段をさらに含む前記処理エ
    レメント支援手段。 63)特許請求の範囲第62項に記載の処理エレメント
    支援手段において、 支援マイクロコード手段が1ステップのマイクロ命令な
    らびにマイクロ命令アドレス手段の指示出力側に応答し
    てマイクロルーチンの各マイクロ命令の終りにおいてマ
    イクロルーチンの実行を停止させる前記処理エレメント
    支援手段。 64)特許請求の範囲第62項に記載の処理エレメント
    支援手段において、 支援マイクロコード手段が1ステップのマイクロルーチ
    ン命令ならびにマイクロ命令アドレス手段の指示出力側
    に応答してマイクロルーチンの終りにおいてマイクロル
    ーチンの実行を停止させる前記処理エレメント支援手段
    。 65)特許請求の範囲第62項に記載の処理エレメント
    支援手段において、 支援マイクロコード手段が1ステップのマイクロルーチ
    ン命令ならびにマイクロ命令アドレス手段の指示出力側
    に応答してマイクロルーチンの終りにおいてマイクロル
    ーチンの実行を停止させる前記処理エレメント支援手段
    。 66)特許請求の範囲第62項に記載の処理エレメント
    を支援手段において、 支援マイクロコード手段がトリップポイント命令ならび
    にマイクロ命令アドレス手段の指示出力側に応答して比
    較アドレスに対応するマイクロ命令アドレスにおいて非
    支援オペレーションの実行を停止させる前記処理エレメ
    ント支援手段。 67)特許請求の範囲第60項に記載の処理エレメント
    支援手段において;さらに、 内部バス手段と処理エレメントマイクロコードメモリ手
    段との間で接続され、その間で非支援マイクロ命令を導
    き、かつマイクロ命令の読取り/書込み命令に応答して
    マイクロ命令の読取り/書込み操作を実行するマイクロ
    命令読取り/書込み手段を含み、 処理エレメントマイクロコード制御手段は マイクロ命令アドレス支援手段により供給されるマイク
    ロ命令読取りアドレスに応答し、かつ マイクロ命令アドレス支援手段により提供されるマイク
    ロ命令書込みアドレスに応答して非支援マイクロ命令を
    内部バス手段からマイクロコードメモリ手段へ書込む、 前記処理エレメント支援手段。 68)特許請求の範囲第55項に記載の処理エレメント
    支援手段において、 処理エレメントが データを記憶する手段と、 データを処理する手段と、および それらの手段の間でデータを転送するバスとを含み、 データ処理機能を実行する手段を含み、かつ支援手段が
    さらに、 命令と制御レジスタ手段の間に接続され支援オペレーシ
    ョン情報を導く内部バス手段と、および 処理エレメントデータバスと内部バス手段との間に接続
    され、処理エレメントと命令レジスタ手段との間でデー
    タを導くデータレジスタ手段とを含む、 前記処理エレメント支援手段。 69)特許請求の範囲第55項に記載の処理エレメント
    支援手段において、 支援バス手段が 支援情報バスと、 複数の支援制御バスとを含み、および 命令レジスタ手段が支援情報バスから接続され、かつ 支援マイクロコード手段が支援制御バスから接続されて
    いる 前記処理エレメント支援手段。 70)特許請求の範囲第69項に記載の処理エレメント
    支援手段において、 支援情報バスが1ビットの一連のバスであり、支援手段
    が、命令と制御レジスタ手段との間に接続され支援オペ
    レーション情報を導く内部バス手段を含み、 内部バス手段が双方向性の多数ビットの並列バスであり
    、かつ 命令レジスタ手段が、 情報バスからの双方向性の1ビットの一連の接続と、 双方向性の多数ビットの、内部バス手段からの並列の接
    続とを含み、かつ 支援情報バス手段に関する一連のレジスタと、内部バス
    手段に関する並列のレジスタとして作動する 前記処理エレメント支援手段。 71)特許請求の範囲第70項に記載の処理エレメント
    支援手段において、各命令ワードが、 受取り処理エレメントを識別するターゲットフィールド
    と、 ターゲット処理エレメントにより実行される支援オペレ
    ーションを識別する命令フィールドとを含む第1のステ
    ーションと、および 制御ワードあるいは、 現在の支援オペレーションの結果として通信すべき情報
    を含む情報フィールドのいずれかを含む第2のステーシ
    ョンとを含み、および命令ワードが第1のセクションの
    第1の一連の伝送において、かつ第2のセクションの次
    の一連の伝送とにおいて支援情報を通して通信される前
    記処理エレメント支援手段。 72)特許請求の範囲第69項に記載の処理エレメント
    支援手段において、 支援制御バスが: クロック信号を導きシステム制御手段と処理エレメント
    支援手段とを調整操作する支援リンククロックバスと、 システム制御手段が命令ワードを伝送していることを示
    す信号を導く伝送支援リンクデータバスと、 処理エレメント支援手段が命令ワードにおいて規定され
    ている支援オペレーションを実行すべきことを示す信号
    を導く実行支援命令バスと、処理エレメント支援手段が
    実行支援命令バスを介して実行命令信号を受取つたこと
    を確認する信号を導く支援リンク確認バスと、 処理エレメント支援手段が処理手段をリセット状態に置
    くべきことを示す信号を導く支援リセットバスと、およ
    び 処理エレメント支援手段が、システム制御手段が支援オ
    ペレーションを実行することを要求していることを示す
    信号を導く割込み要求バスとを含む 前記処理エレメント支援手段。 73)特許請求の範囲第72項に記載の処理エレメント
    支援手段において、 処理エレメント支援手段が、 システム制御手段に対してその動作を調整するクロック
    信号と、 命令ワードを受取る伝送支援リンクデータ信号と、 命令ワードに規定された支援オペレーションを実行し、
    かつ 処理エレメント支援手段が実行命令信号を受取つたこと
    を確認する支援リンク確認信号を伝送する 実行支援命令信号と、 処理手段をリセット状態に位置する支援リセット信号と
    、および、システム制御手段が支援オペレーションを実
    行することを要求する 割込み要求信号を供給する処理エレメントと処理手段の
    支援手段の動作とに応答する 前記処理エレメント支援手段。 74)支援オペレーションを実行するシステム制御手段
    と、データ処理手段とマイクロコード制御手段とを含む
    少なくとも1個のデータ処理エレメントと、システム制
    御手段から接続されシステム制御手段とデータ処理エレ
    メントとの間で情報を導く支援バス手段と、支援バス手
    段から接続された命令レジスタ、命令レジスタ手段から
    接続された制御レジスタ手段、および命令ワードと関連
    の命令ワードとに応答して支援オペレーションを制御す
    るマイクロルーチンを供給する支援マイクロコード手段
    とを含む処理エレメント支援手段とを含むデータ処理シ
    ステムにおいて、支援オペレーションを実行する方法は
    、 支援バス手段を介してシステム制御手段から命令レジス
    タ手段へ命令ワードを転送し、 制御ワードを含む命令ワードのあるものが処理エレメン
    トの演算のモードを導く情報を含み、制御レジスタ手段
    において、命令ワードからの制御ワードを記憶し、 処理エレメントにおいては、処理エレメントマイクロコ
    ード制御手段が制御ワードに応答し、処理エレメントの
    制御を支援マイクロコード手段へ転送し、かつ 命令ワードに応答して、支援オペレーションを実行する 過程を含む支援オペレーションを実行する方法。 75)特許請求の範囲第74項に記載の処理エレメント
    支援手段において、 各命令ワードが、 受取り処理エレメントを識別する目標フィールドと、 ターゲット処理エレメントによつて実行すべき支援オペ
    レーションを識別する命令フィールドとを含む第1のセ
    クションと、および 制御ワードあるいは 現在の支援オペレーションの結果として通信すべき情報
    を含む情報フィールドのいずれかを含む 第2のセクション とを含む前記処理エレメント支援手段。 76)特許請求の範囲第75項に記載の処理エレメント
    支援手段において、情報フィールドが; 処理エレメントマイクロコード制御手段におけるマイク
    ロ命令アドレスと、 処理エレメントマイクロコード制御手段へ書込むべく読
    取られるマイクロ命令あるいは データ処理手段から、あるいは該手段へ書込むべきデー
    タを含む前記処理エレメント支援手段。 77)特許請求の範囲第75項に記載の処理エレメント
    支援手段において、各制御ワードが、 処理エレメントが命令モードにおいて演算すべきことを
    指示するビットを含むモードフィールドを含み、かつ 処理エレメントの演算が支援手段によつて制御される前
    記処理エレメント支援手段。 78)特許請求の範囲第74項に記載の処理エレメント
    支援手段において; 各制御ワードが、 処理エレメントが命令モードにおいて演算すべきことを
    示すビットを含むモードフィールドを含み、 処理エレメントの演算が支援手段によつて 制御される、 前記処理エレメント支援手段。
JP61103714A 1985-05-06 1986-05-06 情報処理システム Pending JPS61256455A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US73097785A 1985-05-06 1985-05-06
US730977 1985-05-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP7228454A Division JP2638581B2 (ja) 1985-05-06 1995-07-10 命令及びオペランドをプロセッサに提供する取り出し機構

Publications (1)

Publication Number Publication Date
JPS61256455A true JPS61256455A (ja) 1986-11-14

Family

ID=24937565

Family Applications (2)

Application Number Title Priority Date Filing Date
JP61103714A Pending JPS61256455A (ja) 1985-05-06 1986-05-06 情報処理システム
JP7228454A Expired - Lifetime JP2638581B2 (ja) 1985-05-06 1995-07-10 命令及びオペランドをプロセッサに提供する取り出し機構

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP7228454A Expired - Lifetime JP2638581B2 (ja) 1985-05-06 1995-07-10 命令及びオペランドをプロセッサに提供する取り出し機構

Country Status (5)

Country Link
EP (2) EP0201848A3 (ja)
JP (2) JPS61256455A (ja)
AU (1) AU5634086A (ja)
CA (1) CA1267442A (ja)
DE (1) DE3650707T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0400851A3 (en) * 1989-06-02 1992-10-21 Hewlett-Packard Company Efficient cache utilizing a store buffer
DE69327981T2 (de) * 1993-01-21 2000-10-05 Advanced Micro Devices, Inc. Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt.
WO2008006400A1 (en) * 2006-07-11 2008-01-17 Freescale Semiconductor, Inc. Microprocessor and method for register addressing therein
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
CN105094691B (zh) * 2014-05-21 2019-05-21 华为技术有限公司 一种数据操作的方法、设备和系统
EP4276625B1 (en) * 2018-01-29 2025-03-19 Micron Technology, Inc. Memory controller
CN112379928B (zh) * 2020-11-11 2023-04-07 海光信息技术股份有限公司 指令调度方法以及包括指令调度单元的处理器
CN112596790B (zh) * 2020-12-10 2022-11-22 海光信息技术股份有限公司 执行访存微指令的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50137440A (ja) * 1974-04-19 1975-10-31
JPS5394133A (en) * 1977-01-28 1978-08-17 Hitachi Ltd Data converter
JPS55101182A (en) * 1979-01-26 1980-08-01 Ibm Channel versus memory write unit
JPS57106937A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Prefetch controller
JPS57169990A (en) * 1981-01-07 1982-10-19 Wangu Lab Inc Processor for data
JPS57200985A (en) * 1981-06-01 1982-12-09 Mitsubishi Electric Corp Buffer memory device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR129151A (ja) * 1974-02-09
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4204252A (en) * 1978-03-03 1980-05-20 Digital Equipment Corporation Writeable control store for use in a data processing system
AU540771B2 (en) * 1979-01-31 1984-12-06 Honeywell Information Systems Microprogrammed control system
US4403287A (en) * 1981-08-24 1983-09-06 Bell Telephone Laboratories, Incorporated Microprocessor architecture having internal access means
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50137440A (ja) * 1974-04-19 1975-10-31
JPS5394133A (en) * 1977-01-28 1978-08-17 Hitachi Ltd Data converter
JPS55101182A (en) * 1979-01-26 1980-08-01 Ibm Channel versus memory write unit
JPS57106937A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Prefetch controller
JPS57169990A (en) * 1981-01-07 1982-10-19 Wangu Lab Inc Processor for data
JPS57200985A (en) * 1981-06-01 1982-12-09 Mitsubishi Electric Corp Buffer memory device

Also Published As

Publication number Publication date
EP0201848A3 (en) 1989-12-13
EP0201848A2 (en) 1986-11-20
EP0509558A3 (en) 1993-01-20
DE3650707T2 (de) 1999-08-19
EP0509558B1 (en) 1999-01-13
DE3650707D1 (de) 1999-02-25
CA1267442A (en) 1990-04-03
AU5634086A (en) 1986-11-13
JP2638581B2 (ja) 1997-08-06
JPH0850547A (ja) 1996-02-20
EP0509558A2 (en) 1992-10-21

Similar Documents

Publication Publication Date Title
US4926317A (en) Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
JP2796590B2 (ja) メモリ装置及びそれを使用したデータ処理装置
JP3187090B2 (ja) 高性能プロセッサのためのバイト比較操作方法
US4620275A (en) Computer system
JP3423310B2 (ja) 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu
US5442757A (en) Computer processor with distributed pipeline control that allows functional units to complete operations out of order while maintaining precise interrupts
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US5291586A (en) Hardware implementation of complex data transfer instructions
US5321823A (en) Digital processor with bit mask for counting registers for fast register saves
JPS5931734B2 (ja) 特別のオペランド指定子を持つた命令を実行する中央処理装置
JPH02155037A (ja) デジタルコンピュータに於けるパイプライン化された処理ユニットの動作方法
US5289587A (en) Apparatus for and method of providing the program counter of a microprocessor external to the device
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS63193230A (ja) 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPS59502159A (ja) 仮想マシンデ−タプロセツサ
US5615349A (en) Data processing system capable of execution of plural instructions in parallel
JPH04260950A (ja) キャッシュメモリ装置
JPH02140830A (ja) 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置
US4812972A (en) Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions
JPH03174626A (ja) データ処理装置
JPS61256455A (ja) 情報処理システム
JPH07120284B2 (ja) データ処理装置
GB2200482A (en) Monitoring control flow in a microprocessor
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
US6209083B1 (en) Processor having selectable exception handling modes