Linux Msr   

1. MSR

1.1 介绍

A model-specific register (MSR) is any of various control registers in the x86 instruction set used for debugging, program execution tracing, computer performance monitoring, and toggling certain CPU features.

1.2 通过代码读取 CPUID 信息

git clone https://github.com/01org/msr-tools.git gcc -o rdmsr rdmsr.c

1.3 通过工具

如果 MSR 0x48b 的第 57 位 (位数从 0 开始) 为 1, 那么就支持 tsc scaling,有个工具叫 msr-tools,提供一个命令 rdmsr,可以直接查看 MSR。下载地址如下。 http://www.rpmfind.net/linux/rpm2html/search.php?query=msr-tools

1.4 通用寄存器

数据寄存器

    EAX,EBX,ECX,EDX

指针寄存器

ESP,堆栈地址; EBP,基地址

变址寄存器

    ESI,源地址; EDI,目的地址

标志寄存器

    EFLAGS,控制任务状态和模式切换、中断处理、指令追踪和访问权限控制。寄存器中的标志位需要特权指令代码才可以修改(特权指令:运行在内核态下的代码)。

控制寄存器(CR0—CR4)

    控制寄存器决定处理器的操作模式和当前执行任务的一些特征

调试寄存器

作用:调试寄存器主要作用是调试应用代码、系统代码、开发多任务操作系统.来监视代码的运行和处理器的性能.

中断和异常管理寄存器

        IDT寄存器,主要可以描述任务门、中断门、陷阱门

内存管理寄存器