JP6509246B2

Thread context restoration in a multithreading computer system

Abstract

This record has no abstract on file.

JP6509246B2, drawing sheet 1
Sheet 1 of 18

Term

8.5 yearsleft in the term

Expires 16 March 2035.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 5 independent, 15 dependent

  1. 1
    コンピュータ・システムであって、 シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成であって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱う、前記構成と、 前記構成の利用を制御して方法を実行するよう構成されたマルチスレッディング機構とを含み、 前記方法は、 前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、 前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと、 前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、 a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、および b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、 を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することとを含む、コンピュータ・システム。
  2. 2
    前記MT設定命令(instruction)は、MT設定命令(order)とMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項1に記載のコンピュータ・システム。
  3. 3
    前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに含む、請求項1に記載のコンピュータ・システム。
  4. 4
    前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項1に記載のコンピュータ・システム。
  5. 5
    前記MTモードを再開するためにMT設定命令(order)を発行する際に、前記スタンドアロン・ダンプ・プログラムが前記直前 設定 プログラム指定最大スレッドidをプログラム指定最大スレッドidとして指定する、請求項4に記載のコンピュータ・システム。
  6. 6
    ス タンドアロン・ダンプ・プログラムが前記構成から二次スレッドのダンプを試みるのを防止するために、前記構成においてMTをサポートしないオペレーティング・システムをロードする前にクリア・リセットが実行される、請求項1に記載のコンピュータ・システム。
  7. 7
    前記構成のためにスタンドアロン・ダンプ・プログラムを実行する前に、 M Tを利用しない 制御 プログラムが、 プログラム指定最大スレッドidとして単一スレッドを示す値 とともにMT設定命令(order)を発行する、請求項1に記載のコンピュータ・システム。
  8. 8
    前記直前 設定 プログラム指定最大スレッドidは、前記構成のクリア・リセットまたは非活動化が行われるまで保持される、請求項1に記載のコンピュータ・システム。
  9. 9
    シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成においてスレッド・コンテキストを復元するためのコンピュータ実装方法であって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱い、前記方法は、 前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、 前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと、 前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、 a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、および b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、 を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することとを含む、コンピュータ実装方法。
  10. 10
    前記MT設定命令(instruction)は、MT設定命令(order)とMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項9に記載の方法。
  11. 11
    前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに含む、請求項9に記載の方法。
  12. 12
    前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項9に記載の方法。
  13. 13
    前記MTモードを再開するためにMT設定命令(order)を発行する際に、前記スタンドアロン・ダンプ・プログラムが前記直前 設定 プログラム指定最大スレッドidをプログラム指定最大スレッドidとして指定する、請求項12に記載の方法。
  14. 14
    ス タンドアロン・ダンプ・プログラムが前記構成から二次スレッドのダンプを試みるのを防止するために、前記構成においてMTをサポートしないオペレーティング・システムをロードする前にクリア・リセットが実行される、請求項9に記載の方法。
  15. 15
    前記構成のためにスタンドアロン・ダンプ・プログラムを実行する前に、 M Tを利用しない 制御 プログラムが、 単一スレッドを示す値をプログラム指定最大スレッドidとして指定した MT設定命令(order)を発行する、請求項9に記載の方法。
  16. 16
    シングル・スレッド(ST)モードとマルチスレッディング(MT)モードとの間で切換え構成可能なコアを含む構成においてスレッド・コンテキストを復元するためのコンピュータ・プログラ ム であって、前記STモードは一次スレッドを扱い、前記MTモードは前記一次スレッドと前記コアの共用資源上の1つまたは複数の二次スレッドとを扱い、前記コンピュータ・プログラムはコンピュータに、 前記構成のリセットまたは非活動化に応答した前記MTモードから前記STモードへの切換えに基づいて、前記1つまたは複数の二次スレッドのプログラム・アクセス可能レジスタ値とプログラム・カウンタ値とを含むスレッド・コンテキストをプログラムが利用することができないようにして前記1つまたは複数の二次スレッドを無効化することと、 前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であるか否かを示す前記構成の直前設定プログラム指定最大スレッドidを判断するために、前記STモードで実行中に直前指定最大MTレベルを問い合わせることと、 前記直前設定プログラム指定最大スレッドidが、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストが前記切換え後にアクセス可能であることを示していることに基づいて、 a)前記MTモードを再開するためにMT設定命令(instruction)を実行すること、および b)再開された前記MTモードになっていることに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストにアクセスすること、 を実行することによって前記1つまたは複数の二次スレッドの前記スレッド・コンテキストを取得することと を 実行させる、コンピュータ・プログラム。
  17. 17
    前記MT設定命令(instruction)は、MT設定命令(order)オーダとMTを示すプログラム指定最大スレッドidとを含むシグナル・プロセッサ命令である、請求項16に記載のコンピュータ・プログラム。
  18. 18
    前記STモードへの切換えに基づいて前記1つまたは複数の二次スレッドの前記スレッド・コンテキストをセーブすることをさらに前記コンピュータに実行させる、請求項16に記載のコンピュータ・プログラム。
  19. 19
    前記MTモードから前記STモードへの切換えは非クリア・リセット動作に応答しており、前記MTモードを再開するための前記MT設定命令(instruction)の実行と、前記1つまたは複数の二次スレッドの前記スレッド・コンテキストへのアクセスとがスタンドアロン・ダンプ・プログラムによって行われる、請求項16に記載のコンピュータ・プログラム。
  20. 20
    前記直前 設定 プログラム指定最大スレッドidは、前記構成のクリア・リセットまたは非活動化が行われるまで保持される、請求項16に記載のコンピュータ・プログラム。
Independent claims20