1 SoC_Lite片上系统结构
mycpu和dram、confreg之间有一个“一分二”部件。这是因为在LoongArch指令系统架构下,所有I/O设备的寄存器都是采用memory mapped方式访问的。我们这里实现的confreg也不例外。Memory mapped的访问方式意味I/O设备中的寄存器各自都有一个唯一内存编址,所以CPU可以通过load、store指令对其进行访问。不过dram作为内存也是通过load、store指令进行访问的。那么对于一条load或store指令来说,如何知晓它访问的是confreg还是dram?我们在设计SoC的时候用地址对其进行区分。因此在设计SoC的数据通路时就需要在这里引入一个“一分二”部件,它的选择控制信号生成是通过对访存的地址范围进行判断而得到的。