- 博客(15)
- 收藏
- 关注
转载 基础知识复习二 --- 指针(Jun18)
普通指针定义:int *p;这个是定义一个指向int类型数据的指针。但是这样不容易理解,我自己的理解方式如下:其实,p是一个32位的数字(64位系统为64位,这里以32位),只不过这个数字具体的意思是个内存地址,所以不能进行数学意义上的加减乘除(地址的加减乘除,是以类型大小sizeof(int)为单位的)。如果我们直接使用p,则是一串数字地址,如果我们想要p地址处的数据,就需要加一
2014-06-19 11:08:09
643
转载 基础知识复习一(Jun18)
· 变量的声明和定义ü 声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。ü 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的;告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。ü 定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这
2014-06-18 15:54:51
766
转载 Interrupt gates and Trap gates(May 21)
To provide controlled access to code segments with different privilege levels, the processor provides special set of descriptors called gate descriptors. There are four kinds of gate descriptors:
2014-05-20 17:22:02
738
转载 Task Gate (May 20)
To provide controlled access to code segments with different privilege levels, the processor provides special set of descriptors called gate descriptors. There are four kinds of gate descriptors:
2014-05-20 17:09:55
905
转载 Call Gate( May 20)
To provide controlled access to code segments with different privilege levels, the processor provides special set ofdescriptors called gate descriptors. There are four kinds of gate descriptors:•
2014-05-20 14:24:11
1055
转载 Linux系统在X86上的虚拟内存管理(May 20)
Linux支持很多硬件运行平台,常用的有:Intel X86,Alpha,Sparc等。对于不能够通用的一些功能,Linux必须依据硬件平台的特点来具体实现。本文的目的是简要探讨Linux在X86保护模式上如何实现虚拟内存管理功能。为简化和方便叙述,本文做如下限定:X86处理器为80486和其后的处理器,X86工作在保护模式,不采用物理内存扩展(使用32bits物理地址),不使用扩展页(页大小为4
2014-05-20 10:46:12
603
转载 CACHE & TLB (May 14)
一.unix内核简单回顾(内存相关) 1. 当使用传统的分时调度策略的时候,在用户级执行的进程总会被分到时间片内执行,从而让所有的进程公平的共享CPU,在内核态执行的进程却不会分入时间片内执行,只有当前的内核进程明确允许的情况下,才能切换到内核级执行另一个进程。 2. 线程的开销比进程小主要体现在线程共享进程的地址空间。lin
2014-05-14 17:07:01
2014
转载 I386寄存器 (May 12)
Book : 深入分析Linux通用寄存器(注:其中RSP为专用寄存器,之所以把它放在通用寄存器组中只是为了方便记忆整个模型)RAX( 累加器) :RAX 如果是8/16/32 位寻址,则只改变该寄存器的一部分。累加器用于乘法、除法及一些调整指令,同时也可以保存存储单元的偏移地址。RBX( 基址) :用于保存存储单元的偏移地址,同时也能寻
2014-05-14 09:59:53
1003
转载 TLBs,页结构cache和无效协议 阅读总结(May, 14)
一 地址转换1 处理器是通过“分页机制”实现的线性地址到物理地址的转换,这些转换主要包括: (1)指令的获取和普通数据的访问 (2)推测执行的预取和内存访问(这部分并不在代码的执行路径中,也不会引起缺页异常) ”分页机制“的执行主要由分页模型决定,下面我们就来看一下主要的分页模型: (1)CR4.PAE = 0,此时将32位的线性地址转换为32的物理地址,当开启大页模式
2014-05-14 09:50:11
379
转载 虚拟内存,MMU/TLB,PAGE,Cache之间关系(May, 14)
虚拟地址VA到物理地址PA以页page为单位。通常page的大小为4K。物理页面成为page frame。查看应用程序进程的地址空间,可以看到分为很多段,比如代码段(只读)、数据段(读写)、堆、共享库(其中进一步分段)、栈空间等。整个应用程序的地址空间不会用满4GB,因为还有一部分是内核空间,应用程序不能访问。再打开一个相同的应用程序查看其进程的地址空间,也是类似的,甚至是一样的。因为
2014-05-14 09:48:55
565
转载 TLB与cache的深入分析(May, 14)
一)TLB1)TLB的概述TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.2)tlb的原理当cpu对数据进行读请求时,CPU根据虚拟地址(前20位)到TLB中查找.TLB中保存着虚拟地址(前20位)和页框号的对映关系,如果
2014-05-14 09:46:04
719
转载 MMU, TLB, Cache的作用(May, 14)
VM通过页表转换成PM,MMU、Cache、TLB在转换过程中发挥作用: PTBR is CR3??(1)PTE和PA都在Cache或者Memory中:(2)将Cache和Memory拆开描述,PTE和PA是否在Cache中命中:(3)PTE在Cache或Memory中,但是PA不在Cache或Memory中,只能访问Di
2014-05-14 09:40:07
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人