-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
k210 是否实现了缓存一致性? #42
Comments
对于多核来说是有内存一致性是必须实现的,在xv6-k210中主要通过fence指令来完成。可以参考spinlock.c中的代码和注释。 |
我说的是cache coherence,比如两个核读取同一个全局变量,这个变量被放在两个核的两个 cache里,然后一个核改变这个变量的值,两个 cache 必须保证不起冲突。 |
我认为注释里的“to ensure that all the stores in the critical section are visible to other CPUs”已经足够回答你的问题了。 |
我说的是硬件上 k210 这个 soc 是否实现了 cache coherence,我翻了一下 k210 的手册,好像没有提到实现了。 |
这是一个开源的操作系统内核项目,处理器/硬件层面的缓存一致性一般来说会交给硬件厂商处理,实现细节的话朋友可以咨询下 k210 的制作商。感谢反馈。: ) |
那如果硬件没有缓存一致性,多核运行 xv6 会有问题吧,你们运行下来有很奇怪的 bug 吗?如果没有的话,可能厂商实现了缓存一致性,没有在手册中提到。:) |
目前为止我们没有遇到过因为缓存一致性导致的bug,但也不能保证在后面的使用中不会遇到,对于任何软件来说将来遇到的bug都是未知的。朋友如果后面遇到问题,也欢迎在此repo下发issue,我们会尽量抽出时间一起来解决问题。感谢朋友的理解和支持。: ) |
如果没有实现缓存一致性,多核运行可能会有问题吧?
The text was updated successfully, but these errors were encountered: