网站大量收购独家精品文档,联系QQ:2885784924

多级流水CPU设计-单片机课程设计.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多级流水CPU设计-单片机课程设计.doc

(指导教师用表) 学 生 姓 名 指 导 教 师 论文(设计)题目 多级流水CPU设计 主要研究 (设计)内容 灵活运用所学到的基础知识和主要专业知识,设计、制作、调试最终完成多级流水CPU的设计 研究方法 根据所学基础知识和主要专业知识,设计多级流水CPU,使用VHDL语言。开发平台是FPGA-CPU设计平台,主要开发工具:Quartus7.0,DebugController 主要任务 及目标 设计出 完成从系统级设计到代码实现以及硬件上调试 完成学年论文 主要参 考文献 [1] (美)亨尼西,(美)帕特森计算机体系结构:量化研究方法(第3版)代码实现阶段系统调试运行阶段的整理定稿摘要 本学期计算机体系课程设计题目是多级流水CPU设计。以计算机硬件为主,兼顾计算机软件和计算机应用技术。在教师指导下,灵活运用所学到的基础知识和主要专业知识,自己设计、制作、调试,完成16位五级流水CPU的实际。 本组设计并最终在FPGA实验平台上实现一个CPU芯片,具有五级流水。采用流水处理技术解决了流水线技术中的结构相关、数据相关和控制相关。设计了指令系统、指令格式、寻址方式、寄存器结构、数据表示方式、存储器系统,运算器、控制器和流水线结构等。用VHDL硬件语言进行逻辑设计,采用先进的工具软件进行模拟和测试,测试通过之后下载到FPGA芯片中,并在测试平台上通过规定测试程序的测试。 关键字:流水线;FPGA;五级流水 目 录 1. 前言 1 1.1 实验目的 1 1.2 实验环境 1 2. 流水线工作原理 3 3. 系统设计 5 3.1 概念设计 5 3.2 指令系统 5 3.3 时序设计 6 4. 结构设计 9 4.1 总体逻辑结构设计 9 4.2 分模块结构设计 11 5. 代码实现及测试 13 5.1 代码实现 13 5.2 程序测试 19 5.3 测试结果 21 6. 实验总结 25 前言 实验目的 本实验需要自己设计并最终用FPGA实现一个CPU芯片。利用已有的计算机组成原理知识,以及对计算机系统结构的初步学习,设计一个包括指令系统、寻址方式、寄存器组、存储系统、流水线结构等的CPU。设计的CPU必须具有复位功能,以便使用TEC-CA实验台上的“CPU复位”按钮对CPU复位,使CPU处于调试前的初始状态。CPU复位脉冲按负脉冲设计。 熟练掌握VHDL硬件描述语言,对CPU的各个功能模块进行代码编写,并学会将各个功能部分组织连接成一个完整CPU体系结构。 学会利用先进的硬件设计工具软件Quartus II对程序进行仿真和调试。并熟练掌握FPGA-CPU在“TEC-CA开放式CPU实验教学系统”上的调试方法。 调试程序DebugController 使用该软件对外部存储器进行读写操作,并能监控FPGA-CPU的状态和通过设置断点调试FPGA-CPU正在执行的程序。 流水线工作原理 流水线处理技术是在重叠、先行控制的基础上发展起来的,包括指令控制功能和功能处理过程都可采用流水处理。 在先行控制方式中将一条指令的执行分为“分析”和“执行”两个子过程。这两个子过程分别使用指令分析器和运算器两个独立的部件来完成。所以可以利用多条指令执行时,在时间上相互错开,轮流重叠地利用这两个独立部件,来加快程序的执行速度。若实现“分析”与“执行”中的每一个子过程都需要Δt1=T/2时间,则4条指令流水执行只需5Δt1,比起4条指令顺序执行所需的8Δt1时间少了近一半。 如果将指令的“分析”子过程再进一步划分成“指令译码”和“取操作数”两个子过程,分别由“译码”和“取数”两个独立的子部件执行,并使所有子部件的经过时间都改进成Δt2=T/4,指令执行顺序如图2-1所示。 图表 21指令执行顺序图 图2-2是指令流水执行的时空图。图中横坐标为时间,纵坐标为空间(即各个子过程),标有数字的方格说明占用该空间与时间的任务号,在本例中表示机器处理的第1、第2、第3、第4、第5条指令,最多可以有4条指令在不同的部件中同时进行处理。这样计算机每隔Δt2就能输出一条指令的执行结果。 图表 22指令流水执行时空图 按此思路,流水线的定义可以具体描述为:将一个复杂的处理过程分成m个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,m个独立部件同时进行不同的操作,完成对不同子过程的处理,这种工作方式称为流水线。 在计算机流水线的实际应用过程中,为平滑缓冲各子部件之间的速度差异,在子部件之间往往都要设置高速接口缓冲器或一定容量的高数缓冲器来保存中间结果。也就是通常所说的n级流水处理中的级间寄存器。 系统设计 概念设计 指令流水的基本思路是把每条指令划分为几个执行步骤,这些

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档