JP2001249808A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2001249808A
JP2001249808A JP2000348475A JP2000348475A JP2001249808A JP 2001249808 A JP2001249808 A JP 2001249808A JP 2000348475 A JP2000348475 A JP 2000348475A JP 2000348475 A JP2000348475 A JP 2000348475A JP 2001249808 A JP2001249808 A JP 2001249808A
Authority
JP
Japan
Prior art keywords
processor
processing
instruction
transaction
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000348475A
Other languages
English (en)
Other versions
JP3981238B2 (ja
Inventor
Toshishige Ando
寿茂 安藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000348475A priority Critical patent/JP3981238B2/ja
Priority to DE10063915A priority patent/DE10063915B4/de
Priority to US09/746,068 priority patent/US7711925B2/en
Publication of JP2001249808A publication Critical patent/JP2001249808A/ja
Application granted granted Critical
Publication of JP3981238B2 publication Critical patent/JP3981238B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】本発明は、多様な命令を効率よく処理できる情
報処理装置を提供することを目的とする。 【解決手段】種々の処理のうちで特定の処理をそれ以外
の処理よりも頻繁に実行する情報処理装置は、種々の処
理に対応する命令セットを実行可能な第1のプロセッサ
と、該命令セットの一部或いは全てを実行可能であり特
定の処理に対応する該命令セットの一部を第1のプロセ
ッサより効率的に実行可能な第2のプロセッサを含み、
特定の処理を第2のプロセッサが実行し特定の処理以外
の処理を第1のプロセッサが実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に情報処理装置
に関し、詳しくは汎用処理及びトランザクション処理を
行なう情報処理装置に関する。
【0002】
【従来の技術】現在の汎用高性能プロセッサは、マルチ
メディア処理等を含む幅広い用途に対して高い性能を発
揮することが要求されるため、様々な処理に適した種々
の命令を高速に実行出来るように設計されている。例え
ば、浮動小数点演算部を設けて、浮動少数点演算が必要
な処理を高速に実行できるように構成されている。また
汎用高性能プロセッサは、通常、一連の命令からなる1
つのプログラムを高速に実行することに重点をおいて設
計されている。例えば、分岐方向が確定する前に分岐命
令を実行するために分岐予測をしたり、オペランド待ち
のためのリザベーションを行ったり、オペランドの処理
順序変更のためにリオーダ処理を実行する機能等が設け
られている。
【0003】しかしながら、近年計算機に対する需要が
特に延びているのは、トランザクション処理のシステム
やウェブサーバシステム等の分野である。トランザクシ
ョン処理やウェブサーバ処理で実行対象となる処理で
は、論理演算・整数演算が中心であり、浮動小数点演算
等の複雑な処理は殆ど必要とされない。またトランザク
ション処理やウェブサーバ処理においては、1つのプロ
グラムの処理を高速に実行することよりも、小規模の処
理を大量かつ並列に実行する機能が重要になる。現在の
汎用高性能プロセッサは、上述のようにオールラウンド
な高性能を重視して設計されているため、単純なトラン
ザクション処理やウェブサーバ処理を実行させるために
は余分な機能が多すぎる。またトランザクション処理や
ウェブサーバ処理では、単純な処理の大量並列実行が必
要であるのに、1つのプログラムの処理を高速に実行す
ることを重視した汎用高性能プロセッサでは、そのよう
な要求に充分に応えることが出来ない。従って、トラン
ザクション処理やウェブサーバ処理等を高速に実行でき
る情報処理装置が望まれている。
【0004】図1に高性能汎用プロセッサの一例のブロ
ック構成図を示す。
【0005】高性能汎用プロセッサ1は、命令キャッシ
ュ&命令フェッチ2、分岐予測部3、プログラムカウン
タ4、チェックポイント部5、固定小数点レジスタ6、
浮動小数点レジスタ7、固定小数点リオーダバッファ
8、浮動小数点リオーダバッファ9、固定小数点リザベ
ーション部10、浮動小数点リザベーション部11、ロ
ード/ストアリザベーション部12、固定小数点演算部
13、浮動小数点演算部14、ロード/ストア部15、
データキャッシュ16から構成される。
【0006】命令キャッシュ&命令フェッチ2は、命令
を保持すると共に、実行する命令をフェッチする。フェ
ッチした命令がデコードされ、デコード結果に従って、
高性能汎用プロセッサ1の各部が制御される。分岐予測
部3は、デコードされた命令の中から条件付分岐命令を
検出して、分岐条件が確定する前に分岐方向を予測す
る。プログラムカウンタ4は、順次実行される命令のア
ドレスを指し示す。チェックポイント部5は、分岐予測
に従って分岐命令を実行したときに、レジスタ値等を含
むプロセッサステータスを格納する。分岐予測がはずれ
たときには、チェックポイント部5に格納された情報を
読み出して、レジスタ値等を含むプロセッサステータス
を分岐前の状態に戻すことで、分岐ミスから回復する。
【0007】固定小数点レジスタ6は、固定小数点算術
論理演算に対するオペランドを格納し、命令実行に必要
なオペランドを固定小数点リザベーション部10に供給
すると共に、ロード/ストア命令に対するオペランドを
格納し、命令実行に必要なオペランドをロード/ストア
リザベーション部12に供給する。固定小数点リオーダ
バッファ8は、固定小数点演算部13によって計算され
た計算結果を格納すると共に、ロード/ストア部15に
よって実行されたロード命令の結果を格納する。固定小
数点リオーダバッファ8は、要求される最新のオペラン
ドが固定小数点レジスタ6ではなく固定小数点リオーダ
バッファ8にあることを検出すると、そのオペランドを
固定小数点リザベーション部10或いはロード/ストア
リザベーション部12に直接に供給する。また固定小数
点リオーダバッファ8は、命令実行結果を固定小数点レ
ジスタ6に供給することで、オペランドの処理順序が変
更された場合であっても、所定のレジスタへオペランド
を格納して命令実行を終了する。
【0008】浮動小数点レジスタ7は、浮動小数点算術
演算に対するオペランドを格納し、命令実行に必要なオ
ペランドを浮動小数点リザベーション部11に供給する
と共に、ロード/ストア命令に対するオペランドを格納
し、命令実行に必要なオペランドをロード/ストアリザ
ベーション部12に供給する。浮動小数点リオーダバッ
ファ9は、浮動小数点演算部14によって計算された計
算結果を格納すると共に、ロード/ストア部15によっ
て実行されたロード命令の結果を格納する。浮動小数点
リオーダバッファ9は、要求される最新のオペランドが
浮動小数点レジスタ7ではなく浮動小数点リオーダバッ
ファ9にあることを検出すると、そのオペランドを浮動
小数点リザベーション部11或いはロード/ストアリザ
ベーション部12に直接に供給する。また浮動小数点リ
オーダバッファ9は、命令実行結果を浮動小数点レジス
タ7に供給することで、オペランドの処理順序が変更さ
れた場合であっても、所定のレジスタへオペランドを格
納して命令実行を終了する。
【0009】固定小数点リザベーション部10は、実行
する固定小数点命令を保持し、必要なオペランドが固定
小数点レジスタ6或いは固定小数点リオーダバッファ8
から供給されるのを待つ。必要な全てのオペランドが得
られると、その命令は実行可能状態となる。固定小数点
リザベーション部10は、実行可能状態の命令を選択し
て、固定小数点演算部13に供給する。固定小数点演算
部13に同時に供給可能な命令の最大数は、固定小数点
演算部13に設けられる固定小数点演算ユニットの数に
等しい。
【0010】浮動小数点リザベーション部11は、実行
する浮動小数点命令を保持し、必要なオペランドが浮動
小数点レジスタ7或いは浮動小数点リオーダバッファ9
から供給されるのを待つ。必要な全てのオペランドが得
られると、その命令は実行可能状態となる。浮動小数点
リザベーション部11は、実行可能状態の命令を選択し
て、浮動小数点演算部14に供給する。浮動小数点演算
部14に同時に供給可能な命令の最大数は、浮動小数点
演算部14に設けられる浮動小数点演算ユニットの数に
等しい。
【0011】ロード/ストアリザベーション部12は、
実行するロード/ストア命令を保持し、必要なオペラン
ドが固定小数点レジスタ6、浮動小数点レジスタ7、固
定小数点リオーダバッファ8、或いは浮動小数点リオー
ダバッファ9から供給されるのを待つ。必要な全てのオ
ペランドが得られると、その命令は実行可能状態とな
る。ロード/ストアリザベーション部12は、実行可能
状態の命令を選択して、ロード/ストア部15に供給す
る。ロード/ストア部15に同時に供給可能な命令の最
大数は、ロード/ストア部15に設けられるロード/ス
トア実行ユニットの数に等しい。
【0012】固定小数点演算部13は、固定小数点リザ
ベーション部10から供給された命令を実行し、命令実
行結果を固定小数点リオーダバッファ8に送る。浮動小
数点演算部14は、浮動小数点リザベーション部11か
ら供給された命令を実行し、命令実行結果を浮動小数点
リオーダバッファ9に送る。またロード/ストア部15
は、ロード/ストアリザベーション部12から供給され
たロード/ストア命令を実行して、その結果を固定小数
点リオーダバッファ8或いは浮動小数点リオーダバッフ
ァ9に供給する。
【0013】ストア命令を実行すると、ロード/ストア
部15はデータをデータキャッシュ16に書き込み、ロ
ード命令を実行すると、ロード/ストア部15はデータ
をデータキャッシュ16から読み出す。
【0014】高性能汎用プロセッサ1は、固定小数点演
算部13及び浮動小数点演算部14を有し、論理/整数
演算及び浮動小数点演算の両方に対応可能とされてい
る。また、分岐予測部3、固定小数点リオーダバッファ
8、浮動小数点リオーダバッファ9、固定小数点リザベ
ーション部10、浮動小数点リザベーション部11、及
びロード/ストアリザベーション部12が設けられてお
り、分岐方向が確定する前に分岐命令を実行するために
分岐予測をしたり、オペランド待ちのためのリザベーシ
ョンを行ったり、オペランドの処理順序変更のためにリ
オーダ処理を実行することが可能となっている。
【0015】このように汎用高性能プロセッサ1では、
オールラウンドな高性能を重視して種々の命令を高速に
実行出来るように設計されていると共に、一連の命令か
らなる1つのプログラムを高速に実行することに重点を
おいて設計されている。
【0016】なお上記の高性能汎用プロセッサ1では、
固定小数点演算部13、浮動小数点演算部14、及びロ
ード/ストア部15が各々複数ユニットずつ設けられて
おり、ある程度の並列処理が可能である。しかし並列に
処理できる最大命令数は、一般に6〜8命令程度であ
り、大量の処理を並列に実行するように設計されている
のではない。
【0017】図2はマルチスプレッドトランザクション
処理システムのブロック構成図を示す。
【0018】マルチスプレッド方式のトランザクション
処理システム17は、n個のトランザクション処理プロ
セッサコア18−1〜18−n、メモリ19、入出力イ
ンタフェース20、及びシステムバス21から構成され
る。
【0019】トランザクション処理プロセッサコア18
−1〜18−nの各々は、マルチスレッド処理のために
プログラムカウンタを複数個備え、トランザクション処
理を効率よく実行できる構成とされている。メモリ19
は、システムバス21を介してn個のトランザクション
処理プロセッサコア18−1〜18−nと接続されてお
り、n個のトランザクション処理プロセッサコア18−
1〜18−nによって共有される。
【0020】入出力インタフェー20は、外部とシステ
ムバス21とのインタフェースを提供する。
【0021】図3はトランザクション処理プロセッサコ
アの一例のブロック構成図を示す。同図中、図1と同一
の構成部分には同一の参照番号を付し、その説明は省略
する。
【0022】トランザクション処理プロセッサコア18
−1〜18−nには、トランザクション処理で殆ど使用
されない浮動小数点演算器は設けられていない。また1
つのプログラムを高速に実行するよりは複数のプログラ
ムを並列に大量に実行することに重点がおかれているの
で、分岐予測、リオーダ、及びリザベーション等を実行
するための機能は設けられておらず、マルチスレッド化
のためにプログラムカウンタ23及びレジスタ24が複
数個設けられている。例えば、ATMのトランザクショ
ン処理であれば、あるプログラムカウンタによりユーザ
Aの引き落とし処理を実行し、別のプログラムカウンタ
によりユーザBの引き落とし処理を実行するというよう
に、複数の処理を並行して実行することが可能になる。
【0023】このような構成とすることにより、ある処
理に対応する所定の命令列でメモリの待ち時間が発生し
たとき、他の処理に対応する命令列を処理できるので、
命令の実行効率を向上することができる。このようにし
て、図3に示すトランザクション処理プロセッサは、ト
ランザクション処理を効率よく処理することが出来る。
【0024】図2に示すマルチスプレッドトランザクシ
ョン処理システム15は、図3に示すようなトランザク
ション処理プロセッサをn個備えることにより、小規模
な処理を大量に並列実行することを可能とし、更に効率
よくトランザクション処理を実行出来る構成となってい
る。なお図3に示すトランザクション処理プロセッサは
回路規模が比較的小さいので、数多くのプロセッサを同
一のチップ上に搭載することが可能である。
【0025】
【発明が解決しようとする課題】図1に示す高性能汎用
プロセッサ1は、オールラウンドな高性能を重視して設
計されているため、単純なトランザクション処理やウェ
ブサーバ処理を実行させるためには余分な機能が多すぎ
る。またトランザクション処理やウェブサーバ処理で
は、単純な処理の大量並列実行が必要であるのに、1つ
のプログラムの処理を高速に実行することを重視した汎
用高性能プロセッサでは、そのような要求に充分に応え
ることが出来ない。仮に複数のプロセッサを用意しよう
としても、高性能汎用プロセッサは回路規模が大きいた
めに、1チップに搭載できるプロセッサ数に限界があ
り、充分に並列度を上げることが出来ない。
【0026】また図2に示すマルチスプレッドトランザ
クション処理システム15だけでウェブサーバシステム
等を構成することは、トランザクション処理の効率化は
達成できても、科学技術演算等の浮動小数点演算を必要
とする複雑な処理に高速に対応できなくなると共に、単
一のプログラムを高速に実行する種々の機能を持たない
ので、単一で大規模な処理或いは複雑な処理が要求され
たときには、効率が著しく低下することになる。
【0027】本願発明は上記の点に鑑みてなされたもの
で、多様な命令を効率よく処理できる情報処理装置を提
供することを目的とする。
【0028】
【課題を解決するための手段】本発明によれば、種々の
処理のうちで特定の処理をそれ以外の処理よりも頻繁に
実行する情報処理装置は、種々の処理に対応する命令セ
ットを実行可能な第1のプロセッサと、該命令セットの
一部或いは全てを実行可能であり特定の処理に対応する
該命令セットの一部を第1のプロセッサより効率的に実
行可能な第2のプロセッサを含み、特定の処理を第2の
プロセッサが実行し特定の処理以外の処理を第1のプロ
セッサが実行することを特徴とする。
【0029】上記発明では、種々の処理を実行可能な第
1のプロセッサと、種々の処理のうち特定の処理を第1
のプロセッサよりも効率的に実行可能な第2のプロセッ
サとを設けて、特定の処理を第2のプロセッサに実行さ
せ特定の処理以外の処理を第1のプロセッサに実行させ
ることで、全体として効率的な処理を実現することが出
来る。
【0030】本発明のある側面によれば、具体的には、
第1のプロセッサは汎用プロセッサであり、第2のプロ
セッサは特定の処理であるトランザクション処理を効率
的に実行可能なように構成されたトランザクション処理
プロセッサである。またトランザクション処理プロセッ
サは、マルチスレッド方式及びマルチプロセッサ方式の
うちの少なくとも1つの方式により処理を並列に実行す
ることで、特定の処理を汎用プロセッサよりも効率的に
実行可能なように構成されている。
【0031】上記発明では、オールラウンドな高性能を
重視して設計されると共に、1つのプログラムの処理を
高速に実行することを重視して設計された汎用高性能プ
ロセッサと、小規模な処理を大量に並列実行することを
重視して設計されるマルチスプレッド或いはマルチプロ
セストランザクション処理プロセッサとを設け、トラン
ザクション処理はトランザクション処理プロセッサに割
り当てて、トランザクション処理プロセッサが効率的に
実行できない処理は汎用高性能プロセッサに割り当てる
ことで、多様な命令を効率よく処理できる情報処理装置
を提供することが出来る。
【0032】また本発明のある側面によれば、上記発明
において、全ての処理は最初に第2のプロセッサに割り
当てられ、特定の処理に対応する命令セットの一部以外
の命令を実行必要な場合に、割り込みにより第2のプロ
セッサから第1のプロセッサに処理を移すことを特徴と
する。
【0033】上記発明では、トランザクション処理プロ
セッサで、例えば浮動小数点演算を実行する命令が発生
した場合、汎用プロセッサに割り込みをかけて、汎用プ
ロセッサで浮動小数点演算処理以降の処理を実行する。
トランザクション処理プロセッサから汎用プロセッサに
プロセス処理を引き渡す契機となる命令としては、浮動
小数点演算命令以外にも、トランザクション処理では効
率が悪いが汎用プロセッサでは効率的に実行可能な命令
であればよい。
【0034】
【発明の実施の形態】以下に本発明の実施例を、添付の
図面を用いて詳細に説明する。
【0035】図4は本発明の第1の実施例によるシステ
ム構成図を示す。
【0036】本実施例の情報処理装置31は、汎用プロ
セッサ32−1、32−2、トランザクション処理プロ
セッサ33−1、33−2、メインメモリ34、入出力
インタフェース35、システムコントローラ36、及び
システムバス37を含む。
【0037】汎用プロセッサ32−1及び32−2は、
図1に示す汎用プロセッサ1と同様な構成である。即
ち、整数演算及び論理演算並びに浮動小数点演算が実行
可能とされていると共に、分岐方向が確定する前に分岐
命令を実行するために分岐予測をしたり、オペランド待
ちのためのリザベーションを行ったり、オペランドの処
理順序変更のためにリオーダ処理を実行すること等が可
能となっている。なお汎用プロセッサ32−1及び32
−2の数は2つに限られるものではなく、任意の数設け
られてよい。
【0038】トランザクション処理プロセッサ33−1
及び33−2は、整数演算及び論理演算以外の複雑な演
算機能や制御機能は含んでいなくてよく、マルチスレッ
ド化及び/又はマルチプロセッサ化されており、トラン
ザクション処理が効率的に実行可能な構成とされる。な
おトランザクション処理プロセッサ33−1及び33−
2の数は2つに限られるものではなく、任意の数設けら
れてよい。
【0039】メインメモリ34は、RAM(Random Acc
ess Memory)から構成され、データを記憶する。メイン
メモリ34は、システムバス37を介して汎用プロセッ
サ32−1、32−2及びトランザクション処理プロセ
ッサ33−1、33−2に接続される。メインメモリ3
4に記憶されたデータは、汎用プロセッサ32−1、3
2−2及びトランザクション処理プロセッサ33−1、
33−2で共有される。
【0040】入出力インタフェース35は、システムバ
ス37と外部周辺装置とのインタフェースを提供する。
システムコントローラ36は、汎用プロセッサ32−
1、32−2、トランザクション処理プロセッサ33−
1、33−2からのアクセス要求に応じて、メインメモ
リ34及びシステムバス37を制御する。
【0041】図5は、トランザクション処理プロセッサ
33−1の構成を示す構成図である。
【0042】図5のトランザクション処理プロセッサ3
3−1は、トランザクション処理演算部41及び2次キ
ャッシュメモリ42を含む。
【0043】トランザクション処理演算部41は1つの
半導体チップから構成され、2次キャッシュメモリ42
が外付けされる。 2次キャッシュメモリ42は、RAM
から構成され、データ及び命令を一時的に記憶する。
【0044】トランザクション処理演算部41は、m個
のプロセッサコア43−1乃至43−m、2次キャッシ
ュタグ44、インタフェース45、及び内部バス46を
含む。
【0045】プロセッサコア43−1乃至43−mは、
図3に示すトランザクション処理プロセッサコアと同様
な構成を有するものでよい。即ち、プロセッサコア43
−1乃至43−mの各々はマルチスレッド化されて、ト
ランザクション処理を効率よく処理できるように構成さ
れる。また浮動小数点演算等の複雑な演算機能は設けら
れていなくてよく、更に分岐方向が確定する前に分岐命
令を実行するために分岐予測をしたり、オペランド待ち
のためのリザベーションを行ったり、オペランドの処理
順序変更のためにリオーダ処理を実行する等の機能も不
在でよい。
【0046】なおプロセッサコア43−1乃至43−m
が複数個提供されることで、トランザクション処理の並
列実行は可能となるので、各プロセッサコアがマルチス
レッド化されていることは必須要件ではない。また極端
な場合には、プロセッサコア43−1が1つだけ設けら
れている場合であっても、このプロセッサコアがトラン
ザクション処理に特化されていればよい。
【0047】プロセッサコア43−1乃至43−mは、
内部バス46を介して、2次キャッシュタグ44及びイ
ンタフェース45に接続されている。2次キャッシュタ
グ44は、2次キャッシュメモリ42の使用状況を管理
する。インタフェース45は、2次キャッシュメモリ4
2と内部バス46とのインタフェースを提供する。
【0048】以下に、本実施例のトランザクション処理
プロセッサ33−1及び33−2が実行する処理につい
て説明する。
【0049】図6は本発明の第1の実施例によるトラン
ザクション処理プロセッサの処理フローチャートを示
す。
【0050】トランザクション処理プロセッサ33−1
は、ステップS1−1乃至S1−5を実行する。
【0051】ステップS1−1は、命令を発行する処理
である。ステップS1−1で命令が発行されると、次に
ステップS1−2が実行される。
【0052】ステップS1−2は、命令が固定小数点演
算か否かを判定する処理である。発行された命令が固定
小数点演算の場合には、ステップS1−3が実行され
る。
【0053】ステップS1−3は、命令を実行する処理
である。ステップS1−3で命令が実行されると、次に
ステップS1−4が実行される。
【0054】ステップS1−4は、次の命令の有無を判
定する処理である。ステップS1−4で、次に命令があ
ると判定されると、ステップS1−1に戻って次の命令
が発行される。また、ステップS1−4で次の命令がな
いと判定されると、処理を終了する。
【0055】また、ステップS1−2で命令が浮動小数
点演算であると判定された場合には、次にステップS1
−5が実行される。
【0056】ステップS1−5は、割り込み処理であ
る。ステップS1−5の割り込み処理については後述す
る。ステップS1−5で、割り込み処理が終了すると処
理を終了する。
【0057】以下に、ステップS1−5の割り込み処理
について詳細に説明する。
【0058】図7は本発明の第1の実施例によるトラン
ザクション処理プロセッサの割り込み処理の処理フロー
チャートを示す。
【0059】トランザクション処理プロセッサ33−1
は、ステップS1−5の割り込み処理としてステップS
2−1〜S2−6を実行する。
【0060】ステップS2−1は、発生された割り込み
処理を解析する。ステップS2−1で割り込み処理を解
析すると、次にステップS2−2を実行する。
【0061】ステップS2−2は、ステップS2−1で
の解析結果が通常の割り込み処理か否かを判定する処理
である。ステップS2−2で、通常の割り込み処理であ
ると判定すると、次に、ステップS2−3が実行され
る。ステップS2−3は、通常の割り込み処理を実行す
る処理である。
【0062】また、ステップS2−2で、浮動小数点演
算を実行するための割り込み処理であると判定された場
合には、ステップS2−4が実行される。
【0063】ステップS2−4は、実行の引継ぎに必要
なトランザクション処理プロセッサの内部状態をメモリ
に格納し、命令アドレスと状態を格納したメモリアドレ
スとを内部レジスタに格納する処理である。ステップS
2−4で、内部レジスタに命令と状態メモリのアドレス
が格納されると、次にステップS2−5が実行される。
【0064】ステップS2ー5は、汎用プロセッサ32
−1又は32−2に割り込みをかける処理である。この
割り込みは、割り込みと共に上記内部レジスタの内容を
含む割り込みベクトルを、トランザクション処理プロセ
ッサから汎用プロセッサ32−1又は32−2に供給す
ることで行われる。
【0065】以上により、トランザクション処理プロセ
ッサ33−1、33−2で浮動小数点演算を実行する命
令が発生した場合に、汎用プロセッサ32−1又は32
−2に割り込みがかけられる。
【0066】次に、汎用プロセッサ32−1の処理につ
いて説明する。
【0067】図8は本発明の第1の実施例による汎用プ
ロセッサの処理フローチャートを示す。
【0068】汎用プロセッサ32−1は、以下のステッ
プS3−1乃至S3−6に示す処理を実行する。
【0069】ステップS3−1は、他のプロセッサから
の割り込み要求の受信の有無を判定する。ステップS3
−1で、他のプロセッサからの割り込み要求がなけれ
ば、ステップS3−2が実行され、処理を終了する。ス
テップS3−2は、通常の処理を実行する処理である。
【0070】また、ステップS3−1で、他のプロセッ
サから割り込み要求があれば、次にステップS3−3が
実行される。
【0071】ステップS3−3は、割り込み要求が命令
の実行依頼か否かを判定する処理である。ステップS3
−3で、割り込み要求が命令の実行依頼でなければ、次
にステップS3−4が実行され、処理が終了する。ステ
ップS3−4は、通常の割り込み処理を実行する処理で
ある。
【0072】また、ステップS3−3で、割り込み要求
が命令の実行依頼であると判定されると、次にステップ
S3−5が実行される。
【0073】ステップS3−5は、割り込み要求と共に
トランザクション処理プロセッサ33−1から供給され
た割り込みベクトルを受け取り、割り込みベクトルに含
まれる状態メモリアドレスを用いて汎用プロセッサの内
部に状態を複製し、更にこの割り込みベクトルから命令
アドレスを取り出す処理である。次にステップS3−6
が実行される。ステップS3−6は、上記命令アドレス
の命令、即ち実行依頼があった命令から実行を開始する
処理である。
【0074】以上により汎用プロセッサ32−1、32
−2で浮動小数点演算とそれ以降の処理が実行される。
【0075】以上のように本実施例によれば、トランザ
クション処理プロセッサ32−1、32−2で、浮動小
数点演算を実行する命令が発生した場合、汎用プロセッ
サ31−1に割り込みをかけて、汎用プロセッサ31−
1、31−2で浮動小数点演算処理を実行する。ここで
浮動小数点演算は、トランザクション処理プロセッサか
ら汎用プロセッサにプロセス処理を引き渡す契機として
の一例であり、このような契機としては浮動小数点演算
以外にも、トランザクション処理では効率が悪いが汎用
プロセッサでは効率的に実行可能な命令であればよく、
本発明はそのような命令実行を契機とする形態一般を含
むものである。
【0076】本発明においては、上記のような構成とす
ることで、トランザクション処理を主たる処理として実
行しながらも汎用処理に対応したシステムにおいて、ト
ランザクション処理を効率的に実行することが可能とな
る。なおOS(オペレーティングシステム)は、逐次実
行比率が高いので、汎用プロセッサ31−1又は31−
2のいずれかで実行するようにする。但しこれは効率の
問題であって、必ずしも汎用プロセッサ31−1又は3
1−2でOSを実行する必要はなく、トランザクション
処理プロセッサ32−1又は32−2でOSを実行する
ようにしてもよく、そのような構成を排除するものでは
ない。
【0077】なお上記実施例の構成においては、汎用プ
ロセッサ31−1及び31−2とトランザクション処理
プロセッサ32−1及び32−2との間でメモリ34を
共有することにより、プロセスの移行を効率よく行なう
ことができる。
【0078】次に、命令列をプロセッサに割り当てるプ
ロセス割当方法について説明する。
【0079】図9は、本発明の第1の実施例によるプロ
セス割当処理の動作説明図である。
【0080】プロセスキュー71に蓄えられるプロセス
(或いはスレッド)の割り当ては、OSにより管理され
る。このOSのプロセス割り当ての機能は、ディスパッ
チャ72によって実現される。
【0081】プロセスキュー71は、実行すべきプロセ
スを格納する。ディスパッチャ72は、プロセスキュー
71が示すプロセスと、汎用プロセッサ31−1及び3
1−2と、トランザクション処理プロセッサ32−1及
び32−2とを監視し、プロセスを何れかのプロセッサ
に割り当てる。本システムは、トランザクション処理が
主たる処理である環境で稼動しているので、好ましく
は、全てのプロセスは最初に汎用プロセッサではなく、
トランザクション処理プロセッサに割り当てられる。
【0082】或いは、各プロセスを最初に汎用プロセッ
サではなくトランザクション処理プロセッサに択一的に
割り当てるのではなく、例えばトランザクション処理は
トランザクション処理プロセッサに割り当てて、トラン
ザクション処理でないことが最初から判明している処理
は最初から汎用プロセッサに割り当てるようにしてもよ
い。
【0083】システムコールトラップ73は、汎用プロ
セッサ31−1、31−2、トランザクション処理プロ
セッサ32−1、32−2からシステムコール(OS割
り込み)がかかると、割り込み内容に応じてプロセスの
割当を制御する。
【0084】図10は本発明の第1の実施例によるプロ
セス割当制御部の処理フローチャートを示す。
【0085】システムコールトラップ73は、ステップ
S4−1〜S4−5を実行する。
【0086】ステップS4−1は、汎用プロセッサ31
−1、31−2、トランザクション処理プロセッサ32
−1、32−2からの割り込みを検出する。ステップS
4−1でプロセッサからの割り込みが通知されると、ス
テップS4−2が実行される。
【0087】ステップS4−2は、割り込みを通知して
きたプロセスの命令列を、それまでこのプロセスを実行
していたのと同一のプロセッサで、割り込みのかかった
命令から継続して処理可能か否かを判定する処理であ
る。ステップS4−2で、命令が継続して実行可能であ
ると判断されると、次にステップS4−3が実行され
る。ステップS4−3は、プロセスに元のプロセッサを
識別する情報を付与する処理である。
【0088】ステップS4−3で元のプロセッサを識別
する情報が付与されると、ステップS4−4が実行され
る。ステップS4−4は、情報が付与されたプロセスを
プロセスキュー71に格納する処理である。この場合の
ように、割り込み後に元のプロセッサでプロセスの実行
が継続されるのは、例えばI/O処理に関して割り込み
が発生した場合等である。但し、それまでこのプロセス
を実行していたプロセッサが、既に別のプロセスに使用
されている場合には、他のプロセッサに割り当てを行な
う。
【0089】また、ステップS4−3で、プロセスが継
続して実行できないと判断された場合には、次にステッ
プS4−5が実行される。
【0090】ステップS4−5は、プロセスを実行する
プロセッサを汎用プロセッサ或いはトランザクション処
理プロセッサに制限する情報を付与する処理を行なう。
次に、ステップS4−4が実行される。
【0091】以上により、ディスパッチャ72がプロセ
スを割り当てるとき、使用プロセッサに制限が課されて
いる場合には、指定されたプロセッサに当該プロセスを
割り当てる。例えば浮動小数点演算を含むプロセスが当
初はトランザクション処理プロセッサに割り当てられる
と、処理過程で割り込みが発生し、汎用プロセッサを指
定する情報と共にプロセスがプロセスキュー71に格納
される。これを受けて、ディスパッチャ72は、このプ
ロセスを汎用プロセッサ31−1又は31−2に割り当
てる。
【0092】なお前述のように、トランザクション処理
プロセッサ32−1或いは32−2に全てのプロセスを
最初に割り当てることにより、効率的に処理全体を実行
することが出来る。これは本システムの処理の主流がト
ランザクション処理であるためである。或いは、各プロ
セスを最初に汎用プロセッサではなくトランザクション
処理プロセッサに択一的に割り当てるのではなく、例え
ばトランザクション処理はトランザクション処理プロセ
ッサに割り当てて、トランザクション処理でないことが
最初から判明している処理は最初から汎用プロセッサに
割り当てるようにしてもよい。
【0093】またプロセスの割り付けは、プロセッサの
性能に応じて最適化することが望ましい。プロセッサの
性能評価には、プロセッサに内蔵の通常の性能測定機能
を用いればよい。
【0094】本実施例において、命令セットは、汎用プ
ロセッサ31−1、31−2及びトランザクション処理
プロセッサ32−1、32−2で同一であってよい。
【0095】なお上記実施例では、図4に示すように汎
用プロセッサ31−1、31−1及びトランザクション
処理プロセッサ32−1、32−2でシステムバス37
を共用し、メインメモリ34を共有するシステムについ
て説明したが、クラスタ方式のマルチプロセッサシステ
ムに本発明を適用することも可能である。
【0096】図11は本発明の第2の実施例によるシス
テム構成図を示す。
【0097】本実施例の情報処理装置51は、汎用プロ
セッサ部52、トランザクション処理プロセッサ部5
3、入出力インタフェース54から構成される。
【0098】汎用プロセッサ部52は、整数演算及び論
理演算並びに浮動小数点演算が実行可能とされていると
共に、分岐方向が確定する前に分岐命令を実行するため
に分岐予測をしたり、オペランド待ちのためのリザベー
ションを行ったり、オペランドの処理順序変更のために
リオーダ処理を実行すること等が可能となっている。ト
ランザクション処理プロセッサ部53は、整数演算及び
論理演算以外の複雑な演算機能や制御機能は含んでいな
くてよく、複数のプロセッサ及び/又は複数のプログラ
ムカウンタを備えるなどして、トランザクション処理を
効率的に実行可能な構成とされている。入出力インタフ
ェース54は、汎用プロセッサ部52と外部とのインタ
フェースを提供する。
【0099】汎用プロセッサ部52は、2つの汎用プロ
セッサ55−1、55−2、メモリ56、システムバス
57、システムコントローラ58、クラスタインタフェ
ース59から構成される。汎用プロセッサ55−1、5
5−2は、例えば、図1に示すような構成とされてい
る。
【0100】メモリ56はRAMから構成され、汎用プ
ロセッサ55−1及び55−2とシステムバス57を介
して接続される。汎用プロセッサ55−1と汎用プロセ
ッサ55−2とで、メモリ56のメモリ空間が共有され
る。
【0101】システムコントローラ58は、汎用プロセ
ッサ55−1及び55−2からの要求に応じて、システ
ムバス57及びメモリ56を制御する。クラスタインタ
フェース59は、トランザクション処理プロセッサ部5
3とのインタフェースを提供する。
【0102】また、トランザクション処理プロセッサ5
3は、2つのトランザクション処理プロセッサ60−
1、60−2、メモリ61、システムバス62、システ
ムコントローラ63、及びクラスタインタフェース64
を含む。
【0103】トランザクション処理プロセッサ60−1
及び60−2は、図3に示すトランザクション処理プロ
セッサ18−xと同様な構成でよい。
【0104】メモリ61は、システムバス62を介して
トランザクション処理プロセッサ60−1及び60−2
と接続される。トランザクション処理プロセッサ60−
1及び60−2は、メモリ61のメモリ空間を共有す
る。
【0105】システムコントローラ63は、トランザク
ション処理プロセッサ60−1及び60−2からの要求
に応じて、システムバス62及びメモリ61を制御す
る。クラスタインタフェース64は、汎用プロセッサ部
52のクラスタインタフェース59と接続されており、
汎用プロセッサ部52とのインタフェースを提供する。
【0106】本実施例では、汎用プロセッサ部52及び
トランザクション処理プロセッサ部53は、夫々にメモ
リ56及びメモリ61を備えており、独立したメモリ空
間を有する。汎用プロセッサ部52とトランザクション
処理プロセッサ部53との間では、クラスタインタフェ
ース59及び64を介して通信が行なわれる。トランザ
クション処理プロセッサ部53で、例えば浮動小数点演
算が必要な命令が発行された場合には、この命令は、ク
ラスタインタフェース64及び59を介して汎用プロセ
ッサ部52に供給され、汎用プロセッサ部52により実
行される。
【0107】以上、本発明を実施例に基づいて説明した
が、本発明は上記実施例に限定されるものではなく、特
許請求の範囲に記載の範囲内で様々な変形が可能であ
る。
【0108】
【発明の効果】本発明によれば、オールラウンドな高性
能を重視して設計されると共に、1つのプログラムの処
理を高速に実行することを重視して設計された汎用高性
能プロセッサと、小規模な処理を大量に並列実行するこ
とを重視して設計されるマルチスプレッド及び/或いは
マルチプロセストランザクション処理プロセッサとを設
け、トランザクション処理はトランザクション処理プロ
セッサに割り当てて、トランザクション処理プロセッサ
が効率的に実行できない処理は汎用高性能プロセッサに
割り当てることで、多様な命令を効率よく処理できる情
報処理装置を提供することが出来る。
【図面の簡単な説明】
【図1】高性能汎用プロセッサの一例のブロック構成図
である。
【図2】マルチスプレッドトランザクション処理システ
ムのブロック構成図である。
【図3】トランザクション処理プロセッサの一例のブロ
ック構成図である。
【図4】本発明の一実施例のシステム構成図である。
【図5】本発明の一実施例のトランザクション処理プロ
セッサのブロック構成図である。
【図6】本発明の一実施例のトランザクション処理プロ
セッサの処理フローチャートである。
【図7】本発明の一実施例のトランザクション処理プロ
セッサの割り込み処理の処理フローチャートである。
【図8】本発明の一実施例の汎用プロセッサの処理フロ
ーチャートである。
【図9】本発明の一実施例の命令割り当て処理の動作説
明図である。
【図10】本発明の一実施例の命令割当制御部の処理フ
ローチャートである。
【図11】本発明の他の実施例のシステム構成図であ
る。
【符号の説明】
31 情報処理システム 32−1、32−2 汎用プロセッサ 33−1、33−2 トランザクション処理プロセッサ 34 メインメモリ 35 入出力インタフェース 36 システムコントローラ 37 システムバス 41 トランザクション処理演算部 42 2次キャッシュメモリ 43−1〜43−m プロセッサコア 44 2次キャッシュタグ 45 インタフェース

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】種々の処理のうちで特定の処理をそれ以外
    の処理よりも頻繁に実行する情報処理装置であって、 該種々の処理に対応する命令セットを実行可能な第1の
    プロセッサと、 該命令セットの一部或いは全てを実行可能であり該特定
    の処理に対応する該命令セットの一部を該第1のプロセ
    ッサより効率的に実行可能な第2のプロセッサを含み、
    該特定の処理を該第2のプロセッサが実行し該特定の処
    理以外の処理を該第1のプロセッサが実行することを特
    徴とする情報処理装置。
  2. 【請求項2】全ての処理は最初に該第2のプロセッサに
    割り当てられ、該特定の処理に対応する該命令セットの
    一部以外の命令を実行必要な場合に、割り込みにより該
    第2のプロセッサから第1のプロセッサに処理を移すこ
    とを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】全ての処理は最初に該第2のプロセッサに
    割り当てられ、該第2のプロセッサで実行不可能或いは
    効率的な実行が出来ない命令が出現した場合に、割り込
    みにより該第2のプロセッサから第1のプロセッサに処
    理を移すことを特徴とする請求項1記載の情報処理装
    置。
  4. 【請求項4】該実行不可能或いは効率的な実行が出来な
    い命令は、浮動小数点演算命令であることを特徴とする
    請求項3記載の情報処理装置。
  5. 【請求項5】該第2のプロセッサは、マルチスレッド方
    式及びマルチプロセッサ方式のうちの少なくとも1つの
    方式により処理を並列に実行することで、該特定の処理
    に対応する該命令セットの一部を該第1のプロセッサよ
    り効率的に実行可能であることを特徴とする請求項1記
    載の情報処理装置。
  6. 【請求項6】該第1のプロセッサは汎用プロセッサであ
    り、該第2のプロセッサは該特定の処理であるトランザ
    クション処理を効率的に実行可能なように構成されたト
    ランザクション処理プロセッサであることを特徴とする
    請求項1記載の情報処理装置。
  7. 【請求項7】該第1のプロセッサ及び該第2のプロセッ
    サがメモリ空間を共有することを特徴とする請求項1記
    載の情報処理装置。
JP2000348475A 1999-12-27 2000-11-15 情報処理装置 Expired - Fee Related JP3981238B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000348475A JP3981238B2 (ja) 1999-12-27 2000-11-15 情報処理装置
DE10063915A DE10063915B4 (de) 1999-12-27 2000-12-20 Informationsverarbeitungsgerät, das eine Mehrzweckverarbeitung und Transaktionsverarbeitung ausführt
US09/746,068 US7711925B2 (en) 1999-12-27 2000-12-26 Information-processing device with transaction processor for executing subset of instruction set where if transaction processor cannot efficiently execute the instruction it is sent to general-purpose processor via interrupt

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP37161799 1999-12-27
JP11-371617 1999-12-27
JP2000348475A JP3981238B2 (ja) 1999-12-27 2000-11-15 情報処理装置

Publications (2)

Publication Number Publication Date
JP2001249808A true JP2001249808A (ja) 2001-09-14
JP3981238B2 JP3981238B2 (ja) 2007-09-26

Family

ID=26582335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000348475A Expired - Fee Related JP3981238B2 (ja) 1999-12-27 2000-11-15 情報処理装置

Country Status (3)

Country Link
US (1) US7711925B2 (ja)
JP (1) JP3981238B2 (ja)
DE (1) DE10063915B4 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260377A (ja) * 2005-03-18 2006-09-28 Seiko Epson Corp 並列処理装置および情報処理方法
JP2007219937A (ja) * 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd タスク管理システム、タスク管理方法およびタスク管理プログラム
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
JP2010500692A (ja) * 2006-08-13 2010-01-07 メンター・グラフィクス・コーポレーション 階層的プロセッサ構成によるマルチプロセッサアーキテクチャ
JP2011134162A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> タスクの切り換えを制御するシステムおよび方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171234A (ja) * 2002-11-19 2004-06-17 Toshiba Corp マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム
US7711932B2 (en) * 2003-12-02 2010-05-04 Intel Corporation Scalable rename map table recovery
JP2005242569A (ja) * 2004-02-25 2005-09-08 Fujitsu Ltd データ処理装置設計方法、データ処理装置設計装置及びプログラム
JP5243711B2 (ja) * 2006-11-10 2013-07-24 セイコーエプソン株式会社 プロセッサ
US8886917B1 (en) * 2007-04-25 2014-11-11 Hewlett-Packard Development Company, L.P. Switching to core executing OS like codes upon system call reading greater than predetermined amount of data
US20190294443A1 (en) * 2018-03-20 2019-09-26 Qualcomm Incorporated Providing early pipeline optimization of conditional instructions in processor-based systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US4395758A (en) * 1979-12-10 1983-07-26 Digital Equipment Corporation Accelerator processor for a data processing system
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
JPH0373008A (ja) 1989-08-11 1991-03-28 Atsugi Unisia Corp スライド型駆動装置
US5329626A (en) * 1990-10-23 1994-07-12 Digital Equipment Corporation System for distributed computation processing includes dynamic assignment of predicates to define interdependencies
JPH05334265A (ja) 1992-05-29 1993-12-17 Toshiba Corp 情報処理装置および情報処理方法
US6085307A (en) * 1996-11-27 2000-07-04 Vlsi Technology, Inc. Multiple native instruction set master/slave processor arrangement and method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260377A (ja) * 2005-03-18 2006-09-28 Seiko Epson Corp 並列処理装置および情報処理方法
JP2007219937A (ja) * 2006-02-17 2007-08-30 Toyota Infotechnology Center Co Ltd タスク管理システム、タスク管理方法およびタスク管理プログラム
JP2010500692A (ja) * 2006-08-13 2010-01-07 メンター・グラフィクス・コーポレーション 階層的プロセッサ構成によるマルチプロセッサアーキテクチャ
JP2008242948A (ja) * 2007-03-28 2008-10-09 Toshiba Corp 情報処理装置および同装置の動作制御方法
JP2011134162A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> タスクの切り換えを制御するシステムおよび方法
US8601488B2 (en) 2009-12-25 2013-12-03 International Business Machines Corporation Controlling the task switch timing of a multitask system

Also Published As

Publication number Publication date
US20010005880A1 (en) 2001-06-28
US7711925B2 (en) 2010-05-04
JP3981238B2 (ja) 2007-09-26
DE10063915A1 (de) 2001-07-12
DE10063915B4 (de) 2008-02-21

Similar Documents

Publication Publication Date Title
US6202130B1 (en) Data processing system for processing vector data and method therefor
US6061710A (en) Multithreaded processor incorporating a thread latch register for interrupt service new pending threads
EP1839146B1 (en) Mechanism to schedule threads on os-sequestered without operating system intervention
JP4987882B2 (ja) スレッドに最適化されたマルチプロセッサアーキテクチャ
US6073215A (en) Data processing system having a data prefetch mechanism and method therefor
US5485626A (en) Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing
TWI386814B (zh) 具動態工作管理能力之多處理器界面及其程式載卸方法
US20080046689A1 (en) Method and apparatus for cooperative multithreading
JP2005284749A (ja) 並列処理コンピュータ
EP1658563A1 (en) Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor
KR20010095069A (ko) 다중 스레드 초장 명령어 프로세서, 명령어 처리 방법 및그 제품
EP3588288A1 (en) A multithreaded processor core with hardware-assisted task scheduling
KR20010095068A (ko) 다중 스레드 초장 명령어 프로세서, 명령어 처리 방법 및그 제품
JP3981238B2 (ja) 情報処理装置
KR20010095073A (ko) 다중 스레드 초장 명령어 프로세서, 명령어 처리 방법 및그 제품
WO2005022384A1 (en) Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor
WO2005048009A2 (en) Method and system for multithreaded processing using errands
Cogswell et al. Macs: A predictable architecture for real time systems
JPH0916409A (ja) マイクロコンピュータ
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
EP1523710A2 (en) Method and apparatus for context switching in computer operating systems
CN117501254A (zh) 使用近存储器计算为复杂操作提供原子性
Chaudhry et al. A case for the multithreaded processor architecture
JP2553526B2 (ja) マルチタスク処理装置
JPH06332700A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070629

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120706

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees