マルチスレッドはCPU上でどのように実現されていますか?
知りたいこと
- マルチスレッドはCPUでどのような設計がなされているのか.
- 4スレッドCPUと8スレッドCPUは何か違うのか
- できれば,今回の質問に関連しそうな参考文献があれば教えて欲しいです.
背景
最近マルチスレッドプログラミングを体系的に勉強しています.
そこで,ふと思ったのですが,
マルチプロセスは,CPU上で,複数のコアに処理を割り振るか,1つのコアでコンテキストスイッチをするなどしてOSがスケジューリングしているけれど,マルチスレッドの方はどうなっているのだろうか.
マルチスレッドはOS側で,コンテキストスイッチをして,1コア内でなんとかしているものだと思っていたのですが(おそらくその認識が間違っている?),CPUの性能比較でよく見る NコアMスレッド というものを見ると,CPU上でもなんらかの設計がされていることが推測できます.
そのため今回のQ&Aでは,
- マルチスレッドはCPUでどのような設計がなされているのか.
- 4スレッドCPUと8スレッドCPUは何か違うのか
- できれば,今回の質問に関連しそうな参考文献があれば教えて欲しいです.
回答よろしくお願いします.
0