http://hi.baidu.com/nqkafzesyqgsuzr/item/6fdbbc04f37c88e4ff240dd7

【Swift:高级架构、流水线深度、内存延迟】

根据之前的发现,以及其它一些资料,Swift的高级架构应该是这个样子。虽然只是象征性的,不同单元的分布位置谁也不清楚,但总体应该差不了多少。 

对比Cortex-A9: 

Swift的前端从2宽度升级为3宽度,仍旧是个相对很小的乱序核心,但执行端口从3个增加到5个。注意专用的载入与存储单元,可能是浮点性能骤增的原因之一。
我们知道,高通Krait也是人家自己设计的CPU核心,但高通不肯公布任何具体资料。它也是类似的3宽度前端,但是7个执行单元只有4个端口,不过具体分布就不知道了。Intel Haswell发布前九个月就敢公开整数和浮点寄存器文件,高通的都出货半年了却连高级架构都不肯透露一点!

Cortex-A15的前端也是3宽度,号称拾取带宽比Cortex-A9翻番,还可以乱序执行更多类型的指令,并使用3个独立的发射池(issue pool)来满足8个独立的流水线,包括载入与存储、两个整数ALU、两个浮点/NEON、一个分支、一个乘除法。 
Swift比它肯定要差多了,更可能和Krait处在类似的水平上。 

流水线深度方面,Cortex-A8是13级,Cortex-A9精简为8级但频率基本不变(所以性能更突出),Cortex-A15则又加深到15级,高通Krait定制的是11级,顺便说Intel Atom拥有最深的16级。 
Swift是多少呢?Anand Shimpi又写了两种不同的代码路径,分别有简单可预测的分支和复杂难预测的分支,最后以主代码循环的时钟周期衡量延迟。 

无论简单还是复杂预测,Swift都和Cortex-A8差不多,但是要比Cortex-A9长很多,证明Swift的预测错误要比Cortex-A9多了大约50%,但是和Cortex-A8基本一致,复杂的稍多一点。据此猜测,Swift的流水线可能是12级的,跟高通Krait很接近。
但是尽管流水线深度加大了,苹果依然保住了IPC,从前边的Geekbench 2对比数据就可以看出来。应该是分支预测精度有了大幅度的改进,这也是加深流水线深度的时候芯片设计师必须注意的问题。苹果做得很好。 
最后是内存延迟。iPhone 5性能测试显示了CPU核心内存带宽的大幅提升,但既然外部位宽仍是64-bit,所有这些改变肯定来自内部的缓存和内存控制器。继续自己写代码测试。 

无论何种尺寸,Swift的延迟都是最低的,只不过4-16KB左右的时候差距不大。超过32KB(一级数据缓存容量)之后,Swift的优势就凸显出来了(Cortex-A8有256KB二级缓存所以有延迟增加很快)。这与其它iOS内存测试表现相符合。 
低得多的内存延迟再配合专用的载入与存储端口,iPhone 5的内存性能相比iPhone 4S可以提升2.5-3.2倍。

Swift:高级架构、流水线深度、内存延迟 转载相关推荐

  1. numa节点_NUMA架构下的内存访问延迟区别!

    现在的服务器物理机CPU一般都是多个CPU,核数也是十几甚至几十核.内存几十GB甚至是上百G,也是由许多条组成的.那么我这里思考一下,这么多的CPU和内存它们之间是怎么互相连接的?同一个CPU核访问不 ...

  2. 【深度学习】老师木讲架构:深度学习平台技术演进

    新智元推荐   来源:OneFlow [新智元导读]近日,袁进辉(老师木)代表OneFlow团队在全球互联网架构大会上海站做了<深度学习平台技术演进>的报告.报告包括深度学习的计算力问题. ...

  3. C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2021架构师篇完整版)

    C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2021架构师篇完整版) 前言: 小编之前有跟大家分享过一篇架构师体系知识点总结的文章,今天在原来的基础上有所改变更新(2021版). ...

  4. C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2022架构师篇完整版)

    C/C++ Linux后台服务器开发高级架构师学习知识点路线总结(2021架构师篇完整版) 前言: 小编之前有跟大家分享过一篇架构师体系知识点总结的文章,今天在原来的基础上有所改变更新(2021版). ...

  5. C/C++ Linux 后台服务器开发高级架构师学习知识路(架构师篇)

    @[前言: 小编从事c方面10多年的工作经验.今天跟大家分享一下我总结出来的一系列 C/C Linux后台服务器开发的学习路线.从Linux开发工程师-Linux后台开发工程师-Linux高级互联网架 ...

  6. 阿里P8高级架构师:面试没你想象中的难,拿Offer也可以很轻松

    阿里P8高级架构师:面试没你想象中的难,拿Offer也可以很轻松 一.概述 面试,难还是不难?取决于面试者的底蕴(技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想 ...

  7. 程序员职业发展路径图:从菜鸟工程师到高级架构师

    http://www.sohu.com/a/249729952_355140 踽踽独行上下求索总是痛苦,如果有良师益友陪伴点拨必能事半功倍.从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚 ...

  8. 实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 109 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCogn

    实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 标签: 109 编辑 删除 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 ...

  9. Pentium M处理器架构/微架构/流水线(1) - 流水线概述

    Intel® Pentium® M Processor 与Intel NetBurst微架构类似,Intel Pentium M处理器微架构 的流水线也包括3个主要部分: 有序发射前端 乱序超标量执行 ...

最新文章

  1. 中文分词算法python代码_python实现中文分词FMM算法实例
  2. linux kernel中的module_init/initcall代码导读
  3. Pandas入门2(DataFunctions+Maps+groupby+sort_values)
  4. Android导航栏ActionBar的具体分析
  5. java防止浏览器直接打开下载的文件
  6. Understanding The Linux Virtual Memory Manager
  7. 基于51单片机的步进电机驱动程序
  8. 9 Creating a Chain of Effects
  9. 指数解读:恒生指数(Hang Seng Indexes)
  10. 离散数学-各种关联词的符号化
  11. php-fpm彻底解决502(php-fpm多开、nginx限制并发、定时重启)解决网站卡顿的终极奥义
  12. 把Word或Excel表格插入CAD中直接编辑的方法
  13. 【数据降维】数据降维方法分类
  14. 一个有启发意义的故事
  15. 【渝粤教育】国家开放大学2018年春季 0049-22T法律文书 参考试题
  16. RAID中条带的概念
  17. R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
  18. Pyspark 读 DataFrame 的使用与基本操作
  19. 用while实现一个简单的猜数字小游戏
  20. 一个低边 MOS 管驱动电路的分析

热门文章

  1. 分布式数据库——分片透明、复制透明、位置透明、逻辑透明
  2. php update when,iphone will restart when update什么意思
  3. 树莓派3B+实现TM1637驱动数码管
  4. SharpDevelop浅析_1_AddInTree
  5. 尚硅谷面试第二季(周阳主讲)
  6. 计算机网络发展及相关概念
  7. springcloud-微服务
  8. 高一计算机课的总结,高中《信息技术》期末教学总结范文
  9. Hive_处理NULL的几个函数 NVL, COALESCE, NULLIF
  10. 小文聊天机器人(jquery.chatbot.js)使用指南