寄存器入门

本文介绍了寄存器在CPU中的作用,详细阐述了数据寄存器、变址寄存器、指针寄存器、段寄存器、指令指针寄存器和标志寄存器的功能,并探讨了它们在不同位宽CPU中的演变,特别以32位CPU为例进行深入解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

寄存器简介

寄存器是cpu的组成部件之一,cpu在进行计算时,因为速度太快的原因,无法与内存(DRAM)直接进行操作。所以需要将所需的数据先从内存中提取到寄存器中,在对寄存器进行操作。
为了缓解DRAM与cpu的速度差,计算机在cpu与DRAM之间还有一个cache组件(SRAM),从内存中取出数据到寄存器中需要一个cpu指令周期,但如果预先放在cache中的话便可以直接使用,大大节约了取到数据的时间。

寄存器历史

从8086这一代cpu开始,intel进入了x86时代,由于最早出现的8086是16位的cpu,寄存器能存储的位数也为16位,例如我们熟悉的AX,BX,CX,DX寄存器。
从i386这一代cpu开始,32位处理器开始进入市场,这个时候寄存器也升至32位,除了包含先前16位所有的寄存器外,还把通用寄存器、指令寄存器和标志寄存器从16位扩充成32位,并增加了2个16位段寄存器FS和GS。
之后的64位x86-64也是对x86架构的扩展。

寄存器详细介绍

这里以32位cpu的寄存器为例
在32位cpu中有:

  • 4个数据寄存器(EAX、EBX、ECX、EDX)
  • 2个变址和指针寄存器(ESI、EDI)
  • 2个指针寄存器(ESP、EBP)
  • 6个段寄存器(ES、CS、SS、FS、GS)
  • 1个指令指针寄存器(EIP)
  • 1个标志寄存器(EFlags
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值