tlb的转换机制/原理,以及在linux下的映射原理是什么哪?

artszhao 2007-10-30 11:48:51
rt

tlb快表的一种表现形式是执行地址映射和cache数据。。
那么tlb的转换机制/原理,以及在linux下的映射原理是什么哪?

谢谢
...全文
876 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lctel 2007-11-12
  • 打赏
  • 举报
回复

首先,TLB与操作系统是没有关系的,只是和CPU体系结构相关,操作系统仅仅是在用TLB完成某些功能.
其次,我理解的TLB是维护虚拟地址和物理地址的转换关系,有静态和动态之分.静态是初始化就设置好的转换关系,需要显式的更新;动态的,是存储内存页表中转换关系的一个缓存,在发生TLB MISS时从内存中页表中装载的
artszhao 2007-11-01
  • 打赏
  • 举报
回复
2楼的:
   tlb本身就是存储一些页表项,用来加速virtual to physical 的地址转换的。其实是一个翻译部分了。。。
   但是,对于不同的内存分配,它的转换机制是不同的
      这个tlb的操作的部分在各个体系结构的书上都有介绍的,但是他的原理性的机制很少有介绍的。。

      有这方面的资料可以借阅一下嘛?
artszhao 2007-11-01
  • 打赏
  • 举报
回复
1楼的:这个一般的书,范围可就大料。。。
    一般的linux的书上不会具体将tlb的。还有不同形式的tlb的。。。

    麻烦说的详细一点
aria 2007-11-01
  • 打赏
  • 举报
回复
可以看看OCW的EECS的课程资料:
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-823Fall-2005/LectureNotes/index.htm

中的 L9 Virtual Memory Basics

里面有关于TLB的一些介绍。

如果是想了解CPU内部实现的机制的话,抱歉我也没有这方面的资料
acange 2007-10-31
  • 打赏
  • 举报
回复
一般的linux操作系统书上都有啊, 你看一看就知道了。
aria 2007-10-31
  • 打赏
  • 举报
回复
TLB一般来说就是用来加速虚拟地址到物理地址映射的过程,TLB中里具体的内容对于不同的CPU都会有差异,但是每个entry基本上都会包括virtual address和page frame对应关系,具体的实现策略基本上对于软件来说是透明的。

一般来说,软件(一般是Kernel)能够TLB进行的操作包括invalidate 某个TLB entry或者整个TLB,也有的CPU可以lockdown某个TLB entry。

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧