微机原理TheMicrocomputerPrincipleCh2.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理讲义 计算机原理 电信学院 自动化系 卢伟 ADD:大黑楼B705 TELEmail:luwei@dlut.edu.cn ?堆栈和队列 堆栈(Stack):按照后进先出(LIFO)的原则组织的存储器空间。 队列(Queue):按照先进先出(FIFO)的原则组织的存储器空间。 为什么要采用存储器“分段”技术? 8086CPU可直接寻址的地址空间为220=1M字节单元。CPU需输出 20位地址信息才能实现对1M字节单元存储空间的寻址。但8086 CPU 中所使用的寄存器均是16位的,内部ALU也只能进行16位运 算,其寻址范围局限在216=65536(64K)字节单元。为了实现对 1M字节单元的寻址,8086系统采用了存储器分段技术。 ?需注意的是,每个存储单元有惟一的物理地址,但它可以由不同 的“段基值”和“偏移量”转换而来,这只要把段基值和偏移量改变为 相应的值即可。也就是说,同一个物理地址可以由不同的逻辑地址 来构成。或者说,同一个物理地址与多个逻辑地址相对应。例如, 段基值为0020H,偏移量为0013H,构成的物理地址为00213H;然 而,若段基值改变为0021H,配以新的偏移量0003H,其物理地址 仍然是00213H,如图示。 在“段加偏移”的寻址机制中,微处理器有一套用于定义各种寻址方 式中段寄存器和偏移地址寄存器的组合规则。 堆栈定义:堆栈是存储器中的一个特定的存储区,它的一端(栈底) 是固定的,另一端(栈顶)是浮动的,信息的存入和取出都只能在 浮动的一端进行,并且遵循后进先出(LastIn FirstOut)的原则。 ?堆栈的结构: 堆栈是在存储器中实现的,并由堆栈段寄存器SS和堆栈指针寄 存器SP来定位。SS寄存器中存放的是堆栈段的段基值,它确定了 堆栈段的起始位置。SP寄存器中存放的是堆栈操作单元的偏移量, SP总是指向栈顶,如下图所示。 ?堆栈的操作特点: 8086下堆栈为16位宽(字宽),堆栈操作指令(PUSH指令或POP指令)对堆 栈的操作总是以字为单位进行。即要压栈(执行PUSH指令)时,先将SP的值减 2,然后将16位的信息压入新的栈顶; 要弹栈(执行POP指令)时,先从当前栈 顶取出16位的信息,然后将SP的值加2。可概括为: “压栈时, 先修改栈指针 后压入”,“弹栈时, 先弹出后修改栈指针”。 ?最小模式下引脚信号和功能 AD0~AD15: 地址数据复用总线 双向,三态,高电平有效。分时传送16位数据和地址的低16位,由 ALE锁存地址信息。 A16/S3~A19/S6: 地址/状态引脚 输出,三态,高电平有效。分时输出地址的高4位或微处理器当前 的状态,地址信息由ALE锁存。 BHE/S7: 高8位数据总线允许/状态引脚 输出,三态,低电平有效。BHE为低电平表示高8位数据线D15~ D8上数据有效,BHE由ALE锁存。BHE和A0可用于分别选中奇偶地 址,并控制读/写一个字或者字节。 ALE: 地址锁存允许信号 输出、高电平有效。表示总线上的信息是地址信息。 M/IO: 存储器/输入输出口控制信号 输出,三态。高电平表示当前的信息是存储器地址信息;低电平表 示当前的信息是I/O口地址信息。 RD: 读信号 输出,三态,低电平有效。表示CPU正在从存储器或I/O口读入数据。 WR: 写信号 输出,三态,低电平有效。表示CPU正向存储器或I/O口输出数据。 DT/R: 数据收发信号 输出,三态,高电平表示CPU正在发送数据;低电平表示CPU接收 数据。 DEN: 数据允许信号 输出,三态,低电平有效。表示CPU正在进行数据收发操作。 INTR: 可屏蔽中断请求信号 输入,高电平有效。表示外部向CPU提出中断申请。 INTA: 中断响应信号 输出,低电平有效。表示外设的中断申请得到响应。 NMI: 非屏蔽中断申请信号 输入,上升沿有效。表示外部有非屏蔽中断申请。非屏蔽中断不受 软件控制,CPU必须响应。 HOLD: 总线保持请求信号 输入,高电平有效,表示其他模块(如DMAC)申请占用总线。 HLDA: 总线保持响应信号 输出,高电平有效,表示CPU已让出总线。 READY:准备好信号 输入,高电平有效,高电平表示存储器或I/O口已准备好接收数 据,外部使READY为低电平CPU要插入等待周期。 TEST: 测试信号 输入,低电平有效,有效时CPU退出WAIT指令。 RESET: 复位信号 输入,高电平有效,至少保持4个时钟周期的高电平。复位时CPU 停止 现行操作,并开始进行初始化:标志寄存器FLAG,IP,DS, SS,ES及指令队列均清零;CS设置为FFFFH,复位结束时CPU从 FFFF0H开始执行

文档评论(0)

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

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

1亿VIP精品文档

相关文档