[理版]硬件技巧基础_第1页
[理版]硬件技巧基础_第2页
[理版]硬件技巧基础_第3页
[理版]硬件技巧基础_第4页
[理版]硬件技巧基础_第5页
已阅读5页,还剩297页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机硬件技术基础学时数安排讲课: 54学时实验: 36学时课件制作: 黄 勤 甘思源 李 楠 联系电话: 65106554第一章 微型计算机基础第二章 intel系列微处理器 第三章 80486微处理器指令系统 第四章汇编语言程序设计 第五章 存储器及存储管理第六章输入/输出方式与接口芯片 第七章外设接口技术 第八章总线 目 录 教学目标 介绍微机的基本知识以及微机系统的结构、工作原理、主要性能指标和现代微机的先进技术。 学习要求 通过本章的学习,要求了解微机的基本结构、简单工作过程及现代微机的基本知识。第一章 微型计算机基础 讲授内容第一章 微型计算机基础第一节 微型计算机的组成第二节 微

2、型计算机的硬件结构及简单工作过程第三节 微型计算机中的先进计算机技术 第四节微型计算机的主要性能指标及典型微型计算机 第一节 微型计算机的组成二、微型计算机的硬件组成一、微型计算机系统的组成硬件和软件两大部分组成1.存储器 存储器是计算机中存储程序和数据的部件。计算机的存储器分为两大部分,一部分为内部存储器或主存储器,简称内存或主存;另一部分为外部存储器或辅助存储器,简称外存或辅存。 存储容量 描述存储器存储二进制信息量多少的指标。存储二进制信息的基本单位是位(bit,b)。一般把8个二进制位组成的通用基本单元叫作字节(byte,b)。微型计算机中通常以字节为单位表示存储容量。 1024b为1

3、kb 1024kb为1mb 1024mb为1gb 1024gb为1tb 存储速度 描述存储器工作快慢程度的指标,它指信息存入存储器和从存储器中取出所需要的时间。 存储的类型 半导体存储器 磁记录存储器 光盘存储器 2.微处理器 微处理器是微型计算机的运算和控制指挥中心。不同的微处理器,其性能有所不同,但基本组成是相同的,由运算器、控制器和寄存器阵列三个主要部件组成。 运算器 执行算术运算和逻辑运算的部件,由累加器(accumulator,a)、暂存器(temporary,tmp)、算术逻辑单元(arithmatic logic unit,alu)、标志寄存器(flag registers,f)

4、和一些逻辑电路组成。累加器算术逻辑单元标志寄存器cfcf进位标志进位标志 cf=cf=1 1 运算时产生了进运算时产生了进/ /借位借位 0 0 运算时无进运算时无进/ /借位借位 zfzf零标志零标志 zf=zf=1 1 运算结果为运算结果为0 0 0 0 运算结果非零运算结果非零 sfsf符号标志符号标志 sf=sf=1 1 运算结果为负运算结果为负 0 0 运算结果为正运算结果为正 afaf辅助进位标志辅助进位标志 af=af=1 1 运算时有辅助进运算时有辅助进/ /借位借位 0 0 运算时无辅助进运算时无辅助进/ /借位借位 pfpf奇偶标志奇偶标志 pf=pf=1 1 运算结果中运

5、算结果中“1”1”的个数为偶数的个数为偶数 0 0 运算结果中运算结果中“1”1”的个数为奇数的个数为奇数 ofof符号标志符号标志 of=of=1 1 有溢出有溢出0 0 无溢出无溢出如:两无符号数a、b进行比较 :=若ab 后有 zf=1,则 a b若ab 后有 cf=1,则 a b若是带符号数进行大小比较,能用cf标志来判断?例:a=ffh,b=01h;ab=feh,此时cf=0,ab?对带符号数的大小判断有两种方法方法一:数值与符号分开判断方法一:数值与符号分开判断方法二:数值与符号同时判断方法二:数值与符号同时判断例:若a0 ,b0 ,应有ab 成立 a=100d,b=50d, ab

6、有: 0 1 1 0 0 1 0 0 b 0 0 1 1 0 0 1 0 b 1 0 0 1 0 1 1 0 b sf = 1 ab ? a=15d,b=5d, ab有: 0 0 0 0 1 1 1 1 b 0 0 0 0 0 1 0 1 b 0 0 0 1 0 1 0 0 b sf = 0 ab ?对带符号数的大小判断应先判溢出标志 of ,即a ab b 后,若后,若of = 1 of = 1 则则 sf = 1 a sf = 1 a b b sf = 0 a sf = 0 a b b 若若of = 0 of = 0 则则 sf = 0 a sf = 0 a b b sf = 1 a sf

7、 = 1 a b b 控制器 控制器是指令执行部件,包括取指令、分析指令(指令译码)和执行指令,由指令寄存器(instruction register,ir)、指令译码器(instruction decoder,id)和定时控制电路(timing and control)等组成。 寄存器阵列 寄存器阵列主要包含两类寄存器,一是通用寄存器,供用户使用;二是一些用途固定的专用寄存器,如程序计数器、堆栈指示器。程序计数器pc用于存放下一条要执行的指令在存储器中存放的地址。 堆栈和堆栈指示器sp 堆栈是一块设在内存中按先进后出(first in last out,filo)原则组织的存储区域,用于存放

8、数据。数据存入栈区称为压入(push),从栈区中取出数据称为弹出(pop)。 三、微型计算机的软件组成 堆栈指示器堆栈指示器sp用于指用于指示当前栈顶元素所在的位示当前栈顶元素所在的位置,无论是压栈还是弹栈置,无论是压栈还是弹栈总是在栈顶进行的。随着总是在栈顶进行的。随着对堆栈的压入和弹出操作,对堆栈的压入和弹出操作,sp的值会自动变化,的值会自动变化,nn-1n-k+1n-k 堆栈区堆栈区(k个单元个单元)sp数据存放方式为数据存放方式为先进后出先进后出(filo)3.输入输出设备 输入设备输出设备 计算机的软件包含系统软件和应用软件两部分。系统软件是使用和管理计算机的软件,如操作系统、数据

9、库管理系统、网络管理系统以及各种语言处理程序、系统维护程序等。应用软件则是用户根据自己的需要,为解决某一实际问题而编制的程序,如企业的财务管理、人事管理,设备状态监测的数据采集与处理等。第二节 微型计算机的硬件结构 及简单工作过程一、硬件结构 微型计算机在硬件上普遍采用总线结构,总线结构使系统构成方便,并具有很好的可维护性和可扩展性。 二、总线 所谓总线,就是一组用于信息公共传输的信号线,连在总线上的所有部件均能使用的公共线路,但使用必须是分时的。按传输信息方向,总线分为只能单方向传输信息的单向总线和可以双向传送信息的双向总线。按传输信息类别,总线分为传输数据信息的数据总线(data bus

10、,db)、传输地址信息的地址总线(address bus ,ab )和传输控制信息的控制总线(control bus, cb)。三、 数据总线、地址总线、控制总线因为数据传输是双向的,故db是双向总线。db的位数越宽,一次数据传输的信息量就越大,8位db一次只能传输1个字节的数据信息,而64位db则一次可以传输8个字节的数据信息。数据总线db因为地址信息总是由微处理器发出,寻址存储器或外设,故ab为单向总线。ab的位数越宽,寻址的空间就越大。8位微处理器的地址总线为16位,即有ab15ab0 16条地址线,寻址范围为216=64kb;目前生产的微处理器寻址范围已达到64gb。cb包括微处理器向

11、存储器发送的读选通信号rd、写选通信号wr,以及外设向微处理器发送的中断请求信号nmi、intr等。控制总线的各位作用不同,且一般都是单向的。地址总线ab控制总线cb 根据总线的组织方式,可把微型计算机的硬件结构分为单总线、面向微处理器双总线和面向存储器双总线结构。单总线结构的微型计算机单总线结构的微型计算机 面向微处理器的双总线结构微型计算机面向微处理器的双总线结构微型计算机 面向存储器的双总线结构微型计算机面向存储器的双总线结构微型计算机四、简单工作过程取指令、分析指令、执行指令 以一个简单程序执行过程为例,说明计算机是怎样工作的。程序功能:5ch+2eh,如结果无溢出,将结果存放到内存0

12、200h单元后停机;如有溢出,则直接停机。程序如下:org1000h 对应机器码1:mova,5ch;b0h 5ch2:adda,2eh;04h 2eh3:jo100ah;70h 0ah4:mov(0200h),a; 10h a2h 00h 02h5: hlt ; f4h第三节 微型计算机中的先进计算机技术一、中断技术 计算机暂停(或称为挂起)正在执行的程序转去处理随机事件,随机事件处理完毕后,再恢复执行原来的程序的过程称为中断。 二、流水线技术 流水线(pipeline)技术是一种将一条指令的执行过程分解为多个步骤,并让几条指令的不同步骤操作在时间上重叠,从而实现几条指令并行处理,提高程序运

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

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

15、86 中的中的 cache 为为 32k若在一程序执行到一条转移指令若在一程序执行到一条转移指令jmp next未命中未命中 jmp next next : mov a, 5ch 32k (cache)内内 存存cpu 将将 next 以下以下 32k 程序复制到程序复制到 cache 中中第四节微型计算机的主要性能指标及典型 微型计算机 一、主要性能指标字长存储容量运算速度外设扩展能力软件配置指计算机内部一次可以处理的二进制数码的位数。 计算机的运算速度一般用每秒钟所能执行的指令条数来表示。由于不同类型的指令的执行时间不同,因而运算速度的计算方法也不同, 指微型计算机配接各种外部设备的可能性

16、、灵活性和适应性。 软件是计算机的重要组成部分,它配置是否齐全,直接关系到计算机性能的好坏和效率的高低。 二、pc系列微机简介 (教材p15p17 自学)三、pc486硬件特点 (教材p17p21 自学)四、pc pentium的硬件特点 (教材p21p22 自学)第二章 intel系列微处理器 教学目标 学习要求 讲授内容 介绍微处理器的基本概念,80 x86微处理器的体系结构、工作方式及引脚功能。 通过本章的学习,要求掌握intel80 x86系列微处理器内部结构的特点,工作方式及方式转换,常用引脚功能的特点。 第二章 intel系列微处理器 第一节 intel系列微处理器概述 第二节 8

17、0486微处理器的体系结构 第三节 pentium微处理器的体系结构 一、80868088 微处理器 8086 是标准16位微处理器,内外数据总线都为16位;8088 是准16位微处理器,内数据总线为16位,外数据总线为8位。80868088 除了外数据位数及与此相关的部分逻辑稍有不同外,内部结构和基本性能相同,指令系统完全兼容。 在80868088的设计中,引人了两个重要的概念: 指令流水线 存储器分段 这两个概念在以后升级的intel系列微处理器中一直被沿用和发展。正是这两个概念的引入,使80868088 与原来的8位微处理器相比,在运行速度、处理能力和对存储空间访问等性能方面有很大提高。

18、第一节 intel系列微处理器概述 8086/80888086/8088内部结构示意图内部结构示意图总线接口单元biu由段寄存器(cs、ds、ss、es)、指令指针寄存器(ip)、内部暂存器、指令队列、地址加法器及总线控制电路组成。它的主要作用是负责执行所有的“外部总线”操作,即当eu从指令队列中取走指令时,biu即从内存中取出后续的指令代码放入队列中;当eu需要数据时,biu根据eu输出的地址,从指定的内存单元或外设中取出数据供eu使用;当运算结束时,biu将运算结果送给指定的内存单元或外设。指令队列主要使8086/8088的eu和biu并行工作,取指令操作、分析指令操作重叠进行,从而形成了

19、两级指令流水线结构,减少了cpu为取指令而必须等待的时间,提高了cpu的利用率,加快了整机运行速度,也降低了对存储器存取速度的要求。执行单元eu 由通用寄存器、运算数据寄存器、算术逻辑单元(alu)及eu控制电路组成。它的主要作用是分析和执行指令,即eu控制电路从指令队列取出指令代码,经译码,发出相应的控制信号;数据在alu中进行运算;运算过程及结果的某些特征保留在标志寄存器(eflags)中。 段寄存器为8086/8088采用存储器分段管理提供了主要的硬件支持。8086/8088可寻址的存储器空间为1mb。通过分段管理,把1mb的物理存储空间分成若干逻辑段,每段最大为64kb。段的起始单元地

20、址叫段基址。 存储器的分段方式不是唯一的,各段之间可以连续、分离、部分重叠和完全重叠。这主要取决于对各个段寄存器的预置内容。一个具体的存储单元的物理地址,可以属于一个逻辑段,也可以同属于几个逻辑段。 8086/8088的4个当前段分别称为:代码段、数据段、堆栈段、附加段 采用存储器分段管理后,存储器地址有物理地址和逻辑地址之分。cpu访问存储器时,地址总线ab上送出的是物理地址。 编程时则采用逻辑地址,逻辑地址有段基址和段内偏移地址两部分组成,两者都是16位。 由16位逻辑地址变换为20位物理地址的关系如下:物理地址=段基址*16+段内偏移 物理地址的生成是在biu的地址加法器中完成的。 物理

21、地址生成示意图物理地址生成示意图二、80286微处理器 80286是一种增强微处理器型标准16位微处理器。与8086/8088相比,结构上的改进与性能上的提高主要体现在以下几个方面: 内部有执行单元(eu)、总线单元(bu)、指令单元(iu)和地址单元(au)4个独立的部分并行操作,可实现4级流水线作业,使数据吞吐率大大提高。 地址总线与数据总线完全分开使用。 存储空间有两种工作方式:实地址方式和保护虚拟地址方式(保护方式)。实地址方式有1mb的空间;保护方式有16mb的空间。 在保护方式下,4个段寄存器装入的不再是段基址,而是指向段描述符表中某个段描述符的索引值,称为段选择符。 总之,802

22、86主要是增强了多用户、多任务系统所必须的任务转换功能、虚拟存储器管理功能和多种保护功能,不仅运算速度大为提高,而且支持多用户、多任务操作。三、80386/80486微处理器 80386/80486是针对多用户和多任务的应用而推出的32位微处理器,与80286相比,它在结构和性能上的主要特点如下: 内部寄存器数量明显增加,它具有全32位数据处理能力,还可以进行64位的数据运算。片内存储管理部件可实现段页式存储管理,比80286可提供更大的虚拟存储空间和物理存储空间。 比80286新增了一种保护模式下的工作方式,即虚拟8086方式。 80486增加到6级指令流水线。 提供了32位外部总线接口,最

23、大数据传输速率显著提高。 运算速度大大加快。 四、pentium 微处理器 pentium 是一种高性能的64位微处理器,它对80486作了下列重大的改进: 采用超标量体系结构,内含两条指令流水线。 内置的浮点运算部件采用超流水线技术。 增加了分支指令预测。 内置了指令和数据两个独立的超流水线技术。 采用64位外部数据总线。 引入了大型计算机中采用的内部错误检测、功能冗余校验和错误报告等自诊断功能。 进行了更多的可测性设计。 提供了独特的性能监察功能,以利于软、硬件产品的优化和升级。 提供了灵活的存储器页面管理功能。第二节 80486微处理器的体系结构 一、80486的体系结构特点 80486

24、是32位高性能处理器,它以提高性能和面向多处理器系统结构为主要目标,它具有如下的特点: 80486采用的是单倍的时钟频率,即在80486cpu的clk端输入的外部时钟频率就是其内部处理器的工作时钟频率。 内部包含有8k字节的指令/数据合用型高速缓存器。 内部包含了相当于增强型80387功能的浮点协处理器。 对使用频率较高的基本指令,由原来的微代码控制改为硬件逻辑直接控制,并在指令执行单元采用了risc技术和流水线技术。 采用了突发式总线传输方式。 内部数据总线的宽度有32位、64位等多种,并分别用于不同单元之间的数据通路 对某些内部寄存器中部分位的内容进行了变动和增加。 面向多处理器结构,在总

25、线接口部件上增加了总线监视功能,增加了支持多机操作的指令。二、80486的内部结构与内部寄存器 1、内部结构总线接口单元 主要用于外部地址、数据和控制总线管理,完成预取指令、读/写数据等总线操作。指令预取单元 内含一个32字节的指令预取队列,当指令预取队列不满且总线空闲时,指令预取单元通过总线接口单元从存储器读取指令放到队列中。 指令预取单元平均可以预取10条指令。指令译码单元 从指令预取队列中读取指令,进行预译码后将其送入已译码的指令队列等待执行。如果预译码时发现是转移或调用指令,可提前通知总线接口部件去新的目标地址取指令,以刷新指令预取队列。指令执行单元 完成各种算术逻辑运算和变址地址生成

26、。在控制单元中,大多数指令采用微程序控制结构执行,常用基本指令采用硬件逻辑控制执行。段管理单元用于存储器分段管理,将逻辑地址变换为32位线性地址。页管理单元用于进行存储器分页管理,将线性地址变换为32位物理地址。高速缓存单元浮点运算单元用于加速指令/数据的访问过程。 相当于一个增强型浮点协处理器80387,专门用作浮点运算,可与alu的整数运算并行进行。8048680486的流水线工作示意图的流水线工作示意图2.内部寄存器 1)基本寄存器 通用寄存器 指令指针寄存器 (eip) 有8个32位的eax、ebx、ecx、edx、esi、edi、ebp、esp;它们的低16位可以单独访问被命名为:

27、ax、bx、cx、dx、si、di、bp、sp。其中ax、bx、cx、dx还可以分别分成两个8位寄存器:ah、al、bh、bl、ch、cl、dh、dl。 eip用于保存下一条待预取指令相对于代码段基址的偏移量。它的低16位可以单独访问,称之为ip 标志寄存器 (eflags): 32位标志寄存器 (eflags)中包含三种标志:状态标志(s)、控制标志(c)和系统标志(x)。 段寄存器:状态标志(s):反映指令执行过程及结果的状态。控制标志(c):它仅含一个标志df,用于控制串操作指令的地址改变方向。系统标志(x):它用于控制i/o、屏蔽中断、调试、任务转换和控制保护方式与虚拟8086方式间的

28、转换。 80486有6个段寄存器(cs、ss、ds、es、fs、gs),用于决定程序使用存储器区域块。其中cs指明当前的代码段;ss指明当前的堆栈段;ds、es、fs和gs指明当前的4个数据段。 在保护方式下,80486段的长度可以在1字节到4g字节之间变化;而在实地址方式下,段的长度最大为64kb。基本寄存器示意图基本寄存器示意图 2)系统级寄存器 系统级寄存器包括4个控制寄存器和4个系统地址寄存器。这些寄存器只能由在特权级0上运行的程序访问。 4个控制寄存器的作用是存放全局特性的机器状态,控制片内cache、fpu和分段、分页单元的工作。各个控制寄存器都是32位。 控制寄存器 系统地址寄存

29、器 系统地址寄存器只在保护方式下使用,所以又叫保护方式寄存器。80486用4个寄存器把在保护方式下常用的数据基地址、界限和其他属性保存起来,以确保其快速性。 全局描述符表寄存器(gdtr)和局部描述符表寄存器(ldtr)分别用来存放前述的gdt和ldt的32位线性基地址等内容。中断描述符表寄存器(idtr)用来存放中断描述符表的基址和界限。任务寄存器tr用来存放任务状态段(tts)的基址、界限和其它属性。 调试和测试寄存器 80486提供了8个32位的可编程寄存器来支持调试功能。它还定义了5个测试寄存器,测试寄存器实际上并不是80486体系结构的标准部分,只是为了增强系统的可测性而引入的附加硬

30、件。 浮点寄存器 13个浮点寄存器,8个80位浮点数据寄存器用作固定寄存器组或硬件堆栈, 1个16位标记字寄存器用来标记每个数据寄存器的内容,1个16位控制寄存器用于提供fpu的若干处理选择项,1个16位状态寄存器用于反映fpu的总状态,2个48位的指令、数据指针寄存器的作用是为用户编写错误处理程序提供指令、数据指针。 80486的fpu中包含有: 三、80486的三种工作方式及相互转换 (1)实地址方式: 它的工作原理与8086基本相同,主要区别是80486能借助操作数长度前缀,处理32位数据,且增加了两个数据段寄存器fs和gs,提高了运行速度。(2)保护虚地址方式:(3)虚拟8086方式:

31、 它引入了虚拟存储器的概念。cpu可访问的物理存储空间为4gb,程序可用的虚拟地址空间为64tb。段的长度在启动页功能时是4gb,不启动页功能时是1mb。可支持多用户和单用户的多任务操作,并对各任务提供了多方面的保护机制。 它是一种既有保护功能又能执行8086代码的工作方式,可以说是保护方式的一种子方式。工作原理与保护虚拟地址方式下相同,但是程序指定的逻辑地址解释与8086相同,即可以和实地址方式下一样执行8086的应用程序。8048680486的三种工作方式和相互转换示意图的三种工作方式和相互转换示意图 四、80486的外部引脚信号第三节 pentium 微处理器的体系结构 一、pentiu

32、m 微处理器的内部结构 pentium pentium 微处理器的内部结构微处理器的内部结构 pentium微处理器是intel公司继80486之后推出的64位高性能微处理器,它具有超标量体系结构、分支预测先进技术的采用,分开的指令、数据高速缓冲存储器,以及128位、256位内部数据总线,64位可成组传送的外部总线等特点。 pentium微处理器由总线部件、代码cache、指令cache、预取缓冲存储器、指令译码部件、整数运算部件、浮点运算部件等功能部件组成 。二、pentium 微处理器的整数流水线 pentium微处理器的整数流水线与80486微处理器的非常类似,其流水线操作由预取pf、首

33、次译码di、二次译码di、执行ex和写回wb共5个操作步骤组成。它在流水线中增加了一些辅助性硬件以加速指令的执行。 (1)超标量执行 pentium微处理器配置的超标量执行机构允许两条指令以并行方式执行。采用的技术是把生成地址的硬件和算术运算逻辑运算部件配置成两个各自独立的整数流水线,一个叫u流水线,另一个叫v流水线。 pentium微处理器的片内cache是分离式的cache,即指令代码cache和数据cache是各自独立的片内cache。当执行部件对存储器进行访问时,由指令cache和数据cache分别提供指令代码信息和数据信息。总线接口部件内包括了各自独立的32位地址总线和64位数据总线

34、。pentium微处理器的预取缓冲部件内包括了指令预取和指令译码两个子功能部件。 pentium微处理器采用了预测新技术。为了支持这项新技术,芯片内装备有两个预取缓冲存储器,一个是以线性方式来预取代码,另一个则根据转移目标缓冲存储器btb预取代码。(2)转移预测判断 三、pentium 微处理器的浮点流水线 (1)浮点流水线操作(2)浮点流水线微体系结构 pentium浮点流水线由预取pf、首次译码d1、二次译码d2、取操作数、首次执行x1、二次执行x2、写浮点数wf和出错报告er共8个操作步骤组成。其中预取pf和首次译码dl这两个操作步骤与整数流水线中的前两个操作步骤公用同一硬件资源。 对“

35、基本”浮点指令来说,也允许单周期通过,也就是说能以每个时钟执行一条指令的速率执行。 pentium微处理器的浮点流水线由浮点接口、寄存器组及控制部件firc、浮点指数功能部件fexp、浮点乘法部件fmul、浮点加法部件fadd、浮点除法部件fdiv以及浮点舍入处理部件pfrnd共7个部件组成。四、pentium 微处理器的片内cache pentium采用了代码和数据各自独立的分离式cache 。每一种cache的规模大小均为8k字节,采用的是二路相联的映像技术,每个cache行大小为32个字节。在每一个cache内,都装备有一个专用的转换旁视缓冲存储器tlb,用来快速地将线性地址转换成物理地

36、址。 它遵循mesi协议,既可以将数据cache根据写回方案进行配置,也可以将数据cache根据逐行写贯穿方案进行配置。数据cache的标记是三端口式的结构,以支持两个数据的传送和所访问的周期是在同一时钟周期之内 。 指令代码cache是一个固有的写保护cache,指令代码cache的标记是三端口式的结构,以便对cache操作实施监视和对分割行的访问提供支持。 pentium的数据cache支持u流水线和v流水线的二元访问,以便支持辅助带宽和简化编译程序的指令调度算法。 五、pentium 微处理器的新型体系结构 pentium微处理机把数据总线增至64位,以改善数据的传送速率,同时支持成组读

37、周期和成组写回周期,除此之外,pentium微处理器还增设了总线周期流水线,它允许两个总线周期同时进行。pentium存储管理部件还拥有可选择的体系结构,允许页的大小达到4m字节 pentium微处理器增加了对有效数据的完整性检测和对错误的检测能力,对逐字节数据奇偶校验仍提供支持。随着新异常事故、机器校验异常事故的出现,pentium微处理器还增加了地址奇偶校验、内部奇偶校验。除此之外,在pentium微处理机上还实现了功能性冗余校验。 pentium微处理器内的译码部件的作用是把预取到预取缓冲器中的指令进行译码,以供pentium微处理器执行。在pentium微处理器控制rom内保存着指令的

38、微代码,pentium微处理器就是利用这些微代码控制各种指令的操作顺序。控制rom部件对v和u两条指令流水线直接实施控制功能。 教学目标介绍80486的寻址方式及指令系统。 学习要求 通过本章的学习,要求熟悉各种寻址方式的使用场合以及常用指令的使用方法。 讲授内容第三章 80486微处理器指令系统 第三章 80486微处理器指令系统 第一节80486微处理器寻址方式第二节 80486微处理器指令系统 第一节80486微处理器的寻址方式一、操作数寻址方式 80x86的寻址方式可分为两类:操作数的寻址方式和转移地址的寻址方式。 由于操作数作为指令的操作对象,可以存储在存储器中(称为存储器操作数)、

39、寄存在寄存器中(称为寄存器操作数)或直接包含在指令中(称为立即数),因此,与之对应有多种寻址方式。80x86粗略地划分可有3类10种寻址方式,其中访问存储器操作数有8种寻址方式。 (1)立即数寻址 在这种寻址的方式下,操作数作为立即数直接存在指令中,可为8位,16位和32位。例: mov ax,1234h mov bl,78h mov ecx,12345678h 以第一条指令为例的立即以第一条指令为例的立即数寻址方式的执行过程如图。数寻址方式的执行过程如图。 立即寻址示意图立即寻址示意图(2)寄存器寻址在这种方式下,操作数存放在cpu某个8位、16位或32 位寄存器中。 例: mov eax,

40、edx inc cl mov ds,ax该寻址方式指令码短,且无需从存储器取操作数,故执行速度快(3)直接寻址 在这种方式下,指令中的操作数部分直接给出了操作数的有效地址ea,它和操作码一起放在存储器的代码段中,可以是16位或32位整数。但操作数一般在数据段ds中。例:mov ax,ds:1000h;将ds段中1000h和1001h单元 的内容送到ax中。应注意的是,指令中的ds不能省略。 (4)寄存器间接寻址这种寻址方式下,操作数所在内存单元的ea由规定的寄存器指出。 如果操作数不在上述规定的默认段,而是在其他的段,则必须在指令中相应的操作数前加上段超越前缀。例如:mov ax,es:sim

41、ov ax,ds:bp16位寻址时,ea可以由si,di,bp或bx提供。(其中bx、bp也称基址寄存器,si、di称变址寄存器) 若以si,di,bx间接寻址,则默认操作数在ds段中。若以bp间接寻址,则默认操作数在ss段中 32位寻址时,8个32位通用寄存器均可作间址寄存器。除esp,ebp默认段寄存器为ss外,其余6个通用寄存器均默认段寄存器为ds。mov si,1000hmov ax,si(5)寄存器相对寻址方式 mov eax,bx+24 ;也可以写成 mov eax,24bxmov dx ,eax+1500;也可以写成 mov dx,1500eaxmov dx ,bx+si(6)基

42、址变址寻址方式 (7)相对基址变址寻址方式 mov dx ,bx+si+24(8)比例变址寻址方式 mov dx ,变址寄存器比例因子+位移量 其中比例因子可以是1,2,4,8中的任一个数。除esp外的任何通用寄存器均可作变址寄存器,且ebp默认ss作段寄存器,其余以ds作段寄存器。 这种寻址方式只适合于32位寻址的一种情况。(9)基址比例变址寻址方式 mov dx,变址寄存器比例因子+基址寄存器 (10)相对基址比例变址寻址方式 mov dx,基址寄存器+比例因子变址寄存器+位移量 访存操作类型访存操作类型默认段寄默认段寄存器存器允许超越的段寄存允许超越的段寄存器器偏移地址寄存器偏移地址寄存

43、器取指令代码取指令代码cscs无无(e)ip(e)ip堆栈操作堆栈操作ssss无无(e)sp(e)sp源串数据访问源串数据访问dsdscs, ss ,es fs ,gscs, ss ,es fs ,gs(e)si(e)si目的串数据访问目的串数据访问eses无无(e)di(e)di通用数据访问通用数据访问dsdscs,ss,es,fs,gscs,ss,es,fs,gs偏移地址偏移地址以(以(e e)bpbp、(、(e e)spsp间接寻址的指令间接寻址的指令sssscs,ds,es,fs,gscs,ds,es,fs,gs偏移地址偏移地址存储器寻址时的段约定二、转移地址寻址方式 在指令系统中,有

44、一组指令为程序转移指令。程序转移指令的寻址方式涉及如何确定转移的目标地址。目标地址可以在段内,也可以在段外。 段内直接寻址 转移的目标地址是当前ip寄存器的内容和一个8位或16位位移量之和。 指令的汇编语言格式表示为: jmp near ptr progrm jmp short ptr outset 段内间接寻址 该方式中,转移的目标地址是寄存器或存储单元的内容。寄存器或存储单元的内容可以用数据寻址方式中除立即数以外的任何一种寻址方式取得,所得到的内容将用来取代ip寄存器的值。 段内间接寻址转移指令的汇编格式可以表示为: jmp cx jmp word ptr bx+tab1 段间直接寻址 这

45、种寻址方式用于段间转移,指令中直接提供了目标地址的段基址和偏移地址,所以,只要用指令中指定的偏移地址取代ip寄存器的内容,用指令中指定的段基址取代cs寄存器的内容就完成了从一个段到另一个段的转移操作, 指令的汇编语言格式可表示为: jmp far ptr next 段间间接寻址 该方式下,用存储器中两个相继字的内容来取代ip和cs寄存器中的原始内容,以达到段间转移的目的。这里,存储单元的地址是由指令指定除立即数方式和寄存器方式以外的任何一种数据寻址方式取得。 指令的汇编语言格式可表示为: jmp dword ptr rel+bx第二节 80486微处理器指令系统 80x86的指令系统向上兼容,

46、都是在8086指令的基础上发展形成的。与80286相比,增加了32位操作和访问存储器的32位寻址方式。 80486可以工作在实模式、保护模式和虚拟86模式,为了支持系统工作模式,指令系统中设计了系统管理指令、保护模式控制指令以及高级语言支持指令等等。 80486的基本指令按功能可分为7类:数据传送指令、算术运算指令、逻辑运算指令、字符串操作指令、控制转移指令、处理器控制指令和按条件设置字节指令。下面分别给予介绍。 完成数据的传送工作,不影响任何标志基本传送指令 mov格式格式: :mov op1mov op1,op2op2目的操作数目的操作数源操作数源操作数功能功能: :op1 op2op1

47、op2可完成:注意:目的操作数不能是cs!一 、数据传送指令1)通用数据传送指令:寄存器寄存器 寄存器寄存器寄存器寄存器 存储器存储器段寄存器段寄存器 寄存器寄存器段寄存器段寄存器 存储器存储器寄存器寄存器 存储器存储器立即数立即数符号扩展传送指令movsx格式:movsx op1,op2 ;op1为16位或32位寄存器op2为8位或16位寄存器或存储器格式:movzx op1,op2 ;op1为16位或32位寄存器op2为8位或16位寄存器或存储器例如: mov dl,-16 ;dl = f0h movsx bx,dl ;bx = fff0h,而dh,dl不变零扩展传送指令movzx例如:m

48、ovzx eax,cx ;将cx中16位数高位加0扩展为32位送入eax movsx和movzx这两条指令常被用于作除法时对被除数位数的扩展。交换指令xchg格式格式: :xchg op1xchg op1,op2op2功能功能: :op1 op2op1 op2可完成:例例: :xchg axxchg ax,bxbx ;ax bxax bx寄存器寄存器 寄存器寄存器寄存器寄存器 存储器存储器lea传送指令功能: 将op1所在位置的有效地址(16位或32位) 送往寄存器(16位或32位)。例: lea bx,segptmov bx,offset segptlea reg,op1格式:地址传送指令等

49、价等价指针传送指令 lds、les、lfs、 lgs、lss格式:lds reg,op1功能:将存储单元中的内容送至目的寄存器和ds(或es、fs、gs、ss)例: segpt dd 12345678h lds si,segpt则指令执行后:ds=1234h si=5678h又如: table dd 13572468h les bx,table则指令执行后:es=1357h bx=2468h查表转换指令xlat例:将16进制数 0f 转换为与之对应的ascii码格式:xlat;将(;将(bx+albx+al) alal使用xlat指令的条件: 在数据段中建一张在数据段中建一张asciiasci

50、i码表码表 表首地址的偏移量送表首地址的偏移量送bxbx 待转换数放入待转换数放入alal中中ac-tab db 0123456789abcdefmov bx,offset ac-tabmov al,sixlat;表首地址的偏移量bx ;取待转换数;转换结果al字节交换指令bswap格式: bswap reg32功能: 内部各字节互换 例: mov ebx,77886655h bswap ebx 执行后: ebx = 55668877h标志寄存器传送指令lahf/sahf格式: lahf 或 sahflahf 将标志寄存器的低字节ah(低字节的内容是 sf zf af pf cf)sahf 将

51、ah的内容标志寄存器的低字节功能:全部通用寄存器内容压栈和弹栈指令 格式:pusha 将所有16位寄存器压栈,顺序为: ax、cx、dx、bx、sp、bp、si、di 格式:pushad 将所有32位寄存器压栈,顺序为:eax、 ecx、edx、ebx、esp、ebp、esi、edi 格式:popa 格式:popad 将堆栈中的数据弹给16位寄存器,顺序为 与压栈指令相反 将堆栈中的数据弹给32位寄存器,顺序为 与压栈指令相反压栈/弹栈指令 push/pop 格式:push op1;op1可是16位或32位的寄存器、存储器 操作数或立即数pop op12)堆栈指令如:ax=11h, bx=22

52、h cx=33h, dx=44h si =55h, di =66h sp=80h, bp =84h pusha 执行后有: sp00h11hxxh 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=7eh, bp =84h pusha 执行后有: sp00h11h33h00hxxh 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 2007eh如:ax=11h, bx=22h cx=33

53、h, dx=44h si =55h, di =66h sp=7ch, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 2007ch如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=7ah, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h22h00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 2007

54、ah如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=78h, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h78h00h22h00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 20078h如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=76h, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h84h00h78h00h22h00h44h 注意:压栈的顺序

55、为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 20076h如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=74h, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h55h00h84h00h78h00h22h00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 20074h如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=72h, bp =84h pu

56、sha 执行后有: sp00h11h33h00hxxh00h66h00h55h00h84h00h78h00h22h00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20080h 20072h如:ax=11h, bx=22h cx=33h, dx=44h si =55h, di =66h sp=70h, bp =84h pusha 执行后有: sp00h11h33h00hxxh00h66h00h55h00h84h00h78h00h22h00h44h 注意:压栈的顺序为注意:压栈的顺序为 ax、cx、dx、bx、 sp、 bp、si、di 20

57、080h 20070h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp=spxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0012hsp 21018hxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0034h 0012hsp

58、2101ahxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0034h 0012h 0056hsp 2101chxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0034h 0012h 0056hsp 2101ehxxh00h51h41h00h00h00h00h00h00h

59、00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0021h 0034h 0012h 0056hsp 21020hxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0021h 0031h 0034h 0012h 0056hsp 21022hxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h

60、31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0021h 0041h 0031h 0034h 0012h 0056hsp 21024hxxh00h51h41h00h00h00h00h00h00h00h12h34h56h78h21h31h 21016h 设堆栈分布如图: popa执行后有: ax= bx= cx= dx= si= di= bp= 0051h 0021h 0041h 0031h 0034h 0012h 0056hsp 21026hxxh00h51h41h00h00h00h00h00h00h00h12h34h56h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论