同第10章分析MMU的方法一样,本章也是采用情景分析法,通过对使用ICache的各种情景的分析以实现对ICache模块剖析。使用ICache的情景有如下几种:
(1)l.mtspr指令写ICBIR
(2)指令取指阶段ICache失靶
(3)指令取指阶段ICache命中
(4)指令取指阶段,目的指令所在的内存页禁止缓存
上述四种情景中,情景(1)在流水线的执行阶段使用到了ICache,情景(2)、(3)、(4)在流水线的取指阶段使用到了ICache。...
分类:
其他好文 时间:
2014-06-18 11:25:08
阅读次数:
328
背景
看了几个内存池的设计,如python,STL,基本上对内存的管理有两种结构:
1.block,即内存的一个块,一般和内存页(pagesize)大小相关。
2.内存分片,即在该内存块上分配要使用的内存空间。
例如python的pyIntObject中使用到的缓冲池的实现: http://blog.csdn.net/ordeder/article/details/25343633...
分类:
数据库 时间:
2014-06-18 00:49:46
阅读次数:
416
本文主要解说缺页处理程序,凝视足够具体,不再解释。//以下函数将一页内存页面映射到指定线性地址处,它返回页面的物理地址//把一物理内存页面映射到线性地址空间指定处或者说把线性地址空间指定地址address处的页面映射到主内存区页面page上。主要工作是在相关也文件夹项和页表项中设置指定页面的信息。在...
分类:
系统相关 时间:
2014-06-08 06:34:29
阅读次数:
285
缺页处理程序//下面函数将一页内存页面映射到指定线性地址处,它返回页面的物理地址
//把一物理内存页面映射到线性地址空间指定处或者说把线性地址空间指定地址address处的页面映射到主内存区页面page上。主要工作是在相关也目录项和页表项中设置指定页面的信息。在处理缺页异常函数do_no_page中会调用这个函数。
参数:address--线性地址;page--是分配的主内存区中某一页面指针
st...
分类:
系统相关 时间:
2014-06-04 22:01:30
阅读次数:
433
1.
进程地址空间Linux中,进程并不是直接操作物理内存地址,而是每个进程关联一个虚拟地址空间内存页是memory management unit (MMU)
可以管理的最小地址单元机器的体系结构决定了内存页大小,32位系统通常是 4KB, 64位系统通常是 8KB内存页分为 valid or i...
分类:
系统相关 时间:
2014-05-30 00:53:45
阅读次数:
551
exit.c 代码分析笔记
release
释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行。
void release(struct task_struct * p) //释放p指向的进程
{
int i;
if (!p) //常规检测...
分类:
系统相关 时间:
2014-05-07 23:35:51
阅读次数:
576