• 注册
  • 查看作者
  • 数字IC前端设计之高速非乱序处理器

    数字IC前端设计之高速非乱序处理器

    MCU等小处理器中,功耗和面积是主要需要考虑的,性能反而不太重要。工业控制器一般也就工作在100~300MHz,没有必要为了性能把流水级做多做快。桌面PC等高性能处理器肯定会使用多发射乱序处理器。但在手机中,既需要有高性能,又要低功耗。这时就需要高速的非乱序处理器

    传统5级流水线中大部分模块可工作在较高的频率下。但访存级设计需要改进,还需要增加高速乘除、浮点等功能模块。整个结构大约是下图所示的样子:

     

    注意到,reg取数之后,主流水线分成了定点逻辑、定点乘除、访存三条小流水线,另外还有一条浮点流水线。这三条流水线的长度不同,其中最短的是定点逻辑流水线。整个处理器的写回提交逻辑应基于最短的流水线,如果指令进入了其他的流水线,则写回级会等待它执行完并提交。

    几条流水线的逻辑不难设计,但因此增加的bypass路径很容易出错。下图展示了部分bypass路径。

    特别值得注意的是写回后到访存流水线的bypass。由于Store的数据必须是已提交的正式数据,所以不能从写回级之前bypass数据到Store单元中。乘除流水线中间的bypass是用于乘加指令,如果不需要支持这种指令,就不需要这两根bypass路径了。

     

    本篇文章来源于微信公众号: 数字芯片设计笔记

  • 0
  • 0
  • 0
  • 474
  • 请登录之后再进行评论

    登录
  • 单栏布局 侧栏位置: