基于FPGA的双核模型机CPU的设计与实现
发布时间:2020-07-07 11:17
【摘要】:随着个人电脑走入每一户家庭,人们对CPU的性能要求越来越高,从简单程序处理,到办公辅助系统,再到休闲娱乐,特别是大型游戏与多媒体对CPU的性能要求越来越高。过去的经验说明要达到提升40%左右性能的复杂超标量CPU,它的晶体管数量就得翻一翻。由此得出的结论是:单核CPU不再有前途了。当单核CPU基本只有40%的性能提升时,它却增加了结构的复杂性,同时更带来了头痛的漏电问题。因此,使摩尔定律失效的有可能是技术,也有可能是经济效益。而教学方面,目前的模型机CPU还始终停留在传统CPU结构的阶段,无法满足人们对新知识的渴望。无论怎样,单核处理器技术的发展遇到了瓶颈,而多核技术则可以提升处理器的整体性能,满足人们对于新技术的求知欲。 该双核模型机CPU的设计借鉴了Intel双核CPU的设计结构。首先,设计一个能够实现基本指令系统的单核CPU。之后,将两片具有相同功能的CPU合并,来实现内部数据的交互。 系统采用模块化的设计方案,由算术逻辑单元模块、控制单元模块、指令寄存器模块、地址计算单元模块、比较器模块、地址寄存器模块、通用寄存器组模块和数据选择器模块组成。该模型机CPU可以进行单一CPU内部各模块的功能演示,也可以进行双核模型机CPU的整体功能演示,另外,还可以外接存储器单元,进行简单的程序设计模拟仿真。系统提供不同复杂程度的数据通路和运算功能,使学习者不仅可以掌握指令的读取与执行流程,了解CPU内部各寄存器、寄存器与存储单元、存储单元与存储单元之间是如何实现数据传送的,算术和逻辑运算是如何完成的,而且还可以对比较流行的双核技术进行一定程度的了解。 本文采用现场可编程门阵列CycloneⅡ系列FPGA EP2C35F672C6,使用VHDL硬件描述语言对CPU进行设计,并用QuartusⅡ7.1集成开发环境对实验结果进行模拟仿真。通过对仿真波形的分析,证明该双核模型机CPU实现了两个内核对输入数据的并行处理。
【学位授予单位】:东北大学
【学位级别】:硕士
【学位授予年份】:2008
【分类号】:TP332
【图文】:
整个双核模型机CPU由两个几乎具有同样功能的单核CPU协同工作产生。以下,以其中一个CPU为例,介绍其内部各元件结构及工作流程。单一CPU内部结构如图3.2所示。一17一
5.1.1ALU模块测试对于ALU模块的测试,首先,各与其一个激励信号,输入的2个操作数分别是6和2。控制指令每隔100ns变化一次,依次从“00”变化到“11”。其仿真波形如图5.1所示。塑谬3鲤寻的‘.’}目公.J困公、1.1人国公、i心^目公.‘。妞t人240.0n‘月到气一户.~.曰-k[0][O〕[0图5.1算术逻辑单元仿真波形图Fig.5.IT七 eslmulationwaveformofALU由上图可以看出,当ALU控制端为“00”时,输出无变化;当ALU控制端为“01”时,执行加操作,输出8;当ALU控制端为“10”时,执行减操作,输出4;当ALU控制端为“11”时,执行左移操作,输出24。ALU模块测试结果正确。5.1.2控制单元模块测试如前所述,控制单元是整个CPU最关键、最复杂的部分,因此其仿真波形由于指令、周期等因素都会大不相同。所以在这里暂时不对其进行测试
5.1.3指令寄存器模块测试第5章系统仿真及功能测试指令寄存器模块仿真波形如图5.2所示, memout初始值设为1,每20ns其数值自增l。时钟周期为Zons。嘿嘿然翼 翼翅麟颧粼翻瀚翻麟瀚麟瞧黝默巍蒸麟麟}}}熬越川“~“狱川”川~’川~’11谓谓卜一州一 一 lll;;;lll阳咧 咧 ...‘ 111娜娜,00000的 lll图5.2指令寄存器仿真波形图 Fig.5.2ThesimulationwaveformofIR由上图可以看出,每个时钟上升沿来到时,指令寄存器将输入数据输出给下一个单元。指令寄存器测试结果正确。5.1.4地址计算单元模块测试地址计算单元模块初始输入设为6和2。控制信号从0开始,每20ns递增1。比较器输出设为“10”。其仿真波形如图5.3所示。国ad七公u--。圈addr公u-s二1回“dr公u--‘心口ad‘公n‘。吐国。的,-o、t[0][OJ[0][6[0][01加]CZ[0](oltol亡1‘10卜卜沁‘一「一为一幸一,--一初.q二6。?n:8。·。。 。 1111.2nsss切 切 切lll
本文编号:2745053
【学位授予单位】:东北大学
【学位级别】:硕士
【学位授予年份】:2008
【分类号】:TP332
【图文】:
整个双核模型机CPU由两个几乎具有同样功能的单核CPU协同工作产生。以下,以其中一个CPU为例,介绍其内部各元件结构及工作流程。单一CPU内部结构如图3.2所示。一17一
5.1.1ALU模块测试对于ALU模块的测试,首先,各与其一个激励信号,输入的2个操作数分别是6和2。控制指令每隔100ns变化一次,依次从“00”变化到“11”。其仿真波形如图5.1所示。塑谬3鲤寻的‘.’}目公.J困公、1.1人国公、i心^目公.‘。妞t人240.0n‘月到气一户.~.曰-k[0][O〕[0图5.1算术逻辑单元仿真波形图Fig.5.IT七 eslmulationwaveformofALU由上图可以看出,当ALU控制端为“00”时,输出无变化;当ALU控制端为“01”时,执行加操作,输出8;当ALU控制端为“10”时,执行减操作,输出4;当ALU控制端为“11”时,执行左移操作,输出24。ALU模块测试结果正确。5.1.2控制单元模块测试如前所述,控制单元是整个CPU最关键、最复杂的部分,因此其仿真波形由于指令、周期等因素都会大不相同。所以在这里暂时不对其进行测试
5.1.3指令寄存器模块测试第5章系统仿真及功能测试指令寄存器模块仿真波形如图5.2所示, memout初始值设为1,每20ns其数值自增l。时钟周期为Zons。嘿嘿然翼 翼翅麟颧粼翻瀚翻麟瀚麟瞧黝默巍蒸麟麟}}}熬越川“~“狱川”川~’川~’11谓谓卜一州一 一 lll;;;lll阳咧 咧 ...‘ 111娜娜,00000的 lll图5.2指令寄存器仿真波形图 Fig.5.2ThesimulationwaveformofIR由上图可以看出,每个时钟上升沿来到时,指令寄存器将输入数据输出给下一个单元。指令寄存器测试结果正确。5.1.4地址计算单元模块测试地址计算单元模块初始输入设为6和2。控制信号从0开始,每20ns递增1。比较器输出设为“10”。其仿真波形如图5.3所示。国ad七公u--。圈addr公u-s二1回“dr公u--‘心口ad‘公n‘。吐国。的,-o、t[0][OJ[0][6[0][01加]CZ[0](oltol亡1‘10卜卜沁‘一「一为一幸一,--一初.q二6。?n:8。·。。 。 1111.2nsss切 切 切lll
【参考文献】
相关期刊论文 前7条
1 钟靓;;简单并口模型机的原理[J];电气开关;2007年04期
2 濮元恺;;多核CPU展望[J];大众硬件;2006年09期
3 吴庆,汪小燕,王芙蓉,余毅敏;HLR中的cache机制及其SLRU替换算法[J];计算机工程与应用;2002年21期
4 张浩;兰峰;;多核处理器基本原理及其在汽车领域中应用的展望[J];汽车科技;2007年03期
5 陆剑侠,王效平,苏舟;微电子技术的发展趋势与展望[J];微处理机;1999年01期
6 欧阳玉梅;“存储器与CPU的连接”教学设计[J];伊犁教育学院学报;2003年01期
7 尹捷;;CPU设计与研发现状[J];科技资讯;2007年12期
相关硕士学位论文 前2条
1 赵忠民;64位高性能嵌入式CPU中乘法器单元的设计与实现[D];同济大学;2007年
2 金钊;64位高性能嵌入式CPU中系统协处理器的设计与实现[D];同济大学;2007年
本文编号:2745053
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2745053.html