汇编语言第2章微型计算机系统结构分解.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 微型计算机系统结构;2.1 8086/8088微处理器;从功能上可将8086分为两个部分,即总线接口单元BIU (Bus Interface Unit)和执行单元EU (Execution Unit).;1.总线接口单元BIU 总线接口单元的功能是负责完成与存储器或I/O设备之间的数据传送。其具体任务是:BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。 BIU内有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器),16位指令指针IP (Instruction Pointer), 6字节指令队列缓冲器,20位地址加法器和总线控制电路。下面对总线接口单元作3点说明。 (1)指令队列缓冲器 8086的指令队列为6个字节,而8088的指令队列为4个字节??不管是8086还是8088,都会在执行指令的同时,从内存中取下面一条或几条指令,取来的指令就依次放在指令队列中。它们采用“先进先出”的原则,按顺序存放,并顺序到EU中去执行,且遵循下列原则。 1)取指时,每当指令队列缓冲器中存满一条指令时,EU就立即开始执行。 2)指令队列缓冲器中只要空出两个字节,BIU便自动执行取指操作,直到填满为止。; 3)在EU执行指令的过程中,指令需要对存储器或I/O设备存取数据时,BIU将在执行完现行取指的存储器周期后的下一个存储器周期时,对指定的内存单元或I/O设备进行存取操作,交换的数据经BIU由EU进行处理。 4)当EU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求BIU从新的地址重新开始取指令,新取的第一条指令将直接经指令队列送到EU去执行,随后取来的指令将填入指令队列缓冲器。由于BIU和EU是分开并独立工作的,因此,在一般情况下,CPU执行完一条指令后就可以执行下一条指令,而不需要像以往8位CPU那样重复地进行先取指令、后执行指令的串行操作。16位CPU这种并行重叠操作的特点,提高了总线的信息传输效率和整个系统的执行速度。如图2-2所示为8086/8088 CPU程序的执行过程。 ;(2)地址加法器和段寄存器 8086有20条地址线,但CPU内部寄存器只有16位,那么如何用16位寄存器实现20位地址的寻址呢?分别用16位的段寄存器与16位的偏移量巧妙地解决了这一矛盾。 即各个段寄存器分别用来存放各段的起始地址。由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址)后,将与左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。 实际地址的产生过程如图2-3所示。 例如,要形成某指令码的实际地址,就需将IP的值与代码段寄存器CS (Code Segment)左移4位后的内容相加。假设CS=ECOOH, IP=0800H,此时指令的物理地址为EC800H。;(3) 16位指令指针IP IP的功能与8位CPU类似。正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址。IP在程序运行中能自动加1修正,使之指向要执行的下一条指令。有些指令能使IP值改变或使IP值压入堆栈,或由堆栈弹出恢复原值。 ;2.执行单元EU 执行单元不与系统直接相连,它的功能只是负责执行指令;执行的指令从BIU的指令队列缓冲器中取得,而且执行指令的结果或执行指令所需要的数据都由EU向BIU发出请求,再由BIU对存储器或外设存取。EU由下列部分组成。 1) 16位算术逻辑单元(ALU):它可以用于进行算术、逻辑运算,也可以按指令寻址方式计算出寻址单元的16位偏移量。 2) 16位标志寄存器F:它用来反映CPU运算的状态特征或存放控制标志。 3)数据暂存寄存器:它协助ALU完成运算,暂存参加运算的数据。 4)通用寄存器组:它包括4个16位数据寄存器AX, BX, CX, DX和4个16位指针与变址寄存器SP, BP, SI, DI. 5) EU控制电路:它是控制、定时各种状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。 EU中所有的寄存器和数据通道(除队列总线为8位外)都是16位的宽度,可实现数据的快速传递。 ;2.1.2寄存器结构 寄存器是CPU在运算时一些中间数据的暂存地址,按照其用途的不同可以分为通用寄存器、指令指针寄存器

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档