2019/4/29 计算机组成原理 辅导教师:陆明强
课程内容介绍 计算机指令和指令系统 重点和难点 学习方法谈 资源介绍 习题讲解 2019/4/29
2019/4/29
指令和指令系统 操作码 操作数地址 指令组成 操作码:用于指明本条指令的操作功能。 操作数地址:用于给出被操作的信息的地址。 操作码 操作数地址 指令组成 操作码:用于指明本条指令的操作功能。 操作数地址:用于给出被操作的信息的地址。 操作码的组织与编码: 定长的操作码的组织方式 变长的操作码的组织方式 操作码字段与操作数地址有所交叉的方案 2019/4/29
有关操作数地址的设计、安排 无操作数指令 单操作数指令 双操作数指令 多操作数指令 2019/4/29
指令的分类 算术与逻辑运算指令 移位操作指令 算术移位 逻辑移位 循环移位 数据传输指令 用于实现通用寄存器之间、通用寄存器与 内存储器存储单元之间、内存储器不同存储单元之间和通用寄存器与外围设备(接口)之间的数据传送功能。 2019/4/29
如:动态停机指令、空操作指令、置条件码指令、开中断指令、关中断指令、堆栈操作指令等 转移指令和子程序调用与返回指令 特权指令 指仅用于操作系统或其他系统软件的指令 其他指令 如:动态停机指令、空操作指令、置条件码指令、开中断指令、关中断指令、堆栈操作指令等 2019/4/29
关于操作数的来源、去处 操作数的第一来源和去处 可以是CPU内部的通用寄存器 操作数的第二来源和去处 可以是外围设备设备(接口)中的一个寄存器,通常用设备编号或设备入出端口地址或设备映像地址来表示。 操作数的第三来源和去处 可以是内存储器的一个存储单元。 2019/4/29
寻址方式 寻址方式解决的是如何在指令中如何表示一个操作数地址,如何用这种表示得到操作数或怎样计算出操作数的地址。 形式地址:表示在指令中的操作数地址。 物理地址:操作数在存储器中的存储单元地址。用形式地址并结合某些规则计算得到。 立即数寻址 直接寻址 寄存器寻址、寄存器间接寻址 变址寻址 相对寻址 基地址寻址 间接寻址 堆栈寻址 2019/4/29
控制器的功能和组成与指令执行步骤 控制器部件的功能和组成 控制器的作用是向整机每个部件(包括控制器部件本身)提供协同运行所需要的控制信号。 控制器的基本功能:依据当前正在执行的指令和它所处的执行步骤,形成(或称得到)并提供出在这一时刻整机各部件要用到的控制信号。 执行一条指令,要经过读取指令、分析指令和执行指令所规定的处理功能三个阶段完成,控制器还要保证能按程序中排定的指令运行次序,自动地连续执行指令序列。 2019/4/29
变址寻址方式示意图 2019/4/29
组合逻辑控制器的组成 2019/4/29
组合逻辑控制器,又称硬布线方案的控制器,与微程序控制器共同构成计算机通用的两大类控制器。 PC:程序计数器 IR:指令寄存器 AR:地址寄存器 组合逻辑的控制器部件 组合逻辑控制器,又称硬布线方案的控制器,与微程序控制器共同构成计算机通用的两大类控制器。 基本运行原理 用组合逻辑门线路,直接提供控制计算机各功能部件协同运行所需要的控制信号。 其优点是:形成这些控制信号所必需的线路延迟时间少,对提高系统运行速度有利。 2019/4/29
这两种控制器的基本功能相同,对计算机硬件的组成结构、对指令的执行步骤并无实质性影响。 其缺点是:设计控制计算机各功能部件运行所需的时序控制信号的逻辑比较复杂,把逻辑设计的结果再用与、或、非等组合逻辑门电路实现出来也相对困难,尤其是要变动一些设计时很不方便。 微程序控制器的优缺点则正好与此相反 这两种控制器的基本功能相同,对计算机硬件的组成结构、对指令的执行步骤并无实质性影响。 组合逻辑控制器的组成 组合逻辑控制器又四部分组成 程序计数器 PC 指令寄存器 IR 脉冲源和启停控制逻辑 时序控制信号产生部件 2019/4/29
划分每一条指令的执行执行步骤,设计每一条指令的每一个执行步骤的具体操作功能。 从以下几个方面理解组合逻辑的运行原理 从计算机的基本功能的层次考虑。 从计算机执行一条指令的层次考虑 划分每一条指令的执行执行步骤,设计每一条指令的每一个执行步骤的具体操作功能。 确定在实现这些操作功能时,相关计算机各功能部件要求使用那些控制信号。 需要选用什么具体逻辑线路,采用什么处理方案,来分步骤地形成并向计算机各功能部件提供出这些控制信号。 2019/4/29
本次课的重点和难点 指令的组成、指令的分类、寻址方式 控制器的功能和组成 组合逻辑控制器 2019/4/29
本次课的学习方法谈 本次课程在掌握一些必须掌握的概念外,对计算机的各种寻址方式要彻底弄清; 指令的执行过程在你的大脑中应有清楚的认识; 同学之间相互交流、多做一些习题 2019/4/29
习题1: 将十进制数 化成二进制数、八进制数和十六进制数。 >>>答案 习题1: 将十进制数 化成二进制数、八进制数和十六进制数。 >>>答案 习题2: 请回答什么是二─十进制编码?什么是有权码?什么是无权码?各举一个你熟悉的有权码和无权码的例子。 >>>答案 习题3:已知X=0.1101,Y=-0.0101,用原码一位乘法计算X×Y=?,要求写出计算过程。>>>答案 习题4: 说明海明码能实现检错纠错的基本原理,为能发现并改正一位错、也能发现二位错,效验位和数据位在位数上应满足什么关系? >>>答案 2019/4/29
习题6: 在设计指令系统时,通常应从哪4个方面考虑? >>>答案 习题5: 举例说明运算器中的ALU通常可以提供的至少5种运算功能?运算器中使用多累加器的好处是什么?乘商寄存器的基本功能是什么? >>>答案 习题6: 在设计指令系统时,通常应从哪4个方面考虑? >>>答案 习题7: 简要说明减法指令 SUB R3,R2 和子程序调用的执行步骤。 >>>答案 习题8: 在微程序控制器中,通常有哪5种得到下一条微指令地址的方式。 >>>答案 2019/4/29
习题9: 简单地说明组合逻辑的控制器应由哪几个功能部件组成。 >>>答案 习题9: 简单地说明组合逻辑的控制器应由哪几个功能部件组成。 >>>答案 2019/4/29
习题2答案:二─十进制编码,又称BCD码,通常是用4位二进制码表示一位十进制数的编码方案。 习题1答案:二进制数: (0.1101011)2 八进制数: (0.654)8 十六进制: (0.D6)16 习题2答案:二─十进制编码,又称BCD码,通常是用4位二进制码表示一位十进制数的编码方案。 有权码是说,用到的4位二进制码中,每一位都有一定的权位,4位的权位之和代表该十进制的数值,例如常用的8421码,从高到低4位二进制码的权位分别为8、4、2、1,例如0101既表示使进制5。无权码则正好相反,用到的4位二进制码中,每一位没有确定的权位,只能用4位的总的状态组合关系来表示该十进制的数值。例如循环码,就找不出4个二进制位中每一位的权位。 2019/4/29
习题3答案 2019/4/29
习题4答案: 2019/4/29
习题5答案:ALU通常应提供加、减、与、或和异或等多种算术和逻辑运算功能。 2019/4/29
习题6答案: 2019/4/29
习题7答案: 2019/4/29
习题8答案: (1) .微程序顺序执行时,下地址为本条微指令地址加1。 (2) 在微程序必定转向某一微地址时,可以在微指令字中的相关字段中给出该地址值。 (3) 按微指令(上一条或本条)的某一执行结果的状态,选择顺序执行或转向某一地址。 (4) 从微堆栈中取出从微子程序返回到微主程序断点的返回地址,用于微子程序的返回处理。 (5) 依条件判断转向多条微指令地址中的某一地址的控制。 2019/4/29
组合逻辑控制器应有程序计数器PC、指令寄存器IR、操作码译码器、节拍发生器、时序控制信号形成部件等几个主要部件组成。 习题9答案: 组合逻辑控制器应有程序计数器PC、指令寄存器IR、操作码译码器、节拍发生器、时序控制信号形成部件等几个主要部件组成。 2019/4/29