00:00 计算机组成原理:指令的地址码字段详解
- 对于计算机指令系统的讲解,首先提到的是操作数的表示方法,即通过地址标记操作数,这在计算机基本工作原理的课程中已有介绍,旨在理解操作数如何在内存中被引用和操作。
- 描述了三地址指令的结构,包括操作码和地址码两部分,其中地址码字段指定了三个操作数的地址,表明指令设计针对的是需要同时处理两个操作数并产生一个结果的运算,这种指令通常被称为双目运算。
- 解释了三地址指令的字长和寻址范围,假设操作码字段为八位,每个地址码字段也是八位,总指令长度为32位,寻址范围为256,强调了指令长度与操作数寻址范围之间的关系,以及如何通过减少地址码的位数来缩短指令长度,特别是当地址码全部为寄存器时的情况。
- 探讨了二地址指令的特点,与三地址指令相似,但它仅包含两个地址码,分别对应两个源操作数的地址,其中一个地址同时作为目的操作数的存放地址,同样适用于双目运算,体现了指令系统对不同类型运算的需求灵活设计。
- 指出三地址和二地址指令都是为双目运算设计的,尽管具体实现和结构上有所差异,但核心都是为了有效执行两个操作数之间的运算并产生一个结果,体现了指令系统设计中对运算效率和指令精简的追求。


02:45 二地址指令详解
- 二地址指令通过将运算结果直接存放到原操作数一的地址中来实现指令的压缩和优化,从而提高指令的执行效率。
- 根据地址码字段中的两个地址码所指向的数据存储位置的不同,二地址指令可以分为三种类型:源操作数和目的操作数分别位于寄存器和存储器中、源操作数和目的操作数都存放在寄存器中、源操作数和目的操作数都存放在存储器中。
- 虽然存储器访问速度远慢于寄存器,但寄存器的数量有限,因此合理利用存储器对于提高指令执行效率和处理器的吞吐量至关重要。
- 在英特尔x86系列计算机中,主要采用寄存器寄存器型和寄存器存储器型的二地址指令,这有助于平衡指令执行速度与资源利用率。
04:17 一地址指令的运算类型与特点
- mix计算机主要采用寄存器寄存器型指令,这种指令设计优化了数据处理效率。
- 一地址指令因其地址码字段仅包含一个地址,常在计算中体现其独特功能,如实现原操作数与目的操作数之间的直接处理。
- 在一地址指令应用中,地址码既作为原操作数地址也作为目的操作数地址的情形,实质上是一种单目运算,例如常见的逻辑求反操作,凸显了指令的高效执行特性。
- 另一种一地址指令情景,即地址码仅作为原操作数的地址,显示了指令设计的灵活性,能够处理更广泛的运算需求,尽管形式上与单目运算有所区别,但在实际应用中同样不可或缺。

- 一地址指令通过操作码OP和隐含的AL寄存器实现双目运算,其中结果存于AX寄存器,体现了指令的精简性。
- 隐含操作数的使用在叉86架构中缩短了双目运算类指令的长度,提高了指令执行效率。
- 零地址指令仅包含操作码字段,不包含地址码,如空指令、NOT指令等,用于实现指令集的基本控制功能,如等待、停机和程序返回。

06:35 零地址指令详解
- 本节课介绍了指令系统中的地址码字段概念,特别是那些需要操作数但该操作数隐含于CPU内特定寄存器中的指令类型。
- 讨论了两个具体的指令示例,即DNA和DAS,它们分别用于将加法和减法运算的结果调整为压缩BCD(Binary-Coded Decimal)格式,强调了在处理数值运算时对数据格式转换的指令需求。
- 强调了本节课内容的核心在于理解指令集架构中地址码字段的功能及其在实际指令如DNA和DAS中的应用,这有助于学生掌握更深层次的计算机指令执行原理。
- 提醒学生在课程结束时快速回顾所学内容,体现了教学中重视学生自主学习和复习习惯的培养,确保学习效果的巩固。
- 课程结尾以友好方式结束,邀请学生下节课再见,营造了积极的学习氛围,鼓励学生期待继续探索计算机科学的奥秘。
