通过缩短部分指令流水线级数,减少IO口变化及寄存器赋值,以达到降低动态功率的目的,首先对指令进行分类如下。

指令分类:

(1)    IF ID EX MEM WB

LOAD

(2)    IF ID EX MEM NOP

STORE JMPR BZ BNZ BN BNN BC BNC

(3)    IF ID EX NOP WB

LDIH ADD ADDI ADDC SUB SUBI SUBC AND OR XOR SLL SRL SLA SRA

(4)    IF ID NOP NOP NOP

CMP

(5)    IF NOP NOP NOP NOP

JUMP(直接跳转)

(6)    NOP NOP NOP NOP NOP

NOP

可看出,(3)类指令可将wb前移,略去流水线mem,因其对它无贡献。但是前移的前提条件是前面未出现(1)类指令,或(1)类指令被(2)(4)(5)(6)类指令刷除其作用。

优化模拟效果图如下:

模型转换为实际时,时序问题应理得非常清楚,判断状态值与EX同步,则需在ID对状态赋值,方可在EX时对其调用。

基本步骤如下:

(a)在ID内对状态进行初始化为lower(可降低功耗)状态,判断下一周期内指令即ex_ir是否为(1)类指令,若是,状态变为normal。若为(2)(4)(5)(6)类指令,状态变为power,否则状态不变;

(b)在ex_ir内判断当前指令是否为(3)类且状态为lower(与ID时获得此次状态),若是则传入mem内指令为NOP;

(c)在mem_ir内判断ex_ir是否为(3)类指令且状态为lower,若是则WB传入ex_ir,且将ALUo赋值给reg_C1,否则传入mem_ir。

仿真检验功耗否能够降低(此处仿真执行语句绝大部分为能够优化的语句以便观察实验现象)

优化前:

优化后:

整体功耗降低为原来的74%

参考:《Low-Power Pipelined MIPS Processor Design》

mips的旁路_低功耗设计二之Bypassing(旁路)相关推荐

  1. 低功耗设计二之Bypassing(旁路)

    通过缩短部分指令流水线级数,减少IO口变化及寄存器赋值,以达到降低动态功率的目的,首先对指令进行分类如下. 指令分类: (1)   IF ID EX MEM WB LOAD (2)   IF ID E ...

  2. 数字IC(SoC)低功耗设计方法总结

    目录 前言 一.为什么需要低功耗设计 二.功耗的类型 1.动态功耗 2.静态功耗 3.CMOS工艺的发展与功耗的变化 4.SoC中的主要动态功耗 三.低功耗设计方法 四.低功耗技术 1.静态低功耗技术 ...

  3. (数字IC)低功耗设计入门(二)——功耗的分析+Comments

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  4. (数字IC)低功耗设计入门(二)——功耗的分析

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  5. 数字SOC设计之低功耗设计入门(二)——功耗的分析

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  6. IC设计基础系列之低功耗篇2:(数字IC)低功耗设计入门(二)——功耗的分析

    来自:http://www.cnblogs.com/IClearner/tag/%E4%BD%8E%E5%8A%9F%E8%80%97%E8%AE%BE%E8%AE%A1/ 前面学习了进行低功耗的目的 ...

  7. 低功耗设计——基于UPF进行设计

    UPF, 统一电源格式UPF(Unified Power Format)是新思(Synopsys)公司通用的电源格式,是一组标准的类Tcl 语言的集合,用来描述芯片设计中的低功耗意图(Low-Powe ...

  8. 用ram实现寄存器堆_Verilog如何实现低功耗设计?

    做芯片第一应该关注的是芯片的PPA(Performance, Power, Area),本篇浅显的部分讨论,第二个 P,Power功耗,在RTL设计中如何做到低功耗设计,对于移动设备续航的十分重要,不 ...

  9. 单片机低功耗设计杂谈

    文章转载,写的有些混乱,但是值得一读. 现在,有许多单片机应用领域,都是用电池供电,节能成为设计工程师普遍关心的问题.希 望大家就这方面展开讨论.          以下提供一些讨论的方向:      ...

  10. 低功耗设计——功耗估算

    根据在功耗分析的过程中是否有输入向量的提供,功耗估算方法可以分为仿真的方法(Simulative)和非仿真的方法(Non-simulative): 仿真的方法是根据用户所提供的大量输入向量来对电路进行 ...

最新文章

  1. Linux 删除和替换文件中某些行的方法
  2. tcp/udp socket编程异同
  3. Android 项目框架
  4. 聚类算法学习指南(二)
  5. iptables 开放远程_远程FX正式上市 指导价11.99万-12.99万元_搜狐汽车
  6. iOS 自定义view里实现控制器的跳转
  7. 用css3制作一个Music Player Menu
  8. hdu6107 倍增法st表
  9. SAP License:我们到底需要什么能力?
  10. 软件工程结对作业01
  11. [转]nonlocal和global
  12. merry chrismas
  13. centos下的nginx安装工作记录20130701
  14. 【BZOJ1500】[NOI2005]维修数列
  15. 你熟悉的新华书店,已经变样了 | 数字化案例
  16. 3DMax教程: 3DMax快捷键与界面操作!
  17. 2018高中计算机会考知识点,2018高中生物会考知识点 高中文科生生物会考知识点...
  18. 还在纠结毕业后是去大公司还是小公司工作?我来告诉你至少应该去初创公司工作一次的5大理由
  19. 【meshlab使用指南】06、Select Faces/Vertices inside polyline area功能不能选中点/面
  20. S0391-060使用CentOS6.x将82583v网卡down掉后网卡灯仍会亮起

热门文章

  1. 关于Winform下,获取Treeview中CheckBox选中项的“.NET研究”技巧
  2. u-boot环境的擦除,默认设置,批写入
  3. 你的网站上显示Alexa世界排名的代码(表)
  4. gridview求和
  5. Rust 程序语言资料
  6. java类加载器和父类委托机制
  7. apache camel file(二)
  8. VB6 GDI+ 入门教程[7] Graphics 其他内容
  9. [轉]PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决...
  10. Refactoring Page Head