微型计算机中的先进计算机技术.ppt

上传人:牧羊曲112 文档编号:5349629 上传时间:2023-06-28 格式:PPT 页数:32 大小:339KB
返回 下载 相关 举报
微型计算机中的先进计算机技术.ppt_第1页
第1页 / 共32页
微型计算机中的先进计算机技术.ppt_第2页
第2页 / 共32页
微型计算机中的先进计算机技术.ppt_第3页
第3页 / 共32页
微型计算机中的先进计算机技术.ppt_第4页
第4页 / 共32页
微型计算机中的先进计算机技术.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《微型计算机中的先进计算机技术.ppt》由会员分享,可在线阅读,更多相关《微型计算机中的先进计算机技术.ppt(32页珍藏版)》请在三一办公上搜索。

1、第三节 微型计算机中的先进计算机技术,一、中断技术,中断的主要内容将在第六章介绍。这里先简略介绍与中断有关的几个概念:中断?中断源?中断优先级?中断嵌套?,计算机暂停(或称为挂起)正在执行的程序转去处理随机事件,随机事件处理完毕后,再恢复执行原来的程序的过程称为中断。,掌握:每一项先进技术解决什么问题,1.什么是中断?目的:提高实时性、实现多任务并发操作 在计算机系统中,一个CPU要处理若干事务:这就要求采用中断技术,才能作到面面俱到而又不误突发事件的处理时机。计算机用于测控领域,必然涉及中断。从程序执行的角度看:CPU正在执行的当前程序被打断,转而执行 为中断源服务的所谓“中断服务程序”(I

2、SR:Interrupt Service Routine)。这一过程称为中断。通过中断引脚产生的中断,称为外中断或硬中断。2.中断源?产生中断请求的源称为中断源。3.中断优先级?按中断源的轻重缓急来确定CPU响应中断的先后次序 4.中断嵌套?CPU在执行中断服务程序的过程中,被高优先级的中断源中断,又转入 另一个中断服务程序的操作,叫中断嵌套。,数据采集,运算,显示,处理突发事件,通信,打印,重点,下面通过一个实例解释这几个概念,同时请求中断(1),中断请求(2),中断请求(3),主程序,加在MNI引脚上的中断的优先级别高于加在INTR引脚上的中断,对于INTR引脚而言,IR1最高,IR8最低

3、,*外设发出中断请求的顺序(1)(2)(3)。*CPU响应某一中断源的中断请求,则转入该中断源对应的中断服务程序,外中断与调用子程序的区别,INTR,中断源,当前程序,*外设随机诱发中断,转入中断服务程序*硬、软件配合寻找入口地址*寻找入口地址是中断技术的关键,中断服务程序,当前程序:CALL SUBR:,子程 序,SUBR,*由CALL指令引起转入子程序*预知何时转入子程序*入口地址直接从CALL指令中取得,二、流水线技术 目的:提高指令执行速度,分,先看一个例子:设小轿车由三个步骤组装完成:装发动机,装外壳,装轮子,每个步骤 需要一分钟。可以有两种组装方式:,1.装发动机装外壳装轮子出车

4、这种情况每三分钟出一辆轿车,2设立三个独立的小组,分别完成装发动机、装外壳、装轮子,采用如下流程:,三分钟出第一辆,之后一分钟出一辆,装发动机1(空闲)(空闲),甲乙丙,*超流水线:一条流水线的深度在56级以上,称为超流水线。80486采用6级流水线*超标量:两条以上的流水线,如:取指令译码、形成地址取数执行,由专用部件分别完成这四个步骤,各步骤并行操作。每条指令所需时间不变,而总体上加快了指令流的速度,流水线(Pipeline)技术是一种将一条指令的执行过程分解为多个步骤,并让几条指令的不同步骤操作在时间上重叠,从而实现几条指令并行处理,提高程序运行速度的技术。每一个步骤均由一个独立的电路来

5、完成,若干个完成不同操作步骤的电路组成了指令流水线。,三、乱序执行技术 目的:进一步提高程序执行速度,所谓乱序执行(Out of Order Execution)技术就是允许指令按照不同于程序中指定的顺序发送给执行部件,从而加速程序执行过程的一种最新技术。它本质上是按数据流驱动原理工作的(传统的计算机都是按指令流驱动原理工作的),根据操作数是否准备好来决定一条指令是否立即执行。不能立即执行的指令先搁置一边,而把能立即执行的后续指令提前执行。,四、推测执行技术 目的:提高整个计算机的执行速度,推测执行技术(或称为预测执行技术)是为了充分发挥流水线与并行执行技术和分支超顺序执行技术而采取的一种先进

6、计算机技术。,五、高速缓冲存储器技术 目的:加快内存的访问速度,在32位微机中,为了加快处理速度,在CPU与主存储器之间增设了一级或两级高速小容量存储器,称之为高速缓冲存储器(Cache)。高速缓冲存储器的存取速度比主存要快一个数量级,大体与CPU的速度相当。CPU在取指令或取操作数时,首先看其是否在高速缓冲存储器中,不在时才访问主存储器。指令或操作数在高速缓冲存储器中时,称为“命中”,反之称为“未命中”。,六、虚拟存储器技术 目的:扩大用户可用内存储器空间,虚拟存储器技术是一种通过硬件和软件结合扩大用户可用存储空间的技术。它在内存储器和外存储器(软盘、硬盘或光盘)之间增加一些的硬件和软件,使

7、两者形成一个有机整体。,第四节微型计算机的主要性能指标及典型 微型计算机,一、主要性能指标,字长,存储容量 通常以字节为单位表示存储容量,如:内存256MB,外存80GB,运算速度,外设扩展能力,软件配置,指计算机内部一次可以处理的二进制数码的位数。,计算机的运算速度一般用每秒钟所能执行的指令条数来表示。由于不同类型的指令的执行时间不同,因而运算速度的计算方法也不同,,指微型计算机配接各种外部设备的可能性、灵活性和适应性。,软件是计算机的重要组成部分,它配置是否齐全,直接关系到计算机性能的好坏和效率的高低。,二、PC系列微机简介(教材P15P17 自学),三、PC486硬件特点(教材P17P2

8、1 自学),四、PC Pentium的硬件特点(教材P21P22 自学),第二章 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 10

9、H 10100010 A2H MOV(0200H),A 00000000 00H 00000010 02H 11110100 F4H HLT,MOV:表示传送ADD:表示加法操作JO:Jump if Overflow 如果溢出发生,则转移;否则,执行下一条指令。HLT:HALT 暂停执行指令,汇编语言,机器语言二进制 十六,这段文章(程序)叙述了这样一段“故事”:累加器A 累加器A 累加器A 5CH+2EH 存储器 如果结果没有发生溢出 0200H 8A 执行F4,CPU停 发生溢出 转向指令“11110100”(F4H)所在的地址并执行该指令;该指令告诉CPU暂不执行指令,于是CPU暂停。)

10、,5C,8AH,演示,取指令、分析指令,执行指令,两步:取、分 执行三步:取 分 执行,计算机执行程序的节奏,开始,停,程序执行程序的过程(转1.44:图,动画),一条指令由两部分组成:操作码:告诉CPU“干什么”?操作数:向CPU提供与“干什么”有关的地址信息,一、80868088 微处理器,8086 是标准16位微处理器,内外数据总线都为16位;8088 是准16位微处理器,内数据总线为16位,外数据总线为8位。80868088 除了外数据位数及与此相关的部分逻辑稍有不同外,内部结构和基本性能相同,指令系统完全兼容。,第一节 Intel系列微处理器概述,在计算机的发展历程中,尤其是在微型计

11、算机的发展历程中,Intel 光彩夺目。P2426 表2.1是一部浓缩的史诗。,*8086的地位:假想机8086802868048680586 入门 基础 过渡 重 点对于8086/8088,请大家注意两个重要的结构概念:CPU中,这两个概念的意义:*把CPU的性能提高到一个崭新的阶段;*在升级后的 CPU中一直沿用这两个概念;使80868088 与原来的8位微处理器相比,在运行速度、处理能力和对存储空间访问等性能方面有很大提高。这也是在奔4问世的今天,我们还要了解8086的原因之一。1)非流水线结构假想机在执行指令时,总是重复如下步骤:取指、分析、执行。特点:执行指令有间断,要等提取指令这一

12、动作完成。提取指令、分析、执行这三个动作是串行的。,指令流水线存储器分段,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的运行速度 显然更快。高档的C

13、PU是多级流水线,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存储器分

14、为若干个段,每段从1B-64KB;*段与段之间可以连续(首尾相连),可以有间隔,可以重叠(部分重叠和完全重叠);*类型:代码段(存放程序的代码),数据段(存放数据),附加段(作为通用数据区)和堆栈段(作为堆栈区)。,代码段,数据段,堆栈段,附加段,CS,DS,SS,ES,用段寄存器指明某段的起始位置,即:存放段基址,重叠部分,CPU每次可以同时对四个段进行寻址,范围:64K程序区,64K堆栈区,128K数据区,8086/8088内部结构示意图(图2.1),3.8086的内部结构 在两个重要的结构概念的基础上,介绍8086/8088的内部结构 分为两大部分:执行单元EU(Execution Un

15、it)总线接口单元 BIU(Bus Interface Unit)先介绍图2.1的各个部分:(1)BIU(Bus Interface Unit 完成外部总线操作)由段寄存器、指令指针寄存器、内部暂存器、指令队列、地址加法器 及总线控制电路组成。1)四个段寄存器 功能:实施对存储器的分段管理。CS(Code Segment register 16位代码段寄存器)用来标识当前 代码段,存放代码段的段基址(段的起始单元地址)的高16位。DS(Data Segment register 16位数据段寄存器)用来标识当前 数据段,存放数据段的段基址的高16位 ES(Extra Segment regis

16、ter 16位附加段寄存器)用来标识当前附加段,存放 附加段的段基址的高16位.附加段实际上是一个通用数据区,也称辅助数据区 SS(Stack Segment register 16位堆栈段寄存器)用来标识当前堆栈段,存放 堆栈段的段基址的高16位,代码段1代码段2代码段3代码段4,CODE1CODE2CODE3 CODE4,CODE1的高16位,CS,如果把CS的内容更换为CODE4高16位,则当前代码段为代码段4,如果CS存放则当前代码段为代码段1,CODE4高16位,CS,设:存放的是6条单字节指令 转移指令(转向NNNNN处)将不会顺序执这部分指令 装入NNNNN处的指令 清空指令队列

17、:主要使8086/8088的EU和BIU并行工作,取指令操作、分析指令操作重叠进行,从而形成了两级指令流水线结构,减少了CPU为取指令而必须等待的时间,提高了CPU的利用率,加快了整机运行速度,也降低了对存储器存取速度的要求。3)IP(Instruction Pointer register 指令指针寄存器)存放代码段的段内地址(偏移地址、地址偏移量)。,EU控制电路,总线控制电路,在假想机中,PC的功能:存放将要执行的指令的地址;在假想机中,存储器的地址是16位,PC 也是16位,PC可以独立提供指令 所在的存储单元的完整地址。而在8086系统中,存储器的物理地址是20位,IP为16位,无法

18、独立提供20位 地址。采用分段技术,由段寄存器CS 和IP 配合,共同形成20位物理地址。指令的实际地址(物理地址)=基地址 16+偏移量 CS IP 例:设:CS=C018H IP=FE7FH,下一条指令将在代码段的什么地方取得?16 C0180H+FE7FH CFFFFH,C018,FE7F,代码段,共同形成20位物理地址,相对于基地址的偏移量,从以上示意图中可以看出:*当IP之值变化时,只会在段内转移;*只有当CS变化时,才会在段间转移。,IP,CS,C0180H,CFFFFH,段基址高16位,(2)EU EU又可大致分为两个部分:寄存器部分和运控部分 1)寄存器(又分为通用寄存器和专用

19、寄存器)。*4个16位通用寄存器:AX,BX,CX,DX 共性:在进行一般的算术逻辑运算时,这四个寄存器相当于 假想机中的累加器,既可以存放操作数,也可存放结果;个性:在特定的指令中只能用特定的寄存器:AX(Accumulator)常规意义下的累加器;BX(Base register)基址寄存器(在基地址寻址中,存放基地址);CX(Count register)计数寄存器(用来计数,如控制循环次数等);DX(Data register)数据寄存器(在寄存器寻址的I/O指令中,存放端口地址)。这4个16位寄存器又可作为8个8位寄存器使用,名称分别为:AH、AL,BH、BL,CH、CL,DH、DL

20、。(见图),*4个16位专用寄存器 SP(Stack Pointer)堆栈指针寄存器存放堆栈段内某一单元地址的偏移量,与SS 配合,形成20位堆栈的当前顶部的物理地址。(在假想机中,仅SP 就可以指示出堆栈的当前顶部)例:设SS=2900H,SP=3126H,AX=7788H 执行指令 PUSH AX,3124,SP SS,2900,2C124H2C125H 2C126H,3126,2900,SP SS,8877,7788,AHAL,29000+3126 2C126H,在由SS指明的堆栈区内,SP的内容先减2,指向当前栈顶,7788H压入栈顶;Intel Convention(因特尔惯例):高

21、位字节存入高地址单元,低位字节存入低地址单元,AX,BP(Base Pointer)基址指针寄存器 存放堆栈段内某一单元地址偏移量,与SS 配合,形成20位物理地址。SP 和BP 都是用在堆栈段内,在把堆栈区的闲置部分用作数据区的情况下,使用BP,可以在堆栈内任意访问存储单元。DI(Destination Index)目的变址寄存器 存放目的操作数的地址偏移量。SI(Source Index)源变址寄存器 存放源操作数的地址偏移量。,IP,CS,DS,SI、DI、BX,SP、BP,SS,代码段,数据区,堆栈区,注意各段内可以充当存放偏移地址的寄存器,注意在编程过程中如何体现存储器分段。,(3)

22、物理地址(实际地址)和逻辑地址CPU通过20条地址引脚,提供20位2进制物理地址 逻辑地址:段基地址和偏移地址(两者都是16位),即在指令中给出的代表某一存储单元的地址。在编程时,使用的是逻辑地址。,*标志寄存器:存放运算结果的特征 在后续课程中,我们才会真正理解这些寄存器的含义和熟悉它们的使用。,各个寄存器的名称如数家珍各个寄存器的功能脱口而出,由16位逻辑地址变换为20位物理地址的关系如下:物理地址=段基址16+段内偏移,物理地址的生成是在BIU的地址加法器中完成的。,物理地址生成示意图,+,段寄存器,偏移地址,实际地址,20位地址总线引脚,译码电路,逻辑地址,逻辑地址:指令中给出的代表某一存储单元的地址。编程时使用逻辑地址!,20位二进制物理地址 5位16进制物理地址 0000 0000 0000 0000 0000 00000H 0000 0000 0000 0000 0001 00001H:1111 1111 1111 1111 1111 FFFFFH,CPU 存储器,物理地址,1M存储区,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号