微处理器的外部总线接口(EBI)用于访问或控制外设,在硬件接口加入二输出脚之后即可成为软件代理内存接口(SPMI)。EBI对于接踵而至的随机地址可以实现快速读取,但是[DDR-n] SDRAM对于接连不断的连续地址可以实现突发读取。SPMI可以调整硬件架构来实现同步突发读取,但不必增加硬件接口的引脚数。SPMI在执行同步突发读取时会暂时停止EBI的原始功能,并且切换成类似SDR SDRAM的突发读取。
EBI在读取期间的流程包含:步骤一,微处理器设定片选(#CS)以及地址总线的逻辑电平;步骤二,等待各逻辑电平在外部导线上到达稳定;步骤三,微处理器设定输出使能(#OE)的逻辑电平;步骤四,等待被选取的芯片设定数据总线的逻辑电平;步骤五,等待各逻辑电平在外部导线上到达稳定;步骤六,微处理器接收数据。[DDR-n] SDRAM在突发读取时不会重复上述的步骤一至步骤三,所以将EBI切换成同步突发读取,有利于缩短连续地址的读取时间。
微处理器在程序执行时总是连续读取脚本,并且由硬件电路直接提取脚本。当微处理器使用倍频提高工作频率时,必然要将脚本存入高速缓存,方可匹配微处理器的执行速度;同步突发读取能够在更短的时间内将一小段脚本填满高速缓存,并且避免EBI的读取效率限制微处理器的执行速度。另外,软件程序在搬移或复制数据区块时也可使用同步突发读取。
DRAM单元的电气特性适合导入同步突发读取,SDRAM芯片的内存阵列是由列地址控制DRAM单元的字线,以及由行地址控制数据的传输路径,其中,读取电路连接DRAM单元的位线。SPMI在送出库地址和列地址之后,同库且同列的DRAM单元皆被激活,这些被激活的DRAM单元皆会被各自所连接的读取电路检测到它们的储存状态,其数量等于规格书的页尺寸,并且最大的寻址空间即是行地址的极限。同步突发读取的时序异于EBI,所以要将此功能加入SPMI DRAM的命令真值表,增加后如下。
表1:SPMI DRAM命令真值表。
SPMI在进入同步突发读取时,EBI的输出使能被定义成“同步时钟”,亦即#OE信号被切换成CLK信号,这样的功能如同SDR SDRAM的CLK。微处理器在CLK的上升沿将数据从数据总线存入高速缓存,然后递增行地址。内存芯片在CLK的上升沿递增行地址,在CLK的下降沿输出数据至数据总线。
图1呈现SPMI在读取期间的时序,虚时钟代表不同时间点的数据传输时间。第1虚时钟,EBI送出数据写入指令给被选择到的内存芯片,此一内存芯片随即进入工作状态,亦即图中所示的工作闩锁。被选择到的内存芯片在得知功能编号是15之后,将在接收到行地址之后进入同步突发读取。
第3虚时钟是列地址到行地址的延迟时间(tRCD),这个时间至少需要占用2个tIO。由于#CAE用于控制储存单元的访问,因此在#ACT的逻辑信号转成低电平之前要先将它的逻辑信号转成高电平。#ACT的逻辑信号用于启动储存单元的访问或内存芯片的组态,也用于解除内存芯片的工作状态。
第6虚时钟,EBI送出数据读取指令给被选择到的内存芯片,这一数据读取指令会从储存单元读出数据至微处理器。在第6虚时钟结束之前,被选择到的内存芯片在#OE的上升沿闩锁行地址,然后递增行地址,即图中所示的读取闩锁以及“Column+1”。
第7虚时钟至第11虚时钟,微处理器执行同步突发读取,单位时间可以是tIO。第7虚时钟,微处理器递增行地址。第8虚时钟,被选择到的内存芯片在#OE的下降沿送出数据,即图中所示的"DOUT 2"。第9虚时钟,微处理器递增行地址;被选择到的内存芯片在#OE的上升沿递增行地址,即图中所示的“Column+2”。第10虚时钟,被选择到的内存芯片在#OE的下降沿送出数据,即图中所示的“DOUT 3”。当#ACT的逻辑信号再次回到高电平时,内存芯片的工作状态立即解除,亦即图中所示的第12虚时钟;在解除时,被选择到的内存芯片重置计数器,即图中所示的“Column+0”。
图1:用于同步突发读取的SPMI DRAM时序图。
SPMI在同步突发读取上仿照SDR SDRAM的时钟信号,所以在内存芯片上不需要延迟锁定环(DLL),也无需执行时钟校正。SDR的电气特性是时钟信号的发送端和接收端都是数字信号,因此SPMI可以直接切换逻辑门来控制#OE的输出波形,并且在内存芯片上不必切换#OE的输入电路。
SPMI的同步突发读取在用途上不同于[DDR-n] SDRAM的突发读取,同步突发读取是为了减少微处理器向内存芯片发送读取命令的次数,同时缩短连续地址的读取时间。微处理器在EBI送出行地址时,同时接收第一笔数据,即图1所示的“DOUT 1”,因此同步突发读取的时钟数量要扣除这笔数据。当数据总线的位宽度是64位或16位时,建议微处理器送出的时钟数量是31;当数据总线的位宽度是32位或8位时,建议微处理器送出的时钟数量是63;于是,64位或32位的微处理器将会接收到256个字节,16位或8位的微处理器将会接收到64个字节。
本文为《电子技术设计》2020年1月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。