第,*,页,电气工程学院,第三节 微型计算机中的先进计算机技术,一、中断技术,中断的主要内容将在,第六章,介绍。这里先简略介绍与中断有关的几个概念:,中断?,中断源?,中断优先级?,中断嵌套?,计算机暂停(或称为挂起)正在执行的程序,转去处理随机事件,随机事件处理完毕后,再恢复,执行原来的程序的过程称为中断。,掌握,:,每一项先进技术解决什么问题,1.,什么是中断?,目的:提高实时性、实现多任务并发操作,在计算机系统中,一个,CPU,要处理若干事务:,这就要求采用中断技术,才能作到,面面俱到,而又不误,突发事件,的处理时机。,计算机用于测控领域,必然涉及中断。,从程序执行的角度看:,CPU,正在执行的当前程序被打断,转而执行,为中断源服务的所谓“中断服务程序”(,ISR,:,I,nterrupt,S,ervice Routine,)。,这一,过程称为中断。,通过,中断引脚,产生的中断,称为,外中断,或,硬中断。,2.,中断源?,产生中断请求的源称为中断源。,3.,中断优先级?,按中断源的轻重缓急来确定,CPU,响应中断的先后次序,4.,中断嵌套?,CPU,在执行中断服务程序的过程中,被高优先级的中断源中断,又转入,另一个中断服务程序的操作,叫,中断嵌套,。,数据采集,运算,显示,处理突发事件,通信,打印,重点,下面通过一个实例,解释这几个概念,CPU,INTR,NMI,中,断,控,制,器,IR1,IR2,IR3,IR4,IR5,IR6,IR7,IR8,同时请求中断(,1,),中断请求(,2,),中断请求(,3,),主程序,IR3,中断服务,程序,IR1,中断服务,程序,NMI,中断服务,程序,IR4,中断服务,程序,加在,MNI,引脚上的中断,的优先级别高于加在,INTR,引脚上的中断,对于,INTR,引脚而言,,IR1,最高,,IR8,最低,*外设发出中断请求的顺序,(,1,)(,2,)(,3,)。,*,CPU,响应某一中断源的中断请求,则转入该中断源对应的中断服务程序,外中断,与,调用子程序,的区别,INTR,中断源,当,前,程,序,*外设随机诱发中断,,转入中断服务程序,*硬、软件配合寻找,入口地址,*,寻找入口地址是中断,技术的关键,中断,服务,程序,当前程序,:,CALL SUBR,:,:,子,程,序,SUBR,*由,CALL,指令引起,转入子程序,*预知何时转入子程序,*入口地址直接从,CALL,指令中取得,二、流水线技术,目的:提高指令执行速度,分,装发动机,2,装外壳,1,(空闲),先看一个例子:,设小轿车由三个步骤组装完成:,装发动机,,,装外壳,,装轮子,,每个步骤,需要,一分钟,。可以有,两种,组装方式:,1.,装发动机,装外壳,装轮子,出车,这种情况每三分钟出一辆轿车,2,设立,三个独立的小组,,分别完成装发动机、装外壳、装轮子,,采用如下流程:,三分钟出第一辆,之后一分钟出一辆,装发动机,1,(空闲),(空闲),0 1 2,3 4 5 6,装发动机,3,装外壳,2,装轮子,1,出车,1,装发动机,4,装外壳,3,装轮子,2,出车,2,装发动机,5,装外壳,4,装轮子,3,出车,3,装发动机,6,装外壳,5,装轮子,4,出车,4,甲,乙,丙,*超流水线,:一条流水线的深度在,56,级以上,称为超流水线。,80486,采用,6,级流水线,*超标量,:两条以上的流水线,如:取指令,译码、形成地址,取数,执行,,由专用部件分别完成这四个步骤,各步骤并行操作。每条指令所需时间,不变,而总体上加快了指令流的速度,流水线(,Pipeline,),技术是一种将一条指令的执行过程分解为多个,步骤,并让几条指令的不同步骤操作在时间上重叠,从而实现几条指令,并行处理,提高程序运行速度的技术。每一个步骤均由一个独立的电路,来完成,若干个完成不同操作步骤的电路组成了指令流水线。,三、乱序执行技术,目的:进一步提高程序执行速度,所谓乱序执行(,Out of Order Execution,),技术就是允许指令按照,不同于程序中指定的顺序,发送给执行部件,从而加速程序执行过程的一种最新技术。它本质上是按,数据流,驱动原理工作的(传统的计算机都是按,指令流,驱动原理工作的),,根据操作数是否准备好,来决定一条指令是否立即执行。不能立即执行的指令先搁置一边,而把能立即执行的后续指令提前执行。,四、推测执行技术,目的:提高整个计算机的执行速度,推测执行技术(或称为预测执行技术)是为了充分发挥流水线与并行执行技术和分支超顺序执行技术而采取的一种先进计算机技术。,五、高速缓冲存储器技术,目的:,加快内存的访问速度,在,32,位微机中,为了加快处理速度,在,CPU,与主存储器之间增设了一级或两级,高速小容量存储器,,称之为高速缓冲存储器(,Cache,)。,高速缓冲存储器,的存取速度比,主存,要快一个数量级,,大体与,CPU,的速度相当,。,CPU,在取指令或取操作数时,首先看其是否在高速缓冲存储器中,不在时才访问主存储器。指令或操作数在高速缓冲存储器中时,称为“,命中,”,反之称为“未命中”。,六、虚拟存储器技术,目的:,扩大用户可用内存储器空间,虚拟存储器技术是一种通过,硬件和软件结合,扩大用户可用存储空间的技术。它在内存储器和外存储器(软盘、硬盘或光盘)之间增加一些的硬件和软件,使两者形成一个有机整体。,CPU,Cache,SRAM,高速缓存,控制器,主存,DRAM,高速缓存系统,CPU,物理主内存,高速、小容量,存储管理机制,外部存储器,低速、大容量,如:硬盘、光盘,Cache,虚拟主内存,第四节微型计算机的主要性能指标及典型,微型计算机,一、主要性能指标,字长,存储容量,通常以字节为单位表示存储容量,,如:内存,256MB,,,外存,80GB,运算速度,外设扩展能力,软件配置,指计算机内部,一次,可以处理的二进制数码的位数。,计算机的运算速度一般用,每秒钟所能执行的指令条数,来表示。由于不同类型的指令的执行时间不同,因而运算速度的计算方法也不同,,指微型计算机配接各种外部设备的可能性、灵活性和适应性,。,软件是计算机的重要组成部分,它配置是否齐全,直接关系到计算机性能的好坏和效率的高低。,二、,PC,系列微机简介 (教材,P,15,P,17,自学),三、,PC486,硬件特点 (教材,P,17,P,21,自学),四、,PC Pentium,的硬件特点(教材,P,21,P,22,自学),第二章,Intel,系列微处理器,第一节,Intel,系列微处理器概述,第二节,80486,微处理器的体系结构,第三节,Pentium,微处理器的体系结构,补充:,假想计算机工作原理,(,原课件,1.4.4),1.,假想计算机结构,(,原图,),2.,通过运行如下的一段程序介绍假想计算机的工作原理,ORG 1000H,10110000,B0H MOV A,,,5CH,01011100 5CH,00000100,04H ADD A,,,2EH,00101110 2EH,01110000 70H JO 100AH,00001010 0AH,00010000,10H,10100010 A2H MOV,(,0200H,),,A,00000000 00H,00000010,02H,11110100 F4H HLT,MOV,:,表示传送,ADD,:,表示加法操作,JO,:,J,ump if,O,verflow,如果溢出发生,则转移;,否则,执行下一条指令。,HLT,:,HALT,暂停执行指令,汇编语言,机器语言,二进制 十六,这段文章(程序)叙述了这样一段,“,故事”:,累加器,A,累加器,A,累加器,A,5CH,+2EH,存储器,如果结果,没有发生溢出,0200H,8A,执行,F4,,,CPU,停,发生溢出,转向指令“,11110100”,(,F4,H,),所在的地址并执行该指令;,该指令告诉,CPU,暂不执行指令,于是,CPU,暂停,。,),5C,8AH,演示,取指令、,分析指令,执行指令,两步:取、分 执行,三步:取 分 执行,计算机执行程序的节奏,开始,停,程序执行程序的过程,(,转,1.44,:图,动画,),一条指令由两部分组成:,操作码:告诉,CPU“,干什么”?,操作数:向,CPU,提供与“干什么”有关的地址信息,一、,8086,8088,微处理器,8086,是标准,16,位微处理器,内外数据总线都为,16,位;,8088,是准,16,位微处理器,内数据总线为,16,位,外数据总线为,8,位。,8086,8088,除了外数据位数及与此相关的部分逻辑稍有不同外,内部结构和基本性能相同,指令系统完全兼容。,第一节,Intel,系列微处理器概述,在计算机的发展历程中,尤其是在微型计算机的发展历程中,,Intel,光彩夺目。,P24,26,表,2.1,是一部浓缩的史诗。,*,8086,的地位:,假想机,8086,80286,80486,80586,入门,基础,过渡,重 点,对于,8086/8088,,请大家注意两个重要的,结构概念:,CPU,中,,这两个概念的,意义,:,*,把,CPU,的,性能提高,到一个崭新的阶段,;,*,在升级后的,CPU,中,一直沿用这两个概念,;,使,8086,8088,与原来的,8,位微处理器相比,在运行速度、处理能力,和对存储空间访问等性能方面有很大提高。,这也是在奔,4,问世的今天,我们还要了解,8086,的原因之一。,1,)非流水线结构,假想机在执行指令时,总是重复如下步骤:,取指,、,分析,、,执行,。,特点:,执行指令有间断,,要等提取指令这一动作完成。,提取指令、分析、执行这,三个动作是串行的,。,指令流水线,存储器分段,1,流水线结构,2,)流水线结构,8086/8088,采用了指令流水线概念,增加了一个指令队列,使,指令提取,和,指令执行,分别由,总线接口单元,BIU,和,执行单元,EU,独立完成。,EU,和,BIU,并行工作,,,提取指令,和,执行指令,重叠进行,,形成,两级指令流水线结构,,EU,可以,不停地执行,存放在指令队列中的,指令,。,总线接口单元,BIU,(,Bus Interface Unit,),完成:,取指,1,取指,2,取指,3,取指,4.,等待 执行,1,执行,2,执行,3,执行,4,执行单元,EU,(,Execution Unit,),完成,在工作频率相同的情况下,,具有流水线结构的,CPU,的运行速度,显然更快,。,高档的,CPU,是多级流水线,2.,存储器分段,(1,)为什么要对存储器进行,分段?,从讲课的逻辑来看,有两个理由:,1,),解决,16,位寄存器,提供,20,位地址信号,的问题,*,8086CPU,有,20,条地址引脚,可以产生,20,位地址信号,,形成,1M,个编号,从,00000H-FFFFFH,。,每一编号对应一个存储单元,即:,00000H,:,:,:,FFFFFH,2,),更有利于编程和运行程序,可以对,1M,存储单元寻址,1M,*在,8086CPU,内部,,各寄存器只有,16,位,,,无法形成、存储,20,位的地址信息。,如果把,1M,存储器划分为若干段,(,逻辑段,),,,每段的大小 规定为,1 64K,。,这样,按一,定规则,,16,位,的寄存器就可以提供,20,位,地址信号,。,(,2,)如何分段?,*把,1M,存储器分为若干个段,每段从,1B-64KB,;,*段与段之间可以,连续,(首尾相连),可以有,间隔,,可以,重叠,(部分重叠和完全重叠);,*,类型,:,代码段,(,存放程序的代码),,数据段,(,存放数据,),,,附加段(作为通用数据区)和,堆栈段,(作为堆栈区)。,代码段,数据段,堆栈段,附加段,CS,DS,SS,ES,用,段寄存器,指明,某段的起始位置,,即:存放,段基址,重叠部分,CPU,每次可以,同时对四个段,进行寻址,范围:,64K,程序区,,64K,堆栈区,,128K,数据区,8086/8088,内部结构示意图(图,