电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:32位高性能嵌入式CPU中Load Aligner 模块的设计与实现(图)
来源:   时间: 2007-4-16 16:51:14    

The Design of Load Aligner for a 32 bits CPU

摘 要:在CPU中,Load Aligner模块是DCACHE和数据通道之间的接口。从DCACHE中取出的数据只有通过Load Aligner模块重新排序,才能进入CPU的数据通道。本文讨论了该CPU中Load Aligner 模块的设计与实现,其中主要是数据通道部分的逻辑设计和电路设计,并给出了相关结果。
关键词:Load Aligner;逻辑设计;电路设计;功能验证;仿真
引言
 ---一般的,在CPU中,访问寄存器比访问主存速度要快。所以为了减少访问存储器而花的时间或延迟,MIPS4KC处理器采用了Load/Store设计。在CPU芯片上有许多寄存器,所有的操作都由存储在寄存器里的操作数来完成,而主存只有通过Load和Store指令来访问。这样做不仅可以减少访问主存的次数,有利于降低对主存储器容量的要求,而且可以精简指令集,有利于编译人员优化寄存器分配。Load Aligner就是数据存储器(DCACHE)和数据通道之间的接口。所以设计出性能优良的Load Aligner对提高CPU的整体性能是非常重要的。本文介绍了在一款32位CPU中Load Aligner模块的设计与实现,其中主要是数据通道部分的设计和实现。

设计目标
---本设计中,Load Aligner模块要实现的指令有LB、LBU、LH、LHU、LW、LWL、LWR。CPU通过这些指令把从数据存储器中取出来的数据重新排序,然后放进寄存器堆RF中,进入CPU的数据通道。表1是对这些指令的介绍。


---如果把从DCACHE中取出的一个32位的字表示成4字节:A、B、C、D,如表2所示。

31-24/  23-16/  15-18/  7-0

A       /     B    /  C     /   D
---那么经过上述指令操作后,这个字被重新排列的结果(即Load Aligner模块的输出,也用4字节来表示)见表3。
---表3中,s表示符号扩展,*表示这个字节上的寄存器中的数保持不变。不过在Load Aligner模块,先将这些字节置0,在寄存器堆模块再控制这些字节是否直接写进寄存器。


---以上是Load Aligner模块要实现的指令目标,另外由于此模块是CPU关键路径的一部分,因此数据通道部分最长时延不能超过0.7ns。
逻辑设计
 ---分析比较经过上述指令后Load Aligner模块的输入输出变化可以看出:输入字的每一字节经过Load Aligner模块后可以在输出字的任意字节位置上。换言之,输出字的每一字节都可以有A、B、C、D四种情况。所以需要一个8位的控制信号Bit<7:0>来控制四个四选一的数据选择器,称为字节组合模块,来获得所需要的字节组合。不过,经过这个字节组合模块选出来的4字节并不全是所需要的,还需要去掉冗余的字节或者进行符号扩展。因此需要有能够产生符号扩展或者0扩展的模块称为符号产生模块,然后把它的输出和一个4位的控制信号Mask<3:0>一起控制一组二选一数据选择器,称为输出模块,来获得最后的排序结果。逻辑实现流程图见图1。


---以上是Load Aligner模块数据通道部分的设计。它还需要有控制模块来产生上述控制信号,此外由于任何一个控制信号都要驱动数据通道子模块中的32个cell,所以还要有一个驱动模块来使控制信号有足够的驱动能力。由以上分析,整个Load Aligner模块的框图如图2所示。其中,控制模块采用自动布局布线生成,而驱动模块和数据通道模块均采用全定制设计。

功能验证
 ---对此模块的RTL代码和所设计的电路分别进行了功能验证。设从DCACHE取出的32位数据用十六进制表示为AABBCCDD,对表3中的所有指令进行测试。图3所示的波形图就是依次测试指令LW、LH00、LHU00、LH10、LHU10、LB00、LBU00、LB01、LBU01、LB10等的结果。可以看出,结果与表3完全吻合。说明所设计的电路满足设计目标,可以实现所要求的所有指令。

电路仿真
---根据图1可以看出,从符号选择信号Sandz<4:0>到输出的路径为最长路径,我们选取这条路径进行仿真,并考虑在0.18μm时线电阻电容对时延的影响,用Hspice确定了所需器件的尺寸。仿真结果如图4所示。上升时时延为0.52ns,下降时时延为0.47ns,均满足小于0.7ns 的要求。


结论     
---在CPU中,Load Aligner模块是DCACHE和数据通道之间的接口。从DCACHE中取出的数据只有通过Load Aligner模块重新排序,才能进入CPU的数据通道。在设计中应用了自上而下的设计方法,所设计的电路实现了所有的指令,在时延上也达到了设计目标。

参考文献
1 李学干.计算机系统结构.西安电子科技出版社.2000
2 CMOS Circuit Design, Layout, and Simulation. R. Jacob Baker and Harry W. Li and David E. Boyce. The Institute of Electrical and Electronics Engineers, Inc. New York. 1998
3 Digital Logic Circuit Analysis & Design, by N. P. Nelson.1997



相关信息
发表评论
打印本页 关闭本页
NCP511SN30T1G的技术参数
  产品型号:NCP511SN30T1G输出电压典型值(V):3输出电流典型值(A):0.150极性:正压差典型值(V):0.170/0.15A输入电压最大值(V):6封装/温度(℃):SOT23/-40~85描述:150mA,低功耗低压差稳压器价格/1片(套):¥2.60
>>详细内容
NCP511SN30T1的技术参数
  产品型号:NCP511SN30T1输出电压典型值(V):3输出电流典型值(A):0.150极性:正压差典型值(V):0.200输入电压最大值(V):6封装/温度(℃):5TSOP-5/-40~85描述:小静态电流,使能控制价格/1片(套):¥2.79
>>详细内容
NCP511SN28T1G的技术参数
  产品型号:NCP511SN28T1G输出电压典型值(V):2.800输出电流典型值(A):0.150极性:正压差典型值(V):0.170/0.15A输入电压最大值(V):6封装/温度(℃):SOT23/-40~85描述:150mA,低功耗低压差稳压器价格/1片(套):¥2.60
>>详细内容
NCP511SN25T1G的技术参数
  产品型号:NCP511SN25T1G输出电压典型值(V):2.500输出电流典型值(A):0.150极性:正压差典型值(V):0.170@0.15A输入电压最大值(V):6封装/温度(℃):SOT23/-40~85描述:150mA,低功耗低压差稳压器价格/1片(套):暂无
>>详细内容
NCP511SN18T1G的技术参数
  产品型号:NCP511SN18T1G输出电压典型值(V):1.800输出电流典型值(A):0.150极性:正压差典型值(V):0.170/0.15A输入电压最大值(V):6封装/温度(℃):SOT23/-40~85描述:150mA,低功耗低压差稳压器价格/1片(套):¥2.60
>>详细内容
NCP511SN18T1的技术参数
  产品型号:NCP511SN18T1输出电压典型值(V):1.800输出电流典型值(A):0.150极性:正压差典型值(V):0.160输入电压最大值(V):6封装/温度(℃):5TSOP-5/-40~85描述:小静态电流,使能控制价格/1片(套):¥2.79
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com