您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > CS应用于基因传递的研究现状及进展
《计算机组成与结构》课程设计报告题目:CPU控制器设计院(系):信息科学与工程专业班级:学生姓名:学号:指导教师:顾兵2015年06月15日至2015年06月26日华中科技大学武昌分校制计算机组成与结构课程设计任务书一、设计(调查报告/论文)题目CPU控制器设计二、设计(调查报告/论文)主要内容1.掌握CPU控制器的工作原理和逻辑功能。2.运用VHDL实现能支持基本指令的单时钟控制器设计与调试。3.采用QUARTUSII软件设计仿真和调试完成。三、原始资料[1]袁春风.计算机组成与系统结构.北京:清华大学出版社,2010。[2]唐朔飞.计算机组成原理.北京:高等教育出版社,2008。四、要求的设计(调查/论文)成果1.课程设计报告2.设计仿真文件五、进程安排讲解课程设计的具体内容、要求、安排、考核方法、注意事项及相关知识,帮助学生明确任务。1天查阅资料1天整体方案设计,画出功能模块图1天各模块的详细设计,画出相应逻辑电路图。2天在指定环境下完成系统实现、调试2天撰写课程设计报告1天验收并提问答辩1天六、主要参考资料[1]顾兵,陈国平.计算机组成与结构实践教程(修订版).2014.5。[2]楼学庆,平玲娣.计算机组成课程设计.杭州:淅江大学出版社.2007。[3]王诚等.计算机组成与设计(第3版)实验指导.北京:清华大学出版社,2008。[4]DavidA.PattersonJohnL.Hennessy.计算机组成与设计(硬件/软件接口).康继昌等译.北京:机械工业出版社,2012。[5]袁春风.计算机组成与系统结构.北京:清华大学出版社,2010。[6]AlteraCorporation.Quartus_II官方教程-中文版.的工作原理和逻辑功能的理解,运用VHDL硬件描述语言实现能支持基本指令的单时钟控制器设计,采用QUARTUSII软件设计仿真和调试完成。1.1.2功能要求1.运用VHDL实现能支持基本指令的单时钟控制器设计与调试。1实现能够执行R类型、ori、addiu、lw、sw、beg以及jump指令的单时钟控制器使其能够支持基本的指令。2实现cpu的控制。2.采用QUARTUSII软件设计仿真和调试完成。1.2总体设计1.2.1总体设计原理CPU每次从存储器读取一条指令后,PC指针指向正在取值的指令并存放到指令寄存器IR中,IR将指令送到控制器,控制器对指令进行译码,判断指令类型,从而生成相应指令对应的的数据通路控制信号,指挥整个CPU的运转。控制单元主要包含一个指令译码器,输入的是指令操作码op(R-型指令还包括功能码func),输出的是控制信号。所以,控制单元的设计过程如下。1根据每条指令的功能,分析控制信号的取值,并在表中列出。2根据列出的指令和控制信号的关系,写出每个控制信号的逻辑表达式。1.2.2总体设计说明1)指令格式如下:2MIPS指令分为三种指令:R_Type,I_Type,J_TypeR_Type如:加法ADD减法SUBSTRACT加法指令的汇编格式addrd,rs,rt加法指令的汇编格式subrd,rs,rt图1.1指令格式2)设计步骤:第一步:确定每个元件所需控制信号的取值。第二步:汇总所有指令所涉及到的控制信号,生成一张反映指令与控制信号之间关系的表。第三步:根据表得到每个控制信号的逻辑表达式,据此设计控制器电路。1.3总体框图总体设计框图如图1.1:生成R_Type指令信号生成Ori或Junmp指令信号R_Type非R_Type指令开始结束判断指令类型图1.2控制器总体框图32详细设计与实现2.1方案设计与实现2.1.1输入与输出逻辑图由cpu控制器的功能原理得出输入与输出逻辑图如下:图2.1输入与输出逻辑图2.1.2指令与控制信号真值表查阅得到指令与控制信号真值表如下:表2.1指令与控制信号真值表op000000001101001001100011101011000100000010指令类型R-typeoriaddiulwswbegjumpRegWr1111xxxALUSrc011110xRegDst1000xxxMemtoReg0001xxXMemWr0000100Branch0000010Jump0000001ExtOpx0111xxALUop0100000XALUop1x1000xXALUop2x11001X42.1.3控制器设计思路流程图根据各指令控制信号真值表可得主控制器设计思路流程图如图2.2所示。输入opiRtype='1'lw='1'sw='1'addiu='1'beq='1'ump1='1'ori='1'OP=000000OP=001101OP=001001OP=100011OP=101011OP=000100OP=000010RegDst='1';ALUOP0='1';RType='1';RegWr='1';其它为0Branch='1';ALUOP2='1';其它为0Jump='1';其它为0MemWr='1';ALUSrc='1';ExtOp='1';其它为0RegWr='1';ALUSrc='1';MemtoReg='1';ExtOp='1';其它为0RegWr='1';ALUSrc='1';ExtOp='1';其它为0ALUOP1='1';RegWr='1';ALUSrc='1';其它为0判断op图2.2设计思路流程图2.2指令分析及逻辑电路图2.2.1R-type型指令图2.3是R-型指令的执行过程示意图,其中粗线描述了R-型指令的数据在数据通中的执行路径:RegisterFile(Rs,Rt)→busA,busB→ALU→RegisterFile(Rd)。5图2.3R-型指令执行过程控制信号的取值分析如下。Branch=Jump=0:因为是非分支指令、非无条件跳转指令。RegDst=1:因为R-型指令的目的寄存器为Rd。ALUSrc=0:保证选择busB作为ALU的B口操作数。MemtoReg=0:保证选择ALU结果送到目的寄存器。RegWr=1:保证在下个时钟到来时,在不发生溢出的情况下结果被写到目的寄存器。MemWr=0:保证下一个时钟到来时,不会有信息写到数据存储器。ExtOp=x:因为ALUSrc=0,所以扩展器Extender的值不会影响执行结果,故ExtOp取0或1都无所谓。2.2.2Ori指令指令完成的功能:R[rt]←R[rs]opZeroExt[imm16]]图2.4Ori的控制信号控制信号的取值分析如下。分支指令和跳转指令都为零Branch=jump=0因为是非分之指令,非跳转指令。RegDst=1:因为Ori指令的目的寄存器为Rt。6ALUSrc=1:保证选择busB作为ALU的A口操作数。。ALUctr=or。MemtoReg=0:保证选择ALU结果送到目的寄存器。RegWr=1:保证在下个时钟到来时,在不发生溢出的情况下结果被写到目的寄存器。MemWr=0:保证在下个时钟到来时,不会有信息写到数据存储器。ExpOp=x:因为ALUSrc=0,所以扩展器Extender的值不会影响执行结果,故ExtOP取0或1都无所谓。2.2.3lw指令指令完成的功能:R[rt]←M[R[rs]+SignExt[imm16]]图2.5lw的控制信号控制信号的取值分析如下。分支指令和跳转指令都为零Branch=jump=0因为是非分之指令,非跳转指令。RegDst=1:因为lw指令的目的寄存器为Rt。ALUSrc=1:保证选择busA作为ALU的A口操作数。。ALUctr=add。MemtoReg=1:保证选择存储器结果送到目的寄存器。RegWr=1:保证在下个时钟到来时,在不发生溢出的情况下结果被写到目的寄存器。MemWr=0:保证在下个时钟到来时,不会有信息写到数据存储器。ExpOp=1:因为要利用扩展器Extender进行扩展。72.2.4sw指令指令完成的功能:rt,rs,imm16图2.6sw的控制信号控制信号的取值分析如下。分支指令和跳转指令都为零Branch=jump=0因为是非分之指令,非跳转指令。RegDst=x:因为不会写到寄存器。ALUSrc=1:保证选择busA作为ALU的A口操作数。。ALUctr=add。Mem
本文标题:CS应用于基因传递的研究现状及进展
链接地址:https://www.777doc.com/doc-2907145 .html