初中生
最后登录1970-1-1
在线时间 小时
注册时间2024-8-31
|
此问题只想求助sdram/ddr芯片设计相关或者了解这个机制的大哥,求 不懂也要回答几句的别来沾边浪费时间
sdram/ddr的读写速度肯定比不上cpu执行速度,匹配这个速度可以用cache。
对于stm32而言(无缓存),对于sdram的读写速度肯定比不上指令的运行速度,那么在对sdram进行读写操作的时候,cpu是在对sdram读写真正完成后执行下个指令还是说没有完成的时候就执行下个指令?
因为我看着f429 扩展sdram那里,对sdram的初始化阶段有检测fmc标志位来判断fmc是否初始化完成,但是到后面读写测试直接操控指针的时候,直接就赋值就可以(没有状态检测),因此这里不是很理解
假如cpu是在对sdram真正读写完成后再执行下个指令,硬件层面是如何做的?
->是不是在执行中fmc rdy拉低,等完成后rdy拉高给到cpu,cpu产生response信号后执行下个指令?
假如cpu是在对sdram没有读写完成时就执行下个指令
->当有非常多的对于内存的读写指令时候,是否fmc处有个缓存读写指令的fifo,这个fifo将所有读写指令先缓存起来,sdram读写完成一个pop一个指令?但是这样的话fifo肯定有个有限的深度,fifo满之后给cpu rdy信号拉低?
我不知道具体的情况怎样,所以想请求大佬解答,因为对于flash eeprom这样的低速外设我看着都有状态检测,但是对于sdram这里没有,想问一下。
|
|