12/08/10 14:13:17.01 .net
現在ではマルチコアのCPUが主流だが、以前のシングルコアのCPUでも
マルチタスクが可能だったのは何故か。それはタスクを同時には1つしか
実行していなかったからだ。タスクの実行中にCPUが割り込みをかけ、その
タスクが使用していたCPUの内部状態をメモリ上に移す。そしてメモリ上の
別のタスクのCPU状態をCPU内に復帰し、そのタスクに処理を移す。それを
高速に繰り返せばマルチタスクとなる
ここで注意しなければならないのは、ソフトウェアがそのような複雑な仕掛けを
打たないと並列には動かないのに対してハードウェアは何もしなくても並列に
動くということだ。電子回路では抵抗もコンデンサも半導体も何もしなくても
どの部品も並列に動く。これはハードウェアのソフトウェアに対する天然の
アドバンテージと言えよう。よってCPUのマルチコア化は自然な進化と言える