Skip to content

moonlightbay/CSAPP-HH-lecture-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

CSAPP-HH-lecture-project

计算机组成原理课程的pj

处理器 Z 说明:

  1. 处理器 Z 只包括取指、译码、执行、写回、更新 PC 五个流水级操作。
  2. 处理器 Z 将指令字长和数据字长均固定为 4 个字节 (32bit)。因此对于取指操作,每个时钟周期只需要从 ram 中读取 4 个字节的指令即可。
  3. 指令集说明:处理器 Z 只包括 5 条指令,分别为 IRMOV, ADD, SUB, AND, XOR。
  4. 寄存器说明:处理器 Z 的片上寄存器只包括 6 个 32 位寄存器,分别命名为 %r0, %r1, ..., %r5。
  5. 指令编码说明:处理器 Z 的指令长度固定为 4 个字节(32bit)
    • 第一个字节(31:24)表示指令类型,高 4 位表示指令代码,低 4 位表示指令功能 ifun; IRMOV 的指令代码为 1 ,功能代码为 0 ; ADD 的指令代码为 2 ,功能代码为 0 ; SUB 的指令代码为 2 ,功能代码为 1 ; AND 的指令代码为 3 ,功能代码为 2 ; XOR 的指令代码为 3 ,功能代码为 3 。
    • 第二个字节(23:16)表示操作数所在寄存器的 ID,其中高 4 位表示 rA,低 4 位表示 rB;
    • 最后两个字节(15:0)表示立即数 valC,本设计中所有立即数均以 16 进制表示。

例子:

  • 指令 AND %r4, %r5 (%r4 = %r4 and %r5 ),将被表示为 22_45_00_00;
  • 指令 IRMOV $16, %r0 (%r0 = 16),将被表示为 10_f0_00_10。

PS:以现在写报告的视角,发现在我的设计中,第一条指令的pc值没有得到及时更新,这将导致第二条指令取指延后一个周期。 对于本实验的所有任务,由于前几条指令是IMROV指令,该问题并不会造成任何结果的错误,仅会使完整的结果延后一周期。

About

计算机组成原理课程的pj

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published