JPH0371248A - 処理装置においてキヤツシユミス発生時の時間遅れを最少にする方法および装置 - Google Patents

処理装置においてキヤツシユミス発生時の時間遅れを最少にする方法および装置

Info

Publication number
JPH0371248A
JPH0371248A JP2175486A JP17548690A JPH0371248A JP H0371248 A JPH0371248 A JP H0371248A JP 2175486 A JP2175486 A JP 2175486A JP 17548690 A JP17548690 A JP 17548690A JP H0371248 A JPH0371248 A JP H0371248A
Authority
JP
Japan
Prior art keywords
processor
cache miss
pipeline
execution
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2175486A
Other languages
English (en)
Inventor
Kenneth Okin
ケネス・オキン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0371248A publication Critical patent/JPH0371248A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータにおいて記憶装置を管理する方法
および装置に関するものである。更に詳しくいえば、本
発明は、キャッシュミスを生じた時に状態素子のコンテ
キストを非常に高速で常に切換える方法および装置に関
するものである。
〔従来の技術〕
高速の中央処理装置用に、主コンピユータ記憶装置に加
えてキャッシュメモリを用いることはごく普通のことで
ある。キャッシュメモリというのは、主コンピユータ記
憶装置よシ小型であるが極めて高速で、処理装置と主記
憶装置の間に設けられる記憶装置である。ソフトウェア
プログラムの実行中に、キャッシュメモリは最も頻繁に
利用される命令訃よびデータを格納する。記憶装置から
情報をアクセスすることを処理装置が必要とする時は、
処理装置は主コンピユータ記憶装置をアクセスするよう
先に筐ずキャッシュメモリを調べる。
キャッシュメモリ内の命令管たはデータを処理装置がみ
つけることができない時はキャッシュミスが生じ、よシ
遅い主記憶装置をアクセスする必要がある。したがって
、キャッシュメモリはプロセッサの平均メモリアクセス
時間を短縮する。
命令の流れというのは、加算または除算のような与えら
れた処理を行うためにプロセッサによシ実行される一連
の命令である。今日筐で、プロセッサは、命令の流れに
おいてキャッシュミスに出会った時に、次の2つの動作
のいずれか1つをとる。(1)主記憶装置に対する命令
またはデータの終了まで何もしないで待つ、(2)命令
の流れの中の指令されていない他の命令を実行する。そ
れら2つのやシ方は、そのために処理装置の物理的な寸
法(不動産)を大きく増大させず、キャッシュミスによ
ってプロセッサの平均命令サイクルを長くしない限シ、
受は容れることができる。キャッシュメモリの典型的な
容量は32に〜IMバイトであって、プロセッサチップ
またはプロセッサボードに大きな場所を占めない。
〔発8Aが解決しようとするル11題〕しかし、プロセ
ッサが高速になるにつれて、キャッシュミス発生時にこ
うむる不利益が大きくなる。キャッシュミス発生時にこ
うむる不利益は、キャッシュミス発生時に主メモリから
必要な情報を検索するために要する時間の長さを指す。
1秒間に4000万種類の命令を実行できる( 40M
IPS)典型的な40MHzマイクロプロセッサにおい
てハ、アらゆるキャッシュミスによシこうむる不利益は
20クロツクサイクルである。キャッシュメモリのキャ
ッシュミス発生率を1%、超高速プロセッサの1命令当
シの実行時間t−1クロツクサイクルと仮定すると、そ
れらのプロセッサの命令塵すの平均クロックサイクル数
は、キャッシュミスの不利益のために1.0ではなくて
0.01(20) +0.99(1)−1,19である
。したがって、プロセッサは40/1.19冨33.6
MIPSの性能しか発揮できない。
高速プロセッサの命令およびメモリ動作をパイプライ、
ン構成とすることは全く一般的なことである。パイプラ
インというのは多数のタスクを同じクロックサイクルで
同時に実行できるプロセッサの能力のことである。高速
プロセッサの元の処理速度をキャッシュミスが低下させ
るのと全く同様に、キャッシュミスはプロセッサのパイ
プラインにおける障害ともなる。
高速プロセッサの速度に対するキャッシュミスの不利益
とパイプラインの障害との、悪影響のために、プロセッ
サの物理的寸法をできるだけ小さくするという従来の関
心は二義的なものにされていた。この二律背反的な問題
は、プロセッサの速度の劇的な上昇とパイプライン処理
の普及からみで避けることができない。
〔課題を解決するための手段〕
後で詳しく説明するように、キャッシュミスの発生時に
、超高速プロセッサの状態素子のコンテキストを切換え
る方法と装置を本発明は提供するものである。本発明は
、キャッシュミス発生時に第1の処理の状態を保持し、
第2の処理を1クロツクサイクル内にプロセッサが第2
の処理を実行できるようにするものである。第2の処理
が別のキャッシュミスに遭遇すると、必要なデータが主
記憶装置から検索されているならば、プロセッサは第1
の処理の実行を終了するために1クロックサイクル以内
に戻る。他の場合にはプロセッサは第3の処理を開始で
きる。状態を複製される処理の数を大きな数nにするこ
とは容易である。
本発明は、キャッシュミス発生時に超高速プロセッサの
状態素子のコンテキストを1クロックサイクル以内に切
換えるための方法と装置を提供するものである。今日ま
では、プロセッサがキャッシュミスに遭遇した時には、
プロセッサは何もしないか、順序を無して命令を実行す
るかであった。
プロセッサの速度が高くなるにつれて、キャッシュミス
によう受ける不利益が大きくなる。プロセッサの状態素
子のコピーを多数有し、それらのコピーをマルチプレク
サへ結合することによシ、プロセッサは現在のコンテキ
ストを保持し、新し−命令の実行を1クロックサイクル
以内に始めることができるようにするものである。ここ
に開示する本発明は、主記憶装置のアクセス時間が15
プロセツサクロツクサイクルをこえる超高速プロセッサ
の平均命令サイクルを非常に短縮するためにとくに有用
である。
この明細書では、キャッシュミス発生時に[高速プロセ
ッサ状態素子のコンテキストを切換よる方法と装置を開
示する。本発明を完全に理解できるようにするために、
以下の説明においては、特定装置、信号およびデータ構
造等のような特定の事項の詳細について数多く述べであ
る。しかし、そのような特定の詳細事項なしに本発明を
実施できることが当業者には明らかであろう。その他の
場合には、本発明を不必要に詳しく説明して本発明をあ
いまいにしないようにするために、周知の回路、装置、
データ構造は説明しない。
〔実施例〕
第1図はプロセッサの概念的なブロック図である。レジ
スタファイル1が組合わせ論理回路3とレジスタ5へ結
合される。組合わせ論理回路3とレジスタ5はレジスタ
ファイル1からの命令を復号するためのものである。次
に、復号された命令は実行のために組合わせ論理回路T
とレジスタ9へ送られる。その後で、実行された命令の
結果が通信バスまたは命令バス8に書かれる。
第1B図はプロセッサの状態素子と無状態素子の概念的
なブロック図である。状態素子2は命令バス4ft介し
てパイプライン6へ結合される。状態素子のことを、本
発明ではプロセッサチップ上のフリップフロップおよび
レジスタを指すものとする。それらの7リツプフロツプ
やレジスタは特定のプロセスの状態を示す2進情報を貯
える。それらの状態素子はレジスタファイル、状態ピッ
ト、条件コード、プリフェッチされた命令で典型的に構
成される。他方、パイプライン6は無状態である、すな
わち、プロセスの実行中に保持しておく必要があるプロ
セス状態を示す情報をパイプラインは保持しない。はと
んどの高速プロセッサは少なくとも5段のパイプライン
を有する。パイプラインはフェッチ命令、復号命令、実
行のための待ち行列命令、実行命令、および命令の書込
み結果を含む。これ以上の詳細についてはマノ・エム・
モリス(Mano+M、Morris )著「コンピュ
ータ・システム・アーキテクチャ(Computer 
SystemArchitecture) 2版、22
章(プレンティス−ホール(Prentlce −Ha
ll))を参照されたい。
第2図は、パイプラインへ供給する2つのプロセスの状
態の典型的なブロック図を示す。n個のプロセスが1つ
のパイプラインへ供給できること、およびプロセス同士
が供給し合えることがわかるであろう。本発明の目的は
、パイプラインを最大限に利用することによシプロセッ
サの速度を最高にすることである。したがって、キャッ
シュミス2>E起ルトハイプラインを1つのプロセスか
う別ノプロセスへ切換える。い筐の例では、キャッシュ
ミス発生時にパイプライン6がプロセス8を実行してい
たとすると、キャッシュミス発生前のプロセス8の内容
すなわち状態を保持しながら、パイプライン6は1クロ
ックサイクル以内にプロセス10の実行へ切換えられる
。プロセス8が主記憶装置から必要なデータを検索する
前にプロセス1゜がキャッシュミスに遭遇したとすると
、パイプライン6は1クロックサイクル以内に別のプロ
セスへ切換わる。この構造にょシ、複数のプロセス11
のコンテキストを保存できる。
第3図はプロセッサ13の種々の状態素子13の詳細と
、それの実行装置の略図を示す。プリフェッチされた待
ち行列12が記憶装置からの命令をプリフェッチし、復
号する。簡単な命令に対しては、プリフェッチされた待
ち行列は実行マイクロ命令をマイクロ命令バス16を介
して実行装置14へ送る。よう複雑な命令の場合には、
プリフェッチされた待ち行列12はマイクロプログラム
の流れを開始して、マイクロプログラムシーケンサ18
へ信号をバス16を介して送る。アドレス翻訳器22が
、全てのメモリ翻訳のために仮想アドレス−物理的アド
レスの翻訳を行うことによう、効率の良いオンチップメ
モリ管理を行う。キャッシュミスが起ると、プリフェッ
チされた待ち行列12はマイクロ命令をバス16を介し
てアドレス翻訳器22へ送シ、次のプロセスのアドレス
を記憶装置から7エツチする。最後に、バス制御論理2
6がバスプロトコルを管理し、割込みや初期化のような
事象を認識する。
次に第3図を参照する。この図の左下隅に超高速プロセ
ッサの典型的な実行装置の詳しい略図が示されている。
書込み一読出しバッファ30がレジスタファイル32へ
結合される。算術論理シフト器(ALSU)36が複数
のマルチプレクサ34を介してレジスタファイル32へ
更に結合される。
ALSU36の出力は、結果バス40へ送られる前に、
条件コードおよびその他のレジスタ38に格納される。
本発明の原理に従って、プロセッサの各状態素子の状態
フリップフロップが二重に設けられる。
すべての二重の7リツプフロツプはマルチプレクサ29
に結合される。したがって、第4図は、プロセッサ13
の実行装置14に適用された本発明を示すものである。
マルチプレクサ29がn個の書込み一読出しパンツ23
0〜30’へ結合される。それらの書込み一読出しバッ
ファはマルチプレクサ31を介して複数のレジスタファ
イル32〜32’へ結合される。データが複数のレジス
タファイル32〜32′からALSU36へ流れる前に
、それらのデータはマルチプレクサ33.33’および
34の間でチャネルに分けられる。複数の条件コードと
その他のレジスタ38〜38’にデータが記録される前
に、ALSU 36はマルチプレクサ37へ再び結合さ
れる。複数の状態フリップフロップの前のマルチプレク
サは、キャッシュミスが生じた時に第1のプロセスのコ
ンテキストを保持するように機能することに注目された
い。パイプラインは、更に遊びや遅れを生ずることなし
に、1クロツクサイクル以内に別のプロセスを実行でき
る。第2のプロセスが別のキャッシュミスに遭遇したと
すると、必要なデータが主記憶装置から検索されている
ならば、プロセッサは1クロツクサイクル以内に戻って
実行を終了できる。必要なデータが検索されていなけれ
ば、プロセッサは第3のプロセスを実行できる。状態が
複製されるn個のプロセッサを容易に節約できることが
わかる。
40MIPSの性能の典型的なプロセッサへ本発明を応
用し、キャッシュミス率が1%であシ、l命令当りエク
ロツクサイクルであると仮定すると、あらゆるキャッシ
ュミスによる不利益は1クロツクサイクルというように
低い。プロセッサの命令当シのクロックサイクルの平均
数は0.01(2)十0.99(1)=1.01である
。したがって、プロセッサの性能は40/1.01 =
39.6MIPS  である。これから、本発明によう
高速プロセッサが提供できる速度のほとんどをユーザー
が利用できることがわかる。
システムに対するメモリサイクル時間が15プロセツサ
サイクルをこえる時に本発明は実用的である。本発明を
第1図乃至第4図を参照して説明したが、それらの図は
説明のためだけのものであって、本発明の教示を組込む
ために各種の高速プロセッサを設計できることがわかる
であろう。
【図面の簡単な説明】
第1A図はプロセッサの概念的なブロック図、第1B図
はプロセッサの状態素子および無状態素子の概念的なブ
ロック図、第2図はN個のプロセッサのブロック図、第
3図は超高速プロセッサの状態素子の詳細説明図、第4
図は本発明の教示を利用している超高速プロセッサの実
行装置を示す。 1・・・・レジスタファイル、2・・・・状態素子、3
,7・・・・組合わせ論理回路、5,9・・・・レジス
タ、8・・・・通信バス、6・・・eパイプライン、1
3・・・・プロセッサ、14・・・・実行装置、18・
・・・マイクロプログラムシーケンサ、22・・・・ア
ドレス翻訳器、26・・・・バス制御論理、3a・・・
・書込み一読出しバッファ、36・・・・算術論理シフ
ト器。

Claims (2)

    【特許請求の範囲】
  1. (1)複数の処理の状態素子と、パイプラインと、命令
    およびデータバスと、キャッシュメモリと、主メモリと
    を備える処理装置においてキャッシュミス発生時の時間
    遅れを最少にする方法において、前記処理装置の前記パ
    イプラインへ結合されているマルチプレクサへおのおの
    結合される、前記処理装置の前記状態素子を二重にする
    過程と、前記処理装置の前記状態素子のコンテキストを
    記憶する過程と、 キャッシュミスが生じた時に前記パイプラインにおける
    第1の処理の実行を停止する過程と、命令の実行を前記
    パイプライン内の複数の処理の1つへ切換える過程と、 を備えることを特徴とする処理装置においてキャッシュ
    ミス発生時の時間遅れを最少にする方法。
  2. (2)複数の処理の状態素子と、パイプラインと、命令
    およびデータバスと、キャッシュメモリと、主メモリと
    を含む装置におけるキャッシュミス発生時にプロセッサ
    の時間遅れを最少にする装置において、 前記処理装置の複数の状態素子で構成され、前記パイプ
    ライン内の複数の処理の内容を記憶するための二重にす
    る手段と、 キャッシュミス発生時に前記パイプラインにおける第1
    の処理の命令の実行を停止させる停止手段と、 前記二重にする手段へ結合される複数のマルチプレクサ
    で形成され、前記パイプラインにおける前記第1の処理
    から複数の処理の1つへ命令の実行を切換える切換え手
    段と、 を備えることを特徴とする処理装置においてキャッシュ
    ミス発生時の時間遅れを最少にする装置。
JP2175486A 1989-08-03 1990-07-04 処理装置においてキヤツシユミス発生時の時間遅れを最少にする方法および装置 Pending JPH0371248A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38957089A 1989-08-03 1989-08-03
US389.570 1989-08-03

Publications (1)

Publication Number Publication Date
JPH0371248A true JPH0371248A (ja) 1991-03-27

Family

ID=23538806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2175486A Pending JPH0371248A (ja) 1989-08-03 1990-07-04 処理装置においてキヤツシユミス発生時の時間遅れを最少にする方法および装置

Country Status (5)

Country Link
US (1) US5361337A (ja)
JP (1) JPH0371248A (ja)
AU (1) AU638232B2 (ja)
GB (1) GB2234613B (ja)
HK (1) HK36894A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100034A (ja) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd 情報処理制御システム
US8108859B2 (en) 2004-04-21 2012-01-31 Fujitsu Limited Processor for controlling tread switching

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3118266B2 (ja) * 1990-03-06 2000-12-18 ゼロックス コーポレイション 同期セグメントバスとバス通信方法
US6079014A (en) * 1993-12-02 2000-06-20 Intel Corporation Processor that redirects an instruction fetch pipeline immediately upon detection of a mispredicted branch while committing prior instructions to an architectural state
GB2289778B (en) * 1994-05-17 1998-12-16 Advanced Risc Mach Ltd Data processing
US5535360A (en) * 1994-08-31 1996-07-09 Vlsi Technology, Inc. Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor
US5724565A (en) * 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5812823A (en) * 1996-01-02 1998-09-22 International Business Machines Corporation Method and system for performing an emulation context save and restore that is transparent to the operating system
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US5933627A (en) 1996-07-01 1999-08-03 Sun Microsystems Thread switch on blocked load or store using instruction thread field
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
TW405090B (en) * 1997-04-04 2000-09-11 Ibm Predictive cache loading by program address discontinuity history
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
FR2765361B1 (fr) * 1997-06-26 2001-09-21 Bull Cp8 Microprocesseur ou microcalculateur imprevisible
US6658447B2 (en) * 1997-07-08 2003-12-02 Intel Corporation Priority based simultaneous multi-threading
US5893159A (en) * 1997-10-22 1999-04-06 International Business Machines Corporation Methods and apparatus for managing scratchpad memory in a multiprocessor data processing system
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6061710A (en) * 1997-10-29 2000-05-09 International Business Machines Corporation Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
US6438708B1 (en) * 1997-11-07 2002-08-20 Hitachi, Ltd. Information processing apparatus that can hold internal information
US6256775B1 (en) 1997-12-11 2001-07-03 International Business Machines Corporation Facilities for detailed software performance analysis in a multithreaded processor
US6018759A (en) * 1997-12-22 2000-01-25 International Business Machines Corporation Thread switch tuning tool for optimal performance in a computer processor
US6272520B1 (en) * 1997-12-31 2001-08-07 Intel Corporation Method for detecting thread switch events
US6308261B1 (en) * 1998-01-30 2001-10-23 Hewlett-Packard Company Computer system having an instruction for probing memory latency
US7055151B1 (en) * 1998-04-03 2006-05-30 Applied Micro Circuits Corporation Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US7237093B1 (en) * 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7020879B1 (en) * 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6507862B1 (en) * 1999-05-11 2003-01-14 Sun Microsystems, Inc. Switching method in a multi-threaded processor
US6542991B1 (en) 1999-05-11 2003-04-01 Sun Microsystems, Inc. Multiple-thread processor with single-thread interface shared among threads
US6341347B1 (en) 1999-05-11 2002-01-22 Sun Microsystems, Inc. Thread switch logic in a multiple-thread processor
US6938147B1 (en) 1999-05-11 2005-08-30 Sun Microsystems, Inc. Processor with multiple-thread, vertically-threaded pipeline
US20030014612A1 (en) * 1999-05-11 2003-01-16 William N. Joy Multi-threaded processor by multiple-bit flip-flop global substitution
US6889319B1 (en) * 1999-12-09 2005-05-03 Intel Corporation Method and apparatus for entering and exiting multiple threads within a multithreaded processor
US6496925B1 (en) 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
AU2597401A (en) * 1999-12-22 2001-07-03 Ubicom, Inc. System and method for instruction level multithreading in an embedded processor using zero-time context switching
US7308686B1 (en) 1999-12-22 2007-12-11 Ubicom Inc. Software input/output using hard real time threads
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US7047396B1 (en) 2000-06-22 2006-05-16 Ubicom, Inc. Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
DE60143896D1 (de) 2000-07-14 2011-03-03 Mips Tech Inc Anweisungsabruf und -absendung in einem multi-thread-system
US7401211B2 (en) * 2000-12-29 2008-07-15 Intel Corporation Method for converting pipeline stalls caused by instructions with long latency memory accesses to pipeline flushes in a multithreaded processor
US6799285B2 (en) 2001-03-19 2004-09-28 Sun Microsystems, Inc. Self-checking multi-threaded processor
US6965982B2 (en) * 2001-06-29 2005-11-15 International Business Machines Corporation Multithreaded processor efficiency by pre-fetching instructions for a scheduled thread
US6845501B2 (en) * 2001-07-27 2005-01-18 Hewlett-Packard Development Company, L.P. Method and apparatus for enabling a compiler to reduce cache misses by performing pre-fetches in the event of context switch
US7822950B1 (en) * 2003-01-22 2010-10-26 Ubicom, Inc. Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls
DE10353268B3 (de) * 2003-11-14 2005-07-28 Infineon Technologies Ag Paralleler Multithread-Prozessor (PMT) mit geteilten Kontexten
DE102004009610B4 (de) * 2004-02-27 2007-08-16 Infineon Technologies Ag Heterogener paralleler Multithread-Prozessor (HPMT) mit geteilten Kontexten
JP4170364B2 (ja) * 2004-09-17 2008-10-22 松下電器産業株式会社 プロセッサ
US7650472B2 (en) * 2005-07-12 2010-01-19 Electronics And Telecommunications Research Institute Method for reducing memory power consumption
US7823158B2 (en) * 2005-08-18 2010-10-26 International Business Machines Corporation Adaptive scheduling and management of work processing in a target context in resource contention
US8949868B2 (en) * 2006-07-10 2015-02-03 International Business Machines Corporation Methods, systems and computer program products for dynamic linkage
FR2962567B1 (fr) * 2010-07-12 2013-04-26 Bull Sas Procede d'optimisation d'acces memoire, lors de la reprise d'execution d'une application, dans un microprocesseur comprenant plusieurs coeurs logiques et programme d'ordinateur mettant en oeuvre un tel procede
US8769210B2 (en) * 2011-12-12 2014-07-01 International Business Machines Corporation Dynamic prioritization of cache access
US10565126B2 (en) 2017-07-14 2020-02-18 Arm Limited Method and apparatus for two-layer copy-on-write
US10467159B2 (en) 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10592424B2 (en) 2017-07-14 2020-03-17 Arm Limited Range-based memory system
US10534719B2 (en) 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
US10613989B2 (en) 2017-07-14 2020-04-07 Arm Limited Fast address translation for virtual machines
US10489304B2 (en) 2017-07-14 2019-11-26 Arm Limited Memory address translation
US10353826B2 (en) * 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US11789741B2 (en) * 2018-03-08 2023-10-17 Sap Se Determining an optimum quantity of interleaved instruction streams of defined coroutines
US10884850B2 (en) 2018-07-24 2021-01-05 Arm Limited Fault tolerant memory system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3373408A (en) * 1965-04-16 1968-03-12 Rca Corp Computer capable of switching between programs without storage and retrieval of the contents of operation registers
US3728692A (en) * 1971-08-31 1973-04-17 Ibm Instruction selection in a two-program counter instruction unit
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4430706A (en) * 1980-10-27 1984-02-07 Burroughs Corporation Branch prediction apparatus and method for a data processing system
DE3113495C2 (de) * 1981-04-03 1989-11-02 Davy McKee AG, 6000 Frankfurt Spinnbalken für Schmelzspinnanlagen für synthetische Hochpolymere
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
JPS62243044A (ja) * 1986-04-16 1987-10-23 Hitachi Ltd デイスクキヤツシユメモリの制御方式
US4888689A (en) * 1986-10-17 1989-12-19 Amdahl Corporation Apparatus and method for improving cache access throughput in pipelined processors
US5146569A (en) * 1986-10-24 1992-09-08 Hitachi, Ltd. System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
US5034885A (en) * 1988-03-15 1991-07-23 Kabushiki Kaisha Toshiba Cache memory device with fast data-write capacity
US5038278A (en) * 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5119483A (en) * 1988-07-20 1992-06-02 Digital Equipment Corporation Application of state silos for recovery from memory management exceptions
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100034A (ja) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd 情報処理制御システム
US8135909B2 (en) 2003-09-24 2012-03-13 Panasonic Corporation System for starting a preload of a second program while a first program is executing
US8108859B2 (en) 2004-04-21 2012-01-31 Fujitsu Limited Processor for controlling tread switching

Also Published As

Publication number Publication date
US5361337A (en) 1994-11-01
AU638232B2 (en) 1993-06-24
AU5067290A (en) 1991-02-07
GB2234613B (en) 1993-07-07
GB2234613A (en) 1991-02-06
HK36894A (en) 1994-04-29
GB9004703D0 (en) 1990-04-25

Similar Documents

Publication Publication Date Title
JPH0371248A (ja) 処理装置においてキヤツシユミス発生時の時間遅れを最少にする方法および装置
JP4451397B2 (ja) Simdプロセッサスライスの有効/無効の制御のための方法ならびに装置
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
US5204953A (en) One clock address pipelining in segmentation unit
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US4305124A (en) Pipelined computer
US11755456B2 (en) Tracking debug events from an autonomous module through a data pipeline
JPS63193230A (ja) 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
US5596735A (en) Circuit and method for addressing segment descriptor tables
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JPS6339931B2 (ja)
WO2007002408A2 (en) Computer processor pipeline with shadow registers for context switching, and method
JP2575219B2 (ja) データ処理システム及びその命令実行を促進する方法
US7761688B1 (en) Multiple thread in-order issue in-order completion DSP and micro-controller
US7093107B2 (en) Bypass circuitry for use in a pipelined processor
US5742755A (en) Error-handling circuit and method for memory address alignment double fault
US5499363A (en) Microprocessor coupled to coprocessor by coprocessor bus separate from system bus to external memory for increased efficiency
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
US5596717A (en) Four state token passing alignment fault state circuit for microprocessor address misalignment fault generation
US7028164B2 (en) Instruction fetch apparatus for wide issue processors and method of operation
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
EP1235139B1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture