CPU中的寄存器和地址概念
来源:互联网 发布:注册淘宝店要多少钱啊 编辑:程序博客网 时间:2024/05/16 05:56
一般的CPU都是由以下部分组成:运算器、控制器和寄存器。
这些器件之间自然也要相互交换信息,所以他们也是有导线相连的,也就是总线了。但是这个总线是内部总线,而CPU和内存、显卡之类做信息交换的是外部总线。
他们的作用分别是:
运算器:信息处理
寄存器:信息储存
控制器:控制器件
好吧,从名字来看就很容易明白……
通用寄存器(8086CPU):
8086CPU寄存器都是16位的,可以存放两个字节,一个字节是八个二进制位哦。
它的通用寄存器有:AX,BX,CX,DX,话说就是ABCD嘛。
特殊的是这些寄存器都是可以拆成8位寄存器来使用,为了兼容。
AX可以拆分为AH和AL
BX可以拆分为BX和BL
CX可以拆分为CH和CL
DX可以拆分为DH和DL
H代表high的意思,L代表low的意思,这样是不是很好理解。
这个16位寄存器,说起来就是它里面可以存放0和1的小格子有16个。一个小格子就是一个二进制位。
来张图应该会很清晰,没网……以后补充吧……
说到这里,如果你看到这样的一个数字4E2C,不用慌张,它是一个16进制的数据。这种类型的数据,你只要死死记住,16禁止的一位,相当于二进制的四位,所以呢4E2C你要是换算成二进制,它是16个。
书上的例子是这样的:
4E20,这是一个16进制数,换算以后成二进制:0100111000100000,
4就是0100,E就是1110,2就是0010,0就是0000.怎么换算还不知道,请打你的计算机老师……
最后,有些时候我们不能一眼看出它是一个16进制数,或者说会有误解的时候,就会在十六进制数的后面加上一个H,这里的H不是high,而是Hex的意思。
二进制数呢,就会在后面加上B,也就是byte的意思,而十进制数就不用加了,毕竟都是小学都会的。
现在来使用寄存器吧!
首先呢,在写汇编代码的时候,你不用区分大小写。
比如:mov ax 22,这个是可以,他表示将22的数据送入AX寄存器
不仅可以把数据送进寄存器,还可以把其它寄存器的数据送过来,如:mov ax bx 它表示把BX中的数据送入AX,当然,BX的数据还在的哦。
如果你很高兴,mov AX 22 mov AX BX这种大写代码也是可以接受的……
这里说到了mov ax bx的情况,有时候如果说ax寄存器没有数据,那么一切ok,但是如果ax里面有数据会怎么样?这个时候把bx的数据送进来,那ax的数据还在吗?
答案是否定的,ax的数据将会被bx中传递过来的数据覆盖。
其实很好理解,这个ax这个容器很小,当你把别的数据是送进来,它只能以这种方式存储数据。
物理地址:
这里说的可不是你的MAC地址……
在内存当中,不管你的内存有多大,CPU在访问的时候都是把它当成一维的,这样确保了每个内存单元都有唯一的地址。嗯,不排除以后科技更牛逼……
这些内存单元的地址,就是它们的物理地址。
CPU会首先在内部安排好地址,然后再发出去。那么CPU是怎么发出地址的?自然是靠地址总线。
这里说的内存单元,绝不仅仅是内存条,还有显存之类的也属于内存单元。
在讨论CPU问题,其实涉及到的是计算机的工作原理,和本质,我们不应当将概念人为地局限为一个或者一种特殊器件。
- CPU中的寄存器和地址概念
- 寄存器的“地址”概念
- 1.4 x86 CPU地址空间分配和寄存器访问
- CPU中的主要寄存器
- CPU中的寄存器们
- CPU中的主要寄存器
- CPU中的寄存器
- CPU中的主要寄存器
- CPU中的八个通用寄存器
- 汇编基础和CPU寄存器
- CPU的数据线、地址线和通用寄存器位数的意义
- 控制寄存器和系统地址寄存器
- 控制寄存器和系统地址寄存器
- 控制寄存器和系统地址寄存器
- 控制寄存器和系统地址寄存器
- 控制寄存器和系统地址寄存器
- 驱动中如何访问CPU中的寄存器?
- 驱动中如何访问CPU中的寄存器
- 初步认识hibernate--第一篇
- MAC查看端口占用情况
- 用JAVA连接SQL SERVER 的做法 指导人:徐哥
- Java多线程,wait,notify,notifyAll的使用例子
- [LeetCode]172. Factorial Trailing Zeroes
- CPU中的寄存器和地址概念
- 自己机器上的WEBSERVICE别人访问没有调用 合伙人:贺姐
- 关于GPUImage的导入
- postNotificationName
- 路径中的'.'和'..'还有'./'和'../'都是什么意思
- LightOj 1336 Sigma Function(打表找规律)
- Eclipse中Properties中文显示不自动转成Unicode
- 加域的时候遇到的一点问题
- Linnux命令大全(vim)