670 likes | 824 Views
计算机组成原理与汇编语言复习 一、教学目标和考核要求 二、计算机组成原理复习 三、汇编语言程序设计复习. 一、 . 教学目标和考核要求 本课程的基本教学目标是:建立整机概念,它大体上分为两级。 ( 1 ) CPU 级: 逻辑组成(寄存器级), 工作原理(指令流程级), 编程应用(汇编语言级)。 ( 2 )系统级: 逻辑组成( CPU 子系统、存储子系统、 I/O 子系统) 工作原理( CPU 指令流程,存储器读写,三种控制 I/O 的策略)。. ( 1 )基本考核点:
E N D
计算机组成原理与汇编语言复习 一、教学目标和考核要求 二、计算机组成原理复习 三、汇编语言程序设计复习
一、.教学目标和考核要求 • 本课程的基本教学目标是:建立整机概念,它大体上分为两级。 • (1)CPU级: • 逻辑组成(寄存器级), • 工作原理(指令流程级), • 编程应用(汇编语言级)。 • (2)系统级: • 逻辑组成(CPU子系统、存储子系统、I/O子系统) • 工作原理(CPU指令流程,存储器读写,三种控制I/O的策略)。
(1)基本考核点: • CPU组成与指令流程,阅读与编写汇编语言程序段,存储器逻辑设计,总线,接口,同步控制,异步控制,中断方式,DMA方式,数制转换,码制转换等
考核要求层次: • 本考核说明将使用下述术语分别表明几种要求层次。 • (1)掌握:指重点要求的内容。 • 对于理论概念性的内容,应能:正确阐述,作正误判断并更正有关的错误,对相关概念进行综合比较分析,综合应用。例如:试以打印机工作为例说明中断方式的几个过程,试比较中断方式与DMA方式的异同等。 • 对于设计性内容,应能掌握设计方法,正确完成设计。例如:拟出某条指令的指令流程。主存逻辑设计,编制汇编语言程序段等。 • 对于某些特别重要的内容,大纲将采用“熟练掌握”的提法。
(2)理解:对于这一要求层次的内容应能:正确阐述有关概念,作正误判断并更正有关的错误,简单应用。例如:说明微程序控制的基本思想,阅读某程序段后给出它的执行结果等。(2)理解:对于这一要求层次的内容应能:正确阐述有关概念,作正误判断并更正有关的错误,简单应用。例如:说明微程序控制的基本思想,阅读某程序段后给出它的执行结果等。 • (3)了解:对于这一要求层次的内容,将不作为考核重点,所占题分很少;或者只是某道考核题中涉及到一点。例如:IOP,虚拟存储,显示器分辨率指标等。
(3)、考试题型 • 单项/多选选择题(10%) • 改错题(20%) • 简答题(30%) • 分析题(汇编语言部分)(10%) • 设计题(组成原理与汇编部分) (30%)
组成原理复习 • 1、要求熟练掌握的内容 • 2、要求掌握、理解的内容
一、 需熟练掌握的内容 • CPU基本组成与指令流程, • 用存储芯片构成某一容量的存储器, • 中断方式与DMA方式。
1.CPU指令流程 • 能根据模型机指令系统所设置的基本寻址方式,,拟出模型机各类指令的流程。
(1)掌握模型机数据通路结构 • (2)熟练掌握基本寻址方式的含义 • 基本寻址方式: • 寄存器寻址、寄存器间址、自减型寄存器间址,自增型寄存器间址,变址寻址 • (3)掌握各指令的功能 • (4)清楚指令中的源地址和目的地址的位置
…………. PC ADD X(R0),(SP)+ 形式地址 下条指令 • 例1:拟出指令ADD X(R0),(SP)+;的读取与执行的流程。 • YUAN: 堆栈寻址 MUDI:变址寻址 • 指令功能:从堆顶取出源操作数,通过变址方式取得目的操作数,源操作数和目的操作数相加,结果送入目的地址.
FT0:PC ->MAR • FT1: M->MDR ->IR PC+1 ->PC • ST0: SPMAR • ST1: MMDRC • ST2: SP+1Z • ST3: ZSP • DT0: PCMAR • DT1: MMDRD • PC+1PC • DT2:R0 +D->Z • DT3:Z ->MAR • DT4: MMDRD • ET0: C+DZ • ET1: ZMDR • ET2: MDRM …………. PC ADD X(R0),(SP)+ 形式地址 下条指令
2.存储器的逻辑设计 • 能根据存储容量计算所需的存储芯片数,能分配芯片地址并拟定片选逻辑,能用信号线连接各个存储芯片.
1.例1 • 用2114(1K*4)SRAM芯片组成容量为4K*8位的存储器。 • 地址总线A15~A0(低),双向数据总线D7~D0(低),读/写信号R/W(非)。 • 给出芯片地址分配与片选逻辑,并画出M框图。
(1)计算芯片数: • 1)先扩展位数,再扩展单元数 • 2片1K*4 1K*8 • 4组1K*8 4K*8 共8片 • 2)先扩展单元数,再扩展位数 • 4片1K*4 4K*4 • 2组4K*4 4K*8 共8片
(2)地址分配与片选逻辑 • 地址分配:为芯片分配哪几位地址,以便寻找片内的存储单元 • 片选逻辑:由哪几位地址形成芯片选择逻辑,以便寻找芯片。 • 存储空间的安排: • 4KB存储器在16位地址空间(64KB)中占据任意连续区间。
低位地址分配给芯片,高位地址形成片选逻辑。低位地址分配给芯片,高位地址形成片选逻辑。
D7~D4 D0~D3 2114 4 R/W 4 2114 10 A9~A0 连接方式;
D7~D4 D0~D3 2114 2114 2114 2114 4 4 4 4 R/W 4 4 4 4 2114 2114 2114 2114 A9~A0 CS0 CS1 CS2 CS3 10 10 10 10 A11A10 A11A10 A11A10 A11A10
1K: 10位地址A9~A0 • 2K:11位地址A10~A0 • 4K:12位地址A11~A0
3.中断方式与DMA方式 • (1)中断方式 • 定义、特点、应用场合、中断接口 • 中断过程
定义 • CPU暂时中止现行程序的执行,转去执行为某个随机事件服务的中断处理程序。处理完毕后自动恢复原来程序的执行。 • 特点:(1)程序切换(2)随机性
典型应用 • 抽象地说,中断方式主要应用于管理中低速I/O操作、处理复杂的随机事件。具体的应用实例如:故障处理、中低速I/O控制、通信、实时处理、人机对话等。
中断接口:组成和各部分组成的功能 • 中断过程:中断请求信号的产生与传送,屏蔽与判优,CPU响应(保存断点、转向中断处理程序入口),中断处理(执行处理程序),返回。
(2)DMA方式 • 定义、特点、应用场合、DMA过程
定义:DMA方式是直接依靠硬件实现主存与I/O设备之间数据直接传送的一种方式,在传送过程中不需CPU程序干预。定义:DMA方式是直接依靠硬件实现主存与I/O设备之间数据直接传送的一种方式,在传送过程中不需CPU程序干预。 • 特点:具有随机性,用硬件实现数据传送(不是依靠执行程序),传送速度快,具有更高的并行程度,传送操作简单。 • 应用:抽象地说,DMA方式适用于高速的简单数据批量传送。具体的应用实例如:读写磁盘、光盘、磁带等外存储器时的数据传送、网络通信、动态刷新等。
DMA过程: • 三个阶段: • A.DMA初始化。CPU执行初始化程序:预置DMA控制器的工作方式,并向它送出传送方向、主存缓冲区首址、交换数据量等信息;向I/O设备接口送出读写命令、设备寻址信息,然后启动设备工作。 • B.DMA传送。当需要传送时,接口向DMA控制器提出DMA请求,然后DMA控制器向CPU申请总线控制权,获得批准后由DMA控制器接管总线(送出总线地址和读写命令),接口和主存之间通过数据总线直接传送。 • C.结束处理。批量传送结束后,接口向CPU提出中断请求,CPU执行中断处理程序进行结束处理。
第一章 绪论 • 1.掌握:存储程序工作方式,信息的数字化表示。 • 2.理解:计算机的特点,主要性能指标的含意,硬件系统的典型结构,软件系统的主要内容。
第二章 计算机中的信息表示 • 1.掌握:数制及其转换,码制及其转换,定、浮点数表示方法及标准格式,常见寻址方式,I/O编址方法。 • 2.理解:指令的基本格式,地址结构及简化方法,I/O指令设置方法。
第三章 中央处理器原理 • 1.掌握:CPU基本组成模型(寄存器组成、数据通路结构),同步控制方式与常见时序信号(工作周期、节拍、脉冲),微命令形式(脉冲、电位)。 • 2.理解: • 原码运算含义、特点(取绝对值运算、符号单独处理——无符号运算) • 补码运算含义、特点(符号位参加运算——带符号数运算)组合逻辑控制器(产生微命令方法、优缺点), • 微程序控制器(基本思想、优缺点)、 • 浮点加减运算过程(对阶含义:让阶码小的数向阶码大的数对齐、即小阶增大,同时尾数右移;规格化)
第六章 存储系统 • 1.掌握:三级存储体系(功能、存储器、存取方式、性能要求) • 随机存取、顺序存取、直接存取三种存取方式的含义。 • 2.理解:静态、动态RAM的存储原理、特点、动态刷新(定义、刷新方法、刷新周期安排方法)。
第七章 主机与外部设备的信息交换 • 1.掌握:I/O接口的基本功能与组成,同步总线与同步扩展总线(定义、特点)异步总线(定义、特点,应答关系),直接程序控制方式(定义、应用), • 2.理解:接口分类,总线分类,系统总线的信号组成(理解信号类型)
第八章 I/O设备 • 1.掌握;键盘软件扫描方法,屏幕显示与显存之间的对应关系,磁盘中的信息组织方法与寻址信息。 • 2.理解:点阵成像原理,适配卡的基本组成、磁盘速度指标含意。
1.磁盘存储器 • 对磁盘存储器,要求大家掌握的内容是:磁盘中的信息组织方法、在访问磁盘时应给出的寻址信息、能结合磁盘调用阐述DMA方式 • 在软件组织这一层次,信息是以文件的形式进行组织并存放于磁盘之中,用户只需按文件名进行存取。在物理层次中,一个文件分成若干个数据块,一个数据块包含若干字节,常见的作法是每个数据块的字节数固定(例如512B),称为定长数据块。相应地,磁盘中的信息分布也分为几个层次,以硬盘为例:一个硬盘驱动器中有一个盘组,包含若干盘片/记录面;每个记录面上分为若干磁道,呈同心圆状;每个磁道按一定磁道格式划分为若干扇区,每个扇区可存放一个数据块;在扇区内,数据按位串行记录。
相应地,从物理操作层次看,在调用磁盘时驱动程序需向适配卡送出如下一些寻址信息:台号(驱动器号),圆柱号(磁道号),记录面号(磁头号),扇区号(数据块号)。如果一个文件中的各数据块是顺序存放,则寻址信息中还给出一项:交换量。如果文件中的各数据块不是顺序存放而是随机存放,则每次都应给出其扇区号。相应地,从物理操作层次看,在调用磁盘时驱动程序需向适配卡送出如下一些寻址信息:台号(驱动器号),圆柱号(磁道号),记录面号(磁头号),扇区号(数据块号)。如果一个文件中的各数据块是顺序存放,则寻址信息中还给出一项:交换量。如果文件中的各数据块不是顺序存放而是随机存放,则每次都应给出其扇区号。 • 因此磁盘驱动器的工作过程分为几个阶段:①寻道。盘片等速旋转,磁头沿径向移动以寻找(定位)信息存取位置所在磁道。②寻找扇区。寻道完成后,磁头不动,盘片旋转,等待扇区头部经过磁头。③连续读/写。当扇区头到经过磁头时开始连续读出或写入,此时盘片连续旋转而磁头不动,直到需转入另一圆柱面的磁道时才重新移动磁头。
2.键盘 • 键盘上的键被连接成行列矩阵,每个键位于某行与某列的交点位置,即该键的一端连接到某根行线(i),而另一端连接到某根列线(j)。因此识别按键的基本方法是依序扫描,查找按键所处行列位置(i,j),称为扫描码,再查表将行列位置转换为该按键的键码(一般是ASCII码)。广泛使用的是软件扫描,其中比较简单、易于理解而又具有实用价值的是软件逐行扫描法。
简答题:简述键盘的软件逐行扫描法 • 答:①当有键按下时,键盘产生中断请求,CPU执行键盘扫描子程序。②CPU通过数据线输出代码至各行线,从第0行开始,逐行为0,其余各行为1。将列线输出送CPU进行判断,判别其中是否有一位为0,哪一位为0。③假定扫描至第i行为0时发现第j列输出为0,则按键位置为(i,j)。④查表,将行列码(i,j)转换为ASCII键码。
3.CRT显示器 • 为了掌握显示器的基本原理,关键是理解屏幕显示与显示缓存之间的一组对应关系(存储容量、信息转换、地址组织、同步控制)。从存储器角度看,在主存中开辟有显示输出缓冲区,在显卡(适配器)上有相应的显示缓存(VRAM)。利用屏幕回扫消隐时间,驱动程序将待显示的信息(字符码或位象代码)从主存输出到显卡上的缓存。在屏幕正程扫描显示期间,显示缓存中的信息(或经信息转换)送往屏幕显示。从屏幕显示角度,分为字符显示、图像显示两大类。对于字符显示方式,从显示缓存中读出的是字符编码,需经过字符发生器转换为字符点阵代码,按点阵成象原理在屏幕上形成字符图形。如果是图形方式,从显示缓存中读出的是位象编码,例如按光栅扫描顺序,每8位像点代码为一个字节。
简答题:若字符显示规格为80列×25行,则显示缓存的基本容量应不小于多少?简答题:若字符显示规格为80列×25行,则显示缓存的基本容量应不小于多少? • 答:80×25=2000字节。 • 注意,为了获得丰富的显示效果,显示信息中除字符编码外还有彩色/灰度、显示属性等,因此实际的缓存容量要远大于上述最小值。
简答题:若图形显示规格为800×600,则显示缓存的基本容量应不少于多少?简答题:若图形显示规格为800×600,则显示缓存的基本容量应不少于多少? • 答:(800×600)÷8=60000字节。 • 简答题:字符显示规格为80列×25行,若要在第1行第3列显示一个A,该字符编码应存放在基本缓存第几个单元? • 答:(1×80)+3=83 • 注意,行号与列号都是从0开始。地址组织与扫描顺序相应,扫描顺序自左向右、自上而下,地址码自0开始增加。
汇编语言程序设计复习 • 一、寻址方式 • 二、指令类型 • 三、常用运算符 • 四、常用伪指令 • 五、常用编程技术 • 六、实例
一、寻址方式 • 要求掌握六种常用的寻址方式:寄存器寻址方式、立即数寻址方式、直接寻址方式、寄存器间址方式、变址寻址和基址寻址方式、基址变址寻址方式。主要是通过阅读程序和编写程序来掌握这些寻址方式的应用,对存储器中的操作数可使用不同的寻址方式进行存取,编程时应根据需要选择合适的寻址方式。例如连续访问一维数组中的各元素,可用寄存器间址或变址(基址)寻址方式。
二、指令类型 • 1、 传送类:数据传送指令MOV、交换指令XCHG、装入有效地址指令。注意,这三条指令对状态标志位无影响。
2、 算术运算类:加法指令ADD、带进位加法指令ADC、加1指令INC;减法指令SUB、带借位减法指令SBB、减1指令DEC、求负数指令NEG、比较指令CMP;无符号数乘法指令MUL、无符号数除法指令DIV。 • 注意,要掌握加减运算指令对状态标志位的影响。
3、 位操作类: • 逻辑与指令AND、逻辑或指令OR、逻辑异或指令XOR、逻辑非指令NOT、 • 测试指令TEST; • 算术左移SAL、算术右移SAR、逻辑左移SHL、逻辑右移SHR、循环左移ROL、循环右移ROR、带进位循环左移RCL、带进位循环右移RCR等。 • 注意,要掌握逻辑运算指令和测试指令对状态标志位的影响。
4、程序转移类指令 • (1) 无条件转移指令JMP:掌握段内直接寻址转移。 • (2) 条件转移指令 • 掌握:简单条件转移指令JC、JNC、JE、JNE、JS、JNS,无符号数条件转移指令JA、JAE、JB、JBE,带符号数条件转移指令JG、JGE、JL、JLE。 • 注意区分无符号数条件转移指令与带符号数条件转移指令的使用场合。 • (3)循环控制指令 LOOP 标号 • (4)子程序段内调用与返回指令 • 子程序调用指令 CALL过程名 • 返回指令:RET • 5、 标志位操作指令:清除进位标志CLC、进位标志置位ST
三、常用运算符 • (1) 算术运算符:+、-、〔 〕(下标运算) • (2) 数值返回运算符:SEG、OFFSET、TYPE、SIZE、LENGTH。 • (3) 属性运算符:PTR
四、常用伪指令 • (1) 符号定义伪指令:等值伪指令EQU、等号伪指令“=”。 • (2) 数据定义伪指令:DB、DW、DD • 注意掌握如何使用数据定义伪指令来定义变量,以及为变量赋初值的表达式的几种形式:数值表达式、?表达式、字符串表达式、带DUP表达式。
(3) LABEL伪指令@ • 注意LABEL伪指令与指令或数据定义伪指令连用时的使用方法。 • (4) 段结构伪指令 • 要求掌握:段定义伪指令SEGMENT/ENDS、段寻址伪指令ASSUME、END伪指令在程序中的使用;汇编语言源程序的分段结构和段寄存器的装入。