IT客的背包里背的不仅仅是电脑,而是你的全世界。 ——题记
第一部分:硬件
硬件是什么?它是你在计算机中可以看到的实体部分,是你看得见摸得着的设备和装置。让我们以人类的思维习惯来分析计算机,身体好比计算机的硬件,思想则如软件,我们先从身体即硬件开始。
冯诺依曼体系结构的计算机组成包括处理器、存放指令和数据的存储器以及输入输出设备。
CPU:也叫中央处理单元,是计算机的大脑,进行运算,来回搬运数据,并控制着一切别的操作。你可能会在你的电脑上看到对CPU的描述是“因特尔双核酷睿2.1GHz,”那这个是什么意思呢?这表示CPU是因特尔制造的,一片封装的内部实际上有两个CPU,而“核”就表示处理器。2.1GHz则更加有趣,其实CPU的速度大体上是以每秒执行的操作数量、指令数量或更小的动作数量来度量的,CPU使用一个跟心跳或者钟表嘀嗒类似的内部时钟来控制基本操作的节拍,度量CPU速度的指标之一就是看这个内部时钟每秒振动多少次。每秒钟心跳一次或者嘀嗒一次就是1赫兹,记为1Hz。这个单位名称则是为了纪念1888年发现电磁辐射的德国工程师海因里希-赫兹,电磁辐射直接导致了无线电广播和其他无线系统的诞生。再普及一些知识,广播电台发射的广播信号频率为兆赫(百万赫兹),比如101.1MHz。现在的计算机通常运行在十亿赫兹的数量级上,也就是吉赫,记为GHz。比如2.1GHz就表示它每秒钟跳动21亿次。
RAM:也叫随机访问存储器,即内存,它里面保存了处理器和计算机其他部件正在活跃使用的信息,CPU可以改变内存里的内容。内存里不仅保存了CPU正在处理的数据,还保存了让CPU如何处理数据所需运行的指令。也许你会好奇,为什么内存叫随机访问?这是因为CPU能以同样的速度快速访问其中任何地方的信息。以任何顺序随机访问不同位置时,速度不会受到任何影响。RAM的一个特点是易失性,就是掉电之后里面的内容会消失。
磁盘和大容量存储器:大容量存储器能在掉电之后仍然保存着里面的信息,最常见的是磁盘,有时也称为硬盘或硬驱。硬盘能保存的信息比内存大得多,并且非易失。磁盘空间比内存便宜100倍,只是访问起来要慢得多。对于磁盘保存信息的方法,它是通过对旋转的金属盘片表面的磁性材料上的微小区间进行不同方向的磁化。计算机工作时的嗡嗡声和咔哒声就是磁盘把磁头移向盘片表面正确位置时发出来的。
我们上面谈到的都是基于计算机的逻辑构造,现在来谈谈计算机的物理构造,计算机里的电子线路是由大量基本元件搭建起来的,但基本元件的类型却只有很少几种,其中最重要的一种是逻辑门电路,用来根据一个或两个输入值计算一个输出值,也就是用输入的电压或电流信号来控制输出的电压或电流信号。只要把足够多的门电路用正确的方式连接起来,就可以执行任何计算。当今最重要的电路元件是晶体管。如今的逻辑门电路是创建在集成电路上的,集成电路(integrated circuits )缩写为IC,也称为芯片或微芯片,集成电路用硅制造。
“世界上只有10种人,理解二进制的和不理解二进制的。”
计算机是数字处理器,用比特表示信息,较大的信息以比特组表示。有时候我们在计算机的广告中可以看到“64”位的说法,什么意思呢?计算机在内部操作数据时,是以不同大小的块为单位的,这些块包含数值(32位和64位表示数值比较方便)和地址,二地址也就是信息在RAM中的位置,之前所说的64位,就是地址。
第二部分:深入了解CPU
由于CPU可以根据它所处理的数据决定下一步做什么,因此它就能自己运行整个系统。CPU反复执行简单的循环:从存储器中取得下一条指令,该指令正常情况下保存在存储器的下一个位置,但也可以是使用GOTO或IFZERO指定的位置;对指令进行译码,也就是搞清楚这条指令要干什么,然后为执行该指令做好准备;执行指令,从存储器中取得信息,完成算数或逻辑运算,保存结果,总之是执行与指令匹配的组合操作;然后再从头取得指令,开始下一次循环。真正的处理器也执行同样的“取指令-译码-执行”循环,只不过为了加快处理速度,还会配备精心设计的各种机制,但核心只有循环。
在CPU中,缓存是容量小但速度快的存储器,用于存储最近使用的信息,以避免访问RAM。典型的CPU有两到三个缓存,容量依次增大,但速度递减,一般称为一级缓存、二级缓存和三级缓存。
第三部分:软件及软件系统
现代系统越来越多地采用通用硬件(如处理器、内存以及与外界相连接的接口),同时靠软件来实现特定的行为。
什么是标准?标准是对某些产品如何制造或者应该具有什么用途的准确、详细的说明。软件标准的例子涉及编程语言(即语法和语义的定义)、数据格式(如何表示信息)、算法处理(完成某个计算的特定步骤)等等。
操作系统和应用程序是两种主要的软件,前者是软件中的基础层,负责管理计算机硬件,并为后者的程序运行提供支持。操作系统控制和分配计算机资源。
操作系统怎么工作?计算机加电后,CPU会开始执行存放在非易失性存储器中的一些指令,这些指令继而从一小块内存中读出足以运行某些设备的代码。这些代码在运行过程中再从磁盘、CD、USB存储器或网络连接的既定位置读出更多指令。这些指令再继续读取更多指令,直到加载了足够完成有效工作的代码为止。这个准备开始的过程叫做启动(booting),源自(bootstrap)给自己穿上靴子的典故。具体细节可能不同,但基本思想是一样的,即少量指令足以找到更多指令,后者依次找到更多的指令。
操作系统还提供了硬件和其他软件之间的接口,使得程序员编程变得简单。还有一个有趣的知识是设备驱动程序,它是一种沟通操作系统与特定硬件设备(如打印机和鼠标)的程序。操作系统发送通用的请求,而具体的设备驱动程序负责在各自硬件上落实、执行请求。
第四部分:网络
在家庭中,电话系统传送模拟的声音信号,不传输数据。因此必须要有一种设备来实现数字化信息(比特)和模拟的声音之间的转换,才能利用电话网络传输数据。改变要通过声音信号传输的信息的形式叫调制。相反,把这种形式再转换成比特叫解调。而能够完成调制和解调功能的设备就叫调制解调器。
ADSL(Asymmetric Digital Subscriber Loop)非对称数字用户环路是一种经济实用的联网技术,它的下载带宽比上传带宽高。
电话、有线电缆和DSL等联网技术都可以把计算机连接到一个大型系统,但通常会有一定的距离限制。以太网应运而生,以太网可以在通过同轴电缆相连的计算机之间传送信号。
至于我们关心的无线信号,需要了解的就是金属物(比如墙壁和隔断)和混凝土结构(如楼板)会干扰无线信号,导致其实际覆盖的范围要远小于在空旷环境下所能覆盖的范围。无线设备可以把数字化信息编码为适合通过无线电波传输的形式,无线以太网设备发射的电波频率为2.4~2.5GHz,频段是无线联网系统的关键资源。
再谈谈手机,这个很有趣。每个手机都有唯一的识别码,相当于以太网的地址。启动手机时,它就会广播自己的识别码,距离最近的基站收到手机信号后,会通过后台系统验证该识别吗。随着手机移动,基站实时更新其位置信息,并不断向后台系统报告。如果有人呼叫该机,后台系统就能通过一直与它保持联系的基站找到它。手机与基站通信时的信号强度很高,但手机会动态调整功率,在距离基站较近时降低功率。这样不仅可以省电,也可以减少干扰。待机时的耗电量远远比不上一次通话,而这也是为什么待机时间以天为单位,而通话时间以小时为单位的原因。如果手机所在小区信号较弱或根本没有信号,那么它就会因为拼命查找基站而大量耗电。
致谢:本文由美国作家Brian W.Kernighan的《世界是数字的》演绎,更多详尽知识请阅读该书。