当前位置:网站首页>Canonical Address
Canonical Address
2022-07-28 01:22:00 【ma_de_hao_mei_le】
友链
在64位操作系统中,虚拟地址宽度为64bits,但是大多数的处理器都不支持64位宽的虚拟地址空间
当前的Intel/AMD处理器只使用48bits来表示虚拟地址空间
所有的虚拟地址必须是Canonical Address
那么什么样的地址才是Canonical Address呢?
Intel开发者手册是这么写的
这里bits 63指的是最高位
0xfffff801c9c11000的二进制形式为
11111111 11111111 11111000 00000001 11001001 11000001 00010000 00000000
那么最前面这16个1就是bits 63-48
其实是做了一个符号扩充操作
因为一共只用了48bit,那么bits47就是最高有效位了,48-63是没有用的,如果把最高有效位看做符号位,那么48-63就是符号扩充
因为48-63全是1,而最好有效位,也就是bits47也是1
这样的就是Canonical Address
0xffff080000000000的二进制形式:
11111111 11111111 00001000 00000000 00000000 00000000 00000000 00000000
这里48-63和47不一致,不符合符号扩充的规则,因此不是Canonical Address
边栏推荐
猜你喜欢

Flex layout - fixed positioning + flow layout - main axis alignment - side axis alignment - expansion ratio

Leetcode hot topic Hot 100 - > 3. longest substring without repeated characters

MySQL数据库InnoDB存储引擎中的锁机制(荣耀典藏版)

学会这招再也不怕手误让代码崩掉

Compile and use Qwt in qt|vs2017

【愚公系列】2022年07月 Go教学课程 019-循环结构之for

Plato Farm在Elephant Swap上铸造的ePLATO是什么?
![[advanced ROS] Lecture 9 robot model motion based on rviz and arbotix control](/img/7f/f0360210e8a9f7e45410d79635bfd9.png)
[advanced ROS] Lecture 9 robot model motion based on rviz and arbotix control

「冒死上传」Proe/Creo产品结构设计-止口与扣位

Learn this trick and never be afraid to let the code collapse by mistake
随机推荐
分层图解决的一些最短路问题
Find - block search
剑指offer专项突击版第12天
小程序毕设作品之微信校园维修报修小程序毕业设计成品(4)开题报告
Use try-with-resources or close this
Alipay applet authorization / obtaining user information
LeetCode 热题 HOT 100 -> 3. 无重复字符的最长子串
软考 --- 数据库(2)关系模型
Say yes, I will love you, and I will love you well
MySQL是如何利用索引的(荣耀典藏版)
Aike AI frontier promotion (7.14)
How is insert locked in MySQL? (glory Collection Edition)
Use of Day6 functions and modules
Unity saves pictures to albums and rights management
Lombok prompts variable log error when using JUnit test in idea
With elephant & nbsp; Eplato created by swap, analysis of the high premium behind it
[机缘参悟-53]:阳谋立身,阴谋防身
实际工作中,我是如何使用 Postman 做接口测试?
Canvas 从入门到劝朋友放弃(图解版)
第三章 队列