首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Ubuntu环境下测试Cache大小并校验

Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static Random Access Memory 静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。

01

Nano Transport:一种硬件实现的用于SmartNIC的低延迟、可编程传输层

摘要:传输协议可以在NIC(网卡)硬件中实现,以增加吞吐量、减少延迟并释放CPU周期。如果已知理想的传输协议,那么最佳的实现方法很简单:直接将它烧入到固定功能的硬件中。但是传输协议仍在发展,每年都有提出新的创新算法。最近的一项研究提出了Tonic,这是一种Verilog可编程硬件传输层。我们在这项工作的基础上提出了一种称为纳米传输层的新型可编程硬件传输层架构,该架构针对主导大型现代分布式数据中心应用中极低延迟的基于消息的 RPC(远程过程调用)进行了优化。Nano Transport使用P4语言进行编程,可以轻松修改硬件中的现有(或创建全新的)传输协议。我们识别常见事件和基本操作,允许流水化、模块化、可编程的流水线,包括分组、重组、超时和数据包生成,所有这些都由程序设计员来表达。

03

开篇:预备知识---1

​ 大家好,好久不写博客了,久违的感觉。这篇文章是 C/C++ 程序设计专栏的第一篇文章。说实话这个专栏申请了有半年多了,但是到目前为止仍然没有文章产出,本来打算今年年初开始动笔,其中又因为毕业的相关事宜耽误了很长时间,想想真的是非常惭愧。从另一个方面也暴露出了自己在时间管理方面能力的不足。以后真的是得多注意这方面的东西。好了,我们还是进入正题吧。说实话 C语言是我最早接触的编程语言,大一大二写算法代码的时候都是用的 C 和 C++,当时觉得 C语言从某些方面来看非常鸡肋,比如说我们用标准 C语言 语法无法写出漂亮的图形化界面,只适用于做数据处理。后来当我真正对 C语言有了一个更加深入的了解了之后才发现以前的自己太年轻。想要写出图形界面我们随便使用一种图形化框架(MFC、QT 等)就可以达到目的。这些图形化框架是遵循标准 C/C++ 语法的,在这个基础上各种图形库框架提供了各种类库来供开发者使用,这些类库就包括了一些图形化控件(窗口、按钮、对话框等)。因此我们借助这些框架提供的各种类库组合起来就可以写出漂亮的界面。而当我们熟悉了这些框架的相关原理(当然这里面包括很多东西,比如窗口的声明周期、组件的绘制原理和时间、整个程序框声明周期、消息处理机制等)后。回过头来我们会发现这些框架是在 C/C++ 语法的基础上将操作系统提供的一些接口以某种思想(面向对象编程)封装了起来,让我们可以通过调用其封装的相关 API 来间接的调用操作系统的相关接口。其本质上还是需要遵循 C/C++ 语法规则(当然,能设计出一款图形库框架是非常了不起的)。因此本专栏的重点是放在 C/C++ 的语言特性和一些必要的底层原理上,不会从 0 开始介绍 C/C++ 的语法。同时,对于图形化相关的东西不会过多介绍。也算是对 C/C++ 做一个学习总结。作者水平有限,如果文章中有不正确之处还望多多指点,谢谢大家。

04
领券