- 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章 8086系统结构 2.1 8086CPU结构 2.2 8086CPU的引脚及其功能 2.3 8086存储器组织 2.4 8086系统配置 1.总线接口部件BIU 总线接口部件BIU是8086CPU与外部(存储器和I/O端口)的接口,它提供了16位双向数据总线和20位地址总线,完成所有外部总线操作。 BIU具有下列功能:地址形成、取指令、指令排队,读/写操作数和总线控制。它由下列各部分组成: (1)16位段地址寄存器: CS-代码段寄存器 DS-数据段寄存器 ES-附加段寄存器 SS-堆栈段寄存器 (2)16位指令指针寄存器IP:存放下一条要执行指令的偏移地址。 (3)20位物理地址加法器:将16位逻辑地址变换成存储器读/写所需要的20位物理地址,实际上完成地址加法操作。 (4)6字节指令队列:预放6字节的指令代码。 (5)总线控制逻辑:发出总线控制信号。 2.指令执行部件EU 指令执行部件EU完成指令译码和执行指令的工作。 它由以下几个部分组成: (1)算术逻辑运算单元ALU:完成8位或16位的二进制运 算,16位暂存器可暂存参加运算的操作数。 (2)标志寄存器PSW:存放ALU运算结果特征。 (3)寄存器组:4个通用16位寄存器AX、BX、CX、DX,其 中AX又称累加器。4个专用16位寄存器:源变址寄存器SI、目的变址寄存器DI、堆栈指针寄存器SP、基址指针寄存器BP。 (4)EU控制器:取指令控制和时序控制部件。 2.1.2寄存器结构 寄存器用来存放运算过程中所需要的操作数地址、 操作数及中间结果。 8086微处理器内部包含有4组16位寄存器,它们分别 是通用寄存器组,指针和变址寄存器,段寄存器,指令 指针及标志位寄存器。如图2.2所示。 1.通用寄存器组 8086/8088CPU在指令执行部件EU中有4个16位通用寄 存器,它们是AX、BX、CX和DX,用以存放16位数据或地址 。也可分为8个8位寄存器来使用,低8位是AL、BL、CL和 DL,高8位为AH、BH、CH和DH,只能存放8位数据,不能 存放地址。 在8086中,某些通用寄存器用作专门用途。例如, 串指令中必须用CX寄存器作为计数寄存器,存放串的长 度,同样,AX、BX、DX寄存器又可分别称为累加器、基 址寄存器及数据寄存器。 2.指针和变址寄存器 8086/8088CPU中,有一组4个16位寄存器,它们是基 址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI 和目的变址寄存器DI。 这组寄存器存放的内容是某一段内地址偏移量,用 来形成操作数地址,主要在堆栈操作和变址运算中使用。 BP和SP寄存器称为指针寄存器,与SS联用,为访问现行 堆栈段提供方便。通常BP寄存器在间接寻址中使用,操 作数在堆栈段中,由SS段寄存器与BP组合形成操作数地 址。即BP中存放现行堆栈段中一个数据区的“基址” 的偏移量,所以称BP寄存器为基址指针。 SP寄存器在堆栈操作中使用,PUSH和POP指令是从SP 寄存器得到现行堆栈段的段内地址偏移量,所以称SP寄 存器为堆栈指针,SP始终指向栈顶。 寄存器SI和DI称为变址寄存器,通常与DS一起使 用,为访问现行数据段提供段内地址偏移量。 在串指令中,其中源操作数的偏移量存放在SI中, 目的操作数的偏移量存放在DI中,SI与DI的作用不能互 换,否则传送地址相反。 在串指令中,SI、DI均为隐含寻址,此时,SI和DS 联用,DI和ES联用。 3.段寄存器 8086/8088CPU可直接寻址1MB的存储器空间,直接 寻址需要20位地址码,而所有内部寄存器都是16位的, 只能直接寻址64KB,因此采用分段技术来解决。将1MB的 存储空间分成若干逻辑段,每段最长64KB,这些逻辑段 在整个存储空间中可浮动。 8086/8088CPU内部设置了4个16位段寄存器,它们分 别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器 SS、附加段寄存器ES,由它们给出相应逻辑段的首地 址,称为“段基址”。 段基址与段内偏移地址组合形成20位物理地址,段 内偏移地址可存放在寄存器中,也可存放在存储器中 。 例2.1 代码段寄存器CS存放当前代码段基地址,IP指令指针寄存器存放了下一条要执行指令的段内偏移地址,其中CS=2000H,IP=003AH.通过组合,形成20位存储单元的寻址地址为2003AH 。 代码段内存放可执行的指令代码,数据段和附加段 内存放操作的数据,通常操作数在现行数据段中,而在 串指令中,目的操作数指明必须在现行附加段中。堆
文档评论(0)