PWT_PCD、中断与异常

17 篇文章 2 订阅
14 篇文章 0 订阅

PWT_PCD

#### CPU缓存
(1)CPU缓存位于是位于CPU与物理内存之间的临时存储器,
它的容量比内存小的多但是交换速度却比内存快的多。
(2)CPU缓存与TLB的区别:
TLB:线性地址<------>物理地址
CPU缓存:物理地址<---->内容
PWT:Page Write Through
PWT=1时,写Cache的时候也要将数据写入内存中。
PCD:Page Cache Disable
PCD=1时,禁止某个页写入缓存,直接写入内存。
比如,做页表用的页,已经存储在TLB中了,可能就不需要在缓存了。

中断与异常

#### 中断与异常
(1)中断通常是由CPU外部的输入输出设备(硬件)所触发的,
供外部设备通知CPU有事情要做,因此又叫中断请求(Interrupt Request)。
(2)中断请求的目的是希望CPU暂时停止当前正在执行的程序,
转去执行中断请求所应对的中断处理例程(中断处理程序在哪有IDT表决定)。
(3)80x86有两条中断请求线
非屏蔽中断线:称为NMI(NonMaskable Interrupt)
可屏蔽中断线:称为INTR(Interrupt Require)
非可屏蔽中断处理
(IDT表)中断号	|	NMI	|	说明
           0x2	     不可屏蔽中断         80x86中固定0x2
当非可屏蔽中断产生时,CPU在执行完当前指令后会进入中断处理程序,
非可屏蔽中断不受EFLAG寄存器中IF位的影响,一旦发生,
CPU必须立即处理非可屏蔽中断处理程序位于IDT表中2号位置。
可屏蔽中断
在硬件级,可屏蔽中断是由一块专门的芯片来管理的,
通常称为中断控制器,它负责分配中断资源和管理各个中断源发出的中断请求,
为了便于标识各个中断请求,中断管理器通常用IRQ(Interrupt Request)
后面加上数字来表示不同的中断。
比如:在Windows中,时钟中断的IRQ编号为0,也就是IRQ0。
查看中断号
(1)在设备管理器中选择设备右键。
(2)以显示适配器为例,单击属性。
(3)在设备属性页面中单击资源其中IRQ号便是中断号。
大多数操作系统时钟中断在10-100MS,Windows操作系统系列为10-20MS,
假设编写了一个死循环程序,但仍然不是真正的死循环,每过10-20MS
时钟中断便会触发,这个时候操作系统接管CPU是有机会制定他要执行的指令,
需要注意的是操作系统并不是通过时钟中断来实现线程切换的,只能说明
操作系统是能够通过时钟中断来获得控制权。
可屏蔽中断如何处理
(IDT表)中断号	|	IRQ	|	说明
0x30			IRQ0		时钟中断
0x31-0x3F		         IRQ1-IRQ15		其他硬件设备的中断
在IDT表中位于0x30位置的门便是时钟中断,中断的本质其实是改变了CPU执行的路线。
CLI指令和STI指令
如果自己的程序执行时不希望CPU去执行这些中断,可以
用CLI指令来清空EFLAG寄存器中的IF位,
用STI指令设置EFLAG寄存器中IF位
硬件中断与IDT表中的对应关系并非固定不变,可以参考APIC(高级可编程中断控制器)
异常
异常通常是CPU在执行指令时检测到某些错误,比如除0/访问页面无效等。
中断与异常的区别:
(1)中断来自于外部设备,是中断源(比如键盘发起的),CPU是被动的。
(2)异常来自于CPU本身,是CPU主动发起的。
(3)INT N 虽然被称为软中断,但其本质是异常,EFLAG的IF位对INT N无效。
异常处理
无论是由硬件设备触发的中请求还是由CPU产生的异常,
处理程序都在IDT表。
常见的异常处理程序:
错误类型		IDT表中断号
页错误		0XE
段错误		0XD
除零错误		0X0
双重错误		0X8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚构之人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值