购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第3章

QMEM剖析

OR1200中有很多模块,笔者决定首先分析QMEM,理由如下。

(1)第2章建立的最小系统中,指令都存储在QMEM中。

(2)在建立最小系统过程中,or1200_qmem_top.v是唯一一个修改了源代码的文件,该文件就是QMEM模块的顶层文件,我们需要明白为什么要作这个修改。

(3)从图1.6中可以发现QMEM处于IMMU与ICache、DMMU与DCache之间的“交通要道”,地位十分重要,便于通过QMEM的分析理解Wishbone总线。

(4)QMEM很简单。

本章首先描述了QMEM的作用,由于QMEM与CPU、IMMU、ICache、DMMU、DCache都是通过Wishbone总线连接的,所以会对Wishbone总线规范进行介绍。在此基础上分析QMEM的内部RAM实现。在OR1200运行过程中,会在三种情况下使用到QMEM:取指令、加载(Load)数据、存储(Store)数据。本章将结合取指令的情况分析QMEM在其中的工作过程,后两种情况留在“加载存储类指令剖析”时再分析。取指令又分两种情况:复位后取第一条指令、正常运行过程中的指令读取。在本章的最后两小节,将分别对这两种情况进行分析。 wiDlSp9Irmpl9zDu/uKiKqaAvCQPi33kVnnQbCKzYc8BpxQNmzaiuJFLwfxdrqkZ

点击中间区域
呼出菜单
上一章
目录
下一章
×