
Linux Memory
njuitjf
不积跬步无以致千里
展开
-
Bank Interleaving的概念
今天又悟到了一点(呵呵,自我陶醉一下)。cpu访问内存时,有一个Bank Interleaving的概念。开始只知道地址顺序的差别:OFF: Banks are not interleaved, and address will be decoded as bank-row-columnON: Banks are interleaved, and address will be dec原创 2013-12-18 12:06:29 · 11352 阅读 · 3 评论 -
slab 着色的理解
slab 着色的理解之前对slab着色一直不怎么理解。后来查了不少资料,包括之前转的一篇blog,通过学习之后,总算大致了解了。这儿也写点总结,按照自己的思路来,以抵抗忘性。先来看看slab着色的目的。slab中倾向于把大小相同的对象放在同一个硬件cache line中。为什么呢?方便对齐,方便寻址。但这样会带来一个问题。假如有两个对象,A,B,它们size一样,都是1原创 2014-01-15 16:51:48 · 7070 阅读 · 4 评论 -
slab着色与cpu硬件高速缓存
转自:http://www.mythroad.net/2011/06/11/slab_coloring_cpu_hardware_cache/ 学习LKD的时候,在内存管理一章的slab小节中,对于slab的着色只是一笔带过,并没有详细叙述,只好翻看了很多资料,稍微有了点儿概念,其实关键在于分清所谓的cache(高速缓存,包含多个slab块)和硬件高速缓存的概念。 sl转载 2014-01-15 16:10:18 · 1948 阅读 · 1 评论 -
DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
转自:http://www.360doc.com/content/14/0116/16/15528092_345730642.shtml 首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。 DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row)转载 2014-01-16 16:23:05 · 118808 阅读 · 8 评论 -
(总结)关于Linux的缓存内存 Cache Memory详解
转自:http://www.ha97.com/4337.html PS:前天有童鞋问我,为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory。有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文转载 2014-02-13 19:48:40 · 2538 阅读 · 0 评论 -
什么是TLB ?
转自:http://blog.chinaunix.net/uid-16361381-id-3044981.html TLB:Translation Lookaside Buffer.根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理 器要在主内存寻址时,不是直接在内存的物理地址里查找的,而是通过一组转载 2014-04-09 10:09:49 · 8352 阅读 · 0 评论 -
Linux ioremap 的实现
Linux ioremap 的实现linux, memory, ioremap在 linux kernel 的代码中,经常看到 ioremap 函数。其功能是将给定的物理地址映射为虚拟地址。注意,此处的物理地址并不是真正内存的物理地址,而是cpu上的io memory。可以参考芯片《Reference Manual》中断 memory map 章节。本文主要学习 iorem原创 2014-11-03 19:07:07 · 10600 阅读 · 0 评论 -
Linux内核4级页表的演进
转自:http://larmbr.me/2014/01/19/the-evolution-of-4-level-page-talbe-in-linux/转载 2014-11-03 18:06:52 · 4021 阅读 · 0 评论