- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 微处理器结构及存储器组成
第2章 微处理器的结构及存储器组成 2.1 80X86和Pentium微处理器的结构 2.2 存储器的组织 本章重点: 1、微处理机的寄存器结构(要求熟练掌握) 2、实模式存储器管理方式(要求熟练掌握) 微机系统组成图 寄存器(Register)(重点) 寄存器是CPU内部的高速存储单元 它们为处理器提供各种操作所需要的数据或地址等信息 汇编语言程序采用它们各自的符号名 例如,在Intel 8086/8088 CPU中有 AX BX CX DX SI DI BP SP 8086 寄存器组 1.通用寄存器 (1)数据寄存器 数据寄存器用来保存操作数或运算结果等信息。 AX寄存器称为累加器。使用频度最高,用于算术、逻辑运算以及与外设传送信息等。 BX寄存器称为基址寄存器。常用于存放存储器地址。 CX寄存器称为计数器。一般作为循环或串操作等指令中的隐含计数器。 DX寄存器称为数据寄存器。常用来存放双字数据的高16位,或存放外设端口地址。 1.通用寄存器 (2)变址和指针寄存器 变址和指针寄存器包括SI、DI、SP、BP4个16位寄存器,主要用于存放某个存储单元的偏移地址。 SI是源变址寄存器,DI是目的变址寄存器,在字符串操作中,SI和DI都具有自动增量或减量的功能。 SP为堆栈指针寄存器,用于存放当前堆栈段中栈顶的偏移地址;BP为基址指针寄存器,用于存放堆栈段中某一存储单元的偏移地址。 2.段寄存器 8086CPU的4个16位的段寄存器分别称为代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS,附加数据段寄存器ES。段寄存器用来确定该段在内存中的起始地址。 代码段用来存放程序的指令序列。CS存放代码段的段首址,指令指针寄存器IP指示代码段中指令的偏移地址。 3.指令指针 8086CPU中的指令指针IP,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,IP的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令、子程序调用指令等。 4. 标志寄存器 8086CPU中有一个很重要的16位标志寄存器,它包含9个标志位,主要用于保存一条指令执行后,CPU所处状态信息及运算结果的特征。 1.条件标志 2.状态控制标志 可由程序根据需要用指令设置,用于控制处理器执行指令的方式 (1)方向标志DF (2)中断允许标志IF (3)追踪标志TF 2.2 存储器的组织 存储器是由大量存储单元组成。为了区别每个单元,我们将它们编号,这个编号就是存储器地址。 微机的每个存储单元存放一个字节量的数据 通常采用十六进制数来表达地址 如:地址 1234H 其中大写H(或小写h)表示是16进制数 2.2.1 实模存储器寻址 实模式全称为实地址存储管理操作模式,程序与数据运行在实际存储空间,无存储保护。 实模式最早来源于8086微处理器。8086微处理器有20根地址线,可寻址内存空间为220=1MB。由于8086的内部寄存器为16位寄存器。只能寻址216=64KB,因此实模式下存储管理采用分段方式。 80286-Pentium尽管寻址空间比8086/8088大,但为了兼容,实模式存储空间仍为1MB,采用同样分段方式管理。 1.存储单元的地址和内容 一个存储单元中存放的信息称为该存储单元的内容 右图表示了存储器里存放信息的情况, 4号字节单元中存放的信息为34H,表示为: (0004)=34H 但机器字长不一定是8位,一个字存入存储器要占有相继的多个字节,低位字节存 入低地址,高位字节存入高地址,也就是说是以相反的次序存入的。如字长为16位时,二个字节单元构成一个字单元。 字单元的地址采用它的低地址来表示。图中4号字单元的内容为1234H,表示为: (0004)=1234H 如果用X表示某存储单元的地址,则X单元的内容 可以表示为(X);假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。 如上页图中所示 (0004H)=1234H 而 (1234H)=2F1EH 则也可记作 ((0004H))=2F1EH。 2.存储器地址的分段 20位地址与16位字长的冲突,采用存储器地址分段的办法解决。 程序员在编制程序时要把存储器划分成段,每个段的大小可达64K,这样段内地址可以用16位表示。实际上,可能根据需要
原创力文档


文档评论(0)