JP5488697B2 - マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム - Google Patents
マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム Download PDFInfo
- Publication number
- JP5488697B2 JP5488697B2 JP2012531592A JP2012531592A JP5488697B2 JP 5488697 B2 JP5488697 B2 JP 5488697B2 JP 2012531592 A JP2012531592 A JP 2012531592A JP 2012531592 A JP2012531592 A JP 2012531592A JP 5488697 B2 JP5488697 B2 JP 5488697B2
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- core
- register
- synchronization control
- thread
- 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 title claims description 39
- 238000012545 processing Methods 0.000 claims description 22
- 230000001360 synchronised effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
Images
Classifications
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/441—Register allocation; Assignment of physical memory space to logical memory space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/458—Synchronisation, e.g. post-wait, barriers, locks
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Advance Control (AREA)
Description
図1は、実施の形態にかかるマルチコアプロセッサシステム100のハードウェアを示すブロック図である。図1において、マルチコアプロセッサシステム100は、CPUを複数搭載するCPUs101と、ROM(Read‐Only Memory)102と、RAM(Random Access Memory)103と、を含む。また、マルチコアプロセッサシステム100は、フラッシュROM104と、フラッシュROMコントローラ105と、フラッシュROM106と、を含む。また、マルチコアプロセッサシステム100は、ユーザやその他の機器との入出力装置として、ディスプレイ107と、I/F(Interface)108と、キーボード109と、を含む。また、各部はバス110によってそれぞれ接続されている。
次に、マルチコアプロセッサシステム100の機能について説明する。図5は、マルチコアプロセッサシステム100の機能を示すブロック図である。マルチコアプロセッサシステム100は、検出部502と、特定部503と、生成部504と、同期制御部505と、設定部506と、取得部507と、読込部508と、書込部509と、送信部510と、受信部511と、を含む。
前記特定のコアにより、スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、前記検出手段によって移行することが検出されたスレッドに対応する特定のレジスタを特定する特定手段と、
前記特定のコアにより、前記特定手段によって特定された前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成手段と、
前記マルチコアプロセッサと通信可能に接続され、前記生成手段によって生成された同期制御情報を前記特定のコアから取得し、前記同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込み、前記同期先コアの前記特定のレジスタに、前記同期元コアの前記特定のレジスタから読み込んだ値を書き込む同期制御手段と、
を備えることを特徴とするマルチコアプロセッサシステム。
前記特定のコアにより、スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、前記第1および第2のスレッドに対応する特定のレジスタを特定する特定手段と、
前記特定のコアにより、前記特定手段によって特定された前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成手段と、
前記マルチコアプロセッサと通信可能に接続され、前記生成手段によって生成された同期制御情報を前記特定のコアから取得し、前記同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込み、前記同期先コアの前記特定のレジスタに、前記同期元コアの前記特定のレジスタから読み込んだ値を書き込む同期制御手段と、
を備えることを特徴とするマルチコアプロセッサシステム。
前記同期制御手段は、
前記同期元コアの前記特定のレジスタから読み込んだ値を書き込んだ場合に、前記同期先コアに前記検出されたスレッドが実行可能となった情報を通知し、
前記設定手段は、
前記同期制御手段から前記検出されたスレッドが実行可能となった情報を受け取った場合、前記検出されたスレッドを前記同期先コアにて実行可能な状態に設定することを特徴とする付記1または2に記載のマルチコアプロセッサシステム。
前記マルチコアプロセッサの中の特定のコアにより、前記マルチコアプロセッサ内において同期元コアで実行中のスレッドを同期先コアに移行することを検出し、前記実行中のスレッドに対応する特定のレジスタおよび前記同期先コアを特定する同期制御情報を取得する取得手段と、
前記取得手段によって取得された同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込む読込手段と、
前記同期先コアの前記特定のレジスタに、前記読込手段によって同期元コアの前記特定のレジスタから読み込まれた値を書き込む書込手段と、
を備えることを特徴とする同期制御システム。
前記同期制御装置と通信可能な接続先コアが、当該接続先コアで実行中のスレッドを同期先コアに移行させる同期元コアである場合、前記マルチコアプロセッサのうち前記移行を実行する特定のコアから、前記実行中のスレッドに対応する特定のレジスタおよび前記同期先コアを特定する同期制御情報を取得する取得手段と、
前記接続先コアが前記同期元コアである場合、前記取得手段によって取得された同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込む読込手段と、
前記接続先コアが前記同期元コアである場合、前記特定のレジスタの識別情報および前記特定のレジスタの値を、前記同期制御装置群のうち前記同期先コアの同期制御装置に送信する送信手段と、
前記接続先コアが前記同期先コアである場合、前記同期制御装置群のうち前記同期元コアに接続されている同期制御装置から、前記特定のレジスタの識別情報および前記特定のレジスタの値を受信する受信手段と、
前記接続先コアが前記同期先コアである場合、前記同期先コアの前記特定のレジスタに、前記受信手段によって受信された前記特定のレジスタの値を書き込む書込手段と、
を備えることを特徴とする同期制御装置。
前記マルチコアプロセッサ内において同期元コアで実行中のスレッドを同期先コアに移行することを検出する検出工程と、
スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、前記検出工程によって移行することが検出されたスレッドに対応する特定のレジスタを特定する特定工程と、
前記特定工程によって特定された前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成工程と、
前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群のうち、前記同期元コアの同期制御装置に前記生成工程によって生成された同期制御情報を出力する出力工程と、
を実行することを特徴とする情報生成方法。
前記マルチコアプロセッサ内において同期元コアで実行中のスレッドを同期先コアに移行することを検出する検出工程と、
スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、前記検出工程によって移行することが検出されたスレッドに対応する特定のレジスタを特定する特定工程と、
前記特定工程によって特定された前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成工程と、
前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群のうち、前記同期元コアの同期制御装置に前記生成工程によって生成された同期制御情報を出力する出力工程と、
を実行させることを特徴とする情報生成プログラム。
110 バス
203 CPU内レジスタ群
205 レジスタ同期制御装置
501 レジスタ依存テーブル
502 検出部
503 特定部
504 生成部
505 同期制御部
506 設定部
507 取得部
508 読込部
509 書込部
510 送信部
511 受信部
Claims (6)
- マルチコアプロセッサと、前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群とを有するマルチコアプロセッサシステムであって、
前記マルチコアプロセッサの中の特定のコアは、
前記マルチコアプロセッサ内において同期元コアで実行中のスレッドを同期先コアに移行することを検出し、
スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、移行することを検出したスレッドに対応する特定のレジスタを特定し、
特定した前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成し、
前記同期制御装置群のうちの前記同期元コアの同期制御装置に、生成した前記同期制御情報を出力し、
前記同期元コアの同期制御装置は、
出力した前記同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込み、
前記同期制御情報から特定される前記同期先コアの同期制御装置に前記特定のレジスタの値を送信し、
前記同期先コアの同期制御装置が、
受信した前記特定のレジスタの値を前記同期先コアの前記特定のレジスタに書き込む、
ことを特徴とするマルチコアプロセッサシステム。 - 前記同期先コアの同期制御装置が、
受信した前記値を前記同期先コアの前記特定のレジスタに書き込んだ場合に、前記同期先コアに前記検出したスレッドが実行可能となった情報を通知し、
前記同期先コアは、
前記同期先コアの同期制御装置から前記検出したスレッドが実行可能となった情報を受け取った場合、前記検出したスレッドを前記同期先コアにて実行可能な状態に設定することを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 前記テーブルにおける前記スレッドに対応付けされた前記レジスタは、前記マルチコアプロセッサのいずれのコアも特定しないことを特徴とする請求項1に記載のマルチコアプロセッサシステム。
- 前記テーブルは、前記レジスタ以外の他の記憶領域を指定していないことを特徴とする請求項1に記載のマルチコアプロセッサシステム。
- マルチコアプロセッサと、前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群とを有するマルチコアプロセッサシステムの同期制御方法であって、前記マルチコアプロセッサの中の特定のコアが、
前記マルチコアプロセッサ内において同期元コアで実行中のスレッドを同期先コアに移行することを検出し、
スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、移行することを検出したスレッドに対応する特定のレジスタを特定し、
特定した前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成工程と、
前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群のうち、前記同期元コアの同期制御装置に、生成した前記同期制御情報を出力し、
前記同期元コアの同期制御装置が、
出力した前記同期制御情報から得られる前記特定のレジスタの値を前記同期元コアの前記特定のレジスタから読み込み、
前記同期制御情報から特定される前記同期先コアの同期制御装置に前記特定のレジスタの値を送信し、
前記同期先コアの同期制御装置が、
受信した前記特定のレジスタの値を前記同期先コアの前記特定のレジスタに書き込む、
処理を実行することを特徴とする同期制御方法。 - マルチコアプロセッサと、前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群であって、前記同期制御装置群のうちの同期元コアの同期制御装置がレジスタおよび当該レジスタの値の書き込み先となる同期先コアを特定する同期制御情報を取得した場合、前記同期元コアの当該レジスタの値を読み込み当該同期先コアの同期制御装置に当該レジスタの値を送信し、当該同期先コアの同期制御装置が受信した値を同期先コアの特定のレジスタに書き込む同期制御装置群と、を有するマルチコアプロセッサシステムの同期制御プログラムであって、前記マルチコアプロセッサの中の特定のコアに、
前記マルチコアプロセッサ内において前記同期元コアで実行中のスレッドを前記同期先コアに移行することを検出し、
スレッド群の各々のスレッドと当該スレッドに対応付けされたレジスタとの組み合わせを特定するテーブルを参照して、移行することを検出したスレッドに対応する特定のレジスタを特定し、
特定した前記特定のレジスタおよび前記同期先コアを特定する同期制御情報を生成する生成工程と、
前記マルチコアプロセッサの各々のコアのレジスタ間の同期を制御する同期制御装置群のうち、前記同期元コアの同期制御装置に、生成した前記同期制御情報を出力する、
処理を実行させることを特徴とする同期制御プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/064740 WO2012029111A1 (ja) | 2010-08-30 | 2010-08-30 | マルチコアプロセッサシステム、同期制御システム、同期制御装置、情報生成方法、および情報生成プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014037360A Division JP5811211B2 (ja) | 2014-02-27 | 2014-02-27 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012029111A1 JPWO2012029111A1 (ja) | 2013-10-28 |
JP5488697B2 true JP5488697B2 (ja) | 2014-05-14 |
Family
ID=45772251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012531592A Expired - Fee Related JP5488697B2 (ja) | 2010-08-30 | 2010-08-30 | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9367311B2 (ja) |
EP (1) | EP2613269A4 (ja) |
JP (1) | JP5488697B2 (ja) |
CN (1) | CN103080921B (ja) |
WO (1) | WO2012029111A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103109279B (zh) | 2010-06-22 | 2016-08-31 | 富士通株式会社 | 多核处理器系统,控制程序以及控制方法 |
US9804896B2 (en) | 2012-07-31 | 2017-10-31 | Empire Technology Development Llc | Thread migration across cores of a multi-core processor |
JP6051721B2 (ja) * | 2012-09-19 | 2016-12-27 | 株式会社ソシオネクスト | 実行制御方法、およびマルチプロセッサシステム |
IN2013CH04449A (ja) | 2013-09-30 | 2015-04-03 | Empire Technology Dev Llc | |
WO2015047427A1 (en) * | 2013-09-30 | 2015-04-02 | Empire Technology Development, Llc | Data transfer in a multi-core processor |
CN104361553B (zh) * | 2014-11-02 | 2017-04-12 | 中国科学院光电技术研究所 | 一种提高图形处理器处理效率的同步方法 |
US9830198B2 (en) * | 2015-12-22 | 2017-11-28 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
TWI575951B (zh) * | 2016-02-02 | 2017-03-21 | 晨星半導體股份有限公司 | 視訊訊號處理系統、視訊訊號處理晶片及視訊訊號處理方法 |
US10423446B2 (en) * | 2016-11-28 | 2019-09-24 | Arm Limited | Data processing |
US10671426B2 (en) | 2016-11-28 | 2020-06-02 | Arm Limited | Data processing |
US10552212B2 (en) | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
DE102017100655A1 (de) * | 2017-01-13 | 2018-07-19 | Beckhoff Automation Gmbh | Steuerung eines technischen Prozesses auf einer Mehr-Rechenkern-Anlage |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10613989B2 (en) * | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10353826B2 (en) | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US20190102274A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Utilization Metrics for Processing Engines |
US10884850B2 (en) | 2018-07-24 | 2021-01-05 | Arm Limited | Fault tolerant memory system |
CN114911741B (zh) * | 2021-02-08 | 2024-04-19 | 南京宏泰半导体科技股份有限公司 | 一种基于浮动地址系统的信号同步方法及装置 |
US20220382478A1 (en) * | 2021-06-01 | 2022-12-01 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for page migration in memory systems |
CN115061803A (zh) * | 2022-06-29 | 2022-09-16 | Oppo广东移动通信有限公司 | 一种多核处理系统及其任务调度方法、芯片、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6448163A (en) * | 1987-08-19 | 1989-02-22 | Fujitsu Ltd | Multiprocessor system |
JPH04195664A (ja) * | 1990-11-28 | 1992-07-15 | Hitachi Ltd | マルチプロセッサシステム |
JPH08234997A (ja) * | 1995-02-28 | 1996-09-13 | Nec Corp | レジスタ割付け方法 |
JP2001236221A (ja) * | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
JP2010092101A (ja) * | 2008-10-03 | 2010-04-22 | Renesas Technology Corp | 情報処理装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0630094B2 (ja) * | 1989-03-13 | 1994-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセツサ・システム |
JP2779032B2 (ja) * | 1990-01-23 | 1998-07-23 | 株式会社日立製作所 | 情報処理装置 |
US5860108A (en) * | 1995-04-26 | 1999-01-12 | Nec Corporation | Method and clustered multi-processor system for controlling a clock phase for clusters |
JP3250729B2 (ja) * | 1999-01-22 | 2002-01-28 | 日本電気株式会社 | プログラム実行装置及びそのプロセス移動方法並びにプロセス移動制御プログラムを格納した記憶媒体 |
US6976155B2 (en) * | 2001-06-12 | 2005-12-13 | Intel Corporation | Method and apparatus for communicating between processing entities in a multi-processor |
JP3702813B2 (ja) | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
GB2398412B (en) * | 2001-10-12 | 2005-02-09 | Pts Corp | Processors and Compiling methods for Processors |
US7080225B1 (en) * | 2002-12-10 | 2006-07-18 | Emc Corporation | Method and apparatus for managing migration of data in a computer system |
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
EP1658563B1 (en) * | 2003-08-28 | 2013-06-05 | MIPS Technologies, Inc. | Apparatus, and method for initiation of concurrent instruction streams in a multithreading microprocessor |
JP2006099156A (ja) | 2004-09-28 | 2006-04-13 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US20070204268A1 (en) * | 2006-02-27 | 2007-08-30 | Red. Hat, Inc. | Methods and systems for scheduling processes in a multi-core processor environment |
US8312455B2 (en) * | 2007-12-19 | 2012-11-13 | International Business Machines Corporation | Optimizing execution of single-threaded programs on a multiprocessor managed by compilation |
KR101366075B1 (ko) * | 2007-12-20 | 2014-02-21 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
KR101400286B1 (ko) * | 2008-01-22 | 2014-05-26 | 삼성전자주식회사 | 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치 |
US20100125717A1 (en) * | 2008-11-17 | 2010-05-20 | Mois Navon | Synchronization Controller For Multiple Multi-Threaded Processors |
US8316368B2 (en) * | 2009-02-05 | 2012-11-20 | Honeywell International Inc. | Safe partition scheduling on multi-core processors |
CN101593097B (zh) * | 2009-05-22 | 2011-07-27 | 西安交通大学 | 嵌入式同构对称双核risc微处理器的设计方法 |
-
2010
- 2010-08-30 EP EP10856664.7A patent/EP2613269A4/en not_active Withdrawn
- 2010-08-30 JP JP2012531592A patent/JP5488697B2/ja not_active Expired - Fee Related
- 2010-08-30 CN CN201080068873.6A patent/CN103080921B/zh not_active Expired - Fee Related
- 2010-08-30 WO PCT/JP2010/064740 patent/WO2012029111A1/ja active Application Filing
-
2013
- 2013-02-12 US US13/765,338 patent/US9367311B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6448163A (en) * | 1987-08-19 | 1989-02-22 | Fujitsu Ltd | Multiprocessor system |
JPH04195664A (ja) * | 1990-11-28 | 1992-07-15 | Hitachi Ltd | マルチプロセッサシステム |
JPH08234997A (ja) * | 1995-02-28 | 1996-09-13 | Nec Corp | レジスタ割付け方法 |
JP2001236221A (ja) * | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
JP2010092101A (ja) * | 2008-10-03 | 2010-04-22 | Renesas Technology Corp | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103080921A (zh) | 2013-05-01 |
CN103080921B (zh) | 2015-11-25 |
EP2613269A4 (en) | 2013-08-21 |
US20130179666A1 (en) | 2013-07-11 |
JPWO2012029111A1 (ja) | 2013-10-28 |
US9367311B2 (en) | 2016-06-14 |
EP2613269A1 (en) | 2013-07-10 |
WO2012029111A1 (ja) | 2012-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5488697B2 (ja) | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム | |
JP4896376B2 (ja) | コプロセッサの性能を強化するシステムおよび方法 | |
US7533246B2 (en) | Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation | |
JP4979880B2 (ja) | グラフィックス処理ユニットのマルチスレッド式カーネル | |
CN103309786B (zh) | 用于在非可抢占式图形处理单元上交互调试的方法和装置 | |
JP5780243B2 (ja) | スケジューリング方法、およびマルチコアプロセッサシステム | |
US8453121B2 (en) | Managing the tracing of the execution of a computer program | |
US9996394B2 (en) | Scheduling accelerator tasks on accelerators using graphs | |
JP4667206B2 (ja) | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 | |
WO2011158320A1 (ja) | マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム | |
JP5733385B2 (ja) | エンディアン変換方法、およびシステム | |
US20080092128A1 (en) | Method for transparent on-line dynamic binary optimization | |
KR20110073339A (ko) | 컴퓨터 플랫폼에서의 방법 및 컴퓨터 플랫폼 | |
KR20080041211A (ko) | 명령을 내리는 방법 및 컴퓨터 판독가능 매체 | |
US20140019738A1 (en) | Multicore processor system and branch predicting method | |
KR20100036279A (ko) | 복수의 프로세서들을 포함하는 시스템 및 그 동작 방법 | |
JPWO2012086041A1 (ja) | 同期処理方法 | |
JP5811211B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
JP2007094986A (ja) | シミュレーション装置およびシミュレーション方法 | |
JP5293609B2 (ja) | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム | |
CN109983435B (zh) | 图形处理方法及相关装置和设备 | |
US20130239113A1 (en) | Information processing apparatus, computer product, and information processing method | |
JP5614483B2 (ja) | マルチコアプロセッサシステム、キャッシュコヒーレンシ制御方法、およびキャッシュコヒーレンシ制御プログラム | |
KR101881039B1 (ko) | 비휘발성 메모리에 저장된 메모리 매핑 파일의 비동기식 원자적 업데이트 방법 및 제어 장치 | |
JP2018120297A (ja) | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140106 |
|
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: 20140128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5488697 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |