chp28086系统结构.ppt_第1页
chp28086系统结构.ppt_第2页
chp28086系统结构.ppt_第3页
chp28086系统结构.ppt_第4页
chp28086系统结构.ppt_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

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

文档简介

第2章 8086系统结构 8086的内部结构从功能分成两个单元总线接口单元BIU 管理8086与系统总线的接口 负责CPU对存储器和外设进行访问执行单元EU 负责指令的译码 执行和数据的运算两个单元相互独立 分别完成各自操作两个单元可以并行执行 实现指令取指和执行的流水线操作 2 18086的结构 一 8086内部结构1 指令执行部件EUEU功能 告诉BIU从何处取指令或数据 完成指令译码和执行指令 EU的组成 1 算术逻辑运算单元ALU 2 标志寄存器FR PSW 3 寄存器组 4 EU控制器 2 总线接口部件BIUBIU功能 地址形成 取指令 指令排队 读 写操作数和总线控制 向EU提供指令和数据 把EU的处理结果送给存储器或接口 BIU的组成 1 16位段寄存器CS 代码段寄存器DS 数据段寄存器ES 附加段寄存器SS 堆栈段寄存器 2 16位指令指针寄存器 3 20位物理地址加法器 4 6字节指令队列 5 总线控制逻辑 二 8086CPU的寄存器组织 控制逻辑 AH AL AX BL BH CH CL DH DL BX CX DX SP BP SI DI CS DS SS ES IP 数据寄存器 指针及变址寄存器 段寄存器 PSW ALU 寄存器的特殊用途和隐含性质25页 15870 150 150 数据寄存器AX Accumulator 累加器BX Base 基地址寄存器CX Count 计数器DX Data 数据寄存器 指针及变址寄存器SP StackPointer 堆栈指针寄存器BP BasePointer 基地址指针寄存器SI SourceIndex 源变址寄存器DI DestinationIndex 目标变址寄存器 例 累加器ADDAL BLMOVAX 10MULBL AX AL BL DIVBL AX AX BL INAL 10H例 基地址寄存器MOVAL BX AL DS BX MOVAL DATA BX MOVAL DATA BX SI MOVAL BP AL SS BP 例 循环MOVCX 100L1 LOOPL1例 移位MOVCL 3SALAL CL 11100000 AL 000 例 乘法MULBX DX AX AX BX 例 除法DIVBX DX AX DX AX BX 例 I O操作MOVDX 100HINAL DX DS SI ES DI MOVS 段寄存器CS CodeSegment 代码段寄存器DS DataSegment 数据段寄存器ES ExtraSegment 附加段寄存器SS StackSegment 堆栈段寄存器 控制寄存器IP InstructionPointer 指令指针寄存器PSW ProgramStatusWord FR Flags 程序状态字 标志寄存器 1000H CS 7FFAH DS 8CFAH ES 250AH SS 10000H 7FFA0H 8CFA0H 250A0H 00000H FFFFFH MS 存储器分段 段基址 物理地址 堆栈 Stack SP 栈底 栈顶 12H 34H 56H 78H SS PUSHDSMOVAX 0PUSHAXMOVAX DATAMOVDS AX CS IP 标志寄存器 状态标志 用来记录程序运行结果的状态信息 许多指令的执行都将相应地设置它 CFZFSFPFOFAF控制标志 可由程序根据需要用指令设置 用于控制处理器执行指令的方式 DFIFTF PSW FR 1 状态标志 CF CarryFlag 进位标志 PF ParityFlag 奇偶校验位 10001000 1100100101010001 1 CF 1 1 ZF ZeroFlag 零标志 1 SF SignFlag 符号标志 1 AF AuxiliaryCarryFlag 辅助进位标志 1 OF OverflowFlag 溢出标志 1 溢出 有符号 看OF 无符号 看CF 例 01000000 0100000010000000有符号数 溢出无符号数 不溢出 例 00000001 11111111100000000有符号数 不溢出无符号数 溢出 例 00000001 0000000100000010有符号数 不溢出无符号数 不溢出 例 10000000 10000000100000000有符号数 溢出无符号数 溢出 2 控制标志 IF InterruptFlag 中断标志IF 1 允许CPU响应可屏蔽中断IF 0 禁止CPU响应可屏蔽中断DF DirectionFlag 方向标志DF 0 增地址方向DF 1 减地址方向TF TrapFlag 单步标志TF 1 CPU每执行完一条指令 产生内部中断 供用户逐条跟踪程序进行调试 TF 0 CPU正常工作 2 28086的引脚信号 数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚 1 数据和地址信号 1 AD15 AD0 Address Data 地址 数据分时复用引脚 双向 三态在访问存储器或外设的总线操作周期中 这些引脚在第一个时钟周期输出存储器或I O端口的低16位地址A15 A0其他时间用于传送16位数据D15 D0 A19 S6 A16 S3 Address Status 地址 状态分时复用引脚 输出 三态这些引脚在访问存储器的第一个时钟周期输出高4位地址A19 A16在访问外设的第一个时钟周期全部输出低电平无效其他时间输出状态信号S6 S3 1 数据和地址信号 2 2 读写控制信号 ALE AddressLatchEnable 地址锁存允许 输出 三态 高电平有效ALE引脚高有效时 表示复用引脚 AD15 AD0和A19 S6 A16 S3正在传送地址信息 由于地址信息在这些复用引脚上出现的时间很短暂 所以系统可以利用ALE引脚将地址锁存起来 2 读写控制信号 续1 M IO Memory InputandOutput 存储器或I O访问 输出 三态该引脚输出高电平时 表示CPU将访问存储器 这时地址总线A19 A0提供20位存储器地址该引脚输出低电平时 表示CPU将访问I O端口 这时地址总线A15 A0提供16位I O口地址 2 读写控制信号 续2 WR Write 写控制 输出 三态 低电平有效有效时 表示CPU正在写出数据给存储器或I O端口RD Read 读控制 输出 三态 低电平有效有效时 表示CPU正在从存储器或I O端口读入数据 2 读写控制信号 续3 READY存储器或I O口就绪 输入 高电平有效在总线操作周期中 8086CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效 CPU直接进入第4个时钟周期如果测到无效 CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号 有效则进入第4个时钟周期 否则继续插入等待周期Tw 2 读写控制信号 续4 DEN DataEnable 数据允许 输出 三态 低电平有效有效时 表示当前数据总线上正在传送数据 可利用它来控制对数据总线的驱动DT R DataTransmit Receive 数据发送 接收 输出 三态该信号表明当前总线上数据的流向高电平时数据自CPU输出 发送 低电平时数据输入CPU 接收 3 中断请求和响应信号 INTR InterruptRequest 可屏蔽中断请求 输入 高电平有效有效时 表示请求设备向CPU申请可屏蔽中断该请求的优先级别较低 并可通过关中断指令CLI清除标志寄存器中的IF标志 从而对中断请求进行屏蔽 3 中断请求和响应信号 续1 INTA InterruptAcknowledge 可屏蔽中断响应 输出 低电平有效有效时 表示来自INTR引脚的中断请求已被CPU响应 CPU进入中断响应周期 中断响应周期是连续的两个 每个都发出有效响应信号 以便通知外设他们的中断请求已被响应 并令有关设备将中断向量号送到数据总线 3 中断请求和响应信号 续2 NMI Non MaskableInterrupt 不可屏蔽中断请求 输入 上升沿有效 有效时 表示外界向CPU申请不可屏蔽中断 该请求的优先级别高于INTR 并且不能在CPU内被屏蔽 当系统发生紧急情况时 可通过他向CPU申请不可屏蔽中断服务 4 总线请求和响应信号 HOLD总线保持 即总线请求 输入 高电平有效有效时 表示总线请求设备向CPU申请占有总线该信号从有效回到无效时 表示总线请求设备对总线的使用已经结束 通知CPU收回对总线的控制权 4 总线请求和响应信号 续1 HLDA HOLDAcknowledge 总线保持响应 即总线响应 输出 高电平有效有效时 表示CPU已响应总线请求并已将总线释放此时CPU的地址总线 数据总线及具有三态输出能力的控制总线将全面呈现高阻 使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效 总线响应信号HLDA也转为无效 CPU重新获得总线控制权 5 其它信号 RESET复位请求 输入 高电平有效该信号有效 将使CPU回到其初始状态 当他再度返回无效时 CPU将重新开始工作8088复位后CS FFFFH IP 0000H 所以程序入口在物理地址FFFF0H DS ES SS 0000H 5 其它信号 续1 CLK Clock 时钟输入系统通过该引脚给CPU提供内部定时信号 8086的标准工作时钟为5MHzIBMPC XT机的8088采用了4 77MHz的时钟 其周期约为210ns 5 其它信号 续2 Vcc电源输入 向CPU提供 5V电源GND接地 向CPU提供参考地电平MN MX Minimum Maximum 组态选择 输入接高电平时 8086 8088引脚工作在最小组态 反之 8086 8088工作在最大组态 5 其它信号 续3 TEST测试 输入 低电平有效该引脚与WAIT指令配合使用当CPU执行WAIT指令时 他将在每个时钟周期对该引脚进行测试 如果无效 则程序踏步并继续测试 如果有效 则程序恢复运行也就是说 WAIT指令使CPU产生等待 直到引脚有效为止在使用协处理器8087时 通过引脚和WAIT指令 可使8086与8087的操作保持同步 8088与8086CPU的不同之处 8088的指令队列是4个字节 8086的指令队列是6个字节8088是准16位处理器 8086是标准16位处理器8088连接的存储器不分存储体 8086连接的存储器分奇偶存储体 1 存储器分段 2 物理地址形成物理地址 存储器的绝对地址也称实地址 逻辑地址 程序中使用的地址 物理地址 段地址 EA 有效地址 段地址 段寄存器 16EA 偏移地址 基址 变址 位移量 2 38086存储器组织 段寄存器 EA 1000H 1000 段基址 10000H 11000H 物理地址 11002H 位移量disp 例 DS 1000H EA 1200H物理地址 段寄存器 16 EA 0 1200 11200 物理地址 11200H 11200H 10000H 偏移地址 1200H 二 8086存储器结构 对准字 非对准字 对准字 非对准字 低 高 8086存储器结构 BHE A0的控制作用 37页 三 堆栈的概念 堆栈主要用于中断及子程序调用 用来存放返回地址 要保护的现场等 也可以用于数据的暂时保存 堆栈 Stack SP 栈底 栈顶 12H 34H 56H 78H SS 2 48086系统配置 最小模式最小模式为单处理器系统 系统中所需要的控制信号由CPU直接提供 最大模式最大模式为多处理器系统 每个处理器执行自己的程序 常用的处理器有数值运算协处理器8087 输入 输出处理器8089 系统中所需的信号由总线控制器8288提供 8086最大模式 最小 最大模式的特点 时序 Timing 是指信号高低电平 有效或无效 变化及相互间的时间顺序关系 总线时序描述CPU引脚如何实现总线操作CPU时序决定系统各部件间的同步和定时 2 58086CPU时序 时钟周期 ClockCycle CPU时钟频率的倒数 最小时间单位 也称T状态 总线周期 BusCycle BIU完成一次访问存储器或I O端口操作所需要的时间 一个总线周期最少由4个时钟周期组成 指令周期 InstructionCycle 执行一条指令所需要的时间 一个指令周期由几个总线周期组成 当需要延长总线周期时需要插入等待状

温馨提示

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

评论

0/150

提交评论