JP2014211743A - マルチコアプロセッサ - Google Patents

マルチコアプロセッサ Download PDF

Info

Publication number
JP2014211743A
JP2014211743A JP2013087372A JP2013087372A JP2014211743A JP 2014211743 A JP2014211743 A JP 2014211743A JP 2013087372 A JP2013087372 A JP 2013087372A JP 2013087372 A JP2013087372 A JP 2013087372A JP 2014211743 A JP2014211743 A JP 2014211743A
Authority
JP
Japan
Prior art keywords
stage
task
core processor
load distribution
queue
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
JP2013087372A
Other languages
English (en)
Other versions
JP5803972B2 (ja
Inventor
啓史 山本
Hiroshi Yamamoto
啓史 山本
近藤 丈詞
Takeshi Kondo
丈詞 近藤
慎一郎 田口
Shinichiro Taguchi
慎一郎 田口
尚利 野村
Naotoshi Nomura
尚利 野村
代涵 王
Daihan Wang
代涵 王
智義 船▲崎▼
Tomoyoshi Funezaki
智義 船▲崎▼
祐教 松本
Sukenori Matsumoto
祐教 松本
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2013087372A priority Critical patent/JP5803972B2/ja
Priority to US14/244,994 priority patent/US9747132B2/en
Publication of JP2014211743A publication Critical patent/JP2014211743A/ja
Application granted granted Critical
Publication of JP5803972B2 publication Critical patent/JP5803972B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/507Low-level
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

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)

Abstract

【課題】パイプライン処理の効率を改善することで、処理効率を一層向上させることができるマルチコアプロセッサを提供する。
【解決手段】複数のタスクを、複数の前段コア2が複数のパイプラインを用いて並列処理するマルチコアプロセッサ1において、パイプラインを、前段コア2により命令デコードステージまでを実行させ、命令実行ステージ以降は後段コア7により実行させる。そして、動的負荷分散ブロック5は、命令デコードステージにおけるデコード結果を参照して、後段コア7における処理の実行が必要となる前段コア2のデコード結果を、後段コア7に割り当てるように制御する。
【選択図】図1

Description

本発明は、マルチコア構成を採用するマイクロプロセッサであるマルチコアプロセッサに関する。
マルチコア構成を採用するマイクロプロセッサによって複数のタスクを並列処理する際に処理効率を向上させるには、各タスクについて設定される処理時間の制約(所謂デッドライン)を満たすように、処理順序をスケジューリングする必要がある。このスケジューリングを如何に最適化するかによって、処理効率が決まる。
例えば特許文献1には、複数グループに属するタスクをマルチコアプロセッサで処理する際に、ハッシュ値を用いることで効率的なタスク割り当てを実現する方法が開示されている。また、特許文献2には、予めスレッドの実行順序を定義しておき、排他実行可能な粒度に分類することで効率的な並列処理を実現するコンピュータが開示されている。
特表2005−507212号公報 特開2005−284749号公報
特許文献1,2の技術は、何れも各プロセッサコアへのタスク(スレッド)割り当ての効率化を実現するものである。各プロセッサコアに割り当てられたタスクは、各コアに対応した処理ステージにおいて逐次処理される(パイプライン処理)。しかしながら、全ての命令が各処理ステージの全てにつき実行されるわけではなく、命令の種類よっては、一部の処理ステージが実行されないものがある。例えば、レジスタ間演算命令では、メモリアクセス(MA)ステージは実行されない。したがって、この点を考慮すると、パイプライン処理の実行段階についても、処理効率を向上させる余地があると考えられる。
本発明は上記事情に鑑みてなされたものであり、その目的は、パイプライン処理の効率を改善することで、処理効率を一層向上させることができるマルチコアプロセッサを提供することにある。
請求項1記載のマルチコアプロセッサによれば、複数のタスクを、複数のプロセッサコアが複数のパイプラインを用いて並列処理する構成において、パイプラインを、命令デコードステージまでの前段部と、命令実行ステージ以降の後段部とに分ける。そして、負荷分散処理部は、命令デコードステージにおけるデコード結果を参照して、後段部における処理の実行が必要となる前段部のデコード結果を後段部に割り当てるように制御する。
すなわち、パイプラインの前段部においてデコードされる命令によっては、後段部の処理を実行する必要が無いものがある。したがって、そのような命令を含む場合は、対応する後段部に、異なる命令を実行させることができるようになり、より効率的に処理を行うことが可能になる。
請求項2記載のマルチコアプロセッサによれば、負荷分散処理部は、前段部においてデコードされた複数の命令が並列実行可能であれば、それら複数の命令を複数の後段部パイプラインに割り当てて並列実行させる。したがって、複数の命令の処理をより速く実行できるようになり、処理効率が向上する。
第1実施形態であり、マルチコアプロセッサの構成を示す機能ブロック図 動的負荷分散ブロックの処理をより具体的に説明する図 動的負荷分散ブロックの機能ブロック図 タスク情報テーブルの一例を示す図 2つの前段コアによりデコードされた命令を実行する後段部のパイプラインを、1つに統合した例を示す図 第2実施形態を示す図1相当図 図3相当図
(第1実施形態)
図1に示すように、本実施形態のマルチコアプロセッサ1は、並列処理を実行するためのパイプラインの前段部分を構成する4つの前段コア2(1)〜2(4)を備えている。これらの前段コア2(1)〜2(4)については、対応するタスクキュー(待ち行列)3(1)〜3(4)が設けられている。タスクキュー3(1)〜3(4)には、タスク振り分けブロック4により振り分けられたタスクが順次配置され、各前段コア2(1)〜2(4)により処理されるのを「待ち」の状態となる。各前段コア2(1)〜2(4)は、パイプラインの前段部分として命令フェッチ(IF)ステージと、命令デコード(ID)ステージとを実行する。
タスク振り分けブロック4(新規タスク振り分けキュー)における振り分け制御は、動的負荷分散ブロック5(負荷分散処理部)によって行われる。動的負荷分散ブロック5は、IDステージにおけるデコード結果に応じて各タスクキュー3(1)〜3(4)に新規のタスクを振り分ける(詳細については後述)。すなわちパイプラインは、(前段コア数)>(後段コア数)となる関係で構成されている。
前段コア2(1)〜2(4)のIDステージにてデコードされた命令は、後段処理振り分け部6を介して、パイプラインの後段部分を構成する後段コア7(1)〜7(3)に振り分けられて実行される。また、IDステージと後段処理振り分け部6との間には、各前段コア2によってアクセスされるレジスタファイル8が配置されている。
動的負荷分散ブロック5は、後段処理振り分け部6の振り分け制御も行う。後段コア7は、命令実行(EX)ステージ,メモリアクセス(MA)ステージ,ライトバック(WB)ステージとを実行する。MAステージとWBステージとの間には、メモリ9が配置されている。また、WBステージでは、レジスタファイル8に対する書き込みが行われ、EXステージにおいても同様に書き込みが行われることがあるが、これらのパスについては図示を省略している。
図2に示すように、動的負荷分散ブロック5は、各タスクキュー3に待ち状態で存在する複数のタスクについての占有率を合計する。ここで「占有率」とは、キュー3内にある各タスクについて求められるもので、タスクの残り実行時間とデッドライン時間(処理限界時間)との比である。デッドライン時間とは、アプリケーションに応じて決まるもので、アプリケーションレベルの処理を実行するため支障を来たさない範囲で、タスクの実行完了が要求される時間である。そして、その時点の合計占有率が最低であるタスクキュー3に新規タスクを振り分けるように、デマルチプレクサのシンボルで示すタスク振り分けブロック4を制御する。
また動的負荷分散ブロック5は、合計占有率が最高を示すタスクキュー3に対応する前段コア2の処理を優先して、後段コア(EX〜WBステージ)に割り当てるように、後段処理振り分け部6を制御する。尚、図2では、前段コア数をN,後段コア数をM(<N)として一般化して示している。
図3に示すように、動的負荷分散ブロック5は、図4に示すタスク情報テーブル11に基づいて各タスクキュー3の合計占有率を計算すると、各合計占有率の高低に順位を付してソートする。図3に示す例では、キュー番号4が90%で1位,キュー番号3が87%で2位,キュー番号2が30%で3位,…となっている。そして、順位が最低のNとなるキュー番号xのタスクキュー3に次の新規タスクを割り当てる。また、順位が最上位から第M位までを、後段コアに割り当てる。
図4に示すように、タスク情報テーブル11は、各タスクの状態を、実行が停止された状態にある「停止」,タスクキュー3に既に振り分けた「割当済み」,実行が中断された状態にある「中断」に判別する(動的実行状況)。また、各タスクついての前述したデッドライン時間及び残り実行時間と、最悪実行時間が保持されている(静的処理時間情報)。ここで「最悪実行時間」とは、そのタスクの処理だけを実行した場合に、全ての処理を完了させるために必要な時間である。加えて、タスクが割当済みであれば、割当先のキュー番号が保持されている。尚「Don't care」は、タスクキュー3への割り当てが不要な状態である(動的実行状況)。
また、動的負荷分散ブロック5が行う後段コア7に対する振り分け制御は、図2に示す制御に限らず、IDステージにおけるデコード結果によっては、後段コア7を使用しない命令があるので、その状態も考慮して振り分けを行う。更に、複数の前段コア7により実行される命令には並列して実行可能なものがあるので、それも考慮して振り分ける。以下、その作用について説明する。
図5(a),(b)は、2つの独立したコアが、それぞれ完全に独立したパイプラインにより各命令を実行した場合であり、図5(c)は、それらを本実施形態のマルチコアプロセッサ1により実行した場合を示す。例えば、図5(a)に示すコア(1)では、第3,第4サイクルにおいてそれぞれ加算命令ADDが実行されるが、この実行についてMAステージ以降は不要である。
また、第3サイクルで分岐命令Bをフェッチすると、その分岐が実行された後に次のロード命令LDRがフェッチされる。そして、
LDR R3[R0]
により、レジスタファイル8内のレジスタR3に、レジスタR0の内容が示すアドレスよりデータがロードされると、次の命令
LDRB R4[R3]
で、レジスタR3の内容が示すアドレスからレジスタR4にデータがロードされる。したがって、ロード命令LDRBは第7サイクルでデコードされているが、その実行は、ロード命令LDRについてWBステージ(レジスタ転送)が実行される第9サイクルからになっている。結果として、第8サイクルから実行が開始されるパイプラインには空きが発生している。
また、図5(b)に示すコア(2)では、第5サイクルから命令LDR,第6サイクルから命令LDRB,第8サイクルから命令LDRHの実行がそれぞれ開始されている。すなわち、
LDRB R4[R0,#4]
の実行を開始するには、その前の命令
LDR R3[R0]
の実行完了を待つ必要が無い。
そして、図5(a)に示すコア(1)では、第7サイクルから命令LDR,第9サイクルから命令LDRB,第10サイクルから命令LDRHの実行がそれぞれ開始されている。したがって、これら2つのコア(1),(2)による後段部の処理は、1つのパイプラインに投入しても処理が可能である。その結果、図5(c)に示すように、前段の2つのコア(1),(2)による処理が、後段では1つのパイプライン(後段コア)に統合して処理するように動的負荷分散ブロック5が振り分けを行う。
以上のように本実施形態によれば、複数のタスクを、複数の前段コア2が複数のパイプラインを用いて並列処理するマルチコアプロセッサ1において、パイプラインを、前段コア2により命令デコードステージまでを実行させ、命令実行ステージ以降は後段コア7により実行させる。そして、動的負荷分散ブロック5は、命令デコードステージにおけるデコード結果を参照して、後段コア7における処理の実行が必要となる前段コア2のデコード結果を、後段コア7に割り当てるように制御する。これにより、パイプラインの前段部でデコードされる命令が後段部の処理を実行する必要が無いものであれば、対応する後段コア7に、異なる命令を実行させることができるようになり、より効率的に処理を行うことが可能になる。
そして、動的負荷分散ブロック5は、前段コア2においてデコードされた複数の命令が並列実行可能であれば、それら複数の命令を、複数の後段コア7に割り当てて並列実行させる。したがって、複数の命令の処理をより速く実行できるようになり、処理効率が向上する。
また、複数の前段コア2に対応して設けられ、各前段コア2に順次タスクを実行させるためのタスクキュー3と、複数のタスクに関する静的処理時間情報を保持すると共に、前記複数のタスクに関する動的実行状況が反映されるタスク情報テーブル11とを備え、動的負荷分散ブロック5は、タスク情報テーブル11を参照することで各タスクキュー3に対する新規タスクの振り分け処理を行う。
すなわち、静的処理時間情報は、各タスクの実行を完了させるために必要な時間の情報であり、動的実行状況は、それぞれの時点における各タスクの実行状況を示すものである。したがって、動的負荷分散ブロック5は、それらの情報に基づいて新規タスクの振り分けを効率的に行うことができる。
具体的には、動的負荷分散ブロック5は、各タスクキュー3について、現在待ち状態にある各タスクの占有率を、当該タスクに関する残り実行時間と処理限界時間との比で計算すると各タスクの占有率を加算した合計占有率を求め、合計占有率が最低を示すタスクキュー3に次の新規タスクを割り当てる。したがって、各タスクキュー3の合計占有率が平準化されるように割り当てを行うことができる。
また、動的負荷分散ブロック5は、合計占有率が高いタスクキュー3に対応する前段コア2を優先して、そのデコード結果を後段コア7に割り当てるように制御する。したがって、合計占有率が高いタスクキュー3の処理を促進することで、各タスクキュー3の合計占有率を平準化させることができる。
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図6に示すように、第2実施形態のマルチコアプロセッサ21は、前段コア22の数(4)よりも、後段コア7の数(5)を多くした構成例を示している。尚、レジスタファイル8及びメモリ9については、図示を省略している。
第2実施形態の前段コア22は、それぞれに対応するタスクキュー3内のタスクについて、命令を2並列でフェッチ,デコードすることが可能となっている。したがって、IDステージより後段処理振り分け部23に入力されているinst1,inst2は、並列にフェッチ,デコードされた2つの命令を示している。
次に、第2実施形態の作用について説明する。図7に示すように、動的負荷分散処理ブロック24は、タスクキュー3の合計占有率が例えば閾値80%を超えたもの(この例では、キュー番号「4」)については、2つの後段コア7を割り当てるようにする。この様に構成すれば、合計占有率が高いタスクキュー3の処理を促進して占有率を低下させることができるので、各タスクキュー3の合計占有率を平準化させて処理効率を向上させることができる。
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
前段コア,後段コアの数は、個別の設計に応じて適宜設定すれば良い。
第2実施形態における閾値についても、適宜変更して良い。
第2実施形態において、前段コアにより命令を3並列以上でフェッチ,デコードして、1つのタスクキューの処理を3つ以上の後段コアで並列処理するように構成しても良い。
図面中、1はマルチコアプロセッサ、2は前段コア(前段部)、3はタスクキュー(待ち行列)、4はタスク振り分けブロック、5は動的負荷分散ブロック(負荷分散処理部)、7は後段コア(後段部)、11はタスク情報テーブルを示す。

Claims (6)

  1. 複数のタスクを、複数のプロセッサコアが複数のパイプラインを用いて並列処理するマルチコアプロセッサ(1,21)において、
    前記パイプラインを、命令デコードステージまでの前段部(2,22)と、命令実行ステージ以降の後段部(7)とに分け、
    前記命令デコードステージにおけるデコード結果を参照して、前記後段部における処理の実行が必要となる前段部のデコード結果を、前記後段部に割り当てるように制御する負荷分散処理部(5,24)を備えることを特徴とするマルチコアプロセッサ。
  2. 前記負荷分散処理部は、前記前段部においてデコードされた複数の命令が並列実行可能であれば、それら複数の命令を複数の後段部パイプラインに割り当てて並列実行させることを特徴とする請求項1記載のマルチコアプロセッサ。
  3. 前記複数の前段部パイプラインに対応して設けられ、各前段部パイプラインに順次タスクを実行させるための待ち行列(3)と、
    複数のタスクに関する静的処理時間情報を保持すると共に、前記複数のタスクに関する動的実行状況が反映されるタスク情報テーブル(11)とを備え、
    前記負荷分散処理部は、前記タスク情報テーブルを参照することで、前記各待ち行列に対する新規タスクの振り分け処理を行うことを特徴とする請求項1又は2記載のマルチコアプロセッサ。
  4. 前記負荷分散処理部は、前記各待ち行列について、現在待ち状態にある各タスクの占有率を、当該タスクに関する残り実行時間と処理限界時間との比で計算すると、前記各タスクの占有率を加算した合計占有率を求め、前記合計占有率が最低を示す待ち行列に、次の新規タスクを割り当てることを特徴とする請求項3記載のマルチコアプロセッサ。
  5. 前記負荷分散処理部は、前記合計占有率が高い待ち行列に対応する前段部を優先して、デコード結果を後段部に割り当てるように制御することを特徴とする請求項4記載のマルチコアプロセッサ。
  6. 前記負荷分散処理部(24)は、前記合計占有率が高い待ち行列に対応する前段部(22)のデコード結果を、複数の後段部に割り当てるように制御することを特徴とする請求項4又は5記載のマルチコアプロセッサ。
JP2013087372A 2013-04-18 2013-04-18 マルチコアプロセッサ Expired - Fee Related JP5803972B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013087372A JP5803972B2 (ja) 2013-04-18 2013-04-18 マルチコアプロセッサ
US14/244,994 US9747132B2 (en) 2013-04-18 2014-04-04 Multi-core processor using former-stage pipeline portions and latter-stage pipeline portions assigned based on decode results in former-stage pipeline portions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013087372A JP5803972B2 (ja) 2013-04-18 2013-04-18 マルチコアプロセッサ

Publications (2)

Publication Number Publication Date
JP2014211743A true JP2014211743A (ja) 2014-11-13
JP5803972B2 JP5803972B2 (ja) 2015-11-04

Family

ID=51729943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013087372A Expired - Fee Related JP5803972B2 (ja) 2013-04-18 2013-04-18 マルチコアプロセッサ

Country Status (2)

Country Link
US (1) US9747132B2 (ja)
JP (1) JP5803972B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10180841B2 (en) 2014-12-22 2019-01-15 Centipede Semi Ltd. Early termination of segment monitoring in run-time code parallelization
US10296350B2 (en) * 2015-03-31 2019-05-21 Centipede Semi Ltd. Parallelized execution of instruction sequences
US10296346B2 (en) * 2015-03-31 2019-05-21 Centipede Semi Ltd. Parallelized execution of instruction sequences based on pre-monitoring
CN106506393A (zh) * 2016-02-05 2017-03-15 华为技术有限公司 一种数据流处理方法、装置和系统
CN109144682A (zh) * 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 任务的优先级处理方法和处理装置
US11119931B1 (en) * 2019-09-18 2021-09-14 Facebook Technologies, Llc Data pipeline for microkernel operating system
WO2021097962A1 (zh) * 2019-11-20 2021-05-27 深圳先进技术研究院 一种异构芯片的任务处理方法、任务处理装置及电子设备
CN111510396B (zh) * 2020-06-30 2020-10-27 腾讯科技(深圳)有限公司 一种消息发送方法和相关装置
US11734017B1 (en) * 2020-12-07 2023-08-22 Waymo Llc Methods and systems for processing vehicle sensor data across multiple digital signal processing cores virtually arranged in segments based on a type of sensor
CN115391021A (zh) * 2021-05-24 2022-11-25 北京灵汐科技有限公司 核心控制方法及装置、处理核心、系统、电子设备、介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124316A (ja) * 1996-08-27 1998-05-15 Matsushita Electric Ind Co Ltd 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ
JPH1124930A (ja) * 1997-07-09 1999-01-29 Matsushita Electric Ind Co Ltd 情報処理装置
JP2004227587A (ja) * 2003-01-27 2004-08-12 Samsung Electronics Co Ltd 命令語数に実行周期回数を加重値として用いてスレッドをフェッチする同時多重スレッドプロセッサ及びその方法
US20100031006A1 (en) * 2008-08-04 2010-02-04 International Business Machines Corporation Thread completion rate controlled scheduling
WO2010134329A1 (ja) * 2009-05-18 2010-11-25 パナソニック株式会社 プロセッサ
JP2011511378A (ja) * 2008-02-07 2011-04-07 イマジネイション テクノロジーズ リミテッド マイクロプロセッサシステムにおける命令フェッチングの優先順位付け
JP2014225137A (ja) * 2013-05-16 2014-12-04 株式会社デンソー タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105127A (en) 1996-08-27 2000-08-15 Matsushita Electric Industrial Co., Ltd. Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream
US20040172631A1 (en) * 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
US7209996B2 (en) 2001-10-22 2007-04-24 Sun Microsystems, Inc. Multi-core multi-thread processor
JP2005284749A (ja) 2004-03-30 2005-10-13 Kyushu Univ 並列処理コンピュータ
US20110055838A1 (en) * 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124316A (ja) * 1996-08-27 1998-05-15 Matsushita Electric Ind Co Ltd 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ
JPH1124930A (ja) * 1997-07-09 1999-01-29 Matsushita Electric Ind Co Ltd 情報処理装置
JP2004227587A (ja) * 2003-01-27 2004-08-12 Samsung Electronics Co Ltd 命令語数に実行周期回数を加重値として用いてスレッドをフェッチする同時多重スレッドプロセッサ及びその方法
JP2011511378A (ja) * 2008-02-07 2011-04-07 イマジネイション テクノロジーズ リミテッド マイクロプロセッサシステムにおける命令フェッチングの優先順位付け
US20100031006A1 (en) * 2008-08-04 2010-02-04 International Business Machines Corporation Thread completion rate controlled scheduling
WO2010134329A1 (ja) * 2009-05-18 2010-11-25 パナソニック株式会社 プロセッサ
JP2014225137A (ja) * 2013-05-16 2014-12-04 株式会社デンソー タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015015311; 平田博章,外4名: '多重スレッド・多重命令発行を用いる要素プロセッサ・アーキテクチャ' 情報処理学会論文誌 Vol:34,No:4, 19930415, Pages:595〜605, 社団法人情報処理学会 *
JPN6015015312; 平田博章,外4名: 'マルチスレッドプロセッサおよび1チップマルチプロセッサのための命令キャッシュ構成・命令フェッチ方式の' 電子情報通信学会論文誌 Vol:J81-D-I,No:6, 19980625, Pages:718〜727, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
US9747132B2 (en) 2017-08-29
JP5803972B2 (ja) 2015-11-04
US20140317380A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
JP5803972B2 (ja) マルチコアプロセッサ
JP4610593B2 (ja) デュアルスレッドプロセッサ
CN109445851B (zh) 多线程处理器
US8875146B2 (en) Systems and methods for bounding processing times on multiple processing units
JP4292198B2 (ja) 実行スレッドをグループ化するための方法
JP5718378B2 (ja) 一又は複数のタスクを実行するために使用するシステム及び方法
US20120284720A1 (en) Hardware assisted scheduling in computer system
US10248463B2 (en) Apparatus and method for managing a plurality of threads in an operating system
Tang et al. Combining hard periodic and soft aperiodic real-time task scheduling on heterogeneous compute resources
KR20110075296A (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US11366669B2 (en) Apparatus for preventing rescheduling of a paused thread based on instruction classification
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
US9286114B2 (en) System and method for launching data parallel and task parallel application threads and graphics processing unit incorporating the same
US20110276979A1 (en) Non-Real Time Thread Scheduling
CN116414541B (zh) 兼容多种任务工作模式的任务执行方法和装置
JP5195408B2 (ja) マルチコアシステム
KR102205899B1 (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
JP2004206692A (ja) マルチスレッド化プロセッサ・システム上での実行のために、スレッドについての優先順位値を決定する方法および装置
US20170192790A1 (en) Providing task-triggered determinisitic operational mode for simultaneous multi-threaded superscalar processor
EP3591518B1 (en) Processor and instruction scheduling method
JP5630798B1 (ja) プロセッサーおよび方法
JP2012173755A (ja) 情報処理装置及び情報処理方法
KR101254911B1 (ko) 다중 경로를 통해 데이터 입출력을 수행하기 위한 방법, 시스템 및 컴퓨터 판독 가능 기록 매체
CN108255587B (zh) 一种同步多线程处理器
JP3931883B2 (ja) ジョブスケジューリング方法、計算機システムおよびジョブスケジューリングプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150617

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: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R151 Written notification of patent or utility model registration

Ref document number: 5803972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees