地址总线低功耗编码的设计与实现

最新更新时间:2011-11-25来源: 互联网关键字:地址总线  低功耗编码 手机看文章 扫描二维码
随时随地手机看文章
 对降低地址总线功耗的编码方法研究与应用正在逐渐增多。本文在简述地址总线上的功耗来源的基础上,介绍了几种典型的地址总线低功耗编码方法,通过结合实际采用的T0编码,能有效地降低智能卡芯片的功耗。
   
    CMOS电路中的功耗来源于两部分:一部分为静态功耗,由漏电和其它静态电流产生;另一部分为动态功耗,由短路电流和负载电容充放电产生。这两部分中共有三种最主要的消耗:跳变损耗(switching loss)、短路损耗(short-circuit loss)、漏电损耗(leakage loss)。短路损耗这部分功耗占总功耗的10-15%,而跳变损耗引起的功耗则占到总功耗的70%~80%。N位地址总线的跳变功耗表达式为:

    其中,N表示地址总线宽度,Cload表示平均每位地址线的负载,VDD为电源电压,α表示一个周期内平均电容充放电的次数,f是操作频率,α×f表示翻转率。
   
    智能卡芯片内部的地址总线,要将RAM、ROM等模块相连接,负载比较重,而且地址总线一般走线也比较长,这无疑都将增大地址总线的负载电容。同时,CPU对存储器访问频繁,也增大了地址总线的翻转频率。因此,地址总线上消耗的功耗比较大。 
    
   
低功耗地址编码方法 
    
    对地址总线进行低功耗设计主要是对其进行低功耗编码,方法有BI(Bus-Invert)和T0(Zero-Transition)、格雷码、WZE编码等。它对CPU送出的t时刻与t-1时刻N位地址总线进行比较,总线上变化的位数如果大于N/2,则将总线取反外送,否则就直接外送。地址接收端收到地址后是否取反根据INV信号线来确定。例如,地址总线为4位,t-1时刻为0000,t时刻为1111,那么将1111取反后送出去。
   
    BI编码公式如下所示:

    式中的b(t)是指t时刻的实际地址,B(t)是编码后的地址,H(t)是b(t)和b(t.1)相异的位数。
   
    BI解码公式如下所示:

    其中,J(t)为解码后的地址总线。
   
    T0码通过增加一条冗余连线INC来通知地址的接收端总线上的地址是否连续。如果INC为高,表明总线上的地址是连续的,此时所有的地址总线保持不变,地址接收端自动将上一地址加1,作为当前的地址;如果INC为低,表明前后两次地址并非连续,此时总线将正常地传送地址码。 

  定义b(t)为CPU计算出来的t时刻总线数据(即编码前的数据),B(t)是t时刻已放到总线上的数据(即编码后的数据),Jt是解码器解码后的数据。则T0编码的编码公式为:

    与T0编码相对应的解码公式为:

    将BI和T0两种方法结合起来,就形成了BI-T0方法。一般而言,地址都是比较连续的,而数据总线则是比较随机的。BI编码主要用于数据总线,用于地址总线的时候,一般都带有缓存。T0编码具有低延迟和小面积的特性,地址连续的时候,能够很好地降低地址翻转次数。在地址连续的时候,使用T0编码;在地址不连续的时候,使用BI方法,这就形成了BI-T0编码。
   
    格雷编码对于连续变化为主的地址总线也是比较有效的。例如,从7变为0,用二进制编码是由111变为000,要引起跳变3次,而用格雷码则是由100变为000,只变化一次。对连续数据变换,用格雷码更简单有效。
   
    WZE(Working-Zone-Encoding)编码假设每个瞬间程序只访问总地址空间的某个工作区(Working-Zone)。地址总线上传递工作区的标志和基于工作区基址的地址偏移,该偏移量采用独热编码。WZE主要用于外部地址总线,在它基础上形成了PBE编码和扩展WZE编码。
   
    T0编码的实现与应用
   
    采用T0地址总线编码的示意图如图1所示,编解码器的结构如图2所示。b为CPU内核送出来的地址,B为经过编码器输出的地址,J为解码器送往存储器的地址,INC用来表示地址是否是连续的。编码器和解码器的电路规模很小,带来的额外硬件面积和功耗也很小。


图1:地址总线编码示意图。

 
图2:零翻转编解码器电路结构图。

    我们选用一个测试激励,实际运行的波形图如图3所示。


图3:地址零翻转波形图。

    从图中可以看到当CPU送出的地址总线是连续的时候,编码器和解码器之间的地址总线可以不翻转,存储器通过INC信号得到正确的地址。在FPGA仿真的时候,可以将上述激励的VCD文件输入XPOWER来分析功耗。使用T0编码,总功耗为0.467mW,不用T0编码,总功耗为0.999mW。 
    
  本文小结 
    
    结合一款8位智能卡芯片的实际情况,对地址总线采用简单有效的T0编码,有效地降低地址总线的翻转次数,从而有助于降低整个智能卡芯片的功耗。

关键字:地址总线  低功耗编码 编辑:冰封 引用地址:地址总线低功耗编码的设计与实现

上一篇:Boost电路具有动态修正误差的滑模变结构控制
下一篇:电信系统的热插拔设计:避免拼凑、支持高效设计

推荐阅读最新更新时间:2023-10-18 16:08

单片机地址总线和数据总线的分离
  微处理器与存储器和I/O接口之间通过数据总线、地址总线和控制总线相连接。图1为常用的几种微处理器。在八位微处理器Z80 CPU中明显地可以区分出数据总线和地址总线。而微处理器INTEL 8086/8088和微控制器89C51由于封装的原因,不可能将所有的信号连接到外部,因此有一部分引脚具备两种功能,以便用有限的引脚产生更多的连接信号。这些引脚两种功能的选择可通过不同的方式来决定,一类引脚功能的选择是通过微处理器的时序来区分,另一类引脚的功能由微处理器的某个功能设置引脚来定义。在微处理器INTEL 8086/8088 以及微控制器89C51中,数据总线和地址总线就采用时序区分的方法,由引脚输出的为信号AD总线,当地址锁存信号ALE
[单片机]
单片机<font color='red'>地址总线</font>和数据总线的分离
CPU对存储器的读写(一、地址总线
  CPU对于内存的读写是通过导线和内存进行传输数据,这些导线和平常电子元件常见的铜线一样只是做的细罢了,这些导线在一起通常成为总线,为了区分这些总线传输的内容逻辑上分为3类,地址总线(传输的是内存地址)、控制总线(传输的是控制命令)、数据总线(传输的是控制的数据)比如CPU发出取回编号为3内存地址的数据8那么读取数据的过程可用图表示 比如mov ax, 即CPU通过地址线发送3这个内存地址,控制线发送mov这个命令,数据线把3号地址的内容通过数据线取出返回CPU存放到ax中 地址总线 由上图可见地址总线的数量决定着能够传输的数量比如上图CPU地址总线为10针脚既只能由10根导线与内存相连,那么传输的数据只能是000000
[单片机]
CPU对存储器的读写(一、<font color='red'>地址总线</font>)
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved