loongson
Life_Maze
墨攻
展开
-
龙芯32bit地址空间
虚拟地址的低 2G 空间是不允许直接访问的,需要经过 TLB 映射才能正常工作,所以在处理器上电初期、TLB 没有初始化之前,这部分地址是不能访问的。 user代码申请空间,需要到内核态,内核帮助其进程申请内存。 Linux 在管理物理内存时只使用 kseg0 的前 256MB (后256MB 映射到 I/O)。 kseg0 的 cache 一致性属性是 chaced 的,而 ks...原创 2019-07-31 16:51:04 · 651 阅读 · 1 评论 -
龙芯架构
第一级互联开关采用6×6,用于连接4个CPU(作为主设备)。每个IO端口连接一个16bit的HT控制器,每个16bit的HT端口也可作为2个8bit的HT的端口使用。HT控制器通过DMA控制器和一级互联开关相连,DMA控制器复杂IO的DMA控制并肩负片间一致性的维护。第二级互联开关采用5×4,作为主设备用于连接4个cache模块。4个二级cache模块(作...原创 2019-07-31 14:34:34 · 1319 阅读 · 0 评论 -
龙芯64bit地址空间
用户模式下虚地址的[63-48]必须恒等于 0,如果这个位域出现非 0 的情况就会发生地址错误异常。 内核模式下,可以访问全部的虚地址空间,xC000,0000,0000,0000-0xFFFF,FFFF,7FFF,FFFF 这部分是 64bit 特有的 kseg 段,叫做 xkseg,这部分是需要经过 TLB 转换的,只能用于内核模式。 内核模式下,从0xFFF...原创 2019-07-31 16:50:52 · 736 阅读 · 0 评论 -
PCIe 学习资源
第一阶段的目录篇地址为:http://blog.chinaaet.com/justlxy/p/51000532511、前言篇:PCIe扫盲——PCIe简介:http://blog.chinaaet.com/justlxy/p/51000530662、PCIe扫盲——PCI总线基本概念:http://blog.chinaaet.com/justlxy/p/51000530773、PCIe扫...转载 2019-08-01 09:12:57 · 739 阅读 · 0 评论 -
TLB 结构和工作方式
TLB:TLB 即 Translation Lookaside Buffer ,根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。 其中每一行都保存着一个由单个PTE(Page Table Entry,页表项)组成的块。 TLB里面存放的是一些页表文件(虚拟地址到物理地址的转换表),如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据。 ...原创 2019-08-02 09:42:31 · 4113 阅读 · 0 评论 -
页表管理及多级页表
页表说需空间大小计算:1、32 位地址空间、4KB 的页大小、页表的每项大小为 4Byte。32 位地址空间可寻址2^32 = 4GB 每4KB=3^12为1个物理页,故需要总TLB项为2^32/2^12=2^20 每个TLB项的大小为4B,故总的TLB缓存的大小为2^20*4=2^22=4M2、64 位地址空间、4KB 的页大小、页表的每项大小为 4B。多级分页:...原创 2019-08-02 14:17:18 · 5867 阅读 · 0 评论