所谓的电脑就是一种计算机,而计算机其实是:『
接受使用者输入指令与数据, 经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息
』。
CPU 为一个具有特定功能的芯片, 里头含有微指令集。
由於 CPU 的工作主要在於管理与运算,因此在 CPU 内又可分为两个主要的单元,分别是:
算数逻辑单元与控制单元
。
其中算数逻辑单元主要负责程序运算与逻辑判断,控制单元则主要在协调各周边组件与各单元间的工作。
CPU其实内部已经含有一些小指令集,我们所使用的软件都要经过CPU内部的微指令集来达成才行。 那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要CPU种类: 分别是精简指令集(RISC)与复杂指令集(CISC)系统。
精简指令集
(Reduced Instruction Set Computer, RISC):
:
微指令集较为精简,每个指令的执行时间都很短,完成的动作也很单纯,指令的执行效能较佳; 但是若要做复杂的事情,就要由多个指令来完成。
目前世界上使用范围最广的CPU可能就是ARM呢。
复杂指令集(Complex Instruction Set Computer, CISC):
与RISC不同的,CISC在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。
64位的个人计算机CPU又被统称为x86_64的架构喔。
主机板上面最重要的组件就是主机板芯片组!这个芯片组可以将所有的设备汇集在一起!
芯片组通常又分为两个桥接器来控制各组件的沟通, 分别是:
(1)北桥:负责连结速度较快的CPU、主内存与显示卡等组件;(2)南桥:负责连接速度较慢的周边介面, 包括硬盘、USB、网络卡等等。
所谓的多核心则是在一颗CPU封装当中嵌入了两个以上的运算核心
注意,不同的CPU之间不能单纯的以频率来判断运算效能喔!这是因为每颗CPU的微指令集不相同,架构也不见得一样, 每次频率能够进行的工作指令数也不同之故!所以,频率目前仅能用来比较同款CPU的速度!
所谓的外频指的是CPU与外部组件进行数据传输时的速度,倍频则是 CPU 内部用来加速工作效能的一个倍数, 两者相乘才是CPU的频率速度
。
很多计算机硬件玩家很喜欢玩『超频』,所谓的超频指的是: 将CPU的倍频或者是外频透过主机板的设定功能更改成较高频率的一种方式。但因为CPU的倍频通常在出厂时已经被锁定而无法修改, 因此较常被超频的为外频。
举例来说,像上述3.0GHz的CPU如果想要超频, 可以将他的外频333MHz调整成为400MHz,但如此一来整个主机板的各个组件的运作频率可能都会被增加成原本的1.333倍(4/3), 虽然CPU可能可以到达3.6GHz,但却因为频率并非正常速度,故可能会造成当机等问题。
北桥的系统总线称为系统系统总线,因为是内存传输的主要通道,所以速度较快。 南桥就是所谓的输入输出(I/O)系统总线
,主要在联系硬盘、USB、网络卡等周边设备。
北桥所支持的频率我们称为前端系统总线速度(Front Side Bus, FSB), 而每次传送的位数则是系统总线宽度。
那所谓的系统总线频宽则是:『FSBx系统总线宽度』亦即每秒钟可传送的最大数据量。 目前常见的系统总线宽度有32/64位(bits)。
与系统总线宽度相似的,
CPU每次能够处理的数据量称为字长大小(word size), 字长大小依据CPU的设计而有32位与64位
主内存型号的挑选与CPU及芯片组有关,所以主机板、CPU与内存在购买的时候必须要考虑其相关性喔。 并不是任何主机板都可以安插DDR III的內存呢!
双通道设计:
片组厂商就将两个主内存汇整在一起, 如果一支内存可达64位,两支内存就可以达到128位了,这就是双通道的设计理念。
启用双通道的功能你必须要安插两支(或四支)主内存,这两支内存最好连型号都一模一样比较好, 这是因为启动双通道内存功能时,数据是同步写入/读出这一对主内存中,如此才能够提升整体的频宽啊! 所以当然除了容量大小要一致之外,型号也最好相同啦!
SRAM
(Static Random Access Memory, SRAM)
:
我们现在知道CPU的数据都是由主内存提供,但主内存的数据毕竟得经由北桥送到CPU内。 如果某些很常用的程序或数据可以放置到CPU内部的话,那么CPU数据的读取就不需要透过北桥了! 对於效能来说不就可以大大的提升了?这就是第二层缓存的设计概念。
SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(
Dynamic Random Access Memory)
每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,
这个显示卡内存容量将会影响到最终你的萤幕解析度与色彩深度的喔!
磁碟盘上的数据:
磁碟的最小储存单位,那就是磁区(Sector), 在物理组成分面,每个磁区大小为512Bytes,这个值是不会改变的
。
而磁区组成一个圆就成为磁轨(track), 如果是在多碟的硬盘上面,
在所有磁碟盘上面的同一个磁轨可以组成一个磁柱(Cylinder), 磁柱也是一般我们分割硬盘时的最小单位了
!
如果你想要增加一颗硬盘在你的主机里头时,除了需要考虑你的主机板可接受的插槽介面(IDE/SATA)之外, 还有什么要注意的呢?
- 容量
通常首先要考量的就是容量的问题!目前(2009)主流市场硬盘容量已经到达320GB以上,甚至有的厂商已经生产高达 2TB 的产品呢!硬盘可能可以算是一种消耗品,要注意重要数据还是得常常备份出来喔!
- 缓冲内存
硬盘上头含有一个缓冲内存,这个内存主要可以将硬盘内常使用的数据缓存起来,以加速系统的读取效能。 通常这个缓冲内存越大越好,因为缓冲内存的速度要比数据从硬盘盘中被找出来要快的多了! 目前主流的产品可达16MB左右的内存大小喔。
- 转速
因为硬盘主要是利用主轴马达转动磁碟盘来存取,因此转速的快慢会影响到效能。 主流的桌上型计算机硬盘为每分钟7200转,笔记型计算机则是5400转。有的厂商也有推出高达10000转的硬盘, 若有高效能的数据存取需求,可以考虑购买高转速硬盘。
- 运转须知
由於硬盘内部机械手臂上的磁头与硬盘盘的接触是很细微的空间, 如果有抖动或者是脏污在磁头与硬盘盘之间就会造成数据的损毁或者是实体硬盘整个损毁~ 因此,正确的使用计算机的方式,应该是在计算机通电之后,就绝对不要移动主机,并免抖动到硬盘, 而导致整个硬盘数据发生问题啊!另外,也不要随便将插头拔掉就以为是顺利关机!因为机械手臂必须要归回原位, 所以使用操作系统的正常关机方式,才能够有比较好的硬盘保养啊!因为他会让硬盘的机械手臂归回原位啊!
主机板是负责各个计算机组件之间的沟通,但是计算机组件实在太多了,有输出/输入/不同的储存装置等等, 主机板芯片组怎么知道如何负责沟通啊?这个时候就需要用到所谓的I/O位址与IRQ
I/O位址有点类似每个装置的门牌号码,每个装置都有他自己的位址,一般来说,不能有两个装置使用同一个I/O位址, 否则系统就会不晓得该如何运作这两个装置了。而除了I/O位址之外,还有个IRQ中断(Interrupt)这个咚咚。
如果I/O位址想成是各装置的门牌号码的话,那么IRQ就可以想成是各个门牌连接到邮件中心(CPU)的专门路径罗! 各装置可以透过IRQ中断通道来告知CPU该装置的工作情况,以方便CPU进行工作分配的任务。 老式的主机板芯片组IRQ只有15个,如果你的周边介面太多时可能就会不够用, 这个时候你可以选择将一些没有用到的周边介面关掉,以空出一些IRQ来给真正需要使用的介面喔! 当然,也有所谓的sharing IRQ的技术就是了!
前面内存的地方我们有提过CMOS与BIOS的功能,在这里我们再来强调一下: CMOS主要的功能为记录主机板上面的重要参数, 包括系统时间、CPU电压与频率、各项设备的I/O位址与IRQ等,由於这些数据的记录要花费电力,因此主机板上面才有电池。 BIOS为写入到主机板上某一块 flash 或 EEPROM 的程序,他可以在开机的时候执行,以载入CMOS当中的参数, 并尝试呼叫储存装置中的开机程序,进一步进入操作系统当中。BIOS程序也可以修改CMOS中的数据, 每种主机板呼叫BIOS设定程序的按键都不同,一般桌上型计算机常见的是使用[del]按键进入BIOS设定画面。
常用的英文编码表为ASCII系统。中文字当中的编码系统目前最常用的就是big5这个编码表。Unicode编码系统, 我们常常称呼的UTF8或万国码的编码就是这个咚咚。因为这个编码系统打破了所有国家的不同编码。
核心程序(kernel)所放置到内存当中的区块是受保护的! 并且开机后就一直常驻在内存当中。
在定义上,只要能够让计算机硬件正确无误的运作,那就算是操作系统了。所以说, 操作系统其实就是核心与其提供的介面工具,不过就如同上面讲的,因为最简单的核心缺乏了与使用者沟通的亲和介面, 所以在目前,一般我们提到的『操作系统』都会包含核心与相关的使用者应用软件呢。
应用程序的开发都是参考操作系统提供的开发介面, 所以该应用程序只能在该操作系统上面运作而已,不可以在其他操作系统上面运作的。
既然核心主要是在负责整个计算机系统相关的资源分配与管理,那我们知道其实整部计算机系统最重要的就是CPU与主内存, 因此,核心至少也要有这些功能的:
- 系统呼叫介面(System call interface)
刚刚谈过了,这是为了方便程序开发者可以轻易的透过与核心的沟通,将硬件的资源进一步的利用, 於是需要有这个简易的介面来方便程序开发者。
- 程序管理(Process control)
总有听过所谓的『多工环境』吧?一部计算机可能同时间有很多的工作跑到CPU等待运算处理, 核心这个时候必须要能够控制这些工作,让CPU的资源作有效的分配才行!另外, 良好的CPU排程机制(就是CPU先运作那个工作的排列顺序)将会有效的加快整体系统效能呢!
- 内存管理(Memory management)
控制整个系统的内存管理,这个内存控制是非常重要的,因为系统所有的程序码与数据都必须要先存放在内存当中。 通常核心会提供虚拟内存的功能,当内存不足时可以提供内存置换(swap)的功能哩。
- 档案系统管理(Filesystem management)
档案系统的管理,例如数据的输入输出(I/O)等等的工作啦!还有不同档案格式的支持啦等等, 如果你的核心不认识某个档案系统,那么您将无法使用该档案格式的档案罗!例如:Windows 98就不认识NTFS档案格式的硬盘;
- 装置的驱动(Device drivers)
就如同上面提到的,硬件的管理是核心的主要工作之一,当然罗,装置的驱动程序就是核心需要做的事情啦! 好在目前都有所谓的『可载入模组』功能,可以将驱动程序编辑成模组,就不需要重新的编译核心啦! 这个也会在后续的第二十章当中提到的!
Tips: 事实上,驱动程序的提供应该是硬件厂商的事情!硬件厂商要推出硬件时,应该要自行参考操作系统的驱动程序开发介面, 开发完毕后将该驱动程序连同硬件一同贩卖给使用者才对!举例来说,当你购买显示卡时, 显示卡包装盒都会附上一片光盘,让你可以在进入Windows之后进行驱动程序的安装啊!
- 操作系统必须要能够驱动硬件,如此应用程序才能够使用该硬件功能;
- 一般来说,操作系统会提供开发介面,让开发商制作他们的驱动程序;
- 要使用新硬件功能,必须要安装厂商提供的驱动程序才行;
- 驱动程序是由厂商提供的,与操作系统开发者无关。
|