CPUが命令を並べ替えることができることはわかっています。および OS は、ディスパッチによってマルチスレッドをシミュレートします。
次のCPUマシン命令:
ins0
ins1
ins2
thread0 は、これら 3 つの in を 2 つの部分に分割します。part0 は ins0 を実行し、part1 は ins1 と ins2 を実行します。part0開始前、part2完了。その後、thread1 がトリガーされます。
私の質問は:スレッド1が開始する前にpart0を完了する必要がありますか? または、thread0 が ins0 を完了せずに ins1 と ins2 を完了している間に、thread1 が開始しますか?