DCache

linux下如何查看服务器的硬件配置信息

送分小仙女□ 提交于 2021-02-06 07:58:32
性能测试时一定要确定测试环境和的硬件配置、软件版本配置,保证和线上一致,才更接近真实环境。 那么linux下如何查看服务器的硬件配置信息?? 一、查看cpu信息 1、所有信息 lscpu [root@redis02 ~ ]# lscpu Architecture: x86_64 ##cpu架构 CPU op -mode(s): 32 -bit, 64 - bit Byte Order: Little Endian CPU(s): 8 ##总共有8核 On -line CPU(s) list: 0 - 7 Thread(s) per core: 1 ##每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket: 8 ##每个cpu,有8个核 Socket(s): 1 ##总共有1一个cpu NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 79 Model name: Intel(R) Xeon(R) CPU E5 - 2620 v4 @ 2 .10GHz Stepping: 1 CPU MHz: 2095.139 BogoMIPS: 4190.27 Hypervisor vendor: Microsoft Virtualization type: full L1d cache:

【STM32H7教程】第34章 STM32H7的定时器应用之TIM1-TIM17的PWM实现

谁说我不能喝 提交于 2020-12-19 03:13:59
完整教程下载地址: http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第34章 STM32H7的定时器应用之TIM1-TIM17的PWM实现 本章教程为大家讲解定时器应用之TIM1 – TIM17所有定时器的PWM实现。实际项目中用到的地方较多,如电机控制、无源蜂鸣器、显示屏背光等场合。 34.1 初学者重要提示 34.2 定时器PWM驱动设计 34.3 定时器板级支持包(bsp_tim_pwm.c) 34.4 定时器驱动移植和使用 34.5 实验例程设计框架 34.6 实验例程说明(MDK) 34.7 实验例程说明(IAR) 34.8 总结 34.1 初学者重要提示 学习本章节前,务必优先学习第32章,HAL库的几个常用API均作了讲解和举例。 如果配置的GPIO引脚无法正确输出,注意本章2.1小节,保证是定时器复用支持的引脚。 STM32H7支持TIM1-TIM8,TIM12-TIM17共14个定时器,而中间的TIM9,TIM10,TIM11是不存在的,这点要注意。 STM32H7的PWM输出100MHz也是没问题的。输出效果见本章2.3小节。 34.2 定时器PWM的驱动设计 针对STM32H7的定时器PWM功能,专门设置了一个超级函数,用户可以方便的配置TIM1-TIM17所有定时器的PWM输出。 34.2.1

TI6678 MSMC关闭Cache方法总结

独自空忆成欢 提交于 2020-10-25 00:52:47
背景 TI6678的MSMC在默认条件下是开启对L1d的缓存的,但是却没有硬件机制维护MSMC的Cache一致性,在这种情况下如果将多核共享变量存放在MSMC中,将会出现多核访问共享变量不一致的问题。在某个项目进行过程中需要使用MSMC存放核间信号量等共享数据供八核使用,经过查阅资料与实验实现了这一功能,故总结如下,仅供参考。 (推荐使用方法二) 简单举例 假设共享变量Flag存放于0x0c000000处,核0负责对Flag进行写,核1负责对Flag进行读。 核0操作如下: while(1) { *(unsigned int*)(0x0c000000)=0x1; //将Flag设置为0x1; *(unsigned int*)(0x0c000000)=0x2; //将Flag设置为0x2; } 核1操作如下: unsigned int flag=0; unsigned int *val=(unsigned int*)(0x0c000000); while(1) { flag= *val; //读取Flag值 } 运行的具体过程为:核0先将FLag写为0x1,然后等待在写0x2的语句处,此时核1读取一次Flag。接着核0将Flag写为0x2,然后等待在写0x1的语句处,此时核1再次读取FLag,以此循环读写。 **在MSMC默认开启Cache的条件下

总结:一些关于 CPU 的基本知识

久未见 提交于 2020-07-29 06:32:37
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! CPU是计算机的大脑。 1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。 当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解码、执行,以此类推直到程序退出。 2、这个取指、解码、执行三个过程构成一个CPU的基本周期。 3、每个CPU都有一套自己可以执行的专门的指令集(注意,这部分指令是CPU提供的,CPU-Z软件可查看)。 正是因为不同CPU架构的指令集不同,使得x86处理器不能执行ARM程序,ARM程序也不能执行x86程序。(Intel和AMD都使用x86指令集,手机绝大多数使用ARM指令集)。 注:指令集的软硬件层次之分:硬件指令集是硬件层次上由CPU自身提供的可执行的指令集合。软件指令集是指语言程序库所提供的指令,只要安装了该语言的程序库,指令就可以执行。 4、由于CPU访问内存以得到指令或数据的时间要比执行指令花费的时间长很多,因此在CPU内部提供了一些用来保存关键变量、临时数据等信息的通用寄存器。 所以,CPU需要提供 一些特定的指令,使得可以从内存中读取数据存入寄存器以及可以将寄存器数据存入内存。 此外还需要提供加法

TMS320C6678开发例程使用手册(5)

生来就可爱ヽ(ⅴ<●) 提交于 2020-07-27 22:11:33
2.2 SYS/BIOS工程新建 SYS/BIOS是一个实时操作系统内核,本平台提供的SYS/BIOS例程均基于6.37.03.35版本,XDCTools使用3.25.06.96版本。 2.2.1新建 SYS/BIOS 平台 点击"File->New->Project",在弹出的对话框中选择"RTSC->New RTSC Platform",如下图所示: 2.点击Next,在弹出的对话框中设置平台包名字、路径,如下图所示: 备注:平台包文件存放路径"Platform Package Repository"不能含有非ASCII字符,请记住此路径,在下面SYS/BIOS工程新建步骤将用到。 3.点击Next,弹出如下界面: 在"Clock Speed(MHz)"处填写CPU的主频,根据具体情况或需要配置即可,这里以1000.0MHz为例。选上"Customize Memory",增加内存段L2SRAM_IBL,MSMCSRAM、L2SRAM保留,右键点击内存段,点击"Insert Row"。 一般情况下,L1都作为缓存使用,所以这里删除L1DSRAM、L1PSRAM,右键内存段,点击"Delete Row"。 L2内存段参数设置如下,此处: Name Base Length Space Access MSMCSRAM 0x0c000000 0x00100000 code/data

【STM32H7教程】第18章 STM32H7的GPIO应用之跑马灯

江枫思渺然 提交于 2020-05-05 18:07:09
完整教程下载地址: http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第18章 STM32H7的GPIO应用之跑马灯 本章教程为大家介绍STM32H7的GPIO应用之跑马灯,跑马灯作为经典的测试例程,可以让大家对STM32H7应用有个简单的整体认识。 18.1 初学者重要提示 18.2 跑马灯硬件设计 18.3 跑马灯软件驱动设计 18.4 跑马灯板级支持包(bsp_led.c) 18.5 实验例程设计框架 18.6 跑马灯驱动移植和使用 18.7 实验例程说明(MDK) 18.8 实验例程说明(IAR) 18.9 总结 18.1 初学者重要提示 学习本章节前,务必保证已经学习了第15,16和17章。 虽然是跑马灯的初级例程,但有必要掌握程序的基本设计框架,后面的例子都是建立在这个框架的基础上。 LED不是用CPU的IO直接驱动,而是由74HC574驱动的,74HC574是一个8路并口缓冲器,挂在FMC总线上,实现IO扩展。也许初学者会问为什么要做IO扩展,不是已经用了240脚的STM32H743XIH6吗?因为开发板使用了32位SDRAM和RGB888硬件接口,消耗IO巨大,所以必须得扩展了。 对于初学者来说,仅需掌握LED驱动的实现方法和对应的API调用即可,需要深入的理解IO扩展部分

Linux内核快速处理路径尽量多用slab而慎用kmalloc

半世苍凉 提交于 2020-04-16 08:13:20
【推荐阅读】微服务还能火多久?>>> 题目是一个典型 《Effective C++》 的风格。 事情是这样的,我大致说一下。 我在开发一个Netfilter模块,在PREROUTING匹配一些数据包,显而易见,都能想到使用哈希表hlist作为数据结构的容器,其中装有下面的结构体: struct item { struct hlist_node hnode ; char padding [ 16 ] ; } ; 生成item的时候,我先用 kmalloc 接口分配内存: item_nd = ( struct item * ) kmalloc ( sizeof ( struct item ) , GFP_KERNEL ) ; 然后我用hlist_add/del接口将分配好的结构体插入到hlist中。 仅仅为了测试是否会宕机,所以我的所有的数据结构的hash值均是一样的,这样插入200个项的话,它们会hash冲突,从而仅仅添加到同一个hlist链表中,这样整个匹配过程就退化成了遍历200个项的链表。 虽然是万恶的遍历操作,但200个项一切还OK,性能几乎是无损的,无论是吞吐,还是pps。 这个时候,我想扩充一些功能,于是乎为item结构体增加了一个字段: struct item { struct hlist_node hnode ; char padding [ 16 ] ; void

关于CPU的一些基本知识总结

非 Y 不嫁゛ 提交于 2020-04-13 16:27:54
【今日推荐】:为什么一到面试就懵逼!>>> 关于CPU和程序的执行 CPU是计算机的大脑。 程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程 。 当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解码、执行,以此类推直到程序退出。 这个 取指、解码、执行 三个过程构成一个CPU的基本周期。 每个CPU都有一套自己可以执行的专门的 指令集 (注意,这部分指令是CPU提供的,CPU-Z软件可查看),指令集包含两类指令:机器指令和汇编指令。 正是因为不同CPU架构的指令集不同,使得x86处理器不能执行ARM程序,ARM程序也不能执行x86程序。(Intel和AMD都使用x86指令集,手机绝大多数使用ARM指令集)。 注:指令集的软硬件层次之分 :硬件指令集是硬件层次上由CPU自身提供的可执行的指令集合。软件指令集是指语言程序库所提供的指令,只要安装了该语言的程序库,指令就可以执行。 由于CPU访问内存以得到指令或数据的时间要比执行指令花费的时间长很多,因此在CPU内部提供了一些 用来保存关键变量、临时数据等信息的通用寄存器 。 所以,CPU需要提供 一些特定的指令,使得可以从内存中读取数据存入寄存器以及可以将寄存器数据存入内存。

腾讯开源再获OSCAR 5项大奖,全国首家可信开源治理认证自发开源企业

a 夏天 提交于 2019-11-30 19:45:05
7月3日,由中国信息通信研究院主办的2019云计算开源产业大会在北京举办。腾讯开源独揽尖峰开源企业奖、尖峰开源技术创新奖(自主研发项目)、尖峰开源技术创新奖(基于社区版本二次开发项目)、行业开源技术领航奖和尖峰开源人物等5项大奖,并成为首个通过可信开源治理能力评估认证的自发开源企业。 就在7月2日,腾讯在GitHub上的Star数累计达到23万,在全球企业开源Star数排名中跃居前十。 腾讯开源管理办公室执行总监许勇表示,“我们最近刚发布了腾讯开源路线图,通过‘三步走’的开源计划,不断深化腾讯已有的技术能力。在内部,我们也在大力推进开源协同,可以预见,未来会有越来越多的优质开源项目涌现。在开源的道路上,腾讯致力于贡献企业的科技力量,助力开源行业规范化,推动开源和开放进一步升级。 唯一尖峰开源企业奖获奖单位,全国首家通过自发开源类可信开源企业认证 自2010年以来,腾讯开始试水开源,为适应开源业务日益蓬勃的发展情况,腾讯积极探索有自己特色的开源治理方法,特别成立了腾讯开源管理办公室,并下设项目管理委员会、腾讯开源联盟和开源合规组三大组织,自上而下地传递腾讯开源策略,自下而上地落地开源技术生态。同时,通过开放的开源评审平台,孵化和培育优秀的自主开源项目。此次会上,腾讯不仅是唯一的OSCAR尖峰开源企业奖获奖单位,腾讯开源联盟主席堵俊平也荣获开源尖峰人物奖。

腾讯再开源三项技术,提升企业开发及运营效率

不羁的心 提交于 2019-11-29 16:01:47
(2019年4月11日,深圳)在腾讯内部,工程师文化依然是主流,鼓励用代码、用技术说话——“talk is cheap, show me the code。”而其中优质的技术,也正在越来越多地开源给外部开发者,推进国内开源社区的蓬勃发展的同时,腾讯也从开放、互助、创新的开源生态中获取养分,以更低的成本提升重点战略技术。 4月11日,腾讯在OSCAR开源先锋日上宣布开源三大开发工具:腾讯蓝鲸智云社区版“PaaS平台”及其调度编排SaaS“标准运维”、基于TARS框架开发的分布式NoSQL存储系统DCache。 腾讯已逐步从开源新兵转变成为一员开源大将。据腾讯开源运营负责人王春雨介绍,2019年1月24日,腾讯在GitHub累计获得Star数突破20万颗,标志着腾讯开源的工作在国际社区获得广泛关注及认可。 这也是腾讯向产业互联网转型做出的又一努力。作为产业互联网的核心之一,技术是公司业务发展和产品创新的动力与支撑。 腾讯蓝鲸产品中心总监、T4工程师党受辉在会上介绍到,腾讯蓝鲸智云(简称:蓝鲸),是腾讯自研自用的一套用于构建企业研发运营一体化体系的PaaS开发框架,提供了aPaaS(DevOps流水线、运行环境托管、前后台框架)和iPaaS(持续集成、CMDB、作业平台、容器管理、数据平台、AI等原子平台)等模块,帮助企业技术人员快速构建基础运营PaaS,提升企业研发运营效率