【汇编优化】之CPUID获取x86处理器信息
###1、CPUID - CPU 标识
操作码 | 指令 | 说明 |
---|---|---|
OF A2 | CPUID | 按照最初输入 EAX 寄存器的值,将处理器标识与功能信息返回给 EAX、EBX、ECX 及 EDX 寄存器。 |
说明
在寄存器 EAX、EBX、ECX 及 EDX 中提供处理器标识信息。这些信息指出英特尔是处理器的生产商,并给出处理器的系列、型号、分级、功能信息以及缓存信息。在 EAX 寄存器中加载的输入值确定返回哪些信息,具体如下表所示:
CPUID 指令返回的信息
EFLAGS 寄存器中的 ID 标志(位 21)指示是否支持 CPUID 指令。如果软件过程可以设置与清除此标志,则表示执行此过程的处理器支持 CPUID 指令。
CPUID 指令返回的信息分为两组:基本信息与扩展功能信息。在 EAX 寄存器中输入 0 到 3(根据 IA-32 处理器类型)的值时,返回基本信息;输入 80000000H 到 80000004H 的值时,返回扩展功能信息。扩展功能 CPUID 信息是在奔腾® 4 处理器中引入的,
早期的 IA-32 处理器并不提供。“IA-32 处理器的最大 CPUID 源操作数
【汇编优化】之CPUID获取x86处理器信息相关推荐
- 通过CPUID指令读取处理器信息
一.CPUID简介 CPUID操作码是一个面向x86架构的处理器补充指令,它的名称派生自CPU识别,作用是允许软件通过CPUID指令读取处理器的详细信息. 二.CPUID基本原理 CPUID有很多fu ...
- Intel 64/x86_64/IA-32/x86处理器指令集 - CPUID (1) - 概述
CPUID指令 Introduction of CPUID instruction 根据Wikipedia,CPUID指令是x86处理器体系结构的补充指令,使得软件可以枚举当前运行的处理器的详细特性, ...
- CPUID获取本机CPU信息
CPUID获取本机CPU信息 目录 问题 分析 代码 运行结果 问题 请使用Visual Studio编写一个控制台程序,功能如下: 一.使用命令CPUInfo.exe -C读取本机CPU信息,并存储 ...
- 【汇编优化】之x86架构intrinsic优化
1.SSE Intrisic based on x86 x86架构下的优化有多种手段,常见的有纯汇编优化.inline汇编.Intrinsic优化.前两种对编译器的依赖比较大,跨平台(windows\ ...
- Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
Android获取设备各项信息(设备id.ip地址.APP应用名称.设备名称.运行商.品牌.型号.分辨率.处理器.国家码.系统语言.网络类型.oaid.android版本.操作系统版本.mac地址.应 ...
- 第77部分- Linux x86 64位汇编 优化编译器代码
第77部分- Linux x86 64位汇编 优化编译器代码-O1/-O2/-O3 仅仅使用汇编语言代码替换C或者C++不会必然使得程序执行的更好,因为编译器已经把所有高级语言代码都转化成了汇编语言. ...
- Linux从头学09:x86 处理器如何进行-层层的内存保护?
作 者:道哥,10+年的嵌入式开发老兵. 转 载:欢迎转载文章,转载需注明出处. 文章目录 实模式:bootloader 为程序计算段的基地址 保护模式:bootloader 为自己创建段描述符 确定 ...
- 浅谈代码的执行效率(4):汇编优化
终于谈到这个话题了,首先声明我不是汇编优化的高手,甚至于我知道的所有关于汇编优化的内容,仅仅来自于学校的课程.书本及当年做过的一些简单练习.换句话说,我了解的东西只能算是一些原则,甚至也有一些&quo ...
- 抓取一台电脑linux,教程方法;用来获取Linux主机信息的5个常用命令电脑技巧-琪琪词资源网...
琪琪词资源网-教程方法;用来获取Linux主机信息的5个常用命令电脑技巧,以下是给大家带来的教程方法;用来获取Linux主机信息的5个常用命令,大家可以了解一下哦! 有些时候Linux 系统管理员在接 ...
最新文章
- MariaDB 宣布成立基金会
- WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(下)
- JAVA16版本.JDK16关于TCP和UDP的优化
- 开源软件 商业软件_如何撰写开源软件
- Bootstrap禁用某个按钮组
- python数列求和程序_python实现有趣的数学逻辑程序
- node+读写文件_Node之父重构的Deno终于发布了,它终究会取代Node吗?
- 实验2-4-2 生成3的乘方表 (C语言)
- Deep Learning资源搜集
- 武汉纺织大学C语言试题,武汉纺织大学10年C语言试题.doc
- 18、HTML5 Video(视频)和 audio(音频)
- .Net向Page和UpdatePanel输出JS
- 387. First Unique Character in a String - String
- 《结网》《人人都是产品经理》对比
- ae去闪插件deflicker使用_Ae/Pr视频去闪烁插件REVisionFX DEFlicker v1.7.1 Win大众脸已注册...
- 信息系统安全思维导图
- Scale和Resolution的相互转换算法
- Ego-planner安装
- 机器学习 (十三) 电商O2O优惠券使用预测-1
- 中国shopify们的来处与归途
热门文章
- hive中如何把13位转化为时间_【hive常用函数一】日期函数
- php 检验类,php实现的简单检验登陆类
- java bio例子_传统的BIO
- Spring Boot整合Swagger3配置全局Token
- CSS中的contenteditable属性
- linux 套接口文件_继上一篇,继续介绍linux 套接口
- 华为鸿蒙手机开机动画,华为“鸿蒙”来了!开机动画美炸了,用PPT一分钟就搞定...
- python怎么保存为nii文件_Ubuntu+python将nii图像保存成png格式
- win10启动项_win10 -- 取消不需要的开机启动项和服务项加快win10系统开机速度
- 【编程语言】Python-Pandas库中的交叉表