全文总字数:3518字
1. 研究目的与意义(文献综述)
2018年发生了中兴禁芯事件,如果真的被禁,中兴危矣。因为大部分的核心芯片都需要从美国进口,中兴的多方面的业务都会遭受沉重打击。对于中国来说,中国在5g领域是领先的,或者说至少是处于第一梯队的地位之上。最为全球四大通讯设备运营商之一的中兴,如果在5g的关键节点上被惩罚,很可能就完全错过了整个5g红利期,中国将会在5g领域丧失很多的优势。同样的事件是2019年美国禁止向华为出售芯片,同样给国内造成了一定程度的恐慌,这些事件给我们敲响了警钟。
在计算机应用愈来愈普及的今天,微处理器已渗透到人们的生活中,并深刻影响着通信、金融、国防等关键领域[1]。近年来,我国集成电路设计和工艺水平都有了显著的提高,以微电子学为核心的信息产业在我国得到了前所未有的发展,同时也推动了航天、国防、工业控制等各个行业的进步[2]。目前,国外微处理器设计技术领先于我国,国内很多产品的内部设计单元处理器都是国外的芯片,这种情况会深刻地影响着我国的国防金融等关键领域的信息安全。作为一个在世界科技领域具有重要地位的大国,我国须在微处理器设计领域体现出相应的地位。因此,微处理器的设计对我们国家有着非常重大的意义。这反映出我国自主培养芯片设计人才,发展自主芯片产业的紧迫性和重要性,这样才能在全世界范围内的科技发展中处于领先地位,让我们的发展不再受制于人。因此,研制出我国自主知识产权的处理器,对我国将有巨大的现实意义,这也是我们每个ic设计工程师的愿望。
现场可编程门阵列(field programmable gate array fpga)是可编程逻辑器件的一种,可以通过软件对它进行配置和编程,实现某种特定功能,修改升级时,只需要修改软件就可以,使硬件设计工作成为软件开发工作,fpga可以反复擦写,使得修改升级更加方便[3]。基于fpga技术进行cpu实验系统的开发可以通过软件编程的方式进行cpu内部结构的设计,这相比于传统的实验教学机更加灵活,也避免了传统实验方式难以进行动手设计的缺点。加州大学伯克利分校的“计算机结构(machine structures) ”课程和“计算机系统结构 和工程(computer architecture and engineering) ”课程的实验都包含cpu的设计[4]。麻省理工学院的“计算结构(computation structures)"课程对于处理器到i / o设备等硬件通过软件和硬件进行模拟设计和实现[5]。学生通过使用硬件描 述语言在fpga芯片上设计cpu提高了硬件设计水平,并加深了对cpu原理的理解[6-7]。针对这种情况,国内一些重点大学如清华大学,哈尔滨工业大学,复旦大学等采用 fpga平台进行cpu设计实验[8-9]因此选择基于fpga建立一个开放式的cpu实验平台,利用该平台和相关开发工具,研究多流水线cpu芯片。
2. 研究的基本内容与方案
基本内容:
1.构建了CPU模型并设计指令
研宄了 CPU的工作原理、内部结构以及指令集,选择基于MIPS架构设计CPU模 型。通过分析指令的执行步骤,CPU的数据通路,设计一个支持20条指令的单周期MIPS指令集CPU,并进一步将设计的CPU升级为五级流水线MIPS指令集CPU。
2.实现了调试控制模块和测试性能
在FPGA上分别实现了单周期CPU, 多周期CPU和流水线CPU,并通过一些汇编测试程序,测试所开发的流水线CPU的功能与流水线性能。
技术方案:
大体上分为三个步骤:
1) 设计单周期MIPS指令集CPU
CPU 结 构 由 其 所 能 够 执 行 的 指 令 决 定, 本 设 计 从 MIPS32 集中选择 20 条基本指令,按照指令功能划分,分 别是 ALU 立即数运算指令:ADDI、ANDI、ORI、XORI、 LUI,ALU 寄存器指令:ADD、SU、AND、OR、XOR, 移位指令:SLL、SRL、SRA,访存指令:LW、SW,分支指令: BEQ、BNE,跳转指令:J、JAL、JR[10]。
文献[11]中提出了五级流水线的基本框架,把指令的执行过程划分为取指令周期IF、指令译码周期ID、指令执行周期EXE、存储器访问周期MEM、结果写回周期WB五个逻辑块,另外有寄存器在每个逻辑块与下一个逻辑块之间,用来暂存数据。如下图所示
执行一条指令所需的硬件包括:与取值有关的电路、寄存器计算类型指令执行时所需电路、立即数计算类型指令执行时所需电路、访问存储器类型指令执行时所需电路、条件转移类型指令执行时所需电路、跳转和子程序调用及返回类型指令执行时所需电路[12]。根据电路的功能加入到框架中,并完成电路连接,此阶段需要完成指令的正确执行即可。
2) 升级为五级流水线MIPS指令集CPU
流水线设计是指将组合逻辑延时路径系统地分割 ,并在各个部分 ( 分级 )之间插人寄存器暂存中间数 据的方法 ,流水线缩短 了在一个时钟周期 内信号通过 的组合逻辑电路延时路径长度,从而提高时钟频率[13]。在CPU设计中,为了提高处理器的性能和效率,流水线成为不可缺少的重要技术。理论上,流水段越多处理能力越强,但是由于指令之间的数据相关性,流水线会出现断流现象[14]。同时流水线还存在结构冒险和控制冒险,可以在单周期数据通路的基础上逐步增加流水线寄存器、旁路路径、数据冒险检测、分支预测和异常时指令的清除,以解决以上的问题[15]。
3) 在FPGA平台上实现并测试功能、性能
将设计的流水线CPU在FPGA平台上实现出来。并通过一些汇编测试程序,测试所开发的流水线CPU的功能与流水线性能。
3. 研究计划与安排
(1) 2020/02/28:完成基础知识学习,并撰写开题报告。
(2) 2020/03/15:提出设计方案,并完成方案验证。
(3) 2020/04/15:提出技术路线,并完成技术实现。
4. 参考文献(12篇以上)
[1]. 孔哲. 基于fpga的32位软核处理器的设计与实现[d].河北工业大学,2014.
[2]. 李明刚. 64位mips微处理器的模块设计和fpga验证[d].合肥工业大学,2005.
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。