IntelのCPUでは、CPUIDというアセンブラの命令を使用することで、CPUの情報を入手する事が出来ます。 ここでいうCPU情報というのは、CPUのシリーズや、対応している命令セット、キャッシュ容量、プロセッサシリアルNoなどが含まれます。 このCPUID命令、C言語で普通にプログラムしていてはコールする事が出来ませんが、インラインアセンブラを使用することで利用する事が可能です。 今回は、gccのインラインアセンブラである”__asm__”命令を使用して、CPUID情報を取得する方法を説明します。 C言語からCPUID命令をコールする まずは、CPUID取得のベースになるインラインアセンブラ処理です。 void getCpuId( int param, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned i
![[gcc]CPUID命令を使用して、CPUの情報を取得する](https://cdn-ak-scissors.b.st-hatena.com/image/square/64fad2c52cb84c6054ecd55c16d8a35bbf28940e/height=288;version=1;width=512/http%3A%2F%2Fnanoappli.com%2Fblog%2Fwp-content%2Fuploads%2F2012%2F08%2F20120813_04-500x428.jpg)