【实验报告四1】主要涉及计算机组成原理中的数据通路设计,目的是为了支持Demo_IS指令系统中的取数(LD)、减法(SUB)和双字长分支(JNZ)指令。以下是这些知识点的详细说明:
1. **数据通路**:数据通路是计算机内部数据流动的路径,它包含了各种功能部件,如ALU、寄存器、存储器等,以及它们之间的连接方式。数据通路的设计直接影响计算机执行指令的效率。
2. **ALU(算术逻辑单元)**:ALU是数据通路的核心部件,负责执行基本的算术和逻辑运算。在这个实验中,ALU需要支持加法和减法操作,并能设置状态标志ZF(零标志),用于判断运算结果是否为零。
3. **GPRs(通用寄存器组)**:GPRs包含多个寄存器,用于临时存储数据,通常用于运算中间结果。实验要求4个8位寄存器,具有读写端口。
4. **PSR(程序状态寄存器)**:保存处理器状态信息,如条件标志位,例如ZF。在执行SUB指令后,ALU会更新ZF,以反映是否有零产生。
5. **内存(MEM)**:存储程序和数据的部件,实验中使用了128×8位的存储模块,可以扩展至最大256×8位。
6. **程序计数器(PC)**:记录下一条指令的地址,JNZ指令需要根据条件改变PC的值,因此PC需具备计数功能。
7. **指令寄存器(IR)**:保存当前正在执行的指令,解析指令以产生微操作命令。
8. **地址寄存器(MAR)**:存储要访问的内存地址,用于读取或写入数据。
9. **数据寄存器(MDR)**:缓冲从内存读取或写入的数据。
10. **三态门(TS)**:用于控制数据在总线上的传输,只有当被选中时,部件才能向总线输出数据。
11. **锁存器**:用于暂时存储数据,确保数据在传输过程中的完整性。
12. **MUX(多路选择器)**:在GPRs的读地址前添加,允许SUB指令可以读取两个不同的寄存器,通过控制信号GRsel选择当前读取的地址。
13. **微操作序列**:每个指令的功能可以通过一系列有序的微操作来实现,这些微操作组合成微操作步序列,按照顺序执行,就能完成指令的功能。
14. **数据类型**:只有一种8位整数类型,采用定点补码编码。
15. **寻址方式**:包括寄存器寻址、寄存器间接寻址、直接寻址和隐含寻址。
16. **地址计算**:对于直接寻址,地址是8位的加法。
17. **控制信号**:如GRsel、MemRd、MemWr等,用于控制数据通路中各部件的操作。
实验报告中提到的单总线结构,意味着所有部件通过单一数据总线进行数据传输,简化了硬件设计,但可能会导致数据传输的冲突,需要通过三态门和锁存器来解决。在实际设计中,需要综合考虑性能和复杂度来选择合适的结构。