基于EDA技术流水线CPU创新设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于EDA技术流水线CPU创新设计

基于EDA技术流水线CPU创新设计   摘 要:基于EDA技术设计的一种五级流水线CPU,它将指令分解为取指令、指令译码、指令执行、访问存储器、数据写回五阶段流水处理。首先进行结构设计,然后解决流水线CPU的各项相关问题,再进行各模块设计。最后基于CycloneⅢ系列FPGA硬件平台和QuartusⅡ工具开发平台,利用EP3C40Q240C8型FPGA芯片进行设计与调试。   关键词:EDA;流水线;CPU   引言   CPU是由基本的功能模块和与之相连的数据通路组成,对于CPU的设计,首先必须了解其结构的细节和功能模块的内容。然后对各模块电路进行编辑设计、逻辑综合、时序仿真和硬件设计,最后组装完成整个硬件系统。在这个过程中还包括指令系统的设计和软件程序调试等步骤。在流水线CPU设计过程中重点解决结构冲突、数据冲突、控制冲突三大问题。   1 流水线CPU工作原理   1.1 流水线原理   对于一条具体的指令执行过程,通常可以分成五个部分:取指令,指令译码,取操作数,运算,写结果。其中前面三个步骤一般由指令控制器完成,后面两步则由运算器完成。指令控制器完成了对第一条指令的处理后,不等待运算器完成后续的处理直接开始对第二条指令的处理。   1.2 CPU的结构与功能   CPU是负责执行指令的,图1为一个简单指令的CPU结构图。   对于冯?诺依曼结构的计算机来说,一旦程序进入存储器后,就可由计算机自动完成取指令和执行指令的任务,控制器就是专门用于完成此项工作的,它负责协调并控制计算机各个部件执行程序的指令序列,其基本功能是取指令,分析指令和执行指令。   1.3 流水线CPU工作原理   流水线是一个可以提高CPU运行效率的技术,它的核心思想是把多?l指令的不同执行阶段重叠,让CPU同时处理多条指令。在流水线CPU中,每条指令的执行过程被分成多个执行阶段。只有当某指令的执行阶段都完成后,该指令才算执行完毕。在每一个指令执行阶段中,当一条指令在该阶段中完成执行后,下一条指令将立即进入到该执行阶段来执行。当流水线处于饱和状态时,将同时有流水线级数的指令在同时运行。如图2所示。   1.4 指令集   指令集是指CPU指令系统所能识别执行的全部指令的集合。处理器要完成计算任务,需要具备运算、控制、传送等指令。运算指令是由运算器单元(ALU)实现,包括算术运算指令、逻辑指令和位移指令。控制指令是由除了做运算外的其他操作指令,如循环、跳转、CPU控制等指令构成,由CPU控制器单元实现。数据传送指令是完成数据传送的任务,如寄存器、存储器交换数据及自身交换数据的指令等。   2 流水线CPU创新设计   2.1 流水线工作的五个阶段   取指令阶段(IF),从指令存储器中获取指令存入IR寄存器,并更新PC寄存器的值。该阶段完成计算下一条指令的地址(+1)以及取指操作,加法器完成加1操作,Lpm_Instrom完成取指操作。指令译码阶段(ID),由IR寄存器中的指令的op和func字段译码出各个阶段需要的控制信号,同时从寄存器组RegSet中获取EXE阶段所需要的操作数并将指令的立即数进行扩展。指令执行阶段(EXE),根据操作数计算出结果,算数运算由ALU完成,移位运算由移位器完成,通过控制信号Resultop选择执行结果。访问存储器阶段(MEM),把EXE阶段计算的结果作为数据存储器的地址输入端读取数据,若数据存储器写使能信号DMwen为高电平,那么需要把rt寄存器的数据写入数据存储器的对应存储单元。数据写回阶段(WB),选择写回寄存器组RegSet的数据,根据前面的流水段传递的控制信号REwen和目的寄存器RegDest将数据写回。   在每一个阶段完成一条指令在该阶段的执行任务之后,将进下一条指令的执行。这样,每两个阶段之间都需要有一组寄存器来保存刚刚执行完成的指令的执行结果。该执行结果将交给下一个执行阶段,进行下一个阶段的处理任务。   2.2 流水线CPU顶层设计   CPU主要由以ALU为核心的运算器模块、以程序计数器PC和地址寄存器AR为核心的数据通路模块、以微指令控制器为核心的控制器模块、以程序控制器和数据RAM为核心的存储模块四个模块构成。   算数逻辑单元模块主要有ALU运算器,数据寄存器DR等部件,ALU运算器是CPU的核心,它可以执行算数运算,也可以执行逻辑运算。数据缓冲寄存器DR为ALU提供一个或两个参与运算的操作数,同时作为CPU、外部设备、主存之间的信息中转站,对数据起暂存作用。数据通路模块主要由程序计数器PC,地址寄存器AR,指令寄存器IR组成。程序计数器PC的功能是给出在主存中的下一条指令的地址。PC值的变化分为两种情况,一是指令顺序执行的情况,二是跳转指令的情

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档