分享
MIPS指令集的流水线CPU模型机设计_肖世伟.pdf
下载文档

ID:304695

大小:498.73KB

页数:4页

格式:PDF

时间:2023-03-20

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
MIPS 指令 流水线 CPU 模型 设计 肖世伟
敬请登录网站在线投稿()年第期 指令集的流水线 模型机设计肖世伟,李承凯,杨美娜,冯祥虎,孙国萃,杜军(哈尔滨师范大学 计算机科学与信息工程学院,哈尔滨 )摘要:对 指令集的流水线 进行了研究,提出了一种基于 的流水线处理器模型机设计方案。方案设计的数据通路可以逐条添加指令,更贴近于教学实践,采用五级流水线架构,共实现 条指令,包含乘法及除法指令,对于每个流水段中的教学应用方法进行了分析。针对流水线数据与指令的相关问题,设计了专用的异常处理模块。模型机在 平台上进行了测试,测试结果表明,该方案符合设计要求。关键词:流水线;模型机;指令集;除法器;处理器中图分类号:文献标识码:,(,):,:;引言 是信息产业的核心器件,代表一个国家信息产业发展水平的高低。虽然我国在 设计方面已经有了一定 的 研 究,但 高 校 开 设 设 计 课 程 的 较 少,开 发 的人才较少,且教学所用的模型机也比较有限。柳成在研究中提出了一种多周期的 设计,虽在其中提到了流水线结构,但并非真正的流水线 ,无法应用于流水线教学中;刘秋菊等人在研究中提出了一种流水线 设计,但并未说明乘法与除法指令,无法应用于复杂指令的教学及学习;徐爱萍等人在研究中提出了一种 设计方式,但实现的并非流水线结构,且使用的硬件描述语言是 。吴继明等人在研究中提出了 在课程中的应用,但是使用的是纯符号图语言,并不能让学生掌握硬件描述语言设计 的流程。本文设计的流水线 使用 语言开发,使用五级流水线架构,实现了 条指令,设计了除法指令专用除法器。采用的结构模型可以在基础的简单指令基础上实现新的指令,有利于学生在设计新的指令同时复习之前的指令设计流程,有利于整个教学过程串联起来,提高教学效果。总体设计 指令集模型机设计采用 指令集,实现了 指令集中的 条指令,指令格式分为寄存器类型(共 条)、立即数类型(共 条)、跳转类型(共条)、部分指令如表所列。系统结构模型机流水线的部分为(取指)、(译码)、(执行)、(访存)、(回写),在执行部分设计了专用的除法器,数据通路图如图所示。阶段先由 产生指令地址,到指令存储器中将指令取出,由 与 中间的寄存器模块暂存后,将地址送入 阶段。阶段对指令进行译码,译码后送入控制单元以及寄存器堆等,控制单元根据输入的指令选择相应的控制码对整个 进行控制。执行阶段将进行运算的操 年第期 表模型机部分指令 (,)(,)()()():图 数据通路图作数输入到 ,在 中进行运算,中的除法运算由专用 的 除 法 器 完 成,大 大 提 高 了 阶 段 的 效 率。阶段将得到的运算结果存进数据存储器中。阶段将运算结果写回到寄存器堆,出现异常时由异常处理模块 来处理。在设计过程中,使用该结构可以对各个模块逐步完善,但整体结构大致不变。教师可以将流水线设计流程先简化再细化,先删减实现起来复杂的指令,再将指令逐一加到 的框架中,有利于系统教学。学生在学习过程中可以更好地掌握每条指令的含义以及其实现流程。具体实现 阶段取指阶段主要工作是将指令从指令存储器中取出,并敬请登录网站在线投稿()年第期 将取出的指令发送到译码阶段。该部分涉及到指令的地址,在不处理异常时,取指所用到的指令地址应为正常的,所以设计 模块完成地址的生成。在 中设计有选择器,当指令为跳转指令或者异常时,会选择正确的指令地址。该部分除 以外,还设计了 来存储指令,以存储器的方式实现。教学应用时,可以引导学生先完成基础的取指令部分,即简单的 及 ,而不考虑异常处理部分,简化初始设计流程,激发学生的学习积极性。在教学过程中,涉及到流水线的暂停或者跳转指令等情况时再对取指阶段进行更改。阶段译码阶段主要工作是将上一阶段取出的指令根据指令的格式及其功能产生相应的控制信号和寄存器编号等,例如指令为指令时,会对 进行运算后得到新的地址,并将该地址以及判断信号送入 阶段,当判断信号使能时输出的指令即为指令要跳转的指令地址。其他指令与该过程相似,会产生相应的判断信号。由 模块与 模块构成,模块负责整个 的译码,其中包含异常信号的相关设计,以便后续异常的处理,模块中实现了标准 指令集的 个寄存器。教学应用时,可以先完成基础译码器模块以及寄存器堆模块,首先实现各个指令类型中相对简单的指令(例如 、指令等),对于未完成的指令、译码部分以及相应的控制信号,后续在课程的各个阶段再逐步完善。阶段执行阶段主要工作是完成逻辑算术运算,因此 阶段包含 部件,设计时 单独设计用于操作数的运算。除了常规的加、减、与、或等运算外,还涉及到除法运算,由于除法运算的特殊性,除法器独立于 之外,单独进行设计。除法指令运行时间较长,会出现与流水段时钟不匹配的情况,涉及到流水线的异常处理。中的除法通过对除法器模块的调用完成,除法器消耗的时钟周期较长,采用状态机的设计降低除法的时钟消耗 。除此之外乘法指令与除法指令有专用的存储器 和 寄存器,还要设计专用的 寄存器来实现相关存储。教学应用时,将乘法运算、除法运算放在整个教学环节靠后的部分,在教学初期应尽可能规避 寄存器设计、除法器设计及指令异常处理。引导学生设计初期先完成 的加减法等简单运算的设计,随着对整个处理器的理解加深再添加复杂运算,一步步完成 完整的执行模块的搭建。阶段访存阶段主要工作是将运算后的结果存入 中。本次处理器设计采用哈弗结构,数据与指令分开,运算后的结果存储后,仍要将数据回写到寄存器堆中,所以数据还会送入回写阶段。该部分除相关数据通路的设计外,还设计了 用来存储数据,的设计方式与 相同。教学应用时,虽然课程初期设计用不到数据存储器,访存阶段只是将上一流水段的信号接收后流到下一流水段,但是可以将 与 放在一起设计,使学生加深对存储器设计方式的理解。阶段回写阶段主要工作是将结果写回到寄存器堆中,该部分除运算结果的回写以外,还负责完成 及等加载指令的操作,对 进行读取写回寄存器堆,该模块通过的控制信号为 ,在判断无相关加载指令的操作码后,对运算结果写回。由于 涉及乘法除法运算,乘法除法计算后的值存在 寄存器中,由 寄存器写回到寄存器堆。除回写外,异常的处理模块 也在这个阶段完成。当异常发生时,为了不破坏流水线的结构,异常信号会由流水线传递到该阶段并对异常信号进行处理,处理后信号会传到 模块中,控制单元对异常信号进行判断后对整个流水线进行刷新。以除法指令为例,当除法指令运行时,所用的时钟远大于 阶段流水段的时钟,因此流水线会出现异常。通常的处理方法是判断除法器的使能信号,通过该信号经 及 处理后暂停流水线的运行,但这样会浪费资源,更好的处理方法是在 阶段译码除法指令时输出除法指令异常处理信号,并暂存除法指令用到的寄存器等信息。流水线进入除法指令判定状态,对除法指令后的指令进行判断,若所用到的指令不干涉除法指令则执行,若干涉则暂停流水线。教学应用时,可以先设计 模块及简单的异常处理(例如数据相关的问题),引导学生使用简单的方法来解决异常(例如流水线暂停及刷新),在熟悉异常处理的流程后再对异常处理的部分进行优化(如使用数据前推等方法),逐步使用更优的解决办法,不断提高处理器的运行效率。功能仿真在功能仿真部分,首先使用 工具 对设计进行综合,综合成功后使用仿真工具 测试所有指令,并设计数据相关与指令相关的问题来测试整个流水线 在有异常状况下的运行。仿真结果如图所示,表明该设计成功。在教学应用时,每实现一个阶段都要引导学生做仿真实验验证设计模块的正确性。此外还可以对设计的某几 年第期 个阶段进行仿真以找出设计中出现的问题。仿真测试是 设计中不可缺少的一部分,教学中要鼓励学生多使用仿真工具,培养完成设计后做仿真实验的习惯,锻炼学生的仿真能力。图仿真结果图 结语本文设计的 指令集的流水线 模型机实现了 条指令,针对数据以及指令相关的问题设计了专用的 异常处理模块。对流水线每一级的设计及教学应用方法都做了分析,使用 对设计进行了综合测试,使用 对功能进行了仿真,测试结果符合要求。模型机的设计虽已完成,但模型机与外设的通信还未解决,设计、设计以及总线设计和挂载等还要进一步研究 。参考文献向继文,刘昕,廖柏林 龙芯 研发与应用现状综述 吉首大学学报(社会科学版),():柳成,荣静基于 架构的多周期 设计软件,():刘秋菊,张光照,王仲英基于 指令集的流水线 设计与实现实验室研究与探索,():,徐爱萍,张玉萍,涂国庆 基于 之 设计与实践实验室研究与探索,():吴继明,曾碧卿一种高效的 设计方法及其在计算机组成原理课程中应用 实验室研究与探索,():李亚民 计算机组成原理与系统结构 北京:清华大学出版社,雷思磊 自己动手写 北京:电子工业出版社,:严海洲 基于 的 单周期处理器的实现 电脑知识与技术,():,杨锐,黎涛基于 的流水 设计与实现当代教育实践与教学研究,():王帆,陈涛,张刚基于珠算原理设计 位除法器及 实现科学技术与工程,():王德明,骆开庆大整数除法器硬件电路研究与实现华南师范大学学报(自然科学版),():黄秀荪,叶青,仇玉林 高速除法器设计及 实现 微电子学与计算机,():李山山,刘敬晗 利用 算法处理数据相关的流水线 设计 实验室研究与探索,():东野长磊,戚梅一种带 的嵌入式 的设计与实现微型机与应用,():,李源,马海林,何虎基于 指令集的超标量和超长指令字混合架构处理器设计计算机应用研究,():陈国志一种自适应 替换策略的研究与设计电脑知识与技术,():肖世伟(硕士研究生)、李承凯(本科),主要研究方向为计算机体系结构;杨美娜(硕士研究生),主要研究方向为数字图像处理;冯祥虎(硕士研究生),主要研究方向为嵌入式驱动开发;杜军(副教授),主要研究方向为多普勒激光雷达、计算机体系结构。通信作者:杜军,。(责任编辑:薛士然收稿日期:)赖琳晖 基于覆盖率驱动的 的 验证集成电路应用,():,(),何丹,李树国 存储卡接口 模式的 实现微电子学,()张锋,潘冀宁,朱振荣基于 模式的 卡驱动设计与验证通信设计与应用,(),马俊基于 总线的 存储卡主控制器的设计与验证 上海:上海交通大学,()(),刘璐、李超、戴兆麟(硕士研究生),赵启林(研发总监):主要研究方向为数字集成电路设计与验证。通信作者:刘璐,。(责任编辑:薛士然收稿日期:)

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开