热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

最小工作模式最大工作模式时序和中断

8886的两种工作模式的配置一.最小与最大的工作模式最小工作模式MNMX*1(高电平)构成小规模的单处理机系统(只有个微处理器80888086)由CPU本身提供控制总线最大工作模式




88/86的两种工作模式的配置


一. 最小与最大的工作模式


最小工作模式


  1. MN/MX* = 1 (高电平)
  2. 构成小规模的单处理机系统 (只有个微处理器 8088/8086)
  3. 由CPU本身提供控制总线

最大工作模式


  1. MN/MX* = 0 (低电平)/地
  2. 构成大规模的多机系统
  3. 协处理器 8087(浮点运算)和 (I/0处理器)8089
  4. 8088和8288(总线控制器)共同形成系统总线信号

二. 8088最小模式与最大模式的总线形成


8088最小规模的系统总线形成


image-20211023205224696
  1. 20位地址总线的形成

    采用3片 8282进行锁存和驱动

    (Inter 8282是三态透明地址缓冲器 8283

    ​ 通用的集成电路芯片 74LS373 74LS273)

  2. 8位的数据总线的形成

    数据收发器 8286 进行双向驱动

    Inter 8286是双向三态8位缓冲器

    Inter 8287

    通用数字集成电路 74LS245等 都是双向

    单向 接口电路中经常使用三态单向缓冲器 74LS244可以用 地址或者数据

  3. 系统控制信号的形成

    由88/86 引脚直接提供


最大模式下的系统形成

image-20211023205255546


  1. 地址总线:采用74LS373 和 74LS244
  2. 数据总线:采用74LS245形成和驱动
  3. 控制总线: 由系统总线控制器8288形成 MEMR* MEMW* IOR* IOW* INTA*

时序图


指令周期


  1. 一条指令从取指令到执行结束的时间
  2. 指令周期包括多个总线周期
  3. NMI INTR:cpu响应中断条件 指令周期结束

总线周期

88/86 最基本的总线周期需要四个时钟周期

若READY在T3测试时为0 则T3~T4之间插入 Tw


时钟周期

T1 若CPU主频=5MHZ , T1=200ns

构成总线周期 => 指令周期


等待状态

通过插入Tw 使速度差别较大的两个部件 保持同步

在读写总线周期中 判断是否插入 Tw


  1. T3的前沿检测 READY 引脚是否有效
  2. READY无效 =0 在 T3~T4之间 插入 一个 Tw 再检测
  3. READY 有效 进入 T4

image-20211023205112627

启动与复位

88/86 CPU引脚 RESET引脚用来使CPU复位/启动

8086服务后 PSW ,DS , ES ,SS和其他寄存器清零 指令队列也清零

段寄存器 CS 初始化位 FFFFH 指令指针IP 初始化位 0000H


中断系统


中断响应周期

CPU在每条指令的T4 检测 INTR* 信号 若有效 IF=1 开中断 则 CPU在当前指令执行完毕以后乡音 进入中断响应周期


中断

当Cpu在执行主程序时 外/内原因 暂时中断主程序的运行 转而去执行子程序,当子程序结束后返回主程序过程


中断源

引起中断的原因或事件 包括外设出现故障和CPU内部执行时出现的异常


中断类型

(外中断和内中断) 88/86系统能处理256个中断


中断类型号

用0-255 (00H-FFH)给256个中断分配编号

在INTA*的响应 第二个周期 由 8259向CPU通道D0~D7传递中断类型号n

image-20211023205836239

CPU获取中断类型号的方式

INTR的中断号由8259中断控制器提供

指令中断(INT n) 的中断号由指令直接给出

NMI 其他中断 由系统预设


中断向量

中断服务子程序 的入口地址 有逻辑地址 CS:IP表示 (段地址:偏移地址) 32位 4字节


中断向量表

存放中断向量的内存空间

256个中断向量 每个向量占用4个字节 共占用 1KB

每个中断向量的低字表示偏移地址 每个高字表示段地址 需占用4个字节

物理地址 00000H-003FFH 地址依次安排各个中断向量 向量从0开始

向量号为n的中断向量的物理地址 = n*4


容量: = 末地址+1-首地址

3FF+1 -0

400= 22*(24)2=210



中断类型

外部的中断 17# NMI 和 18# INTR


image-20211028143553407
  • 内部中断

    CPU内部执行程序出现异常引起的程序中断


    1. 除法错中断 (向量号为0) n =0

      在执行除法指令时,若除法为0或商超出所表示的范围则产生向量号为0的内部中断

    2. 指令中断

      在执行INT n时 产生的一个向量号为n (0~255)的内部中断

    3. 断点中断

      向量号为3的指令中断

    4. 溢出中断

      在执行 INT 0时 OF=1时则产生一个向量号为4的内部中断

    5. 单步中断

      若TF=1时 则每条指令结束后 产生一个向量号为1的内部中断

  • 外部中断

    利用外中断 微机系统可以实时响应能够即时处理外部意外和紧急事件 包括 INTR 和 NMI

    外中断是外设随机产生的 是真的中断

    内中断 是执行程序时出现的 常称为异常


非屏蔽中断和可屏蔽中断的特点


非屏蔽中断 NMI可屏蔽中断 INTR
通过NMI向CPU提出中断请求外设通过INTR向CPU提出中断请求
CPU无法禁止 (非屏蔽)在允许中断 当前指令结束后 予以响应输出INTA*
在当前指令执行结束后予以响应IF=1 开中断 允许响应 IF=0 关中断 禁止中断
中断向量号为2向量号有8259(中断控制器)提供
主要用于处理系统意外和故障主要用于主机与外设交换数据

IF的状态 (中断标志)


IF=0 可屏蔽中断不会被响应IF=1 可屏蔽中断会被响应
关中断 屏蔽中断 中断屏蔽开中断 允许中断 中断开放
系统复位 使 IF=0
中断被响应 使 IF=0
执行指令 CLI 使IF=0执行指令 IRET 恢复原IF状态

优先级(中断)

软件中断 优 ↓

除法错中断 0

指令中断 n

断点中断 3

溢出中断 4

非屏蔽中断 2

可屏蔽中断 n外

单步中断 1


中断过程


五个步骤

中断请求→中断优先级判定→中断响应→中断处理(服务)→中断返回


中断响应过程

Cpu在每执行完一条指令后 如果允许CPU响应 则CPU自动完成以下工作


  1. 取中断类型号 n

  2. 标志寄存器入栈 (PSW入栈)

  3. IF=TF=0

  4. CS和IP入栈

  5. 获取中断向量号(CS:IP)

    执行两个总线读周期 在中断向量表中 n*4 开始的单元取两个字 分别送到IP和CS 获取中断向量处理程序入口地址

    CPU从新CS:IP)值开始执行中断处理程序


中断服务程序的一般构成

开中断 STI

保护现场 Push

中断服务

关中断 CTI

恢复现场 Pop

中断返回 IRET

image-20211028151649671




推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
author-avatar
博客百度2
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有