计算机组成原理教(学)案唐朔飞
...计算机与信息技术学院课程教案专业计算机科学与技术专业课程计算机组成原理讲授人2015年9月10日参考学习\n...(一)课程名称:计算机组成原理(二)学时学分:周4学时,4学分(三)预修课程:数字逻辑、汇编语言(四)使用教材唐朔飞编著:《计算机组成原理》(第2版),高等教育出版社,2008年1月第2版。(五)教学参考书(3本以上)1、王爱英编著:《计算机组成与结构》(第4版),清华大学出版社,2007年3月版。2、白中英编著:《计算机组成原理》(第5版),科学出版社,2013年2月版。3、WilliamStallings编著:《计算机组织与结构--性能设计》(第8版),机械工业出版社,2011年11月版。4、李亚民编著:《计算机组成与系统结构》(第1版),清华大学出版社,2000年4月版。(六)教学方法:课堂讲授,课程设计,师生互动,理论与实验结合教学。(七)教学手段:多媒体教学。(八)考核方式:闭卷考试。(九)学生创新精神与实践能力的培养方法:通过老师出题、小组讨论、实验、学生自由发言等方式使学生掌握基本的计算机专业思维,提高学生分析问题、解决问题的能力,培养学生的动手能力,写作能力和表达能力,将为学生奠定深厚的专业潜力和良好的专业素质。(十)其它要求:严格考勤,学生课堂表现及课堂参与情况占学生成绩的15%,当堂测试、课程论文和课下作业占学生成绩的15%,期末成绩占70%。参考学习\n...第一章计算机系统概论教学时数:2学时教学目的与要求:要求学生了解计算机系统的基本概念,。使学生初步掌握计算机系统的基本概念及本书的基本结构,为进一步深入学习打下基础。教学重点:掌握冯·诺依曼计算机的架构、计算机基本技术指标。教学难点:引入冯·诺依曼计算机的架构、总概全书。第一节计算机系统简介(了解)中央处理器(CPU)运算器主机控制器只读存储器(ROM)硬内存储器可读可写存储器(RAM)件输入设备(如:键盘、鼠标)计外部设备输出设备(如:显示器、打印机)算外部存储器(如:磁盘、磁带、光盘)机操作系统系汇编程序统系语言处理程序解释程序软统编译程序件软数据库管理系统(如FOXBASE)件诊断程序(如DIAGS)支持软件调试程序(如DEBUG)编辑程序(如EDIT)链接程序(如LINK)网络通信系统应用软件(如WPS)第二节计算机的基本组成(重点)层次结构硬件层次结构数据模型、算法用户程序作为软件资源的应用程序语言处理程序(解释、编译)操作系统机器语言(指令系统)微程序控制器硬件硬件逻辑部件参考学习\n...虚拟机层次结构应用程序虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机指令系统、机器语言裸机(硬件)编译:将源程序的全部语句变成机器语言,然后执行。解释:将源程序的一条语句变成机器语言并执行,然后再把下一条语句变成机器语言并执行,直到结束。透明:本来存在的事物或属性,从某个角度看却好象不存在,称为透明。虚拟机:由软件实现功能的机器称为虚拟机。冯-诺依曼(VonNeumann)型计算机1)计算机分为五部分:运算器、控制器、存储器、输入设备和输出设备。计算机以运算器为中心,输入输出设备与存储器之间的数据传送都要经过运算器,各部分的操作及其相互之间的联系都要由控制器集中控制。(指令流生成控制流,控制流控制数据流)运算器输入设备存储器控制器输出设备状数结命态据果令程序结果请命地指命请求令址令令求2)存储器按地址访问,它是一个顺序的线性编址的一维空间,每个单元的位数是固定的。3)采用存储程序原理,将程序和数据放在同一个存储器中,指令和数据等同看待,指令和数据都可以送入运算器中运算,即由指令组成的程序是可以在运行过程中被修改。4)数据以二进制编码,采用二进制运算。5)指令由操作码和地址码两部分组成。操作码表示指令的性质,地址码表示操作数所在的位置。参考学习\n...6)指令在存储器中基本采用顺序执行,由指令计数器指明要执行的指令在存储器中的地址。第三节计算机硬件的主要技术指标(重点)1.字长CPU一次处理的最大的二进制数的位数为机器字长。机器字长:是指参与运算的数的基本位数,它标志着计算精度,位数越多,精度越高,但硬件成本也越高,因为他决定着寄存器、运算部件、数据总线等的位数。2.主存容量主存储器是CPU可以直接访问的存储器,需要执行的程序与需要处理的数据就放在主存中。主存容量大则可以运行比较复杂的程序,并可以存入大量信息,可以利用更完善的软件支撑环境。所以计算机处理能力的大小在很大程度上取决于主存容量的大小。主存容量的记法有两种:字节数(如PC机,640KB)和单元数(字数)*位数(如64K*16)。3.外存容量外存容量一般是指计算机系统中联机运行的外存储容量。4.运算速度(1)CPU时钟频率计算机的操作需要分步执行,每个时钟周期完成一步操作,所以时钟频率在很大程度上反映了CPU速度的快慢。(2)每秒平均执行指令数(ips)由于各种指令的执行时间不等,所以这种描述是粗略的。通常,一条指令能实现一次定点加减运算,所以ips值大致相当于每秒钟能完成的定点加减运算次数。(3)单独注明时间。参考学习\n...第四节本书结构本章思考题1.什么是计算机系统、计算机硬件和软件?2.如何理解计算机系统的层次结构?3.说明高级语言、汇编语言和机器语言的区别及联系。4.指令和数据都存在存储器中,如何区分它们?5.什么是指令?什么是程序?参考学习\n...第二章计算机的发展及应用教学时数:2学时教学目的与要求:通过本章的讲述,使学生初步了解计算机系统的发展历史、应用前景,增进和培养学生的学习兴趣。教学重点:掌握计算机发展趋势。第一节计算机的发展史1.从物理器件的角度分为五代计算机:(1)第一代电子管计算机(2)第二代晶体管计算机(3)第三代集成电路计算机(4)第四代大规模集成电路计算机(5)第五代超大规模集成电路计算机(人工智能)2.从计算机的体积可分为:巨、大、中、小、微型计算机。3.从运算能力可分为:4,8,16,32,64位计算机。第二节计算机的应用1.科学计算和数据应用2.工业控制和实时控制3.网络技术4.虚拟现实5.办公自动化6.多媒体技术7.人工智能第三节计算机的展望1.串行算法改为并行算法,出现了向量计算机、并行计算机和多处理机等。2.高级语言与机器语言的语义距离缩小,出现了面向高级语言机器和直接执行高级语言机器。3.硬件子系统与操作系统和数据库管理系统软件相适应,出现了面向操作系统机器和数据库计算机。4.计算机系统从指令驱动型改变为数据驱动型和需求驱动型,出现了数据流机器和归约机。5.为了适应特定应用环境而出现了各种专用计算机。6.为了获得高可靠性而研制容错计算机。参考学习\n...7.计算机系统功能分散化、专业化,出现了各种功能分布计算机。8.出现了与大规模、超大规模集成电路相适应的计算机系统结构。9.出现了处理非数值化信息的智能计算机。本章思考题1.计算机更新换代以什么为依据?2.什么是摩尔定律?该定律是否永远生效?3.说明网络技术的应用。4.说明人工智能的应用。5.举例说明哪些应用需要采用多媒体技术?参考学习\n...第三章系统总线教学时数:2学时教学目的与要求:使学生掌握总线系统的基本概念,总线的主要技术指标,单、多总线架构的特点及机內的通信方式。教学重点:总线的概念和结构形态、信息传送方式。教学难点:总线的仲裁、总线数据的传送模式。第一节总线的基本概念在计算机的内部,CPU和存储器之间由总线连接。总线是用来连接计算机中的多个部件,以实现部件之间信息交换的一组导线。总线按照它的任务划分,可分为三级:1.片内总线指芯片内部的总线。如CPU内部总线,他连接CPU内部的各个寄存器和算术逻辑运算部件。2.系统总线指CPU、主存、I/O(通过I/O接口)各大部件之间的信息传输线。系统总线根据其传递的信号不同可以分为地址总线、数据总线和控制总线。。3.通信总线用于连接计算机系统之间或计算机系统与其他系统之间的通信。我们所说的总线,一般情况指系统总线。总线在传输数据格式上采用串行传输和并行传输两类。能一次并行传输的数据位数被定义为总线的数据通路宽度,而单位时间能传输的数据量被定义为总线的数据传输率。完成一次总线传送操作所需的时间称为一个总线周期。根据总线可能的传送方向,总线可分为单向总线和双向总线。第二节总线的分类狭义的总线实体是一组传送线。它们的定义与允许的工作方式派生出相应的总线逻辑,如:接收与发送信息逻辑,为共享总线所需的缓冲器,对总线控制权的申请、仲裁、批准与控制权转移逻辑,为与总线标准匹配所要求的信号转换等。所以,总线实体是一组传送线路与相应的控制逻辑。1)从系统组成角度分类在小规模系统中,常用一组系统总线连接CPU、主存、接口与外围设备,称为单总线结构。在较大规模系统中,常设置多组总线,如:在主存与CPU之间设置一组专用的高速存储总线,而将连接外围设备的系统总线称I/O扩展总线。在一些系统中,将直接与CPU连接的一段总线称局部总线,将经过总线控制器扩充后的总线称为系统总线。参考学习\n...连接系统内部CPU、主存、接口与常规外围设备的总线称为系统内总线。把计算机系统之间,计算机系统与通信设备或其他系统外设之间的连接总线称为系统外总线。在松耦合多机系统中,常将各节点内部的总线称为局部总线,节点间的总线称为通信总线。2)按数据传送格式分类并行总线:用多根数据线同时传送一个字节或一个字的所有代码位,可以同时传送的数据位数称为该总线的数据通路宽度。计算机的系统总线大多是并行总线。串行总线:按位串行传送数据,即按数据代码位流的顺序逐位传送。3)按时序控制方式分类系统总线所连接的CPU与各种外围设备往往有各自独立的工作时序,在通过总线传送数据信息时,其时序控制方式有同步方式和异步方式之分,相应地,也将总线分为同步总线和异步总线两类。同步总线:数据传送操作由统一的系统时钟同步定时,其显著特征是有严格的时钟周期划分,一次传送操作所需的一个总线周期可能包括若干时钟周期。在单机系统中,系统时钟由CPU提供。在多机系统中,或由负责系统管理的主CPU提供,或专门设置一个系统时钟。第三节总线特性及性能指标同步控制方式以时钟周期为划分时间段的基准,一个总线周期占用多个时钟周期,必要时候,一个总线周期所包含的时钟周期数目并不固定,但都是以完整的时钟周期为基准的。例如,DMA控制器向CPU提出总线请求,获得总线控制权后实现一次总线传送。通常这一过程要经过以下几步:(1)S0状态:DMA控制器提出总线请求(BREQ),此时CPU正控制总线访问主存,因此DMA控制器处于等待批准的S0状态,可能要等待几个时钟周期。(2)S1状态:CPU结束一次总线周期操作,发出总线批准信号BACK,进入总线控制权交换状态S1状态。在S1状态中,CPU放弃总线,DMA控制器向总线送出地址码,接管总线控制权,并进入下一状态。(3)S2状态:由DMA控制器发出读命令,从发送设备中读出数据,送入有关的数据寄存器,并发送到数据总线上。(4)S3状态:由DMA控制器发出写命令,将数据总线信息写入接收设备。(5)S4状态:延长状态,如果在S3状态中没有完成总线传送,可以延长总线周期,进入S4状态。参考学习\n...结束一个总线周期后,DMA控制器放弃系统总线,将总线控制权交回CPU。第四节总线结构和总线控制异步总线:对总线操作的控制与数据传送,以应答方式实现,特点是没有固定的时钟周期划分。异步应答关系分为不互锁、半互锁和全互锁三类。不互锁:设备1发出请求信号,经过一段时间后,自动撤消;设备2接到设备1的请求信号后,在条件允许时发出回答信号,经过一段时间后,自动撤消。半互锁:设备1发出请求信号后,接到设备2的回答信号后,才撤消请求信号,而设备2经过一段时间后,自动撤消回答信号。全互锁:设备1发出请求信号后,接到设备2的回答信号后,才撤消请求信号,设备2知道设备1撤消了请求信号后,才撤消回答信号。本章思考题1.什么是总线?总线传输有何特点?2.如何理解总线的不同分类?3.比较同步及异步通信。4.什么是总线标准?为什么要设置总线标准?5.什么总线的传输速率,它与哪些因素有关?参考学习\n...第四章存储器教学时数:8学时教学目的与要求:使学生掌握主存、辅存的概念,重点理解存储器分级的结构,掌握主存与CPU连接方式,Cache与主存地址映射方式。教学重点:静态存储器、动态存储器、Cache存储器的地址映射方式。教学难点:主存芯片与CPU的连接方法、存储器的校验。第一节概述1.存储器的分类1)按存储器与CPU的关系:存储器分为主存和辅存两部分。主存是能够由CPU直接编程访问的存储器,它存放需要执行的程序与需要处理的数据。由于主存处于主机的内部所以又称之为内存。与之相对的是外存,又称辅存。辅存包括:磁盘、光盘、磁带等。2)按存取方式:随机存储器、只读存储器、顺序存储器和直接存储器。随机存储器:存储器中的任何一个存储单元的内容都能被随机存取,且存取时间都相同,与存储单元的物理位置无关(RAM),可以用存储周期来表示其工作速度。只读存储器:存储器工作的时候只能读,不能写,通常保存一些特别重要的信息。它也采用随机存取方式。顺序存取存储器:存储器中的存储内容只能按顺序存取,其存取时间与存储单元的物理位置有关(SAM),如磁带。直接存取存储器(DAM):介于随机存储方式和顺序存储方式之间,典型的直接存取存储器是磁盘,磁盘寻址时,首先磁头定位于磁道类似于随机存储方式,然后在磁道内寻址类似于顺序存储方式。3)按存储介质:半导体存储器(用半导体器件构成的存储器,多用于主存)和磁存储器(磁性材料做成的存储器,如磁盘)。半导体存储器又可以细分为静态存储器(SRAM)和动态存储器(DRAM)。4)按信息的保存:永久性存储器(断电后存储信息仍可以保持)和易失性存储器(断电后丢失信息),如磁盘是永久性,RAM为易失性。5)按读写功能:读写存储器和只读存储器6)主存储器分为随机存储器(RAM)和只读存储器(ROM),只读存储器又可以分为:可编程只读存储器(PROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(E2PROM),以及快闪存储器。参考学习\n...第二节主存储器1.存储器的组成存储体地址缓冲和译码器读写数据缓冲器存储器是一种能够实现按地址存储的装置。存储器由存储体、地址缓冲和译码器、读写数据缓冲器组成。存储体是存储器的核心,它有许多存储单元组成,每个存储单元又由若干个可记忆0或1的存储元件组成。因此,每个存储单元可以存放若干位二进制数,称为一个字。每个存储单元按其空间的位置都有一个固定的编号,称为存储单元的地址,简称地址。通常说存储器容量为M*N的,M表示的是存储器有多少个字,N表示每个字有多少个存储元件。2.主存储器的技术指标1)存储速度:存取时间(TA,又称取数时间)和存储周期(TM)2)存取时间:存储器接到读命令信号到其数据输出端有信号输出为止的时间。例如对于2114来说,其存取时间为从WE=1开始到读写数据缓冲器中有数据为止。3)存储周期:连续两次访问存储器所需要的最小时间间隔。例如:从CPU向存储器发出读命令,到CPU的MDR中有数据为止。4)价格:存储器的价格以位价格衡量,即存储容量为S,价格为C,P=C/S是位价格。3.主存储器的工作原理CPU对存储器进行操作的时候,一定要用到两个寄存器:地址寄存器(MAR)和数据寄存器(MDR)。CPU与存储器之间的数据传输分为同步传输方式和异步传输方式两种,1)同步方式:数据传输是在固定的时间间隔内完成,此时间间隔由CPU的时钟脉冲确定,从而构成一个完整的存储器读写周期。参考学习\n...2)异步方式:当存储器接到CPU的读写命令时,完成一次读写操作后,向CPU发一个“存储器功能完成”信号(WMFC),CPU接到此信号后,才完成一次数据传输工作。注:CPU中有一个引脚叫做Ready,其名称是:准备好信号,当它为1时,表示CPU可以和存储器传输数据。而不是象书中所说是通过Ready做主存储器应答。3)读写过程(1)CPU从存储器中读取一个字节数据把要读取的字节的地址送入MAR。把要读取的字节的地址经过地址总线送入存储器的地址缓冲译码器,同时发出读请求。存储器读操作,找到数据送入其数据缓冲寄存器,由数据总线将数据送入CPU的MDR,同时发出WMFC信号(WMFC=1)。(2)CPU向存储器写一个字节数据把要写入存储器的字节送入MDR。其地址送入MAR。经过数据总线和地址总线把数据、地址送入存储器,同时发出写请求。将数据写入存储器指定单元,同时发出WMFC信号。4.存储器扩容1)位扩展(字长扩展)位扩展连接方式:将多片存储器的地址、片选、读写控制连在一起;数据线分别连接。2)字扩展字扩展连接方式:将多片存储器的地址、数据、读写控制连在一起;片选信号来区别那个芯片被选用(充当高位)。3)字位扩展。字扩展连接方式:将多片存储器的地址、读写控制连在一起;片选信号来区别那个芯片被选用(充当高位),数据线分别连接。可选讲:动态存储器的刷新由于动态存储器依靠电容上存储电荷来暂存信息,而电容上存储的电荷会逐步衰减,所以动态存储器一定要定期刷新。通常动态存储芯片要在2ms(毫秒)以内全部刷新一遍,即全部刷新一遍所允许的最大时间间隔为2ms,称为最大刷新周期。对于整个存储器来说,各个存储芯片可以同时刷新。对于每块动态存储芯片来说,则是按行刷新,每次刷新一行,所需时间为一个刷新周期。例如一个动参考学习\n...态存储芯片为128行,,则在2ms内应该至少安排128个刷新周期。对于一个动态存储器,它在工作过程中实际包括两种工作状态:读写保持状态和刷新状态。如何进行刷新呢?通常采用以下三种方式:(1)集中刷新方式:在2ms之内直接安排128个刷新周期,统一刷新。优点是主存利用率高,控制简单;缺点是存储器在每个2ms之内必定有一段时间不能进行读写操作(在进行刷新),造成一段死区。(2)分散刷新方式:存取操作和刷新同时进行,即在每个存储周期中包括存取数据刷新数据两部分。优点:没有死区,缺点:降低效率。(3)异步刷新方式:由于2ms/128=15.625us(微秒),所以每隔15.625us提出一次刷新请求,安排一个刷新周期,如果此时正在进行存取工作,则等到存取工作结束后进行刷新。5.多体交叉存储器存储器是存储指令(程序)和数据的地方,CPU工作时将不停的访问存储器,CPU工作的基本周期是时钟周期(节拍),存储器工作的基本周期是存储周期,即CPU以时钟周期表示CPU的速度,存储器以存储周期表示存储器的速度,但是通常存储器的存储周期的时间远远大于CPU的时钟周期,所以实际上CPU的工作速度会降低到与存储器的速度相当,CPU工作时不得不在两个时钟周期之间插入空闲周期。通常存储器的容量与速度成反比,即1K的存储器的速度比4K的存储器的速度快,因此提出多体交叉存储器技术。多体交叉存储器技术分为两种:高位交叉编址和低位交叉编址。例如,某机器有一个容量为4K*8的存储器,为了提高存储速度将存储器变成4个1K*8的存储模块。1)高位交叉编址:该方法的优点是便利灵活,便于扩展,如将4K的存储器扩展成5K的存储器只需要加一个存储模块,某一个存储模块出现问题不影响其他模块。2)低位交叉编址:该方法的优点是提高CPU工作效率。因为在通常情况下,数据被连续读取,如CPU取4个字节,用高位交叉技术要对存储器进行4次读取,而用低位交叉技术只对存储器读取一次即可(四个模块同时工作)。用低位交叉技术的机器一个存储周期得到4个字节,其存储周期相当于原来的四分之一。推而广之,一个具有n个模块的存储器,其存储周期等效于单模块的1/n,但这是个乐观的估计,总之效率会明显提高。注意:理论上讲,n的值越大,存储器的速度越高,但是实际中一般n≤8。如果n>8速度提高就不在明显,这是因为多体交叉存储器存在访问冲突问题。产生访问冲突的原因是:一、程序中有转移指令,二、是数据的随机性。参考学习\n...对于多体交叉存储器的控制有两种:一种是同时启动各模块,然后在主存控制部件的控制下,分时使用总线传输;另一种是各模块分时启动,如四个模块就是每隔四分之一存储周期启动一个模块,后者应用多些。6.存储器校验二进制信息在传送时,可能发生错误,校验码是一种具有校验差错能力的代码。校验码由两部分组成:信息位和校验位,信息位就是要传送的数据信息,校验位是在信息位的基础上根据具体的校验方法得到的一些附加数据。校验的方法不同,信息位也不同。基本概念码字:表示一个数(或字符)的若干位二进制代码;码元:码字中的一位二进制数;码组:满足一定规则的码字集合;最小码距:一个码组中任何两个码字之间的不同码元的最小个数。若实现数据校验,必须在原有码字(信息位)的基础上增加额外码元(校验位),从而增大码组中的最小码距。最小码距与校验能力的关系满足下面公式:L=2C+1,L=D+1其中L表示最小码距,C表示可纠错位数,D表示可检错位数。奇偶校验所谓奇偶校验就是在传输的数据后面加一位奇偶校验位,为奇校验时就是加校验位后,保证在全部数据中“1”的个数为奇数个,为偶校验时就是加校验位后,保证在全部数据中“1”的个数为偶数个。假设数据位四位,对于奇校验来说,总是P=B3⊕……⊕B0⊕1对于偶校验位P=B3⊕B2⊕B1⊕B0加奇偶校验位时可以根据校验位的位置分为横向奇偶校验、纵向奇偶校验和横纵奇偶校验。例如有以下一组数据:0011000000110001001100100011001100110100(数字:01234)采用横向奇校验时编码为:001100001001100010001100100001100111001101000即:001100001001100010001100100001100111001101000第三节高速缓冲存储器1.存储系统的层次结构参考学习\n...计算机系统对存储器的基本要求是:高速度、大容量、低价格。这三个条件互相矛盾,不可能同时实现,为了解决这一矛盾,必须对存储系统进行层次划分。1)主存、辅存结构:以速度快、价格高的半导体存储器作主存,以磁存储器做辅存。2)高速缓存、主存、辅存三级结构。通常把CPU当前正在执行的程序和数据放在主存中,而暂时不执行的程序和数据放在辅存中。在执行过程中,不断地把辅存中即将处理的信息调入主存,处理过的信息不断地调出主存。这一过程现在由操作系统中的虚拟存储器技术实现。对于那些使用频率极高的数据则保存在Cache中。采用了三级结构,理想情况是高速缓存的速度,辅存的容量、价格。2.高速缓冲存储器(Cache)引用虚拟存储器的目的是令主存空间扩大,引用Cache是为了提高主存的速度。虚拟存储器靠OS软管理,而Cache靠硬件管理。Cache本身是一个高速的存储器件,其速度与CPU的速度相当,如果搞好Cache与主存的关系,可以大大提高主存的速度,又由于Cache对于系统程序员来说也是透明的。有人把Cache划入CPU中。由于Cache和主存都可以与CPU相关,Cache与主存的关系有点像页式虚拟存储器中的快表。通常把Cache和主存等分成块,每当给出一个主存字地址进行访存时,都必须通过主存-Cache地址映像变换机构判定该访问字所在的块是否已经在Cache中,如果在,则经地址映像变换机构将主存地址变换成Cache的地址去访问Cache,此时Cache与处理机之间进行单子宽信息的交往;如果不在Cache中,则产生Cache失效,这时要从访主存的通路中把包含该字的一块信息通过多字宽通路调入Cache,同时将被访问字由主存送入CPU,如果Cache中已装不进了,即发生块冲突,此时需要按所选择的替换算法将该块替换进Cache,并修改地址映像表中有关的地址映像关系和修改好Cache各块使用状态标志等信息。1)地址映像与变换:全相联映射让主存中任意的一块均可以映像到Cache中的任意一块位置上。此时要求有一个专门硬件设置的目录表,目录表中记录着主存块号与Cache块号之间的变换关系,主存地址通过目录表可以转换成Cache中的地址。优点:块冲突率低,缺点:Cache变大,目录表也大,速度降低。直接映射让主存中每一个块只能映像到Cache中唯一的一个位置上,例如设Cache中可以放X块,主存中的第i块映像到Cache中的第(iMODX)块中。这相当于参考学习\n...把主存空间按Cache的空间分成区,每区的各块均只能按位置一一对应到Cache的相应位置。此时主存地址分为区号,主存块号,块内地址三部分,目录表只记录各块的区号,变换时,以主存块号为地址到目录表中的对应部分取区号与主存地址区号比较相同,则主存块号与块内地址成Cache地址,不相同,则换页。优点:电路简单,速度快;缺点:冲突率高。组相联映射将Cache各块分组,主存以Cache大小分区,区下分组,组下分块。组间采用直接映像,组内采用全相联映像。2)Cache的读写:读操作:访存时,一方面主存地址送主存,启动读主存,另一方面地址送Cache映象成Cache地址。从Cache页中读取内容,并将相应的Cache标记与主存地址中的主存页标记进行比较,如果二者相同,则表示访问Cache命中,读出数据送往CPU,不等主存读操作结束,就可以继续下一次访存操作。如果标记不符合,或是按映像方式搜索完毕仍未找到相符的Cache标志,表明本次访问Cache失败,则从主存读出数据送CPU,偶尔一次不命中,不一定立即替换,一般是在命中率变低时才考虑替换,如果替换,则以页为单位整页替换,并相应修改Cache标记。写操作:写回法(标志替换法)。在数据回写的时候,只写入Cache,同时在Cache块中设置一个标志位,标志位为1表示有数据写回此Cache块,当此Cache块被替换的时候写入主存,但是如果在替换时,恰好主存没有此Cache块(先被虚拟存储器替换),则出错。这种方式不在Cache操作过程中插入写主存操作,保持程序的运行速度。写直达法。写入Cache同时写入主存,但有些写入是多余的。这种方式保持了Cache与主存的一致性。本章思考题1.计算机中哪些部件可用于存储信息?2.说明存取周期和存取时间的区别。3.存储器层次结构主要体现在什么地方,为什么要分这些层次?4.什么叫刷新,为什么进行刷新?5.什么是存储器的带宽。参考学习\n...第五章输入输出系统教学时数:8学时教学目的与要求:使学生了解计算机系统中常用I/O设备的基本接口,主要技术指标,工作原理等知识,重点I/O设备与CPU传输数据的三种方式。教学重点:程序查询方式和中断方式的工作原理、基本接口。教学难点:DMA的传送方式及传送过程。第一节I/O设备输入输出系统包括输入输出设备、设备控制器以及同输入输出操作有关的硬件与软件。如:键盘—输入设备,8042—设备控制器,8255—相关硬件,int9—相关软件。第二节I/O接口1.输入输出设备编址方式:输入输出设备的编址方式分为两种:独立I/O编址、(与内存)统一编址。如PC机采用前者,INAL,60H;读入扫描码2.输入输出数据传送的控制方式:(1)程序直接控制方式(2)程序中断传送方式(3)直接存储器存取(DMA)传送方式(4)通道控制方式(5)I/O处理机第三节程序查询方式程序直接控制方式主机与外设之间的数据传输由程序来控制,在程序中安排一段由输入输出指令和其他指令组成的程序段直接控制外设的工作。程序直接控制方式分为无条件传送方式和有条件(查询)传送方式。无条件传送:外设与CPU之间的工作关系、动作时间固定,所以可以采用无条件传送。查询:传送数据之前先由程序对外设状态进行测试,测试结果满足时,传送数据。(说明:与外设相关的芯片有状态寄存器和控制寄存器,状态寄存器提供芯片的状态,即外设的状态,常常依靠IN指令把外设芯片的状态读入CPU来进行查询方式的数据传送,CPU发给外设芯片的控制命令常常依靠OUT指令送入参考学习\n...控制寄存器,使外设按照CPU的要求工作。第四节程序中断方式程序中断传送方式1)中断:在计算机的运行过程中,如果发生某种随机事态,CPU将暂停执行现行程序,转去执行中断处理程序,为该事态服务,并在服务完毕后自动恢复原程序的执行。中断的定义包含了程序切换与随机性两个概念。中断的实质是一种程序切换过程。转子程序也是一种程序切换,但区别在于中断是随机切换,而转子程序的切换不是随机的。2)中断方式的应用(1)以中断方式管理中低速I/O操作,使CPU与外设并行工作(2)软中断(3)故障处理:掉电、校验错、软件故障、溢出(4)实时处理:通过定时器实时采集数据(5)多机通信:依靠中断通信(6)人机对话:3)程序中断与简单中断程序中断:中断发生之后执行一段程序简单中断:中断发生之后不执行程序,只是让出几个CPU周期,如DMA中断第五节DMA方式1.直接存储器存取(DMA)传送方式对于高速外设的成批信息交换通常采用DMA方式。在DMA方式中数据交换不是由CPU执行程序来完成,而是由DMA控制器控制,如软盘操作。DMA方式分为三种:CPU暂停、CPU周期窃取、CPU与IO交替访问存储器2.通道控制方式DMA可以处理大批数据,但是对外设的管理仍由CPU承担,为能更好的发挥CPU效率,设置新硬件通道。通道是专门执行输入输出操作的处理机,它独立的对输入输出操作进行管理。当CPU执行I/O指令时,CPU不执行输入输出操作,只启动通道执行输入输出操作,并将控制权转给通道。3.主机与外设间的连接模式总线型参考学习\n...在这种结构中,CPU通过系统总线与外设相连,各外设通过各自的接口直接与公共的系统总线相连。CPU经过地址锁存器向系统总线发出地址代码,经过数据缓冲器向系统总线发出或接收数据代码,经过总线控制器发出或接收控制信号。如果CPU暂时放弃对系统总线的控制,则有关的输出端呈高阻态,即与总线脱钩。此结构优点:结构简单,易于扩展,易于实现;缺点:信息吞吐量有限。辐射型在这种结构中,各外设和主机之间有各自独立的数据通路,因而形成以主机为中心向各设备辐射的星型连接。现在多采用CPU通过系统总线连接一个多口接口卡,由多口接口卡分别连接外设。各外设之间不能直接传送信息,它只能把信息通过接口送入主机,再由主机送别的外设。优点:各外设各自独立,相互干扰小;缺点:不能实现设备之间直接通信。通道控制方式通道是一种专门负责管理输入输出操作的控制器,它执行一种通道程序。CPU启动通道后可以并行地执行自身的程序,而通道则执行通道程序,或以DMA方式实现主存与外设之间的数据直传,或让数据输入CPU或从CPU输出。这就使CPU从繁重的I/0操作中解脱出来,发挥其高速处理的优势,让CPU的处理与通道管理下的I/0操作并行地进行。从连接角度看,主机一般通过单独的数据通路分别连接数目有限的通道,各通道再用总线结构通过接口连接外设,可称为四级连接模式,即主机-通道-I/O接口或设备控制器-外围设备。通道的概念具有较大弹性,在逻辑划分与功能上可作多种变化。有的系统让通道控制器位于CPU之中,称为结合型通道;有的系统则让它独立于CPU之外,称为独立型通道。通道执行的通道程序,可以放在主存中,与CPU共享主存;也可以自带局部存储器存放通道程序。它的功能可以只负责管理实现数据的输入输出,也可以发展为实现较复杂的预处理,变成输入输出处理机。输入输出处理机(IOP)方式IOP比通道具有更强的独立性与通用性,它的功能与CPU类似,只是专用化,面向输入输出管理及相应的处理。IOP有自己的指令系统,可以编制自己的程序;通过执行程序实现独立于CPU的输入输出操作。在大型计算机系统中,主机通过专门的数据通路与IOP连接,IOP通过总线再与外围设备连接。高档微型计算机系统也采用输入输出处理器,将IOP集成在一块芯片中。这种IOP芯片与CPU一起挂接在系统总线上,可共享主存。当CPU进行输入输出时,将任务写入存储器的一个特殊区域中,然后通知IOP。IOP参考学习\n...从该区域中获知CPU的要求,并执行程序,完成指定的输入输出操作,然后用某些约定的特征信息或以中断请求信号通知CPU。本章思考题1.I/O设备有哪些编址方式,各有何特点?2.I/O设备与主机交换信息时,共有哪几种控制方式?简述特点。3.图形显示和图像显示有何区别?4.中断向量通过什么总线送至什么地方?为什么?5.试从5个方向比较程序中断方式和DMA方式的区别。参考学习\n...第六章计算机的运算方法教学时数:8学时教学目的与要求:使学生掌握计算机系统信息的表示方法、基本逻辑运算和四则运算,理解运算的实现方法,信息的流动方式,运算器部件的组成结构及设计方法。教学重点:计算机信息的表示方法、定点数和浮点数的四则运算。教学难点:原码一位串行乘法算法乘法器、浮点乘除运算算法。第一节无符号数及有符号数1.机器数机器数包括原码、反码、补码和移码。1)原码是一种机器数的表示法。它约定:对于一个正数,用“0”表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数。2)反码是一种机器数的表示法。它约定:对于一个正数,用“0”表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数(即原码)逐位变反(即“0”变“1”,“1”变“0”)。3)补码是一种机器数的表示法。它约定:对于一个正数,用“0”表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“1”表示它的符号,后面的数值部分就是它的二进制数(即原码)逐位变反,然后加1。对负的补码进行还原的时候,数值位仍然采用逐位变反,然后加1的方法。对于一个四位的二进制数来说,变反意味着用一个最大的四位二进制数来减此二进制数,Z=0010,Z变反即1111-0010=1101;变反加1,可以表示成1111-0010+1=10000-0010=1110。对于同一个数进行两次变反加1,就可表示成:10000-(10000-0010)=10000-10000+0010=0010由此可知,对于同一个数进行两次变反加1,就可还原原来的数,所以补码还原仍是采用变反加1的方法。4)移码是一种机器数的表示法。它约定:对于一个正数,用“1”表示它的符号,后面的数值部分就是它的二进制数;对于一个负数,用“0”表示它的符号,后面的数值部分就是它的二进制数(即原码)逐位变反,然后加1(移码和补码在符号上是相反的)。移码还原只能先把它变成补码,再还原。注意:对于原码00000和10000都表示十进制的“0”,对于反码00000和11111都表示十进制的“0”,而对于补码00000表示“0”,而10000表示绝对值最大的负数(-16),同理对于移码10000表示“0”,而00000表示绝对值最大的负数(-16)。参考学习\n...注2:对于原码,反码和补码可以表示整数也可以表示小数,而移码只能表示整数,移码只用于浮点数的阶码表示。第二节数的定点表示及浮点表示1.定点数定点数表示法约定:机器在运算过程中,所有数据的小数点位置固定不变,小数点的位置由系统设计者指定一个不变的位置,它不占二进制的一位,而是隐含在机器数中的某个位置上。事实上,不论是定点小数还是定点整数都不能直接表示表示:+11.11如果出现此种情况那么11.11=22*0.1111=2-2*1111.0此时用定点数来表示数据必须另外加入一个比例因子,以便正确说明记录的数据。用定点数进行运算处理的机器称定点机。2.浮点数将定点数所需的比例因子引入数据表示中,形成了浮点数。浮点数由阶数和尾数两部分构成。浮点数的形式如下:N=±R±E*M其中R为阶码的底,可以为2、4、8、16等等,E为阶码,M为尾数。通常,描述一个浮点数需要考虑以下六个参数(1)尾数值:包括采用什么码制(原码、反码、补码,常采用原码或补码),采用什么数制(小数、整数,常采用小数)(2)阶值:包括采用什么码制(补码、移码,常采用移码),采用什么数制(一般采用整数)(3)尾数的基:尾数采用二进制、四进制、8进制、16进制、10进制(4)阶的基:目前采用的只有二进制(5)尾数的长度(6)阶的长度浮点数的表示形式为:数符阶符阶码数值(尾数)浮点数的表示法有很多,我们以以下四种加以说明:原码表示法:阶和尾全是原码;反码表示法:阶和尾全是反码;补码表示法:阶和尾全是补码;阶移尾补表示法:阶为移码,尾为补码;参考学习\n...在表示浮点数的时候,为了充分利用尾数的有效位数,提高数据精度需要采用规格化表示,所以约定浮点数的尾数的数值最高位一定是有效的数据。对于原码表示的浮点数,尾数的数值最高位为1,表示规格化;对于反码、补码表示的浮点数,符号位与尾数的数值最高位不一致,表示规格化。对于一个数V,如果出现V>X,我们称之为(正)上溢;如果出现V
CF,则为溢出。溢出标志为F=C⊕CF其中C为数值位的进位,CF为符号位的进位。(3)采用双符号位。即用00表示正数,用11表示负数,当出现01时是正溢,出现10时是负溢。3)溢出处理计算机在运算过程中,一旦发现结果有溢出现象,必然会进行处理。溢出处理有的是采用软件处理,有的是采用硬件处理。软件硬件等效。参考学习\n...3.二进制定点乘法在计算机中,运算使用全加器,一次只能两个数相加,所以采用累加的方式即:A=A+B,其中A中放入的是累加的结果(部分积),B中放入的是乘数的某一位与被乘数相乘的结果(被乘数);而在计算机中都是定点小数运算,为了保证每一位的正确位置,采用移位的方式(右移1位),所以在计算机中做乘法,就是靠累加和移位实现的。1)定点原码一位乘法。两个原码相乘,积的符号由两原码的符号异或而成,积的值由两个原码的绝对值相乘而得。实现原码一位乘,电路中应该设有寄存器A、B、C;计数器Count,其中寄存器A用于存放部分积,他在运算之初为0,在运算过程中,每次累加的结果放入A,最终A保存的是积的高位部分,寄存器B用于存放被乘数,寄存器C用于存放乘数,由于每次移位都是A、C同时移动,所以当运算结束的时候C保存的是积的低位部分。计数器Count中保存的是被乘数、乘数的数值位数。注:原码移位的时候采用的是逻辑移位。2)定点补码一位乘补码乘法与原码乘法相似,不同之处是补码的符号位可以直接参与运算。要实现补码一位乘,电路中应该设有寄存器A、B、C;计数器Count,其中寄存器A用于存放部分积,他在运算之初为0,在运算过程中,每次累加的结果放入A,最终A保存的是积的高位部分,寄存器B用于存放被乘数补码数值部分,寄存器C用于存放乘数补码数值部分,由于每次移位都是A、C同时移动,所以当运算结束的时候C保存的是积的低位部分。计数器Count中保存的是被乘数、乘数的数值位数。注:采用校正法,每次做加法之后要算术右移,但做校正时只加,不移位。3)原码两位乘法(软件工程、物联网、信息管理专业略)进行原码两位乘法的时候,当乘数末两位为00则A=A+0;当乘数末两位为01则A=A+X;当乘数末两位为10则A=A+2X;当乘数末两位为11则A=A+3X。由于3X不好实现所以改为4X-X,即当乘数末两位为11则A=A-X,然后右移2位,并设标志位CJ=1。关于原码两位乘的说明:符号位由两个乘数的的符号位相异或,数值的绝对值相乘(符号位三位防止假溢出)。运算规则见上表,+X表示加被乘数的绝对值,-X表示加被乘数的绝对值的补。参考学习\n...乘数如果为奇数位时,末位加个‘0’,或最后一次移位只移动一位。运算到最高数值位结束,但当此时CJ=1,要追加一个+X,但不移位。4.补码两位乘法采用两位布斯算法,所以要加一个附加位,置为0。说明:对于数值位为奇数n个位的数来说,操作(n+1)/2次,且最后一次只右移1位。对于数值位为偶数n个位的数来说,补个‘0’,操作n/2+1次,且最后一次只右移1位。Y采用双符号操作n/2+1次,且最后一次不移位。第四节浮点四则运算1.浮点数加减法1)检测操作数是否为0判断浮点数为0的方式:(1)尾数为0,(2)阶码下溢加法:如果有一个为0,和就是另一个数。减法:如果被减数为0,差为减数求补;如果减数为0,差为被减数。2)对阶:调整两个浮点数的阶码,使他们的阶一致。通常把阶小的数调整成与阶大的一致。3)数相加减:其方法与定点数相同。4)结果规格化:运算完毕,当尾数的绝对值大于等于1时,尾数右移1位,阶加1,使之规格化,成为右规;当尾数的绝对值小于1/2时,尾数左移,阶相减,使之规格化,成为左规。通常浮点数加减运算不会溢出,但是理论上仍然有溢出的可能。例如两个极大的数相加,规格化时,导致阶码溢出,此时浮点数溢出。5)舍入:由于对阶的时候阶小的要与阶大的对齐,所以常常会导致一些阶小的浮点数的一些数据被移出浮点数的尾数(尾数的位数不够),所以要采取舍入处理。以一个8位阶24位尾的浮点数为例。截断法:把多余部分截去。电路可以不加任何多余电路,误差最大。最大误差≈2-23。如果尾数采用补码,正数和负数的积累误差最大,正数积累误差偏负(比实际值小),负数积累误差偏正(比实际值大),如果把数据一起考虑总误差为0。舍入法:0舍1入。电路加1位,最大误差≈2-24,如果尾数采用补码,正数和负数的积累误差比小。恒1法:末位恒置1。电路可以不加任何多余电路,最大误差≈2-23参考学习\n...,如果尾数采用补码,正数和负数的积累误差比小。查表舍入法它把尾数的低K-1位和被舍入部分的最高位送入一个ROM表,通过表的内容得到对应的近似结果。这个方法电路复杂,但是速度快,ROM速度比做加法快,平均误差≈0,如果尾数采用补码,正数和负数的积累误差最小。6)溢出判断:当阶码部分正溢,则称浮点数上溢出,进入溢出处理;当阶码部分负溢,则称浮点数下溢出,浮点数直接置为0(尾数为0)。2.浮点乘法(1)检查操作数是否为0,并置结果符号。如果有一个操作数为0,结果为0。(2)阶码相加:阶码相加可能会产生溢出,上溢出进入溢出处理,下溢出直接积为0。(3)尾数相乘:方法同定点乘法。(4)规格化。(5)舍入(6)溢出处理第五节算术逻辑单元1.算术逻辑运算部件(ALU)参见书中281页图6.17。2.先行进位链通过对一位全加电路的学习我们知道,一位全加器有三个输入A(被加数)、B(加数)、C(低位向本位的进位)和两个输出X(本位向高位的进位)、S(和),如果要进行多位二进制数相加,则需要多个全加器。由图可知,此种形式的多位加法器要计算出每位向其高位的进位才能使加法器顺利工作。本章思考题1.说明补码、原码、反码的区别和联系。2.如何理解补码不需要设置减法电路?3.为什么浮点数计算是衡量现代计算机的重要指标,而不是定点数?参考学习\n...4.简述ALU在计算机系统的作用。5.试述乘法和加法在软件实现中的效率。参考学习\n...第七章指令系统教学时数:8学时教学目的与要求:使学生了解指令系统的概念,指令格式的基本特点,所需硬件支持,掌握简单的指令格式设计技术,为进一步学习CPU结构打基础。教学重点:指令格式与性能指标、指令和数据的寻址方式。教学难点:指令的格式设计、RISC与CISC架构。第一节机器指令计算机指令就是计算机硬件能够识别并直接执行的操作命令。指令系统是指一台计算机所能执行的全部的指令称为该机的指令系统。指令系统表明了计算机的硬件功能,从而决定如何使用计算机(编译软件),而CPU的基本任务是解释执行指令代码,这又决定了硬件逻辑设计,因此说指令系统是CPU硬件与软件的界面。1.指令格式计算机指令编码的格式称为指令格式。指令格式指定指令中编码字段的个数、个字段的位数,以及各字段的编码方式,以便于指令进行译码。指令由操作码(OP)和地址码(AD)两部分构成。操作码说明指令所要完成的操作,地址码说明指令操作对象(或者是操作数或者是操作数的地址)。通常,地址码很少直接给出操作数本身,多是指明操作数的来源,有的还要指明运算结果保存于何处,以及下一条指令从何处取等问题。在指令格式设计时应该考虑以下四点:指令长度:指令长多少位,是定长度还是变长度操作码:操作码结构需要多少位,位数固定还是可扩展,是一段操作码还是若干段组合地址结构:一条指令涉及到哪些地址,在指令中给出哪些地址,哪些地址隐含约定。寻址方式:如何获得操作数的地址,是直接、间接还是经过计算获得。第二节操作数类型和操作类型1.指令长度字长:计算机能直接处理的二进制数据的位数。他是计算机的一个重要指标,字长决定着计算机的运算精度。指令的长度是由操作码的长度与地址码的长度共同作用的,地址码的长度决定了指令的直接寻址能力。指令长度应该是字节的整数倍,指令长度有定长(如模型机)和不定长(PC机)之分。指令长度与机器字长没有固定关系,一般情况指参考学习\n...令长度大于或等于字长。指令长度越长,指令所能表示的操作信息和地址信息就越多,指令的功能就越丰富。但是同时指令越长,指令所占存储空间越多,读指令的时间就越长,CPU的译码电路就越复杂。因此早期的计算机(如NOVA系列)采用的是16位定长指令格式。目前的RISC系统也建议尽可能的采用短指令长度。但在实际应用中我们发现,一个指令系统中的指令长度是很难固定的,因此现代计算机广泛采用变长度指令长度。如Inter系列,8088采用1-6个字节变长指令格式,它的第一个字节是操作码,第二个字节是寻址方式和寄存器号,其后两个字节是位移量或是立即数,或再跟两个字节的立即数。随着Inter系列的发展,指令长度越来越长,80486指令长度达到15个字节。由于指令的长度不同就会面临指令对齐的问题,比如一台32位机,保存三条指令其长度分别是4,6,4。2.操作码指令操作码的长度决定了指令系统中完成不同操作的指令条件。操作码分为定长和不定长两类。定长操作码的指令译码电路简单,所以受RISC所推崇,也被广泛应用。但是定长操作码不利于指令的升级兼容。例如,指令操作码长为6位共可有64条指令,如果第一代机有63条指令,第二代升级时只能加1条指令,那是不可接受的。而用变长就不受这个限制。不定长操作码(扩展操作码):现在打算在原有基础上修改指令系统使其有15条3地址指令,15条2地址指令,15条1地址指令,16条0地址指令,(现在有15条3地址指令,14条2地址指令,31条1地址指令,16条0地址指令。)能否分配,如何分配?(提问)例:第一代机器60条指令(等长),第二代加32条指令(等长)如何分配?在实际机器中,可采取不同的具体做法。例如PDP—11,指令字长16位,高4位做基本操作码,但是取其中的四种组合0000,0111,1000,1111作为扩展操作码标志,可将操作码分别扩展成7位,8位,10位,12位,13位,16位等多种情况,其中16位指令的操作码可达几百种。一般情况下,考虑到CPU电路的复杂度,变长指令一般长度为2种,至多3种,极少象PDP—11这样。指令长短的分配原则的一个重要条件是指令使用概率,考虑到操作码压缩的问题,建议采用哈夫曼编码。3.地址结构(1)四地址指令操作码操作数地址1操作数地址2结果存放地址下条指令地址(2)三地址指令操作码操作数地址1操作数地址2结果存放地址参考学习\n...由于计算机中程序指令顺序存储,所以在计算机中设置指令计数器PC,每执行一条指令,PC+1,所以省去了“下条指令地址项”(3)二地址指令操作码目的操作数地址源操作数地址采用二操作数形式,把最后计算得到的结果保存于目的操作数的地址中。对于PC机来说,目的操作数在前ADDAX,BX;而对于PDP-11系列机来说,他们的目的操作数在后。(4)单地址指令操作码目的操作数此类单地址指令只有一个操作数,即目的操作数;如INC,DEC,NOT,NEG操作码源操作数此类单地址指令只有一个操作数,是源操作数;如MUL,DIV;此类指令本应该是二操作数指令,但是由于某种设计原因,将其中的一个操作数隐含在操作码中(系统约定)。(5)零地址指令隐含操作数:此类零地址指令有一个操作数,即目的操作数,但隐含了;如PUSHF,POPF真正的无操作数指令,如HLT,NOP(空操作)第三节寻址方式寻址方式指的是确定本条指令的数据地址及下一条要执行的指令地址的方法,所以寻址方式包括指令的寻址方式和操作数的寻址方式。指令的寻址方式有两种:顺序寻址和转移寻址。顺序寻址采用PC+1的形式取下一条指令,除了顺序寻址都属于转移寻址方式。操作数的寻址方式有很多种,下面将介绍常用的几种寻址方式。注意:操作数的寻址方式与操作数有关,理论上讲,操作数的寻址方式应该在地址码部分,但是实际情况是表示操作数的寻址方式的编码有的是在地址码部分如PDP-11系列机,也有的是在指令的操作码部分中表示操作数的寻址方式,如IBM370,他的寻址方式在指令的前两位。下面将举例说明操作数的寻址方式,此处为了方便起见,假设所有操作都是字节操作,目的操作数都在寄存器中。操作数寻址方式:参考学习\n...(1)立即数寻址方式:指令中的操作对象是一个操作数loadR0,#05H;将05H送入R0(R0=05H)addR0,#30H;将30H与R0的内容相加,和送入R0(R0=35H)(2)寄存器寻址方式:指令中的操作对象是寄存器,操作数在寄存器中loadR2,R0;将R0的内容送入R2(R2=35H)addR2,R0;将R0的内容与R2的内容相加,和送入R2(R2=6AH)(3)直接寻址方式:指令中的操作对象是操作数的地址,操作数在存储器中(4)寄存器间接寻址方式:指令中的操作对象是寄存器,寄存器的内容是操作数的地址(5)间接寻址方式:指令中的操作对象是操作数的地址的地址(6)基址寻址方式:机器设有一个基址寄存器Rb,指令中的操作对象一个地址,操作数的地址由基址寄存器的内容与指令中的位移量相加而成。(7)变址寻址方式:机器设有一个变址寄存器Rd,指令中的操作对象一个地址,操作数的地址由变址寄存器的内容与指令中的位移量相加而成,在执行操作后,变址寄存器将自动加1或减1。变址寻址方式利于数组操作。(8)相对寻址方式:指令中的操作对象一个地址,操作数的地址由指令自己的地址与指令中的位移量相加而成。设本指令的地址为A00H。(9)页面寻址方式:机器中的PC寄存器参与寻址,指令中的操作对象一个地址,操作数的地址由PC的高位与指令中的位移量拼接而成。设PC=1000H,取二进制高8位。(10)堆栈寻址方式堆栈是主存中一个连续的存储区域,对数据的存取按一种特定的顺序进行。堆栈只允许存储区的一端加入/移出数据。堆栈工作有两种方式:向上生成(栈底在高位地址)和向下生成(栈底在低位地址)。PC机的堆栈是向上生成的。堆栈设有堆栈寄存器SP,SP作为堆栈指针,其初值是栈底,随着堆栈的工作SP进行加减变化。(11)块寻址方式:块寻址方式在指令中指出数据块的首地址和数据块的长度。用于DMA工作方式。第四节指令格式举例参考学习\n...1.指令类型1)算术逻辑运算,如:add,sub,and,or,not2)移位操作,如:shl,shr,sal,sar,rol,ror3)浮点数运算(要用到80387协处理器)4)十进制运算指令,如:daa,das(BCD码调整)5)字符串处理指令,如:cmps(串比较)6)数据传送指令,如:mov7)转移类指令无条件转移和条件转移通常,计算机中有N,Z,V,C,P五个标志位N=1表示结果为负Z=1表示结果为0C=1表示结果有进位或是无符号数比较小于(有借位)V=1表示结果溢出P=1表示结果有奇数个1C+Z=1表示无符号数比较小于或等于N⊕V=1表示有符号数比较小于N⊕V+Z=1表示有符号数比较小于或等于以下是用一个串加电路,表示如何得到N,Z,V,C,P五个标志位C=C4⊕C3⊕C0Z=S4+S3+S2+S1+S0N=S4V=C4⊕C3P=S4⊕S3⊕S2⊕S1⊕S0调用指令和返回指令,如:call,ret陷阱与陷阱指令,如:int参考学习\n...8)堆栈及堆栈操作指令,如:push,pop9)输入输出指令,如:in,out10)特权指令11)其它指令:向量指令,多处理机指令,控制指令第五节RISC技术复杂指令系统(CISC)与精简指令系统(RISC)1)指令系统的性质(1)完备性指令系统的完备性是指用汇编语言编制各种程序时,指令系统直接提供的指令足够使用,而不必用软件实现。(注:一台机器最基本也是必不可少的指令并不多,大多数指令可以用软件实现)例如,乘指令,可以用软件实现,但是指令系统中有乘法指令的系统就要比没有的更具有完备性。(2)有效性指令系统的有效性是指利用该指令系统所编制的程序能够高效率的运行。高效率主要表现在占存储空间小,执行速度快两个方面。(3)规整性指令系统的规整性包括指令系统的对称性,匀齐性和指令格式与数据格式的一致性。指令的对称性是指在指令系统中所有的寄存器和存储单元都可以同等对待,所有的指令都可以使用各种寻址方式。他对简化汇编程序设计,提高程序的可读性有利。指令的匀齐性是指一种操作性质的指令可以支持各种数据类型,它可以使汇编语言程序设计与高级语言编译程序无需要考虑数据类型而选用指令,因而提高了编程效率。指令格式与数据格式的一致性是指令长度与数据长度有一定关系,以方便存储和处理。指令长度是字节的整数倍,而数据长度一般为1、2、4、8个字节。(4)兼容性指令的兼容性主要要求指令应该具有向上兼容,即低档次机器可以运行的程序在高档次机器上也可以运行。2)复杂指令系统(CISC)基于指令系统的上述四个性质,同时由于硬件成本下降,软件成本上升,所以在指令系统中增加更多指令来提高操作系统的效率,缩短指令系统与高级语言参考学习\n...的语义差别,以便于高级语言的编译,从而降低软件成本。其缺点是:造成硬件过于复杂。3)精简指令系统(RISC)指令系统庞大了,但是统计表明,机器所执行的指令80%以上是简单指令,因此提出精简指令系统以求优化的思想。优化:提高机器性能,提高CPU速度。一个程序的执行时间为P,高级语言编译后在机器上运行的指令数为I,执行每条指令所用的平均周期数为CPI,每个机器周期为T,则有P=I*CPI*T,为了减小I、CPI、T应采用以下七点。(1)选取使用频度高的简单指令,以及有用但不复杂的指令。(2)指令长度固定,指令格式种类少,寻址方式种类少。从而缩短译码时间。(3)只有存取数指令访问存储器,其他指令在寄存器间进行(可以采用Cache)。读写存储器的时间比较长,只有必须时才读写存储器,以提高CPU效率。(4)CPU中通用寄存器的数量要多(5)大部分指令在一个机器周期内完成。(采用流水线方式,注意相关与转移)(6)以硬布线控制逻辑为主,少用或者不用微码控制。(7)通过精简指令和优化设计编译程序,以简单有效的支持高级语言实现。本章思考题1.什么叫机器指令?什么叫指令系统?2.如何理解多种寻址方式?3.说明机器字长、指令字长、存储字长的区别及联系。4.试比较间接寻址和寄存器间接寻址。5.比较RISC和CISC。参考学习\n...第八章CPU的结构和功能教学时数:8学时教学目的与要求:使学生理解和掌握CPU基本结构,指令执行的基本流程、指令流水技术,中断系统中软硬件的分工配合及工作过程。教学重点:CPU的功能和组成、指令周期流水。教学难点:中断系统判优逻辑、中断屏蔽技术。第一节CPU的结构中央处理器(CPU)是由控制器和运算器两部分组成,以实现指令控制、操作控制、时间控制和数据加工的功能。1.指令控制:程序是由指令组成,指令的执行顺序由CPU来保证。操作控制:一条指令的功能通常是由若干组操作信号组合起来实现,每组操作信号的工作顺序也由CPU来保证。时间控制:指令、操作信号的执行均受到时间的严格控制。数据加工:计算机要对数据进行算术、逻辑运算。中央处理器的结构与组成运算术逻辑运算部件(ALU)算通用寄存器器透明寄存器(X,Y)状态寄存器(PS)指令译码器(ID,对指令的操作码进行译码分析)中指令部件程序计数器(PC,保存下一条指令的地址)央控指令寄存器(IR,保存当前正在执行的指令)处制脉冲源理器时序部件启停控制电路器时序信号产生及其控制部件控制信号形成部件内总线其他地址寄存器(MAR)数据寄存器(MDR)注:透明:程序员对于不可见的软件硬件称为透明。2.CPU内部总线结构1)单总线结构:由于所有的数据都将在内总线上流动,所以划分工作时序时,内总线的数据流动情况是一个主要问题。通常,单总线结构的计算机以内总线上的一次数据流动为一个时钟周期(节拍)。2)双总线结构:有A、B两条总线,寄存器输出到A总线上,寄存器由B总线输入,A、B总线由总线连接器G连接,关闭G则A、B相连,打开G则A、B分开。3)三总线结构:三总线分别为输入数据总线、寄存器数据总线和ALU输出参考学习\n...总线。前两条总线为输入总线,分别从存储器和寄存器获取数据,运算结果由ALU输出总线分给存储器或寄存器。3.单总线结构计算机的指令工作过程通用MAR寄存器PSMDRALUXYPCIR…指令译码器…时序∶部∶控制信号形成部件件…控制信号脉冲源第二节指令周期一个指令周期一般可以分为:取指周期(获取指令),源周期(获取源操作数),目的周期(获取目的操作数),执行周期(获取结果)。1)取指周期:取指周期目的是获取指令,把指令从存储器中取出送入到CPU的IR寄存器(指令寄存器)中。假设指令的长度与机器的字长相通,取指过程分为三步:(1)PC→MAR,然后置Read信号(SET”R”);同时PC→ALU,Y清0,ALU置进位,ALU进行加操作(Y+1),结果存入Z。(实现PC+1)(2)经过一个主存存储周期后,MDR中有数据。在实际情况中,由于存储周期远远大于节拍(时钟周期),所以此时CPU在等待存储器,CPU不停插入空闲的节拍,以保证CPU和存储器之间的工作关系,参考学习\n...通常设置一个信号WMFC,当WMFC=1时,表示存储周期结束。MDR→IRIR中保存的是当前正在执行的指令(3)PC+1(Z)→PCPC中保存的是下一条指令的地址。通常在这个节拍中,同时进行分析指令的工作。2)源周期:源周期目的是获取指令的源操作数,把指令中的源操作数从寄存器/存储器中取出送入到CPU的Y寄存器(透明寄存器)中。3)目的周期:目的周期目的是获取指令的目的操作数,把目的操作数送入透明寄存器Y中。所以目的周期和源周期基本一致。4)执行周期:执行周期目的是计算出指令的操作结果,把指令中的运算结果保存在目的操作对象中。第三节指令流水指令流水线是为了让计算机和其它数字电子设备能够加速指令的通过速度(单位时间内被运行的指令数量)而设计的技术。流水线是假设程序运行时有一连串的指令要被运行(垂直座标i是指令集,水平座标表时间t)。绝大多数当代的CPU都是利用时钟频率驱动。CPU是由内部的逻辑门与触发器组成。当受到时钟频率触发时,触发器得到新的数值,并且逻辑门需要一段时间来解析出新的数值,而当受到下一个时钟频率触发时触发器又得到新的数值,以此类推。而借由逻辑门分散成很多小区块,再让触发器链接这些小区块组,使逻辑门输出正确数值的时间延迟得以减少,这样一来就可以减少指令运行所需要的周期。1.写回暂存器危害:当一名程序员(或者组合者/编译者)编写组合代码(或者汇编码)时,他们会假定每个指令是循序运行的。而这个假设会使流水线无效。当此现象发生后程序会表现的不正常,而此现象就是危害。不过目前有提供几种技术来解决这些危害像是转发与延迟等。2.未流水线的架构产生的效率低,因为有些CPU的模块在其他模块运行时是闲置的。流水线虽并不会完全消除CPU的闲置时间,但是能够让这些模块并发运作而大幅提升程序运行的效率。管线在处理器的内部被组织成层级,各个层级的管线能半独立地单独运作。每一个层级都被管理并且链接到一条“链”,因而每个层级的输出被送到其它层级直至任务完成。处理器的这种组织方式能使总体的处理时间显著缩短。但并不是所有的指令都是独立的。3.优缺点:并非在所有情况下流水线技术都起作用。可能有一些缺点。如果一条指令流水线能够在每一个时钟频率周期(clockcycle)接纳一条新的指令,参考学习\n...被称为完整流水线(fullypipelined)。第四节中断系统(1)硬件中断和软中断硬件中断:由某个硬件中断请求信号引发的中断软中断:由执行软件中断指令所引发的中断通常硬件中断通过中断请求信号形成向量地址,而软中断由指令提供中断号,再转为向量地址。(2)强迫中断和自愿中断强迫中断:是由于故障(如硬件故障、程序故障)、外部请求等所引起的强迫性中断。自愿中断:由程序安排的中断,即软中断。(3)内中断和外中断内中断:来自主机内部的中断请求。外中断:来自主机外部(外设)的中断请求。(4)可屏蔽中断和不可屏蔽中断。外中断分可屏蔽和不可屏蔽中断,内中断都是不可屏蔽的(5)向量中断和非向量中断向量中断:中断程序入口地址由硬件提供非向量中断:中断程序入口地址不由硬件提供。4)相关概念中断源:中断向量:采用向量化的响应中断方式,将中断服务程序的入口地址及其程序状态字存放在特定的存储区中,这所有的中断服务程序入口地址和状态字在一起,称为中断向量。中断向量表:存放中断向量的表。通常是把所有的中断服务程序入口地址(或包括服务程序的状态字)组织成一个一维的表格,存放在一段连续的存储区中。向量地址:访问中断向量表的地址码,即读取中断向量所需的地址(也可以称为中断指针)5)中断优先级判断:(1)软件查询(2)并行优先队列逻辑:优先级固定,通过硬件电路实现,优先级高的中断请求信号同时屏蔽优先级低的信号。(3)链式优先队列逻辑:多重查询:设备发出中断申请的时候,同时发送设备编码,优先级高的设参考学习\n...备编码被批准链式排队:设备发出中断申请后,CPU发应答信号由优先级高的设备向优先级低的设备传送。中断隐指令:5)中断响应(1)响应条件:有中断请求信号发生该中断请求未被屏蔽CPU处于开中断状态没有更重要的事要处理(没有优先级更高的中断请求或工作)CPU刚刚执行的指令不是停机指令在一条指令结束时响应(2)响应过程在现行指令将结束时响应中断请求。关中断保存断点:低档机把PC入栈;高档机把PC、PSW及相关寄存器入栈。取中断程序入口地址转向执行以上过程是在中断周期中直接由硬件实现,并非执行程序指令,自然不要编程实现,所以称此过程为中断隐指令。6)中断处理中断响应后经过中断隐指令,进入中断处理程序保护现场(对低档机)送新屏蔽字开中断(允许中断嵌套)执行中断程序关中断恢复现场及原屏蔽字开中断8返回PC机中断处理程序保护现场(对低档机)开中断(允许中断嵌套,送新屏蔽字工作由主程序实现)执行中断程序参考学习\n...关中断送中断结束命令(恢复原屏蔽字,开中断)恢复现场返回(IRET)本章思考题1.CPU有哪些功能?画出结构框图。2.什么是指令周期,其是否是一个固定值?3.说明系统的并行性和流水线的必要性。4.什么是中断,设计中断系统需要考虑哪些主要问题?5.什么是中断隐指令,有哪些作用?参考学习\n...第九章控制单元的功能教学时数:4学时教学目的与要求:理解控制器的功能、组成原理;掌握多级时序系统的基本概念和原理。教学重点:微操作命令的分析、多级时序系统。教学难点:微操作命令的分析。第一节微操作命令的分析具体分析几个典型命令,参见书中376-378页。第二节控制单元的功能1.控制器的功能与组成1)控制器功能:(1)控制指令执行的顺序。指令通常是顺序执行的,但是也有非顺序执行的时候,如遇到转移类指令和中断程序。(2)控制指令的执行。指令执行分为两个阶段:从存储器取出指令,分析执行指令。2)控制器的组成(1)指令部件。指令部件的功能是实现取指操作并分析指令。指令部件包括指令译码器(ID,对指令的操作码进行译码分析),程序计数器(PC,保存下一条指令的地址),指令寄存器(IR,保存当前正在执行的指令)。(2)时序部件。时序部件又称为周期节拍发生部件,用来产生一定的时序信号,以便实现机器指令执行过程中的时序控制。时序部件包括脉冲源(产生脉冲信号,为整个机器提供时钟,它是机器周期、节拍和工作脉冲的基准信号),启停控制电路(根据机器需要控制时序信号的发生和停止),时序信号产生及其控制部件(以工作脉冲为基准,产生不同的时序信号)。(3)控制信号形成部件。产生微操作控制信号,是控制器的核心。微命令:构成控制信号序列的最小单位称为微命令。控制器发出的每个控制信号就是一个微命令。微操作:由微命令控制实现的基本的操作称为微操作。例如:打开三态门信号是一个微命令,打开三态门的动作是一个微操作。微操作是计算机不可再分的操作,他是计算机中最小的操作信号。控制信号形成部件有两种实现方式,分为组合逻辑电路实现和微程序实现。组合逻辑:每个微命令由一个组合逻辑电路产生,同时产生多个微命令,形成一个微操作。微程序:将每个微操作看成一个二进制数,将所有的微操作以二进制数的形式保存在一个存储器(控制存储器)中。参考学习\n...计算机时序的划分指令周期:执行一条指令所需要的时间。机器周期(CPU工作周期):一条指令的执行可以分成两个阶段:取指、分析执行指令。如果进一步划分,一条指令的执行可以分为:取指令、取源操作数、取目的操作数和执行几部分,所以一个指令周期可以分为若干个机器周期,每个机器周期完成一个具体工作,机器周期有取指周期,源周期,目的周期,执行周期和中断周期。节拍(时钟周期):事实上机器周期的时间常常是不固定的,为了便于控制,我们把机器周期划分成若干个相等的时间段,我们称之为节拍。通常,单总线结构的计算机以内总线上的一次数据流动时间为一个节拍(时钟周期)。工作脉冲(定时脉冲):节拍提供了一项操作所需的时间分段,但有的操作还需要严格的工作脉冲来控制。如一个数据从寄存器A打入寄存器B,此操作是一个节拍内实现,但是对于A、B寄存器来说是有先后次序的,即数据先从A发出,后进入B;这个先后次序由工作脉冲来实现。由于执行一条指令的时间是长短不一的(无操作数的指令执行时间短,两操作数的指令执行时间长),所以一般不把指令周期作为一级时序关系,通常所说的三级时序关系指的是:机器周期、节拍和工作脉冲。控制器的控制方式(1)同步控制方式:指一条指令的执行和指令中每个微操作都由CPU的基准时标的时序信号所控制。同步控制方式有三种:①采取完全统一的机器周期。要求采用固定时间长度的机器周期,每个机器周期的节拍数都相同,使得机器周期规整,便于控制器电路设计。缺点:事实上机器周期长短不一,必须以最长的机器周期为基准,必然造成时间上的浪费。②采用不统一的机器周期。把一条指令划分成若干个机器周期(允许不同指令的机器周期不同),不同的机器周期使用的时间不同。③采用中央控制和局部控制相结合的办法。将大部分指令安排在一个统一的较短的机器周期内,称中央控制,将复杂的指令另行安排,成为局部控制。(2)异步控制:不采用统一的机器周期和节拍,各个部件之间的信息交换采用“应答”式。(3)联合控制(同步异步结合)本章思考题1.什么微操作,与指令有什么关系?参考学习\n...2.控制单元的功能是什么?3.说明指令周期、机器周期和时钟周期的区别及联系。4.解析JMP指令的微操作。5.试比较同步控制、异步控制和联合控制的区别。参考学习\n...第十章控制单元的设计教学时数:2学时教学目的与要求:理解微程序控制器部件的组成原理,掌握微程序控制器的设计方法。教学重点:微操作的节拍安排、微指令、微程序控制计算机的设计方法。教学难点:组合逻辑设计。第一节组合逻辑设计1.微程序控制器基本原理(1)将控制器所需的微命令以代码(微码)形式编成微指令,存入一个用ROM构成的控制存储器中。在CPU执行程序时,从控制存储器中取出微指令,其所包含的微命令控制有关操作。与组合逻辑控制方式不同,他由存储逻辑事先存储并提供微命令。(2)将各种机器指令的操作分解为若干微操作序列。每条微指令包含的微命令控制,实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,编制出一条完整的微程序,事先存入控制存储器中。基本概念(1)微命令:构成控制信号序列的最小单位称为微命令。控制器发出的每个控制信号就是一个微命令。(2)微操作:由微命令控制实现的最基本的操作称为微操作。(3)微指令:同一时间(一个节拍内)发出的控制信号所实现的一组微操作称为微指令。(4)微周期:从控制存储器中读取一条微指令并执行相应的一步操作所需的时间称为微周期(或微指令周期)。(5)微程序:一系列微指令的有序集合称为微程序。一段微程序可以实现相应的一条机器指令的功能,即一条机器指令可以分成若干条微指令。(6)控制存储器:存放微程序的存储器称为微指令存储器,由于它主要存储内容是控制机器操作的微命令和下一条要执行的微指令的地址(下地址),因此又称之为控制存储器。第二节微程序设计微程序控制器由微(指令)地址寄存器、微指令地址译码器及驱动部件、控制存储器、微指令寄存器、微指令地址形成电路、状态条件等部分组成。其中,微参考学习\n...地址寄存器,微指令寄存器,微地址形成电路和控制存储器是微程序控制器的关键部分。1.微指令寄存器:从控制存储器中读取的微指令存放于微指令寄存器中。微指令分为微操作控制字段和顺序控制字段。微程序控制字段可能直接就是微命令或是微命令的相关代码(通过译码器形成微命令),而顺序控制字段指明后继微指令地址的形成方式,用以控制微程序连续执行。2.微地址寄存器:在从控制存储器中读取微指令时,微地址寄存器中保存着控制存储器的地址(微地址),指向相应的控制存储器单元。当读出微指令后或完成一个微指令周期操作后,微地址形成电路将后继微地址打入微地址寄存器中,作好读取下一条微指令的准备。3.微地址形成电路:根据微程序执行顺序的需要,应当有多种后继微指令地址的形成方式。一般依据以下几种信息中的一部分去形成后继微地址:现行微指令中顺序控制字段(决定形成方式),现行微指令地址(顺序执行时的基准),微程序转移时的微地址(由微指令给出其全部或部分高位),机器指令有关代码(作为微程序分支的依据),机器运行状态(可作为微程序转移的依据)等。显然在逻辑实现时采用PLA电路是比较理想的。4.指令工作如下:(1)一般情况下,在微程序存储器的0号微地址单元一定是取指周期的第一步微指令,所以,微地址寄存器初始条件应该为0。将微指令读入微指令寄存器,形成微命令,以致CPU工作(取指令)(2)根据指令操作码、状态标志、上一条微指令寄存器中的顺序控制字段及条件代码(通过微地址形成电路)形成下一条微地址,送入微地址寄存器。(3)重复⑵工作,直到指令周期的最后一条微指令,令其结尾使下地址为0。5.微指令的编码方法(1)直接控制法直接控制编码又称不译法,即微指令中控制字段的每一位就是一个微命令,直接对应一种微操作。优点:每个微命令独立,可以并行执行,每个微命令不需译码就可以产生,从而提高了机器的执行速度。缺点:微命令多时,微指令过长,占存储空间太大。(2)最短字长编码参考学习\n...对于N个微命令,编成log2(N+1)位编码。(其中一种编码表示无操作)优点:存储空间少。缺点:译码电路多,速度慢。例:一台计算机有127个微命令,平均每条微指令中有5个微操作采用不译法每条微指令127位,采用最短字长法只需5*7=35位。(3)分段直接编码法它是前两种方法的折中,他将微指令分成若干小段,段内采用最短编码,段间采用直接控制。此方法关键在于找出各微命令之间的互斥关系。(互斥信号为一组)。一般的寄存器的out和in信号各自独立成一段,读写信号一段,ALU操作一段,(4)分段间接编码它的形式与⑶相同,但是⑶中的各段之间是直接译码,彼此不相关,而⑷各段译码时,还与其他段相关,所以很复杂。6.微指令地址的形成(1)初始微地址的形成取指:把取指的首条微指令放入存储器的0单元。功能转移:一级功能转移当操作码固定,可采用操作码实现功能转移多级功能转移如果指令的寻址方式多样,还要采用多级转移PLA电路实现转移。(2)后继微地址形成增量方式:微指令逐条工作,基本采用顺序执行方式;但是微指令寄存器中的顺序控制字段分为转移方式和转移地址。转移方式指明判别条件,转移地址指明转移成功后微程序的去向,不成功则顺序执行。断定方式:形成后继微地址的断定方式是指后继微地址可由程序设计者指定,或者根据微指令所测试的结果直接决定后继地址全部或部分地址值。这种微地址结构打破了顺序地址物理分配方式,也打破了顺序执行微指令的控制方式。因为每条微指令的地址必须由上一条微指令给出,所以每条机器指令的微程序序列也不一定要求安排在控制存储器的连续单元之中,从而使得微程序中各微指令的安排十分灵活,给微程序在ROM中的物理分配提供了方便,并可使ROM中的各单元得到参考学习\n...充分利用。采用断定方式的微指令都有一个地址区,这种微指令又叫做具有下地址域的微指令。该地区一般分为两部分:一部分为非测试地址,由程序设计者直接指定,占高位部分;另一部分为测试地址,由测试结果确定其地址值,占低位部分。测试地址相当于在指定的区域内断定具体的分支。所依据的测试状态可能是指定的开关状态、按键状态、指令的某些位、状态字、运算结果等。7.微指令格式的分类(1)垂直型微指令如果每条微指令只定义并执行一种基本操作,(如一次数据传输)则是一种典型的垂直型微指令。优点是微指令短(位数少),简单规整,容易编制调试。缺点是执行效率低,不能充分利用CPU的并行性。对于单总线结构CPU只能采取垂直型微指令。(2)水平型微指令如果每条微指令可以定义并执行几种并行的基本操作,(如两组以上的输出传输)则是典型的水平型微指令。这种微指令包含的微命令较多,相应的位数较多,为实现同等功能所需要的微程序段(所需要的微指令少)。优点:执行效率高(几项工作同时进行),灵活性强,微程序短。缺点:微指令长,复杂程度高,设计自动化比较困难。但是对于多总线结构的计算机采用水平型微指令较好。(3)混合型微指令在垂直型的基础上,增加一些不太复杂的并行操作,就成了一种偏于垂直型的混合型微指令本章思考题1.画出组合逻辑控制单元的框图。2.试比较组合逻辑设计和微程序设计步骤及硬件组成。3.什么是垂直型微指令?什么是水平型微指令?4.微指令地址有几种形成方式?5.试比较静态和动态微程序设计。欢迎您的光临,Word文档下载后可修改编辑.双击可删除页眉页脚.谢谢!希望您提出您宝贵的意见,你的意见是我进步的动力。赠语;1、如果我们做与不做都会有人笑,如果做不好与做得好还会有人笑,那么我们索性就做得更好,来给人笑吧!2、现在你不玩命的学,以后命玩你。3、我不知道年少轻狂,我只知道胜者为王。4、不要做金钱、权利的奴隶;应学会做“金钱、权利”的主人。5、什么时候离光明最近?那就是你觉得黑暗太黑的时候。6、最值得欣赏的风景,是自己奋斗的足迹。 7、压力不是有人比你努力,而是那些比你牛×几倍的人依然比你努力。参考学习