ハイパースレディングのレジスタについて
ハイパースレディングのレジスタについて
ハイパースレッデイングのCPUで2つのスレッドA,Bを動かすとする。
このときAの実行状態を示す汎用レジスタやプログラムカウンタと
Bの実行状態を示す汎用レジスタやプログラムカウンタの扱いはどうなのでしょうか。
次の2つの方法が考えられる。
(1) レジスタのロード、実行、レジスタのセーブを繰り返す方法。
CPU内に高速なメモリを持ち、実行前にレジスタに値をロードして、命令を実行して、レジスタの値を保存を繰り返して、A,Bのスレッドを実行する方法。
(2) A用のレジスタとB用のレジスタを2組用意して、相互に切り替えながら実行する方法。
Aを実行するときはA用のレジスタを使用して、Bを実行するときはB用のレジスタを使用する方法。
の2つが考えられるが、それとも他の方法があるのでしょうか。
それに関連して、1度に実行する機械語命令の個数はいくつなのでしょうか。
スレッドAの機械語命令を実行して、切り替えてBの機械語命令を実行するときに、
Aの1命令を実行してから、Bの1命令を実行する。1命令毎に切り替えるのでしょうか、
それともAの数個の命令を実行してから、Bの数個の命令を実行するのでしょうか。
このときスレッドを切り替える際に1度に実行する機械語命令の個数はいくつでしょうか。
ご存知の方がおりましたら、教えて下さい。
お礼
回答ありがとうございます 確認したところ ebp レジスタの間違いでした 大変失礼しました