目录 1. 什么是虚拟内存? 2. 虚拟内存的作用 3. 虚拟内存与物理内存 3.1 CPU存取数据 3.2 物理地址常用术语 3.3 虚拟地址常用术语 3.4 页表常用术语 3.5 页命中/缺页 4. 为什么有了高速缓存,还需要TLB呢? 5. MMU是如何完成地址翻译的? 5.1 准备工作 5.1.1 内存系统的基本条件 5.1.2 TLB 5.1.3 页表 5.2 产生虚拟地址 5.3 构造物理地址 5.4 遍历高速缓存 5.5 缺页处理 6. 总结 虚拟内存是现代操作系统中最伟大的发明之…
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit,它是你的电脑中最硬核的组件,这种说法一点不为过.CPU 是能够让你的计算机叫计算机的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系.它是一种小型的计算机芯片,它嵌入在台式机.笔记本电…
本博文为原创,遵循CC3.0协议,转载请注明出处:http://blog.csdn.net/lux_veritas/article/details/9284635 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
本节所使用的符号: 地址翻译 地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中元素之间的映射. 映射实现: MMU利用页表来实现这种映射.CPU中的一个控制寄存器,页表基址寄存器PTBR指向当前页表.n位的虚拟地址包含两个部分:一个p位的虚拟页面偏移(VPO)和一个(n-p)位的虚拟页号(VPN).MMU利用VPN来选择适当的页表条目(PTE).将页表条目中的物理页号(PPN)和虚拟地址中的VPO串联起来,就得到相应的物理地址.因为物理和虚拟页面都是P字…
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在进行产品研发的过程中,技术小哥哥们能文能武,不断提升产品性能和体验的同时,也把这些提升和优化过程记录下来,现录入“袋鼠云研发手记”专栏中,以和业内童鞋们分享交流. 下为“袋鼠云研发手记”专栏第二期,本期作者为袋鼠云数栈引擎团队. 袋鼠云数栈引擎团队 袋鼠云数栈引擎团队拥有多名专家级别,经验丰富的后端…
目前,在FPGA上嵌入ARM硬核的包括Xilinx的zynq系列以及Intel 的CYCLONEV系列. Zynq出来有一定市场,但是这个市场不是传统FPGA的主流市场,而是为了和微处理抢一些控制领域的市场.但是目前在反响上,听说,不如预期,首先对小公司来说,同时熟悉ARM和FPGA的人不多,在大公司来说,由于他们面向的市场对专业分工要求更高,一般都使用FPGA+CPU的方式,对这类Zynq这种新鲜事物还是持保留态度的,观望的比较多. 但随着技术及工具的发展,zynq的使用越来越受到许多公司青睐…
目录 引言 控制反转 读写分离分库分表 理论基础 设计目标 现状调研 设计思路 实现之过五关斩六将 动态对象 动态模型缓存 数据源移植 查询表达式树深度移植 数据合并算法 事务支持 实际使用 展望未来 引言 前方硬核警告:全文干货11000+字,请耐心阅读 遥想去年这个时候,差不多刚刚毕业,如今正式工作差不多一年了.Colder开源快速开发框架从上次版本发布至今差不多有三个月了,Github的星星5个版本框架总共也有近800颗,QQ群从最初的一个人发展到现在的500人(吐槽下,人数上限了,太穷开…
本周我想进一步探究可编程逻辑(FPGA)与硬核处理器(HPS)之间互联的结构.我发现了三种主要方式,它们是如何映射并处理通信的,哪些组件需要管控时序并且有访问权限. AXI Bridge 为了能够实现HPS与FPGA之间的通信接口,衍生出了AXI bridge协议.AXI bridge协议能够处理带宽适应和时钟控制,支持HPS与FPGA之间双向的逻辑和数据交互.   HPS到FPGA HPS到FPGA有两种类型:高吞吐量和低吞吐量.高吞吐量的数据带宽可以使32位.64位或128位,它是专门为高带…
Nothing is true. Everything is permitted. 写在前面 先聊聊为什么想到了要用Vuepress来代替原来写在Confluence上的文档. 大意是有个需要其他部门接入的项目,这个项目有个用md写的接入文档,其他部门的人需要看着这个文档才知道怎么接以及哪些东西需要接. 但是有个问题是这个文档长的一匹,有多长呢? 而且这个md文件是放在confluence上的. 本身用confluence阅读md的体验就不好,这个文档能够让你的滚轮滚个足足十多秒,skr~. 你…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周五分布式系统的第八篇文章,核心内容是B+树的原理. 今天的文章是上周B树的延伸,所以新关注的或者是有所遗忘的同学建议先从下方链接回顾之前的内容. 硬核挑战--从零开始动手图解B树 B+树的特性 B+树和B树一样都是多路平衡树,也叫多叉树.两者的性质也基本一致,在具体来看详细内容之前,我们先来总体看下B+树的特性,先有个大概的印象. 我个人认为B+树大部分特性都和B树一样,唯一不同的只有以下几点: 所有的数据都存储在叶子节点,中间…