简单介绍一下 Exynos 4 Quad 四核处理器

虽然从去年9月我们就知道了会有四核处理器,但一直到前三星才总算是正式发布了四核产品——三星叫它Exynos 4 Quad,实际上就是我们知道的Exynos 4412。Galaxy S III会用这颗处理器,MX 32/64GB版本也会用,但是很多人肯定会有这样的疑问,那就是四核到底有用吗?双核都已经这么热了,四核岂不是要熔化,电池一天得充8次吗?现在有了 官方的资料,总算可以比较详细的了解4412的参数了。

Cortex A9时代三星一共发布了两代产品,第一代是Galaxy S II和MX采用的Exynos 4210,第二代有两款,一款是双核的Exynos 4212,一款是四核的Exynos 4412。第一代产品采用的是45nm工艺制造,由于三星的45nm工艺在业内是比较落后的,虽然通过种种手段将Exynos 4210的频率提升到了1.4GHz,但这么做的代价也是非常明显的——功耗激增(这点在MX上我们也看到了)。总体而言,Exynos 4212和4412在架构上和Exynos 4210并没有区别,大体上的硬件配置也是一样的,最大的区别就在于Exynos 4212/4412采用了三星最新的32nm HKMG工艺。

那么这个工艺到底有多少效果?三星放出了一段视频,其中给出了精确的功耗对比。
 

左边是GPU的功耗对比,右边是CPU的功耗对比。图中4210和4212的GPU都运行在266MHz的频率下,而CPU则是4210运行在 1.2GHz,4212运行在1.5GHz。结果很明显,不论是CPU还是GPU,32nm HKMG的功耗都比45nm低40%,CPU甚至是在频率高了25%的情况下。1.2GHz的Exynos 4210,CPU满载的平均功耗达到了1.6W,而4212则不到1W,而MX采用的CPU频率高达1.4GHz,因此可想而知,满载功很可能接近2W大 关,足足是4212的两倍。

这样的差距在实际上会进一步得到放大。我们知道,四核的Exynos 4412并不会跑在1.5GHz,而是1.4GHz,因此四核处理器在达到双核两倍性能的同时,功耗却只有双核的八成。换句话说,四核处理器在实现双核同 样性能的时候,大约只需要区区40%的电力,这意味着续航和发热都可能会大大改善。虽然四核的绝对性能对我们而言实际上没有什么太大的意义,但是32nm HKMG带来的功耗降低是非常显著的,即便不为了性能,也有足够的理由去选择。

32nm工艺带来的低功耗,同样也转化到了GPU上,我们知道MX的GPU运行频率大约是233MHz,因此在Exynos 4412上,如果保持同样的GPU功耗,频率可以设定到大约400MHz,从而实现170%的性能。我们也看到了Exynos 4412的一些跑分成绩,的确和Exynos 4210相比有着几乎两倍的表现,而这就是源于GPU频率设置到超过400MHz。

一句话总结一下,四核的Exynos 4412处理器和现在的双核Exynos 4210相比,可以做到同样CPU性能下功耗降低60%,同样功耗的情况下GPU性能提升80%。

当然,硬件上的区别还是有的。三星在Exynos 4×12中引入了一个专用图像处理器,可以用来增强手机的拍照画质。当然,这枚ISP的性能和功能是不足以和MX配置的富士通ISP相提并论的,但有总比 没有好。此外,Exynos 4×12的HDMI接口从1.3升级到了1.4,从而支持3D视频输出,而解码器也针对这个进行了强化,支持3D视频解码。

总体而言,四核版的Exynos 4412可以看作是双核版Exynos 4210的工艺进化版,或者可以看作是完美形态的Cortex A9处理器。可以预计的是,配备Exynos 4412的手机,很可能功耗反而比Exynos 4210低,续航也更长,发热也更小——因此还是那句话,即便你不需要四核的性能,也应该选择它,因为Exynos 4412不仅仅只有性能。

————————————

补充:很多人认为四核手机应该标配2GB内存,但实际上一个CPU可以支持的内存大小是有限制的。在Exynos 4210的技术手册里明确提到了,如果要配备LPDDR2内存,那么Exynos 4210处理器最大只能支持1GB的容量。由于Exynos 4×12和Exynos 4210基本上没有架构上的区别,因此这样的限制很可能并没有改变,因此不论是Galaxy S III还是MX 32/64GB,都只能配备1GB的内存,并不是厂商不愿意或者小气所致。

————————————

再补充一下,在三星的视频里,GPU的功耗有些低的不可思议,对比一下高通Snapdragon S4 “Krait”处理器的GPU功耗,可以看到后者的功耗高达1W(1000mW),达到了Exynos 4210的5倍之多,而性能反而稍稍比Exynos 4210差一点。如果这个数据是可比的,那么Mali400MP4的功耗性能比真的非常惊人。
 

————————————

再补充一下,我们知道Tegra3也是一个四核处理器,那么Exynos 4412和Tegra3到底有什么区别,这里也来简单对比一下。

首先,Tegra3采用的是40nm Fast G工艺制造,功耗相对较大,虽然有伴核,但是那个只能在待机时使用,对于日常使用而言帮助不大。其次,Tegra3的内存仅为单通道LPDDR2 1066,而Exynos 4412则支持双通道LPDDR2 1066,是Tegra3的两倍。最后,Tegra3为了支持伴核,二级缓存的速度只有正常的一半,这也会影响性能。

总体而言,Exynos 4412对于Tegra3的优势是全面且明显的,甚至连频率都略胜一筹(100MHz),因此在现阶段可查的产品中,毫无疑问是最强四核。虽然华为号称海思K3V2处理器是全球最快,但是华为并没有公布可以参考的数据,因此暂时不做对比。

提一个小插曲,前几天高通在北京发布Snapdragon S4平台的时候曾经提到一个很有趣的小故事,那就是Tegra3只要四个核心满载十多秒,核心温度就会突破90度大关,从而引发自动降频,因此可以说如果 没有主动散热措施,Tegra3永远都不可能跑到标称的性能,这就是40nm工艺带来的恶果。

Slackware 还活着 但服务器死了

前几天,Slackware网站下线(已恢复上线)。一时流言纷飞,引发了社区对这家历史最悠久的Linux发行版命运的担忧。但Slackware并没有死亡,只不过服务器挂了

Slackware创始人Patrick Volkerding说,运行网站的服务器硬件已有十多年历史,VIA主板,赛扬处理器,512MB内存,迈拓硬盘,LILO从3.5英寸软盘驱动启动, 即使购买当年它的硬件规格也算不上顶尖,但它运行网站和邮件列表已超过十年。Volkerding表示他们正在寻找新的网站托管服务器。

 

新闻来源:solidot

电力能源研究科学院发布开源程式码分析地磁感应电流

北 美電力可靠性公司(NERC)、能源部(DOE)、電力能源研究科學院(EPRI)聯合爲電力產業開發了一個模擬工具以分析地磁感應電流對他們系統的影響。

北美電力可靠性公司致力於保證北美地區的大容積電力(Bulk Power)供應,識別影響巨大但概率較小的風險,比如地磁干擾對大容積電力的影響。

他們發現許多電力系統操作員或者管理者需要更多工具來模擬地磁感應電流對電網的影響,這個工具的發佈就是保證電網的持續性及可靠性的一個開端。

該軟件可以進行 N-相建模,這意味着分析不僅僅可以針對三相系統。界面可以自定義電路模型,執行程序功能及利用模擬器交互算法。用戶可以動態改變電路參數及修改輸入,實現對地磁干擾的長期分析(數小時或數天)。

「產業需要知道大容積電力系統及裝置是否以及何時會對地磁干擾敏感,」電力能源研究科學院高級技術執行官 Richard Lordan 說,「這個工具可以計算用於分析系統及設備的地磁感應電流。」

地磁感應電流模擬部分加入進了電力能源研究科學院的原有的 OpenDSS 軟件。後者可以在 SourceForge 上獲取。

via renewgridmag

ASP.NET MVC 现已开始接受社区贡献

作者 Jonathan Allen 译者 侯伯薇

从技术上讲,ASP.NET MVC 一直是开源的。但是和大多数微软的项目一样,它并不是“开放开发”的,所有工作都在内部进行,偶尔会做发布。但现在一切都改变了。据 Scott Guthrie 所说:“社区中的所有人都能够参与进来,对签入的代码、缺陷修正、新特性开发提供反馈,并且可以使用每日构建的最新版本源代码和测试来构建和测试这个产 品。”

第一个被 ASP.NET MVC 所接受的推入请求来自于 Xamarin 的 Miguel de Icaza。Miguel 因为他是 Mono 项目的创始人而为人所熟知。ASP.NET 并不是第一个转移到开放开发模型的微软项目,第一个应该是 Azure SDKs on GitHub

重要的是要注意到,微软并没有把 ASP.NET MVC 的控制权交给社区。IronRuby 以及 IronPython 现在是由 Miguel de Icaza 和 Jimmy Schementi 管理的,和它们不一样,微软还会指定 ASP.NET MVC、ASP.NET Web API 以及 Razor 项目的技术栈支持以及雇员。

开源的 ASP.NET 类库放在 CodePlex 上,现在需要 Git 绑定就可以获取。尽管在需要中心化管理的时候,TFS 会很有效,但人们广泛认为,对于开源项目来说,Git 的去中心化特性会是更好的选择。眼下,对于 ASP.NET MVC 以及相关项目已经有 20 个分支

ASP.NET 的某些部分,尤其是 Web 表单,此次并不会开源。Scott Hanselman 解释说

此次开源的组件都是在核心 .NET 框架之外独立发布的,这意味着任何 OS 组件都不会依赖于它们。Web 表单是 System.Web.dll 的组成部分,而 Windows Server 平台的一部分会依赖于它。因为这种依赖关系,当更新 .NET 框架或者 OS 发布的时候,这些代码不容易被新版本所替换。

ASP.NET MVC 4、ASP.NET Web API、ASP.NET Web Pages v2(Razor)现在已经基于 Apache 2.0 许可提供。

做个环保主义的程序员

十多年前刚走入社会工作的时候,那时的中国软件开发根本没有什么版本管理,也没有什么编程规范,软件开发相比起今天来说非常地混乱,那时仅凭自己的一些学习总结了一些C语言编程中的好的小笔记,后来,这些笔记写成了一篇叫《编程修养》的文章。今天,又有些感触,想把这个话题扩大一下,从“个人修养”扩大到“环境保护”,所谓,穷则独善其身,富则达济天下,今天的技术人员比十多年前在技术和环境上都富有了许多,所以,也应该或多或少地担负起“达济天下”的责任了。

环境保护说白了就是保护一个良好的环境,为好的环境添砖加瓦,与破坏环境的人和事做斗争。其实,从技术人员来说,我们可以做一些力所能及的事。因为我们身边的技术环境还有很大的改善的空间,而一些来之不易的东西还需要我们去小心维护。

环保主义软件开发

先说说软件开发中的环保。比如:

  • 环保需求。当我们分析需求的时候,如果我们能做到不要像“这是到底是谁的错” 一文中那样的来者不拒,如果我们在面对需求能多问这样几个问题:为什么 要有这样的需求?这个功能主要能解决什么 样的问题?为什么不是另外那一种?可不可以简化一下?其实,我们并不需要创新,只需要真正地问好这几个问题,我们就可以少看着一些弯路,少一些苦逼的加 班,少一些内耗,少一些埋怨,也就可以为这个社会节省下一些资源,从而环保。
  • 环保开发。当我们做设计写代码的时候,如果我们多花一些时间去思考一下,我们就可以少一些代码(参看“多一些时间少一些代码”)。 如果我们在一开始多思考一下,不要急着马上去用迭代的方式认识世界,多思考一下怎么把复杂的东西解藕,把复杂的东西简化,怎么做出一个优雅的设计,怎么让 我们的程序少一些tricky的东西,怎么让我们的程序变得更简洁,更清楚,更直,在一开始思考一下未来需求可能的变化,未来软件需要怎么测试,未来的系 统需要怎么的运维,那么,我们可以少一些返工,少一些重构,少欠一些债,少一些低级错误,少承担一些系统上线后的压力,那么,我们同样可以为这个社会节约 一些资源。说得再直白一点,你用更少的代码产生出更高的效益,少耗一些CPU,就能省一些电,间接地保护了环境。(参看 Why C++?

 

  • 环保文化。当我们在做软件开发的时候,如果你能影响并帮助你身边的同事,让他们写出更有修养更有效率质量更高的代码来,并发动团队树立工程师的文化,用团队去影响你的老板,你的公司,让他们能再多一点地重视技术,重视技术人员,那么你必然也会成为一个受益者。
  • 环保管理。当你做为一个管理者,做为一个方法推动者,如果你能更多地注重软件开发中真正创造生产力的程序员, 为他们分忧,为他们铺路,为他们创造条件,那么,他们就会更多的回馈于你,就会少了一些不信任,就会少了一些被动,就会多一些主动,就会多一分责任,不但 可以激发团队热情,同时可以有更大的生产力。同样是一种环保。

当然,这样的东西还有很多,你也可能会觉得太过理想主义了,我们不可能马上改变之,但是我们可以试一试。

技术环保主义

其实,我们身边有很多可以做的技术环保工作。比如说,在Linux下少用root用户,SQL的时候,delete前先select,这样,你就不会做出一些让你后悔的事(参看程序员那些悲催的事), 不会让你重头来过,从而至少不会浪费电能。写代码的时候要很小心管理好内存,以及各种资源,和线程并发,组织好的你的代码中的业务逻辑,做好单元测试,自 动化回归测试,等,这样你就可以少一点遇到BUG,在最到BUG时少一些时间去做调查。操作电脑的时候少下一些破解软件,少访问一些奇怪的网站,这样,你 就会少中一些病毒,少一些损失,少一些重做系统,一样可以节省电能。

当然,除此之外,我们更应该做为一个大气的,高瞻的环保主义者,比如下面的事情:

  • 拒绝IE6。如果你坚决不用IE6,并影响你身边的人,让他们升级IE6,尝试Chrome 或 Firefox,多告诉一下自己身边的朋友,怎么设计口令,怎么在互联网上保护自己的隐私和安全,怎么防木马,这样就能少一些问题,少装两次系统,就能省 一些电,也就能多一些时间去做一些更有意义的事。也是在为整个世界整个人类做贡献。(看看某些软件产商,占据着用户桌面的江山,还整天弹窗弹窗的,说这不安全,那不安全的。你还是做安全的,你居然能容忍IE6装在用户的机器上,你还做个屁的安全!
  • 拒绝抄袭和山寨。如果你鄙视那些赤祼祼地抄袭者,不使用他们的产品,有的人会说你就是想标榜自己的高 尚,ZB,假高尚,大家会说你没有必要。其实并不是,你这样做,其实是为了“环保”,为了“保护一个健康的IT环境”,虽然你没有创新,但是你的行为却是 在鼓励创新的环境,这样,如果当整个大环境都是在创新文化影响之下,才会更健康,技术人员也才会被尊重,而我们自己最终会受益。虽然只是抑制抄袭和山寨, 但是我们间接地为社会做了贡献。(看看那N多的抄袭团队,加入他们实在是耗费这个社会的资源) (那个整天复制这个复制这个复制那个的公司,看看你自己做的那些产品线?乱糟糟的。你看看,你有个人空间,还有群空间,还有校友录,然后你还要做个facebook式的“朋友”,还要搞个微博,然后还要搞个微信,大哥啊,你把这些相似度很大的东西放在了N多的服务器上,你不觉得浪费吗?你真是山寨之王啊,自己都一直在复制自己的产品。还有人说你们的产品经理一流,真是脑残啊。对此,我只能拜了!)
  • 拒绝百度搜索。如果你学得百度还是可以的话,你不妨看看我的微博(这个这个抓图),还有这个), 你会发现百度不单单是广告的问题,很多东西根本搜不出来,包括他自己的内容。用百度就是浪费时间,浪费计算资源。如果你告诉你身边的朋友不要用百度搜索, 而是用Google,并能耐心地教会他们翻墙,这样,我们就可以让那些“穷则穷凶极恶,富则为富不仁”的企业少一些自以为是,最重要的是可以让他们少制造 一些垃圾信息和垃圾产品,世界少一些垃圾,自然也就环保了。
  • 拒绝过重的商业氛围。很多社区的商业氛围实在是太浓了,全都是广告。整个社区根本都不是为技术人员来做的,而 为了那些软件产商,为了那些公司。他们只知道为那些大公司写软文,做广告,开大会。他们只想着挣钱。网页上全是花花绿绿的广告,打开他们的网页,就会多耗 许多电,浏览他们网站上的文章,到他们的大会上听他们的软件广告分享,就会让自己的生命和时间浪费,自己消耗了体力不说,却还没得到什么营养,相当的不环 保。
  • 拒绝浮燥。比如:浮燥地创业者们,被风投们一轮一轮地压榨。为了让风投满意,牺牲自己的初衷,去找水军刷排 名,去发垃圾邮件,去烧钱买吆喝,制造虚假的繁荣,等等。另外,少去追那些新的技术,少一些浮夸,不要开口闭口的就是海量数据,高性能,要当个架构师,经 理,要拿多少多少的工资,与其这样,还不如多静下心来研究一下那些十来年的技术,思考一下自己身边的问题,一步一步走踏实,少摔几个跟头,这样,你也就能 多一些能力,多一些自信,也就能多做一些事,多解决一些问题,你的职业生源走好了,也就很环保了。

还有很多,我相信大家明白我想说什么。其实,我想说的是,这不单单是一种“个人修养”,这也是一种对社会贡献的方式,更是一种“低碳环保”的生活方式

让我们一起来做有修养的环保主义的程序员吧!

(全文完)