CPU寄存器

1.寄存器是什么?

寄存器是cpu内部的存储单元,存放内存读取而来的数据和CPU运算的中间结果。

2.为什么使用寄存器临时存放数据而不是直接操作内存?

2.1 cpu工作原理决定了有些操作运算符只能在CPU内部进行。

2.2 因为CPU读写寄存器速度比读写内存的速度快得多。

3.寄存器的种类

3.1通用寄存器 

        rax, rbx, rcx, rdx, rsi, rdi, rbp, rsp, r8, r9, r10, r11, r12, r13, r14, r15寄存

        rsp 栈顶寄存器和rbp栈基址寄存器

                这两个寄存器都跟函数调用栈有关,rsp一般用来存放函数调用栈的栈顶地址

                rbp通常存放函数的栈帧起始地址,编译器使用两个寄存器通过偏移的方式访问函数局                    部变量或函数参数

                mov    0x8(%rsp),%rdx 地址为 0x8(%rsp) 的内存中的值拷贝到rdx寄存器

3.2程序计数寄存器(pc寄存器) rip寄存器。

        用来存放下一条即将执行的指令的地址,这个寄存器决定了程序的执行流程

        0x0000000000400770: add   %rdx,%rax

        0x0000000000400773: mov   $0x0,%ecx

        rip寄存器的值不是正在被CPU执行的指令在内存中的地址,而是紧挨这条正在被执行的指令后面那一条指令的地址。

3.3段寄存器

        fs和gs寄存器。一般用它来实现线程本地存储(TLS)

4.寄存器的作用

5.寄存器作用过程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值