MMU的作用: 提供虚拟地址和物理地址的映射, 内存访问权限保护和Cache缓存控制等硬件支持。
TLB: Translation Lookaside Buffer,转换旁路缓存,TLB是MMU的核心部件,它缓存少量的虚拟地址与物理地址的转换关系,是转换表的cache,因此也经常被称为"快表"
TTW: Translation Table Walk, 转换表漫游,当TLB中没有缓冲对应的地址转换关系时,需要通过对内存中转换表的访问来获得虚拟地址和物理地址的对应关系。TTW成功后,结果应写入TLB
顶半部(top half) 与底半部 (bottom half)
顶半部完成尽可能少的比较紧急的功能,它往往只是简单地读取寄存器中的中断状态并清除中断标志后就进行“登记中断”的工作。 “登记中断”意味着将底半部处理程序挂到该设备的底半部执行队列中去。这样顶半部执行的速度就会很快,可以服务更多的中断请求。
底半部几乎做了中断处理程序所有的事情,而且可以被新的中断打断,这也是底半部和顶半部的最大不同,因为顶半部往往被设计成不可中断。
顶半部处理紧急,底半部处理非紧急。
IRQ中断处理的属性irqflags
IRQF_DISABLED, 表明中断处理程序是快速处理程序,快速处理程序被调用时屏蔽所有中断,慢速处理程序则不会屏蔽其他设备的驱动
IRQF_SHARED, 则表示多个设备共享中断
Reference引用:
LINUX 设备驱动开发详解(第2版)作者:宋宝华 ISBN978-7-115-23657-9