寻址方式和指令系统书.ppt

上传人:本田雅阁 文档编号:3297623 上传时间:2019-08-08 格式:PPT 页数:66 大小:794.54KB
返回 下载 相关 举报
寻址方式和指令系统书.ppt_第1页
第1页 / 共66页
寻址方式和指令系统书.ppt_第2页
第2页 / 共66页
寻址方式和指令系统书.ppt_第3页
第3页 / 共66页
寻址方式和指令系统书.ppt_第4页
第4页 / 共66页
寻址方式和指令系统书.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《寻址方式和指令系统书.ppt》由会员分享,可在线阅读,更多相关《寻址方式和指令系统书.ppt(66页珍藏版)》请在三一文库上搜索。

1、优秀精品课件文档资料,第2章 IBM PC计算机组织,2.1 80X86 微处理器 2.2 计算机系统概述 2.3 存储器 2.4 中央处理器 2.5 外部设备,开 始,2.1 80x86 微处理器,计算机主要由运算器,控制器,存储器,和输入输出设备构成。 把运算器和控制器集成在一个芯片上,构成中央处理器(CPU)。 由80386微处理器芯片构成的微机称386微机 由80486微处理器芯片构成的微机称486微机 晶体管数:指芯片中所包含的晶体管数,它说明器件的集成度,返回本章首页,主频:芯片所使用的主时钟频率。 数据总线:负责计算机中数据在各组成部分之间的传送。 地址总线:指专用于传送地址的总

2、线宽度。 根据这个数值可确定处理器可访问的存储器的最大范围。 一般存储器以字节为存储信息的基本单位,用符号B来表示,2.2 计算机系统概述,2.2.1 硬件 2.2.2 系统软件和用户软件 2.2.3 存储器 2.2.4 实模式存储器寻址,返回本章首页,计算机系统包括两部分:硬件,软件 硬件:电路,插件板,机柜等 软件:为了运行,管理和维护计算机而编制的各种程序的总和 .,2.2.1 硬件,中央处理器,总线控制逻辑,存储器,接口,接口,大容量存储器,I/O设备,I/O子系统,计算机结构 包括中央处理器CPU,存储器,输入/输出子系统三个主要组成部分,用系统总线把它们连接在一起。 1存储器是计算

3、机的记忆部件。 存放程序,程序中所用的数据,信息及中间结果。 2中央处理机包括运算器和控制器两部分。,运算器执行所有的算术和逻辑运算指令 控制器负责全机的控制工作,它负责把指令逐条从存储器中取出,经译码分析后向全机发出取数,执行,存数等控制命令以保证完成程序所要求的功能。 3I/O子系统 包括I/O设备及大容量存储器两类外部设备。 I/O设备是指负责与计算机的外部世界通信的输入/输出设备,如显示终端,键盘,打印机等多种类型的外部设备。,大容量存储器:外存储器磁盘,磁带,光盘 机器内部的存储器则称为内存储器,简称内存。 内外存的关系:,一般程序是存放在外存,运算时把它从外存传送到内存的某个区域,

4、再由中央处理器控制执行。,4系统总线:数据线,地址线和控制线。 系统总线把CPU,存储器和I/O设备连接起来,用来传送各部分之间的信息。它由总线控制逻辑指挥工作。 (1) 数据线传送数据信息 (2) 地址线指出信息的来源和目的地。 (3) 控制线则规定总线的动作,如方向等,5.IBM PC机简介: 1981年美国IBM公司推出了个人计算机IBMPC。机中的CPU由一个微处理器芯片8088组成,其主要性能是: 系统时钟 4.77MHz 基本指令99条 机内字长16位,数据线8根 寻址能力1M字节,地址线20根 平均运算速度为0.65MPs,PC机有1M字节随即存取的存储器及40KB字节只读存储器

5、。ROM里存放有BASIC解释程序及基本输入/输出系统软件BIOS,它们是只允许读出而不允许用户写入或修改的。 IBM PC机提供了三种基本外设接口。它们是键盘,扬声器和盒式磁带。 外部设备:显示器,磁盘,软盘,打印机等。,2.2.2 系统软件和用户软件,1系统软件:是由计算机的生产厂家提供给用户的一组程序,这些程序是用户使用机器时为准备和执行用户程序所必须的。 用户软件:用户自行编制的各种程序。,系统软件的核心为操作系统(OS) 操作系统是系统程序的集合,它的主要作用是对系统的硬件,软件资源进行合理的管理,为用户创造方便,有效和可靠的计算机工作环境。 操作系统的主要部分是常驻监督程序,只要一

6、开机它就存在于内存中,它可以从内存中接收命令,并使操作系统执行相应操作,2I/O驱动程序 用来对I/O设备进行控制或管理。 当系统程序或用户程序需要使用I/O设备时,就调用I/O驱动程序来对设备发出命令,完成CPU和I/O设备之间的信息传送。 3文件管理程序 用来处理存储在外存储器中的大量信息,它可以和外存储器的设备驱动程序相连接,对存储在其中的信息以文件形式进行存取,复制及其它管理操作。,4文本编辑程序 文本是指由字母,数字,符号等组成的信息,它可以是一个用汇编语言或高级语言编写的程序,也可以是一组数据或一份报告。 文本编辑程序用来建立,输入或修改文本,并使它存入存储器或大容量存储器中。 如

7、:文本编辑器EDIT可用来建立文件,修改文件。有删除,插入,编辑和显示等功能。,5翻译程序 汇编语言是一种符号语言,它几乎和机器语言一一对应,但在书写时却使用字符串组成的助记符。 例如:加法在汇编语言中是用助记符ADD表示的,而机器语言则可用6位二进制代码(000010)来表示。 汇编程序:把用户编制的汇编语言源程序翻译成机器语言程序的一种系统程序。 IBM PC机中的汇编程序有ASM和MASM两种。 ASM称为小汇编程序,它占有较小的存储区,但功能弱。 MASM称为宏汇编语言,它占有较大存储区,但功能强。,高级语言的翻译程序有两种方式: 一种是先把高级语言程序翻译成机器语言程序,然后再在机器

8、上执行,这种翻译程序称为编译程序FORTRAN。另一种是直接把高级语言程序在机器运行,一边解释一边执行,这种翻译程序称为解释程序BASIC。 系统程序中的翻译程序包括汇编程序,BASIC解释程序及各种高级语言的编译程序。 6连接程序 用来把要执行的程序与库文件或其他已经翻译的子程序连接在一起,形成机器能执行的程序。,2.2.3 存储器,计算机存储信息的基本单位是一个二进制位,一位可存储一个二进制数:0或1,每8位组成一个字节。 8086,80286的字长为16位,由2个字节组成;80386到Pentium机的字长为32位,由4个字节组成。还有一种由8个字节组成的即字长为64位,为4个字。 80

9、386及其后继机型可处理4字即8个字节。,每个字节单元有一个二进制数表示地址,16位二进制数可表示的216个字节单元的地址,即65536=64K地址,用十六进制编号为:0000FFFFH 一个存储单元中存放的信息为该存储单元的内容,如果4号字节单元中存放的信息为78H,则表示为 (0004)78H 0004H,一个字存入存储器要占有相继的两个字节,存放时低位字节存入低地址,高位字节存入高地址,这样二个字节单元就构成了一个字单元,字单元地址采用它的低地址来表示。4号字单元内容为5678H表示为(0004)5678H 0004H 0005H 内存中 0004H 0005H,双字单元由其最低字节的地

10、址指定,4号双字单元内容(0004)12345678H 同一个地址既可以看作字节单元的地址,又可看作字单元,双字,4字单元。 字单元地址可以是偶数,也可以是奇数。在8086中,访问存储器是字为单位进行的,字单元地址是以偶地址开始。 字节内容(0004)=78H 0004H 字内容(0004)=5678H 0005H 双字内容(0004)=12345678 H 0006H 0007H,在内存中: 0004H 0005H 0006H 0007H 0008H,2.2.4 实模式存储器寻址,80x86微处理器可以在实模式下和保护模式下工作。 1存储器地址的分段 实模式下内存允许的最大寻址空间为1MB

11、8088的地址总线宽度为20位, 22010485761024K1M 其最大寻址空间为1M 而其他微处理器则在实模式下只能访问前1M的存储地址。,实模式就是为8088而设计的工作方式, 它要解决在16位字长的机器里提供20位地址的问题,故而采用存储器地址分段方式对存储器分段。 2装入程序 用来把程序从外存储器传送到内存储器,以便机器执行。 例如:计算机开机后就需要立即启动装入程序把常驻监督程序装入存储器,使机器运转起来。,3.调试程序 是系统提供给用户的能监督和控制用户程序的一种工具,它可以装入,修改,显示或逐条执行一个程序。 4.系统程序库和用户程序库 程序库:各种标准程序,子程序及一些文件

12、的集合称为程序库。 它可以被系统程序或用户程序调用。,2.3 存储器,2.3.1 存储单元的地址和内容 2.3.2 存储器地址分段 2.3.3 保护模式存储器寻址,返回本章首页,2.3.1 存储单元的地址和内容,计算机存储信息的基本单位是一个二进制位,一位可存储一个二进制数:0或1. 每8位组成一个字节,位编号如下所示: 7 6 5 4 3 2 1 0 IBM PC机的字长为16位,由2个字节组成,位编号如下所示: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,在存储器里以字节为单位存储信息。 为了正确地存放或取得信息,每一个字节单元给以一个存储器地址,地址从0开

13、始编号,顺序的每次加1,在机器里,地址也是用二进制数来表示的。当然它是无符号整数,书写格式为十六进制数。 一个存储单元中存放的信息称为该存储单元的内容 。,如图表示了存储器里存放的信息的情况。,0000H,0001,0002,0003,0004,0005,1234H,1235H,在内存中: 0000 0001 0002 0003 0004 0005 1234 1235 1236 1237,1. 4号“字节”单元存放的信息为34H, 即4号单元中的内容为34H, 表示为(0004)34H 2. 但机器字长是16位,大部分数据都是以 字为单位表示的。 一个字存入存储器要占有相继的两个字节,存放时,

14、低位字节存放低地址,高位字节存放高地址,也就是说以相反的次序存入的。 这样两个字节单元构成了一个字单元,字单元采用它的低地址进行存取。,4号“字”单元的内容为1234H,表示为: (0004)1234H 同一地址可看成字节单元/字单元地址,应据使用情况来定。 3字地址可以是偶数或奇数。 机器是从偶地址访问存储器的,对奇地址单元,要取一个字需访问 2 次存储器。,4.如用0004表示字地址,(0004)表示0004单元的内容,如果0004单元中存放着1234H,即:(0004H)=1234H, 而1234H又是一个地址, (1234H)2F1EH 则: (0004H) ) = (1234H)2F

15、1EH,2.3.2 存储器地址分段,1前面已提到16位字长的机器可以访问的最大存储空间为64K字节,而PC机的最大存储容量为1M字节。 要访问1M字节空间的存储器必须有20位地址。 用16进制表示1M的地址范围00000FFFFF,在16位字长的机器里,用存储器地址分段的方法来提供20位地址。,2程序员在编制程序时要把存储器划分成段,每个段的大小可达64K,这样段内地址可用16位表示。 PC机段的起始地址是从任一小段的首地址开始。 规定:从0地址开始,每16个字节为一小段。,下面列出了存储器最低地址区的三个小段地址区间。每行为一小段: 00000, 00001,00002 , 0000E, 0

16、000F 00010, 00011, 00012, , 0001E, 0001F 00020, 00021, 00022, , 0002E, 0002F 其中,第一列就是每个小段的首地址。,特征:在16进制表示的地址中,最低为0(即20 位地址的低4位为0)。 在1M字节的地址空间里,共有64K个小段首地址。表示如下: 00000H 00010H 41230H 41240H FFFE0H FFFF0H,3在1M字节的存储器里,每一个存储单元都有唯一的20位地址,称为该存储单元的物理地址。 CPU访问存储器时,必须确定所要访问的存储单元的物理地址才能存取该单元中的内容。 20位物理地址由16位段

17、地址和16位偏移地址组成。 段地址是指每一段的起始地址,由于它必须是小段的首地址,所以其低4位是0,这样就规定段地址只取段起始地址的高16位值。 偏移地址则是指在段内相对于段起始地址的偏移值。,0000 + 即:把段地址在移4位再加上偏移地址就形成物理地址。 写成:16d段地址偏移地址物理地址 显然每个存储单元地址由不同的段地址和不同的偏移地址组成,4在PC机中,有四个专门存放段地址 的寄存器,称为段寄存器。 CS:代码段 DS:数据段 SS:堆栈段 ES:附加段 每个段寄存器可以确定一个段的起始地址。,各段的用途: CS:代码段存放当前正在运行的程序。 DS:数据段存放当前运行程序所用的数据

18、 如果程序中使用了串处理命令,则其源操作数也存放在数据段中。 SS:堆栈段定义了堆栈所在的区域 堆栈是一种数据结构,它开辟了一个比较特殊的存储区域,并以后进先出的方式来访问这一区域。,ES:附加段是一个附加的数据段 辅助的数据区,也是串处理指令的目的操作数的存放区。 编程时,应按规定把程序的各部分放在规定的区域之内。 一般情况下,各段在存储器中的分配是由操作系统负责的,每个段可以独立的占用64K存储区,各段也允许重叠。,01500H CS DS 1CD00H SS ES 4200H 段寄存器 B000H,段寄存器,02000H,04800H,04000H,CS,DS,SS,ES,2.3.3 保

19、护模式存储器寻址,虚拟存储器可支持编写的程序具有比主存储器能提供的更大的空间,实际上,程序将存放在外存储器中,程序运行时,由操作系统进行管理,把正在执行的那部分程序调入主存储器而保护寻址模式则对虚拟存储特性又很好的支持。 1逻辑地址 CS IP,在实模式存储器寻址时,程序员只要在程序中给出存放在段寄存器中的段地址并在指令中给出偏移地址,机器就会自己用段地址左移4位再加上偏移地址的方法求得存储单元的物理地址。从而取出所要存储单元的内容。 程序员在编程时只给出逻辑地址,机器自动取得物理地址,在保护模式下,仍是由程序员给出逻辑地址,机器求得物理地址。 逻辑地址 CS EIP 和实模式区别:偏移地址为

20、32位长,最大段长可从64KB扩大到4GB,2描述符 描述符用来描述段的大小,段在存储器中的位置及其控制和状态 描述符 在保护模式下,逻辑地址由选择器和偏移地址两部分组成,选择器存放在段中但它不能直接表示段基地址,而由操作系统通过一定方法取得段地址。 系统按选择器的内容,根据指定的途径可以找到所选段对应操作符,从而根据其给出的基地址和界限值确定所要得存储器所在的段,再加上逻辑地址中指定的偏移地址,就可以找到存储器。,2.4 中央处理器,2.4.1 中央处理器CPU的组成 2.4.2 8086/8088的寄存器组,返回本章首页,2.4.1 中央处理器CPU的组成,CPU的任务是执行存放在存储器里

21、的指令序列。 它由运算器和控制器两部分组成。在机器中它就是一个微处理器芯片8088 算术逻辑部件ALU 用来进行算术和逻辑运算 控制逻辑:负责对全机的控制工作,包括: (1)从存储器取出指令 (2)对指令进行译码分析 (3)从存储器取得操作数 (4)发出执行指令的所有命令 (5)把结果存入存储器中 (6)对总线及I/O传送的控制等。,数据寄存器 AX BX CX 指针及变址存储器 DX,控制逻辑,ALU,PSW,段寄存器,工作寄存器 每一个寄存器相当于运算器中的一个存储单元。 它用来存放计算过程中所需要的或所得到的各种信息。 包括操作数地址,操作数及运算的中间结果等。,2.4.2 8086/8

22、088的寄存器组,数据寄存器 包括AX,BX,CX,DX四个通用寄存器,用来暂时存放计算过程中所用到的操作数,结果或其他信息。 它们可以以字的形式访问,或者也可以以字节的形式访问。 例如:对AX可分别访问高字节AH或低字节AL AX:累加器,是算术运算的主要寄存器; 所有的I/O指令都使用这一寄存器与 外设传送信息。,BX:通用R;在计算存储器地址时用作基址寄存器。 CX:通用R;在循环LOOP和串处理指令中用作隐含的计算组。 DX:通用R;在作双字长运算时把DX和AX组合在一起存放一个双字长数,DX存高位字;对I/O操作,DX存I/O的端口地址。 指针及变址寄存器 包括SP,BP,SI,DI

23、四个16位寄存器。 存放操作数以字(16位)为单位使用。 在段内寻址时提供偏移地址。,SP:堆栈指针R BP:基址指针R SP,BP可与SS寄存器联用来确定堆栈段中的某一存储单元。SP用来指示栈顶的偏移地址,BP作为堆栈区中的一个基地址以便访问堆栈中的其他信息。 SI:源变址R DI:目的变址寄存器 一般与DS联用,用来确定数据段中某一存储单元地址,这两个变址寄存器有自动增量/减量的功能。,在串处理指令中,SI和DI作为隐含的源变址和目的变址寄存器,此时SI和DS联用,DI和ES联用,分别达到在数据段和附加段中寻址的目的。 段寄存器:包括CS,DS,SS,ES 控制寄存器:专用寄存器(IP,S

24、P和FLAGS三个寄存器)IP,PCW两个16位寄存器。 IP:指针寄存器,它用来存放代码段中的偏移地址。 在程序运行的过程中,它始终指向下一条指令的首地址,它与CS寄存器联用确定下一条指令的物理地址。,地址 存储器 控制器取下一条要执行的指令,而控制器一旦取得这条指令就马上修改IP的内容,使IP指向下一条指令的首地址。 作用:控制指令序列的执行流程。 【PCW】 FLAGS为标志寄存器 程序状态寄存器,16位,由条件码和控制码标志构成。 条件码标志:记录程序中运行结果的状态信息。这些状态信息往往作为后继条件转移,指令的转移控制条件叫条件码,包括6位。,OF:溢出标志 OF1,不溢出 OF=0

25、 在运算过程中,操作数超出了机器能表示的范围。 SF:符号标志 SF1,结果为0,否则SF0 ZF:零标志 ZF1,结果0,否则ZF0 CF:进位标志 CF1,最高有效位有进位, 否则CF=0 记录运算时从最高有效位产生的进位值。,AF:辅助进位标志,记录运算时第三位(半个字节)产生的进位值 例如:执行加法指令时第三位有进位时置1 PF:奇偶标志 当结果操作数中的个数为偶数时置PF=1,奇数PF=0 用来为机器中传送中传送信息时,可能出现的代码出错情况提供检验条件。,控制标志:(3个) (1)DF:方向标志,在串处理指令中控制处理信息的方向用。 DF1,变址R的SI/DI减量,从高地址向低地址

26、方向; DF=0,SI/DI增量,串处理从低地址向高地址方向 (2)IF:中断标志 IF1,允许中断; IF0,关闭中断,(3)TF:陷阱标志,用于单步方式操作。 TF=1,每条指令执行完后产生陷阱,由系统控 制计算 TF0,CPU正常工作不产生陷阱 PSW的控制信息是由系统或用户程序根据需要用指令设置,状态信息由中央处理机根据计算结果自动设置。 用符号来表示标志位的值,如: OF=1OV;OF=0NV,2.5 外部设备,输入/输出设备,大容量外存(磁盘),外设与主机(CPU)的通信是通过外设接口进行的,每个接口包括一组寄存器三种用途的R 1.数据寄存器: 用来存放要在外设和主机间传送的数据,

27、这种寄存器实际上起缓冲器的作用。 2.状态寄存器: 用来保存外设或接口的状态信息以便CPU在必要时测试外设状态。,返回本章首页,3.命令寄存器: CPU给外设或接口的控制命令通过此寄存器送给外部设备。 各种外设都有以上三种类型的寄存器,只是每个接口所配备的寄存器数目是根据设备的需要确定的。 例如:键盘只有一个8位数据寄存器,并把状态和命令寄存器合二为一个控制寄存器。 为了方便,外设中每个寄存器给予一个端口地址,这样就组成了一个独立于内存储器的I/O地址空间。PC机的I/O地址空间可达64K。地址范围0000FFFFH,为了用户使用外设,PC提供了两种类型的例行程序供用户调用,一种是BIOS,另一种是DOS,它们都是系统编制的子程序,通过中断方式转入所需的子程序去执行,执行完后返回源程序继续执行。 区别: (1) BIOS存放在机器的只读存储器ROM中,所以可以把它看成是机器的硬件的一部分,它的层次比DOS更低,更接近硬件,它的语句要完成每一个设备的直接命令或信息传送。 (2) DOS功能调用:是DOS操作系统的一个组成部分,它在开机时由磁盘装入存储器,在它的例行程序中可以一次或多次调用BIOS以完成比BIOS更高级的功能调用。,本章到此结束!,返回本章首页,结 束,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1