从实模式到保护模式中断技术的教学认识
详解实模式,保护模式,虚拟8086模式
2014年11月29日 0:59
• 80x86处理器有三种工作模式:实模式,保护模式和虚拟8086模式
• 历史 ○ DOS时代,汇编凭借着特权可以随时访问系统内核,直接操作硬件,对系统安全造成威胁 ○ Windows时代的到来,不仅给我们带来了华丽的界面,更多的是给我们带来了“保护机 制”。将系统内核层层封装,用户仅能通过Windows提供的接口访问内核。即保护模式 ○ 为了兼容以前的MS-DOS程序,虚拟86模式应运而生。虚拟8086模式是以任务形式在保护模式 上执行的, 在80386上可以同时支持由多个真正的80386任务和虚拟8086模式构成的任务 ○ 其实,实模式和虚拟8086模式是为了向下兼容而设置的. 而保护模式是我们的主角, 是我们现
实际上, 80386就是通过在实模式下初始化控制寄存器, GDTR, LDTR, IDTR与TR等管理寄存 器以及页表, 然后再通过加载CR0使其中的保护模式使能位置位而进入保护模式的. 当然, 实模式下不支持硬件上的多任务切换
实模式下的中断处理方式和8086处理器相同, 也用中断向量表来定位中断服务程序地址 中断向量表的结构也和8086处理器一样: 每4个字节组成一个中断向量, 其中包括两个字节
○ 虚拟8086模式是以任务形式在保护模式上执行的, 在80386上可以同时支持由多个真正的 80386任务和虚拟8086模式构成的任务。虚拟8086模式以保护模式为基础, 它的工作方式实际 上是实模式和保护模式的混合
• 实模式
○ 以8086架构进行讲解,8086上一代8088 CPU中的寄存器都是8位的。而8086是16位的,是
显示的视频缓冲区和BIOS的地址空间
• 而在内存低端, 安排了中断向量表和BIOS数据区; 剩下从
实方式与保护方式下的中断
实方式下中断服务程序入口地址
中断类型号n与其对应的中断向量存放 起始地址之间的关系是: 起始地址=4×n;末地址=4×n+3 即中断向量在4×n ~ 4×n+3指示的内 存单元中。
示例
实方式下的中断服务程序入口地址 求法(例子)
【例1】假设在实地 址方式下,内存 00140H到00147H 中存放的数据如右 图所示,求51H号 中断的中断服务程 序入口地址。
(3)中断服务程序存放位置不同 保护方式下的中断服务程序可以放到内存的任何 区域,而实地址方式下的中断服务程序只能在 存放的1MB以下的内存区域。
微机原理与接口技术
解:
例2求解
(1)求偏移地址
先找中断描述符,然后从中找出中断服务程序偏移地址
0042
由n=20H知,中断描述符存放在00280000H+20H×8=00280100H开始EE00
的8个单元,所以中断描述符为: 00 42 EE 00 00 13 20 12 H (2)求中断服务程序所在段的段基地址
微机原理与接口技术
实方式与保护方式下的中断
一、实地址方式下的中断 二、保护地址方式下的中断 三、实方式与保护方式下的区别
1.1 实地址方式下的中断
1. 中断向量 2. 中断向量表 3. 实方式下
中断服务程序入口地址求法
中断向量
含义:
高
中断服务程序的 地
入口地址(CS:IP) 址
组成及格式: 共4个字节,段地
中断描述符表容量:2KB。 适用范围:保护地址和V86方式。
保护方式下 中断服务程序入口地址
(1)通过中断类型号n从中断描述符表IDT中找出中断描述符。 目的是求偏移地址和段选择子。
《中断技术》课件
中断技术可以提高计算机的并发性和响应性,同时简化了编程模型,并支持了多任务的操作 系统、设备驱动程序和嵌入式系统的实现。
中断与轮询
与中断相比,轮询需要不停地查询外设状态,从而浪费了CPU资源,同时也无法及时响应外 设的事件。
中,如磁盘中断、网卡中断 等。
中断技术 PPT 课件
中断技术是计算机科学中重要的一个概念。本课程将介绍中断技术的基本概 念、分类、实现、编程、应用和未来发展,并探讨中断技术的重要性、优缺 点以及实际应用。快来学习吧!
什么是中断技术?
中断的定义
中断是指在程序执行过程中,CPU暂停正在执行的任务,转而去执行另一段特定的代码,当 这段代码执行完后,再回到原来的任务继续执行的过程。
2
中断向量表
中断向量表是一个预定义数组,存储了中断处理程序的入口地址,硬件设备会发 送中断号给CPU,CPU根据中断号找到相应的中断向量表地址,跳转到对应的中 断处理程序。
3
中断处理程序
由操作系统或设备驱动程序提供的中断处理程序会响应中断请求,执行相应的操 作,最后返回到原来的任务并恢复进程状态。
中断编程
总结
中断技术的重要性
中断技术的优点与缺点
中断技术是计算机科学中基础而 重要的一个概念,支撑了现代计 算机系统和各种应用程序的实现。
中断技术可以提高计算机的并发 性和响应性,同时也存在一些安 全性、复杂性和可靠性等方面的 问题。
中断技术在实际应用中的 作用
中断技术在操作系统、设备驱动 程序、嵌入式系统等领域有广泛 应用,在提高系统性能、响应速 度、商品化等方面发挥着重要作 用。
中断响应的基本框架
中断处理程序的编写方法
中断程序一般包括保存现场、处 理中断请求、恢复现场三个步骤。
中断技术教学新方法
中断技术教学新方法摘要:中断技术的应用是单片机在应用领域中比较常见的知识点,也是教学的一个难点所在。
传统的教学方法不利于学生有效快速的理解中断的知识,影响后续的编程。
采用项目教学法进行教学分析与实践,效果不错。
关键词:中断技术;项目教学法单片机是一门理论性与实践性强的学科,该课程兼顾了硬件设计和软件编程两方面。
中断技术的应用是常见的,是单片机学习的一个重要的知识点。
但是很多学生对中断的概念,中断的响应过程及中断保护等知识理解模糊,造成编程受到影响。
故提出项目教学法帮助学生有效快速的理解中断的相关知识。
项目教学法的概念所谓项目教学法,就是通过实施一个项目而进行的一个教学活动,其目的是在课堂教学中把理论和实践教学有机的结合起来,充分挖掘学生的创造潜能,提高学生解决实际问题的综合能力。
先由教师对项目进行分解,并作适当的示范,然后让学生围绕项目进行讨论、合作学习,最后以完成项目的情况来评价学生是否达到教学目的。
具体来讲,要遵守下面的原则:) 以学生为中心,要充分发挥学生的主动性和创新精神,让学生根据自身学习情况来实现信息反馈;同时教师的指导作用也至关重要。
教师仅仅是一个学习项目的设计者,组织者,协调者,学生才是课堂的中心。
) 以实际的项目为载体。
项目的选取尤为重要,既要包含基本的知识点,又能调动学生的积极性。
因此在选取上,满足下列条件:一,该项目必须包含有基本理论知识,章节重难点在项目中能充分体现;二,该项目能将理论知识有效的贯穿于实际项目中;三,该项目能有效激起学生的好奇心及求知欲;四,大部分同学能完成该项目,遇到困难能在教师指导下克服。
) 以项目完成的情况来评价学生学习效果。
学习过程的最终目的是通过完成项目实现教学目标。
教学不是直接围绕教学目标进行的,而是围绕完成项目来展开的,所以评价学生学习效果应以完成项目的情况来评定。
项目教学法在中断技术中的应用针对中断技术确立如下项目:中断循环控制流水灯。
编程实现:用单片机的p口控制只led灯,做单灯左移点亮,即p.,p.,p.,p.,p.,p.,p.,p.依次点亮,间隔.s,然后再从开始状态循环;中断时p口的个led灯闪烁次(即全亮、全灭次)。
x86汇编语言:从实模式到保护模式(第2版)
16.1 任务的隔离和特权级保护 16.2 代码清单16-1 16.3 内核程序的初始化 16.4 加载用户程序并创建任务 16.5 用户程序的执行 本章习题
17.1 本章代码清单 17.2 任务切换前的设置 17.3 任务切换的方法 17.4 用jmp指令发起任务切换的实例 17.5 处理器在实施任务切换时的操作 17.6 程序的编译和运行 本章习题
第9章 硬盘和 显卡的访问与 控制
5.1 计算机的启动过程 5.2 创建和使用虚拟机
6.1 本章代码清单 6.2 欢迎来到主引导扇区 6.3 注释 6.4 在屏幕上显示文字 6.5 显示标号的汇编地址 6.6 使程序进入无限循环状态 6.7 完成并编译主引导扇区代码 6.8 加载和运行主引导扇区代码 6.9 程序的调试技术
7.1 代码清单7-1 7.2 跳过非指令的数据区 7.3 在数据声明中使用字面值 7.4 段地址的初始化 7.5 段之间的批量数据传送 7.6 使用循环分解数位 7.7 计算机中的负数 7.8 数位的显示 7.9 其他标志位和条件转移指令
8.1 从1加到100的故事 8.2 代码清单8-1 8.3 显示字符串 8.4 计算1到100的累加和 8.5 累加和各个数位的分解与显示 8.6 程序的编译和运行 8.7 8086处理器的寻址方式 本章习题
3.1 寄存器和字长 3.2 内存访问和字节序 3.3 古老的INTEL 8086处理器 本章习题
4.1 汇编语言程序 4.2 NASM编译器 4.3 配书文件包的下载和使用 本章习题
第6章 编写主引 导扇区代码
第5章 虚拟机的 安装和使用
第7章 相同的功 能,不同的代码
第8章 比高斯 更快的计算
精彩摘录
这是《x86汇编语言:从实模式到保护模式(第2版)》的读书笔记模板,可以替换为自己的精彩内容摘录。
从实模式到保护模式中断技术的教学认识
长江 大学计算机科 学学 院 李
LI Pe ng
鹏
( Co l l e g e o f Co mp u t e r S c i e n c e ,YANGTZ E Un i v e r s i t y,J i n g z h o u Hu b e i 4 3 4 0 2 3 ,Ch i n a)
在 《 微 机 原 理 及 应 用 》 课 程 中 , 中 断 机 制 和 中 断 技 术 是 很 重 要 的 内容 ,它 是 微 机 系 统 的 主 要 组 成 部 分 之 一 。 随 着 计 算 机 技 术 的 不 断 发 展 ,尤 其 是 计 算 机 运 行 的速 度 越 来 越 高 ,对 计 算 机 的 性 能 要 求 也 随 之 愈 来 愈 高 , 不仅要求 外设 与C P U 并行操作 ,而且要求计算 机 能够随时通 过中断方 式发现错误 ,计算机 出现异常时 能够 及时 处理 故障等 。在实模式 下 和 保 护 模 式 下 分 别 转 到 中 断 服 务 程 序 入 口 地 址 的 方 式 区 别 很 大 , 工 作 在 保 护 模 式 下 的 微 型计算机 ,其中断 的功能越来越 强, 中断 系统越来越 复杂,组 成中断系统 的中断技术 成 为 了计 算机 系 统 中 十 分 重 要 的 技 术 ,它 是 《 微 机 原 理 及 应 用 》 课 程 教 学 中 的 重 点 ,也 是难 点 。 1 . 实 模 式 下 中 断 系统 的要 点 3 2 位机 在 实模 式 下 的 中断机 制与 8 0 8 6 的中断机制完 全兼容 。8 0 8 6 有一 个简单而灵 活 的 中断 系 统 ,每 个 中 断 都 有 一 个 中 断 类 型 码 , 以供 C P U 进行识别 ,8 0 8 6 最 多能处理2 5 6 种 不 同 的 中 断 类 型 。 中 断 可 以 由C P U 以 外 的 硬 件 设 备 驱 动 , 也 可 由 软 件 中 断指 令 启 动 。在 某 些 情 况 下 , 也 可 由C P U自身 启 动 。8 0 8 6 的 中 断源可分 为两类 ,即外部 中断和 内部 中断, 外部中 断分为可屏蔽 中断 I N T R 和 非 屏 蔽 中 断 N M I , 可屏 蔽 中 断 请 求 线 I N T R 通 常 由 中 断 控 制 器8 2 C 5 9 A 驱动 , N M I 的优 先 级 比 I N T R 高 。 内部 中 断 是 通 过 软 件 调 用 的 不 可 屏 蔽 中断 , 包 括 溢 出 、单 步 等 陷 阱 中 断 和 I R T T i 指 令 中断 等 8 0 8 6 的 中 断 系 统 以位 于 内存 0 段 内偏 移 地 址从0  ̄0 3 F F H 区域 的 中断 向 量 表 为 基 础 , 中 断 向量 表 中最 多 可 以存 放 2 5 6 个 中断 向量 , 中 断 向量 是 指 中断 服 务 程 序 的 首 地 址 ,包 括 1 6 位 的代 码 段 值 和 1 6 位 的偏 移 地 址 值 ,共 有 4 个 字 节 。 每 个 中 断类 型 码 对 应 一 个 中断 向 量 , C P U 通 过 中 断 类 型 码 找 到 对 应 的 一 个 中 断 向 量 ,于 是 ,执 行 相 应 的 中断 服 务程 序 。 2 . 保护模式下中断 系统的 中断过程 保 护 模 式 下 为 每 一 个 中断 和 异 常 都 分 配 了一个唯一 的识别码 ,称 为中断类 型码 ,微 处理器 用分配给 每个异常 或者 中断的类型码 作 为 访 问 中断 描 述 符 表 ( I 【 r r ) 的 索 引 , 以确 定 中断 或 异 常 处理 程 序 的首 地 址 所 在 的表 项 。 保 护 模 式下 ,仍 然 根 据 2 5 6 个 中 断类 型 码 ,从 中断描述 符表 I D T 和全 局描述 符表 G D T ( 或 局 部 描 述 符表 L D T ) 中经 两 级 查 找 后 ,形 成3 2 位 的 中 断 服 务 程 序 的 首 地 址 ,保 护 模 式 下 进入 中断服 务程 序 的过程 如 图1 所 示 , 以 中 断 类 型 码 乘 以8 作为访 问I D T 的偏 移 地 址 , 读取相应 的中断f q / 陷 阱 门描 述 符 ( 表项) , 门 描 述符给 出了1 6 位 的段 值 ( 选择符) 和 中断 服 务程序 的偏移 地址 ( 偏移 量) , 其 中3 2 位偏移
实模式与保护模式
摘自“/rosetta/article/details/8933200”64KB-4GB-64TB?我记得大学的汇编课程、组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下为啥最大寻址能力就变成了64TB?每个段最大也达4GB?更甚者分段和分页这两个高深的概念像我这种菜鸟怎么也理解不了啊!寻址能力都达64TB了,为啥我的电脑内存只有2GB呢?其实不用纠结于这事,这64TB就是所谓的虚拟地址空间,也叫逻辑地址空间,它能够寻址这么多,只是它有这个能力,并不代表你的内存就要装这么大,你内存比它小再多也不会影响你工作,反过来,要是它的寻址能力只有1MB,而你有2GB的内存,那么那1.9GB就没有实际用处了,这就太浪费资源了。
而实际上这个64TB也没有什么实际意义,因为32位的地址总线能寻址的线性地址空间和物理地址空间都是2^32=4GB。
这个64TB是怎么出来的,稍后揭晓。
实模式与保护模式的来历我们先来说一下为什么有实模式和保护模式的区别。
最早期的8086 CPU只有一种工作方式,那就是实模式,而且数据总线为16位,地址总线为20位,实模式下所有寄存器都是16位。
而从80286开始就有了保护模式,从80386开始CPU数据总线和地址总线均为32位,而且寄存器都是32位。
但80386以及现在的奔腾、酷睿等等CPU为了向前兼容都保留了实模式,现代操作系统在刚加电时首先运行在实模式下,然后再切换到保护模式下运行。
再来区别下几个基本概念:逻辑地址、线性地址和物理地址。
这些概念一时没领会没关系。
继续往下看。
三种地址逻辑地址:即逻辑上的地址,实模式下由“段基地址+段内偏移”组成;保护模式下由“段选择符+段内偏移”组成。
线性地址:逻辑地址经分段机制后就成线性地址,它是平坦的;如果不启用分页,那么此线性地址即物理地址。
保护模式中断
11.3保护模式中断前面的第5章专门学习了微型计算机的中断系统,因而读者对中断机理与操作过程应该有了一个清晰的认识,然而这一章的内容仅局限于实模式操作下的中断。
保护模式下的中断机理同实模式中断机理的本质与目的是一致的,指令格式也完全一样,但具体操作过程差别较大,本节主要针对其中的差别作一些解说。
11.3.1 中断描述符表与中断门保护模式中断与实模式中断相比,实现的具体方法存在以下一些主要的差别﹕①保护模式下用中断门对应实模下的中断向量,但数量仍然是256个,即保护模式下使用了256个中断门,每个中断门用一个中断描述符来描述。
②保护模式下用中断描述符表((IntrruptDescriptor Table,IDT)对应实模下的中断向量表,表格的大小也发生了变化。
每个中断门描述符占用8个字节,因此IDT的大小为256×8=2KB。
CPU的中断描述符表地址寄存器IDTR中存放着IDT的基地址和段界大小,因此通过装载指令LIDT就可以将IDT 定位到内存的任意位置。
同全局描述符表一样,中断描述符表也是唯一的。
中断描述符表的实际大小可以通过IDTR中设定的段界值实现调整。
例如当系统仅需要0~63号中断时,IDT使用512字节即可。
一旦出现超出设定范围的中断,例如INT 64,CPU就会进入关闭(Shutdown)模式,将D/C、M/IO、W/R三根控制线以及BE~0BE置于相应的关闭模式电平。
7③实模式中断服务入口地址寻址范围限制在最低端的1 MB之内,只需一次性查找中断向量表就直接获取了中断服务程序的入口地址。
保护模式中断服务入口地址寻址范围没有限制,因此要通过2次查表才能得到中断服务程序的入口地址,从而提高了安全性。
图11.12将实模式与保护模式下的中断做了一个简单的对比描述,下面再作一些解释。
相对于软中断指令INT N实模式只要使用调用号N×4即可找到该向量的首地址,由此处再转移到中断服务程序。
x86汇编语言:从实模式到保护模式笔记(二)
x86汇编语⾔:从实模式到保护模式笔记(⼆)1.我们都知道,8086可以访问1MB内存,其中,0xF0000~9FFFF属于常规内存,由内存条提供;0xF0000~0xFFFFF由主板上的⼀个芯⽚提供,即ROM-BIOS。
这样⼀来,中间还有⼀个320KB的空间,即0xA0000~0xEFFFF。
传统上,这段地址空间由特定的外围设备来提供,其中就包括显卡。
因为显⽰功能对于现代计算机来说实在太重要了。
2.由于历史原因,所有在个⼈计算机上使⽤的显卡,在加电⾃检之后都会把⾃⼰初始化到80*25的⽂本格式。
在这种模式下,屏幕上可以显⽰25⾏,每⾏80个字符(⼀个字符两个字节组成)。
每屏总共2000个字符(4000字节)。
3.⼀直以来,0xB8000~0xBFFFF这段物理地址空间,是留给显卡的。
tip:不允许将⽴即数传送到段寄存器。
4.屏幕上的每个字节对应着显存中的两个连续字节,前⼀个是字符的ASCLL代码,后⾯是字符的显⽰属性,包括字符颜⾊(前景⾊)和底⾊(背景⾊)。
字符的显⽰属性(1字节)分为两部分,低4位定义的是前景⾊,⾼4位定义的是背景⾊。
格式:K R G B + I R B G(K是闪烁位,为0时不闪烁,为1时闪烁;I是亮度位,为0时正常,为1时⾼亮)RGB:(000⿊;001蓝;010绿;011青;100红;101品红;110棕;111⽩)tip:mov指令的⽬的操作数不允许为⽴即数,⽽且,⽬的操作数和源操作数不允许同时为内存单元。
5.在源程序的编译阶段,编译器会把源程序整体上作为⼀个独⽴的段来处理,并从0开始计算和跟踪每⼀条指令的地址。
因为该地址是在编译期间计算的,故称汇编地址。
汇编地址是在源程序编译期间,编译器为每条指令确定的汇编位置,指⽰该指令相对于程序或者段起始处的距离,以字节计。
当编译后的程序装⼊物理内存后,它⼜是该指令在内存段内的偏移地址。
6.在NASM汇编语⾔中,每条指令的前⾯都可以拥有⼀个标号,以代表和指⽰指令所在的汇编地址。
(微机原理及应用)第10章中断技术
采ห้องสมุดไป่ตู้中断技术的优点
1 提高处理器利用率
处理器可以在等待外设数据就绪的同时执行其他任务,提高运行效率。
2 实时响应
中断技术能够即时响应外设请求,实现实时处理。
3 降低系统负载
中断只在有需要时触发,减少不必要的轮询,从而降低系统负载。
采用中断技术的缺点
1 中断开销
中断处理需要额外的处理器资源,可能会带来一定的开销。
2 中断嵌套问题
多个中断同时发生时,需要解决中断嵌套的问题,防止中断处理程序嵌套过深。
3 复杂性
中断系统相对复杂,需要仔细设计和调试中断处理程序。
总结
中断技术
中断技术通过中断请求和中断处理程序实现处理器与外设的交互,提高系统性能。
应用广泛
中断技术被广泛应用于各类计算机系统中,包括DOS、BIOS、Windows和Linux等。
微机原理及应用第10章 中断技术
本节将介绍微机原理及应用第10章中断技术的要点,包括中断的原理和分类、 中断控制器、中断向量表等内容。让我们一起深入了解中断技术的应用和作 用。
什么是中断技术
中断技术是一种使处理器能够在执行程序的同时,根据外部设备的请求和优先级,暂停当前工作转而执行相应 的中断处理程序的一种技术。
中断与DMA
中断和直接内存访问(DMA)是两种不同的外设操作方式,各具特点。
常见的中断控制器
常见的中断控制器有8259A、APIC等,它们能够管 理多个中断请求,并按照优先级进行处理。
中断向量表
1 作用
中断向量表用于存储每个中断的入口地址,处理器根据中断号在向量表中查找相应的中 断处理程序。
2 结构
中断向量表是一个固定长度的表格,每个表项存储一个中断处理程序的入口地址。
实模式和保护模式
什么是保护模式自从1969年推出第一个微处理器以来,Intel处理器就在不断地更新换代,从8086、8088、80286,到80386、80486、奔腾、奔腾Ⅱ、奔腾4等,其体系结构也在不断变化。
80386以后,提供了一些新的功能,弥补了8086的一些缺陷。
这其中包括内存保护、多任务及使用640KB以上的内存等,并仍然保持和8086家族的兼容性。
也就是说80386仍然具备了8086和80286的所有功能,但是在功能上有了很大的增强。
早期的处理器是工作在实模式之下的,80286以后引入了保护模式,而在80386以后保护模式又进行了很大的改进。
在80386中,保护模式为程序员提供了更好的保护,提供了更多的内存。
事实上,保护模式的目的不是为了保护程序,而是要保护程序以外的所有程序(包括操作系统)。
简言之,保护模式是处理器的一种最自然的模式。
在这种模式下,处理器的所有指令及体系结构的所有特色都是可用的,并且能够达到最高的性能。
保护模式和实模式从表面上看,保护模式和实模式并没有太大的区别,二者都使用了内存段、中断和设备驱动来处理硬件,但二者有很多不同之处。
我们知道,在实模式中内存被划分成段,每个段的大小为64KB,而这样的段地址可以用16位来表示。
内存段的处理是通过和段寄存器相关联的内部机制来处理的,这些段寄存器(CS、DS、SS和ES)的内容形成了物理地址的一部分。
具体来说,最终的物理地址是由16位的段地址和16位的段内偏移地址组成的。
用公式表示为:物理地址=左移4位的段地址+偏移地址。
在保护模式下,段是通过一系列被称之为"描述符表"的表所定义的。
段寄存器存储的是指向这些表的指针。
用于定义内存段的表有两种:全局描述符表(GDT)和局部描述符表(LDT)。
GDT是一个段描述符数组,其中包含所有应用程序都可以使用的基本描述符。
在实模式中,段长是固定的(为64KB),而在保护模式中,段长是可变的,其最大可达4GB。
实模式与保护模式
实模式与保护模式1. 实模式,⼜叫实地址模式,CPU完全按照8086的实际寻址⽅法访问从00000h--FFFFFh(1MB⼤⼩)的地址范围的内存,在这种模式下,CPU只能做单任务运⾏;寻址公式为:物理地址=左移4位的段地址+偏移地址,即:物理地址是由16位的段地址和16位的段内偏移地址组成的。
2.保护模式,⼜叫内存保护模式,寻址采⽤32位段和偏移量,最⼤寻址空间4GB,在这种模式下,系统运⾏于多任务,设计这种模式的原因和好处是:保护模式增加了寻址空间,增加了对多任务的⽀持,增加了段页式寻址机制的内存管理(分段机制使得段具有访问权限和特权级,各应⽤程序和操作系统的代码和核⼼是被保护的,这也是多任务⽀持的实现关键和保护这个名字的由来)。
寻址过程为:物理地址=由段地址查询全局描述符表中给出的段基址+偏移地址,即:物理地址由影像寄存器中的基址加上16位或者32位的偏移组成。
==============================================1:实模式是CPU启动的时候的模式这时候就相当于⼀个速度超快的8086不能使⽤多线程不能实现权限分级还不能访问20位以上地址线,也就是说只能访问1M内存()2:保护模式操作系统接管CPU后.会使CPU进⼊保护模式.这时候可以发挥80x86的所有威⼒..包括权限分级.内存分页.等等等等各种功能============================================1.虚拟8086模式是运⾏在保护模式中的实模式,为了在32位保护模式下执⾏纯16位程序。
它不是⼀个真正的CPU模式,还属于保护模式。
2.保护模式同实模式的根本区别是进程内存受保护与否。
可寻址空间的区别只是这⼀原因的果。
实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和⽤户程序没有区别对待,⽽且每⼀个指针都是指向"实在"的物理地址。
CPU的实模式和保护模式简介
16位微处理器8086寄存器组成8086/8088包括:4个16位的数据寄存器,2个16位的指针寄存器,2个16位变址寄存器,分成四组。
通用寄存器中,这些寄存器除完成规定的专门用途外,均可用于传送和暂存数据,可以保存算术逻辑运算的操作和运算结果。
段寄存器能在8086 中实现1M物理空间寻址,并可与8080 CPU进行兼容。
段寄存器都是16位的,分别称为代码段(Code Segment)寄存器CS、数据段(Data Segment)寄存器DS、堆栈段(Stack Segment)寄存器SS,附加段寄存器。
标志寄存器在8086中有一个16位用于反映处理器的状态和运算结果的某些特征。
(其中只有9位有定义)这些标志位分为两类:其一是运算结果标志,主要用于反映处理器的状态和运算结果特征。
(例如:进位标志、零标志、符号标志、溢出标志等)其二是状态控制标志,它控制着处理器的操作。
要通过专门的指令才能使状态控制标志发生变化。
(例如:方向标志、中断允许标志、追踪标志)内存的寻址(实模式)8086 CPU有20根地址线,可直接寻址的物理地址空间为1M。
尽管8086/8088内部的ALU 每次最多进行16位运算,但存放存储单元地址偏移的指针寄存器都是16位的,所以8080/8086通过内存分段和使用段寄存器的方法来有效地实现寻址1M的空间。
存储单元的逻辑地址由段值和偏移两部分组成,用如下形式表示:段值:偏移所以根据逻辑地址可以方便地得到存储单元的物理地址,计算公式如下:物理地址(20位) = 段值*16+偏移段值通过段寄存器的值来取得,偏移可由指令指针的IP或其他可作为内存指针使用的寄存器给出。
偏移还可以直接用16位数给出。
指令中不使用物理地址,而使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动形成20位物理地址。
32位微处理器1985年,真正的32位微处理器80386DX诞生,为32位软件的开发提供了广阔的舞台。
【OS学习笔记】十一实模式:中断-软中断和硬中断基本原理
【OS学习笔记】十一实模式:中断-软中断和硬中断基本原理本篇文章,是实模式学习的结尾。
在经过了那么多坎坷,终于学完了8086的实模式最重要的是本篇文章没有汇编代码,只讲原理~~ 今天的内容比较简单,学习一下中断的原理-包括硬中断和软中断。
主要理解以下内容:•硬中断的工作原理•软中断的工作原理•中断向量表1、硬中断硬中断一般是外部硬件中断-就是从处理器外部来的中断信号。
当外部设备发生错误或者有数据要传送时,或者处理器交给它的任务处理完了,它都会向处理器发送信号,高速处理器。
如下图,外部硬件中断是通过两个信号线引入处理器内部的。
这两根线的名字恩别叫做NMI和INTR当一个中断发生时,处理器将会通过中断引脚NMI和INTR得到通知。
除此之外,处理器还需要知道发生了什么,以便采取适当的处理措施。
每种类型的中断都被统一编号,这称为中断类型号、中断向量或者中断号。
1.1 非屏蔽中断(不可屏蔽中断)NMI接收的是不可屏蔽中断。
不可屏蔽中断的中断号统一为2(因为所有不可屏蔽中断都几乎是致命的无法解决,所以处理器干脆不处理的,统一将他们的中断号令为2,处理器接收到2号中断时直接放弃继续正常工作,也不会试图纠正已经发生的错误。
)。
1.2 可屏蔽中断和NMI不同,INTR一般接收的是可屏蔽中断。
大多数的中断也是可屏蔽中断。
INTR接收可屏蔽中断。
Intel处理器允许有256个中断。
中断号是0~255。
如下图是一个中断控制器,它管理传送来的中断信号,决定是否将中断传送给CPU。
以上两个8259芯片负责15个中断号的管理。
注意这里为什么是15个而不是256个呢?其实是每次它管理的中断号不一样的,这一次可能管理的是10-25号,下次可能管理的是其他的号。
那么在哪里屏蔽中断或者不屏蔽中断呢?实际上有两个位置,一个是8259内部,一个是处理器内部。
**8259内部:**在8259内部有一个中断屏蔽寄存器,这是个8位寄存器,对应着该芯片的8个输入引脚,对应的位是0还是1决定了该引脚输入的中断是否能通过8259芯片。
实模式与保护模式
实模式、保护模式2009-06-07 17:18参考了百度百科中关于实模式的讨论:/view/404433.htm及/toening/blog/item/d8d927d403bdfdc350da4b6d.html和/trueailei/blog/item/b8faa413a22c57d7f7039e4d.html实模式、保护模式、虚拟模式都是X86中的概念。
从寻址方式来说,CPU中的IP(EIP)中存放虚地址,把虚地址转换到物理地址,各个模式有各自的转换方式。
实模式下,虚地址到实地址转换:DS段寄存器左移4位与偏移地址相加,得到物理地址,寻址1M。
保护模式下,虚地址到实地址转换经过MMU(内存管理单元),也就是分段与分页机制,寻址4G。
保护有两层含义:1、任务间保护:多任务操作系统中,一个任务不能破坏另一个任务的代码,这是通过内存分页以及不同任务的内存页映射到不同物理内存上来实现的。
2、任务内保护:系统代码与应用程序代码虽处于同一地址空间,但系统代码具有高优先级,应用程序代码处于低优先级,规定只能高优先级代码访问低优先级代码,这样杜绝用户代码破坏系统代码。
这是通过段式管理来实现,4G虚拟内存中,代码数据和堆栈各占有一个段,段是一个独立有意义的内存单元,有基地址和边界以及本段的优先级,windows系统有两个优先级,Ring0(高优先级)或Ring3(低优先级),系统代码段和数据段属于Ring0,不能被用户代码(Ring3)访问。
实模式:16bit的8086处理器标志着IntelX86王朝的开始,并且引入了一个重要概念——段。
8086处理器地址总线扩展到 20位,但算术逻辑运算单元(ALU)宽度即数据总线却只有16位,也就是直接运算的指针长度是16位的。
为支持1M寻址空间,引入分段的方法。
为支持分段8086CPU设置四个16bit段寄存器:CS、DS、SS、ES,对应于地址总线中的高16位。
寻址时,段寄存器*0x10+偏移地址=物理地址。
中断 技术
上一页 下一页 返回
第 3 章 综合布线系统设计与施工
• 3.1 综合布线系统设计基础 • 3.2 设计前的准备 • 3.3 综合布线系统设计原则与步骤 • 3.4 工作区子系统设计 • 3.5 水平干线子系统的设计 • 3.6 垂直干线子系统的设计
上一页 下一页 返回
3.1 综合布线系统设计基础
• 2. 综合布线系统信道的组成 • 综合布线系统铜缆信道应由最长 90 的水平缆线、最长 10 m 的跳
线和设备缆线及最多4 个连接器件组成。A、B、C、D、E 级永久链 路则由 90 m 的水平缆线及 3 个连接器件组成,F 级的永久链路仅包 括 90 m 的水平缆线和 2 个连接器件(不包括 CP 连接器件)。连接 方式如图 3−6 所示。 • 3. 光纤信道的分级 • 综合布线的光纤信道分为 OF−300、OF−500 和 OF−2000 三个等级 ,各等级光纤信道支持的应用长度不应小于 300 m、500 m 及 2 000 m。将光纤信道分为三个等级主要是为适应不同的工程应用。
下一页 返回
3.1 综合布线系统设计基础
• 3.1.1 综合布线系统结构 • 1. 综合布线系统基本构成 • 综合布线系统基本构成应符合图 3−3 所示的要求。 • 注意:配线子系统中可以设置集合点(CP),也可不设置集合点。 • 集合点用于完成开放式办公环境中水平布线与到工作区插座的线缆之
间的互连。它同时适用于光纤与双绞线,并可以提供在办公室家具变 动时取消连接与再连接的灵活性。模块化组件使配置变得更容易,插 入式安装使系统再配置既灵活又方便。
• (2)陷阱 • 陷阱是在引起异常的指令执行之后触发的一种情况。当控制转移到异
第9章 实模式与保护模式下的中断系统
中断屏蔽寄存器 (IMR)
图9-9 82C59A的内部结构
1.数据总线缓冲器 2.读写控制逻辑
3.中断请求寄存器IRR
4.中断屏蔽寄存器IMR
5.中断服务寄存器ISR 6.优先权电路 7.控制逻辑 8.级联缓冲比较器
9.3.2
82C59A引脚信号
CS WR RD D7 D6 D5 D4 D3 D2 D1 D0 CAS0 CAS1 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 VCC A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2
2. 连接系统总线的方式
缓冲器方式; 非缓冲器方式。
3.屏蔽中断源的方式 (1)普通屏蔽方式 利用操作命令字OCWl,屏蔽一个或多个中断源的中断请 求。
(2)特殊屏蔽方式
执行某一个中断服务程序时,若要求允许另一个优先级
比它低的中断请求被响应,可采用特殊屏蔽方式。
4.优先级排队的方式 (1)全嵌套方式 (2)特殊全嵌套方式 (3)优先级自动循环方式 (4)优先级特殊循环方式
CS ,片选输入信号,低电平有效。
INT,由82C59A向CPU输出的中断请求信号。
INTA
,输入信号,接收CPU送来的中断响应信号
2.与外部设备的接口信号。
IR0~IR7共有8个中断请求输入信号,高电平或上 升沿有效(由编程规定),用于接收外设接口的中断 请求。
3.级联时的接口信号
级联时的接口信号包括CAS0~CAS2,82C59A级
第9章 实模式与保护模式下的中断技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从实模式到保护模式中断技术的教学认识
【摘要】结合《微机原理及应用》课程的教学实践,简述了实模式中断系统的要点,分析了保护模式中断系统的中断过程,阐述了实模式与保护模式中断的比较,提出了教学过程中如何处理中断系统的内容。
【关键词】中断技术;实模式;保护模式;描述符
Abstract:This paper expounded the main points of real mode interrupt system with self’s teaching practice of the course“microcomputer principle and application”,and analyzed the interrupt process of interrupt system at protection mode,this paper gave the interrupt comparison about protected mode and real mode,put forward how to deal with the content of the interrupt system in the process of teaching.
Keywords:interrupt technology;real mode;protected mode;descriptor
在《微机原理及应用》课程中,中断机制和中断技术是很重要的内容,它是微机系统的主要组成部分之一。
随着计算机技术的不断发展,尤其是计算机运行的速度越来越高,对计算机的性能要求也随之愈来愈高,不仅要求外设与CPU 并行操作,而且要求计算机能够随时通过中断方式发现错误,计算机出现异常时能够及时处理故障等。
在实模式下和保护模式下分别转到中断服务程序入口地址的方式区别很大,工作在保护模式下的微型计算机,其中断的功能越来越强,中断系统越来越复杂,组成中断系统的中断技术成为了计算机系统中十分重要的技术,它是《微机原理及应用》课程教学中的重点,也是难点。
1.实模式下中断系统的要点
32位机在实模式下的中断机制与8086的中断机制完全兼容。
8086有一个简单而灵活的中断系统,每个中断都有一个中断类型码,以供CPU进行识别,8086最多能处理256种不同的中断类型。
中断可以由CPU以外的硬件设备驱动,也可由软件中断指令启动。
在某些情况下,也可由CPU自身启动。
8086的中断源可分为两类,即外部中断和内部中断,外部中断分为可屏蔽中断INTR和非屏蔽中断NMI,可屏蔽中断请求线INTR通常由中断控制器82C59A驱动,NMI的优先级比INTR高。
内部中断是通过软件调用的不可屏蔽中断,包括溢出、单步等陷阱中断和INT n指令中断等。
8086的中断系统以位于内存0段内偏移地址从0~03FFH区域的中断向量表为基础,中断向量表中最多可以存放256个中断向量,中断向量是指中断服务程序的首地址,包括16位的代码段值和16位的偏移地址值,共有4个字节。
每个中断类型码对应一个中断向量,CPU通过中断类型码找到对应的一个中断向量,于是,执行相应的中断服务程序。
2.保护模式下中断系统的中断过程
保护模式下为每一个中断和异常都分配了一个唯一的识别码,称为中断类型码,微处理器用分配给每个异常或者中断的类型码作为访问中断描述符表(IDT)的索引,以确定中断或异常处理程序的首地址所在的表项。
保护模式下,仍然根据256个中断类型码,从中断描述符表IDT和全局描述符表GDT(或局部描述符表LDT)中经两级查找后,形成32位的中断服务程序的首地址,保护模式下进入中断服务程序的过程如图1所示,以中断类型码乘以8作为访问IDT的偏移地址,读取相应的中断门/陷阱门描述符(表项),门描述符给出了16位的段值(选择符)和中断服务程序的偏移地址(偏移量),其中32位偏移量装入EIP寄存器,16位的段值被装入CS寄存器,装入CS寄存器在此被称为选择符,重要的是要通过选择符,还必须访问GDT或LDT,才能得到段的基地址,即由中断类型码在中断描述符表IDT中找到的这个描述符,再根据该中断描述符中段选择符的TI位是0还是1,从GDT或LDT中找到一个段描述符,并自动加载到CS的描述符高速缓存器中[1]。
最后,由CS的描述符高速缓存器的基地址字段(32位)确定中断服务程序所在内存的基地址,由IDT中找到的门描述符中的32位偏移地址作为中断服务程序首地址的偏移量,于是,32位中断服务程序的首地址=32位基地址+32位偏移量。
图1 保护模式下进入中断服务程序的过程
3.实模式与保护模式中断的比较
3.1 相似之处
从产生中断的机制来看,实模式与保护模式中断类似,都分为两大类,一类是硬件中断,一类是软件中断。
硬件中断包括两类:一类是从INTR引脚接入的可屏蔽中断,另一类是从NMI引脚接入的非屏蔽中断,其中断源来自存储器出错、电源故障、总线出错等;软件中断也分为两类:一类是通过执行软件调用指令(INT)来实现的中断,另一类是CPU在运行时遇到一些异常事件而产生的中断处理。
两种模式下的中断都采用了向量中断,中断类型码最多256个,保护模式下兼容了实模式下的部分中断类型码,如除数为0、断点中断、溢出中断等。
实模式下中断向量表以及大部分中断服务程序,是DOS操作系统启动时设置的。
保护模式下随着操作系统的设置,对中断描述符表寄存器IDTR进行了设置,中断描述符表IDT以及其中的每个描述符的位置也由此确定。
每个中断描述符中的内容即大部分中断处理程序首地址的信息是在安装中断处理程序时也就确定了,即操作系统的启动,大部分中断处理程序随之被安装。
只有少部分中断处理程序属于用户程序,由用户程序运行时安装,安装时在中断描述符表中会添加相应的中断描述符。