社区
语言基础/算法/系统设计
帖子详情
问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?
wtjd
2009-08-16 05:09:25
问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?
...全文
217
3
打赏
收藏
问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?
问一个很基础的问题:CPU寄存器,堆栈是干嘛用的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Agilehawk
2009-08-16
打赏
举报
回复
CPU寄存器 是供 CPU运算单元执行运算时,临时存放部分变量值的区域,外部应用程序基本上不能修改其值。
堆栈 是用于多任务系统中不同任务切换或多线程在线程切换时,用于保存CPU寄存器各值和其他内存值的内存块,多数情况下只有操作系统才能干预这部分内容。
Seamour
2009-08-16
打赏
举报
回复
cpu的基本指令绝大多数都至少有一个操作数是寄存器,可以说寄存器是cpu的内存,而ram是cpu的外存
stack是一种后进先出的数据结构,每个线程都会在ram中维护一个自己的stack,用于局部变量的使用和过程/函数的调用
Agilehawk
2009-08-16
打赏
举报
回复
看来你需要去看看“计算机原理”了,
8086
CPU
各
寄存器
及其简介
8086
CPU
中
寄存器
总共为 14 个,且均为 16 位 。 即AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES共 14 个。 而这 14 个
寄存器
按照一定方式又分为了通用
寄存器
,控制
寄存器
和段
寄存器
。 通用
寄存器
: AX,BX,CX,DX 称作为数据
寄存器
: AX (Accumulator):累加
寄存器
,也称之为累加器; BX (Bas...
8086
CPU
各
寄存器
的用途
8086 有14个16位
寄存器
,这14个
寄存器
按其用途可分为(1)通用
寄存器
、(2)指令指针、(3)标志
寄存器
和(4)段
寄存器
等4类。1.通用
寄存器
有8个, 又可以分成2组,一组是数据
寄存器
(4个),另一组是指针
寄存器
及变址
寄存器
(4个).数据
寄存器
分为:AH&AL=AX(accumulator):累加
寄存器
,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄...
请
问
线程需要保存哪些上下文,SP、PC、EAX这些
寄存器
是
干嘛
用的
参考回答: 线程在切换的过程中需要保存当前线程Id、线程状态、
堆栈
、
寄存器
状态等信息。 其中
寄存器
主要包括SP PC EAX等
寄存器
,其主要功能如下: SP:
堆栈
指针,指向当前栈的栈顶地址 PC:程序计数器,存储下一条将要执行的指令 EAX:累加
寄存器
,用于加法乘法的缺省
寄存器
...
汇编语言8086
CPU
之
寄存器
总结
寄存器
是什么呢? 其实很简单,
寄存器
就是个存储信息的单元或者说是器件又或者说是容器而已,就比如内存也是
一个
存储介质或者说是存储单元而已,其实
寄存器
从理解上来说和内存差不多,只不过
寄存器
(这里讨论的
寄存器
都是
CPU
中的
寄存器
,不包括外设上的
寄存器
)位于
CPU
内部,而内存位于
CPU
外部,而且,
寄存器
比内存可是珍贵得多啊,就拿内存和硬盘来比,肯定是内存在使用上珍贵得多,是 PC 中的稀有资源,而
寄存器
是
CPU
中的稀有资源,内存和
寄存器
相比就像硬盘和内存相比一样 。 而对于
一个
汇编程序员来说,C
sp
寄存器
和bp
寄存器
_8086
CPU
的
寄存器
为了提高
CPU
的运算速度,减少访
问
存储器的存取操作,8086
CPU
内置了相应
寄存器
,用来暂存参加运算的操作数及运算的中间结果。指令通过
寄存器
实现对操作数的操作比通过存储器操作要快得多,因此在编程时,合理利用
寄存器
能提高程序的运行效率。8086
CPU
内部提供了14个16位的
寄存器
。其结构如下:通用
寄存器
通用
寄存器
分为数据通用
寄存器
和地址指针与变址
寄存器
两组。数据通用
寄存器
数据通用
寄存器
包括...
语言基础/算法/系统设计
16,742
社区成员
33,237
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章