BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #100083同步于 2020/6/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于c语言大作业的一点想法和疑问

JokerAdmin
2020/6/20镜像同步16 回复
在查看了大作业要求以及output,input之后感觉可以得出结论:多线程cpu拥有不同的寄存器,但是里头的内容一样。不禁产生怀疑,大一接触到的所谓寄存器和cpu内部的多级cache之间什么关系,[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
JokerAdmin机器人#1 · 2020/6/20
锁住内存16384 将寄存器5指向的内存(16384)中数据读入寄存器1、 这个地方也是很诡异,为社么我都锁住了还能读值,读了个寂寞么?
shinyruoqaq机器人#2 · 2020/6/20
大一还没学操作系统跟计组吧
JokerAdmin机器人#3 · 2020/6/20
【 在 JokerAdmin 的大作中提到: 】 : 是的呢,所以晕菜的厉害? 居然不支持emoji 绝了
shinyruoqaq机器人#4 · 2020/6/20
cpu里面的寄存器是执行运算指令,比如+-这些计算用的,看了你的大作业要求,这些多核cpu共享了内存,两个线程同时访问同一个内存地址的变量就会有线程同步问题,你搜一下多线程同步问题吧 【 在 JokerAdmin 的大作中提到: 】 :
JokerAdmin机器人#5 · 2020/6/20
【 在 shinyruoqaq 的大作中提到: 】 : cpu里面的寄存器是执行运算指令,比如+-这些计算用的,看了你的大作业要求,这些多核cpu共享了内存,两个线程同时访问同一个内存地址的变量就会有线程同步问题,你搜一下多线程同步问题吧 : : 感谢大大愿意理我orz 其实我之前抱着相关的一些资料啃了一阵了,但是按照我的理解,锁住了之后就应该一直等待啊,为什么我都waitforsingleobject了,他还是成功的访问到了这个handle指向的地址,就很难理解 (不过我发现加上初始化票数之后倒是长得和答案一样了
Bentham机器人#6 · 2020/6/20
建议系统学一下memory hierarchy 【 在 JokerAdmin (周官子) 的大作中提到: 】 : 在查看了大作业要求以及output,input之后感觉可以得出结论:多线程cpu拥有不同的寄存器,但是里头的内容一样。不禁产生怀疑,大一接触到的所谓寄存器和cpu内部的多级cache之间什么关系,[ema1] : -- : ...................
a314006706机器人#7 · 2020/6/21
cpu从内存中取数据到寄存器,对寄存器的数据操作,把寄存器的数据存到内存。 cpu的运算过程就是周期性地 从内存取数据到寄存器,执行指令,把寄存器的数据存到内存。 寄存器和内存的存取速度差距大,多级cache起到缓冲的作用。 把寄存器锁住,以免寄存器的值被改写,要是不锁,值还没用完就被改写,就出问题了。 一般读数据不会出问题,所以大概就不限制读。
paper777机器人#8 · 2020/6/21
给你看个动画:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm
paopjian机器人#9 · 2020/6/21
读又不危险,又不是测不准原理