请教关于core_reset的问题
Closed this issue · 2 comments
user-stu-l commented
在huancun/CtrlUnit.scala有一个改动是这样的
remove reset of all cores initially:
- val core_reset = RegInit(0.U(64.W)) +:Seq.fill(wrapper.num_cores-1){ RegInit(1.U(64.W)) }
- val core_reset = Seq.fill(wrapper.num_cores){ RegInit(0.U(64.W)) }
例如一个双核,如果都取消了复位,那一个程序会直接进入两个核同时执行,而不是像之前先进入主核执行,请问这是出于什么考虑呢?谢谢!
wakafa1 commented
Bootloader 和操作系统会通过原子机制选出一个主核来运行对应的代码,让其他核 hang 住直到被唤醒;因此硬件的复位是不必要的
user-stu-l commented
好的,感谢!