指针的本质(一) 从CPU的位数说起
来源:互联网 发布:linux同步到windows 编辑:程序博客网 时间:2024/05/21 22:36
当我们说一个CPU是“32位”或者“64位”的时候,是指CPU中算术逻辑单元(ALU)的宽度,这和CPU中寄存器的位数也对应。位数越大,表示一次处理的数据就越大。处理信息的能力也就越大。
计算机系统中的数据总线宽度通常来说与ALU的宽度保持一致,但是也有例外。
在计算机体系结构中,最自然的地址总线宽度应该和数据总线宽度保持一致[linux内核源代码情景分析],这是因为从程序设计的角度来看,一个地址,也就是一个指针,最好是与一个整数的长度保持一致。
指针这个词出现在高级语言程序设计中,在汇编中,就没有指针这么一说,有的只是地址。计算机的每一个内存单元都是编址的,对内存的访问都是通过地址进行的。高级语言把这些低级的硬件细节掩盖起来,程序处理的数据都存在数据对象里,数据对象在能用其间有特定的存储位置,占据一定的内存单元。
由于访问内存需要地址,在高级语言中,就引入指针变量来存储数据对象的地址,进而访问内存。
以地址为值的变量就是指针变量,简称指针。
既然指针中存储的是地址,就要能够对所有的内存单元寻址,也就是说指针的大小是系统寻址范围。
所有指针占的存储一样大,因为它们的值都是地址,通常用一个机器字表示,那么机器字通常就和地址范围大小一致了,数据总线和地址总线宽度在程序设计上最好保持一致。
我们知道32位地址总线能够寻址4GB的地址空间(0~232-1),指针是变量,其本身也要占据内存单元,那么在32位系统中,整形int也是32位的。
- 指针的本质(一) 从CPU的位数说起
- 从动态网页的本质说起(一)
- 从指向指针的指针说起
- 从Android的aidl调用说起(一)
- 一、一切从指数的扩展说起
- 从本质理解C指针的应用(1)
- 从本质理解C指针的应用(2)
- C++ 指针和引用的本质 (一)
- 从汇编角度分析C语言的本质(一)
- CPU的位数与操作系统的位数
- 指针的指针的本质
- 指针的本质
- 指针的本质
- 26-指针的本质
- 指针的本质分析
- cpu的位数决定什么
- 查看电脑CPU的位数
- 从我的第一个Flex应用说起(一)——开篇
- Js Url文字编码 按Enter搜索
- windows版本
- Java怎样中断一个运行中的线程(1)
- 在Windows Live Writer中添加CSDN账户
- Linux服务器网卡驱动安装及故障排除
- 指针的本质(一) 从CPU的位数说起
- Java怎样中断一个运行中的线程(2)
- Process.Start命令行的5种使用方法
- Java怎样中断一个运行中的线程(3)
- VC 版本宏
- Eclipse插件开发笔记二:命令与操作
- 常用正则表达式
- JAVA和C++区别
- php中的boolean类型