1 / 36
文档名称:

CPU课程设计.doc

格式:doc   大小:429KB   页数:36页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CPU课程设计.doc

上传人:AIOPIO 2020/8/2 文件大小:429 KB

下载得到文件列表

CPU课程设计.doc

文档介绍

文档介绍:课程设计报告课程片上计算机系统题目CPU模型机设计班级专业学生学号指导教师2014年7月3日目录:………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………21课程设计的目的及要求:目的:PU与内存数据交换的方法。学会指令格式的设计与用汇编语言编写简易程序。能够使用VHDL硬件描述语言在QuartusⅡ软件环境下完成CPU模型机的设计。要求:以《计算机组成与设计》书中123页的简化模型为基础更改其指令系统,形成设计者的CPU,在QuartusII环境下与主存连接,调试程序,观察指令的执行是否达到设计构想。处理器的设计思想和设计内容:处理器的字长为16b;包括四种指令格式,格式1、格式2、格式3的指令字长度为8b,格式4的指令字长度为16b;处理器内部的状态机包括七个状态。(一)关于修改后的CPU:一共设计25条指令,主要包括空操作指令、中断指令、加法指令、减法指令、加法指令、四种逻辑运算指令、比较、算术移位操作指令、逻辑移位操作指令、加减1指令、加减2指令、数据传输指令、转移类指令、读写指令、特权指令等等。(二)关于RAM:地址线设置成8bits,主存空间为4096words。设计处理器的结构和实现方法:(指令格式)格式1:寄存器寻址方式1514131211109876543210OPRxRy空白格式2:寄存器变址寻址方式OPRy空白格式3:立即数寻址方式1514131211109876543210OPI空白格式4:无操作数寻址方式1514131211109876543210OP空白空白格式5:直接寻址方式1514131211109876543210OPAddr内存(2的12次方)模型机的指令系统CPU的指令集:操作码OP指令指令的助记符指令的内容IR(15..12)格式00004Idle无操作PC=PC+100013LoadDataR0ßI立即数操作PC=PC+100101MoveRxRyRxß(Ry)PC=PC+100111AddRxRyRxß(Rx)+(Ry)PC=PC+101001SubRxRyRxß(Rx)-(Ry)PC=PC+101011MulRxRyRxß(Rx)*(Ry)PC=PC+101102IR()00ANDRxRy01ORRxRy10XORRxRy11NOTRxRxß(Rx)AND(Ry)PC=PC+1Rxß(Rx)OR(Ry)PC=PC+1Rxß(Rx)XOR(Ry)PC=PC+1RxßNOT(Rx)PC=PC+RxRyRx>RyRx<RyRx==RyPC=PC+110002IR()00arrRxRy01arlRxRy10lgrRxRy11lglRxRy算术右移PC=PC+1算术左移PC=PC+1逻辑右移PC=PC+1逻辑左移PC=PC+110011IR()00Rx+1PC=PC+101Rx-110Rx+211Rx-210101SRyAß(Ry)Ryß(Rx)Rxß(A)PC=PC+110115JmpAddrPCßAddrPC=PC+111005JzAddrIf(R0)=0thenPCßAddrelsePC=PC+111015ReadAddrR0ß(Addr)PC=PC+111105WriteAddrAddrß(R0)PC=PC+111114Stop无操作PC保持不变处理器的状态跳转操作过程:模型机每一状态下的操作及状态跳转当前状态执行操作次态与读下一条指令的有关的操作St_0取指令IR(15..0)ßM_data_in(15..0)St_1Write-Readß’0’PC=PC+1St_1IFOP=LoadTHENR0ßIR(11..8)||”0”MARßPCIF(OP=Stop)THENSt_1ELSESt_2ENDIFIFOP=MoveTHENRxß(Ry)IFOP=shTHENRxß(Rx)移位运算IFOP=AddTHENAß(Ry)IFOP=SubTHENAß(Ry)IFOP=MulTHENAß(Ry)IFOP=LogTHENAß(Ry)AND、OR、NOT、XORIFOP=MathTHENAß(Ry)+1-1+2-2运算IFOP=SwapTHENAß(Ry)IFOP=StopTHENNULLIFOP=Id