热门标签 | 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




推荐阅读
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
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社区 版权所有