语言程序设计第2章80x86计算机组织_第1页
语言程序设计第2章80x86计算机组织_第2页
语言程序设计第2章80x86计算机组织_第3页
语言程序设计第2章80x86计算机组织_第4页
语言程序设计第2章80x86计算机组织_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第2章80x86计算机组织

计算机系统存储器

中央处理机

外部设备2.180x86微处理器-1计算机主要有运算器、控制器、存储器和输入输出设备构成。20世纪70年代初期,运算器和控制器集成在一个芯片上,构成中央处理机。表2.180x86微处理器概况(15页)Intel80861.1英特尔80x86处理器8038680486奔腾奔腾II奔腾4802868086奔腾III酷睿多核系列4004IA-32处理器16位80x86处理器奔腾多核系列Intel64处理器32.180x86微处理器-2理解下面一些名词术语:主频数据总线数据总线宽度地址总线宽度地址总线宽度与寻址空间的关系(16页)2.180x86微处理器-3一般存储器以字节为存储信息的基本单位,用符号B表示,因此存储容量可称为:1MB,16MB,4GB。在计算机上计算一个题目的步骤:用计算机语言把所要计算的题目编程,把这一程序连同所要使用的数据一起存入存储器中。计算机算题时,把程序和数据从存储器中取到运算器中进行计算。(16页)2.180x86微处理器-4为了使存储器与运算器的速度相匹配,建立了层次结构的存储器组织:(16页)

Cache主存(内存)外存(辅存)早期的Cache做在芯片之外,从386开始在芯片中做入少量的Cache,486中集成了8KB,Pentium中有8KB的指令高速缓存和8KB的数据高速缓存,PentiumPro在以上基础上又增加了256KB的二级缓存,PentiumⅡ中有32KB的高速缓存和512KB的二级高速缓存。2.180x86微处理器-5从8086到PentiumPro执行一条指令所需时间的比较。(16页)实模式、保护模式和虚拟模式的区别。工作方式1.实地址方式2.保护方式3.虚拟8086方式1.实地址方式该方式工作在开机或复位后,进入保护方式工作之前。其主要目的是为进入保护方式作必要配置和准备。实地址方式的特点寻址机制、存储器管理、中断处理机制和8086一样。操作数默认长度16位。存储器容量1M,分段管理,每段64K。存储器两端各一个固定区域。一个中断向量表0000:0000~0000:00FF一个自举入口程序FFFF:0000~FFFF:000F保护方式是Pentium的常规工作方式。只有在此方式下,才能发挥其强大的功能。其特点是:多任务,任务之间相互独立,私密。存储管理空间超大,可建立虚拟存储器。32位和16位运算混合。虚拟8086方式一个模拟的8086CPU。其特性与8086相同。在PentiumCPU中,是保护方式下的一个任务。所以,在Pentium中可以建立很多个这样的模拟8086CPU。2.2基于微处理器的计算机系统构成-1微处理器、微型计算机、微型计算机系统的区别。计算机系统包括硬件和软件两部分。(17页)2.2.1硬件中央处理机CPU总线控制逻辑接口接口存储器大容量存储器I/O设备I/O子系统系统总线......2.2基于微处理器的计算机系统构成-2存储器(17页)记忆部件,存放程序、数据、信息及中间结果。中央处理机:运算器控制器I/O子系统I/O设备大容量存储器2.2基于微处理器的计算机系统构成-3除必要的系统程序外,一般程序存放在外存中,只要当运行时,才把它调入内存。系统总线(18页)片内总线、系统总线和外部总线。2.2基于微处理器的计算机系统构成-4软件:系统软件用户软件(18页)系统软件核心是操作系统,操作系统是系统程序的集合,主要作用是对计算机系统的软硬件资源进行管理。常驻监督程序(一种驻留内存的监督程序)是操作系统的主要部分,只要一开机就存在于内存中,它可以从用户接收命令,并使操作系统执行相应的动作。2.2基于微处理器的计算机系统构成-5I/O驱动程序对I/O设备进行控制和管理,当系统程序或用户程序使用I/O设备时,就调用它对设备发出命令,完成CPU和I/O设备的数据传输。文件管理程序用来处理存储在外存中的大量信息,它可以和外存的设备驱动程序相连接,对存储在其中的信息以文件的形式进行存取、复制及其他管理操作。2.2基于微处理器的计算机系统构成-6文件编辑程序用来建立、输入或修改文本。翻译程序(汇编程序、解释程序、编译程序)(19页)汇编程序:将汇编语言程序翻译成机器语言程序。编译程序:将高级语言翻译成机器语言。解释程序:将直接把高级语言在机器上运行,边解释边执行。

经翻译程序翻译后,源程序变为.obj文件。2.2基于微处理器的计算机系统构成-7连接程序把要执行的程序与库文件或其他已经翻译好的子程序连接在一起,形成.exe文件。装入程序用来把程序从外存传送到内存,以便机器执行。计算机开始后需立即启动,把常驻监督程序装入存储器,使机器运转起来。调试程序(DEBUG)系统提供给用户的能监督和控制用户程序的一种工具,可以装入、修改、显示或逐条执行一个程序。2.3中央处理机-12.3.1中央处理机CPU的组成(19页)CPU中的高速缓存虽然在片内,但就功能而言还是属于存储器的。CPU主要有以下三部分组成:算术逻辑部件控制逻辑工作寄存器组2.3中央处理机-22.3.280x86寄存器组寄存器分为程序可见的寄存器和程序不可见的寄存器两大类。程序可见的寄存器:指在汇编语言程序设计中用到的寄存器,它们可以由指令来设定。程序不可见的寄存器:指一般应用程序设计中不用而由系统所用的寄存器。2.3中央处理机-3程序可见的寄存器分为通用寄存器、专用寄存器和段寄存器3类。通用寄存器(20页)8086/8088和80286都是16位寄存器AX累加器BX基址寄存器CX计数器DX数据寄存器2.3中央处理机-4SP堆栈指针寄存器BP基址指针寄存器SI源变址指针寄存器DI目的变址指针寄存器(21页)80x86的寄存器结构80x86的程序可见寄存器组通用寄存器专用寄存器段寄存器

AHAXALBHBXBLCHCXCLDHDXDLSPBP

SIDI

IPFLAGSCSDSSSES8086/8088/80286寄存器EAXEBXECXEDXESPEBPESIEDIEIPEFLAGS

FSGS

3116158702.3中央处理机-58086~80286CPU各有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。对于4个16位数据寄存器AX、BX、CX、DX。其每个又可以作为2个独立的8位寄存器使用,它们被分别命名为AH、AL、BH、BL、CH、CL、DH、DL。80386以上型号的CPU各有8个32位通用寄存器,它们是相应16位寄存器的扩展,被分别命名为EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI。在程序中每个8位、16位、32位寄存器都可以独立使用。2.3中央处理机-6专用寄存器IP指令指针寄存器(22页)

IP总是与CS段寄存器配合指出下一条要执行指令的地址,其中存放偏移量部分。SP堆栈指针寄存器FLAGS标志寄存器(程序状态寄存器)(22-24页)OFDFIFTFSFZFAFPFCF标志寄存器(FLAGS/PSW)

1514131211109876543210

条件码标志:控制标志:OF溢出标志DF方向标志SF符号标志IF中断标志ZF零标志TF陷阱标志CF进位标志AF辅助进位标志PF奇偶标志例:ADDAX,BXJO/JCERROR?OFDFIFTFSFZF

AF

PF

CF

8086/8088OFDFIFTFSFZF

AF

PF

CF

IOPLNT

80286

RF

OFDFIFTFSFZF

AF

PF

CF

IOPLNTVM

80386

RF

OFDFIFTFSFZF

AF

PF

CF

IOPLNTVMAC

80486

RF

OFDFIFTFSFZF

AF

PF

CF

IOPLNTVMACIDVIPVIF313029282726252423222120191817161514131211109876543210Pentium80x86的标志寄存器(P.23)IOPL:I/O特权级VIP:虚拟中断未决标志NT:嵌套任务标志

VIF:虚拟中断标志RF:重新启动标志VM:虚拟8086模式位AC:对准检查方式位ID:标识标志

状态标志位的符号表示在DEBUG下查看TF-a10013FD:0100pushf13FD:0101popax13FD:0102-tAX=0000BX=0000CX=0000DX=0000SP=FFECBP=0000SI=0000DI=0000DS=13FDES=13FDSS=13FDCS=13FDIP=0101NVUPEIPLNZNAPONC13FD:010158POPAX在DEBUG下查看TF-tAX=3202BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=13FDES=13FDSS=13FDCS=13FDIP=0102NVUPEIPLNZNAPONC13FD:01020000ADD[BX+SI],ALDS:0000=CD-看出来TF=0AX=32020011,0010,0000,0010TF2.3中央处理机-7段寄存器(24页)CS代码段寄存器DS数据段寄存器SS堆栈段寄存器ES附加段寄存器

寄存器与存储器的比较:

寄存器

存储器

在CPU内部在CPU外部访问速度快访问速度慢容量小,成本高容量大,成本低用名字表示用地址表示没有地址地址可用各种方式形成2.4存储器2.4存储器

存储器以字节(8bit)为编程单位每个字节单元都有唯一的地址编码地址用无符号整数来表示(编程用十六进制表示)一个字要占用相继的两个字节低位字节存入低地址,高位字节存入高地址字单元地址用它的低地址来表示机器以偶地址访问(读/写)存储器2.4.1存储单元的地址和内容:(P.24-P.25)

10011111

0010011001001000

01011100

10000011存储器的逻辑地址与物理地址逻辑地址段地址:偏移地址

1000:0000H

1000:0001H1000:0002H1000:0003H1000:0004H1000:0005H

物理地址10000H10001H10002H10003H

10004H10005H

10100010字节内容(10000H)=9FH;(10001H)=26H字内容(10000H)=269FH;(10001H)=4826H访问两次内存请思考以下问题

如何读一个字节单元的内容?如何读一个字单元的内容?如何读一个双字单元的内容?存储器单元的内容取走后还有吗?8086以偶地址还是奇地址访问存储器?如何用地址表示某存储单元的内容?请参看教材P.24-P.252.4.2实模式存储器寻址存储器地址的分段如何解决在16位字长的机器里提供20位地址的问题?段可以起始于任意地址吗?机器内如何划分一小段的?一小段的大小是多少?每个小段的首地址特征是什么?1MB的地址空间里,共有多少个小段首地址?请参看教材P.27存储器的分段:20根地址线:地址范围00000H~FFFFFH(1MB)机器字长16位:仅能表示地址范围0000H~FFFFH(64KB)小段:每16个字节为一小段,共有64K个小段小段的首地址00000H~0000FH00010H~0001FH00020H~0002FH…FFFF0H~FFFFFH

段起始地址:小段首地址段的大小:64K范围内的任意字节实模式存储器寻址时物理地址的计算物理地址和存储单元的对应关系如何?20位物理地址的计算方法?

一个存储单元的逻辑地址惟一吗?一个存储单元的物理地址惟一吗?请参看教材P.27-P.28物理地址=16段地址+偏移地址

16位段地址

16位偏移地址

0000+

20位物理地址例:(DS)=2100H,(BX)=0500H(PA)=21000H+0500H=21500H

段寄存器

8086有哪几个段寄存器?段寄存器里放的内容是什么?各个段的用途是什么?段的分配方式如何?段重叠指的是什么?段区的分配工作是由谁完成的?请参看教材P.28-P.2964KB代码64KB堆栈64KB数据存储器的逻辑分段:

存储器01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES

64KB附加数据B0000HB000H

256堆栈

存储器

8KB代码

2KB数据02000H04800H04000H0200H0400H0480HCSDSSS段寄存器与其对应存放偏移地址的寄存器之间的默认组合关系如程序用到非默认的组合关系如何处理?请参看教材P.30保护模式存储器寻址

在保护模式下,逻辑地址的组成?和实模式寻址的区别?描述符的概念?请参看教材P.30-P.31

描述符64

所选存储单元支持多任务处理功能支持虚拟存储器特性

保护模式下的80x86保护模式下的存储器寻

温馨提示

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

评论

0/150

提交评论