【计算机基础Ep8】黑皮书:《计算机组成与设计——硬件/软件接口》内容梳理(一)
第一章 计算机抽象及相关技术
1.1引言
影响——
计算机各类相关产品约占美国国民生产总值的10%,美国经济在某些方面已经与信息技术密不可分,而这一领域正按照摩尔定律所预示的那样快速发展;
计算机行业正以惊人的速度拥抱创新,这场创新竞争已经带来了史无前例的进步;
沿着农业革命、工业革命的发展方向,计算机促进了人类的第三次革命——信息革命;
由此产生的人类智力的成倍增长自然而深刻地影响了人们的日常生活,并且改变了人们寻求新知识的方式。
应用——
车载计算机;
手机;
人类基因组项目;
万维网;
搜索引擎。
1.1.1传统的计算应用分类及其特点
概述:虽然计算机中使用了一套通用的硬件技术,但不同的应用具有不同的设计要求,并以不同的方式使用核心硬件技术。
应用场景:
个人计算机(Personal Computer,PC):强调以低成本向单个用户交付良好的性能,通常运行第三方软件;
服务器:更强调可靠性,因为相比单用户个人计算机而言,服务器发生故障的代价更高;
分类——
低端服务器:用于文件存储、小型商业应用或简单的Web服务;
高端服务器,超级计算机(supercomputer):由成千上万颗处理器和数太字节(terabyte)的内存组成,成本高达几千万甚至数亿美元,用于高端科学和工程计算,代表最高的计算能力,只占据服务器中相对较小的一部分,在整个计算机市场中所占总销售收入的比例也很小。
嵌入式计算机:应用场景和性能范围更为广泛,设计目标是运行单一应用程序或者一组相关的应用程序,并且通常和硬件集成在一起以单一系统的方式一并交付;通常具有特定的应用程序要求,需要将最低性能与严格的成本及功耗限制结合在一起考虑;对故障的容忍度较低——
面向消费者:简单设计获得可靠性,尽可能保证一项功能的正常运转;
大型嵌入式系统:服务器领域的冗余技术。
1.1.2欢迎来到后PC时代
个人移动设备(Personal Mobile Device,PMD):替代个人电脑,利用电池供电,通过无线方式连接互联网,价格只有几百美元。
相同:和个人电脑一样,用户可以下载软件,在其上运行。
不同:个人移动设备不再拥有键盘和鼠标,更可能依靠触摸屏或语音输入。
云计算:接替传统服务器,它依赖于仓储级计算机(Warehouse Scale Computer,WSC)的巨型数据中心,通过云计算实现的软件即服务(SAAS)正在彻底改变软件行业。
1.1.3你能从本书中学到什么
简单信条:尽量减少程序占用的内存空间以加速程序运行。
现代计算机的特征:处理器的并行性、存储的层次性。
解答以下问题:
用C或Java等高级语言编写的程序如何被翻译成机器语言,以及硬件如何执行最终的程序?
软件和硬件之间的接口是什么?软件如何知道硬件执行所需的功能?
什么因素决定了程序的性能,以及程序员如何改进程序性能?
硬件设计人员可以使用哪些技术来提高性能?
硬件设计人员可以使用哪些技术来改善能效?程序员可以做些什么来改变能效?
串行处理近来发展到并行处理的原因和结果是什么?
自1951年第一台商用计算机以来,计算机架构师提出的哪些伟大思想奠定了现代计算机技术的基础?
程序的性能取决于以下各因素的组合:
程序中所用算法的有效性;
创建程序和将其翻译为机器指令的软件系统;
计算机执行这些机器指令(可能包括输入/输出操作)时的有效性。
影响性能的因素——
算法——源码级语句的数量和执行I/O操作的数量——其他书籍;
编程语言、编译器、体系结构——每条源码级语句对应的计算机指令数量——本书;
处理器和存储系统——指令执行速度——本书;
I/O系统(硬件和操作系统)——I/O操作可能的执行速度——本书。