计算机系统漫游:贯穿计算机系统所有方面的重要概念.docxVIP

计算机系统漫游:贯穿计算机系统所有方面的重要概念.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系统漫游:贯穿计算机系统全部方面的重要概念 Randal E.Bryant Python爬虫与数据挖掘 1970-01-01 点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 十年生死两茫茫,不思考,自难忘。 作者:Randal E. Bryant,David R. OHallaron 来源:华章计算机(hzbook_jsj) ? 计算机系统是由硬件和系统软件组成的,它们共同协作以运转应用程序。计算机内部的信息被表示为一组组的位,它们依据上下文有不同的解释方式。程序被其他程序翻译成不同的方式,开头时是ASCII文本,然后被编译器和链接器翻译成二进制可执行文件。 处理器读取并解释存放在主存里的二进制指令。由于计算机花费了大量的时间在内存、I/O设备和CPU寄存器之间复制数据,所以将系统中的存储设备划分成层次结构——CPU寄存器在顶部,接着是多层的硬件高速缓存存储器、DRAM主存和磁盘存储器。在层次模型中,位于更高层的存储设备比低层的存储设备要更快,单位比特造价也更高。层次结构中较高层次的存储设备可以作为较低层次设备的高速缓存。通过理解和运用这种存储层次结构的学问,程序员可以优化C程序的功能。 操作系统内核是应用程序和硬件之间的媒介。它供应三个基本的笼统:1)文件是对I/O设备的笼统;2)虚拟内存是对主存和磁盘的笼统;3)进程是处理器、主存和I/O设备的笼统。 最终,网络供应了计算机系统之间通信的手段。从特殊系统的角度来看,网络就是一种I/O设备。 ? 重要主题:系统不只仅只是硬件。系统是硬件和系统软件相互交错的集合体,它们必需共同协作以达到运转应用程序的最终目的。本书的余下部分会叙述硬件和软件的具体内容,通过了解这些具体内容,你可以写出更快速、更牢靠和更平安的程序。 我们在此强调几个贯穿计算机系统全部方面的重要概念。我们会在本文多处争辩这些概念的重要性。 ? 01 Amdahl Gene Amdahl,计算领域的晚期先锋之一,对提升系统某一部分功能所带来的效果做出了简约却有见地的观看。这个观看被称为Amdahl定律(Amdahl’s law)。该定律的次要思想是,当我们对系统的某个部分加速时,其对系统全体功能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序需要时间为Told。假设系统某部分所需执行时间与该时间的比例为α,而该部分功能提升比例为k。即该部分初始所需时间为αTold,现在所需时间为(αTold)/k。因而,总的执行时间应为 Tnew=(1-α)Told+(αTold)/k=Told[(1-α)+α/k] 由此,可以计算加速比S=Told/Tnew为 ? 举个例子,考虑这样一种情况,系统的某个部分初始耗时比例为60%(α=0.6),其加速比例因子为3(k=3)。则我们可以获得的加速比为1/[0.4+0.6/3]=1.67倍。虽然我们对系统的一个次要部分做出了严重改进,但是获得的系统加速比却明显小于这部分的加速比。这就是Amdahl定律的次要观点——要想显著加速整个系统,必需提升全系统中相当大的部分的速度。 ? 表示相对功能 功能提升最好的表示方法就是用比例的方式Told/Tnew,其中,Told为原始系统所需时间,Tnew为修改后的系统所需时间。假如有所改进,则比值应大于1。我们用后缀“×”来表示比例,因而,“2.2×”读作“2.2倍”。 表示相对变化更传统的方法是用百分比,这种方法适用于变化小的情况,但其定义是模糊的。应当等于100·(Told-Tnew)/Tnew,还是100·(Told-Tnew)/Told,还是其他的值?此外,它对较大的变化也没有太大意义。与简约地说功能提升2.2×相比,“功能提升了120%”更难理解。 ? Amdahl定律一个好玩的特殊情况是考虑k趋向于∞时的效果。这就意味着,我们可以取系统的某一部分将其加速到一个点,在这个点上,这部分花费的时间可以忽视不计。于是我们得到 ? 举个例子,假如60%的系统能够加速到不花时间的程度,我们获得的净加速比将仍只要1/0.4=2.5×。 ? Amdahl定律描述了改善任何过程的一般准绳。除了可以用在加速计算机系统方面之外,它还可以用在公司试图降低刀片制形成本,或同学想要提高本人的绩点平均值等方面。或许它在计算机世界里是最有意义的,在这里我们经常把功能提升2倍或更高的比例因子。这么高的比例因子只要通过优化系统的大部分组件才能获得。 ? ? 02 并行和并发 数字计算机的整个历史中,有两个需求是驱动进步的持续动力:一个是我们想要计算机做得更多,另一个是我们想要计算机运转得更快。当处理器能够同时做更多的事情时,这两个因素都会改进。我们用的术语并发(concur

文档评论(0)

136****7795 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档