420 likes | 525 Views
计算机组成原理讲义 第3章 指令、指令系统和控制器部件. 诀窍 详细内容请参阅王诚主编 “计算机组成原理”. 本章主要教学内容. 教学内容: ⑴计算机的指令和指令系统(指令的功能、指令的格式及寻址方式)。 ⑵计算机控制器的功能、组成和设计与实现。 教学安排(围绕以下内容来进行): ⑴计算机指令的执行过程(步骤)(从空间和时间两方面考虑)。 ⑵控制器的设计原理。 指令与指令系统: ⑴指令是用户使用计算机与计算机本身运行的最小功能单位。 ⑵内容:指令的功能安排、指令的格式以及指令的寻址方式的选择。 控制器部件:
E N D
计算机组成原理讲义第3章 指令、指令系统和控制器部件 诀窍 详细内容请参阅王诚主编 “计算机组成原理”
本章主要教学内容 • 教学内容: ⑴计算机的指令和指令系统(指令的功能、指令的格式及寻址方式)。 ⑵计算机控制器的功能、组成和设计与实现。 • 教学安排(围绕以下内容来进行): ⑴计算机指令的执行过程(步骤)(从空间和时间两方面考虑)。 ⑵控制器的设计原理。 • 指令与指令系统: ⑴指令是用户使用计算机与计算机本身运行的最小功能单位。 ⑵内容:指令的功能安排、指令的格式以及指令的寻址方式的选择。 • 控制器部件: ⑴功能:向整机的每个部件提供协同运行所需的控制信号。 ⑵组成:程序计数器(PC)、指令寄存器(IR)、指令执行的步骤标记线路、全部时序控制信号产生部件。
第3章 指令、指令系统和控制器部件 3.1 指令和指令系统概述 3.2 寻址方式 3.3 指令系统举例 3.4 控制器的功能和组成与指令执行步骤 3.5 组合逻辑的控制器部件 3.6 8位教学计算机的微程序控制器部件 3.7 16位教学计算机的微程序的控制器部件
3.1 指令和指令系统概述 • 计算机系统的组成:硬件和软件。 • 计算机指令代码: ⑴计算机指令代码组成计算机能直接识别和运行的软件程序。 ⑵计算机指令代码是使用计算机与计算机本身运行的最小功能单位。 • 计算机指令系统: ⑴一台计算机支持(或称使用)的全部指令构成其指令系统。 ⑵简单指令系统计算机(SISC)—>复杂指令系统计 算机(CISC)—>简化指令系统计算机(RISC)。 • 设计指令系统的核心问题:选定指令的格式和功能。 接下页
3.1 指令和指令系统概述(续) • 指令系统的评价: ⑴完备性,常用指令齐全,编程方便; ⑵高效性,程序占用内存空间少,运行速度快; ⑶规整性,指令和数据规则统一简单,易学易用; ⑷兼容性,低档机程序能在高档机上直接运行。 • 指令的格式与功能: ⑴操作码用于指明本条指令的操作功能; ⑵操作数地址用于给出被操作的信息的地址。 操作码 | 操作数地址
3.1 指令和指令系统概述(续) ⒈操作码的组织与编码(方案) ⑴定长的操作码的组织方案:在指令字的最高部分分配固定的若干位(定长)表示操作码。 ⑵变长的操作码的组织方案:操作码位数根据指令特点分配,并安排在指令字的最高位部分,但与地址字段不交叉。 ⑶操作码字段与操作数地址字段有交叉方案:与⑵类似,操作码长度不固定,但操作码字段不再集中在指令字的最高位部分,且与地址的一些字段有所交叉。
3.1 指令和指令系统概述(续) ⒉有关操作数地址的设计、安排 • 不同的指令使用不同数目、不同来源和不同用法的操作数,应将其安排在指令字的适当位置,如: ⑴无操作数指令:不涉及操作数或使用约定操作数。 ⑵单操作数指令:只涉及一个操作数或约定操作数。 ⑶双操作数指令:涉及两个操作数,算逻运算指令。 ⑷多操作数指令:涉及多个操作数(大中计算机)。 • 在同一台计算机中并不要求所有指令都使用同一长度,可以组合,也可以拆分。
3.1 指令和指令系统概述(续) ⒊指令的分类:按指令所完成的功能进行分类。如: ⑴算逻运算指令:给出运算结果及有关特征。 ⑵移位操作指令:算术、逻辑和循环移位。 ⑶数据传送指令:寄存器、内存、外设接口传数据。 ⑷转移指令和子程序调用与返回指令:改变执行次序。 ①转移指令:有条件转移与无条件转移。 ②子程序调用与返回指令:转移后能返回。 ③子程序:自编和系统提供(访管指令与陷阱指令)。 ⑸特权指令:仅用于操作系统或其它系统软件的指令。 ⑹其它指令:用于完成某些特定处理功能的指令。
3.1 指令和指令系统概述(续) ⒋有关操作数的来源、去处 ⑴CPU内部的通用寄存器: 给出用到的寄存器编号(寄存器名),其内容可能是数据,也可能是操作数的地址。 ⑵外设(接口)中的寄存器: 设备编号或设备入出端口地址、或设备映像地址(与内存统一编址的设备地址编号)。 ⑶内存存储单元: 由寻址方式解决(见3.2)。
3.2 寻址方式 • 寻址方式: 解决如何在指令中表示一个操作数的地址及如何用这种表示得到操作数或操作数的地址。 • 形式地址: 表示在指令中的操作数地址称为形式地址。 • 物理地址: 用形式地址结合某些规则计算出的操作数在存储器中的存储单元地址称为物理地址。 • 常用寻址方式如下:
3.2 寻址方式(续) ⑴立即数寻址:操作数直接给出在指令中。 ⑵直接寻址:直接给出操作数在存储器中的地址。 ⑶寄存器寻址、寄存器间接寻址:利用寄存器寻址。 ①寄存器直接寻址:寄存器存放操作数地址。 ②寄存器间接寻址:寄存器存放操作数地址的地址。 ⑷变址寻址:指令中给出的数值(偏移量,补码)与指定寄存器的内容相加之和作为操作数的地址。 ⑸相对寻址:指令中给出的数值(偏移量)与程序计数器PC的内容相加之和作为操作数的地址。 接下页
3.2 寻址方式(续) ⑹基地址寻址:程序中所用地址与特定寄存器(基地址寄存器)内容相加之和作为操作数或指令的地址。基地址寄存器的值由系统程序指令设定。 ⑺间接寻址:在指令字的地址字段给出的是操作数或指令地址的地址。 ⑻堆栈寻址:给出堆栈单元地址的特定寄存器被称为堆栈指针。堆栈寻址是指利用堆栈指针指明操作数的寻址方式。多为无操作数指令。
3.3 指令系统举例 3.3.1 8位教学计算机的指令系统 3.3.3 NOVA计算机指令系统介绍 3.3.2 PDP-11计算机指令系统介绍
3.3.1 8位教学计算机的指令系统 ⒈确定8位机的指令系统的原则 ⑴尽可能小的指令集。 ⑵指令系统要有一定的完备程度和有较好的典型性。 ⑶适当的可扩充性。 ⑷指令操作码部分选用逐位扩展技术(逐位使用)。
3.3.1 8位教学计算机的指令系统 ⒉8位机指令系统说明与指令分类 ⑴指令长度:单字节指令、双字节指令、三字节指令。 ⑵操作数个数:双操作数指令、单操作数指令、无操作数指令。 ⑶寻址方式:寄存器寻址、寄存器间址、立即数寻址、直接寻址、相对寻址、堆栈寻址。 ⑷指令功能:算逻指令、读写内存指令、入/出指令、转移指令、子程序调用/返回指令及传送、移位、置进位标志和清进位标志等指令。 ⑸其它:用于编写监控程序的特殊指令。 接下页
3.3.1 8位教学计算机的指令系统 ⑹指令说明: ①双操作数指令:支持8条,已实现5条,4个通用寄存器。 ②单操作数指令:支持16条,已实现9条,4个通用寄存器。 ③INC指令:单操作数,4个通用和12个专用寄存器。 ④取立即数指令:双操作数,4个通用和12个专用寄存器。 ⑤双字节指令:8位操作码,支持16条,已实现5条相对转移指令,亦可实现正常I/O指令。 ⑥无操作数指令:8位操作码,支持16条,已实现7条。 ⑺指令分组:A组指令、B组指令、C组指令、D组指令,P.146。 ⑻指令汇总表:表3.1 ⑼16个通用寄存器的使用:P.147
3.3.1 8位教学计算机的指令系统 ⒊8位教学计算机的汇编语言程序设计中的有关概念 ⑴8位教学计算机的机器语言 ⑵8位教学计算机的汇编语言: ①由监控程序提供的命令输入并运行汇编语言程序。 ②交叉汇编程序ASEC:P.151 ⒋8位教学计算机的汇编语言程序设计举例 例3.1 用次数控制在终端屏幕上输出十个数字符。 例3.2 输入并显示数字符,遇非数字符结束输入。 例3.3 计算1至10的累加和。 例3.4 设计读写内存和子程序调用指令的程序。
3.3.2 PDP-11计算机指令系统介绍 ⒈PDP-11计算机的主要特点: ⑴采用单总线(UNIBUS)结构。 ⑵机器字长16位。 ⑶CPU内有8个通用寄存器,R6和R7用于SP和PC。 ⑷按字或按字节寻址。 ⑸操作码使用逐段扩展技术,长度不同。 ⑹采用统一寻址方式访问通用寄存器、主存及外设,没有专门的I/O指令。 ⒉PDP-11计算机的指令: ⑴双操作数指令; ⑵单操作数指令; ⑶无操作数指令: ⑷其它特殊指令。
3.3.3 NOVA计算机指令系统介绍 ⒈NOVA(DJS-130)计算机指令系统特点: ⑴操作码字段与操作数地址字段有所交叉。 ⑵操作码分主操作码和辅助操作码,其一条指令的功能往往相当于其它计算机几条指令的功能。 ⒉NOVA(DJS-130)计算机指令系统分类: ⑴算术逻辑运算指令: ⑵转移与访内指令: ⑶输入/输出指令:
3.4 控制器的功能和组成与指令执行步骤 3.4.1 控制器部件的功能和组成概述 3.4.2 指令执行步骤概述
3.4.1 控制器部件的功能和组成概述 ⒈指令的执行阶段划分: ⑴读指令;⑵分析指令;⑶执行指令。 ⒉控制器的基本功能: ⑴向整机每个部件提供协同运行所需的控制信号。即根据当前正在执行的指令和它所处的执行步骤,形成并提供出在这一时刻整机各部件要用到的控制信号。 ⑵保证按程序中排定的指令运行次序自动地连续执行指令序列。
3.4.1 控制器部件的功能和组成概述(续) ⒊控制器的组成: ⑴程序计数器(PC):存放下一条要执行的指令地址。 ⑵指令寄存器(IR):保存被执行指令的主要信息。 ⑶指令执行步骤标记线路:标记每条指令的各执行步骤的相对次序关系。 ⑷全部时序控制信号的产生部件:形成并提供出当前各部件本时刻要用到的控制信号。 ⒋控制器分类(按⑶⑷两项划分): ⑴微程序控制器:指令执行步骤由微指令控制。 ⑵组合逻辑控制器:指令执行步骤由硬布线控制。
3.4.2 指令执行步骤概述 ⒈预备知识: ⑴指令功能与指令格式的有关内容; ⑵运算器中的累加器的读写控制; ⑶内存储器的存储单元的读写控制; ⑷输入/输出设备接口的寄存器的读写控制; ⒉指令执行步骤 ⑴指令介绍:P.160 ⑵执行步骤:P.161 ①读取指令; ③执行指令(一到几个步骤); ②分析指令; ④检查有无中断请求。
3.5 组合逻辑的控制器部件 • 基本原理: 利用组合逻辑门线路直接提供控制计算机各功能部件协同运行所需的控制信号。 • 优缺点: ⑴形成控制信号所必需的线路延迟时间少。 ⑵形成时序控制信号的控制逻辑比较复杂。 • 与微程序控制器的比较: ⑴优缺点相互对立; ⑵基本功能相同,两者对硬件结构和指令执行步骤无实质影响。
3.5 组合逻辑的控制器部件(续) 3.5.1 组合逻辑控制器的组成和运行原理简介 3.5.2 8位机的组合逻辑控制器实例 3.5.3 组合逻辑的控制器教学实验
3.5.1 组合逻辑控制器的组成和运行原理简介 ⒈组合逻辑控制器的组成: ⑴程序计数器(PC): 保证指令连续运行。 ⑵指令寄存器(IR): 寄存指令信息。 ⑶节拍发生器: 标记指令各执行步骤的相对次序关系。 ⑷时序控制信号的产生部件: 形成并提供计算机各部件当前要用到的控制信号。
3.5.1 组合逻辑控制器的组成和运行原理简介 ⒉组合逻辑控制器的运行原理: • 从计算机的基本功能的层次考虑: ⑴计算机基本功能:自动连续地执行程序。 ⑵涉及到的部件:程序计数器(PC)。 • 从计算机执行一条指令的层次考虑: ⑴设计阶段: ①划分指令执行步骤,设计每步功能; ②确定各部件要求使用哪些控制信号; ③选用何种逻辑线路、采用何种方案。 ⑵涉及到的部件: 指令寄存器(IR)、节拍发生及时序控制信号形成部件。
3.5.2 8位机的组合逻辑控制器实例 ⒈8位机的组合逻辑控制器的实际组成 ⑴TEC-3特点: ①8位字长;②16个通用寄存器; ③地址寄存器和地址寄存器为16位。 ⑵TEC-3组成(图3.4和图3.5 ): ①程序计数器(PC); ②指令寄存器(IR); ③节拍发生器; ④时序控制信号形成部件。
3.5.2 8位机的组合逻辑控制器实例 ⒉8位机的指令执行步骤与节拍发生器设计 ⑴8位机的指令执行步骤设计 ①步骤:读取指令;分析指令;执行指令;判中断请求。 ②说明:地址计算;进位位处理(设C0)。 ③TEC-3指令分组:A,B,C,D组(见P.168)。 ④指令执行步骤的划分和每个步骤所执行的处理功能:(图3.6) ⑵节拍发生器的逻辑表达式设计 ①节拍发生器的作用:用多位触发器的输出信号的不同组合状态来标示每条指令的执行步骤。 ②应注意的几个问题: a、确定应使用的触发器的位数:依全部指令的节拍数而定。 b、合理地为节拍状态分配编码:分配原则(P.171)。 C、写出每位触发器状态转换的逻辑表达式:方法(P.171)。
3.5.2 8位机的组合逻辑控制器实例 ⒊8位机的时序控制信号形成部件设计 ⑴确定TEC-3机应选用的时序控制信号 ①各功能部件的实际需求: a、运算器: b、内存和I/O接口: c、CPU内部总线: d、特定寄存器: ②控制器形成并提供的主要时序控制信号:见P.17 ⑵设计指令流程中各时序控制信号的状态值:见表3.5 ①输入信号: ②输出信号: ⑶写出时序信号的逻辑表达式:
3.5.3 组合逻辑的控制器教学实验 ⒈8位机的组合逻辑的控制器教学实验概述 ⒉8位机的组合逻辑控制器教学实验的必要说明
3.6 8位教学计算机的微程序控制器部件 3.6.1 微程序控制器的基本工作原理 3.6.2 8位机的微程序的控制器的实际组成 3.6.3 8位教学计算机的微程序设计 3.6.4 微程序控制器部件的教学实验
3.6.1 微程序控制器的基本工作原理 ⒈微程序控制器的组成 ⑴控制存储器(ROM器件): 微程序定序器中的核心组成部分,用于存储按一定规则组织好的全部控制信号,由若干个存储单元(字)组成。 ⑵存储单元(字)或称微指令(字): 由执行一条指令的一个运行步骤用到的全部控制信号,以及主要用于指明下一个执行步骤的信号共同组成。 ⑶微程序: 每个存储单元(字)存放一条微指令,全部微指令组成一台计算机的微程序。 ⒉工作原理:P.206
3.6.1 微程序控制器的基本工作原理 ⒊微程序控制器对自身的控制 ⑴得到下一条微指令地址的有关技术 ①基本思想:P.206 ②决定下条微指令地址(下地址)的因素:P.206 ③得到下地址的方法:P.207 ⑵微程序定序器Am2910芯片的组成与功能 ①Am2910芯片的内部组成:见图3.9( P.207) ②Am2910引脚的定义:输入信号和输出信号。 ③Am2910的功能与具体用法:见表3.7( P.209)
3.6.2 8位机的微程序控制器的实际组成 ⒈控制存储器μCM: ⒉微指令寄存器PLR: ⒊微指令下地址形成部件: Am2910器件及其配套电路。 ⒋见图3.10
3.6.3 8位教学计算机的微程序设计 ⒈确定微指令格式:见图3.12 ⒉确定微指令的地址分配: ⑴两种控制器实现的区别: ①提供控制信号的方式不同; ②处理指令执行步骤之间的衔接关系的方式不同。 ⑵微指令的读取与执行时间安排:见图3.13 ①将两段时间尽可能地重叠起来; ②设置微指令寄存器。 ⑶为所有微指令合理分配微地址:见表3.9 ⒊确定微指令各字段的编码值:见表3.11
3.7 16位教学计算机的微程序的控制器部件 3.7.1 TEC-2教学计算机指令系统介绍 3.7.2 TEC-2教学计算机微程序控制器的设计与实现 3.7.3 自行设计新指令的微程序
3.7.1 TEC-2教学计算机指令系统介绍 ⒈教学计算机指令系统概述 ⒉教学计算机指令系统详述 ⒊汇编语言设计
3.7.2 TEC-2教学计算机微程序控制器的设计与实现 ⒈基本组成部分 ⒉辅助组成部分 ⒊教学计算机的微程序设计 ⑴微指令格式 ⑵微程序清单 ⑶微程序分析
序号 ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛ ⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇ ①②③④⑤⑥⑦⑧⑨⑩