JP5195408B2 - マルチコアシステム - Google Patents
マルチコアシステム Download PDFInfo
- Publication number
- JP5195408B2 JP5195408B2 JP2008331236A JP2008331236A JP5195408B2 JP 5195408 B2 JP5195408 B2 JP 5195408B2 JP 2008331236 A JP2008331236 A JP 2008331236A JP 2008331236 A JP2008331236 A JP 2008331236A JP 5195408 B2 JP5195408 B2 JP 5195408B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- core
- data
- execution
- executing
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
図1は、マルチコアシステムの構成例を示す図である。マルチコアシステムは、第1のコア101、第2のコア102、第3のコア103、共有メモリ104、及び割り込みコントローラ(IRC)105を有する。共有メモリ104は、プログラム実行管理テーブル141及びプログラム(プログラムA,B,Cを含む)142を記憶する。第1のコア101は、OS(ドライバ)111及び制御プログラム112を記憶する。第2のコア102は、OS(ドライバ)121及びプログラム122を記憶する。第3のコア103は、OS(ドライバ)131及びプログラム132を記憶する。プログラム122及び132は、それぞれ共有メモリ104からロードして実行するプログラムA,B及びCのうちのいずれか1つである。バス106には、第1のコア101、第2のコア102、第3のコア103、共有メモリ104及び割り込みコントローラ105が接続される。割り込みコントローラ105は、第1のコア101、第2のコア102及び/又は第3のコア103に割り込み信号IRQを出力することができる。
図5は、本発明の実施形態によるマルチコアシステムの構成例を示す図である。図5のマルチコアシステムは、図1のマルチコアシステムに対して、割り込みコントローラ505内のプログラム実行管理テーブル561及びスケジューラ562、第2のコア502のプログラム522内の書き込み完了通知部523、並びに第3のコア503のプログラム532内の書き込み完了通知部533が追加されている。
502 第2のコア
503 第3のコア
504 共有メモリ
505 割り込みコントローラ(IRC)
506 バス
561 プログラム実行管理テーブル
562 スケジューラ
Claims (9)
- 第1のプログラムを実行することにより第1のデータを書き込み、その書き込み完了後に書き込み完了通知を通知する第1のコアと、
第2のプログラムを実行することにより前記書き込まれた第1のデータを参照する第2のコアと、
前記第1のプログラムの実行により前記第1のコアから前記書き込み完了通知が通知されると、前記第1のプログラムが実行完了する前に前記第2のプログラムの実行開始を前記第2のコアに指示するスケジューラと
を有することを特徴とするマルチコアシステム。 - 前記スケジューラは、前記第1のプログラム及び前記第2のプログラムの前記第1のデータの依存関係に応じて、前記第2のプログラムの実行開始を前記第2のコアに指示することを特徴とする請求項1記載のマルチコアシステム。
- 前記スケジューラは、前記第2のプログラムを実行することにより参照するデータのすべての書き込み完了通知が通知されると、前記第2のプログラムの実行開始を前記第2のコアに指示することを特徴とする請求項1又は2記載のマルチコアシステム。
- 前記書き込み完了通知は、ハードウェアの信号線により通知されることを特徴とする請求項1〜3のいずれか1項に記載のマルチコアシステム。
- 前記書き込み完了通知は、ソフトウェアのプロトコルにより通知されることを特徴とする請求項1〜3のいずれか1項に記載のマルチコアシステム。
- さらに、前記第1のプログラムにより書き込まれた第1のデータが前記第2のプログラムにより参照されることを示す、前記第1のプログラム及び前記第2のプログラムの前記第1のデータの依存関係を記憶するプログラム実行管理テーブルを有し、
前記スケジューラは、前記プログラム実行管理テーブルに応じて、前記第2のプログラムの実行開始を前記第2のコアに指示することを特徴とする請求項2記載のマルチコアシステム。 - さらに、前記第1のプログラムを実行することにより前記第1のデータの書き込みが完了したか否かを記憶するスコアボードを有し、
前記スケジューラは、前記第1のコアから前記書き込み完了通知が通知されると、前記第1のプログラムを実行することにより前記第1のデータの書き込みが完了したことを前記スコアボードに記録することを特徴とする請求項1〜6のいずれか1項に記載のマルチコアシステム。 - 前記スケジューラは、割り込み信号により前記第2のプログラムの実行開始を前記第2のコアに指示することを特徴とする請求項1〜7のいずれか1項に記載のマルチコアシステム。
- 前記第1のコア及び前記第2のコアは、それぞれプロセッサであることを特徴とする請求項1〜8のいずれか1項に記載のマルチコアシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008331236A JP5195408B2 (ja) | 2008-12-25 | 2008-12-25 | マルチコアシステム |
US12/624,105 US8656393B2 (en) | 2008-12-25 | 2009-11-23 | Multi-core system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008331236A JP5195408B2 (ja) | 2008-12-25 | 2008-12-25 | マルチコアシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010152733A JP2010152733A (ja) | 2010-07-08 |
JP5195408B2 true JP5195408B2 (ja) | 2013-05-08 |
Family
ID=42286507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008331236A Expired - Fee Related JP5195408B2 (ja) | 2008-12-25 | 2008-12-25 | マルチコアシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8656393B2 (ja) |
JP (1) | JP5195408B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110276966A1 (en) * | 2010-05-06 | 2011-11-10 | Arm Limited | Managing task dependency within a data processing system |
EP2669805A4 (en) * | 2011-01-25 | 2016-08-31 | Fujitsu Ltd | MEMORY CONTROL METHOD AND SYSTEM |
US20140068621A1 (en) * | 2012-08-30 | 2014-03-06 | Sriram Sitaraman | Dynamic storage-aware job scheduling |
CN103246625B (zh) * | 2013-05-24 | 2016-03-30 | 北京大学 | 一种数据与地址共用引脚自适应调整访存粒度的方法 |
DE102017217908A1 (de) * | 2017-10-09 | 2019-04-11 | Robert Bosch Gmbh | Recheneinheit und Betriebsverfahren hierfür |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69130630T2 (de) * | 1990-09-14 | 1999-09-09 | Hitachi | Synchrones Verfahren und Gerät für Prozessoren |
JPH05216792A (ja) * | 1992-02-05 | 1993-08-27 | Fujitsu Ltd | プロセッサ間におけるサービス要求制御方式 |
JPH0689188A (ja) | 1992-09-08 | 1994-03-29 | Nec Software Ltd | 自動並列化処理方式 |
JPH0830471A (ja) * | 1994-07-14 | 1996-02-02 | Hitachi Ltd | ジョブの実行プロセサ変更方式 |
JP3511529B2 (ja) * | 1994-09-13 | 2004-03-29 | 松下電器産業株式会社 | 複合演算処理装置 |
JPH10320218A (ja) * | 1997-05-19 | 1998-12-04 | Hitachi Ltd | データ転送処理における連携ジョブ自動起動方法 |
JPH11120156A (ja) * | 1997-10-17 | 1999-04-30 | Nec Corp | マルチプロセッサシステムにおけるデータ通信方式 |
US6473808B1 (en) * | 1999-04-02 | 2002-10-29 | Motorola, Inc. | High performance communication controller for processing high speed data streams wherein execution of a task can be skipped if it involves fetching information from external memory bank |
US7165252B1 (en) * | 1999-06-21 | 2007-01-16 | Jia Xu | Method of scheduling executions of processes with various types of timing properties and constraints |
US6978311B1 (en) * | 2000-02-09 | 2005-12-20 | Surf Communications Solutions, Ltd. | Scheduling in a remote-access server |
US7234144B2 (en) * | 2002-01-04 | 2007-06-19 | Microsoft Corporation | Methods and system for managing computational resources of a coprocessor in a computing system |
US20050149771A1 (en) * | 2003-11-07 | 2005-07-07 | Seiko Epson Corporation | Processor control circuit, information processing apparatus, and central processing unit |
US8984517B2 (en) * | 2004-02-04 | 2015-03-17 | Intel Corporation | Sharing idled processor execution resources |
JP2006024124A (ja) * | 2004-07-09 | 2006-01-26 | Sony Corp | 制御システム、制御装置および方法、記録媒体、並びにプログラム |
US20070143759A1 (en) * | 2005-12-15 | 2007-06-21 | Aysel Ozgur | Scheduling and partitioning tasks via architecture-aware feedback information |
US8032884B2 (en) * | 2006-10-31 | 2011-10-04 | Hewlett-Packard Development Company, L.P. | Thread hand off |
CN101305353B (zh) * | 2006-11-27 | 2013-04-24 | 英特尔公司 | 集中式中断控制器 |
JP2008257578A (ja) * | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
JP2009069921A (ja) * | 2007-09-11 | 2009-04-02 | Hitachi Ltd | マルチプロセッサシステム |
CN102084357B (zh) * | 2008-07-01 | 2014-06-04 | 富士通株式会社 | 检索装置以及检索方法 |
JP5245722B2 (ja) * | 2008-10-29 | 2013-07-24 | 富士通株式会社 | スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム |
-
2008
- 2008-12-25 JP JP2008331236A patent/JP5195408B2/ja not_active Expired - Fee Related
-
2009
- 2009-11-23 US US12/624,105 patent/US8656393B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010152733A (ja) | 2010-07-08 |
US20100169889A1 (en) | 2010-07-01 |
US8656393B2 (en) | 2014-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417918B2 (en) | Reconfigurable processor with designated processing elements and reserved portion of register file for interrupt processing | |
US10067793B2 (en) | Data processing method and apparatus for executing task code using reservation instruction and release instruction | |
JP2010079622A (ja) | マルチコアプロセッサシステム、および、そのタスク制御方法 | |
JP2009265963A (ja) | 情報処理システム及びタスクの実行制御方法 | |
JP5803972B2 (ja) | マルチコアプロセッサ | |
JP5611756B2 (ja) | プログラム・フロー制御 | |
JP5195408B2 (ja) | マルチコアシステム | |
TWI498820B (zh) | 具有用於分支錯誤預測之第二跳躍執行單元的處理器 | |
JP2008158759A (ja) | プログラミング方法、プログラム処理方法、処理プログラム及び情報処理装置 | |
CN109656868B (zh) | 一种cpu与gpu之间的内存数据转移方法 | |
US20180267829A1 (en) | Method for configuring an it system, corresponding computer program and it system | |
JP2005258920A (ja) | マルチスレッド実行方法、マルチスレッド実行プログラム、およびマルチスレッド実行装置 | |
US20080307419A1 (en) | Lazy kernel thread binding | |
JP2008269114A (ja) | マルチスレッドプロセッサ及びそれに用いるスレッド間同期操作方法 | |
JP3893136B2 (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム | |
JP2005521937A (ja) | コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置 | |
JP2017201486A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
JP7064367B2 (ja) | デッドロック回避方法、デッドロック回避装置 | |
JP5540799B2 (ja) | データ入出力制御方法,データ入出力制御プログラムおよびデータ入出力制御装置 | |
WO2019188177A1 (ja) | 情報処理装置 | |
JP2007122337A (ja) | 演算装置 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
JP7039365B2 (ja) | デッドロック回避方法、デッドロック回避装置 | |
JP6477216B2 (ja) | 演算装置、スレッド切替方法、及びマルチスレッドプログラム | |
JP2011150636A (ja) | マイクロプロセッサ及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121220 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |