29912

来源:互联网 发布:mac和手机 日历同步 编辑:程序博客网 时间:2024/06/06 03:45

2-9-9-12分页

这里写图片描述
这里写图片描述
这里写图片描述

PDPE PDE PTE属性分析

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

TLB

1、地址解析

1)通过一个线性地址访问一个物理页。比如:一个DWORD,其实未必真正读的是4个字节,我们先读的PDE再读PTE 最后才读的4个字节的页。

2)在2-9-9-12会读24个字节 如果跨页可能更多。

为了提高效率,只能做记录。

CPU内部做了一个表,来记录这些东西,这个表格是CPU内部的,和寄存器一样快,这个表格:TLB(Translation Lookaside Buffer)。

这里写图片描述

3、TLB种类
TLB在X86体系的CPU里的实际应用最早是从Intel的486CPU开始的,在X86体系
的CPU里边,一般都设有如下4组TLB:

第一组:缓存一般页表(4K字节页面)的指令页表缓存(Instruction-TLB);
第二组:缓存一般页表(4K字节页面)的数据页表缓存(Data-TLB);
第三组:缓存大尺寸页表(2M/4M字节页面)的指令页表缓存(Instruction-TLB);
第四组:缓存大尺寸页表(2M/4M字节页面)的数据页表缓存(Data-TLB)

这里写图片描述

中断与异常

1、什么是中断

1) 中断通常是由CPU外部的输入输出设备(硬件)所触发的,供外部设备通知 CPU“有事情需要处理”,因此又叫中断请求(Interrupt
Request).

2) 中断请求的目的是希望CPU暂时停止执行当前正在执行的程序,转去执行 中断请求所对应的中断处理例程(中断处理程序在哪有IDT表决定)

3) 80x86有两条中断请求线:

非屏蔽中断线,称为NMI(NonMaskable Interrupt) 可屏蔽中断线,称为INTR(Interrupt
Require)

这里写图片描述

3、可屏蔽中断

  在硬件级,可屏蔽中断是由一块专门的芯片来管理的,通常称为中断控制器. 它负责分配中断资源和管理各个中断源发出的中断请求.为了便于标识各个中断请求, 中断管理器通常用IRQ(Interrupt

Request)后面加上数字来表示不同的中断.

比如:在Windows中 时钟中断的IRQ编号为0 也就是:IRQ0

这里写图片描述

控制寄存器

1、控制寄存器

控制寄存器用于控制和确定CPU的操作模式。Cr0 Cr1 Cr2 Cr3 Cr4 Cr1 保留Cr3 页目录表基址

这里写图片描述

说明:
3、WP:对于Intel 80486或以上的CPU,CR0的位16是写保护(Write Proctect)标志
当设置该标志时,处理器会禁止超级用户程序(例如特权级0的程序)向用户级只读页
面执行写操作;

当CPL<3的时候:

如果 WP=0 可以读写任意用户级物理页,只要线性地址有效.

如果 WP=1 可以读取任意用户级物理页,但对于只读的物理页,则不能写.

这里写图片描述
这里写图片描述

页目录表,页表基地址

PAE分页模式下页目录表基址:0xC0600000
页表基址:0xC0000000

PDE=0xc0600000+pdpti*0x200*8+pdi*8
PTE=0xc0000000+pdpti*0x200*0x200*8+pdi*0x200*8+pti*8

0 0
原创粉丝点击