最新CPU课程设计.doc
《最新CPU课程设计.doc》由会员分享,可在线阅读,更多相关《最新CPU课程设计.doc(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateCPU课程设计哈尔滨理工大学课程设计报告课 程 片上计算机系统题 目 CPU模型机设计 班 级 专 业 学 生 学 号 指导教师 2014年 7 月 3 日目 录:1课程设计的目的及要求32处理器的设计思想和设计内容33设计处理器的结构和实现方法34模型机的指令系统45处理器的状态跳转操作过程46. CPU的Verilog代码77. 模型机在Quartus II环境下
2、的应用198. 仿真波形199. 课程设计的总结21一 课程设计的目的及要求:(一) 目的: 1. 掌握RISC CPU与内存数据交换的方法。2. 学会指令格式的设计与用汇编语言编写简易程序。3. 能够使用VHDL硬件描述语言在Quartus软件环境下完成CPU模型机的设计。(二) 要求:1. 以计算机组成与设计书中123页的简化模型为基础更改其指令系统,形成设计者的CPU,2. 在Quartus II环境下与主存连接,调试程序,观察指令的执行是否达到设计构想。 二 处理器的设计思想和设计内容:处理器的字长为16b;包括四种指令格式,格式1、格式2、格式3的指令字长度为8b,格式4的指令字长度
3、为16b;处理器内部的状态机包括七个状态。(一)关于修改后的CPU:一共设计25条指令,主要包括空操作指令、中断指令、加法指令、减法指令、加法指令、四种逻辑运算指令、比较、算术移位操作指令、逻辑移位操作指令、加减1指令、加减2指令、数据传输指令、转移类指令、读写指令、特权指令等等。(二)关于RAM:地址线设置成8bits,主存空间为4096words。三 设计处理器的结构和实现方法:(指令格式)格式1:寄存器寻址方式15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP Rx Ry 空白格式2:寄存器变址寻址方式 OP Ry 空白格式3:立即数寻址方式15 14 13
4、 12 11 10 9 8 7 6 5 4 3 2 1 0 OP I 空白格式4:无操作数寻址方式15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP 空白 空白格式5:直接寻址方式15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP Addr内存(2的12次方)四 模型机的指令系统CPU的指令集:操作码OPIR(15.12)指令格式指 令 的 助 记 符指 令 的 内 容00004Idle无操作 PC=PC+100013Load DataR0I 立即数操作PC=PC+100101Move Rx RyRx (Ry) PC=PC+10011
5、1Add Rx RyRx (Rx)+(Ry) PC=PC+101001Sub Rx RyRx (Rx)-(Ry) PC=PC+101011Mul Rx RyRx (Rx)*(Ry) PC=PC+101102IR(11.10)00 AND Rx Ry01 OR Rx Ry10 XOR Rx Ry11 NOT RxRx (Rx) AND (Ry) PC=PC+1Rx (Rx) OR (Ry) PC=PC+1Rx(Rx)XOR(Ry) PC=PC+1 RxNOT (Rx) PC=PC+101111COM Rx RyRx Ry Rx Ry Rx= Ry PC=PC+110002IR(11.10)00
6、arr Rx Ry01 arl Rx Ry10 lgr Rx Ry11 lgl Rx Ry算术右移PC=PC+1算术左移PC=PC+1逻辑右移PC=PC+1逻辑左移PC=PC+110011IR(11.10)00 Rx+101 Rx-110 Rx+211 Rx-2PC=PC+110101Swap Rx Ry A(Ry) Ry(Rx) Rx(A) PC=PC+110115Jmp AddrPCAddr PC=PC+111005Jz AddrIf (R0)=0 then PCAddr else PC=PC+111015Read AddrR0(Addr) PC=PC+111105Write Addr A
7、ddr(R0) PC=PC+1 11114Stop无操作 PC保持不变五 处理器的状态跳转操作过程:模型机每一状态下的操作及状态跳转当前状态执行操作次态与读下一条指令的有关的操作St_0取指令IR(15.0)M_data_in(15.0)St_1Write-Read0 PC=PC+1St_1IF OP=Load THENR0IR(11.8)|”000000000000”MARPCIF(OP=Stop)THENSt_1ELSE St_2END IFIF OP=Move THEN Rx (Ry)IF OP= sh THEN Rx (Rx) 移位运算IF OP= Add THEN A(Ry)IF O
8、P= Sub THEN A(Ry)IF OP= Mul THEN A(Ry)IF OP=Log THEN A(Ry)AND、OR、NOT、XORIF OP=Math THEN A(Ry)+1 -1 +2 -2运算IF OP= Swap THEN A(Ry)IF OP=Stop THEN NULLIF OP=Idle THEN NULLIF OP=Jmp THEN NULLIF OP=Jz THEN NULLIF OP=Read THEN NULLIF OP=Write THEN NULLSt_2IF OP= Load OR OP=Move OR OP= sh OR OP=Idle THEN N
9、ULLSt_0Write-Read0IF OP= Add THEN Rx (Rx)+AIF OP= Sub THEN Rx (Rx)-AIF OP= AND THEN Rx (Rx)ANDAIF OP= NOT THEN Rx (Rx) NOT AIF OP= XOR THEN Rx (Rx) XORAIF OP= NOT THENRx not(Rx) IF OP= math THENRx (Rx)+-1.2IF OP= Swap THEN Ry(Rx)St_3Write-Read0IF OP= Jmp or Jz THENNULLIF OP= Read or Write THEN MARIR
10、(11.0)St_3IF OP= Swap THEN Rx(A)St_0Write-Read0IF OP= Read or Write or Jmp or Jz THENIR(7.0)M_data_inSt_4MARPCWrite-Read0St_4IF OP= (Read)THEN MARIR(11.0)St_5Write-Read0IF OP= (Write) THEN MARIR(11.0)MDR(R0)IF OP= (Jmp) THEN PCIR(11.0) MARIR(11.0)IF OP= (Jz) IF (R0)= 0 THEN PCIR(11.0) MARIR(11.0)ELS
11、E MAR(PC)IF OP= (Jmp) THEN PCIR(11.0) MARIR(11.0)IF OP= (Jz) IF (R0)= 0 THEN PCIR(11.0) MARIR(11.0)ELSE MAR(PC)St_5IF OP= (Jmp)or OP= (Jz)St_0 MAR(PC)Write-Read0IF OP=(Read)St_6 MAR(PC)Write-Read0IF OP=(Write)St_6 MAR(PC)Write-Read1St_6IF OP=(Read)THEN R0M_data_inSt_0 Write-Read0六-六、CPU的Verilog HDL代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 CPU 课程设计
限制150内