第二章计算机组织_第1页
第二章计算机组织_第2页
第二章计算机组织_第3页
第二章计算机组织_第4页
第二章计算机组织_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、12 由于汇编语言是一种符号化了的面向机器的由于汇编语言是一种符号化了的面向机器的语言,所以介绍汇编语言编程需要基于一种机器模型语言,所以介绍汇编语言编程需要基于一种机器模型。 目前市场上的微型计算机以目前市场上的微型计算机以IBM-PCIBM-PC及其兼容及其兼容机为主流,它们大都采用机为主流,它们大都采用IntelIntel公司的公司的CPUCPU或或AMDAMD等公司等公司的其他兼容产品,因此,本书也将围绕的其他兼容产品,因此,本书也将围绕1ntel CPU1ntel CPU来介来介绍汇编语言,这些内容不仅适用于绍汇编语言,这些内容不仅适用于IntelIntel系列的系列的CPU,CPU

2、,对对AMDAMD公司的公司的CPUCPU也同样适用。除了某些特殊功能外,也同样适用。除了某些特殊功能外,AMDAMD等公司的等公司的CPUCPU和和Intel CPUIntel CPU是完全兼容的,从程序员的是完全兼容的,从程序员的角度看没有太多差别。角度看没有太多差别。3奔腾奔腾奔腾奔腾2代代奔腾奔腾4代代802868028680868086奔腾奔腾3代代IA-64(安腾)(安腾)400440044位位8位位800832位位16位位64位位准准64位位型号型号字长字长主频主频MHZ数据数据总线总线宽度宽度地址总地址总线宽度线宽度寻址能寻址能力力高速缓高速缓存存关键技术关键技术8086164

3、.7716201MB无无实模式实模式8088164.7716201MB无无实模式实模式8028616620162416MB无无实、保护模实、保护模式式803863212.53332324GB有有增加虚增加虚8086模式模式80486322510032324GB8KBFPU,CachePentium326016664324GB16KB超标量技术超标量技术Pentium Pro32150200643664GB16KB+256KB超标量、乱超标量、乱序执行序执行Pentium II32233333643664GB32KB+512KB多媒体扩展多媒体扩展I/OI/O接接口口主存储器主存储器系统总线系统

4、总线CPUCPU寄存器寄存器控制器控制器运算器运算器辅助存储器辅助存储器输入设备输入设备输出设备输出设备系统软件系统软件翻译程序:将高级语言或者汇编语言翻译成机器语言的翻译程序:将高级语言或者汇编语言翻译成机器语言的 系统软件。系统软件。微处理器是微机的硬件核心,主要由以下三部分组成:微处理器是微机的硬件核心,主要由以下三部分组成:(1 1)算术逻辑部件(算术逻辑部件(ALU), ,用来时行算术和逻辑运算。用来时行算术和逻辑运算。(2 2)控制逻辑控制逻辑,负责全机的控制工作,取指、译码、取,负责全机的控制工作,取指、译码、取操作数、发出执行指令命令、存结果等。操作数、发出执行指令命令、存结果

5、等。(3 3)寄存器寄存器,CPUCPU内部的存储部件,用来存放运算过程内部的存储部件,用来存放运算过程中所需要的各种信息,如操作数地址、操作数及运算结中所需要的各种信息,如操作数地址、操作数及运算结果等。果等。对程序员来说,对程序员来说,CPUCPU内可以编程访问的是内可以编程访问的是寄存器寄存器,因此微处理器被抽象为因此微处理器被抽象为CPUCPU内的寄存器内的寄存器。80868086内部结构内部结构内部暂存器内部暂存器 IP ES SS DS CS输入输入/输出输出控制电路控制电路外部总线外部总线执行部分执行部分控制电路控制电路1 2 3 4 5 6标志寄存器标志寄存器 AH AL BH

6、 BLCH CL DH DL SP BP SI DI地址加法器地址加法器指令队列缓冲器指令队列缓冲器执行部件执行部件 (EU)总线接口部件总线接口部件 (BIU)16位位20位位16位位8位位也称为通用寄存器,均为也称为通用寄存器,均为1616位,包括位,包括AXAX,BXBX,CXCX和和DXDX。1616位寄存器的逻辑结构位寄存器的逻辑结构4 4个个1616位寄存器又可分割成位寄存器又可分割成8 8个独立的个独立的8 8位寄存器位寄存器 AX BX CX DX AH AL BH BL CH CL DH DL 高高8位位 低低8位位AXAX (Accumulator)(Accumulator

7、),累加器,累加器,可用于乘、除、输入可用于乘、除、输入/ /输输出等操作;出等操作;BXBX (Base Register)(Base Register),基地址寄存器,基地址寄存器,常用来存放存常用来存放存储器地址储器地址CXCX称为计数寄存器称为计数寄存器(Count Register)(Count Register),计数器计数器,作为,作为循环和串操作等指令中的隐含计数器;循环和串操作等指令中的隐含计数器;DXDX (Data Register)(Data Register)。数据寄存器数据寄存器,常用来存放双字,常用来存放双字长数据的高长数据的高1616位,或存放外设端口地址。位,

8、或存放外设端口地址。指令指针寄存器指令指针寄存器IPIP,指示代码段中指令的偏移地址指示代码段中指令的偏移地址它与代码段寄存器它与代码段寄存器CSCS联用,确定下一条指令的物理联用,确定下一条指令的物理地址地址IPIP寄存器是一个专用寄存器寄存器是一个专用寄存器控制标志位控制标志位OFDFIFTFSFZFAFCFPF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0进位标志位进位标志位辅助进位位辅助进位位奇偶标志位奇偶标志位零值标志位零值标志位符号标志位符号标志位溢出标志位溢出标志位方向标志位方向标志位中断标志位中断标志位单步标志位单步标志位一个一个1616位寄存器,

9、反映位寄存器,反映CPUCPU在程序运行时的某些状态,或在程序运行时的某些状态,或设置某些控制标志。设置某些控制标志。分为状态标志和控制标志,分为状态标志和控制标志,6 6个状态标志:个状态标志:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOF3 3个控制标志:个控制标志:TFTF、IFIF和和DFDF基本概念基本概念 1 1、字节:、字节:一个字节由八位二进制数组成,占用一个存储一个字节由八位二进制数组成,占用一个存储单元。其位编号自左至右为单元。其位编号自左至右为b b7 7b b6 6b b5 5b b4 4b b3 3b b2 2b b1 1b b0 0。2 2、物理地址:物

10、理地址:在存储器里以字节为单位存储信息,为了在存储器里以字节为单位存储信息,为了正确地存放或取得信息,每一个字节单元给以一个唯正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址。地址从一的存储器地址。地址从0 0开始编号,顺序地每次加开始编号,顺序地每次加1 1,它是用二进制来表示的,书写时用十六进制。,它是用二进制来表示的,书写时用十六进制。3 3、存储器的特性:存储器的特性:从某个单元取出其内容后从某个单元取出其内容后, ,该单元仍该单元仍然保存着原来的内容不变然保存着原来的内容不变, ,可以重复取出可以重复取出, ,直到存入新直到存入新的信息后的信息后, ,原来保存的内容就会自

11、动丢失。原来保存的内容就会自动丢失。17 每个字节单元有一个二进制数表示地址,那么每个字节单元有一个二进制数表示地址,那么1616位位二进制数可以表示多少个地址?二进制数可以表示多少个地址?2020位二进制数能表示多位二进制数能表示多少个地址?少个地址?0000H0001H0002H0003H0004H?H18l存储单元中存放的信息称为该存储单元的内容存储单元中存放的信息称为该存储单元的内容 。4号字节单元中存放的信息为号字节单元中存放的信息为78H,可表示为:可表示为: (0004H)=78Hl5678H (16位)存入存储器位)存入存储器要占用相继两个字节,怎样存入?要占用相继两个字节,怎

12、样存入?78H78H0000H0001H0002H0003H0004H?H0005Hl字存入存储器时,规定字存入存储器时,规定低位低位字节字节存入存入低地址低地址,高位高位字节存入字节存入高地址高地址。l 二个字节单元构成一个字单元,字二个字节单元构成一个字单元,字单元的地址采用它的低地址来表示。单元的地址采用它的低地址来表示。4号字单元中存放的信息为号字单元中存放的信息为5678H,表示为:表示为: (0004H)=5678H高位字节高位字节低位字节低位字节0101 01100111 10000000H0001H0002H0003H0004H0005H56H56H78H78H 8086808

13、6是是1616位位CPU,16CPU,16位位CPUCPU的含义:的含义:u运算器一次最多可以处理运算器一次最多可以处理1616位数据;位数据;u寄存器的最大宽度为寄存器的最大宽度为1616位位u寄存器和运算器之间的通路是寄存器和运算器之间的通路是1616位位 80868086有有2020位地址总线,位地址总线,2020位地址总线的含义:位地址总线的含义:u2020位地址可表示位地址可表示2 22020个个1M1M个存储单元的地址。个存储单元的地址。u每个单元的地址需要用每个单元的地址需要用2020位二进制数来存储。位二进制数来存储。思考:在思考:在CPU执行指令过程中,需要存取地址信执行指令

14、过程中,需要存取地址信息,那么息,那么16位的位的CPU如何存取如何存取20位的地址呢位的地址呢?21引入:引入:3030个同学的实际编号为从个同学的实际编号为从029029,共,共3030个编号个编号 若只用若只用09这这1010个数字进行编号,如何进行?个数字进行编号,如何进行?00 01 02 03 04 05 06 07 08 0910 11 12 13 14 15 16 17 18 1920 21 22 23 24 25 26 27 28 29方法:分成三组,每组方法:分成三组,每组1010个人,组内编号从个人,组内编号从0909。小组编号小组编号实际编号实际编号0000000000

15、,0000100001,0000200002,0000D,0000E,0000F;0000D,0000E,0000F;0001000010,0001100011,0001200012,0001D,0001E,0001F;0001D,0001E,0001F;0002000020,0002100021,0002200022,0002D,0002E,0002F;0002D,0002E,0002F;0003000030,0003100031,0003200032,0003D,00032E,0003F;0003D,00032E,0003F;FFFF0FFFF0,FFFF1FFFF1,FFFF2FFFF2

16、,FFFFD,FFFFE,FFFFF;FFFFD,FFFFE,FFFFF;1616位位寄存器可表示寄存器可表示2 2161664K64K个地址,个地址,2020位物理地址位物理地址(即(即1M1M个地址)如何用个地址)如何用1616位寄存器来存储?位寄存器来存储?方法:分段表示地址,每个段的大小不超过方法:分段表示地址,每个段的大小不超过2 2161664K64K1MB1MB空间最多能分成多少个段?空间最多能分成多少个段? 每隔每隔1616个存储单元就可以开始一个段,所以个存储单元就可以开始一个段,所以1MB1MB最多可最多可以有:以有:2 2202016162 2161664K 64K 个段

17、个段1MB1MB空间最少能分成多少个段?(空间最少能分成多少个段?(1616位位CPUCPU) 每隔每隔64K64K个存储单元开始一个段,所以个存储单元开始一个段,所以1MB1MB最少可以有:最少可以有:2 220202 216161616 个段个段取段的首地址的高取段的首地址的高1616位位作为作为段地址段地址段内相对于段起始地址的偏移值称为段内相对于段起始地址的偏移值称为偏移地址偏移地址因段最大可达因段最大可达64K64K,故偏移地址也用,故偏移地址也用1616位位表示表示 16位寄存器表示位寄存器表示20位地址的方法位地址的方法 段地址:偏移地址段地址:偏移地址 如如 3017:000A

18、 逻辑地址换算为物理地址的方法逻辑地址换算为物理地址的方法公式:段地址公式:段地址10H+ +偏移地址偏移地址=物理地址物理地址 3017:000A表示的物理地址为表示的物理地址为:30170+000A=3017AH 采用分段法表示的地址称为存储单元的采用分段法表示的地址称为存储单元的逻辑地址逻辑地址。CPU访访问存储器时,必须先确定所要访问的存储单元的问存储器时,必须先确定所要访问的存储单元的物理地址物理地址。把段地址左移把段地址左移4位再加上偏移地址就形成物理地址。位再加上偏移地址就形成物理地址。+CPUCPU中专门存放段地址的寄存器称为段寄存器。中专门存放段地址的寄存器称为段寄存器。80

19、86CPU8086CPU有有4 4个段寄存器:个段寄存器:CSCS、DSDS、SSSS、ESESCSCS:代码段寄存器:代码段寄存器DSDS:数据段寄存器:数据段寄存器SSSS:堆栈段寄存器:堆栈段寄存器ESES:附加段寄存器:附加段寄存器 寄存器与存储器的比较:寄存器与存储器的比较: 寄寄 存存 器器 存存 储储 器器 在在CPU内部内部 在在CPU外部外部访问速度快访问速度快 访问速度慢访问速度慢容量小,成本高容量小,成本高 容量大,成本低容量大,成本低用名字表示用名字表示 用地址表示用地址表示没有地址没有地址实模式实模式(Real-address ModeReal-address Mod

20、e)即实地址访问模式即实地址访问模式,理论上理论上可访问内存空间可访问内存空间 2 22020=1M=1M应用程序无任何限制,可无限制读应用程序无任何限制,可无限制读/ /写内存,写内存,没有硬件级的内存没有硬件级的内存保护概念保护概念 。保护模式(保护模式(Protected ModeProtected Mode) 286 286处理器体系结构引入了地址保护模式的概念,处理器处理器体系结构引入了地址保护模式的概念,处理器能够屏蔽一些地址的访问,应用程序只能读写属于它自己的内存能够屏蔽一些地址的访问,应用程序只能读写属于它自己的内存空间空间, ,不能破坏其他程序和操作系统。不能破坏其他程序和操

21、作系统。 寻址方式采用寻址方式采用3232位寻址位寻址,最大寻址空间最大寻址空间4GB4GB虚拟虚拟80868086模式(模式(Virtual-8086 ModeVirtual-8086 Mode) 保护模式的特例:使得一台机器可同时模拟多个保护模式的特例:使得一台机器可同时模拟多个80868086处处理器的工作。理器的工作。5. 外部设备外部设备 外部设备与主机(外部设备与主机( CPU 和存储器)的通信是和存储器)的通信是通过外设接口(通过外设接口(Interface)进行的,每个接口包括)进行的,每个接口包括一组寄存器。一组寄存器。数据寄存器数据寄存器:存放外设和主机间传送的数据存放外设

22、和主机间传送的数据状态寄存器状态寄存器:保存外设或接口的状态信息保存外设或接口的状态信息命令寄存器命令寄存器:保存保存CPU发给外设或接口的控制命令发给外设或接口的控制命令 外设中每个寄存器有一个端口(外设中每个寄存器有一个端口(Port)地址,构成)地址,构成一个独立于内存的一个独立于内存的 I / O 地址空间:地址空间:0000H FFFFH1 1、8088/8086CPU8088/8086CPU内部寄存器有(内部寄存器有( 14 14 )个)个 ,其中数据寄存器是(,其中数据寄存器是( ),段寄存器是(),段寄存器是( ) ,指针,指针及变址寄存器是(及变址寄存器是( ),此外),此外

23、还有指令指针寄存器(还有指令指针寄存器( )和标志位寄存器()和标志位寄存器( )两个控制寄存器,所)两个控制寄存器,所有寄存器都是(有寄存器都是(1616)位寄存器,每个寄存器可)位寄存器,每个寄存器可以存放(以存放( 16 16 )位二进制数。)位二进制数。2. 8088/8086CPU2. 8088/8086CPU有三组总线,它们是有三组总线,它们是( ( 数据数据 ) )总总线线, , ( ( 控制控制 ) )总线和总线和( ( 地址地址 ) )总线;总线;地址总线是地址总线是( 20 )( 20 )条,因此它可以寻址的范围是条,因此它可以寻址的范围是(1M )(1M )字节字节。3.

24、3.存储器中,数据是以存储器中,数据是以( (字节字节 ) )为单位存放的,它为单位存放的,它是一个是一个( 8( 8位位 ) )二进制数,二进制数,1616位二进制数又称为位二进制数又称为( ( 字字 ) );一个字占用两个存储单元,存放时要将;一个字占用两个存储单元,存放时要将( ( 低地址低地址) )放在地址较小的存储单元中。放在地址较小的存储单元中。4.8088/8086CPU4.8088/8086CPU的存储器采用分段方式管理,每个段最多可的存储器采用分段方式管理,每个段最多可以有以有( 64K )( 64K )字节,全部存储空间可以分成字节,全部存储空间可以分成( 16 )( 16

25、 )个个大小为大小为64K64K且互相不重叠的段且互相不重叠的段。5.存储器的存储器的每一个字节单元给以一个唯一的存储器地址,我每一个字节单元给以一个唯一的存储器地址,我们称为(字节们称为(字节 )。)。8086CPU8086CPU的地址总线为的地址总线为2020位,所以其物位,所以其物理地址是(理地址是( 20 20 )位的二进制数。)位的二进制数。6.80866.8086解决解决1616位寄存器表示位寄存器表示2020位地址的方法是位地址的方法是( 分段表示法分段表示法 );); 在这种表示方法中,在这种表示方法中,存储单元的地址由(存储单元的地址由(段地址段地址 )和)和(偏移地址)(偏

26、移地址) 两部分构成,段地址是每个存储器段的(两部分构成,段地址是每个存储器段的(首地址首地址 );偏移地址则是相对于每个段第一个存储单元);偏移地址则是相对于每个段第一个存储单元地址的(地址的(段内相对于段起始地址的偏移值段内相对于段起始地址的偏移值 )。)。 7.7. 采用分段法表示的地址称为存储单元的(采用分段法表示的地址称为存储单元的(逻辑地址逻辑地址)。CPUCPU访问存储器时,必须先确定所要访问的存储单元访问存储器时,必须先确定所要访问的存储单元的(的(物理地址物理地址)。逻辑地址变换为物理地址的方法是)。逻辑地址变换为物理地址的方法是_ _物理地址物理地址= =段地址段地址16D16D(或(或10H10H)+ + 偏移地址偏移地址。8.8.某存储单元的地址为某存储单元的地址为3A80:13EBH3A80:13EBH,其中的,其中的3A803A80是是_ _段地址段地址 地址,地址,13EB13EB是是偏移地址偏移地址_ _地址;该存储单地址;该存储单元的物理地址是元的物理地址是_ 3BBEB _ 3BBEB _。 一、什么是

温馨提示

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

评论

0/150

提交评论