当前位置: 首页 > news >正文

哪个网站可以预约做头发的横店建设网站

哪个网站可以预约做头发的,横店建设网站,怎样建立免费的个人网站,可牛在线制作图片背景 在Arm64多核处理器中, 各核间的关系可能不同. 比如1个16 core的cpu, 每4个core划分为1个cluster,共享L2 cache. 当我们需要从core 0将任务调度出来时,如果优先选择core 1~3, 那么性能明显时优于其他core的. 那么操作系统怎么知道core之间这样的拓扑信息呢? Arm提供了MPID… 背景 在Arm64多核处理器中, 各核间的关系可能不同. 比如1个16 core的cpu, 每4个core划分为1个cluster,共享L2 cache. 当我们需要从core 0将任务调度出来时,如果优先选择core 1~3, 那么性能明显时优于其他core的. 那么操作系统怎么知道core之间这样的拓扑信息呢? Arm提供了MPIDR_EL1 寄存器. 每个core都有一个该寄存器。 字段说明 a.该寄存器为只读寄存器 b.AFF3 AFF2 都为ClusterID从软件角度理解为不同CPU组的IDAFF1 为CPUID           AFF0 为多线程核的线程ID指的是是否支持超线程的id) MPIDR_EL1 U, bit [30] 0表示多核处理 1表示单核处理 MT, bit [24] 0表示没有使用单核超线程 1表示使用了单核超线程。 其他的affinity则表示了各核之间的亲和性。以一个8核2 cluster 非超线程cpu为例 core0的mpidr_el1的affinity为0000core1为0001,以次类推 core7则为0013。Arm规范要求了每个core的Aff3Aff2,Aff1,Aff0编码必须唯一。不支持超线程的cpu, Aff0表示核id 这样通过树形结构的编码OS可以从该寄存器中获取各core之间的关系。 Kernel应用 // kernel表示每个core的拓扑结构每个core对应一个该结构 struct cpu_topology {int thread_id;int core_id;int package_id;int llc_id;cpumask_t thread_sibling;cpumask_t core_sibling;cpumask_t llc_sibling; };void store_cpu_topology(unsigned int cpuid) {struct cpu_topology *cpuid_topo cpu_topology[cpuid];// 读取MPIDR_EL1u64 mpidr read_cpuid_mpidr();/* Create cpu topology mapping based on MPIDR. */// 判断芯片是否支持超线程if (mpidr MPIDR_MT_BITMASK) {/* Multiprocessor system : Multi-threads per core */// 在支持超线程的cpu Aff0表示一个core内的超线程idcpuid_topo-thread_id MPIDR_AFFINITY_LEVEL(mpidr, 0);cpuid_topo-core_id MPIDR_AFFINITY_LEVEL(mpidr, 1);// package_id即cluster idcpuid_topo-package_id MPIDR_AFFINITY_LEVEL(mpidr, 2) |MPIDR_AFFINITY_LEVEL(mpidr, 3) 8;} else {/* Multiprocessor system : Single-thread per core */cpuid_topo-thread_id -1;// 不支持超线程的cpu, Aff0表示核idcpuid_topo-core_id MPIDR_AFFINITY_LEVEL(mpidr, 0);cpuid_topo-package_id MPIDR_AFFINITY_LEVEL(mpidr, 1) |MPIDR_AFFINITY_LEVEL(mpidr, 2) 8 |MPIDR_AFFINITY_LEVEL(mpidr, 3) 16;}... ... } MPIDR_EL1在devicetree中的体现         配置DTS时需要设置MPIDR_EL1的值到CPU node中的reg property以ArmV8 64bit系统为例当#address-cell property为2时需要设置MPIDR_EL1[39:32]到reg[7:0]、MPIDR_EL1[23:0]到reg[23:0]; 当#address-cell property为1时需要设置MPIDR_EL1[23:0]到reg[23:0]reg的其他位设置位0。 Linux启动过程中MPIDR_EL1的相关逻辑         a.内核中定义了cpu的逻辑映射变量如下该变量保存MPIDR_EL1寄存器中亲和值。 /* * Logical CPU mapping. */         extern u64 __cpu_logical_map[NR_CPUS];         #define cpu_logical_map(cpu)    __cpu_logical_map[cpu]         b.cpu0boot cpu/primary cpu获取mpidr_el1亲和值的方式与其他cpusecondary cpu 获取方式有所不同。 void __init smp_setup_processor_id(void)       {                 /*启动该过程时只有boot cpu即cpu0在执行其他cpu还未启动                 通过read_cpuid_mpidr获取的MPIDR_EL1值即为当前执行的CPU0                 的亲和值*/                 u64 mpidr read_cpuid_mpidr() MPIDR_HWID_BITMASK;                   /*将获取到的cpu0的亲和值保存在cpu_logical_map(0)*/                 cpu_logical_map(0) mpidr;                   /*                  * clear __my_cpu_offset on boot CPU to avoid hang caused by                  * using percpu variable early, for example, lockdep will                  * access percpu variable inside lock_release                  */                 set_my_cpu_offset(0);                 pr_info(Booting Linux on physical CPU 0x%lx\n, (unsigned long)mpidr);         }
http://www.w-s-a.com/news/945292/

相关文章:

  • 网络网站销售设计主题和设计理念
  • 做网站一般用什么服务器承德专业做网站
  • 松北区建设局网站网站建设分为几种
  • 网站建设的合同 体会智联招聘网站建设情况
  • 记的网站域名wordpress地方信息主题
  • 淄博好的建网站公司网站建设 海口
  • 有人做网站花了10几万2017做啥网站能致富
  • 做网站有什么软件cod建站平台
  • 合肥学校网站建设怎么做免费的产品图片网站
  • 营养早餐网站的设计与制作建设通网站怎么查项目经理在建
  • 浑南区建设局网站永州网站建设公司推荐
  • 做外贸都得有网站吗绵阳网站建设制作
  • 功能性的网站建设北京餐饮品牌设计公司
  • php做网站优势视频直播软件
  • 怎么安装php网站哪个网站是专门为建设方服务的
  • 重慶网站开发sina app engine wordpress
  • wampserver网站开发步骤中冠工程管理咨询有限公司
  • 自己做网站商城需要营业执照吗老外做牛排的视频网站
  • 网站推广效果的评估指标主要包括公司广告推广
  • 昆明网站建设那家好哪个网站学做凉皮
  • hype做网站动效哪里有给网站做
  • 打扑克网站推广软件设计类专业哪个最好
  • 网站设计首页网站建设意向书
  • 做网站要学那些angularjs后台管理系统网站
  • 广州白云手机网站建设学做点心上哪个网站
  • 哈尔滨网站建设步骤百度青岛代理公司
  • 怎么利用代码做网站军队 网站备案
  • 百度手机版网址免费广州seo
  • 军博做网站公司wordpress评论插件
  • 如何申请一个网站 做视频网站报错解析