鸟叔的linux私房菜:第0章 计算机概论学习笔记(Learning Notes for Basic Computer Theory)

本博客是针对《鸟叔的Linux私房菜 基础学习篇 第四版》的第0章 计算机概论的学习笔记。

0.1 电脑:辅助人脑的好工具

现在人们无时无刻都在使用电脑,不管是桌面电脑(台式机)、笔记本电脑(笔记本)、平板电脑(ipad)还是智能手机等等,这些都是电脑。

电脑本质就是一种计算机,而计算机的定义是:

接受使用者输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息。

因此,只要有输入设备(无论是键盘还是触摸屏)及输出设备(例如电脑屏幕或直接由打印机打印出来),让你可以输入数据并使该机器产生信息的,那就可以算作一部计算机。

那么计算机主要的组成元件是什么呢?下面我们以常见的个人电脑主机或服务器工作站主机来作为说明。

0.1.1 计算机硬件的五大单元

从外观上来看,电脑的硬件可分为三部分:

  • 输入单元:包括键盘、鼠标、读卡器、扫描仪、手写板、触摸屏等等;
  • 主机部分:这个就是系统单元,被主机机箱保护住了,里面含有一堆板子、与内存等;
  • 输出单元:例如屏幕、打印机等等

我们主要通过输入设备如鼠标与键盘来将一些数据输入到主机里面,然后再由主机的功能处理成为图表或文章等信息后, 将结果传输到输出设备,如屏幕或打印机上面。

那主机里面含有什么元件呢?如果你曾经拆开过电脑主机机箱 (包括拆开你的智能手机也一样喔!),会发现其实主机里面最重要的就是一块主板,上面安插了中央处理器(CPU)以及内存、硬盘(或记忆卡)还有一些适配卡设备而已。 当然大部分智能手机是将这些元件直接焊接在主板上面而不是插卡啦!

整部主机的重点在于中央处理器 (Central Processing Unit, CPU),CPU 为一个具有特定功能的芯片, 里头含有微指令集,如果你想要让主机进行什么特异的功能,就得要参考这颗CPU是否有相关内置的微指令集才可以。 由于 CPU 的工作主要在于管理与运算,因此在CPU内又可分为两个主要的单元,分别是:算数逻辑单元与控制单元。其中算数逻辑单元主要负责程序运算与逻辑判断,控制单元则主要在协调各周边元件与各单元间的工作。

既然 CPU 的重点是在进行运算与判断,那么要被运算与判断的数据是从哪里来的?CPU读取的数据都是从内存来的! 内存内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须要先写回内存中,最后数据才从内存传输到输出单元。

所以为什么会说,要加快系统性能,通常将内存容量加大就可以获得相当好的成效?如同下图以及上面的说明,因为所有的数据都要经过内存的传输,所以内存的容量如果太小,数据高速缓存就不足~影响性能相当大!尤其针对Linux作为服务器的环境下!

综合上面所说,我们会知道其实电脑是由几个单元所组成的,包括输入单元、输出单元、CPU内部的控制单元、算数逻辑单元与内存五大部分。 这几个东西的相关性如下所示:

上面图示中的“系统单元”其实指的就是电脑机箱内的主要元件,而重点在于CPU与内存。特别要看的是实线部分的传输方向,基本上数据都是流经过内存再转出去的! 至于数据会流进/流出内存则是CPU所发布的控制命令!而CPU实际要处理的数据则完全来自于内存(不管是程序还是一般文件数据)!这是个很重要的概念喔! 这也是为什么当你的内存不足时,系统的性能就很糟糕!也是为什么现在人们买智能手机时,对于可用内存的要求都很高的原因!

0.1.2 一切设计的起点:CPU的架构

如前面说过的,CPU其实内部已经含有一些微指令,我们所使用的软件都要经过CPU内部的微指令集来达成才行。 那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要CPU架构,分别是:精简指令集 (RISC) 与复杂指令集(CISC)系统。下面我们就来谈谈这两种不同CPU架构的差异啰!

  • 精简指令集(Reduced Instruction Set Computer, RISC):

这种 CPU的设计中,微指令集较为精简,每个指令的执行时间都很短,完成的动作也很单纯,指令的执行性能较佳; 但是若要做复杂的事情,就要由多个指令来完成。常见的 RISC微指令集 CPU 主要例如甲骨文 (Oracle) 公司的 SPARC 系列、 IBM 公司的 Power Architecture(包括PowerPC)系列、与安谋公司 (ARM Holdings) 的 ARM CPU 系列等。

在应用方面,SPARC CPU的电脑常用于学术领域的大型工作站中,包括银行金融体系的主要服务器也都有这类的电脑架构;至于PowerPC架构的应用上,例如索尼(Sony)公司出产的Play Station 3(PS3)就是使用PowerPC架构的Cell处理器; 那安谋的 ARM 呢?你常使用的各厂牌手机、PDA、导航系统、网络设备(交换器、路由器等)等,几乎都是使用 ARM 架构的 CPU 喔! 老实说,目前世界上使用范围最广的 CPU 可能就是 ARM 这种架构的呢!

  • 复杂指令集(Complex Instruction Set Computer, CISC):

与RISC不同的,CISC在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。

由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人电脑(Personal computer)用途上面, 因此,个人电脑常被称为x86架构的电脑!那为何称为x86架构[8]呢?这是因为最早的那颗Intel发展出来的CPU代号称为8086,后来依此架构又开发出80286,80386…,因此这种架构的CPU就被称为x86架构了。

在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位, 为了区别两者的差异,因此64位的个人电脑CPU又被统称为x86_64的架构喔!

知识点:x86架构CPU被大量用于个人电脑上。而x86名字所指的是Intel最早推出的8086代号的芯片(8位),后来随着位数不断升级,有了16、32、64位的电脑,而为了区别出64位的架构,64位的个人电脑CPU又被统称为x86_64的架构。(不用再为下载软件时看不懂适配的cpu架构问题而烦恼了)

  • Tips:

Tips 所谓的位指的是CPU一次数据读取的最大量!64位CPU代表CPU一次可以读写64bits这么多的数据,32位CPU则是CPU一次只能读取32位的意思。 因为CPU读取数据量有限制,因此能够从内存中读写的数据也就有所限制。所以,一般32位的CPU所能读写的最大数据量,大概就是4GB左右。

那么不同的x86架构的CPU有什么差异呢?除了CPU的整体结构(如第二层高速缓存、每次运行可执行的指令数等)之外, 主要是在于微指令集的不同。新的x86的CPU大多含有很先进的微指令集,这些微指令集可以加速多媒体程序的运行,也能够加强虚拟化的性能,而且某些微指令集更能够增加能源效率, 让CPU耗电量降低呢!由于电费越来越高,购买电脑时,除了整体的性能之外,节能省电的CPU特色也可以考虑喔!

其它单元的设备

五大单元中最重要的控制、算术逻辑被整合到 CPU 的封装中,但系统当然不可能只有 CPU
啊!那其他三个重要电脑单元的设备还有哪些呢? 其实在主机机箱内的设备大多是通过主板
(main board) 连接在一块,主板上面有个链接沟通所有设备的芯片组,这个芯片组可以将
所有单元的设备链接起来, 好让 CPU 可以对这些设备下达命令。其他单元的重要设备主要
有:

  • 系统单元:如图 0.1.2 所示,系统单元包括 CPU 与内存及主板相关元件。而主板上头其
    实还有很多的连接接口与相关的适配卡,包括鸟哥近期常使用的 PCI-E 10G 网卡、 磁盘
    阵列卡、还有显卡等等。尤其是显卡,这东西对于玩3D游戏来说是非常重要的一环,他
    与显示的精致度、色彩与分辨率都有关系。
  • 存储单元:包括内存 (main memory, RAM) 与辅助内存,其中辅助内存其实就是大家
    常听到的“储存设备”啰!包括硬盘、软盘、光盘、磁带等等的。
  • 输入、输出单元:同时涵盖输入输出的设备最常见的大概就是触摸屏了。至于单纯的输
    入设备包括前面提到的键盘鼠标之外,目前的体感设备也是重要的输入设备喔! 至于输
    出设备方面,除了屏幕外,打印机、音效喇叭、HDMI电视、投影机、蓝牙耳机等等,都
    算喔!

更详细的各项主机与周边设备我们将在下个小节进行介绍!在这里我们先来了解一下各元件
的关系啰!那就是,电脑是如何运行的呢?

运行流程

如果不是很了解电脑的运行流程的话,鸟哥拿个简单的想法来思考好了~假设电脑是一个人体,那么每个元件对应到那个地方呢?可以这样思考:

这样看,计算机是不是可以说与人类非常相似呢?那么强人工智能是不是也是非常可能的呢prprpr…

  • CPU=脑袋瓜子:每个人会作的事情都不一样(微指令集的差异),但主要都是通过脑袋瓜子来进行判断与控制身体各部分的活动;

  • 内存=脑袋中放置正在被思考的数据的区块:在实际活动过程中,我们的脑袋瓜子需要有外界刺激的数据 (例如光线、环境、语言等)来分析,那这些互动数据暂时存放的地方就是内存,主要是用来提供给脑袋瓜子判断用的信息。

  • 硬盘=脑袋中放置回忆的记忆区块:跟刚刚的内存不同,内存是提供脑袋目前要思考与处理的信息,但是有些生活琐事或其他没有要立刻处理的事情, 就当成回忆先放置到脑袋的记忆深处吧!那就是硬盘!主要目的是将重要的数据记录起来,以便未来将这些重要的经验再次的使用;

  • 主板=神经系统:好像人类的神经一样,将所有重要的元件连接起来,包括手脚的活动都是脑袋瓜子发布命令后, 通过神经(主板)传导给手脚来进行活动啊!各项周边设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!

  • 显卡=脑袋中的影像:将来自眼睛的刺激转成影像后在脑袋中呈现,所以显卡所产生的数据来源也是CPU控制的。

  • 电源供应器 (Power)=心脏:所有的元件要能运行得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力,那么全身也就无法动弹的!心脏不稳定呢?那你的身体当然可能断断续续的~不稳定!

由这样的关系图当中,我们知道整个活动中最重要的就是脑袋瓜子! 而脑袋瓜子当中与现在正在进行的工作有关的就是CPU与内存!任何外界的接触都必须要由脑袋瓜子中的内存记录下来,然后给脑袋中的CPU依据这些数据进行判断后,再发布命令给各个周边设备!如果需要用到过去的经验,就得由过去的经验(硬盘)当中读取啰!

也就是说,整个人体最重要的地方就是脑袋瓜子,同样的,整部主机当中最重要的就是CPU与内存, 而CPU的数据来源通通来自于内存,如果要由过去的经验来判断事情时, 也要将经验(硬盘)挪到目前的记忆(内存)当中,再交由CPU来判断喔!这点得要再次的强调啊!下个章节当中,我们就对目前常见的个人电脑各个元件来进行说明啰!

电脑按用途分类

知道了电脑的基本组成与周边设备,也知道其实电脑的CPU种类非常的多,再来我们想要了解的是,电脑如何分类?电脑的分类非常多种,如果以电脑的复杂度与运算能力进行分类的话,主要可以分为这几类:

  • 超级计算机(Supercomputer) 超级计算机是运行速度最快的电脑,但是他的维护、操作费用也最高!主要是用于需要有高速计算的计划中。例如:国防军事、气象预测、太空科技,用在仿真的领域较多。详情也可以参考: 国家高速网络与计算中心
    http://www.nchc.org.tw的介绍! 至于全世界最快速的前500大超级计算机,则请参考:http://www.top500.org

  • 大型计算机(Mainframe Computer) 大型计算机通常也具有数个高速的CPU,功能上虽
    不及超级计算机,但也可用来处理大量数据与复杂的运算。 例如大型企业的主机、全国
    性的证券交易所等每天需要处理数百万笔数据的企业机构, 或者是大型企业的数据库服
    务器等等。

  • 迷你电脑(Minicomputer) 迷你电脑仍保有大型计算机同时支持多使用者的特性,但是
    主机可以放在一般作业场所, 不必像前两个大型计算机需要特殊的空调场所。通常用来
    作为科学研究、工程分析与工厂的流程管理等。

  • 工作站(Workstation) 工作站的价格又比迷你电脑便宜许多,是针对特殊用途而设计的
    电脑。在个人电脑的性能还没有提升到目前的状况之前, 工作站电脑的性能/价格比是所
    有电脑当中较佳的,因此在学术研究与工程分析方面相当常见。

  • 微电脑(Microcomputer) 个人电脑就属于这部份的电脑分类,也是我们本章主要探讨的
    目标!体积最小,价格最低,但功能还是五脏俱全的! 大致又可分为桌上型、笔记型等
    等。

若光以性能来说,目前的个人电脑性能已经够快了,甚至已经比工作站等级以上的电脑运算
速度还要快! 但是工作站电脑强调的是稳定不死机,并且运算过程要完全正确,因此工作站
以上等级的电脑在设计时的考虑与个人电脑并不相同啦! 这也是为啥工作站等级以上的电脑
售价较贵的原因。

知识点:常用的个人电脑时属于“微电脑”的类型哟,因为相对于它的兄弟姐妹的体型来看,它确实可以称得上“微小”了。

电脑上面常用的计算单位(容量、速度等)

电脑的运算能力除了 CPU 微指令集设计的优劣之外,但主要还是由速度来决定的。至于存放
在电脑储存设备当中的数据容量也是有单位的。

  • 容量单位

电脑对数据的判断主要依据有没有通电来记录信息,所以理论上对于每一个纪录单位而言,
它只认识 0 与 1 而已。0/1 这个二进制的的单位我们称为 bit。 但 bit 实在太小了,所以在储
存数据时每份简单的数据都会使用到 8 个 bits 的大小来记录,因此定义出 Byte 这个单位,他
们的关系为:

1 Byte = 8 bits

不过同样的,Byte 还是太小了,在较大的容量情况下,使用 Byte 相当不容易判断数据的大
小,举例来说,1000000 Bytes 这样的显示方式你能够看得出有几个零吗?所以后来就有一
些常见的简化单位表达式,例如 K 代表 1024Byte,M 代表 1024K 等。 而这些单位在不同的
进位制下有不同的数值表示,下面就列出常见的单位与进位制对应:

进位制Kilo Mega Giga Tera Peta
二进制1024 1024K 1024M 1024G 1024T
十进制1000 1000K 1000M 1000G 1000T

一般来说,文件大小使用的是二进制的方式,所以 1GBytes 的文件大小实际上为:
1024x1024x1024Bytes 这么大! 速度单位则常使用十进制,例如 1GHz 就是
1000x1000x1000Hz 的意思。

  • Tips

CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。而在网
络传输方面,由于网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits per
second,亦即是每秒多少 Mbit。举例来说,大家常听到的 20M/5M 光世代传输速度,如果转
成文件大小的 Byte 时,其实理论最大传输值为:每秒 2.5MByte/ 每秒625KByte的下载/上传
速度喔!

例题:假设你今天购买了500GB的硬盘一颗,但是格式化完毕后却只剩下460GB左右的容
量,这是什么原因?答:因为一般硬盘制造商会使用十进制的单位

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值