CN109857616B - 一种基于指令的dram控制器带宽效率检测方法 - Google Patents
一种基于指令的dram控制器带宽效率检测方法 Download PDFInfo
- Publication number
- CN109857616B CN109857616B CN201910070960.8A CN201910070960A CN109857616B CN 109857616 B CN109857616 B CN 109857616B CN 201910070960 A CN201910070960 A CN 201910070960A CN 109857616 B CN109857616 B CN 109857616B
- Authority
- CN
- China
- Prior art keywords
- read
- write
- dram
- instructions
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
Abstract
本发明公开一种基于指令的DRAM控制器带宽效率检测方法,本方法按照DRAM接口时序抓取主控制器与DRAM颗粒间的读写指令和时钟信号线,监测读写指令,从读写指令中抓取BC4读指令数、BC4写指令数、BL8读指令数、BL8写指令数,从时钟信号线中抓取检测时段内的DRAM时钟周期数,然后抓取的信息计算控制器的带宽效率。本发明能够自动的根据传输模式更准确的抓取传输数据个数,具有较好的监测效果。
Description
技术领域
本发明涉及一种DRAM控制器带宽效率检测方法,具体的说,是一种基于指令的DRAM控制器带宽效率检测方法,属于存储器带宽效率检测领域。
背景技术
在数字前端研发过程中,现在的SOC很多都要在内部集成DRAM主控制器,作为代码和数据的主要缓存,DRAM的带宽利用效率往往是整个系统的性能关键。通常进行数字前端架构设计时,要进行系统的性能效率仿真,其中包括DRAM的带宽仿真;最早的传统仿真方法是dump仿真波形,在波形上人工观测DRAM的数据读写情况进而统计出DRAM的使用效率,耗时耗力;可以采用基于DRAM读写指令次数的统计方法估算带宽利用率,不过因为通常DRAM在使用时多设置成固定的突发长度(如BL8)故监测方法大多也都简化为指令数乘以固定突发长度(如BL8,即4拍),但作为被动的监测装置如monitor如果按照固定突发长度(BL8)监测在某些情况下会导致带宽利用率监测不准。
发明内容
本发明要解决的技术问题是提供一种基于指令的DRAM控制器带宽效率检测方法,能够自动的根据传输模式更准确的抓取传输数据个数,具有较好的监测效果。
为了解决所述技术问题,本发明采用的技术方案是:一种基于指令的DRAM控制器带宽效率检测方法,按照DRAM接口时序抓取主控制器与DRAM颗粒间的读写指令和时钟信号线,监测读写指令,从读写指令中抓取BC4读指令数、BC4写指令数、BL8读指令数、BL8写指令数,从时钟信号线中抓取检测时段内的DRAM时钟周期数,然后根据公式
计算控制器的带宽效率。
进一步的,监测读写指令逻辑简化成对CS、ACT、RAS、CAS四个信号的监测,然后通过A12信号区别BC4指令或者BL8指令,A12为0则为BC4指令,反之则为BL8指令。
进一步的,当CS=0、ACT=1、RAS=1、CAS=0,并且A12=0时,监测到的指令为一次针对BC4的读或写指令,此时在BC4读/写指令数基础上加2;当CS=0、ACT=1、RAS=1、CAS=0,并且A12=1时,监测到的指令为一次针对BL8的读或写指令,此时在BL8读/写指令数基础上加4。
进一步的,利用systemverilog或verilog语言做成的monitor抓取主控制器与DRAM颗粒间的读写指令和时钟信号线。
有益效果:本发明能够自动的根据传输模式更准确的抓取传输数据个数,在BC4和BL8(on the fly)混合传输时对于带宽效率的监测提升尤为明显;且该monitor更为通用,对任何符合DDR4协议标准的主控制器/DRAM颗粒工作在任何传输模式下都能准确抓取数据指令传输个数;不必像简化的monitor那样只能在固定传输模式下(如fixed BL8)才有较好的监测效果。
附图说明
图1为DDR4标准突发长度配置示意图;
图2为DDR4标准指令真值表;
图3为monitor的部分代码示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
根据JEDEC标准,DRAM颗粒都含有Mode Register(以下简称MR),DRAM主控制器需要通过MR设置指令配置DRAM颗粒的传输特性;其中MR0可以控制传输的突发长度(burstlength),如下页图1;
通常DRAM在使用时多设置成固定的突发长度,即A1:A0=00 fixed BL8(图1圈出部分的第一行);此为比较常用的DRAM颗粒使用方式,这样每一次DRAM读写指令均传输8拍数据;
但A0:A1两位同样也可配置成01,即BC4 or 8 (on the fly);这样每一次DRAM读写指令传输4拍或8拍数据;
传统的粗略估算方法如下公式所示(分子:实际用于传输的时钟周期数,分母:总时钟周期数):
由于突发长度常配置为fixed BL8,所以上面公式中的DRAM突发长度等于8(除以2是因为DDR上升下降沿都传输数据即一拍两个数),即公式中分子为“4倍的读写指令总数”;这样的方法在所测仿真过程为全BL8传输时较为准确;不过一旦所监测的仿真过程中出现BC4和BL8混合的数据传输,传统监测方法中的DRAM突发长度却固定等于8,难免会造成分子较大的结果,即抓取测算的带宽虚高。
结合以上,测算方法改进为:
具体实现时,编写代码做成monitor(通常用systemverilog或verilog语言),在仿真平台中将monitor连接在主控制器和DRAM颗粒间的连线上,按照DRAM接口时序抓取读写指令,根据抓取的指令进行计数完成公式中分子部分,同时monitor也抓取clock也就是时钟信号线,记下期间时钟周期数即完成公式中分母部分;按照公式计算出带宽利用率并在仿真结果中打印出来;这样就可达成跑仿真的同时自动监测带宽利用率的效果。
具体到公式2的改进在具体实现时,关键是如何分别准确抓取BC4指令数和BL8指令数;如图2所示,基于DDR4标准指令的真值表,抓取接口信号后监测读写指令的逻辑可化简成对于CS、ACT、RAS、CAS四个信号的监测,之后区分BC4和BL8主要是依靠图2倒数第5列的A12(即address地址第12位);A12为0则为BC4指令,反之则为BL8指令;该仿真monitor的具体实现中关于上述监测以及区分BC4指令和BL8指令的代码如图3所示:其中cas_cnt为指令的读/写次数,图3中的第一个if判断逻辑条件即简化后的全部读写指令的监测(上文中提到的CS、ACT、RAS、CAS四个信号的监测,满足此条件代表是一次读或者写指令),当A12等于1时,此指令为一次BL8(读或写),所以cas_cnt加4(对应公式2中);反之当A12等于0时,此指令为一次BC4(读或写),所以cas_cnt加2(对应公式2中)。
本实施例中,当满足CS=0、ACT=1、RAS=1、CAS=0,并且A12=0时,为一次针对BC4的读或写指令;当CS=0、ACT=1、RAS=1、CAS=0,并且A12=1时,为一次针对BL8的读或写指令。
Monitor可以根据仿真中DRAM初始化的过程中MR的配置情况(抓取MR指令)来确定后续的传输时工作于哪种模式下(图1中A1:A0=00、01、10的三种情况),从而更准确的抓取和监测实际的数据传输数量,进而随着仿真自动的打印出带宽效率。
本发明能够自动的根据传输模式更准确的抓取传输数据个数,在BC4和BL8(onthe fly)混合传输时对于带宽效率的监测提升尤为明显;且该monitor更为通用,对任何符合DDR协议标准的主控制器/DRAM颗粒工作在任何传输模式下都能准确抓取数据指令传输个数;不必像简化的monitor那样只能在固定传输模式下(如fixed BL8)才有较好的监测效果。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (4)
2.根据权利要求1所述的基于指令的DRAM控制器带宽效率检测方法,其特征在于:监测读写指令逻辑简化成对CS、ACT、RAS、CAS四个信号的监测,然后通过A12信号区别BC4指令或者BL8指令,A12为0则为BC4指令,反之则为BL8指令。
4.根据权利要求1所述的基于指令的DRAM控制器带宽效率检测方法,其特征在于:利用systemverilog或verilog语言做成的monitor抓取主控制器与DRAM颗粒间的读写指令和时钟信号线。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910070960.8A CN109857616B (zh) | 2019-01-25 | 2019-01-25 | 一种基于指令的dram控制器带宽效率检测方法 |
PCT/CN2019/094187 WO2020151193A1 (zh) | 2019-01-25 | 2019-07-01 | 一种基于指令的dram控制器带宽效率检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910070960.8A CN109857616B (zh) | 2019-01-25 | 2019-01-25 | 一种基于指令的dram控制器带宽效率检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857616A CN109857616A (zh) | 2019-06-07 |
CN109857616B true CN109857616B (zh) | 2021-05-18 |
Family
ID=66896061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910070960.8A Active CN109857616B (zh) | 2019-01-25 | 2019-01-25 | 一种基于指令的dram控制器带宽效率检测方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109857616B (zh) |
WO (1) | WO2020151193A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857616B (zh) * | 2019-01-25 | 2021-05-18 | 山东华芯半导体有限公司 | 一种基于指令的dram控制器带宽效率检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436429A (zh) * | 2011-11-14 | 2012-05-02 | 盛科网络(苏州)有限公司 | Dram存储器及提升dram数据访问带宽的方法 |
CN103426461A (zh) * | 2012-05-17 | 2013-12-04 | 三星电子株式会社 | 磁性随机存取存储器 |
CN107924698A (zh) * | 2015-08-28 | 2018-04-17 | 英特尔公司 | 存储器设备校验位读取模式 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916227B (zh) * | 2010-08-13 | 2015-04-01 | 中兴通讯股份有限公司 | 一种rldram sio存储器访问控制方法和装置 |
US8873282B2 (en) * | 2011-10-18 | 2014-10-28 | Micron Technology, Inc. | Interfaces and die packages, and appartuses including the same |
US9263106B2 (en) * | 2011-10-21 | 2016-02-16 | Nvidia Corporation | Efficient command mapping scheme for short data burst length memory devices |
CN109857616B (zh) * | 2019-01-25 | 2021-05-18 | 山东华芯半导体有限公司 | 一种基于指令的dram控制器带宽效率检测方法 |
-
2019
- 2019-01-25 CN CN201910070960.8A patent/CN109857616B/zh active Active
- 2019-07-01 WO PCT/CN2019/094187 patent/WO2020151193A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436429A (zh) * | 2011-11-14 | 2012-05-02 | 盛科网络(苏州)有限公司 | Dram存储器及提升dram数据访问带宽的方法 |
CN103426461A (zh) * | 2012-05-17 | 2013-12-04 | 三星电子株式会社 | 磁性随机存取存储器 |
CN107924698A (zh) * | 2015-08-28 | 2018-04-17 | 英特尔公司 | 存储器设备校验位读取模式 |
Also Published As
Publication number | Publication date |
---|---|
WO2020151193A1 (zh) | 2020-07-30 |
CN109857616A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4560646B2 (ja) | ハブベースのメモリシステムにおけるダイレクトメモリアクセス用の装置および方法 | |
CN103366794B (zh) | 用于减少接脚数内存总线接口的装置及方法 | |
JP4463686B2 (ja) | パフォーマンス・モニタおよびその方法 | |
US7743194B2 (en) | Driver transparent message signaled interrupts | |
US20110296214A1 (en) | Power savings and/or dynamic power management in a memory | |
US9343123B2 (en) | Memory access alignment in a double data rate (‘DDR’) system | |
US10482043B2 (en) | Nondeterministic memory access requests to non-volatile memory | |
US8169852B2 (en) | Memory control circuit, control method, and storage medium | |
JP2015506039A (ja) | 統合データマスキング、データポイズニング及びデータバス反転シグナリング | |
CN109857616B (zh) | 一种基于指令的dram控制器带宽效率检测方法 | |
CN108139992A (zh) | 访问存储设备的方法和存储设备 | |
JP5401846B2 (ja) | データ転送装置、情報処理装置、データ転送方法 | |
US20080052424A1 (en) | Data access system, data access apparatus, data access integrated circuit, and data access method | |
CN100541658C (zh) | 半导体存储器器件 | |
US6545942B2 (en) | Semiconductor memory device and information processing unit | |
US8913458B2 (en) | Integrity check of measured signal trace data | |
WO2023093335A1 (zh) | 数据处理电路及人工智能芯片、数据处理方法和装置 | |
CN101174248A (zh) | 利用直接存储器存取控制来传输数据的方法和装置 | |
US20070171735A1 (en) | Latency circuit for semiconductor memories | |
US7178000B1 (en) | Trace buffer for DDR memories | |
JP2013206078A (ja) | チェック装置、コマンドチェック機能付きメモリシステム、及び、方法 | |
JP2002366509A (ja) | ダイレクトメモリアクセスコントローラおよびそのアクセス制御方法 | |
CN109582615B (zh) | 一种ddr3控制系统 | |
US20080046605A1 (en) | Memory device | |
TWI691959B (zh) | 記憶體儲存裝置及其運作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |