JP2007148709A - プロセッサシステム - Google Patents

プロセッサシステム Download PDF

Info

Publication number
JP2007148709A
JP2007148709A JP2005341339A JP2005341339A JP2007148709A JP 2007148709 A JP2007148709 A JP 2007148709A JP 2005341339 A JP2005341339 A JP 2005341339A JP 2005341339 A JP2005341339 A JP 2005341339A JP 2007148709 A JP2007148709 A JP 2007148709A
Authority
JP
Japan
Prior art keywords
instruction
arithmetic unit
unit
control unit
cascaded
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.)
Withdrawn
Application number
JP2005341339A
Other languages
English (en)
Inventor
Aki Tomita
亜紀 富田
Hideki Aoki
秀貴 青木
Naonobu Sukegawa
直伸 助川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005341339A priority Critical patent/JP2007148709A/ja
Priority to US11/357,972 priority patent/US20070124567A1/en
Publication of JP2007148709A publication Critical patent/JP2007148709A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (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

【課題】チップ内異種マルチプロセッサの使い勝手および性能を向上させることができるプロセッサシステムを提供する。
【解決手段】プロセッサとメモリとを有するプロセッサシステムであって、プロセッサ1は、プログラムを読み出す1つの制御ユニット10と、制御ユニットが読み出したプログラムのうちSIMD命令を送信する複数の演算ユニット20,30,40と、制御ユニットがメモリから読み出したプログラムを格納し、制御ユニットおよび複数の演算ユニットがデータの読出しおよび書込みを行うことができる共有キャッシュ50とから構成され、制御ユニットが複数の演算ユニットに対して送信する命令は、複数の演算ユニットが命令を実行する過程において、命令を実行している演算ユニットとは異なる演算ユニットからの外部信号受信まで該命令の実行を中断するか否かを指定する。
【選択図】図1

Description

本発明は、メモリとプロセッサが内部ネットワークで接続されるプロセッサシステムに関し、特に、チップ内異種マルチプロセッサに適用して有効な技術に関する。
例えば、HPC(High Performance Computing)分野においては、飛躍的に高い価格性能比の実現を目的とし、アクセラレータ(演算ユニット)搭載に対するニーズが出現しており、特許文献1のような技術が提案されている。
この特許文献1には、制御ユニットに相当するAPと演算ユニットに相当するAPUが独立し、APUによる処理を制御するためにAPU遠隔手順呼出しコマンドを使用する技術が開示されている。さらに、この特許文献1では、プログラムに相当するソフトウェア・セルにおいて、必要なAPUによってセルの実行に必要な最低数のAPUが与えられ、各APUによって実行されるAPUプログラムが指定されるようになっている。
特開2003−281107号公報
ところで、数値計算プログラムにおいては、通常、制御ユニットが、複数の演算ユニットに対して同じ演算処理の実行を指示し、制御ユニットが各演算ユニットの実行結果を集計する。前記特許文献1の技術のように、各APUが異なるプログラムを実行できるようにする必要性はない。逆に、各APUが実行するプログラムを指定しなければならないことは使い勝手を低下させてしまう。
また、前記特許文献1の技術は、複数のAPUが同じ処理を実行することを必ずしも想定していないので、複数のAPUがメモリアクセスを同時に実行することによる性能劣化への対策を講じていない。一方、演算ユニット搭載により実効性能を高めるためには、各演算ユニットに演算性能に見合ったデータを転送することが求められる。ハードウェアの詳細動作に関する知識に基づいて実施する必要のあるこのようなメモリアクセス集中の回避をユーザに一任することは、性能低下や使い勝手の低下を引き起こしてしまう。
そこで、本発明は前述のような課題を解決し、その目的は、チップ内異種マルチプロセッサの使い勝手および性能を向上させることができるプロセッサシステムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明は、プログラムとデータを格納するメモリと、データを用いるプログラムを実行するプロセッサと、メモリとプロセッサを接続する内部ネットワークとから構成されるプロセッサシステムに適用され、以下のような特徴を有するものである。
プロセッサは、プログラムを読み出す1つの制御ユニットと、制御ユニットが読み出したプログラムのうちSIMD命令を送信する複数の演算ユニットと、制御ユニットがメモリから読み出したプログラムを格納し、制御ユニットおよび複数の演算ユニットがデータの読出しおよび書込みを行うことができる共有キャッシュとから構成される。特に、制御ユニットが複数の演算ユニットに対して送信する命令は、複数の演算ユニットが命令を実行する過程において、命令を実行している演算ユニットとは異なる演算ユニットからの外部信号受信まで該命令の実行を中断するか否かを指定する。また、演算ユニットが実行を中断した命令の処理を再開する場合には、制御ユニットあるいは異なる演算ユニットに対して外部信号を発する。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、チップ内異種マルチプロセッサの使い勝手および性能を向上させることができるプロセッサシステムを提供することが可能となる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
まず、図1により、本発明の一実施の形態におけるマルチプロセッサシステムの構成の一例を説明する。図1は、マルチプロセッサシステムの構成の一例を示す図である。
本実施の形態におけるマルチプロセッサシステムは、チップ内異種マルチプロセッサに適用され、複数のプロセッサ1と、これらのプロセッサ1からアクセスできるメモリ2とを有し、プロセッサ1およびメモリ2が内部ネットワーク3を通じて接続されている。
各プロセッサ1は、プログラムを読み出す1つの制御ユニット10と、この制御ユニット10が読み出したプログラムのうちSIMD(Single Instruction Multiple Data)命令を送信する複数の演算ユニット20,30,40と、制御ユニット10がメモリ2から読み出したプログラムを格納し、制御ユニット10および複数の演算ユニット20,30,40がデータの読出しおよび書込みを行うことができる共有キャッシュ50とから構成される。
メモリ2には、各プロセッサ1が実行するプログラム60や、このプログラム60においてアクセスするデータ70が格納されている。プログラム60は、制御ユニット10が実行する少なくとも1つの制御ユニット用プログラム区画と、演算ユニット20,30,40が実行する少なくとも1つの演算ユニット用プログラム区画とから構成され、演算ユニット用プログラム区画は開始を示す開始コードと終了を示す終了コードとで囲まれている。
次に、図2により、前述した制御ユニットおよび演算ユニットの構成の一例を説明する。図2は、制御ユニットおよび演算ユニットの構成の一例を示す図である。
制御ユニット10は、命令Fetch部11と、命令Decode部12と、命令Allocate部13と、命令Execute部14と、演算ユニット実行管理部15と、命令キャッシュ16と、データキャッシュ17から構成される。なお、命令キャッシュ16およびデータキャッシュ17は制御ユニット10のみがアクセスできる。
この制御ユニット10が複数の演算ユニット20,30,40に対して送信する命令は、複数の演算ユニットが命令を実行する過程において、命令を実行している演算ユニットとは異なる演算ユニットからの外部信号受信まで該命令の実行を中断するか否かを指定する。そして、演算ユニットが実行を中断した命令の処理を再開する場合には、制御ユニット10あるいは異なる演算ユニットに対して外部信号を発する。
また、制御ユニット10は、演算ユニット用プログラム区画を構成する命令に対してCascaded実行方式を適用するか否かを選択し、また、演算ユニット用プログラム区画を構成するプリフェッチ命令に対してCascaded実行方式を選択する。この際に、制御ユニット10が演算ユニット20,30,40に送信する命令には、Cascaded実行方式か否かを設定するフィールドを含む。
また、制御ユニット10は、Cascaded実行方式を適用した命令の完了を、すべての演算ユニットグループの完了サブ演算ユニットから完了通知を受信したことで判定する。また、制御ユニット10がプリフェッチ命令に対してCascaded実行方式による実行を指定した場合には、演算ユニットのデータキャッシュについてミスしたデータの共有キャッシュからの読出し要求を発行する前に中断判定ポイントを設定する。
このように構成される制御ユニット10において、命令Fetch部11は、次に実行する命令コードを命令キャッシュ16から読み出す。命令Decode部12は、Fetchされた命令のうち、制御ユニット用命令および演算ユニット専用命令以外の制御ユニットと共通の命令をデコードする。命令Allocate部13は、レジスタ等命令実行に必要なリソースを割り当てる。命令Execute部14は、命令を実行する。演算ユニット実行管理部15は、演算ユニット用命令の各演算ユニットへの発行および当該命令実行の終了を管理する。また、演算ユニット実行管理部15は、命令実行方式を指定可能な演算ユニット用命令に対して、Cascaded実行方式あるいは並列実行方式を指定する。
演算ユニット20,30,40は、複数の演算ユニットグループに分割される。各演算ユニットグループは、メイン演算ユニット20と、サブ演算ユニット30と、完了サブ演算ユニット40から構成される。
この演算ユニットは、制御ユニットが解釈する共通命令、および、演算ユニットが解釈する専用命令を実行する。また、演算ユニットが制御ユニットによりCascaded実行方式による実行を指定された命令を実行する過程において、中断するか否かを判定する中断判定ポイントに到達した場合には、Cascaded外部信号を受信している場合には実行過程を進み、Cascaded外部信号を受信していない場合には受信するまで実行を中断する。
このように構成される演算ユニットにおいて、メイン演算ユニット20は、Cascaded実行方式を指定された命令の完了時に特定の1つの演算ユニットに外部信号を送信するためのパスを有する。サブ演算ユニット30は、Cascaded実行方式を指定され、処理を中断された命令の処理を再開するための外部信号を特定の1つの演算ユニットから受信するためのパスと、Cascaded実行方式を指定された命令の完了時に特定の1つの演算ユニットにCascaded外部信号を送信するためのパスとを有する。完了サブ演算ユニット40は、Cascaded実行方式を指定され、処理を中断された命令の処理を再開するためのCascaded外部信号を特定の1つの演算ユニットから受信するためのパスと、Cascaded実行方式を指定された命令の完了時に制御ユニットにCascaded外部信号を送信するパスとを有する。
次に、図3により、前述した制御ユニットの命令実行処理フローの一例を説明する。図3は、制御ユニットの命令実行処理フローの一例を示す図である。
制御ユニット10の命令実行処理においては、まず、命令Fetch部11が命令をFetchし(S101)、演算ユニットプログラム開始コードか否かを判定する(S102)。この判定の結果、演算ユニットプログラム開始コードの場合(Yes)には、演算ユニット実行管理部15に送信する(S103)。
続いて、命令Fetch部11が次の命令をFetchし(S104)、演算ユニットプログラム終了コードか否かを判定する(S105)。この判定の結果、演算ユニットプログラム終了コードの場合(Yes)には、次の命令があるか否かを判定し(S106)、ない場合(No)は処理を終了し、ある場合(Yes)にはS101からの処理を繰り返す。
また、S102の判定の結果、演算ユニットプログラム開始コードでない場合(No)は、命令Decode部13へ送信し(S107)、さらに命令Allocate部13へ送信し(S108)、そして命令Excute部14へ送信して(S109)、S106へ移行する。
以上のようにして、制御ユニット10の命令実行処理が行われる。
次に、図4により、前述した演算ユニット実行管理部の処理フローの一例を説明する。図4は、演算ユニット実行管理部の処理フローの一例を示す図である。
演算ユニット実行管理部15の処理においては、まず、命令Fetch部11から命令を受信し(S201)、演算ユニット専用命令か否かを判定する(S202)。この判定の結果、演算ユニット専用命令の場合(Yes)には、命令実行方式を選択する(S203)。
続いて、命令実行方式の選択において、Cascaded実行方式を選択したか否かを判定する(S204)。この判定の結果、Cascaded実行方式を選択した場合(Yes)には、Cascaded実行方式を指定する(S205)。そして、すべての演算ユニット20,30,40に命令を送信し(S206)、命令完了処理を実行して(S207)、処理を終了する。
また、S202の判定の結果、演算ユニット専用命令でない場合(No)は、命令Decode部12へDecodeを依頼し(S208)、命令Decode部12からDecodeされたコードを受信して(S209)、S203へ移行する。
また、S204の判定の結果、Cascaded実行方式を選択していない場合(No)は、並列実行方式を指定して(S210)、S206へ移行する。
以上のようにして、演算ユニット実行管理部15の処理が行われる。
次に、図5により、前述した演算ユニット実行管理部の命令完了処理フローの一例を説明する。図5は、演算ユニット実行管理部の命令完了処理フローの一例を示す図である。
演算ユニット実行管理部15の命令完了処理は、まず、演算ユニットから命令完了通知を受信し(S301)、Cascaded実行方式を指定するか否かを判定する(S302)。この判定の結果、Cascaded実行方式を指定する場合(Yes)には、すべての完了サブ演算ユニット40から命令完了通知を受信したか否かを判定し(S303)、受信した場合(Yes)には処理を終了し、受信していない場合(No)はS301からの処理を繰り返す。
また、S302の判定の結果、Cascaded実行方式を指定しない場合(No)は、すべての演算ユニット20,30,40から命令完了通知を受信したか否かを判定し(S304)、受信した場合(Yes)には処理を終了し、受信していない場合(No)はS301からの処理を繰り返す。
以上のようにして、演算ユニット実行管理部15の命令完了処理が行われる。
次に、図6により、前述したメイン演算ユニットの構成の一例を説明する。図6は、メイン演算ユニットの構成の一例を示す図である。
メイン演算ユニット20は、命令受信部21と、命令Decode部22と、命令Allocate部23と、命令Execute部24と、データキャッシュ25から構成される。
このように構成されるメイン演算ユニット20において、命令受信部21は、制御ユニット10の演算ユニット実行管理部15が発行した命令を受信する。受信した命令が演算ユニット専用命令であり、まだデコードされていない場合には、命令Decode部22に対してデコードを依頼する。命令Allocate部23は、レジスタ等命令実行に必要なリソースを割り当てる。命令Execute部24は、命令を実行する。また、命令Execute部24は、当該命令においてCascaded実行方式が指定されている場合には、Cascaded外部信号を送信する。
次に、図7により、前述したメイン演算ユニットの処理フローの一例を説明する。図7は、メイン演算ユニットの処理フローの一例を示す図である。
メイン演算ユニット20の処理においては、まず、制御ユニット10から命令受信部21が命令を受信し(S401)、Decode完了か否かを判定する(S402)。この判定の結果、Decode完了の場合(Yes)には、命令Allocate部23へ送信し(S403)、さらに命令Excute部24へ送信する(S404)。
続いて、命令Excute部24が命令を実行し(S405)、Cascaded実行方式を指定するか否かを判定する(S406)。この判定の結果、Cascaded実行方式を指定する場合(Yes)には、Cascaded外部信号を送信して(S407)、また、Cascaded実行方式を指定しない場合(No)は、制御ユニット10に完了通知を送信して(S408)、処理を終了する。
また、S402の判定の結果、Decode完了でない場合(No)は、命令Decode部22へ送信し(S409)、S403へ移行する。
以上のようにして、メイン演算ユニット20の処理が行われる。
次に、図8により、前述したサブ演算ユニットの構成の一例を説明する。図8は、サブ演算ユニットの構成の一例を示す図である。
サブ演算ユニット30は、命令受信部31と、命令Decode部32と、命令Allocate部33と、命令Execute部34と、Pendingキュー35と、データキャッシュ36から構成される。
このように構成されるサブ演算ユニット30において、命令受信部31は、制御ユニット10の演算ユニット実行管理部15が発行した命令を受信する。受信した命令が演算ユニット専用命令であり、まだデコードされていない場合には、命令Decode部32に対してデコードを依頼する。命令Allocate部33は、レジスタ等命令実行に必要なリソースを割り当てる。命令Execute部34は、命令を実行する。また、命令Execute部34は、当該命令においてCascaded実行方式が指定されており、かつ、Cascaded外部信号を受信していない場合には、当該命令をPendingキュー35に登録する。Cascaded外部信号を受信した場合には、Pendingキュー35から該当命令を削除し、実行を再開し、Cascaded外部信号を送信する。
次に、図9により、前述したサブ演算ユニットの処理フローの一例を説明する。図9は、サブ演算ユニットの処理フローの一例を示す図である。
サブ演算ユニット30の処理においては、まず、制御ユニット10から命令受信部31が命令を受信し(S501)、Decode完了か否かを判定する(S502)。この判定の結果、Decode完了の場合(Yes)には、命令Allocate部33へ送信し(S503)、さらに命令Excute部34へ送信する(S504)。
続いて、Cascaded実行方式を指定するか否かを判定する(S505)。この判定の結果、Cascaded実行方式を指定する場合(Yes)には、命令Excute部34がPending判定ポイントまで命令を実行し(S506)、Cascaded外部信号を受信したか否かを判定する(S507)。この判定の結果、Cascaded外部信号を受信した場合(Yes)には、命令を実行し(S508)、Cascaded外部信号を送信して(S509)、処理を終了する。
また、S502の判定の結果、Decode完了でない場合(No)は、命令Decode部32へ送信し(S510)、S503へ移行する。
また、S505の判定の結果、Cascaded実行方式を指定しない場合(No)は、命令Excute部34が命令を実行し(S511)、制御ユニット10に完了通知を送信して(S512)、処理を終了する。
また、S507の判定の結果、Cascaded外部信号を受信していない場合(No)は、Pendingキュー35に登録し(S513)、Cascaded外部信号を受信したか否かを判定し(S514)、そしてCascaded外部信号を受信した場合(Yes)には、Pendingキュー35から削除し(S515)、S508に移行する。
以上のようにして、サブ演算ユニット30の処理が行われる。
次に、図10により、前述した完了サブ演算ユニットの構成の一例を説明する。図10は、完了サブ演算ユニットの構成の一例を示す図である。
完了サブ演算ユニット40は、命令受信部41と、命令Decode部42と、命令Allocate部43と、命令Execute部44と、Pendingキュー45と、データキャッシュ46から構成される。
このように構成される完了サブ演算ユニット40において、命令受信部41は、制御ユニット10の演算ユニット実行管理部15が発行した命令を受信する。受信した命令が演算ユニット専用命令であり、まだデコードされていない場合には、命令Decode部42に対してデコードを依頼する。命令Allocate部43は、レジスタ等命令実行に必要なリソースを割り当てる。命令Execute部44は、命令を実行する。また、命令Execute部44は、当該命令においてCascaded実行方式が指定されており、かつ、Cascaded外部信号を受信していない場合には、当該命令をPendingキュー45に登録する。Cascaded外部信号を受信した場合には、Pendingキュー45から該当命令を削除し、実行を再開し、制御ユニット10に完了通知を送信する。
次に、図11により、前述した完了サブ演算ユニットの処理フローの一例を説明する。図11は、完了サブ演算ユニットの処理フローの一例を示す図である。
完了サブ演算ユニット40の処理においては、まず、制御ユニット10から命令受信部41が命令を受信し(S601)、Decode完了か否かを判定する(S602)。この判定の結果、Decode完了の場合(Yes)には、命令Allocate部43へ送信し(S603)、さらに命令Excute部43へ送信する(S604)。
続いて、Cascaded実行方式を指定するか否かを判定する(S605)。この判定の結果、Cascaded実行方式を指定する場合(Yes)には、命令Excute部44がPending判定ポイントまで命令を実行し(S606)、Cascaded外部信号を受信したか否かを判定する(S607)。この判定の結果、Cascaded外部信号を受信した場合(Yes)には、命令を実行し(S608)、制御ユニット10に完了通知を送信して(S609)、処理を終了する。
また、S602の判定の結果、Decode完了でない場合(No)は、命令Decode部42へ送信し(S610)、S603へ移行する。
また、S605の判定の結果、Cascaded実行方式を指定しない場合(No)は、命令Excute部44が命令を実行して(S611)、処理を終了する。
また、S607の判定の結果、Cascaded外部信号を受信していない場合(No)は、Pendingキュー45に登録し(S612)、Cascaded外部信号を受信したか否かを判定し(S613)、そしてCascaded外部信号を受信した場合(Yes)には、Pendingキュー45から削除し(S614)、S608に移行する。
以上のようにして、完了サブ演算ユニット40の処理が行われる。
次に、図12により、前述した制御ユニットから演算ユニットへの命令フォーマットの一例を説明する。図12は、制御ユニットから演算ユニットへの命令フォーマットの一例を示す図である。
制御ユニット10から演算ユニット20,30,40への命令フォーマットには、命令コードと、Cascaded実行方式と、命令オペランドから構成される。Cascaded実行方式は、たとえば、“1”の場合にCascaded実行方式が行われ、“0”の場合には通常実行方式となる。
以上説明したように、本実施の形態のマルチプロセッサシステムによれば、明示的にSIMD命令をプロセッサ1間でCascaded状に実行することで、チップ内異種マルチプロセッサの使い勝手および性能を向上させることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、プロセッサシステムに関し、特に、チップ内異種マルチプロセッサに適用して有効である。
本発明の一実施の形態におけるマルチプロセッサシステムの構成の一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、制御ユニットおよび演算ユニットの構成の一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、制御ユニットの命令実行処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、演算ユニット実行管理部の処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、演算ユニット実行管理部の命令完了処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、メイン演算ユニットの構成の一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、メイン演算ユニットの処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、サブ演算ユニットの構成の一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、サブ演算ユニットの処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、完了サブ演算ユニットの構成の一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、完了サブ演算ユニットの処理フローの一例を示す図である。 本発明の一実施の形態におけるマルチプロセッサシステムにおいて、制御ユニットから演算ユニットへの命令フォーマットの一例を示す図である。
符号の説明
1…プロセッサ、2…メモリ、3…内部ネットワーク、10…制御ユニット、11…命令Fetch部、12…命令Decode部、13…命令Allocate部、14…命令Execute部、15…演算ユニット実行管理部、16…命令キャッシュ、17…データキャッシュ、20…メイン演算ユニット、21…命令受信部、22…命令Decode部、23…命令Allocate部、24…命令Execute部、25…データキャッシュ、30…サブ演算ユニット、31…命令受信部、32…命令Decode部、33…命令Allocate部、34…命令Execute部、35…Pendingキュー、36…データキャッシュ、40…完了サブ演算ユニット、41…命令受信部、42…命令Decode部、43…命令Allocate部、44…命令Execute部、45…Pendingキュー、46…データキャッシュ、50…共有キャッシュ、60…プログラム、70…データ。

Claims (11)

  1. プログラムとデータを格納するメモリと、
    前記データを用いる前記プログラムを実行するプロセッサと、
    前記メモリと前記プロセッサを接続する内部ネットワークとから構成されるプロセッサシステムであって、
    前記プロセッサは、
    前記プログラムを読み出す1つの制御ユニットと、
    前記制御ユニットが読み出した前記プログラムのうちSIMD命令を送信する複数の演算ユニットと、
    前記制御ユニットが前記メモリから読み出したプログラムを格納し、前記制御ユニットおよび前記複数の演算ユニットがデータの読出しおよび書込みを行うことができる共有キャッシュとから構成され、
    前記制御ユニットが前記複数の演算ユニットに対して送信する命令は、
    前記複数の演算ユニットが命令を実行する過程において、命令を実行している演算ユニットとは異なる演算ユニットからの外部信号受信まで該命令の実行を中断するか否かを指定することを特徴とするプロセッサシステム。
  2. 請求項1記載のプロセッサシステムにおいて、
    前記演算ユニットが実行を中断した命令の処理を再開する場合には、前記制御ユニットあるいは前記異なる演算ユニットに対して外部信号を発することを特徴とするプロセッサシステム。
  3. 請求項1記載のプロセッサシステムにおいて、
    前記プログラムは、前記制御ユニットが実行する少なくとも1つの制御ユニット用プログラム区画と、前記演算ユニットが実行する少なくとも1つの演算ユニット用プログラム区画とから構成され、
    前記演算ユニット用プログラム区画は、開始を示す開始コードと終了を示す終了コードとで囲まれていることを特徴とするプロセッサシステム。
  4. 請求項1記載のプロセッサシステムにおいて、
    前記演算ユニットは、前記制御ユニットが解釈する共通命令、および、前記演算ユニットが解釈する専用命令を実行することを特徴とするプロセッサシステム。
  5. 請求項3記載のプロセッサシステムにおいて、
    前記制御ユニットは、前記演算ユニット用プログラム区画を構成する命令に対してCascaded実行方式を適用するか否かを選択することを特徴とするプロセッサシステム。
  6. 請求項3記載のプロセッサシステムにおいて、
    前記制御ユニットは、前記演算ユニット用プログラム区画を構成するプリフェッチ命令に対してCascaded実行方式を選択することを特徴とするプロセッサシステム。
  7. 請求項1記載のプロセッサシステムにおいて、
    前記演算ユニットは、複数の演算ユニットグループに分割され、
    各演算ユニットグループは、
    Cascaded実行方式を指定された命令の完了時に特定の1つの演算ユニットに外部信号を送信するためのパスを有するメイン演算ユニットと、
    前記Cascaded実行方式を指定され、処理を中断された命令の処理を再開するための外部信号を特定の1つの演算ユニットから受信するためのパスと、前記Cascaded実行方式を指定された命令の完了時に特定の1つの演算ユニットにCascaded外部信号を送信するためのパスとを有するサブ演算ユニットと、
    前記Cascaded実行方式を指定され、処理を中断された命令の処理を再開するためのCascaded外部信号を特定の1つの演算ユニットから受信するためのパスと、前記Cascaded実行方式を指定された命令の完了時に前記制御ユニットにCascaded外部信号を送信するパスとを有する完了サブ演算ユニットとから構成されることを特徴とするプロセッサシステム。
  8. 請求項7記載のプロセッサシステムにおいて、
    前記制御ユニットが前記演算ユニットに送信する命令には、前記Cascaded実行方式か否かを設定するフィールドを含むことを特徴とするプロセッサシステム。
  9. 請求項7記載のプロセッサシステムにおいて、
    前記制御ユニットは、前記Cascaded実行方式を適用した命令の完了を、すべての演算ユニットグループの前記完了サブ演算ユニットから完了通知を受信したことで判定することを特徴とするプロセッサシステム。
  10. 請求項7記載のプロセッサシステムにおいて、
    前記演算ユニットが前記制御ユニットによりCascaded実行方式による実行を指定された命令を実行する過程において、中断するか否かを判定する中断判定ポイントに到達した場合には、前記Cascaded外部信号を受信している場合には実行過程を進み、前記Cascaded外部信号を受信していない場合には受信するまで実行を中断することを特徴とするプロセッサシステム。
  11. 請求項10記載のプロセッサシステムにおいて、
    前記制御ユニットがプリフェッチ命令に対してCascaded実行方式による実行を指定した場合には、前記演算ユニットのデータキャッシュについてミスしたデータの前記共有キャッシュからの読出し要求を発行する前に前記中断判定ポイントを設定することを特徴とするプロセッサシステム。
JP2005341339A 2005-11-28 2005-11-28 プロセッサシステム Withdrawn JP2007148709A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005341339A JP2007148709A (ja) 2005-11-28 2005-11-28 プロセッサシステム
US11/357,972 US20070124567A1 (en) 2005-11-28 2006-02-22 Processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341339A JP2007148709A (ja) 2005-11-28 2005-11-28 プロセッサシステム

Publications (1)

Publication Number Publication Date
JP2007148709A true JP2007148709A (ja) 2007-06-14

Family

ID=38088884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341339A Withdrawn JP2007148709A (ja) 2005-11-28 2005-11-28 プロセッサシステム

Country Status (2)

Country Link
US (1) US20070124567A1 (ja)
JP (1) JP2007148709A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6580944B2 (ja) * 2015-10-29 2019-09-25 理想科学工業株式会社 画像形成装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736319A (en) * 1985-05-15 1988-04-05 International Business Machines Corp. Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
US5361367A (en) * 1991-06-10 1994-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors
US5659780A (en) * 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof
JP3636871B2 (ja) * 1997-09-16 2005-04-06 株式会社日立製作所 並列プロセッサシステム
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
JP2003271574A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ
TWI321414B (en) * 2004-10-15 2010-03-01 Sony Computer Entertainment Inc Methods and apparatus for supporting multiple configurations in a multi-processor system

Also Published As

Publication number Publication date
US20070124567A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
KR101635778B1 (ko) 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템
JP5244160B2 (ja) 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム
JP5047542B2 (ja) マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム)
US8918553B2 (en) Multithreaded programmable direct memory access engine
US7870308B2 (en) Programmable direct memory access engine
KR20170130383A (ko) 사용자-레벨 포크 및 조인 프로세서, 방법, 시스템, 및 명령어
US9213677B2 (en) Reconfigurable processor architecture
JP2015534188A (ja) ユーザレベルのスレッディングのために即時のコンテキスト切り替えを可能とする新規の命令および高度に効率的なマイクロアーキテクチャ
JP2007188398A (ja) マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム。
US20130138930A1 (en) Computer systems and methods for register-based message passing
JP2007206784A (ja) マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
US7831979B2 (en) Processor with instruction-based interrupt handling
JP2007148709A (ja) プロセッサシステム
EP4020167A1 (en) Accessing a branch target buffer based on branch instruction information
US8706923B2 (en) Methods and systems for direct memory access (DMA) in-flight status
US20220197657A1 (en) Segmented branch target buffer based on branch instruction type
US9342312B2 (en) Processor with inter-execution unit instruction issue
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
JP4631442B2 (ja) プロセッサ
US20140201505A1 (en) Prediction-based thread selection in a multithreading processor
WO2024093062A1 (zh) 并行译码的方法、处理器、芯片及电子设备
JP5555514B2 (ja) プロセッサシステム
JPH076037A (ja) 命令解読装置
KR100376639B1 (ko) 프로세서에서 사용하기에 적합한 메모리 데이터 액세스구조 및 방법
JP3493768B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090824