论文部分内容阅读
现在集成电路设计进入了SOC时代。SOC一般都以CPU为核心,集成外围控制电路和存储器,完成系统中信息处理的主要功能。CPU是信息产业的核心技术之一,技术难度较大。集成电路设计方法的变化、半导体行业产业链的调整,给我国开发自主知识产权的CPU带来了新的机遇。特别是嵌入式CPU,它应用的性能和成本范围十分广泛。 CK510是一个“32位高性能低功耗嵌入式CPU C-CORE”的研究项目。C-CORE的指令集兼容于Motorola公司的M-CORE微处理器。浙江大学、苏州国芯、清华大学等合作对0.35um CMOS工艺33MHz时钟频率的第一代M-CORE进行研究分析,在此基础上,改进指令与体系结构,研制新的低功耗、高性能、低成本C-CORE的智权芯核,完成M-CORE到C-CORE的技术转化。为了提高性能,C-CORE采用了指令缓存和数据缓存,而且流水线由M-CORE的四级变成七级。这些改进使C-CORE性能大大超过M-CORE。 整数运算能力是嵌入式CPU中重要的性能指标。在嵌入式处理器中,整数单元一般进行指令译码、指令发射和指令执行,是处理器中的一个重要部件,它直接影响着处理器的性能(CPI,每条指令花费的时钟周期)和功耗指标。整数单元的设计研究对高性能低功耗的处理器设计有着重要的意义。 我的研究课题就是C-CORE中整数单元的设计研究,为了实现C-CORE的总体目标,优化整数单元的逻辑设计,探索和实现提高处理器的CPI和降低整数单元的功耗的技术是这次研究课题的主要目标。 为了顺利完成从M-CORE到C-CORE的技术转化和性能改进,我仔细阅读了M-CORE的用户手册,深入分析它的指令集,然后勾画整数单元的结构,并掌握每个设计难点,写好设计规范。设计规范是设计实现的依据,它定义了模块的功能特性、物理结构、接口信息,等等。在CK510中,整数单元覆盖了CK510流水线的RF、EX和wB阶段。它主要负责指令译码、指令发射、读取操作数、跳转预测检查、建立旁路、指令执行、指令退休和异常处理。 CPU的设计是一项复杂的系统工程,为了使这项工程有效地进行,我设计了一些基础的辅助设计工具,例如verilog预处理器VPerl。这些工具对提高编码的效率和质量很有帮助。高质量的代码不仅可以减小验证的工作量和压力,也为后端布局布线的工作提供了便利。 在完成这次课题任务的基础上,我还研究分析了一些高级技术,例如防止黑客运用功耗分析进行攻击的技术和超越数据流极限的一些数据流技术。