JPH04215129A - 連続指令実行方法及び装置 - Google Patents
連続指令実行方法及び装置Info
- Publication number
- JPH04215129A JPH04215129A JP3041044A JP4104491A JPH04215129A JP H04215129 A JPH04215129 A JP H04215129A JP 3041044 A JP3041044 A JP 3041044A JP 4104491 A JP4104491 A JP 4104491A JP H04215129 A JPH04215129 A JP H04215129A
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- cycle
- cache
- branch
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、一般にコンピュータシ
ステムに関するものであり、更に詳細にはコンピュータ
システムにより連続指令を実行する方法に関する。
ステムに関するものであり、更に詳細にはコンピュータ
システムにより連続指令を実行する方法に関する。
【0002】
【従来の技術】ディジタル・コンピュータシステムは、
コンピュータシステムの機能を制御する一連の連続指令
を実行することにより動作する。典型的には、新しい指
令ステップはコンピュータシステムのプロセッサにより
開始されるサイクルごとに開始されるので、連続する多
数の逐次指令がプロセッサにより同時に実行される。一
連の連続指令ステップを同時に実行するこのプロセスは
、「パイプライン」として知られている。連続指令ステ
ップの所定の組合せについて、現在実行されている指令
は「現在の指令ステップ」と言われ、連続する各後続指
令をその番号で示す。たとえば、現在の指令の後で実行
される次の指令を「第1の後続指令ステップ」と言う。 その指令ステップが「ロード指令」ならば、その指令ス
テップを「第1の後続ロード指令ステップ」と言う。同
様に、その指令が「真であれば加算し分岐せよ指令」で
あれば、それを「第1の後続分岐指令ステップ」と言う
ことができる。第1の後続指令ステップの後の指令ステ
ップを「第2の後続指令ステップ」と言い、以下同様。 何等かの理由で、1つの指令ステップを一連の連続指令
ステップにおいて飛び越さなければならない場合には、
パイプラインは「1指令ステップ遲れの罰則」を課せら
れたと言われる。これは、たとえば、ロード指令がデー
タキャッシュから必要なデータをまだ取出し終っていな
い前回のロード指令からデータを必要としているとき発
生し得る。たとえば、指令ステップ遲れは、後続指令に
対する「オペランドアドレス」、すなわち、データを汎
用レジスタから取出すべきアドレス、が前の指令に対す
る「目標アドレス」、すなわち、データを格納すなわち
書込むべきアドレスと同じであるとき発生することがあ
る。前の指令がデータを汎用レジスタの目標アドレスに
未だ格納していず、且つ目標アドレスが後続指令のオペ
ランドアドレスと同じであれば、後続指令を実行するこ
とができず、遲れ罰則が課される。
コンピュータシステムの機能を制御する一連の連続指令
を実行することにより動作する。典型的には、新しい指
令ステップはコンピュータシステムのプロセッサにより
開始されるサイクルごとに開始されるので、連続する多
数の逐次指令がプロセッサにより同時に実行される。一
連の連続指令ステップを同時に実行するこのプロセスは
、「パイプライン」として知られている。連続指令ステ
ップの所定の組合せについて、現在実行されている指令
は「現在の指令ステップ」と言われ、連続する各後続指
令をその番号で示す。たとえば、現在の指令の後で実行
される次の指令を「第1の後続指令ステップ」と言う。 その指令ステップが「ロード指令」ならば、その指令ス
テップを「第1の後続ロード指令ステップ」と言う。同
様に、その指令が「真であれば加算し分岐せよ指令」で
あれば、それを「第1の後続分岐指令ステップ」と言う
ことができる。第1の後続指令ステップの後の指令ステ
ップを「第2の後続指令ステップ」と言い、以下同様。 何等かの理由で、1つの指令ステップを一連の連続指令
ステップにおいて飛び越さなければならない場合には、
パイプラインは「1指令ステップ遲れの罰則」を課せら
れたと言われる。これは、たとえば、ロード指令がデー
タキャッシュから必要なデータをまだ取出し終っていな
い前回のロード指令からデータを必要としているとき発
生し得る。たとえば、指令ステップ遲れは、後続指令に
対する「オペランドアドレス」、すなわち、データを汎
用レジスタから取出すべきアドレス、が前の指令に対す
る「目標アドレス」、すなわち、データを格納すなわち
書込むべきアドレスと同じであるとき発生することがあ
る。前の指令がデータを汎用レジスタの目標アドレスに
未だ格納していず、且つ目標アドレスが後続指令のオペ
ランドアドレスと同じであれば、後続指令を実行するこ
とができず、遲れ罰則が課される。
【0003】同様な状況は「分岐指令」、すなわち、プ
ロセッサを、その他の場合にはプロセッサにより追跡さ
れる連続指令の系列の新しい場所に分岐するよう指導す
る指令、の期間中にも発生する。分岐指令の実行中に、
分岐指令は新しい指令を取出すための新しいアドレスを
発生する。プロセッサは、分岐指令を取出し、これを復
号し、分岐指令の新しいアドレスを確認するのに一定の
時間を必要とする。これら機能を果たすには莫大なサイ
クルを必要とするから、多数の指令ステップ遲れがパイ
プラインに課される。典型的には、分岐指令は分岐指令
後の最初の後続指令が通常その一連の後続指令ステップ
で実行される指令となるようにパイプライン内に置かれ
る。このように構成されたパイプラインを「1状態遲れ
分岐構造」という。したがって、分岐指令アドレスが第
3の後続指令ステップまで態勢が整っていなければ、1
指令ステップ遲れるだけの罰則が1状態遲れ分岐構造に
課される。
ロセッサを、その他の場合にはプロセッサにより追跡さ
れる連続指令の系列の新しい場所に分岐するよう指導す
る指令、の期間中にも発生する。分岐指令の実行中に、
分岐指令は新しい指令を取出すための新しいアドレスを
発生する。プロセッサは、分岐指令を取出し、これを復
号し、分岐指令の新しいアドレスを確認するのに一定の
時間を必要とする。これら機能を果たすには莫大なサイ
クルを必要とするから、多数の指令ステップ遲れがパイ
プラインに課される。典型的には、分岐指令は分岐指令
後の最初の後続指令が通常その一連の後続指令ステップ
で実行される指令となるようにパイプライン内に置かれ
る。このように構成されたパイプラインを「1状態遲れ
分岐構造」という。したがって、分岐指令アドレスが第
3の後続指令ステップまで態勢が整っていなければ、1
指令ステップ遲れるだけの罰則が1状態遲れ分岐構造に
課される。
【0004】マイクロプロセッサのチップを設計するに
あたり、可能な最短時間で指令を実行し、情報を処理す
ることにより、可能な限り速くチップを動作させるのが
有利である。この目標を達成するにあたり、指令ステッ
プ遲れに対する罰則を可能な限り少くすることが望まし
い。そうでないと、サイクル時間が短かくなったことに
より得られる時間が指令ステップ遲れで失われることが
ある。指令、またはデータ、を取出すためのアクセス時
間をかなり減らすのに使用されている一つの方法は、マ
イクロプロセッサ・チップとこれより低速の動的ランダ
ム・アクセス記憶装置(DRAM)のような記憶装置と
の間に直接接続されている高速記憶装置から成る指令キ
ャッシュおよびデータキャッシュを使用することであっ
た。これらキャッシュ記憶装置は、高価で、且つ格納さ
れるデータの量に対してシステム内に比較的大量のスペ
ースを占める、高速フリップフリップを備えることがで
きる。これら制約にもかかわらず、キャッシュ記憶装置
は、データまたは指令をDRAMに比較して比較的迅速
に、すなわち、典型的には約15ナノ秒から30ナノ秒
またはそれ以下のアクセス時間で取出すことができる、
比較的速い応答時間を備えている。アクセス時間は、こ
のことについては、アドレスを発生してから指令がプロ
セッサにより逆受信され、復号されるまでの完全サイク
ル時間を含むことができる。
あたり、可能な最短時間で指令を実行し、情報を処理す
ることにより、可能な限り速くチップを動作させるのが
有利である。この目標を達成するにあたり、指令ステッ
プ遲れに対する罰則を可能な限り少くすることが望まし
い。そうでないと、サイクル時間が短かくなったことに
より得られる時間が指令ステップ遲れで失われることが
ある。指令、またはデータ、を取出すためのアクセス時
間をかなり減らすのに使用されている一つの方法は、マ
イクロプロセッサ・チップとこれより低速の動的ランダ
ム・アクセス記憶装置(DRAM)のような記憶装置と
の間に直接接続されている高速記憶装置から成る指令キ
ャッシュおよびデータキャッシュを使用することであっ
た。これらキャッシュ記憶装置は、高価で、且つ格納さ
れるデータの量に対してシステム内に比較的大量のスペ
ースを占める、高速フリップフリップを備えることがで
きる。これら制約にもかかわらず、キャッシュ記憶装置
は、データまたは指令をDRAMに比較して比較的迅速
に、すなわち、典型的には約15ナノ秒から30ナノ秒
またはそれ以下のアクセス時間で取出すことができる、
比較的速い応答時間を備えている。アクセス時間は、こ
のことについては、アドレスを発生してから指令がプロ
セッサにより逆受信され、復号されるまでの完全サイク
ル時間を含むことができる。
【0005】指令キャッシュおよびデータキャッシュの
形を成すキャッシュ記憶装置はDRAMよりかなり高速
であるが、マイクロプロセッサが動作することのできる
速度を制限する。従来のマイクロプロセッサ構造は、1
サイクルの指令キャッシュおよびデータキャッシュにつ
いてのアクセス時間に関し設計されている。1サイクル
応答時間を与えることにより、1指令ステップ遲れだけ
の罰則が後続ロード指令に課される。すなわち、データ
は第2の後続ロード指令に利用可能である。同様に、1
指令ステップ遲れだけの罰則が1状態遲れ分岐構造の分
岐指令に課される。すなわち、分岐アドレスが第3の後
続指令ステップに利用可能になる。指令を指令キャッシ
ュから取出し、データをデータキャッシュから取出すの
に1サイクル応答時間しか許容しないことに関する問題
点は、プロセッサのサイクル周期を充分長くして指令キ
ャッシュおよびデータキャッシュの応答時間に適応させ
なければならないことである。他の多数のステップは指
令キャッシュ記憶装置およびデータキャッシュ記憶装置
の応答時間に必要な期間よりはるかに短い期間でマイク
ロプロセッサにより実行することができることは明らか
である。したがって、システム全体の速さを下げ、より
低速で動作させなければならない。現在利用できる指令
キャッシュおよびデータキャッシュを用いて、典型的な
マイクロプロセッサは、現時点では、15から20メガ
ヘルツの範囲で動作している。現在のパイプライン手法
を用いる現在利用可能な記憶キャッシュに伴う動作の限
界は約40メガヘルツである。
形を成すキャッシュ記憶装置はDRAMよりかなり高速
であるが、マイクロプロセッサが動作することのできる
速度を制限する。従来のマイクロプロセッサ構造は、1
サイクルの指令キャッシュおよびデータキャッシュにつ
いてのアクセス時間に関し設計されている。1サイクル
応答時間を与えることにより、1指令ステップ遲れだけ
の罰則が後続ロード指令に課される。すなわち、データ
は第2の後続ロード指令に利用可能である。同様に、1
指令ステップ遲れだけの罰則が1状態遲れ分岐構造の分
岐指令に課される。すなわち、分岐アドレスが第3の後
続指令ステップに利用可能になる。指令を指令キャッシ
ュから取出し、データをデータキャッシュから取出すの
に1サイクル応答時間しか許容しないことに関する問題
点は、プロセッサのサイクル周期を充分長くして指令キ
ャッシュおよびデータキャッシュの応答時間に適応させ
なければならないことである。他の多数のステップは指
令キャッシュ記憶装置およびデータキャッシュ記憶装置
の応答時間に必要な期間よりはるかに短い期間でマイク
ロプロセッサにより実行することができることは明らか
である。したがって、システム全体の速さを下げ、より
低速で動作させなければならない。現在利用できる指令
キャッシュおよびデータキャッシュを用いて、典型的な
マイクロプロセッサは、現時点では、15から20メガ
ヘルツの範囲で動作している。現在のパイプライン手法
を用いる現在利用可能な記憶キャッシュに伴う動作の限
界は約40メガヘルツである。
【0006】本発明の発明者がこれら制限を克服するの
に考えた、ただし従来技術には知られていない、一つの
方法は、指令キャッシュおよびデータキャッシュのアク
セス時間に2サイクル周期を許容し、一方他の指令を1
サイクル周期で動作させることであった。これによりマ
イクロプロセッサははるかに速い割合で、すなわち、キ
ャッシュ記憶装置がわずか1サイクルのアクセス時間し
か所持していない場合に動作することができる速さの2
倍の速さで、動作することができるが、1指令ステップ
遲れより大きい罰則がパイプラインに課され、これによ
りマイクロプロセッサ・システムの応答時間が全体とし
て利益を受けない。たとえば、ロード指令を実行するプ
ロセスで、データキャッシュのアクセス時間が2サイク
ルに設定されると2指令ステップ遲れの罰則が課される
。同様に、分岐指令では、指令キャッシュのアクセス時
間が2サイクルに設定されると2指令ステップ遲れの罰
則が1状態遲れ分岐構造に課される。
に考えた、ただし従来技術には知られていない、一つの
方法は、指令キャッシュおよびデータキャッシュのアク
セス時間に2サイクル周期を許容し、一方他の指令を1
サイクル周期で動作させることであった。これによりマ
イクロプロセッサははるかに速い割合で、すなわち、キ
ャッシュ記憶装置がわずか1サイクルのアクセス時間し
か所持していない場合に動作することができる速さの2
倍の速さで、動作することができるが、1指令ステップ
遲れより大きい罰則がパイプラインに課され、これによ
りマイクロプロセッサ・システムの応答時間が全体とし
て利益を受けない。たとえば、ロード指令を実行するプ
ロセスで、データキャッシュのアクセス時間が2サイク
ルに設定されると2指令ステップ遲れの罰則が課される
。同様に、分岐指令では、指令キャッシュのアクセス時
間が2サイクルに設定されると2指令ステップ遲れの罰
則が1状態遲れ分岐構造に課される。
【0007】したがって、従来技術のマイクロプロセッ
サは、記憶キャッシュの応答時間により制限されており
、記憶キャッシュに対する2サイクル応答時間という余
裕は、別の指令遲れ罰則がパイプラインに課されること
になるのでこれらの問題を解決することにはならない。
サは、記憶キャッシュの応答時間により制限されており
、記憶キャッシュに対する2サイクル応答時間という余
裕は、別の指令遲れ罰則がパイプラインに課されること
になるのでこれらの問題を解決することにはならない。
【0008】
【発明が解決しようとする課題】本発明の課題は、上述
した従来技術の問題点を解消し、マイクロプロセッサを
含むコンピュータシステムの動作速度をより高速にする
ための方法及び装置を提供することである。
した従来技術の問題点を解消し、マイクロプロセッサを
含むコンピュータシステムの動作速度をより高速にする
ための方法及び装置を提供することである。
【0009】
【課題を解決するための手段】本発明は、ロード指令お
よび分岐指令の双方についてわずか1指令ステップの遲
れをパイプラインに課しながら指令キャッシュおよび記
憶キャッシュに1サイクルより大きいアクセス時間を許
容する指令パイプラインで指令を実行する独特な方法お
よび装置を提供することにより、従来技術の短所および
制限を克服するものである。本発明はそれ故、コンピュ
ータシステムで一連の指令を、コンピュータシステムの
指令キャッシュにアクセスして1サイクルを超え2サイ
クル未満で指令を取出し、指令キャッシュに対して1サ
イクルを超すアクセス時間を許容するステップと、コン
ピュータシステムのデータキャッシュにアクセスして、
1サイクルを超え2サイクル未満でデータを取出し、デ
ータキャッシュに対して1サイクルを超えるアクセス時
間を許容するステップと、データキャッシュからのデー
タを、該データを第2の後続指令ステップが必要とする
とき算術論理ユニットに伝え、指令キャッシュおよびデ
ータキャッシュのアクセス時間が1サイクルを超えてい
ても1指令ステップ遲れだけの罰則が課されるようにす
るステップと、現在の指令ステップ内の指定条件が真で
あるときは現在の指令ステップにより指定された分岐指
令として第3の後続指令ステップを実行し、指令キャッ
シュおよびデータキャッシュのアクセス時間が1サイク
ルを超えていても1指令ステップ遲れだけの罰則が1状
態遲れ分岐構造に課されるようにするステップと、から
成る、少くとも各サイクルに対し別々の指令ステップを
開始するようにする方法を含むことができる。
よび分岐指令の双方についてわずか1指令ステップの遲
れをパイプラインに課しながら指令キャッシュおよび記
憶キャッシュに1サイクルより大きいアクセス時間を許
容する指令パイプラインで指令を実行する独特な方法お
よび装置を提供することにより、従来技術の短所および
制限を克服するものである。本発明はそれ故、コンピュ
ータシステムで一連の指令を、コンピュータシステムの
指令キャッシュにアクセスして1サイクルを超え2サイ
クル未満で指令を取出し、指令キャッシュに対して1サ
イクルを超すアクセス時間を許容するステップと、コン
ピュータシステムのデータキャッシュにアクセスして、
1サイクルを超え2サイクル未満でデータを取出し、デ
ータキャッシュに対して1サイクルを超えるアクセス時
間を許容するステップと、データキャッシュからのデー
タを、該データを第2の後続指令ステップが必要とする
とき算術論理ユニットに伝え、指令キャッシュおよびデ
ータキャッシュのアクセス時間が1サイクルを超えてい
ても1指令ステップ遲れだけの罰則が課されるようにす
るステップと、現在の指令ステップ内の指定条件が真で
あるときは現在の指令ステップにより指定された分岐指
令として第3の後続指令ステップを実行し、指令キャッ
シュおよびデータキャッシュのアクセス時間が1サイク
ルを超えていても1指令ステップ遲れだけの罰則が1状
態遲れ分岐構造に課されるようにするステップと、から
成る、少くとも各サイクルに対し別々の指令ステップを
開始するようにする方法を含むことができる。
【0010】本発明は、また、ロード指令に対してわず
か1指令ステップの遲れを課しながらデータキャッシュ
に対して1サイクルを超すアクセス時間を許容する指令
パイプラインでロード指令を実行する装置であって、サ
イクル周期、およびサイクル・クロックパルスから所定
の移相期間だけ移相している移相クロックパルスを規定
するサイクル・クロックパルスを発生するクロック手段
と、現在のロード指令ステップの目標アドレスが第2の
後続ロード指令ステップに対するオペランドアドレスと
同じであるときバイパス信号を発生する制御手段と、ア
クセス時間がサイクル周期に所定の移相期間を加えたも
のに実質上等しくてデータキャッシュ・データを発生す
るデータキャッシュ手段と、現在のロード指令ステップ
からのデータキャッシュ・データをバイパス信号に応じ
て算術論理ユニットに伝え、現在のロード指令からのデ
ータキャッシュ・データを第2の後続ロード指令ステッ
プの即値と組合わせて、データキャッシュ手段のアクセ
ス時間がサイクル周期に所定の移相期間を加えたものに
実質上等しくてもわずか1指令ステップの遲れしか生じ
ないようにする手段と、から構成される装置をも備える
ことが出来る。
か1指令ステップの遲れを課しながらデータキャッシュ
に対して1サイクルを超すアクセス時間を許容する指令
パイプラインでロード指令を実行する装置であって、サ
イクル周期、およびサイクル・クロックパルスから所定
の移相期間だけ移相している移相クロックパルスを規定
するサイクル・クロックパルスを発生するクロック手段
と、現在のロード指令ステップの目標アドレスが第2の
後続ロード指令ステップに対するオペランドアドレスと
同じであるときバイパス信号を発生する制御手段と、ア
クセス時間がサイクル周期に所定の移相期間を加えたも
のに実質上等しくてデータキャッシュ・データを発生す
るデータキャッシュ手段と、現在のロード指令ステップ
からのデータキャッシュ・データをバイパス信号に応じ
て算術論理ユニットに伝え、現在のロード指令からのデ
ータキャッシュ・データを第2の後続ロード指令ステッ
プの即値と組合わせて、データキャッシュ手段のアクセ
ス時間がサイクル周期に所定の移相期間を加えたものに
実質上等しくてもわずか1指令ステップの遲れしか生じ
ないようにする手段と、から構成される装置をも備える
ことが出来る。
【0011】本発明は、わずか1指令ステップの遲れを
1状態遲れ分岐構造に課しながら指令キャッシュに対し
て1サイクルを超えるアクセス時間を許容する指令パイ
プラインで分岐指令を実行する装置であって、所定のサ
イクル周期、およびサイクル・クロックパルスから所定
の移相期間だけ移相されている移相クロックパルスを規
定するサイクル・クロックパルスを発生するクロック手
段と、現在の分岐指令の条件値と汎用レジスタ和とを比
較して比較器制御信号を発生する比較器手段と、条件値
が汎用レジスタ和と同じであるとき分岐アドレスを発生
する手段と、所定のサイクル周期に所定の移相期間を加
えたものに実質上等しいアクセス時間中、分岐アドレス
に応じて分岐指令を発生し、分岐指令を第3の後続指令
が利用できるようにして、1指令ステップだけの遲れを
1状態遲れ分岐構造装置に発生させる指令キャッシュ手
段と、から構成される装置をも備えることができる。
1状態遲れ分岐構造に課しながら指令キャッシュに対し
て1サイクルを超えるアクセス時間を許容する指令パイ
プラインで分岐指令を実行する装置であって、所定のサ
イクル周期、およびサイクル・クロックパルスから所定
の移相期間だけ移相されている移相クロックパルスを規
定するサイクル・クロックパルスを発生するクロック手
段と、現在の分岐指令の条件値と汎用レジスタ和とを比
較して比較器制御信号を発生する比較器手段と、条件値
が汎用レジスタ和と同じであるとき分岐アドレスを発生
する手段と、所定のサイクル周期に所定の移相期間を加
えたものに実質上等しいアクセス時間中、分岐アドレス
に応じて分岐指令を発生し、分岐指令を第3の後続指令
が利用できるようにして、1指令ステップだけの遲れを
1状態遲れ分岐構造装置に発生させる指令キャッシュ手
段と、から構成される装置をも備えることができる。
【0012】本発明の長所は、所定の移相期間を約半サ
イクルに設定して、指令キャッシュおよびデータキャッ
シュに余分の半サイクルの応答時間を与えるようにする
ことができることである。クロックパルスが半サイクル
ごとに発生するので、マイクロプロセッサ内部の他の動
作を半サイクル周期中に実行することができ、コンピュ
ータシステムが非常に高速度で動作することができる。 事実、これは記憶キャッシュに対して1サイクルの応答
時間を許容する従来のマイクロプロセッサの限界を超え
て或る指令を実行する動作速度を3倍にすることができ
る。本質的に、指令キャッシュおよびデータキャッシュ
の両者に1指令ステップ遲れを超える罰則を課すことな
く半サイクルの3倍に等しい応答期間が与えられるが、
これは従来のシステムより大きくない。
イクルに設定して、指令キャッシュおよびデータキャッ
シュに余分の半サイクルの応答時間を与えるようにする
ことができることである。クロックパルスが半サイクル
ごとに発生するので、マイクロプロセッサ内部の他の動
作を半サイクル周期中に実行することができ、コンピュ
ータシステムが非常に高速度で動作することができる。 事実、これは記憶キャッシュに対して1サイクルの応答
時間を許容する従来のマイクロプロセッサの限界を超え
て或る指令を実行する動作速度を3倍にすることができ
る。本質的に、指令キャッシュおよびデータキャッシュ
の両者に1指令ステップ遲れを超える罰則を課すことな
く半サイクルの3倍に等しい応答期間が与えられるが、
これは従来のシステムより大きくない。
【0013】
【実施例】図1は、本発明の装置の概略ブロック図であ
り、マイクロプロセッサ10に取付けられた指令キャッ
シュ12およびデータキャッシュ14を備えたマイクロ
プロセッサ・チップ10を示している。指令キャッシュ
12およびデータキャッシュ14は、図示してないDR
AMへの別の接続の他に、DRAM記憶装置(図示せず
)に対してデータを読み書きする制御線をも備えること
ができる。その他に、マイクロプロセッサ・チップ10
は、マイクロプロセッサ・チップの普通に知られいる構
成要素のすべてを図示するのではなく、主要構成要素お
よび本発明に関連するこれら構成要素の相互接続を示し
ている。
り、マイクロプロセッサ10に取付けられた指令キャッ
シュ12およびデータキャッシュ14を備えたマイクロ
プロセッサ・チップ10を示している。指令キャッシュ
12およびデータキャッシュ14は、図示してないDR
AMへの別の接続の他に、DRAM記憶装置(図示せず
)に対してデータを読み書きする制御線をも備えること
ができる。その他に、マイクロプロセッサ・チップ10
は、マイクロプロセッサ・チップの普通に知られいる構
成要素のすべてを図示するのではなく、主要構成要素お
よび本発明に関連するこれら構成要素の相互接続を示し
ている。
【0014】本発明によれば、クロック回路16は、「
サイクル・クロックパルス」というクロック信号を発生
する。これらパルスはパイプラインの各サイクルの始ま
りを示す。同様に、クロック18は、クロック16と同
じ周期を有するが、所定の移相期間だけ移相されている
。クロックパルスは、Robert H.Mille
rにより1990年2月13日に出願された「高速低ス
キュー・クロック回路(High Speed L
ow Skew Clock Circuit)
」と題する米国特許出願書第479562号に開示され
ているようなクロック回路により発生することができる
。この米国特許出願書についてはその教示するところす
べてをここに特に取入れてある。本発明の好適実施例に
よれば、クロック18は、クロック16およびクロック
18がクロックパルスを各半サイクル発生するように半
サイクルだけ移相されている。これらクロックパルスは
、制御ユニット20の他に図1に示す多数の他の構成要
素にも伝達される。特に、各サイクルの初めにクロック
16により発生されるサイクル・クロックパルスは、各
サイクル・クロックパルスごとに1だけ増加するプログ
ラム・カウンタ22に伝えられる。プログラム・カウン
タのカウントは、「PC値」として知られているが、分
岐加算器24およびマルチプレクサ26に伝えられる。 分岐加算器24はPC値を現在の分岐指令により指定さ
れる値に加算する。この指定値は、図4および図7の説
明で一層完全に説明するように、符号拡張されているW
1値(E−W1)である。符号拡張されたW1値は制御
ユニット20から分岐加算器24に線28により伝えら
れる。マルチプレクサ26は、プログラム・カウンタ2
2から直接伝えられたPC値、またはPC値に分岐加算
器24からの符号拡張W1(E−W1)値を加えたもの
、のいずれかを選択してこれらの一つをその出力から線
30に発生する。これらの値は、指令キャッシュ12へ
のアドレスとしておよび新しいロード値として伝達され
、線32を経由してプログラム・カウンタ22にロード
し、またはリセットする。マルチプレクサ26は比較器
36により発生された比較器制御信号34に従いこれら
の値の一つを選択する。比較器36は、入力線38に発
生した汎用レジスタ和を制御ユニット20から伝えられ
た条件データ40と比較する。汎用レジスタ和は分岐指
令の「x」フィールドにより指定された汎用レジスタ・
データに分岐指令の「b」フィールドにより指定された
汎用レジスタ・データを加えたものに等しい。GR(x
)データは、読出信号44に応じて汎用レジスタから直
接伝達され、GR(b)データは、読出信号42および
制御ユニット20により発生されたバイパス制御信号5
2に応じてマルチプレクサ48を通して直接読出され、
算術論理ユニット46で加算されて、汎用レジスタ和を
発生する。ロード指令の「b」フィールドにより指定さ
れた汎用レジスタ・データは線42により伝達された読
出信号に応じてマルチプレクサ48に伝達され、ロード
指令の「b」フィールドにより指定された汎用レジスタ
を読出す。
サイクル・クロックパルス」というクロック信号を発生
する。これらパルスはパイプラインの各サイクルの始ま
りを示す。同様に、クロック18は、クロック16と同
じ周期を有するが、所定の移相期間だけ移相されている
。クロックパルスは、Robert H.Mille
rにより1990年2月13日に出願された「高速低ス
キュー・クロック回路(High Speed L
ow Skew Clock Circuit)
」と題する米国特許出願書第479562号に開示され
ているようなクロック回路により発生することができる
。この米国特許出願書についてはその教示するところす
べてをここに特に取入れてある。本発明の好適実施例に
よれば、クロック18は、クロック16およびクロック
18がクロックパルスを各半サイクル発生するように半
サイクルだけ移相されている。これらクロックパルスは
、制御ユニット20の他に図1に示す多数の他の構成要
素にも伝達される。特に、各サイクルの初めにクロック
16により発生されるサイクル・クロックパルスは、各
サイクル・クロックパルスごとに1だけ増加するプログ
ラム・カウンタ22に伝えられる。プログラム・カウン
タのカウントは、「PC値」として知られているが、分
岐加算器24およびマルチプレクサ26に伝えられる。 分岐加算器24はPC値を現在の分岐指令により指定さ
れる値に加算する。この指定値は、図4および図7の説
明で一層完全に説明するように、符号拡張されているW
1値(E−W1)である。符号拡張されたW1値は制御
ユニット20から分岐加算器24に線28により伝えら
れる。マルチプレクサ26は、プログラム・カウンタ2
2から直接伝えられたPC値、またはPC値に分岐加算
器24からの符号拡張W1(E−W1)値を加えたもの
、のいずれかを選択してこれらの一つをその出力から線
30に発生する。これらの値は、指令キャッシュ12へ
のアドレスとしておよび新しいロード値として伝達され
、線32を経由してプログラム・カウンタ22にロード
し、またはリセットする。マルチプレクサ26は比較器
36により発生された比較器制御信号34に従いこれら
の値の一つを選択する。比較器36は、入力線38に発
生した汎用レジスタ和を制御ユニット20から伝えられ
た条件データ40と比較する。汎用レジスタ和は分岐指
令の「x」フィールドにより指定された汎用レジスタ・
データに分岐指令の「b」フィールドにより指定された
汎用レジスタ・データを加えたものに等しい。GR(x
)データは、読出信号44に応じて汎用レジスタから直
接伝達され、GR(b)データは、読出信号42および
制御ユニット20により発生されたバイパス制御信号5
2に応じてマルチプレクサ48を通して直接読出され、
算術論理ユニット46で加算されて、汎用レジスタ和を
発生する。ロード指令の「b」フィールドにより指定さ
れた汎用レジスタ・データは線42により伝達された読
出信号に応じてマルチプレクサ48に伝達され、ロード
指令の「b」フィールドにより指定された汎用レジスタ
を読出す。
【0015】データキャッシュ14の出力50で発生し
たデータキャッシュ・データはマルチプレクサ48にも
伝達される。マルチプレクサ48は、ロード指令の「b
」フィールドにより指定された汎用レジスタからのデー
タ〔GR(b)データ〕またはデータキャッシュ・デー
タ(DCD)のいずれかを、制御ユニット20により発
生されたバイパス制御信号52に従って、選択する。バ
イパス制御信号52は、図3の説明で一層完全に説明す
るように、データキャッシュ・データを、第2の後続ロ
ード指令により使用するため算術論理ユニット46に直
接流すべきとき発生される。データ制御データ、または
ロード指令の「b」フィールドにより指定された汎用レ
ジスタ・データは、マルチプレクサ48により線54を
経由して、算術論理46の入力に伝達される。即値は、
拡張IM14値(E−IM14)として知られているが
、線56を経由して算術論理ユニット46の入力にも接
続されている。算術論理ユニット46は、即値(E−I
M14)をデータキャッシュ・データ(DCD)かまた
はロード指令の「b」フィールドにより指定された汎用
レジスタ・データ〔GR(b)〕に加算して線58に「
データキャッシュ・アドレス」を発生する。 データキャッシュ・アドレスは、線58を経由して、デ
ータキャッシュ14に送られ、データキャッシュのデー
タキャッシュ・アドレスに格納されているデータを取出
す。図2は、図1の装置の動作を示す流れ図である。図
2に示すように、参照数字60で示すようにプロセスが
始動し、参照数字62で示すようにクロック信号を発生
する。クロック信号は、参照数字64のプログラム・カ
ウンタに送られ、プログラム・カウンタは、参照数字6
6で示すように、逐次アドレス信号(PC)を発生する
。マイクロプロセッサ・ユニット10は次に逐次PCま
たは分岐アドレス信号を、参照数字68で示すように、
指令キャッシュ12に送り、指令は、参照数字70で示
すように、マイクロプロセッサ・ユニット10により指
令キャッシュ12から逆受信される。参照数字72は、
指令を指令キャッシュ12から受取ると制御ユニット2
0が行う機能を示す。制御ユニット20は、指令の動作
コード(オプコード)を同時に読出すが、これについて
は図7および図8で更に説明する。制御ユニットはまた
線42および44に読出信号を同時に発生し、指令の「
b」および「x」フィールドにより指定された汎用レジ
スタ40の記憶場所から読出すが、これについても図7
および図8で更に説明する。他に、制御ユニット20は
、指令がそれぞれ分岐指令かロード指令かにより、現在
の分岐指令により指定された符号拡張値(E−W1)、
あるいは符号拡張即値(E−IM14)を同時に発生す
る。即値(E−IM14)および現在の分岐指令により
指定された値(E−W1)は、図7および図8で更に説
明するように指令から得られる値である。制御ユニット
20は、W1およびIM14ついて符号拡張動作を行う
が、この動作は、これら値の正または負の符号を一定数
のビット、たとえば、32ビットまで繰返すプロセスか
ら成る。参照数字74は、動作コードにより指定された
指令が、参照数字76で示されるように、図3で更に一
層完全に図解するように、ロード指令であるか、または
参照数字78で示すように、図4で一層完全に図解する
ように、真なら加算し分岐せよ指令であるかを判定する
判断ブロックを示す。
たデータキャッシュ・データはマルチプレクサ48にも
伝達される。マルチプレクサ48は、ロード指令の「b
」フィールドにより指定された汎用レジスタからのデー
タ〔GR(b)データ〕またはデータキャッシュ・デー
タ(DCD)のいずれかを、制御ユニット20により発
生されたバイパス制御信号52に従って、選択する。バ
イパス制御信号52は、図3の説明で一層完全に説明す
るように、データキャッシュ・データを、第2の後続ロ
ード指令により使用するため算術論理ユニット46に直
接流すべきとき発生される。データ制御データ、または
ロード指令の「b」フィールドにより指定された汎用レ
ジスタ・データは、マルチプレクサ48により線54を
経由して、算術論理46の入力に伝達される。即値は、
拡張IM14値(E−IM14)として知られているが
、線56を経由して算術論理ユニット46の入力にも接
続されている。算術論理ユニット46は、即値(E−I
M14)をデータキャッシュ・データ(DCD)かまた
はロード指令の「b」フィールドにより指定された汎用
レジスタ・データ〔GR(b)〕に加算して線58に「
データキャッシュ・アドレス」を発生する。 データキャッシュ・アドレスは、線58を経由して、デ
ータキャッシュ14に送られ、データキャッシュのデー
タキャッシュ・アドレスに格納されているデータを取出
す。図2は、図1の装置の動作を示す流れ図である。図
2に示すように、参照数字60で示すようにプロセスが
始動し、参照数字62で示すようにクロック信号を発生
する。クロック信号は、参照数字64のプログラム・カ
ウンタに送られ、プログラム・カウンタは、参照数字6
6で示すように、逐次アドレス信号(PC)を発生する
。マイクロプロセッサ・ユニット10は次に逐次PCま
たは分岐アドレス信号を、参照数字68で示すように、
指令キャッシュ12に送り、指令は、参照数字70で示
すように、マイクロプロセッサ・ユニット10により指
令キャッシュ12から逆受信される。参照数字72は、
指令を指令キャッシュ12から受取ると制御ユニット2
0が行う機能を示す。制御ユニット20は、指令の動作
コード(オプコード)を同時に読出すが、これについて
は図7および図8で更に説明する。制御ユニットはまた
線42および44に読出信号を同時に発生し、指令の「
b」および「x」フィールドにより指定された汎用レジ
スタ40の記憶場所から読出すが、これについても図7
および図8で更に説明する。他に、制御ユニット20は
、指令がそれぞれ分岐指令かロード指令かにより、現在
の分岐指令により指定された符号拡張値(E−W1)、
あるいは符号拡張即値(E−IM14)を同時に発生す
る。即値(E−IM14)および現在の分岐指令により
指定された値(E−W1)は、図7および図8で更に説
明するように指令から得られる値である。制御ユニット
20は、W1およびIM14ついて符号拡張動作を行う
が、この動作は、これら値の正または負の符号を一定数
のビット、たとえば、32ビットまで繰返すプロセスか
ら成る。参照数字74は、動作コードにより指定された
指令が、参照数字76で示されるように、図3で更に一
層完全に図解するように、ロード指令であるか、または
参照数字78で示すように、図4で一層完全に図解する
ように、真なら加算し分岐せよ指令であるかを判定する
判断ブロックを示す。
【0016】図3は、ロード指令に応じて図1の装置の
動作を示す流れ図である。判断ブロック80で示すよう
に、制御ユニット20は、現在の指令のTフィールドに
より指定された目標アドレスを第2の後続指令のBフィ
ールドにより指定されたオペランド・アドレスと比較し
、それらが同じであるか異なっているかを判断する。 これらのアドレスが同じであれば、制御ユニット20は
、バイパス制御信号を線52に発生し、この信号はマル
チプレクサ48に伝えられて線54を経由して算術論理
ユニット46に伝えられるべきデータキャッシュ・デー
タ(DCD)を選択する。この仕方で、現在の指令ステ
ップからのデータキャッシュ・データ(DCD)が算術
論理ユニット46の入力で利用可能となり、現在の指令
ステップの目標アドレス「t」が第2の後続指令のオペ
ランド・アドレス「b」と同じであるときは現在の指令
ステップに対する即値(E−IM14)と組合わされる
。データキャッシュ・データを算術論理ユニットの入力
に直接伝えるこのプロセスによりデータキャッシュ14
が、第2の後続指令ステップでのデータキャッシュ・デ
ータの使用を遲らすことなく、1.5サイクルの応答時
間を所有することができる。
動作を示す流れ図である。判断ブロック80で示すよう
に、制御ユニット20は、現在の指令のTフィールドに
より指定された目標アドレスを第2の後続指令のBフィ
ールドにより指定されたオペランド・アドレスと比較し
、それらが同じであるか異なっているかを判断する。 これらのアドレスが同じであれば、制御ユニット20は
、バイパス制御信号を線52に発生し、この信号はマル
チプレクサ48に伝えられて線54を経由して算術論理
ユニット46に伝えられるべきデータキャッシュ・デー
タ(DCD)を選択する。この仕方で、現在の指令ステ
ップからのデータキャッシュ・データ(DCD)が算術
論理ユニット46の入力で利用可能となり、現在の指令
ステップの目標アドレス「t」が第2の後続指令のオペ
ランド・アドレス「b」と同じであるときは現在の指令
ステップに対する即値(E−IM14)と組合わされる
。データキャッシュ・データを算術論理ユニットの入力
に直接伝えるこのプロセスによりデータキャッシュ14
が、第2の後続指令ステップでのデータキャッシュ・デ
ータの使用を遲らすことなく、1.5サイクルの応答時
間を所有することができる。
【0017】バイパス手順が本発明に従って実現されな
い場合には、データキャッシュ・データを汎用レジスタ
に書込んでから続いて汎用レジスタから読出さなければ
ならない。このような場合には、データを第2の後続ロ
ード指令に対して適時に利用することができず、別の指
令ステップ遲れがシステムに課されることになる。した
がって、バイパス制御信号の発生によりデータキャッシ
ュ14は、現在の指令の目標アドレスが第2の後続指令
のオペランドアドレスと同じであるときは、いつでも、
後続指令によるデータの使用を遲らすことなく、1.5
サイクルの応答時間を所持することができる。参照数字
82は、現在の指令に対して、データをデータキャッシ
ュから直接算術論理ユニット46に伝えることによるバ
イパス・データの選択を示す。
い場合には、データキャッシュ・データを汎用レジスタ
に書込んでから続いて汎用レジスタから読出さなければ
ならない。このような場合には、データを第2の後続ロ
ード指令に対して適時に利用することができず、別の指
令ステップ遲れがシステムに課されることになる。した
がって、バイパス制御信号の発生によりデータキャッシ
ュ14は、現在の指令の目標アドレスが第2の後続指令
のオペランドアドレスと同じであるときは、いつでも、
後続指令によるデータの使用を遲らすことなく、1.5
サイクルの応答時間を所持することができる。参照数字
82は、現在の指令に対して、データをデータキャッシ
ュから直接算術論理ユニット46に伝えることによるバ
イパス・データの選択を示す。
【0018】現在のロード指令の目標アドレスが第2の
後続ロード指令のオペランド・アドレスと同じでないこ
とが確認されれば、図3の参照数字84は、制御ユニッ
ト20が線42に信号を発生して汎用レジスタの内容を
ロード指令の「b」フィールドにより指定されたアドレ
スから読出すことを示す。線54のこのデータ〔GR(
b)データ〕またはデータキャッシュ・データ(DCデ
ータ)は、次に算術論理ユニット46の入力に送られる
。算術論理ユニット46は次にGR(b)データまたは
データキャッシュ・データにALU46により第2の後
続ロード指令の即値データ(E−IM14)を加算して
、図3の参照数字86で示すように、線58にデータキ
ャッシュ・アドレスを発生する。データキャッシュ・ア
ドレスは、参照数字88で示すように、マイクロプロセ
ッサ10からデータキャッシュ14に発せられ、次いで
データは図3の参照数字90で示すように線50を経由
してデータキャッシュ14から逆受信される。データは
次に、参照数字92で示すように、汎用レジスタ40の
、ロード指令の「t」フィールドにより指定された目標
アドレスに書込まれる。データキャッシュ格納制御信号
41は、データキャッシュ・データ(DCD)の汎用レ
ジスタ40への書込みを制御する。図3の参照数字94
で示すように、データキャッシュはマルチプレクサ48
にも伝えられて、バイパス制御信号が発生するときはい
つでも利用可能になる。
後続ロード指令のオペランド・アドレスと同じでないこ
とが確認されれば、図3の参照数字84は、制御ユニッ
ト20が線42に信号を発生して汎用レジスタの内容を
ロード指令の「b」フィールドにより指定されたアドレ
スから読出すことを示す。線54のこのデータ〔GR(
b)データ〕またはデータキャッシュ・データ(DCデ
ータ)は、次に算術論理ユニット46の入力に送られる
。算術論理ユニット46は次にGR(b)データまたは
データキャッシュ・データにALU46により第2の後
続ロード指令の即値データ(E−IM14)を加算して
、図3の参照数字86で示すように、線58にデータキ
ャッシュ・アドレスを発生する。データキャッシュ・ア
ドレスは、参照数字88で示すように、マイクロプロセ
ッサ10からデータキャッシュ14に発せられ、次いで
データは図3の参照数字90で示すように線50を経由
してデータキャッシュ14から逆受信される。データは
次に、参照数字92で示すように、汎用レジスタ40の
、ロード指令の「t」フィールドにより指定された目標
アドレスに書込まれる。データキャッシュ格納制御信号
41は、データキャッシュ・データ(DCD)の汎用レ
ジスタ40への書込みを制御する。図3の参照数字94
で示すように、データキャッシュはマルチプレクサ48
にも伝えられて、バイパス制御信号が発生するときはい
つでも利用可能になる。
【0019】図4は、指令キャッシュ12から真なら加
算し分岐せよ指令を受取ったときの図1の装置の動作を
示す。図4に示すとおり、参照数字96は、読出信号が
線42および44に発生されて汎用レジスタ40からの
「b」フィールド〔GR(b)データ〕および「x」フ
ィールド〔GR(x)データ〕で指定された汎用レジス
タ・データを読出す。GR(x)データおよび、マルチ
プレクサ48を経由する、データキャッシュ・データま
たはGR(b)データは、ALU46に送られ、加算さ
れて出力38に汎用レジスタ和を発生する。同時に、分
岐指令から読出された、プログラム・カウンタ値(PC
)および符号拡張W1値(E−W1)が分岐加算器24
により加算されて分岐アドレスを発生し、これがマルチ
プレクサ26に加えられる。図4の参照数字98で示し
たように、比較器36は、汎用レジスタ和38を真なら
加算し分岐せよ指令の「c」フィールドにより指定され
て線40を経由して制御ユニット20から比較器30に
向けられた条件値(C)と比較する。条件値40が汎用
レジスタ和38と合致すれば、比較器制御信号34が発
生し、これはマルチプレクサ26に加えられて分岐アド
レスを指令キャッシュ12に加えさせる。この値はプロ
グラム・カウンタ値(PC)に符号拡張W1値を加えた
もの(PC+E−W1)に等しい。これを図4の参照数
字100で示すがこれにより分岐アドレスを分岐加算器
24から第3の後続指令のため取出すことができる。 換言すれば、指令キャッシュのアクセス時間が1.5サ
イクルであっても、分岐アドレス(PC+E−W1)を
指令キャッシュ12に対してやはり適時に利用でき、第
3の後続指令に対する指令を発生することができる。こ
れを図6の説明で更に完全に開示する。参照数字102
で示すように、プログラム・カウンタ22にプログラム
・カウンタ値と符号拡張W1値を加えたもの(PC+E
−W1)に等しい新しいプログラム値を線32を経由し
てロードする。プログラム・カウンタ22は次に参照数
字104で示すように指令系列に対する新しい値を用い
て続行する。参照数字106で示すように、条件値が汎
用レジスタ和と同じでなければ、比較器制御34は発生
されない。この場合には、PC値がマルチプレクサ26
により選択されてPCからの逐次アドレスを参照数字1
07で示すように第3の後続指令に対して発生できるよ
うにする。
算し分岐せよ指令を受取ったときの図1の装置の動作を
示す。図4に示すとおり、参照数字96は、読出信号が
線42および44に発生されて汎用レジスタ40からの
「b」フィールド〔GR(b)データ〕および「x」フ
ィールド〔GR(x)データ〕で指定された汎用レジス
タ・データを読出す。GR(x)データおよび、マルチ
プレクサ48を経由する、データキャッシュ・データま
たはGR(b)データは、ALU46に送られ、加算さ
れて出力38に汎用レジスタ和を発生する。同時に、分
岐指令から読出された、プログラム・カウンタ値(PC
)および符号拡張W1値(E−W1)が分岐加算器24
により加算されて分岐アドレスを発生し、これがマルチ
プレクサ26に加えられる。図4の参照数字98で示し
たように、比較器36は、汎用レジスタ和38を真なら
加算し分岐せよ指令の「c」フィールドにより指定され
て線40を経由して制御ユニット20から比較器30に
向けられた条件値(C)と比較する。条件値40が汎用
レジスタ和38と合致すれば、比較器制御信号34が発
生し、これはマルチプレクサ26に加えられて分岐アド
レスを指令キャッシュ12に加えさせる。この値はプロ
グラム・カウンタ値(PC)に符号拡張W1値を加えた
もの(PC+E−W1)に等しい。これを図4の参照数
字100で示すがこれにより分岐アドレスを分岐加算器
24から第3の後続指令のため取出すことができる。 換言すれば、指令キャッシュのアクセス時間が1.5サ
イクルであっても、分岐アドレス(PC+E−W1)を
指令キャッシュ12に対してやはり適時に利用でき、第
3の後続指令に対する指令を発生することができる。こ
れを図6の説明で更に完全に開示する。参照数字102
で示すように、プログラム・カウンタ22にプログラム
・カウンタ値と符号拡張W1値を加えたもの(PC+E
−W1)に等しい新しいプログラム値を線32を経由し
てロードする。プログラム・カウンタ22は次に参照数
字104で示すように指令系列に対する新しい値を用い
て続行する。参照数字106で示すように、条件値が汎
用レジスタ和と同じでなければ、比較器制御34は発生
されない。この場合には、PC値がマルチプレクサ26
により選択されてPCからの逐次アドレスを参照数字1
07で示すように第3の後続指令に対して発生できるよ
うにする。
【0020】図5は一連のロード指令に対するパイプラ
インを示す概要図である。図5に示すように、一連の連
続ロード指令110、112、114を示してある。図
示した最初の指令は、パイプライン内のどこかに入る指
令を備える現在のロード指令110である。すなわち、
一連の前の指令はこれら指令に先行していることができ
る。次の指令、すなわち、第1の後続指令112、もロ
ード指令として示してある。図5は一連の連続ロード指
令ステップを示しているが、第1の後続指令ステップ1
12は、一連の連続ロード指令ステップから成るロード
指令であることを必ずしも必要としない。第2の後続ロ
ード指令114も図5に同じ仕方で示してある。
インを示す概要図である。図5に示すように、一連の連
続ロード指令110、112、114を示してある。図
示した最初の指令は、パイプライン内のどこかに入る指
令を備える現在のロード指令110である。すなわち、
一連の前の指令はこれら指令に先行していることができ
る。次の指令、すなわち、第1の後続指令112、もロ
ード指令として示してある。図5は一連の連続ロード指
令ステップを示しているが、第1の後続指令ステップ1
12は、一連の連続ロード指令ステップから成るロード
指令であることを必ずしも必要としない。第2の後続ロ
ード指令114も図5に同じ仕方で示してある。
【0021】図5は、図式形態で、各指令ステップが時
間的に進行する仕方を示している。時刻T=0、T=1
、T=2、およびその後の各整数時に、クロック16は
サイクル・クロックパルスを発生して各サイクルの始ま
りを示す。完全サイクルはT=0とT=1との間、およ
び図示した各整数時の間で生ずる。クロック18はT=
0.5、T=1.5などでクロックパルスを発生し、ク
ロック16により発生されたサイクル・クロックパルス
の間の半サイクル時間を指定する。換言すれば、クロッ
ク18は180度だけ、すなわちクロック16により発
生されたサイクル・クロックパルスから半サイクルだけ
、移相されている一連のクロックパルスを発生する。
間的に進行する仕方を示している。時刻T=0、T=1
、T=2、およびその後の各整数時に、クロック16は
サイクル・クロックパルスを発生して各サイクルの始ま
りを示す。完全サイクルはT=0とT=1との間、およ
び図示した各整数時の間で生ずる。クロック18はT=
0.5、T=1.5などでクロックパルスを発生し、ク
ロック16により発生されたサイクル・クロックパルス
の間の半サイクル時間を指定する。換言すれば、クロッ
ク18は180度だけ、すなわちクロック16により発
生されたサイクル・クロックパルスから半サイクルだけ
、移相されている一連のクロックパルスを発生する。
【0022】再び図5を参照すると、現在の指令ステッ
プ110は、指令キャッシュ12が時刻T=0と時刻T
=1.5との間で、指令を取出すのに1.5サイクルを
許容される仕方を示している。次の半指令ステップの期
間中、図1の装置は即値14に関して、符号拡張動作を
行い、動作コード(オプコード)を読取り、「b」フィ
ールドで指定された汎用レジスタを読取る。時刻T=2
と時刻T=2.5との間で、ALU46は、GR(b)
データとE−IM14データと、またはデータキャッシ
ュ・データ(DCD)とE−IM14データとを加算し
てその動作を行い、線58(図1)にデータキャッシュ
・アドレスを発生する。データキャッシュ14は次に時
刻T=2.5と時刻T=4との間で1.5サイクルを与
えられ、データをデータキャッシュから取出し、これを
マイクロプロセッサ・チップに戻す。図5に示すように
、データキャッシュから取出されたデータは時刻T=4
で第2の後続指令ステップ14により行われるべきAL
U動作に利用可能になるので、現在の指令の目標アドレ
スが第2の後続指令14のオペランド・アドレスと同じ
であれば、バイパス制御信号が制御ユニット20により
発生されて現在の指令110のデータキャッシュからの
データを直接ALU46に送り、データキャッシュ・デ
ータ(DCD)が第2の後続指令114による使用に利
用できるようにする。この方法で、図5は指令キャッシ
ュおよびデータキャッシュの双方に1指令ステップ遲れ
より多い遲れ罰則を課すことなく1.5サイクルのアク
セス時間を許容することができる手段を示している。 換言すれば、第1の後続指令ステップ112だけを、そ
のオペランド・アドレスが現在の指令ステップ110に
対する目標アドレスと同じであれば、捨てなければなら
ない。
プ110は、指令キャッシュ12が時刻T=0と時刻T
=1.5との間で、指令を取出すのに1.5サイクルを
許容される仕方を示している。次の半指令ステップの期
間中、図1の装置は即値14に関して、符号拡張動作を
行い、動作コード(オプコード)を読取り、「b」フィ
ールドで指定された汎用レジスタを読取る。時刻T=2
と時刻T=2.5との間で、ALU46は、GR(b)
データとE−IM14データと、またはデータキャッシ
ュ・データ(DCD)とE−IM14データとを加算し
てその動作を行い、線58(図1)にデータキャッシュ
・アドレスを発生する。データキャッシュ14は次に時
刻T=2.5と時刻T=4との間で1.5サイクルを与
えられ、データをデータキャッシュから取出し、これを
マイクロプロセッサ・チップに戻す。図5に示すように
、データキャッシュから取出されたデータは時刻T=4
で第2の後続指令ステップ14により行われるべきAL
U動作に利用可能になるので、現在の指令の目標アドレ
スが第2の後続指令14のオペランド・アドレスと同じ
であれば、バイパス制御信号が制御ユニット20により
発生されて現在の指令110のデータキャッシュからの
データを直接ALU46に送り、データキャッシュ・デ
ータ(DCD)が第2の後続指令114による使用に利
用できるようにする。この方法で、図5は指令キャッシ
ュおよびデータキャッシュの双方に1指令ステップ遲れ
より多い遲れ罰則を課すことなく1.5サイクルのアク
セス時間を許容することができる手段を示している。 換言すれば、第1の後続指令ステップ112だけを、そ
のオペランド・アドレスが現在の指令ステップ110に
対する目標アドレスと同じであれば、捨てなければなら
ない。
【0023】図5は、データを現在の指令ステップ11
0から第2の後続指令ステップ114のALU動作に利
用できるようにする仕方を示している。この仕方で、指
令キャッシュのアクセス時間およびデータキャッシュの
アクセス時間の双方を、通常は1サイクル・アクセス時
間に固有の遲れ、すなわち1ステップの遲れ、より大き
い遲れを課すことなく、1.5サイクルとすることがで
きる。データキャッシュのアクセス時間が2サイクルに
延長されていれば、現在の指令ステップ110からのデ
ータが第2の後続指令114のALU動作に利用できな
くなり、別の指令ステップ遲れがパイプラインに課され
ることになる。
0から第2の後続指令ステップ114のALU動作に利
用できるようにする仕方を示している。この仕方で、指
令キャッシュのアクセス時間およびデータキャッシュの
アクセス時間の双方を、通常は1サイクル・アクセス時
間に固有の遲れ、すなわち1ステップの遲れ、より大き
い遲れを課すことなく、1.5サイクルとすることがで
きる。データキャッシュのアクセス時間が2サイクルに
延長されていれば、現在の指令ステップ110からのデ
ータが第2の後続指令114のALU動作に利用できな
くなり、別の指令ステップ遲れがパイプラインに課され
ることになる。
【0024】図6は、分岐指令に対する本発明の指令パ
イプラインを概略的に示す。クロック信号は図5の説明
で述べたと同じ仕方で発生し、所定の移相期間および完
全サイクル周期に等しい半サイクル期間を作る。図6で
示したように、現在の指令116に対する指令キャッシ
ュは、指令を取出すのにT=0とT=1.5との間に1
.5サイクルを許容される。T=1.5とT=2との間
の次の半サイクル中に、図1の装置はW1を符号拡張し
、分岐指令のオプコードを読取り、「b」フィールドで
指定された汎用レジスタを読取る。T=2とT=2.5
との間の次の半サイクル中に、ALUは、GR(b)デ
ータとGR(x)データとの加算の動作を行い、分岐加
算器は、プログラム・カウンタ(PC)データに符号拡
張したW1データ(E−W1)を加算する。T=2.5
とT=3との間の次の半サイクル中に、比較器36は、
汎用レジスタ和GR(x)+GR(b)を条件値「C」
と比較して分岐指令を発すべきか否かを判定する。指令
キャッシュは次にT=3とT=4.5との間に1.5サ
イクルのアクセス時間を与えられ、指令が次の後続指令
であっても、または分岐指令であっても、その指令を取
出す。
イプラインを概略的に示す。クロック信号は図5の説明
で述べたと同じ仕方で発生し、所定の移相期間および完
全サイクル周期に等しい半サイクル期間を作る。図6で
示したように、現在の指令116に対する指令キャッシ
ュは、指令を取出すのにT=0とT=1.5との間に1
.5サイクルを許容される。T=1.5とT=2との間
の次の半サイクル中に、図1の装置はW1を符号拡張し
、分岐指令のオプコードを読取り、「b」フィールドで
指定された汎用レジスタを読取る。T=2とT=2.5
との間の次の半サイクル中に、ALUは、GR(b)デ
ータとGR(x)データとの加算の動作を行い、分岐加
算器は、プログラム・カウンタ(PC)データに符号拡
張したW1データ(E−W1)を加算する。T=2.5
とT=3との間の次の半サイクル中に、比較器36は、
汎用レジスタ和GR(x)+GR(b)を条件値「C」
と比較して分岐指令を発すべきか否かを判定する。指令
キャッシュは次にT=3とT=4.5との間に1.5サ
イクルのアクセス時間を与えられ、指令が次の後続指令
であっても、または分岐指令であっても、その指令を取
出す。
【0025】図6に示すように、第3の後続指令122
もT=3とT=4.5との間でその初期指令を取出すが
、この期間は現在の指令116が次の指令を取出す期間
に正確に合致する。その結果、現在の指令116に対す
る指令取出しが、指令キャッシュに1.5サイクルのア
クセス時間が許容されていても、第3の後続指令122
に利用可能である。1状態遲れの分岐指令では、第1の
後続指令118は実行されるのでこれは遲れと考えられ
ない。換言すれば、分岐指令は指令系列の中に置かれて
いるので第1の後続指令118は通常実行されることが
できる。したがって、必然的に廃棄しなければならない
指令ステップは、第2の後続指令120だけであり、1
状態遲れ分岐構造に対して1指令ステップ遲れが生ずる
。
もT=3とT=4.5との間でその初期指令を取出すが
、この期間は現在の指令116が次の指令を取出す期間
に正確に合致する。その結果、現在の指令116に対す
る指令取出しが、指令キャッシュに1.5サイクルのア
クセス時間が許容されていても、第3の後続指令122
に利用可能である。1状態遲れの分岐指令では、第1の
後続指令118は実行されるのでこれは遲れと考えられ
ない。換言すれば、分岐指令は指令系列の中に置かれて
いるので第1の後続指令118は通常実行されることが
できる。したがって、必然的に廃棄しなければならない
指令ステップは、第2の後続指令120だけであり、1
状態遲れ分岐構造に対して1指令ステップ遲れが生ずる
。
【0026】図7は、本発明により利用される32ビッ
ト分岐指令のデータ・フィールドを示す。図7に示すよ
うに、32ビット分岐指令の最初の6ビットは、指令が
実際、真なら加算し分岐せよ指令であることを示す動作
コード(オプコード)である。次の5ビットは、「b」
フィールドを構成し、これはデータを取出す汎用レジス
タ内のフィールドを指定する。図1に示したように、汎
用レジスタ40から取出したGR(b)およびGR(x
)データは共に加算されて汎用レジスタ和を形成する。 再び図7を参照すると、次の3ビットは「c」フィール
ドから成り、これは3ビット条件値を構成し、この値は
汎用レジスタ和と比較されて指定された条件、すなわち
条件値、が真であるか判定する。分岐指令の次の11ビ
ットは分岐指令により指定された値から成り、これをW
1フィールドという。続く2ビットは無効化ビットのよ
うな制御ビットから構成される。
ト分岐指令のデータ・フィールドを示す。図7に示すよ
うに、32ビット分岐指令の最初の6ビットは、指令が
実際、真なら加算し分岐せよ指令であることを示す動作
コード(オプコード)である。次の5ビットは、「b」
フィールドを構成し、これはデータを取出す汎用レジス
タ内のフィールドを指定する。図1に示したように、汎
用レジスタ40から取出したGR(b)およびGR(x
)データは共に加算されて汎用レジスタ和を形成する。 再び図7を参照すると、次の3ビットは「c」フィール
ドから成り、これは3ビット条件値を構成し、この値は
汎用レジスタ和と比較されて指定された条件、すなわち
条件値、が真であるか判定する。分岐指令の次の11ビ
ットは分岐指令により指定された値から成り、これをW
1フィールドという。続く2ビットは無効化ビットのよ
うな制御ビットから構成される。
【0027】図8は、本発明により利用される32ビッ
ト・ロード指令のデータ・フィールドを示す。図8に示
すように、ロード指令の最初の6ビットは指令をロード
指令として識別する動作コード(オプコード)でもある
。同様に、次の5ビットも「b」フィールドを指定し、
これはロード指令の「オペランドアドレス」、すなわち
、汎用レジスタからデータを取出すアドレス、から構成
される。次の5ビットは「t」フィールドすなわち目標
フィールドから構成される。「t」フィールドはデータ
キャッシュ・データ(DCD)を汎用レジスタに格納す
べき「目標アドレス」から構成される。次の2ビットは
、スペース・ビットであり、残りの14ビットは即値(
IM14)から成り、これは、図1で示したように、拡
張され次いで算術論理ユニット46でデータキャッシュ
・データ(DCD)またはGR(b)データと加え合せ
られる。
ト・ロード指令のデータ・フィールドを示す。図8に示
すように、ロード指令の最初の6ビットは指令をロード
指令として識別する動作コード(オプコード)でもある
。同様に、次の5ビットも「b」フィールドを指定し、
これはロード指令の「オペランドアドレス」、すなわち
、汎用レジスタからデータを取出すアドレス、から構成
される。次の5ビットは「t」フィールドすなわち目標
フィールドから構成される。「t」フィールドはデータ
キャッシュ・データ(DCD)を汎用レジスタに格納す
べき「目標アドレス」から構成される。次の2ビットは
、スペース・ビットであり、残りの14ビットは即値(
IM14)から成り、これは、図1で示したように、拡
張され次いで算術論理ユニット46でデータキャッシュ
・データ(DCD)またはGR(b)データと加え合せ
られる。
【0028】したがって本発明は、キャッシュ記憶装置
を指令ステップ遲れの罰則を課さずに、動作させる、す
なわち1サイクルより大きく2サイクル未満のアクセス
時間を所持することができるようにする装置および方法
から構成される。全体としての効果は、マイクロプロセ
ッサが、他の場合にキャッシュ記憶装置に対するアクセ
ス時間から生ずる制限により許容されるよりも、はるか
に大きな速度で動作することができることである。加え
て、位相遲れクロックパルスの発生により機能を部分サ
イクルで行うことができ、このためマイクロプロセッサ
の速度が更に大きくなる。
を指令ステップ遲れの罰則を課さずに、動作させる、す
なわち1サイクルより大きく2サイクル未満のアクセス
時間を所持することができるようにする装置および方法
から構成される。全体としての効果は、マイクロプロセ
ッサが、他の場合にキャッシュ記憶装置に対するアクセ
ス時間から生ずる制限により許容されるよりも、はるか
に大きな速度で動作することができることである。加え
て、位相遲れクロックパルスの発生により機能を部分サ
イクルで行うことができ、このためマイクロプロセッサ
の速度が更に大きくなる。
【0029】本発明の前述の説明は例示の目的で提示し
たものであり、開示した精密な形態を包括したりまたは
制限するつもりはなく、他の修正および変形が上述の教
示に照らして可能である。たとえば、本発明はキャッシ
ュ記憶装置に3サイクルのアクセス時間を許容し、指令
を2サイクルごとに開始することにより実施することが
できる。
たものであり、開示した精密な形態を包括したりまたは
制限するつもりはなく、他の修正および変形が上述の教
示に照らして可能である。たとえば、本発明はキャッシ
ュ記憶装置に3サイクルのアクセス時間を許容し、指令
を2サイクルごとに開始することにより実施することが
できる。
【0030】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、マイクロプロセッサを含むコンピュータシス
テムの動作速度を非常に高速にすることができる。
とにより、マイクロプロセッサを含むコンピュータシス
テムの動作速度を非常に高速にすることができる。
【図1】本発明によるマイクロプロセッサ装置及び記憶
キャッシュの概略ブロック図である。
キャッシュの概略ブロック図である。
【図2】図1に示す装置の動作を示す流れ図である。
【図3】ロード指令ステップ中の図1に示す装置の動作
を示す流れ図である。
を示す流れ図である。
【図4】真の場合に加算及び分岐する指令ステップ中の
図1に示す装置の動作を示す流れ図である。
図1に示す装置の動作を示す流れ図である。
【図5】ロード指令実行中の本発明のパイプラインの概
略図である。
略図である。
【図6】分岐指令実行中の本発明のパイプラインの概略
図である。
図である。
【図7】分岐指令のデータフィールドを示す概略図であ
る。
る。
【図8】ロード指令のデータフィールドを示す概略図で
ある。
ある。
Claims (1)
- 【請求項1】別々の指令ステップを少くとも各サイクル
について開始するようにコンピュータシステムで一連の
連続する指令を実行する方法であって、前記コンピュー
タシステムの指令キャッシュにアクセスして1サイクル
を超え2サイクル未満で指令を取出し、前記指令キャッ
シュに対し1サイクルを超えるアクセス時間を許容する
ステップと、前記コンピュータシステムのデータキャッ
シュにアクセスして1サイクルを超え2サイクル未満で
データを取出し、前記データキャッシュに対し1サイク
ルを超えるアクセス時間を許容するステップと、前記デ
ータキャッシュからのデータを、第2の後続ロード指令
ステップが前記データを必要とするとき、算術論理ユニ
ットに送り、前記指令キャッシュおよび前記データキャ
ッシュの前記アクセス時間が1サイクルを超えていても
わずか1指令ステップ遲れの罰則を課すステップと、第
3の後続指令ステップの指令を、現在の指令ステップの
指定条件が真であるとき、現在の分岐指令ステップによ
り指定された指令アドレスから取出し、前記指令キャッ
シュ及び前記データキャッシュの前記アクセス時間が1
サイクルを超えていてもわずか1指令ステップ遲れの罰
則を1状態遲れ分岐構造に課すステップと、から構成さ
れることを特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US47978590A | 1990-02-13 | 1990-02-13 | |
| US479785 | 1990-02-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04215129A true JPH04215129A (ja) | 1992-08-05 |
Family
ID=23905428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3041044A Pending JPH04215129A (ja) | 1990-02-13 | 1991-02-13 | 連続指令実行方法及び装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5526500A (ja) |
| EP (1) | EP0442116A3 (ja) |
| JP (1) | JPH04215129A (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5802346A (en) * | 1995-06-02 | 1998-09-01 | International Business Machines Corporation | Method and system for minimizing the delay in executing branch-on-register instructions |
| US6195746B1 (en) | 1997-01-31 | 2001-02-27 | International Business Machines Corporation | Dynamically typed register architecture |
| US6944753B2 (en) * | 2001-04-11 | 2005-09-13 | International Business Machines Corporation | Fixed point unit pipeline allowing partial instruction execution during the instruction dispatch cycle |
| US8112615B1 (en) * | 2002-09-27 | 2012-02-07 | Cypress Semiconductor Corporation | Single cycle reduced complexity CPU |
| JP2007041999A (ja) * | 2005-08-05 | 2007-02-15 | Renesas Technology Corp | データ処理装置 |
| US8683139B2 (en) | 2006-10-31 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Cache and method for cache bypass functionality |
| WO2008155802A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュメモリ制御装置、およびパイプライン制御方法 |
| US20100064118A1 (en) * | 2008-09-10 | 2010-03-11 | Vns Portfolio Llc | Method and Apparatus for Reducing Latency Associated with Executing Multiple Instruction Groups |
| GB2584268B (en) * | 2018-12-31 | 2021-06-30 | Graphcore Ltd | Load-Store Instruction |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
| US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
| BR8407165A (pt) * | 1983-11-11 | 1985-10-08 | Fujitsu Ltd | Sistema de controle de canalizacao |
| JPS60123936A (ja) * | 1983-12-07 | 1985-07-02 | Fujitsu Ltd | バッフア記憶制御方式 |
| AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
| JPS61297036A (ja) * | 1985-06-27 | 1986-12-27 | Tenryu Seiki Kk | 薄い感磁性体部品の分離整列装置 |
| US4755966A (en) * | 1985-06-28 | 1988-07-05 | Hewlett-Packard Company | Bidirectional branch prediction and optimization |
| US4777587A (en) * | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses |
| US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
| US4967351A (en) * | 1986-10-17 | 1990-10-30 | Amdahl Corporation | Central processor architecture implementing deterministic early condition code analysis using digit based, subterm computation and selective subterm combination |
| US4888689A (en) * | 1986-10-17 | 1989-12-19 | Amdahl Corporation | Apparatus and method for improving cache access throughput in pipelined processors |
| JP2569514B2 (ja) * | 1986-12-12 | 1997-01-08 | 株式会社日立製作所 | 情報処理装置 |
| US4965764A (en) * | 1987-03-04 | 1990-10-23 | Nec Corporation | Memory access control system |
| US4851993A (en) * | 1987-04-20 | 1989-07-25 | Amdahl Corporation | Cache move-in bypass |
| JPH081599B2 (ja) * | 1988-02-24 | 1996-01-10 | 三菱電機株式会社 | データ処理装置 |
| US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
-
1990
- 1990-12-20 EP EP19900124882 patent/EP0442116A3/en not_active Withdrawn
-
1991
- 1991-02-13 JP JP3041044A patent/JPH04215129A/ja active Pending
-
1995
- 1995-02-10 US US08/387,960 patent/US5526500A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5526500A (en) | 1996-06-11 |
| EP0442116A3 (en) | 1993-03-03 |
| EP0442116A2 (en) | 1991-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5408626A (en) | One clock address pipelining in segmentation unit | |
| US5499349A (en) | Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| KR0133238B1 (ko) | 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법 | |
| US5381360A (en) | Modulo arithmetic addressing circuit | |
| US5131086A (en) | Method and system for executing pipelined three operand construct | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| AU5353990A (en) | Improved cpu pipeline having register file bypass on update/access address compare | |
| US5404486A (en) | Processor having a stall cache and associated method for preventing instruction stream stalls during load and store instructions in a pipelined computer system | |
| US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
| US5526500A (en) | System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions | |
| US6161171A (en) | Apparatus for pipelining sequential instructions in synchronism with an operation clock | |
| US5276822A (en) | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction | |
| US5590293A (en) | Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization | |
| JPS60178580A (ja) | 命令制御方式 | |
| KR100278136B1 (ko) | 데이타처리장치 및 데이타처리방법 | |
| EP0700005B1 (en) | Vector data bypass mechanism for vector computer | |
| JPH03269728A (ja) | パイプライン計算機における命令実行制御方式 | |
| JP2812610B2 (ja) | パイプライン制御方式 | |
| JP2636821B2 (ja) | 並列処理装置 | |
| JP2763450B2 (ja) | パイプライン処理データ処理装置 | |
| JP3855069B2 (ja) | 論理回路 | |
| JP2919184B2 (ja) | パイプライン処理を行う情報処理装置 | |
| WO1993018451A1 (en) | Elimination of the critical path in memory control unit and input/output control unit operations | |
| EP1069499A2 (en) | Data processing apparatus and method for simultaneously executing plural instructions |