今天犯傻了,突然想不明白,为啥一个数据cpu能够分辨出来是数据还是地址
来源:互联网 发布:优化管理服务 编辑:程序博客网 时间:2024/04/28 19:55
今天犯傻了,突然想不明白,为啥一个数据cpu能够分辨出来是数据还是地址,为啥还能根据分辨出来的是地址,从地址总线发出,分辨出来的是数据,从数据总线发出。。。好吧,有那么瞬间,我呆掉了~~~~后来想明白了
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cpu如何区分一个数据,如0x20000300是地址还是数据呢,比如#define rcon (*(*0x20000300))
然后 rcon = 234;
此时cpu为什么能判断rcon是地址,然后将对应的位从地址总线发出,能判断234是数据位,从数据总线发出
c编译器编译的时候,会经历一步翻译成汇编语言的过程,比如rcon = 234这句会翻译成ldr r1,0x200000,然后,ldr [r1],234,编译器将C代码这样翻译之后,r1发出去的时候,是使用 寻址来发的,而寻址指令是硬件指令集,是从硬件电路得到的,那样译码的时候,电路里面对应的地址数据复用引脚会进行相应的选择,相应的内部门电路啥的就会变,数据最终从地址引脚发出。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- 今天犯傻了,突然想不明白,为啥一个数据cpu能够分辨出来是数据还是地址
- 今天犯傻了
- fork的一个例子,好像人家是讲得很详细了,我还是不明白
- 今天好像突然想明白了一个问题
- CPU如何区分读出的代码是指令还是数据
- 汇编中如何片段CPU取得是数据还是指令
- 今天真懂了,为啥许多公司不重视数据分析
- 是男孩还是男人?八大区别让你立刻分辨出来
- 今天突然看到第一个模块是linux,就找了一个,看看。
- 今天报表模板突然获取不到数据
- 今天用了下QMessageBox,发现一闪而过这是为啥?
- 今天帮一朋友导入mysql数据遇到一怪问题,可是到现在都想不明白怎么回事
- 今天学习了怎么读取Android数据库读取数据,用ListView将其显示出来
- 今天学会了数据导入
- 数据可视化是怎样创造出来的
- 数据可视化是怎样创造出来的
- 数据可视化是怎样创造出来的
- 是能够忍受,还是安于现状?
- Surf算法学习心得(三)——Demo分析
- reg 注册表查询编辑命令介绍
- Socket send函数和recv函数详解
- 为什么要进行傅里叶变换
- 如何把一段逗号分割的字符串转换成一个数组?
- 今天犯傻了,突然想不明白,为啥一个数据cpu能够分辨出来是数据还是地址
- OpenCV:SURF算法浅析
- asp.net笔记
- java_web之使用cookie显示曾经访问过的商品
- NMAP使用文档
- 数组有没有length()这个方法? String有没有length()这个方法?
- Exchange server 2013的改进概览
- myeclipse中导入js乱码的问题
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?