1、计算机组成原理与汇编语言程序设计学习指导第一章 绪论1掌握:存储程序工作方式,信息的数字化表示。存储程序工作方式的工作要点是: 采用二进制代码表示数据和指令。 采用存储程序工作方式,即事先编制程序,事先存执程序,自动连续执行程序。 由存储器、运算器、控制器、输入设备、输出设备组成计算机硬件系统。 2理解:计算机的特点,主要性能指标的含意,硬件系统的典型结构,软件系统的主要内容。 计算机的特点:能在程序控制下自动连续地工作、运算速度快、运算精度高、强大的信息存储能力、通用性强应用领域广泛。 主要性能指标:基本字长、数据通路宽度、运算速度、主存容量、外存容量、配置的外部设备及性能、系统软件配置。
2、硬件系统:CPU、主存、外存、输入/ 输出设备、总线、接口。 软件系统:系统软件、应用软件。 3了解:硬软组成的层次结构关系。用户程序语言处理程序及各种软件资源操作系统机器语言(指令系统)硬核(指令微操作级、数字逻辑电路)第二章 计算机中的信息表示1掌握:数制及其转换1)首先掌握二进制多项式的通式(2-1)2)掌握十进制整数转换为二进制整数(除二取余法)例:(116) 10 = (1110100) 2余数2 116 .0 低位2 58 .02 29 .12 14 .02 7 .12 3 .12 1 .1 高位0 注意:除二取余法中余数排列次序,即高位在下,低位在上。3)掌握十进制小数转换为二进
3、制小数(乘二取整法)例:(0.625) 10 = (0.101) 2整数0.6252=1.25 1 高位0.252=0.5 0 0.52=1 1 低位注意:乘二取整法中整数排列次序,即低位在下,高位在上。4)掌握码制及其转换真值的概念:用正负符号加绝对值来表示的数值,例如,+6、-8机器数的概念:连同数符一起数码化了的数,例如,01111、10111补码的概念:负数原码转换为补码(符号位保持不变,其余各位先取反,然后末位加 1)Y补转换为-Y补(连同符号位一起取反,然后末位加 1)5)定、浮点数表示方法掌握定点表示法,尤其是带符号定点表示的典型值。掌握浮点表示法,浮点数的格式,规定浮点数格式后
4、的典型值。6)常见寻址方式关键掌握立即寻址、直接寻址、寄存器寻址、间接寻址、变址寻址的概念。2理解:指令的基本格式,地址结构。掌握指令的基本格式包含的信息,二地址、一地址和零地址的概念3了解:ASCII 码,指令分类。第三章 中央处理器原理一、掌握:CPU 基本组成模型(寄存器组成、数据通路结构),同步控制方式与常见时序信号,微命令(脉冲、电位),熟练掌握指令流程(能拟出给定指令的流程)。首先在掌握上述概念的基础上,结合教材图 3-13 熟悉模型机的构成(最好分成几大块记忆理解)。重点了解组合逻辑控制器的设计步骤,就可以掌握有关的指令流程,下面一一加以介绍。(1) 首先根据指令系统分析每条指令
5、的流程,写出每一条指令所对应的微操作序列。(2) 对所有微操作进行逻辑综合与化简,写出每个微操作的逻辑表达式。(3) 根据这些逻辑表达式,对微操作控制信号形成部件进行逻辑设计。1确立模型机的指令系统(1)指令格式双操作数指令15 12 11 9 8 6 5 3 2 0操作码 寄存器号 寻址方式 寄存器号 寻址方式目的操作数 源操作数寄存器编号 寻址方式 操作类型R0 000 寄存器寻址 000 MOV 0000R1 001 寄存器间接寻址 001 ADD 0001R2 010 自减型寄存器间接寻址 010 SUB 0010R3 011 自增型寄存器间接寻址 011 AND 0011SP 100
6、 直接寻址 100 OR 0100PSW 101 变址寻址 101 EOR 0101PC 111 例: 指令 AND R1, X(R2)0011 001 000 010 101指令 OR -(R3),(R0)0100 011 010 000 001单操作数指令15 12 11 9 8 6 5 3 2 0操作码 寄存器号 寻址方式2确立时序系统(1)工作周期(机器周期)取指周期 FT源周期 ST目的周期 DT执行周期 ET例:双操作指令,且两个操作数均在主存中,经历的工作周期是,取指周期 FT源周期 ST目的周期 DT执行周期 ET例:单操作指令,且操作数在主存中,经历的工作周期是,取指周期 F
7、T目的周期 DT执行周期 ET例:双操作指令,且操作数在 CPU 寄存器中,经历的工作周期是,取指周期 FT执行周期 ET(2)节拍(时钟周期)T0,T1,T2 (3)工作脉冲在每个节拍末尾发一个工作脉冲 P3分析指令流程取指流程(2 拍)PCMAR :FT0MMDRIR :FT1PC+1PCMOV 指令流程MOV R1, R2取指令 FT(FT0、FT1)R2C ST0CR1 ET0双操作指令例:AND R1, X(R2)取指令PCMARMMDRDPC+1PCD+R2ZZMARMMDRCR1DCDZZR1例:OR -(R3),(R0)取指令R0MARMMDRCR3-1ZZMAR,R3MMDR
8、DCDZZMDRMDRM4微命令综合在分析完全部指令流程和微操作时间表,以及全部工作周期、节拍、脉冲等之后,进行综合分析,即可得出各微命令得逻辑表达式(教材 102 页),然后再进行化简。5逻辑设计根据全部逻辑表达式,分别用组合逻辑电路或 PLA 阵列来实现,从而形成微操作信号发生器。二、理解:进位链,ALU 组成,补码加减,无符号数一位乘、除的算法,微程序控制器(基本思想、优缺点)。第四章 典型 CPU1理解;8086/8088 的寄存器结构、主存储器、堆栈结构,能为使用汇编语言编程建立必要的基础。重点是:理解标志寄存器各状态标志位的含意。掌握堆栈压入指令 PUSH 和弹出指令 POP 的功
9、能,特别是对堆栈指针 SP 的操作2掌握:8086/8088 指令系统的基本寻址方式及其使用方法。1)寻址方式要求掌握几种常用的寻址方式:寄存器寻址方式、立即数寻址方式、直接寻址方式、寄存器间址方式、变址寻址。主要是通过阅读程序和编写程序来掌握这些寻址方式的应用,对存储器中的操作数可使用不同的寻址方式进行存取,编程时应根据需要选择合适的寻址方式。例如连续访问一维数组中的各元素,可用寄存器间址或变址寻址方式。2)8086/8088 指令由于指令条数较多,不易记忆,造成复习困难。为了使同学们能掌握最常用的指令,为读懂程序和编写简单程序段打下基础,本文列出一些需熟练掌握的指令(注意,并不是其它指令就
10、不重要了,它们在实际的程序中也要用到)。(1) 传送类:数据传送指令 MOV、交换指令 XCHG、装入有效地址指令。注意,这三条指令对状态标志位无影响。(2) 算术运算类:加法指令 ADD、带进位加法指令 ADC、加 1 指令 INC;减法指令 SUB、带借位减法指令 SBB、减 1 指令 DEC、求负数指令 NEG、比较指令 CMP;无符号数乘法指令 MUL、无符号数除法指令 DIV。注意,要掌握加减运算指令对状态标志位的影响。(3) 位操作类:逻辑与指令 AND、逻辑或指令 OR、逻辑异或指令 XOR、逻辑非指令 NOT、测试指令 TEST;算术左移 SAL、算术右移 SAR、逻辑左移 S
11、HL、逻辑右移 SHR、循环左移 ROL、循环右移 ROR、带进位循环左移 RCL、带进位循环右移 RCR 等。注意,要掌握逻辑运算指令和测试指令对状态标志位的影响。(4) 标志位操作指令:清除进位标志 CLC、进位标志置位 STC。对于上面这些最常用的指令,要掌握它们的格式、功能、以及在程序中的使用。第五章 汇编语言程序设计1掌握:常用汇编语言语句、伪指令、源程序的一般结构。 1)汇编语言中的常用运算符(1) 算术运算符:+、-、 (下标运算)(2) 数值返回运算符:SEG、OFFSET、TYPE、SIZE、LENGTH。(3) 属性运算符:PTR2)常用伪指令(1) 符号定义伪指令:等值伪
12、指令 EQU、等号伪指令“”。(2) 数据定义伪指令:DB、DW 、DD注意掌握如何使用数据定义伪指令来定义变量,以及为变量赋初值的表达式的几种形式:数值表达式、?表达式、字符串表达式、带 DUP 表达式。(3) LABEL 伪指令注意 LABEL 伪指令与指令或数据定义伪指令连用时的使用方法。(4) 段结构伪指令要求掌握:段定义伪指令 SEGMENT/ENDS、段寻址伪指令 ASSUME、END 伪指令在程序中的使用;汇编语言源程序的分段结构和段寄存器的装入。(5) 过程定义伪指令 PROC/ENDP可结合子程序设计,掌握在同一代码段中使用过程定义伪指令去定义子程序。(6) 定位伪指令 OR
13、G:在数据段中的使用。2顺序程序设计要求能编制顺序程序段完成四则运算多项式的计算及指定功能。3分支程序设计要求能使用转移指令编制具有 12 个分支结构的程序段。(1) 无条件转移指令 JMP:掌握段内直接寻址转移。(2) 条件转移指令掌握:简单条件转移指令 JC、JNC 、JE、JNE、JS、JNS,无符号数条件转移指令 JA、JAE 、JB 、JBE,带符号数条件转移指令JG、 JGE、JL、JLE。注意区分无符号数条件转移指令与带符号数条件转移指令的使用场合。4循环程序设计要求能使用循环控制指令或转移指令编制简单的单重循环程序段,重点是 LOOP 循环控制指令的功能和使用。5子程序设计掌握
14、子程序调用指令 CALL、子程序返回指令 RET 的功能与使用,使用寄存器传递主、子程序参数的方法,能编制程序段实现段内的子程序调用与返回。6DOS 功能子程序调用要求了解四种 DOS 功能调用:带显示的键盘输入 (1 号功能)、字符串输入(OAH 号功能) 、单字符显示(2 号功能)、字符串显示(9 号功能)。7了解:汇编语言程序的开发方法。第六章 存储系统1掌握:三级存储体系(功能、存储器、存取方式、性能要求),熟练掌握主存储器容量扩展方法(即主存储器设计)。1)三级存储体系常见的三级存储体系(从 CPU 往外)是: Cache、主存、外存。主存储器用来存放需 CPU 运行的程序和数据。用
15、半导体 RAM 构成,常包含少部分 ROM。可由 CPU 直接编程访问,采取随机存取方式,即:可按某个随机地址直接访问任一单元(不需顺序寻找) ,存取时间与地址无关。存储容量较大,常用字节数表示,有时也用单元数位数表示。速度较快,以存取周期表示。Cache 位于 CPU 与主存之间 (有些 Cache 集在 CPU 芯片之中) ,用来存放当前运行的程序和数据,它的内容是主存某些局部区域(页)的复制品。它用快速的半导体 RAM 构成,采取随机存取方式。存储容量较小而速度最快。外存储器用来存放暂不运行但需联机存放的程序和数据。用磁盘、光盘、磁带等构成,磁盘用于需频繁访问场合,光盘目前多用于提供系统
16、软件,而磁带多用于较大系统的备份。CPU 不能直接编址访问外存,而是将它当作外围设备调用。磁带采取顺序存取方式。磁盘与光盘采取直接存取(半顺序)方式,先直接定位到某个局部区域,再在其中顺序存取。外存容量可以很大,以字节数表示。由于外存的存取时间与数据所在位置有关,所以不能用统一的存取周期指标来表示。例如磁盘的速度指标可按其工作过程分成三个阶段描述:平均寻道时间平均旋转延迟(等待)时间数据传输率。2)存储器设计CPU 加上主存,习惯上称为主机。在构建某个计算机应用系统中,常需自行设计半导体存储器,即用若干存储芯片构造一定容量的存储器。所以这是必须熟练掌握的核心内容。设计题:用 1K4/片的存储芯
17、片构成一个 4KB 存储器,地址总线 A15A0(低),数据总线 D7D0( 低),R/W 控制读写。请画出芯片级逻辑框图,注明各信号线,写出片选逻辑式。教材已经完整地讲解了设计方法与设计过程,本文在这里仅强调一些需要注意的地方。若本题的题分为 10 分,则评分标准往往是:芯片数量及其组合 1 分;芯片地址是哪几位,3 分;片选逻辑,4 分;数据线 1 分;读写控制 1 分。在完成设计并画出逻辑图后,应当从上述几方面检查一下。存储器逻辑的核心是寻址逻辑,因此芯片地址、片选逻辑的地址线如何确定是问题的关键。这两项在评分标准中占有主要份量。为此需要掌握存储容量与相应地址位数之间的对应关系:1K 容
18、量需要 10 位地址,2K 容量需要 11 位地址。本题的地址分配关系如下:不用片选芯片地址 A15 A14 A13 A12片选地址 A11 A10芯片地址 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0片选逻辑式:CS0A11 A10 CS1A11 A10CS2A11 A10 CS3A11 A102理解:静态、动态 RAM 的存储原理、特点、动态刷新,主存与 CPU 之间的连接。1)静态 RAM静态 RAM 依靠双稳态电路(内部交叉反馈 )存储信息,即一个双稳态电路单元存放一位二进制信息,一种稳态为 0,另一种稳态为 1。只要电源正常就能长期保存信息,不需动态刷新,所以称为静态存
19、储器。一旦断电则信息将会丢失,属于易失性(挥发性)存储器。与动态 RAM 相比,静态 RAM 的速度更快,功耗较大,集成度较低,常用于容量较小的存储器中。改错题:静态 RAM 的“静态”二字含意是:在工作中它的内容静止不变。2)动态 RAM动态 RAM 依靠电容暂存电荷来存储信息,电容充电至高电平为 1,放电至低电平为 0。由于暂存电荷会逐渐泄漏,需要定期补充电荷来维持为 1 的存储内容,这种方法称为动态刷新。由于需要动态刷新,所以称为动态存储器。在电源正常并采取动态刷新的条件下,可以长期保存信息。一旦断电则信息丢失,也属于易失性存储器。与静态 RAM 相比,动态 RAM 功耗较小,集成度较高
20、,但速度稍慢一些。常用来构成容量较大的存储器。3)动态刷新在动态存储器中,定期对原存信息为 1 的电容补充电荷,称为动态刷新。动态刷新的方法是:存储器中各存储芯片同时按行地读出重写。全部刷新一遍所允许的最大时间间隔称为最大刷新周期,一般为 2ms。动态刷新的安排方式有三种:集中刷新、分散刷新、异步刷新,目前广泛采用后一种,或是利用 DMA 方式实现,或是设置专门的刷新逻辑,或是将刷新逻辑集成在存储芯片内部。3了解:高速缓存和虚拟存储的基本思想。第 7 章 主机与外部设备的信息交换 本章重点在于:中断方式与 DMA 方式。前面已经说过,教材在三处采用了“熟练掌握 ”的提法:CPU 基本组成与指令
21、流程,用存储芯片构成某一容量的存储器,中断方式与 DMA 方式。这些知识点涉及到建立整机概念的核心问题: CPU 如何执行指令,计算机如何存储信息,如何控制输入/输出。为了将主机与 I/O 设备连接成一台计算机系统,需要通过系统总线与各种接口实现连接,还要能够选择实现三种基本的 I/O 控制机制之一。这是由 CPU 级发展到系统级整机概念的关键,其中有关中断方式和 DMA 方式的概念最为重要,也相对复杂些,因此被列为熟练掌握的核心内容之一。(1) 定义:当 CPU 接到某个随机的中断请求信号后,暂停执行当前的程序,转去执行相应的中断处理程序,为该随机事态服务,服务完毕后自动返回并继续执行原程序
22、。这一过程称为中断,采用这种方式控制 I/O 操作或处理随机事件,称为中断方式。(2) 特点:通过执行程序处理,具有随机性。(3) 应用:抽象地说,中断方式主要应用于管理中低速 I/O 操作、处理复杂的随机事件。具体的应用实例如:故障处理、中低速 I/O控制、通信、实时处理、人机对话等。(4) 中断过程:中断请求信号的产生与传送,屏蔽与判优,CPU 响应(保存断点、转向中断处理程序入口) ,中断处理(执行处理程序),返回。(细节见教材)(5) 向量中断:这是现代计算机广泛采用的一种获取中断处理程序入口的方式。事先将系统各个中断处理程序的入口地址作为中断向量,组织成一个中断向量表,存放在主存的特
23、定区域中;当 CPU 响应中断请求并发出批准信号后,提出该请求的中断源(如某个中断接口)向 CPU 送出自己的向量编码(如中断类型码 ),CPU 将它转换成向量地址;据此访问主存中的中断向量表,从中读取相应的中断处理程序入口地址,从而转去执行处理程序。5DMA 方式作为三种 I/O 控制机制之一,DMA 方式是一种重要的数据传送方式。(1) 定义: DMA 方式是直接依靠硬件实现主存与 I/O 设备之间数据直接传送的一种方式,在传送过程中不需 CPU 程序干预。(2) 特点:直接依靠硬件实现数据传送(不是依靠执行程序) ,具有随机性。(3) 应用:抽象地说,DMA 方式适用于高速的简单数据批量
24、传送。具体的应用实例如:读写磁盘、光盘、磁带等外存储器时的数据传送、网络通信、动态刷新等。(4) 典型过程:一次完整的调用过程包含三个阶段:ADMA 初始化。CPU 执行初始化程序:预置 DMA 控制器的工作方式,并向它送出传送方向、主存缓冲区首址、交换数据量等信息;向 I/O 设备接口送出读写命令、设备寻址信息,然后启动设备工作。BDMA 传送。当需要传送时,接口向 DMA 控制器提出 DMA 请求,然后 DMA 控制器向 CPU 申请总线控制权,获得批准后由DMA 控制器接管总线(送出总线地址和读写命令 ),接口和主存之间通过数据总线直接传送。C结束处理。批量传送结束后,接口向 CPU 提
25、出中断请求,CPU 执行中断处理程序进行结束处理。本章其他需要掌握的内容还有:1掌握常见的对 I/O 接口用什么方法分类,可以分为几类。2. 了解接口的定义及所处的位置。3掌握接口的分类(并行、串行)。4了解什么是总线的数据传输率。5掌握同步、异步通信中,数据传送所需时间是如何确定的。6掌握程序中断的概念,说明它适用的场合。7了解什么是向量中断方式8. 掌握中断过程包括哪几个阶段9掌握 DMA 方式的基本定义10掌握 DMA 工作过程有哪几个阶段?其初始化阶段需进行哪些程序准备工作?11了解 DMA 的应用场合12掌握程序中断方式和 DMA 方式的的相同与不同之处。练习题1改错(1)DMA 方
26、式是:直接依靠硬件实现 CPU 与 I/O 设备之间的数据直传。(2)串行接口是指:接口与总线之间串行传送,接口与设备之间串行传送。(3)并行接口是指系统总线采用并行传送。(4)方式是指:由控制器运行程序,以实现外围设备与主存之间的数据直传。2简述何谓程序中断 ?说明它适用场合3简要说明中断接口的基本组成。4简述 DMA 工作过程有哪三个阶段?其初始化阶段需进行哪些程序准备工作?5简述部件内总线、系统总线、外总线的作用。6常见的总线分类方法有哪儿种?相应地可将总线分为哪几类?第 8 章 输入/ 输出设备本章需要掌握的内容有:1了解键盘是如何产生键码的。2. 了解在字符显示方式中,显示缓存中存放的是什么内容3掌握硬盘基本的技术指标。练习题1键盘接口通常( )。 选用 DMA 接口 选用中断接口选用直接程序传送方式接口 既可选中断接口也可选 DMA 接口 2在 CRT 显示器中,字符发生器应当选用( ) RAM BROMC磁盘 D磁带3改错(1)在磁盘上存放文件时,如果一个磁道上放不完,则存放在同一记录面的下一个磁道上。(2)在针式打印机的字符发生器中存放的是要打印的字符的 ASCII 码。4简述 SRAM 与 DRAM 分别依靠什么原理存储信息?适用场合?