




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于TECXP的流水CPU设计DESIGNOFPIPELINECPUBASEDONTECXP学部信息专业计算机科学与技术毕业设计(论文)完成时间自2012年12月至2013年5月摘要计算机系统是由硬件(HARDWARE)和软件SOFTWARE组成,其核心是执行程序。CPUCENTRALPROCESSINGUNIT,即中央处理器,是整个计算机系统中的核心,也是计算机系统的指令中枢。CPU负责计算机系统指令的执行,逻辑运算以及数据存储,传送和输入输出操作指令的控制。在计算机发展的过程中,CPU设计一直是计算机发展的重点。简化TECXP在保持TECXP指令系统和所用软件不变的前期下FPGA中实现THFPGA系统的运算器,控制器硬件设计进行了某些改动使全部基本指令都可以在23的执行步骤中完成,实现简单的指令设计。这样设计的CPU不仅有利于突出计算机组成的基本原理,而且使CPU系统的实现更加简单。对CPU运算器,控制器,数据总线三个部件,控制信号及CPU的工作流程的学习研究之后,为了顺应最新的计算机设计趋势和教学实验的更高需求,我们采用层次结构的设计方法,选用VHDL语言来描述、设计CPU的全部逻辑和功能,经过专用设计工具软件(XILINXISE)的编译和综合后,下载到一个FPGA芯片之中,从而得到了能够正常运行的CPU系统。本设计中,CPU的具体结构划分为一个顶层模块,三个子模块,分别为运算器、控制器、数据总线模块。关键词CPU;VHDL;FPGA;简化TECXPABSTRACTCOMPUTERSYSTEMISCOMPRISEDOFBOTHHARDWAREANDSOFTWARE,ANDTHECOREISEXECUTINGTHEPROGRAMCPU,THECENTRALPROCESSINGUNIT,ISTHECOREOFTHEENTIRECOMPUTERSYSTEM,COMPUTERINSTRUCTIONCENTERCPUISRESPONSIBLEFORINSTRUCTIONEXECUTIONINCOMPUTERSYSTEMS,LOGIC,ANDDATASTORAGE,TRANSFERANDCONTROLINPUT/OUTPUTOPERATIONINSTRUCTIONSINTHEPROCESSOFDEVELOPMENTOFCOMPUTER,CPUDESIGNSHAVEBEENTHEFOCUSOFCOMPUTERDEVELOPMENTSIMPLIFIEDTECXPKEEPTECXPINSTRUCTIONSETANDTHESOFTWAREDOESNOTCHANGEUNDERTHEPREFPGAIMPLEMENTATIONOFTHFPGASYSTEMINOPERATION,SOMECHANGESTOTHECONTROLLERHARDWAREDESIGNALLOWSALLTHEBASICCOMMANDSTOPERFORMTHESTEPSINTHE23TOCOMPLETE,DESIGNFORSIMPLEINSTRUCTIONSTHISCPUISCONDUCIVENOTONLYTOHIGHLIGHTTHEBASICPRINCIPLESOFCOMPUTERORGANIZATION,ANDMAKETHECPUTHESYSTEMSIMPLERAFTERCPUOPERATIONSDEVICE,CONTROLLER,DATABUSTHREEAPARTS,CONTROLSIGNALANDTHECPUOFWORKPROCESSOFLEARNINGRESEARCH,TOCONFORMTOTHELATESTOFCOMPUTERDESIGNTRENDANDTEACHINGEXPERIMENTALOFMOREHIGHNEEDS,WEUSEDLEVELSTRUCTUREOFDESIGNMETHOD,SELECTIONVHDLLANGUAGETODESCRIPTION,ANDDESIGNCPUOFALLLOGICANDFUNCTION,AFTERDEDICATEDDESIGNTOOLSSOFTWAREXILINXISEOFCOMPILEDANDINTEGRATED,DOWNLOADTOAFPGACHIPIN,TOGETTHECPUSYSTEMWORKSINTHISDESIGN,CPUINTOASPECIFICSTRUCTUREOFTHETOPLEVELMODULES,THREEMODULES,RESPECTIVELY,FORTHEOPERATION,THECONTROLLER,BUSMODULEKEYWORDSCPUVHDLFPGASIMPLIFIEDTECXP目录概述11方案选择111项目功能描述112方案论证22总体设计321CPU的结构设计322CPU系统的层次与模块设计43详细设计531运算器子模块532控制器子模块733数据总线子模块94仿真结果及分析95测试结果及分析11总结13参考文献14致谢15概述中央处理器(CENTRALPROCESSINGUNIT),电子计算机的主要设备之一。其功能主要是解释计算机各种指令以及处理计算机软件中的数据。在当代这个电子时代,CPU的发展更为重要,在经过对其内部构造和指令系统进行深入研究之后,本课题以TECXP教学计算机系统FPGA部分为平台,采用16位的指令系统,在对其机器字长、寻址方式、主存、运算器、控制器、总线、接口、输入输出的技术规范进行详细研究的基础上,分析CPU内部功能模式,以及各个部件包括主存与输入输出设备之间的连接情况,运用计算机组成原理、EDA技术在XILINXISE开发环境下,使用MODELSIMSE仿真调试对设计进行了功能验证,以实现指令系统的指令功能,以及运算器和控制器,CPU系统与内存和I/O系统、中断、有限状态自动机的设计。为了顺应最新的计算机设计趋势,以及提供方便的专用语言来支持硬件系统的设计和测试,本课题选用VHDL(VERYHIGHSPEEDINTEGRATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE)超高速集成电路硬件描述语言来描述流水CPU系统功能,并用现场可编程的门阵队列器件,从而更好的实现基于TECXP的流水CPU设计。基于TECXP的流水CPU设计不仅有利于突出计算机组成的基本原理,而且使CPU系统的实现更加简单。1方案选择11项目功能描述本次设计中要设计一个支持指令流水的CPU,首先就要有易于划分流水段的指令系统。MIPS指令系统就是专门为支持指令流水设计的指令系统,并在当前的RISC体系结构中得到广泛的应用。本课题选取TECXP中FPGA部分完成CPU系统的设计,选择XILINX公司的SPARTANII系列的芯片,20万门容量,其内部有2352个CLB,14个4KB的RAM块,208脚的PQFP封装形式,支持在系统编程。12方案论证此次的毕业设计的目标,是以TECXP教学计算机系统FPGA部分为平台,采用16位的指令系统,在对其机器字长、寻址方式、主存、运算器、控制器、总线、接口、输入输出的技术规范进行详细研究的基础上,分析CPU内部功能模式,以及各个部件包括主存与输入输出设备之间的连接情况,运用计算机组成原理、EDA技术在XILINXISE开发环境下,使用VHDL硬件描述语言编程,使用MODELSIMSE仿真调试对设计进行了功能验证,以实现指令系统的指令功能,以及运算器和控制器,CPU系统与内存和I/O系统、中断、有限状态自动机的设计。FPGA(现场可编程门列阵),它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它除了使用简单、速度快等特点外,还具有很多特性。如采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片;内部有丰富的触发器和IO引脚;采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容;FPGA能够反复使用等。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。除此之外,使用FPGA设计电路主要有以下几个优点(1)电路执行速度快。FPGA内部是通过对电路编程生成逻辑电路来实现功能,电路功能之间是并行执行的,运行速度大大高于通用处理器或者DSP。(2)成本低廉。随着电子技术的发展,基于电子技术的各种应用也在改变,使用FPGA可以在不修改电路板的前提下修改电路实现,以满足不同的需求。(3)可靠性高。(4)易于维护升级。FPGA芯片具有即时升级特性,使得FPGA易于维护和升级。由于EDA技术设计出来的CPU更具社会进步意义,更加灵活,大大地节省了成本,因此选择EDA技术设计。2总体设计21I/O功能的实现目前设计的实验计算机还只是一个单机系统,不具备I/O功能,因此将无法与PC机进行通信,这使得实验计算机系统在使用起来很不方便,而且也影响在其上进行实验设计。通过增加I/O能,PC机可以作为实验计算机的终端执行输入输出,再配合监控程序,形成了一个较为完善的计算机系统。22串行接口芯片要增加I/O功能,必须有串行接口芯片的支持。教学计算机主板上装有两个INTEL8251芯片,可以连接计算机终端或PC机的附加串行接口,或其他的串行接口设备。串行接口要通过一个电平转换芯片MC232与外部相连。本设计拟使用教学机上的COM1口作为I/O端口。INTEL8251芯片有两个寄存器,8位的数据寄存器和8位的控制与状态寄存器。其中,数据寄存器保存的是输入输出的数据;控制与状态寄存器保存的是当前串口芯片的工作状态。23内存接口文件的修改在流水线CPU的指令系统中,读写I/O端口的指令与读写内存的指令相同,即使用SW指令向I/O端口写数据,使用LW指令从I/O端口读数据。I/O访问指令与内存读写指令的区别在于它们访问的内存地址不同。根据实验计算机地址空间的分配,8000以上的地址空间为I/O地址。因此如果访存地址的最高位为1,则对应于I/O访问。I/O端口有两个寄存器,需要两个不同的地址分别表示。在实验计算机的地址空间中,地址8000对应于I/O接口的数据寄存器,8002对应于I/O接口的控制与状态寄存器。在教学计算机系统中,已经将8251芯片的8位数据线与数据内存的低8位数据线连接在了一起,因此INTEL8251芯片与数据内存形成了一个整体,需要在内存接口中放到一起考虑。在增加了I/O接口后,访存地址的最高两位有三种情况,分别为指令内存的访问、数据内存的访问、I/O访问。其中后两者访问的是同一个大的内存体。为了判断IF阶段和MEM阶段是否发生结构冲突,要重新判断它们是否访问同一个内存体。由于I/O端口的数据线与数据内存的数据线连接到了一起,因此在同一个时刻要保证8251和6116芯片中只有一个在工作。3详细设计这次的设计中,总共把CPU系统分成了14个模块来进行程序的编写,这其中包括了运算器单元、译码器单元、TOP模块、气泡单元、转发单元等等。这些模块之间,还插入了一些联系这些模块的辅助模块,例如运算选择器模块、取值模块、寄存器堆等。由于本次设计的工作量过于庞大,所以我们对这些模块进行了分工,每个人负责其中的45个模块的设计与程序的编写。最后综合起来,这些模块的逻辑结构图如图1所示图1CPU逻辑结构31IDEXE模块IDEXE模块如图2所示图2IDEXE模块该功能的VHDL语言描述的代码解释如下PROCESSCLKBEGINIFRST1THENREGWEO0DESTREGO“000“ACCMEMO0MEMDINOX“0000“MEMWEO0OPCODEO“0000“OPERAOX“0000“OPERBOX“0000“RSO“000“RDO“000“RDDEPO0RSDEPO0RZO“000“ELSIFRISING_EDGECLKTHENIFIDFLUSH1THENREGWEO0DESTREGO“000“ACCMEMO0MEMDINOX“0000“MEMWEO0OPCODEO“0000“OPERAOX“0000“OPERBOX“0000“RSO“000“RDO“000“RDDEPO0RSDEPO0RZO“000“ELSEREGWEOREGWEDESTREGODESTREGACCMEMOACCMEMMEMDINOMEMDINMEMWEOMEMWEOPCODEOOPCODEOPERAOOPERAOPERBOOPERBRSORSRDORDRDDEPORDDEPRSDEPORSDEPRZORZENDIFENDIFENDPROCESS32气泡模块气泡模块如图3所示图3气泡模块该功能的VHDL语言描述的代码解释如下PROCESSMEMREAD_DE,REGWE_DE,REGWE_EM,REGRS_FD,REGRT_FD,IFKEEP,IFJUMP,RSDEP,RTDEP,REGRD_DE,REGRD_EM,REGWE_MB,REGRD_MBBEGINIFIFKEEP1THENKEEPPC1KEEP_FD1FLUSH_FD0FLUSH_DE1ELSIFMEMREAD_DE1ANDRSDEP1ANDREGRD_DEREGRS_FDORRTDEP1ANDREGRD_DEREGRT_FDTHENLWORSW,BUBBLEPCKEEPPC1KEEP_FD1FLUSH_FD0FLUSH_DE1ELSIFIFJUMP1THENJORBRANCHIFREGWE_DE1ANDRSDEP1ANDREGRD_DEREGRS_FDORRTDEP1ANDREGRD_DEREGRT_FDTHEN2BUBBLESRIGHTKEEPPC1KEEP_FD1FLUSH_FD0FLUSH_DE1ELSIFREGWE_EM1ANDRSDEP1ANDREGRD_EMREGRS_FDORRTDEP1ANDREGRD_EMREGRT_FDTHENKEEPPC1KEEP_FD1FLUSH_FD0FLUSH_DE1ELSIFREGWE_MB1ANDRSDEP1ANDREGRD_MBREGRS_FDORRTDEP1ANDREGRD_MBREGRT_FDTHENKEEPPC1KEEP_FD1FLUSH_FD0FLUSH_DE1ELSEKEEPPC0KEEP_FD0FLUSH_FD1FLUSH_DE0ENDIFELSEKEEPPC0KEEP_FD0FLUSH_DE0FLUSH_FD0ENDIFENDPROCESS33转发模块转发模块如图4所示图4转发模块该功能的VHDL语言描述的代码解释如下PROCESSRS_DE,RT_DE,RD_MB,RD_EM,MEMREGWE_MB,MEMREGWE_EM,RSDEP,RTDEPBEGINIFMEMREGWE_EM1ANDRD_EMRS_DEANDRSDEP1THENFORWARDB“10“ELSIFMEMREGWE_MB1ANDRD_EM/RS_DEANDRD_MBRS_DEANDRSDEP1THENFORWARDB“01“ELSEFORWARDB“00“ENDIFIFMEMREGWE_EM1ANDRD_EMRT_DEANDRTDEP1THENFORWARDA“10“ELSIFMEMREGWE_MB1ANDRD_EM/RT_DEANDRD_MBRT_DEANDRTDEP1THENFORWARDA“01“ELSEFORWARDA“00“ENDIFENDPROCESSPROCESSRS_DE,RT_DE,RD_MB,RD_EM,MEMREGWE_MB,MEMREGWE_EM,RSDEP,RTDEP,RZ_DE,MEMWE_DEBEGINIFMEMREGWE_EM1ANDMEMWE_DE1ANDRZ_DERD_EMTHENFORMEM“10“ELSIFMEMREGWE_MB1ANDRZ_DE/RD_EMANDRD_MBRZ_DEANDMEMWE_DE1THENFORMEM“01“ELSEFORMEM“00“ENDIFENDPROCESS34写回模块写回模块如图5所示图5写回模块该功能的VHDL语言描述的代码解释如下PROCESSALUOUT,MEMDOUT,ACCMEMBEGINIFACCMEM1THENDSTVALMEMDOUTELSEDSTVALALUOUTENDIFENDPROCESS4仿真结果及分析气泡模块的测试向量波形如图6所示图6气泡模块的测试向量波形图气泡模块的仿真结果如图7所示图7气泡模块仿真图转发模块的测试向量波形如图8所示图8运算器的测试向量波形图转发模块的仿真图如图9所示图9转发模块仿真图5测试结果及分析通过设计出的CPU系统,利用教学机的监控程序(用教学机的汇编语言实现的),运行在教学机的硬件系统之上。把计算机终端或PC机仿真终端接入教学机系统,使用这样的设备执行输入/输出操作,运行教学机的有关程序,通过程序的运行结果,我们可以更加清晰的验证设计的CPU系统的正确性。例如一条减法指令的监控程序如图10所示图10减法指令的监控程序其运行结果如图11所示图11减法指令的运行结果上述图10执行的是一个减法指令的操作,可解释为寄存器R0里面的内容0032减去R1里面的内容0001,将其最后的结果保存在R0中,通过对简化TECXP单周期CPU的设计以及监控程序最后的运行结果如图11所示R0里面的内容为0031可知,本课题有关简化TECXP单周期CPU的设计圆满完成。总结在进行本毕业设计之前,首先对计算机组成原理、TECXP教学计算机进行了学习研究,对流水CPU的各个内部功能模块、工作流程及控制操作命令等关键技术进行了分析研究,在此基础上总结出了一种通用的计算机指令流程框架。同时,通过查阅相关资料,了解到流水CPU设计是将整个CPU的执行过程分成了几个阶段。与单周期的CPU相比,不仅使系统性能和资源利用率提高,还为组成指令流水线提供了基础。流水CPU的设计采用自顶向下的设计方法进行了功能模块划分,用VHDL语言实现了各描述设计,经过XILINXISE的编译后,选用单片FPGA器件设计实现一个16位字长的CPU系统,再配备上由静态存储器芯片构成的存储器和INTEL8251串口电路,连接上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业公司销售培训
- 培训机构生源留存策略
- 支气管患儿的护理
- 5S作业现场活动培训
- 梁漱溟教育思想体系
- ICU镇静镇痛的护理管理
- 夫妻不自愿离婚协议书及后续财产分割执行细则
- 成都农村集体土地使用权买卖合同范本
- 餐饮企业战略投资股份协议书
- 跨区域车辆抵押担保协议书
- 北京市2025学年高二(上)第一次普通高中学业水平合格性考试物理试题(解析版)
- 2025年四川省高考物理试卷真题(含答案)
- 炸鸡店的产品创新与口味调研
- 陕西省铜川市2025年八下英语期末监测试题含答案
- 社区工作者综合能力考试基础知识试题及答案
- 山西焦煤集团所属煤炭子公司招聘笔试题库2025
- 垫付医疗费协议书
- 2025年福建省厦门市中考物理模拟试卷
- 2024年陕西省普通高中学业水平合格性考试语文试题(原卷版+解析版)
- 数据库应用技术-第三次形考作业(第10章~第11章)-国开-参考资料
- 中建epc人防工程施工方案
评论
0/150
提交评论