为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

《计算机组成与设计_硬件_软件接口》__中文版____第1章

2011-12-13 26页 pdf 2MB 313阅读

用户头像

is_653185

暂无简介

举报
《计算机组成与设计_硬件_软件接口》__中文版____第1章 第!章 计算机概念和技术 增多我们不加思索就能完成的重要工作的数量,文明便是如此进步的。 !"#$%&’($)*+*,)%*%-&,!"#"$%&’()$*&"$&+,$-./,$*)0,./.. !"! 概述 欢迎阅读本书!我们很高兴有机会传播计算机系统界令人兴奋的事情。这不是一个枯燥沉 闷、进展缓慢的领域,也不是新想法会被忽视而遭到扼杀的领域。不!计算机是生机勃勃的信息 技术产业的产物,该产业的所有方面几乎占美国国民生产总值(0’1)的.23。这个充满创新活力 的不寻常的产业正在以惊人的速度发展。自./45年...
《计算机组成与设计_硬件_软件接口》__中文版____第1章
第!章 计算机概念和技术 增多我们不加思索就能完成的重要工作的数量,文明便是如此进步的。 !"#$%&’($)*+*,)%*%-&,!"#"$%&’()$*&"$&+,$-./,$*)0,./.. !"! 概述 欢迎阅读本书!我们很高兴有机会传播计算机系统界令人兴奋的事情。这不是一个枯燥沉 闷、进展缓慢的领域,也不是新想法会被忽视而遭到扼杀的领域。不!计算机是生机勃勃的信息 技术产业的产物,该产业的所有方面几乎占美国国民生产总值(0’1)的.23。这个充满创新活力 的不寻常的产业正在以惊人的速度发展。自./45年以来,已经出现了多种导致计算产业大革命 的新计算机,而这些革命仅仅因为其他人造出了更好的计算机就匆匆结束了。 自62世纪72年代末电子计算机出现以来,这个产业的创新速度已经导致了空前的进步。举 例来说,如果交通运输业也能始终保持计算机业的发展速度,今天我们就可以花几美分在大约. 秒钟内穿越大洋。想象一下如果以这种进步来改变我们的社会,你就可以住在塔希提岛而在旧金 山工作,晚上还可以去莫斯科出席芭蕾舞会。你能理解这种发展速度的意义了吧。 继农业和工业革命之后,计算机引发了人类第三次文明革命,即信息革命。结果大大增强了 人类智慧力量,并且很自然对我们的日常生活产生深远的影响,同时改变了我们探索新知识的方 法。现在科学研究中有一个新的倾向,计算机科学家与理论和实验科学家共同合作,在天文学、 生物学、化学、物理学等新的前沿领域进行探索。 计算机革命还在继续。每次革命都可使计算成本降低.2倍,而使用计算机的机会则成倍增 加。经济上原本不可行的应用忽然成为现实。就在不久以前,下列应用还只是“计算机科学幻 想”。 ! 自动柜员机:在62世纪52年代,把计算机安装在银行墙壁中,用于分发和收集现金还是 个荒谬的想法。那时最便宜的计算机也要522222美元,并且有一辆小汽车那么大。 ! 车载计算机:计算机控制汽车这种想法在以前是荒唐的,直到62世纪42年代早期微处理 器性价比有了显著的改进后才得以实现。今天,计算机可以控制发动机,提高燃油效率并 减少污染,通过防打滑以及安全气囊来保护车上人员,提高安全性。 ! 笔记本电脑:谁曾梦想过计算机系统的进步会导致笔记本电脑的出现,人们可以带着计算 机去咖啡屋或乘飞机? ! 人类基因组:绘制并分析人类8’!序列所需要的计算机设备的成本是巨大的。如果 按照.2!62年前的计算机成本计算,那么这项花费将是现在的.2!.22倍,那样的话谁都 不会考虑这样的项目了。 ! 万维网:在本书的第.版时它还不存在,现在万维网正在改变我们的社会。在其应用中有: 发布新闻、送花、网上购物、通过电子导游决定度假地、找到与你有共同爱好的人,以及更 为平常的应用,如查找教材作者的演讲等。 显然,计算机技术的进步几乎影响到人类社会生活的所有方面。硬件技术的进步允许程序员 编制优秀且实用的软件,并解释了计算机为什么会无所不在。明天关于计算机用途的科幻小说将 是:没有现金来往的社会,自动智能高速公路,真正的普适计算(没有人携带计算机,因为计算机 无处不在)。 !"!"! 计算应用的类型及特征 从智能家用电器,到手机,到大型超级计算机,都使用了共同的硬件技术(!"#节和!"$节中 将深入讨论)。但是由于不同的应用有不同的设计需求,所以使用核心硬件技术的方式也有所不 同。宽泛地说,计算机出现在以下三类应用中: 桌面电脑 可能是尽人皆知的计算资源,以个人电脑为代,本书的大部分读者可能都使用 这种类型的计算机。台式机强调以较小的代价为单一用户提供较高的性能,通常用来执行第三方 软件,又称商业软件包。台式计算是最大的计算机市场之一,很多计算技术的革新都是由这一类 计算推动的,而它问世至今仅仅大约#%年! 服务器 是以往主机(&’()*+’&,)、小型计算机(&()(-.&/01,+)、巨型计算机(20/,+-.&/01,+)的 现代形式,通常只能通过网络访问。服务器最初用来承担大负载任务,例如单个科学或工程应用 中的复杂应用或者处理多个小任务,如同构建大型的 3,4服务器一样。这些应用通常是基于其 他软件,例如数据库、模拟系统等,但通常会为了特定的功能而调整或者定制。制造服务器所用 的基本技术同台式机的相同,但是服务器需要拥有扩展性、较好的计算能力和输入输出能力。在 第$章中我们将会看到,随着应用领域的不同,服务器的性能可以用多种方式来衡量。通常,可 靠性在服务器中占有十分重要的地位,因为同台式机相比,服务器崩溃的代价要大得多。 服务器在价格和性能上差别很大。低端服务器的造价可能比一个没有显示器或键盘的台式 机稍贵,大约!%%%美元左右,通常用于文件存储、小型商务应用或者简单的3,4服务。服务器的 另一极端是超级计算机 ,目前一台超级计算机大约有数十万个处理器,数56或者数!"(1,+7 ’481,2)的内存,数96或者数:6的存储设备,造价大约几百万到几亿美元。超级计算机通常用 于高端的科学和工程计算,例如天气预报、石油勘探、蛋白质结构判定以及其他大规模问题。尽 管这些超级计算机代表最强的计算能力,它们在服务器领域只占较小的份额。同样,以总收入来 看,它们在全部计算机市场中也只占相对较小的份额。 嵌入式计算机 是计算机中最大的一类,其性能及应用领域跨幅最大。嵌入式计算机包括洗 衣机、汽车中的微处理器,手机、个人数字助理(/,+2.)’;<(=(1’;’22(21’)1,:>?)中的计算机,视频 游戏机、数字电视中的计算机以及控制现代飞机及货船的处理器网络等。嵌入式计算系统被设计 用来完成单一的或一组相关的应用,它通常被集成在硬件中,作为一个整体系统使用。因此,尽 管存在着大量的嵌入式计算机,大部分用户从未真正意识到他们在使用计算机! 桌面电脑(<,2@1./-.&/01,+) 为个人用户设计,通常包括图形显示设备、键盘、鼠标。 服务器(2,+A,+) 用来运行大规模程序的计算机,为多个用户提供服务,并且通常是多个用户同时使用,一般只能 通过网络访问。 超级计算机(20/,+-.&/01,+) 一类高性能、高造价的计算机,通常用作服务器,造价一般几百万美元。 96(1,+’481,) 最初表示!%BBC!!DEFFFD(E$%)字节,后来一些通信和辅助存储系统将定义修整为!%%%%%%%%%%%% (!%!E)字节。 嵌入式计算机(,&4,<<,<-.&/01,+) 集成在其他设备中的计算机,用来执行一个预制的任务或一组固定的软件。 嵌入式应用通常只有一个应用需求,即在严格控制成本和功耗的前提下,以实现最低限度的 性能要求。以手机为例:处理器只要足够应付手机有限的功能即可,除此之外,使功耗和成本最 小化尤为重要。另外,嵌入式计算机最不能容忍故障,因为其后果小到制造混乱(例如,新买的电 视崩溃掉),大到产生灾难(例如,飞机或汽车中的计算机出现故障)。在面向消费者的嵌入式应 用中,例如数字家电,可靠性主要是通过“简化”达到的,它所强调的是只完成一个功能,完成得 尽量完美。在大型嵌入式系统中,常常采用服务器中经常使用的冗余技术。尽管本书主要讨论通 ! 第!章 用型计算机,书中的绝大部分概念可以稍加改动,甚至直接应用到嵌入式计算机中。在后面的一 些地方,我们会谈一些嵌入式计算机才有的概念。 如图!"!所示,过去的几年里,在数量上,嵌入式计算机的增长速率(年增长率#$%)远远高 于台式机和服务器(年增长&%)。注意,此处嵌入式计算机包括:手机、游戏机、数字电视、机顶 盒、’()以及其他类似消费品。注意不包括使用*位和!+位处理器的低端嵌入式控制设备。 图!"! 不同的处理器在!&&*!,$$,年间的销量 [这些数据的获得有些差异,因此在解释结果时需要注意。例如,台式机和服务器的总数是以整个计算机系统 数量统计的,因为有些系统含有多个处理器,因此实际销售的处理器的量可能会多一些,但是总共只有!$%! ,$%(因为通常每个系统含有多个处理器的服务器的销售量只有台式机的-%,而后者大部分都是单处理器系 统)。嵌入式计算机的实际数量就是处理器的数量,很多甚至看不到。在有些情况下,一个设备中含有多个处 理器] 细节:“细节”是本书中就某一特定话题提供更多细节的小段文字,可能会有读者感兴 趣。对此不感兴趣的读者可以跳过这段内容,本书后续内容不依赖细节。 许多嵌入式处理器的设计都使用处理器核(./012330/10/2),即使用硬件描述语言(例如 42/5607或48(9)编写的处理器。处理器设计者可以将处理器核和其他应用相关的硬件整合,构 建一个单一的芯片。集成工具可以根据42/5607描述生成芯片,加之现代硅芯片的容量越来越大, 使得专用处理器有很强的吸引力。由于处理器核可以集成到不同的半导体生产线,这也为选择制 造商提供了灵活性。在过去的几年里,“处理器核”的使用飞速增长。例如,!&&*年,只有-!%的 嵌入式处理器使用处理器核。到,$$,年,其使用率已经达到:+%。不仅如此,在此期间嵌入式 市场的年总增长率高达#$%,这些增长主要由处理器核的使用所推动。其间,处理器核的年综合 增长率是+-%! 图!",是市场上主要的体系结构及其销售量,统计数据包括了所有三类产品(嵌入式、台式和 服务器)。以上数据统计了-,位和+#位处理器,其中-,位处理器在大部分体系结构中都占绝大 部分份额。 !"!"# 从本书中能学到什么 成功的程序员总是关心他们写的程序的性能,因为快速地向用户返回计算结果是编写一个成 功的软件中的关键部分。在,$世纪+$和;$年代,计算机性能的一个主要制约因素是计算机内 !计算机概念和技术 图!"# 按指令集分类,各种微处理器在!$$%!#&&#年间的销售数量 [“其他”类指应用相关或者用户定制的体系结构。’()中大概%&*的销售量是在手机中,通常是’()内核加 上专用逻辑构成的芯片] 存的大小。因此,程序员往往奉守一个简单的信条:尽可能少的内存使用以提高程序运行速度。 在过去的十年中,计算机设计和内存技术的进步已经显著改变了这种旧局面,在大部分非嵌入式 系统的应用程序中节省使用内存已经不再重要。 关心性能的程序员现在还需要理解取代了#&世纪+&年代那种简单内存模型的进展:内存的 层次化特性和处理器的并行化特性。因此,那些想要编写有竞争力的编译器、操作系统、数据库 甚至普通应用程序的程序员需要增加他们关于计算机组成的知识。 我们非常荣幸有此机会向大家阐释这一革命性的机器的内部细节,透过程序及你的计算机表 面,向大家展示软件和硬件实质。当你读完本书,我们相信你能够回答下列问题: ! 用高级语言,例如,、-./.,写的程序是怎样翻译成硬件语言的,硬件又是怎样执行这些程 序的?理解上述概念是理解软硬件如何影响程序性能的基础。 ! 软硬件间的接口是什么,软件是如何命令硬件完成指定的功能的?这些概念对很多类软件 的编写都至关重要。 ! 什么决定了程序的性能,程序员如何改进性能?我们将会看到,这取决于源程序、将程序 翻译成机器语言的软件以及执行这一程序的硬件的效率。 ! 硬件设计人员可以使用什么样的技术提高性能?本书包含了现代计算机设计的基本概念。 感兴趣的读者可以在我们的高级读物《计算机系统结构———量化研究方法》中找到更多的 材料。 如果不理解上述问题,那么在现代计算机上改进程序性能过程,或者评估在一特定应用中哪 些性能使一台计算机优于其他计算机,将是一个复杂的试验过程,而不是一个建立在深入理解和 分析基础上的科学过程。 第!章是本书其余章节的基础。这一章介绍基本思想和基本定义,软硬件各自的主要组成部 分,并且介绍引发计算机革命的集成电路技术。在本章和后面一章中,你会看到很多新的词汇,或 者你以前听说过,但并不知道确切意思的词汇。不必着急!描述现代计算机的专用术语的确不少, ! 第!章 Absent Image File: LS.eps 这些术语确实能够为我们精确描述一项功能或能力带来帮助。此外,计算机设计者(包括作者)都十 分乐于使用首字母缩写 ,一旦你知道这些缩写代表什么,它们就很容易理解了。为了帮助大家记 住和找到这些术语,在这些术语在本书中第一次出现时,我们都给出醒目的定义。不久之后,你就 会熟悉这些术语,并且你的朋友们会对你能熟练且正确地使用诸如!"#$、%"&&、’()、*+*,-(高速 缓冲存储器,简称高速缓存或缓存)、%./&、/0/、(’"等许多术语留下深刻印象。 首字母缩写(+*12345) 由一串连续单词的首字母构成的单词。例如,./&是.+3625/**-77&-5214(随机存储 器)的缩写,’()是’-381+9(12*-77:3;)3:8(中央处理器)的缩写。 为了强化说明软硬件系统运行程序的方式会影响性能,我们特别在本书各处安排了“理解程 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 序性能”,下面是它的第一次登场。它总结了影响程序性能的各种因素。 理解程序性能 程序的性能取决于多种因素:程序中使用的算法,创建程序和将程序翻译成机器指令的软件 系统,计算机指令执行部件的效率,包括"/#操作的执行效率等。下表总结了软硬件是如何影响 性能的。 软硬件部件 如何影响性能 讨论的章节 算法 决定源程序级语句的数量以及执行"/#操作的数量 参考相关书籍 程序设计语言、编译器和体系结构 决定每一条源程序级的语句对应的机器指令 第<章和第=章 处理器和存储器系统 决定指令的执行速度 第>、?、@章 "/#系统(硬件和操作系统) 决定"/#操作的执行速度 第A !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 章 自测 本节用来帮助读者检验是否理解了本章中所介绍的主要概念以及这些概念的内涵。有些“自 测”问题比较简单,而有些问题是为小组讨论设计的。在每章的结尾处能找到具体问题的答案。 “自测”出现在章节的最后,确信自己已经掌握了这一节内容的读者可以跳过。 BC在BCB节中讲到嵌入式处理器每年的销售量远远大于台式机。就个人的经验,你认同这一 结果吗?计算一下你家中的嵌入式处理器的数目,并与你家中台式机的数量做个比较。 或!)。 汇编器(/**56<;58) 将符号版本的指令翻译成二进制版本的指令的程序。 编译器 完成另一项核心功能:将用高级语言,例如?或者@/A/写的程序翻译成硬件能够执行 的指令。想想现代程序设计语言的复杂性以及硬件能够执行的指令的简单性,可知将高级语言翻译 成硬件指令是多么的复杂。在此,我们将对这一过程进行概述,第=章我们会重新回到这个话题。 从高级语言到机器语言 与电子器件“对话”需要发送电子信号。能让机器理解的最简单的信号是开和关,于是机器的 字母表只有两个字母。正如=B个字母的英文字母表没有限制能写多少字一样,计算机字母表的 两个字母也没有限制计算机能够做什么。代表这两个字母的两个符号是数字>和!,并且我们通 常把机器语言看作以=为基的数,即二进制数。我们称每个“字母”为一个二进制数位或位 。计 算机对我们的命令言听计从,这种命令称为指令。指令就是计算机理解的位的集合,可以认为是 数字。举例来说,位串!"""!!""!"!"""""告诉一个计算机将两个数相加。第#章解释了为什 么使用数字来表示指令和数据;我们不想预先介绍那一章的内容,不过用数字既表示指令又表示 数据是计算的基础。 最初程序员们用二进制数字与计算机交流,但这太枯燥以至于他们很快发明了与人类思考方 式相近的新的符号表示法。起初这些符号由手工翻译成二进制数位,但这步处理仍很烦人。先驱 们发明了将符号表示翻译成二进制的程序,使用机器辅助对机器编程。第一个这样的程序命名为 汇编器 。汇编程序把符号表示的指令翻译成二进制指令。例如,程序员编写如下: 汇编器将这个表示翻译为 ! 第!章 Absent Image File: LS.eps 这个指令告诉计算机将两个数!和"相加。这种符号语言的名称今天还在用,就是汇编语言 。 汇编语言(!""#$%&’&!()*!)#) 机器指令的符号表示。 高级程序设计语言(+,)+-&#.#&/01)0!$$,()&!()*!)#) 可移植的语言,诸如2、31040!(或5!.!,由关键词和代数表 达式组成,可以由编译器翻译成汇编语言。 虽然这是一个巨大的进步,汇编语言仍然与科学家用来模拟液体流动或会计师用来平衡账目 的记号相差甚远。汇编语言需要程序员为每条机器要执行的指令写一行,强迫程序员按机器的方 式思考。 人们认识到,用功能更强大的语言编写程序然后将其翻译为机器指令是可行的。这一认识是 计算机发展早期最大的突破。今天的程序员应把他们的高生产力和保持头脑清醒归功于高级程 序设计语言 以及编译器的出现。后者将程序从这些高级语言翻译成指令。 编译器使程序员可以编写下面的高级语言式: 编译器将它编译为下面的汇编语言语句: 汇编器把这条语句翻译为告诉计算机将两个数!和"相加的二进制指令: 图6-7给出程序和语言之间的关系。 图6-7 2程序先编译为汇编语言然后汇编为二进制机器语言 [虽然从高级语言到二进制机器语言的翻译在图中分为两步,但某些编译器省略了中间步骤直接生成二进制机 器语言。第8章讲述了这些语言和这种程序的更多细节] #计算机概念和技术 Absent Image File: LS.eps 高级编程语言具有几个重要的优点。首先,它允许程序员用更自然的语言思考,用英语单词和数 学符号,使程序看起来更像文章而不是神秘字符的表(如图!"#所示)。此外,它允许按语言的用途来 设计语言。因此,$%&’&()是为科学计算设计的,*+,+-用于商业数据处理,-./0用于符号处理,等等。 编程语言的第二个好处是提高程序员的生产力。在软件开发方面取得广泛共识的少数几个 观点之一就是:使用那些能用较少的代码来表达想法的编程语言来编写程序花费的时间较少。简 明是高级语言相对于汇编语言的一个显著的好处。 最后的优点是程序设计语言使得程序能够独立于开发它的计算机,因为编译器和汇编器可以 将高级语言程序翻译为任何机器的二进制指令。这三个好处是如此的明显,以至于现在几乎没人 使用汇编语言编程。 !"# 打开计算机的机箱 我们已经探讨了应用程序下面的底层软件,现在让我们打开计算机的盖子来学习底层的硬 件。任何计算机的底层硬件都执行着同样的基本功能:输入数据,输出数据,处理数据和存储数 据。本书的主要内容就是讨论这些功能是如何实现的,后续的章节会分别介绍这四个任务。在本 书中,当我们遇到一些非常重要且应当牢记的重点时,我们用“重点”标出以示强调。本书有十几 个“重点”,第一个是计算机的五个组成部分,用于执行数据的输入、输出、处理和存储任务。 重点 计算机的五个经典组成部分是输入、输出、存储器、数据通路以及控制器,后两个我们有时 候合称为处理器。图!"1展示了计算机的组织方式。这种组织方式不依赖于硬件技术:任何 计算机的组成部件,不论是过去的还是现在的都可以归类到这五类中。为了帮助大家记住这一框 架,在每一章的首页,都会有展示计算机五个组成部分的图片,该章相关的部分会重点标出。 图!"1 计算机的组织结构,给出五个经典组成部分 [处理器从存储器得到指令和数据;输入将数据写入存储器,输出从存储器读取数据;控制器发送决定对数据 通路、存储器、输入和输出进行操作的信号] ! 第!章 图!"#是一个典型的台式机,有键盘、鼠标、显示器以及一个装着更多硬件的机箱。图中不可 见的是将这台计算机连接到其他计算机的网络。这张照片强调了计算机的两个重要部件:输入设 备 ,比如键盘和鼠标;和输出设备 ,比如显示器。顾名思义,“输入”向计算机提供数据,“输出” 是计算机返回用户的计算结果。有些设备,例如网络和硬盘,既向计算机提供输入也接受输出。 图!"# 台式计算机 [液晶显示器($%&’%()*+,-.$(%,/$.+,012)是主要的输出设备,键盘、鼠标是主要的输入设备。那个机箱内有处理 器以及其他3/4设备。这个系统是25$$4/-%/$56789#:] 第;章更详尽地描述了输入/输出(3/4)设备,让我们从外部3/4设备开始先简单地介绍一下 计算机硬件。 输入设备(%’-/’-(5=%)5) 将计算结果传送给用户或另一台计算机的装置。 !"#"! 剖析鼠标 出席一个计算机研讨会时我产生了鼠标的想法。发言者太过烦人以至于我开始做白日梦并 萌发了这个想法。 2>’?@机是 E.)%<->,F和所有工作站的灵感来源,它于 !BCG年以鼠标作为其点击输入设备。到9:世纪B:年代,所有的台式计算机都带有这个设备,基 于图形显示和鼠标的新的用户界面开始成为标准。 最原始的鼠标是机电式的,用一个球在物体表面滚动以使!和"计数器增减。每个计数器增 减的量表示鼠标移动的距离。 机电式鼠标已经大量的被新型的全光学式(.$$">/-%).$)鼠标取代。光电式鼠标实际上是一个小 型的光学处理器,包括用来提供光源的0@2(发光二极管),小型黑白摄像头和一个简单的光处理 器。0@2照亮鼠标下面的区域;摄像头对照亮的区域每秒采样!H::次。连续的图像传送到简单 的光处理器,进行比较确定鼠标是否移动和移动的距离。光电式鼠标取代机电式鼠标再次例证了 #计算机概念和技术 一个普遍现象:电子设备成本的下降和可靠性的提高促使电子取代旧的机电技术。 !"#"$ 从显示器开始 通过计算机显示器,我将飞机降落在航空母舰的甲板上,观察到一个原子打到势井中,乘着 火箭以接近光的速度飞翔,同时我了解到了计算机最深层的工作原理。 !"#$%&’()*+#$,,计算机图形学之“父”,引自“-./0&’)*%.1’2#*)1.*3*#0(456”, 《科学美国人》,789: 最迷人的!/;设备当属图形显示器。它基于电视技术,一个光栅阴极射线管(!"#)显示器 每次扫描一幅图像的一行,每秒<=!>?次。在这种刷新率下,人们不会注意到屏幕的闪烁。 图像是由图片元素(或称像素 )的矩阵组成,它可以用位的矩阵来代表,称为位图。取决于 屏幕的大小和分辨率,显示矩阵的大小在@==<年从?7@A<:=到78@=A7@9=(@==<年)像素不等。 最简单的显示器每像素7位,允许它是黑或白。为了让显示器支持表示@?B种不同浓淡的灰度信 息,每个像素需要9位。彩色显示器三原色(红、绿和蓝)的每一色可能都使用9位,每像素就是 @:位,可以显示几百万种不同的颜色。 所有的便携计算机、手持计算器、手机以及许多台式机使用平板(1+#’C0#$)+)或液晶显示器 ($!%)代替-DE,原因是F-G体积小、功耗低。二者主要的区别在于F-G像素自身不是光源;相 反,它控制光的透射。典型的F-G在液体中包含棒状分子形成的扭曲螺旋,它使进入显示器的光线 弯曲,光线通常来自放在显示屏背面的光源,也有少部分是反射光。当电流通过时这些棒变直并不 再弯曲光线,由于这些液晶材料置于两个偏振方向成8=度的镜面间,光线不弯曲是不能通过的。 现在,大部分液晶显示器都使用活动矩阵 。活动矩阵F-G显示器在每个像素上有微小的晶体管开 关以精确控制电流并且因而得到更锐利的图像。同-DE显示器一样,每个像素中的红H绿H蓝掩 模控制最终图像中三种颜色构成的强度;在彩色活动矩阵F-G中,每个像素有三个晶体管开关。 光栅阴极射线管(5#’(.,)*#I’&J),-DE)显示器 通过电子束在屏幕上扫描显示图像的显示器,例如电视机。 像素(04K)+) 最小的独立图形单元。显示器由几十万到数百万个以矩阵形式组织的像素组成。 平板显示器(1+#’0#$)+,460+#I),液晶显示器(+4L&4,5*I6’#+,460+#I,F-G) 一种显示技术,通过在很薄层的液晶聚合 物上加载、撤除电流控制光线的阻通。 活动矩阵显示器(#5’4")/#’*4K,460+#I) 用晶体管控制每个像素通光性质的液晶显示器。 无论是什么显示器,计算机硬件对图形的支持主要包括光栅刷新缓冲区(或称帧缓冲区)来存 储位图。要使在屏幕上显示的图形被存在帧缓冲区里,每个像素的位模式以刷新速率被读出到图 形显示器。图7C>显示了每像素:位的帧缓冲区。 图7C> 左边帧缓冲区中的每个坐标决定了右边光栅扫描-DE显示器上相应坐标处的明暗 [像素(M=,N=)包含位模式==77,在屏幕上是比像素(M7,N7)中的位模式77=7更亮的灰色] !" 第7章 Absent Image File: LS.eps 位图的目标是如实地表示屏幕上所要显示的内容。在图形系统中的一个挑战是人眼能够察 觉屏幕上非常微小的变化。举例来说,当屏幕更新时,眼睛可以察觉到已改变的和未改变的屏幕 部分的不一致。 !"#"# 打开机箱 如果我们打开装着计算机的那个箱子,将会看见一个迷人的绿塑料的薄板,被几十个灰色或 黑色的小矩形覆盖着。图!"#显示了图!"$中桌面计算机的内部。这个主板 和电源垂直地展示 在左面。三个磁盘驱动器———%&%驱动器,高容量软盘驱动器,硬盘驱动器———出现在右边。 图!"# 图!"$所示的个人计算机的内部 [这个外包装通常称为蛤壳(’()*+,-((),这是根据它沿着一边合叶打开的方式而命名的。让我们从左上部分开 始,看看里面都有什么。左上角发光的金属盒是电源,它下面是风扇,风扇的盖子被向左打开了。风扇的右下 方是印刷电路板(./012-3’0/’40256)/3,789),在78中称为主板,它包含计算机的绝大多数电子器件;图!"!: 是那个板子的近景图。处理器在图!"#的左边,在风扇的下面,处理器上面有散热片。在右边我们可以看到用 来放置各种驱动器的机架。机架最上面是%&%驱动器,中间是高密度软盘驱动器,下面是硬盘驱动器] 主板(*62,-/56)/3) 一块塑料板,上面有各种集成电路或芯片,包括处理器,高速缓存,内存,;/<设备接口(网 络接口、硬盘接口等)。 集成电路(012-=/)2-3’0/’402) 也称芯片。一种结合了数千万晶体管的设备。 内存(*-*6/>) 程序运行时其代码及其所需的数据的存放场所。 中央处理器(’-12/)(./6’-++6/4102,87?) 也称为处理器。计算机中的活跃部分,包含数据通路、控制器,它执行 数字相加、判断、发送信号去激活;/<设备等操作。 主板上的小方块包含着推动我们科技进步的设备:集成电路(或称芯片)。主板由三部分组 成:连接上面提到的;/<设备的部分、内存和处理器。;/<设备通过右边中间的垂直附着在主板 上的两块大板连接。 内存 是计算机运行时存储程序的地方;它还包含运行程序所需的数据。在图!"#中,内存在 主板中间垂直附着的两块小板上。每块小内存板包含#块集成电路。 处理器是主板的活跃部分,依照程序的指令的工作。它执行数字相加,判断,发送信号去激 活;/<设备等操作。处理器是图!"#的内存板左边的大正方形,被风扇和散热片盖着。有时候, 人们称处理器为87?,更正式的名称是中央处理器 。 深入到硬件里面更低的层次,图!"@展示图!"#中处理器的细节。处理器包含两个主要的部 !!计算机概念和技术 分:数据通路和控制器,分别是处理器的肌肉和头脑。数据通路 执行算术运算,控制器 根据程 序指令的意图告诉数据通路、存储器和!/"设备该干什么。第#章解释了简单的数据通路和控制 器的直观实现,第$章叙述了高性能设计所需的调整。 图%&’ 图%&(中主板所用的处理器芯片内部 [左边是)*+,-./0处理器芯片的显微照片,右边是处理器中主要模块] 数据通路(12,232,4) 处理器中进行算术运算的模块。 控制器(56+,768) 处理器中依照程序的指令,对数据通路、存储器、!/"设备下命令的模块。 动态随机存储器(19+2/-572+16/255*::/*/679,;<=>) 集成电路式存储器,可以随机访问任何单元。 高速缓存(5254*) 一块小容量高速存储器,作为大容量低速度存储器的缓冲区。 抽象(2?:,725,-6+) 使得计算机系统的底层细节暂时不可见的一种模型,用来帮助复杂系统的设计。 指令集系统结构(-+:,7.5,-6+:*,2754-,*5,.7*) 也称系统结构,硬件和底层软件的抽象接口,包含了编写能够正确运 行的机器语言程序的所有必需信息,包括:指令、寄存器、存储器访问,!/"等。 对任何一个硬件模块的深入研究都会获得对机器的深入理解。图%&%@中的内存是由;<=> 芯片构造的。!"#$ 代表动态随机存储器 。同时使用几个;<=>来存储程序的指令和数据。 与顺序存取如磁带这样的存储器相比,术语;<=>中的"#$ 这个概念意味着无论读取内存的哪 一部分,都消耗相同的时间。在处理器内部,有另一种类型的存储器———高速缓存。高速缓存 包含小而快速的存储部件作为;<=>存储器的缓冲区。(对高速缓存的非技术定义是指它是隐藏 一些东西的安全地方。)高速缓存使用了不同的内存技术———静态随机存储器(A<=>)。A<=>更 快但集成度低,因此也就比;<=>更贵些。 你可能已经注意到描述软件和硬件常用的模式:探究硬件或软件的深处以揭示更多的信息, 或相反地,掩盖底层细节以为高级层面提供较简单的模型。这样分层次的应用,或称抽象 ,是 设计高度复杂的计算机系统的基本技巧。 一个最重要的抽象是硬件与底层软件之间的接口。由于它的重要性,赋予它一个特殊的名 称:机器的指令集系统结构 ,或简称系统结构。指令集系统结构包括程序员为使一个二进制机 %& 第%章 器语言程序正确运行所需要知道的所有事,包括指令、!/"设备等。一般操作系统会将!/"操作、 存储器分配和其他底层系统功能封装,所以应用程序程序员不用担心这些细节问题。这些基本的 指令集和操作系统提供给应用程序程序员的接口合称为应用程序二进制接口(!"#)。 图#$#% &’主板的特写 [这个主板使用!()*+&*(),-./处理器,位于主板的左上部。它被散热片覆盖着,看起来像是暖气,这是散热器 (0*1)2,(3),帮助芯片散热。主内存包含在垂直在主板中央的一个或多个小板上。4567芯片装配在这些板上 (称为4!77 ,指双列内存模块)然后插入连接器中。板子剩下部分主要是外部!/"设备的插槽:音频/7!4! 和并行/串行口在右边缘,两个&’!卡插槽在底部,一个686插槽用来接硬盘] 应用程序二进制接口(199+,:1),;(<,(1=>,()*=?1:*,6@!) 指令集中用户指令部分以及操作系统中供应用程序程序员 使用的接口。6@!定义了计算机间二进制程序可移植的标准。 双列内存模块(A-1+,(+,(*.*.;=>.;A-+*) 两边都有4567芯片的小板。B!77只有一边有4567。B!77和 4!77一般都插在主板的内存插槽上。 实现(,.9+*.*()1),;() 遵守体系结构抽象的硬件。 内存(.*.;=>) 正在运行着的程序及其所需的数据所驻留的存储介质。 易失性存储器(C;+1),+*.*.;=>) 持续供电才能保存数据的存储设备,例如4567。 这个指令系统结构允许计算机设计者脱离执行它们的硬件来讨论功能。举例来说,我们可以 脱离时钟这个硬件(石英晶体、DE4显示器、塑料按钮)讨论数字时钟的功能(计时、显示时间、设 定闹钟)。计算机设计者将系统结构与其实现 区别开:实现是服从系统结构抽象的硬件。这个思 想给我们带来另一个重点。 重点 硬件和软件都包含分层的层次,每一个较底层次对上一层掩盖细节。这个抽象的原则是硬 件和软件设计者处理计算机系统的复杂性时都在使用的方法。抽象的层次之间的一个关键接口 是指令集系统结构———底层软件和硬件的接口。这个抽象的接口使很多不同成本和性能的实现 能运行相同的软件。 !"#"$ 数据的安全位置 到此为止我们已经明白如何输入数据、用数据计算和显示数据。如果计算机断电了,所有的 一切都会消失,因为计算机里的内存 是易失性存储 。那就是说,当内存断电后,它会“忘掉”其 !"计算机概念和技术 中的内容。相反,当你关掉电源时磁带并不会丢失它所记录的音乐,因为磁带是磁性的而且采用 非易失存储 技术。 非易失存储器(!"!#"$%&’$()()"*+) 可以在断电情况下保存数据的存储设备,用来保存非运行态的程序。磁盘是 非易失性存储,而,-./不是。 基本存储器(0*’)%*+)()"*+) 或称主存储器。易失性存储,用来保存运行态的程序;在当今的计算机中通常是由 ,-./组成。 辅助存储器(1(2"!3%*+)()"*+) 非易失存储,在程序运行间隔保存程序和数据。在当今的计算机中通常由磁盘组 成。 磁盘()%4!(&’23’15,也称6%*33’15) 也称硬盘,一种非易失性的辅助存储设备,由旋转的覆有磁性记录材料的盘 片组成。 兆字节()(4%7+&() 最初表示89:;<=>(??9)字节,后来一些通信和辅助存储系统将其重定义为8999999(89>) 字节。 图8@88 硬盘的89个盘片及读/写磁头 为了区别这两种存储器———程序运行时存储程序 的存储器和保存不处于运行状态的程序的非易失存储 器———术语基本存储器 或主存储器指前者,辅助存储 器 指代后者。自8A=<年以来主存储器就是,-./的 天下,但自8A><年就已基本上在使用磁盘 作为辅助 存储器了。在嵌入式应用中,闪存(BC.DE),一种非 易失半导体内存,也常常使用。 现在,台式机和服务器使用的主要的辅助存储器 是磁性硬盘。如图8@88所示,硬盘包括一个盘片组, 以每分钟<:99!8<999圈的速度旋转。金属盘片的两 面都涂有磁记录材料,与盒式磁带或录影带上的材料 差不多。为了读写硬盘上的信息,每面的上方都有一 个可移动臂,它带有称为读/写头的小电磁线圈。整个 硬盘被永久地封装起来以控制其内部环境,这使得磁 头能够很贴近磁盘表面。 目前不同硬盘的直径差别可达F倍以上,从不到8英寸到FG<英寸不等,并且这些年来一直 在缩小以适应新产品;工作站服务器,个人计算机,膝上电脑,掌上电脑和数码相机都促使了新 硬盘形式出现。传统意义上,最大的硬盘有最高的性能,最小的硬盘最便宜,而每兆 成本最低 的硬盘通常介于它们之间。尽管硬盘大都出现在机箱的内部(如图8@;所示),硬盘还可以通过外 部接口,例如数据线或者HDI接口,外接到计算机上。 使用了机械部件意味着磁盘的访问时间要远低于,-./:硬盘通常需要8使用相同的技术。此外,8>8有多层激光束 可以聚焦的面,而且每一位所占的面积更小,这样两者相加使得容量大大的增加了。 个人电脑使用的78和8>8刻录机用激光在78或8>8的记录层上烧制“小坑”。刻录的过 程相对较慢,一张完整的78需要刻录几十分钟,而一张完整的8>8大概需要一小时。因此,批 量生产时一种称为“压制”的技术被采用,每张78或8>8只花几美分。 可重写78和8>8用了不同的有晶体反射材料的记录面。小坑的形成机理与只可写一次的 78、8>8一样,即生成不反射激光的部分。删除78或8>8时将记录表面慢慢加热后慢慢冷却, 这一退火过程使记录面恢复其晶体结构。同只写一次的78、8>8相比,可重写78、8>8无疑更 加昂贵。因此,这种只读式的普通78、8>8被用来发布软件、音乐或者电影,因为无论是盘片的 成本还是记录的成本都相对低廉。 !"#"$ 与其他计算机通信 我们已经解释了如何输入、计算、显示和保存数据,但还是遗漏了现今的计算机的另一个概 念:计算机网络。正如图9?@中的处理器与存储器和A/B设备连接一样,网络连接整台计算机, 使计算机用户通过网络通信来扩展计算机的能力。网络是如此流行,以至于它已经成了如今计算 机系统的骨架;新机器如果没有网络接口,那将是很荒谬的一件事。联网的计算机有几个主要的 优势: ! 通信:在计算机之间实现高速信息交换。 ! 资源共享:与每个机器都用自己的A/B设备不同,设备可被网络中的计算机共享使用。 ! 非本地访问:通过连接相距遥远的计算机,用户无须离他们要使用的计算机很近。 网络在距离和性能上各有不同,通信的代价随通信速度和信息传送的距离的提高而增加。最 流行的网络也许是以太网(C5D’($’5)。它的长度限制大约是一公里,E;;F年广泛使用的以太网能 用;G9秒传送9兆字节数据。以太网的长度和速度特征使得它在连接建筑物同一层的计算机之间 很有用;因此,它是在分类上通常被称为局域网 的一个实例。局域网由提供路由和安全服务的 交换机互连起来。遍及大陆的广域网 是A$5’($’5(因特网)的骨干,它支持 HHH(H0(+2H%2’ H’I)。它们一般是基于光纤并由电信公司出租。 在过去的E@年里,网络使用越来越广泛,性能也有显著提高,从而改变了计算的面貌。在E; 世纪J;年代,只有极少的人可以接触到C:*%+,A$5’($’5和H’I都不存在,在两个地点间传送大量 数据的主要方法是邮寄磁带。E;世纪J;年代局域网也几乎不存在,仅有的几个广域网容量有限 而且限制访问。 随着网络技术的进步,网络的成本越来越低而且容量越来越高。例如,E@年前开发的第一个 !"计算机概念和技术 局域网技术标准,以太网的一个版本,最大容量(也称带宽)是!"#$%&。通常由十几台到一百台 计算机共用。现在,局域网技术可以提供!""#$%&到!’$%&的容量,最多有几个电脑共享。此 外,!"’$%&技术正在开发中。光通信技术在广域网领域提供了类似的容量的增长,从几百(到 几’,从几百台连接到网络上的计算机到几百万台。网络规模和容量的飞速增长使得网络技术成 为过去)*年信息技术革命的中心。 最近出现的网络中的另一项革新是,计算机通信方式的改变。无线技术大规模的展开使得大 部分膝上电脑都受惠于这种技术。在内存和微处理器中使用的廉价半导体技术(+#,-)可以用在 无线通信设备中,这使得通信成本大大降低,带来的爆炸性的发展。现在使用的无线技术,在 .///标准中称为0")1!!,提供的传输速率从!#%$&到!""#%$&。无线技术与基于导线传播的网 络有很大的不同,因为在一个覆盖区域内的所有用户都能收到无线电波。 自测 !1半导体234#和磁盘存储有很大的不同。试从下列方面描述两者的根本区别:易失性、 访问时间和成本。 !"#"$ 处理器和内存的制造技术 由于计算机的设计者们不断采用最新的电子技术,试图赢得竞争,设计出更好的计算机,处 理器和内存以惊人的速度改进着。图!5!)列举了曾经使用的技术,并附有每项技术的大约相对 性价比。这一节将展示自!67*年以来一直推动着计算机工业前进,并在可见的将来仍将持续发 挥作用的技术。这些技术决定了计算机能够做什么、以什么样的速度演化,因此我们认为任何计 算机专业人士都应当熟悉集成电路的基础知识。 年份 计算机使用的技术 相对性价比 !6*! 真空管 ! !68* 晶体管 9* !67* 集成电路 6"" !66* 超大规模集成电路(:;-.) )<""""" )""* 极大规模集成电路(=>?@A>A@BC&DA>CEF?CB@A?CGDE@DHE?) 8)"""""""" 图!5!) 历史上计算机所使用的技术的相对性价比 [来源:波士顿计算机博物馆,)""*年的数据由作者推测] 真空管(IADHHJ?H$C) 晶体管出现之前的一种电子部件,它由一个长约*!!"DJ的空玻璃管组成,将其内部抽成 真空,通过电子束传送数据。 晶体管(?@AF&E&?K@) 由电信号控制的开关。 超大规模集成电路(:;-.) 含有数亿到数十亿晶体管的设备。 晶体管 就是一个简单的电控开关,集成电路(EF?CB@A?CGDE@DHE?,.+)在一个芯片里集成了数千 个晶体管。为了描述晶体管集成数目从几百个到几百万个这样的巨大增长,修饰词“超大规模”加 在术语“集成电路”前面,构成了!"#$,即超大规模集成电路 。 集成度的增长速率非常稳定。图!5!9显示的是自!677年以来,234#容量的增长速度。在 过去的)"年里,容量每三年增长<倍,现在累计增长已经超过!8"""倍!上述集成电路中晶体管 数量的增长就是著名的摩尔定律,即晶体管容量每!0!)<个月就会翻一番。摩尔定律源自’K@5 GKF#KK@C对.+容量的预测,他是)"世纪8"年代.F?C>公司的创始人之一。 !" 第!章 图!"!# 每片$%&’芯片的容量随时间的增长 [!轴的单位是"位,这里"(!)*+(*!))。每过#年$%&’的容量就变为原来的+倍,每年增长,)-,持续了 *)年。这个“三年翻四番”的规律称为$%&’增长率。近几年增长率有所缓慢,接近每两年翻一番或者四年增 长四倍] 支撑这一增长速度近+)年所需要制造工艺的创新是难以想象的。在!.+节,我们介绍集成 电路的制造技术。 !"# 实例:制造$%&’()*#芯片 我认为“计算机”就像书,是一个广泛应用的概念。不过我一度设想到它会发展得如此之快, 因为我没有想到我们已经可以在一个芯片中能提供那么多的部件。晶体管出乎意料地向前发展。 一切都发生得比我们想象的快得多。 /.0123421567218,59:&;的发明者之一,在!<2’?6@A8B3C、普通服务器或嵌入式计算机中的基本技术。在第一个“实例” 小节,我们以02A8@DE+芯片为例,看看集成电路是怎么制造的。 让我们从头开始。芯片的制造起始于硅 ,一种可以在沙子中找到的物质。硅的导电性不好, 称为半导体 。通过特殊的化学过程,可以向硅中加入材料,在一个很小的区域制造出下列三种 设备之一: ! 电的良导体(用微小的铜线或铝线) ! 良绝缘体(例如塑料板或玻璃) ! 在特定条件下导电或者绝缘的区域(像一个开关) 晶体管属于最后一类。一个超大规模集成电路就是数以十亿计的导体、绝缘体和开关集成在 一个单独的封装中。 集成电路的制造过程对芯片的成本而言很关键,因此对计算机的设计者也很重要。图!"!+ 显示了这个过程。过程开始于一个像大香肠的硅晶锭。现在,硅晶锭的直径为F!!*英寸,长度 为!*!*+英寸。硅晶锭 被小心地切成厚度不大于).!英寸的圆片 。这些圆片随后要经历一系 列的处理过程,在这中间每片都要放上各式各样的化学成分,生成上述的晶体管、导体和绝缘体。 现在,集成电路只有一层晶体管,但可能会含有*!F层用绝缘层隔开的金属导体。 硅(3@>@6BA) 一种半导体元素。 半导体(32E@6BAGD68B1) 导电性质不良的物质。 硅晶锭(3@>@6BA61H38?>@AIB8) 硅晶体构成的圆棒,直径,!!*英寸,长!*!*+英寸。 圆片(J?K21) 硅锭的切片,不到).!英寸厚,用来制造芯片。 #$计算机概念和技术 图!"!# 芯片制造过程 [硅晶锭先被切成薄的圆片后,空白圆片经过$%!#%步的圆片模式化处理(见图!"!&),这些模式化后的圆片用 圆片测试器测试,产生一个无瑕疵分布图。然后圆片
/
本文档为【《计算机组成与设计_硬件_软件接口》__中文版____第1章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索