python 全栈开发之路 day1
本节内容
计算机发展介绍
计算机硬件组成
计算机基本原理
计算机
约翰·冯·诺依曼
。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。
发展历史
如从“结绳记事”中的绳结到算筹、算盘计算尺、机械计算机等。它们在不同的历史时期发挥了各自的历史作用,同时也启发了电子计算机的研制和设计思路。
电子数字积分计算机
”(ENIAC Electronic Numerical And Calculator)在美国
宾夕法尼亚大学
问世了。ENIAC(中文名:
埃尼阿克
)是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的,这台计算器使用了17840支电子管,大小为80英尺×8
英尺
,重达28t(吨),功耗为170kW,其运算速度为每秒5000次的加法运算,造价约为487000美元。ENIAC的问世具有划时代的意义,表明电子计算机时代的到来。在以后60多年里,计算机技术以惊人的速度发展,没有任何一门技术的性能价格比能在30年内增长6个数量级。
-
第1代:电子管数字机(1946—1958年)
-
第2代:晶体管数字机(1958—1964年)
编译
程序。应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提高。
-
第3代:集成电路数字机(1964—1970年)
集成电路
,主存储器仍采用
磁芯
。软件方面出现了分时操作系统以及结构化、规模化程序设计方法。特点是速度更快(一般为每秒数百万次至数千万次),而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化等。应用领域开始进入文字处理和图形图像处理领域。
微型计算机
的新时代。应用领域从科学计算、事务管理、过
程控
制逐步走向家庭。
集成技术
的发展,
半导体芯片
的集成度更高,每块芯片可容纳数万乃至数百万个晶体管,并且可以把运算器和控制器都集中在一个芯片上、从而出现了微处理器,并且可以用微处理器和大规模、超大规模集成电路组装成微型计算机,就是我们常说的微电脑或PC机。微型计算机体积小,价格便宜,使用方便,但它的功能和运算速度已经达到甚至超过了过去的大型计算机。另一方面,利用大规模、超大规模集成电路制造的各种逻辑芯片,已经制成了体积并不很大,但运算速度可达一亿甚至几十亿次的巨型计算机。我国继1983年研制成功每秒运算一亿次的银河Ⅰ这型巨型机以后,又于1993年研制成功每秒运算十亿次的银河Ⅱ型通用并行巨型计算机。这一时期还产生了新一代的程序设计语言以及数据库管理系统和网络软件等。
外存储器
,由最初的阴极射线显示管发展到
磁芯
、
磁鼓
,以后又发展为通用的磁盘,现又出现了体积更小、容量更大、速度更快的只读光盘(CD—ROM)。
时期
|
时间
|
典型计算机
|
描述
|
第一代计算机
(电子管) |
1946年
2月16日 |
ENIAC
|
美国宾夕法尼亚大学研制的人类历史上真正意义的第一台电子计算机,占地170平方米,耗电150千瓦,造价48万美元,每秒可执行5000次加法或400次乘法运算。共使用了18000个电子管。
|
1950年
|
EDVAC
|
第一台并行计算机,实现了计算机之父“冯.诺伊曼”的两个设想:采用二进制和存储程序。
|
第二代计算机
(晶体管) |
1954年
|
TRADIC
|
IBM公司制造的第一台使用晶体管的计算机,增加了浮点运算,使计算能力有了很大提高
|
1958年
|
IBM 1401
|
这是第二代计算机中的代表,用户当时可以租用。
|
第三代
集成电路
计算机时代(从60年代中期到70年代前期),计算机采用集成电路作为基本器件,功耗、体积、价格进一步下降,速度和可靠性相应的提高。代表机型IBM公司的IBM360.
时期
|
时间
|
典型计算机
|
描述
|
第四代计算机(大规模和超大规模集成电路)
|
1970年
|
IBM S/370
|
这是IBM的更新换代的重要产品,采用了大规模集成电路代替磁芯存储,小规模集成电路作为逻辑元件,并使用虚拟存储器技术,将硬件和软件分离开来,从而明确了软件的价值。
|
1975年4月
|
Altair 8800
|
MITS制造的,带有1KB存储器。这是世界上第一台微型计算机。
|
|
1977年4月
|
Apple II
|
NMOS6500 1MHz CPU,4KB RAM 16KB ROM,这是计算机史上第一个带有彩色图形的个人计算机
|
|
1981年8月12日
|
IBM PC
|
采用了主频为4.77MHz的Intel 8088CPU,内存64KB,160KB软驱,操作系统是Microsoft提供的MS-DOS
|
|
1983年1月19日
|
APPLE LISA
|
第一台使用了鼠标的电脑,第一台使用图形用户界面的电脑。
|
|
1983年3月8日
|
IBM PC/XT
|
采用INTEL8088 4.77MHz的CPU,256K RAM和40K ROM,10MB的硬盘,两部360KB软驱。
|
|
1984年8月
|
IBM PC/AT
|
采用Intel 80286 6MHzCPU, 512KB内存,20MB硬盘和1.2M软驱。
|
|
1986年9月
|
Compaq Desktop PC
|
采用了Intel 80386 16MHz CPU,640KB内存,20MB硬盘,1.2M软驱,是计算机史上第一台386计算机。
|
|
1989年4月
|
DELL 80486
|
采用Intel 80486DX CPU 640KB内存, 20MB硬盘,1.2M软驱。
|
|
1996年
|
基本配置是奔腾或者奔腾MMX 的CPU,32M EDO或者SDRAM内存,2.1G硬盘,14寸球面显示器为标准配置。
|
||
1997年
|
基本配置开始向赛扬处理器过渡,部分高档的机器开始使用PentiumII CPU,同时内存也由早期的EDO过渡到SDRAM,4.3G左右的硬盘开始成为标准配置。
|
||
1998年
|
带有128K二级高速缓存的赛扬处理器成为广大装机者的最爱,同时64M内存和15寸显示器开始成为标准配置。
|
||
1999年
|
部分品牌厂商开始将PentiumIII CPU作为电脑的一个卖点,64M内存和6.4G硬盘开始成为电脑的标准配置。
|
||
2000年
|
66M和100M外频的赛扬处理器占领了大部分品牌或兼容机的市场,128M内存,10G以上的硬盘开始成为标准配置,17寸显示器慢慢进入家庭。
|
||
2001年至今
|
Pentium 4 CPU和Pentium 4赛扬CPU开始成为电脑的标准配置,内存由SDRAM实现了向DDR的过渡,同时17寸CRT显示器或者15寸液晶显示器开始成为用户的首选,硬盘逐渐向40G以上的容量发展。
|
||
苹果 iMac G5(M9248CH/A)
|
处理器类型PowerPC G5配置,主频1600MHz以上,内存容量256MB,硬盘容量80GB,显示器类型17”液晶。这是苹果电脑的创新,将主机的部件全部集成到显示器内部。显示器就是一台电脑。
|
机器组成
算术逻辑单元
、
控制单元
及
记忆单元
,其中算术逻辑单元和控制单元合称
中央处理单元
(Center Processing Unit,
CPU
)。[1]
硬件系统
-
电源
-
主板
中央处理器
,是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。作为整个系统的核心,CPU也是整个系统最高的执行单元,因此CPU已成为决定电脑性能的核心部件,很多用户都以它为标准来判断电脑的档次。
-
内存
随机存储器
(RAM),分为DDR内存和SDRAM内存,(但是SDRAM由于容量低,存储速度慢,稳定性差,已经被DDR淘汰了)内存属于电子式存储设备,它由电路板和芯片组成,特点是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的所有数据。 内存有DDR、DDR II、DDR III三大类,容量1-64GB。
-
硬盘
-
声卡
-
显卡
-
网卡
有内置式和外置式,有线式和无线式。调制解调器是通过电话线上网时必不可少的设备之一。它的作用是将电脑上处理的数字信号转换成电话线传输的模拟信号。随着ADSL宽带网的普及,内置式调制解调器逐渐退出了市场。
-
光驱
演变
早期的计算机
输出设备
也相当简陋,就是计算机面板上无数的信号灯。所以那时的计算机根本无法处理像现在这样各种各样的信息,它实际上只能进行数字运算。
有内部存储器
中央处理器
旁边加了一个内部
存储器
。这个模型的好处在于。先打个比方说,如果老师让你心算一道简单题,你肯定毫不费劲就算出来了,可是如果老师让你算20个三位数相乘,你心算起来肯定很费力,但如果给你一张草稿纸的话,你也能很快算出来。
纸带机
有键盘和显示器
有外部存储器
存储器
。外部存储器的“外部”是相对于内部存储器来说的,在
中央处理器
处理信息
时,它并不直接和外部存储器打交道,处理过程中的信息都临时存放在内部存储器中,在
信息处理
结束后,处理的结果也存放在内部存储器中。可是如果这时突然停电,那些结果还会丢失的。内部存储器(或简称内存)中的信息是靠电力来维持的,一旦电力消失,内存中的数据就会全部消失。也正因为如此,人们才在计算机模型中加入了外部存储器,把内存中的处理结果再存储到外部存储器中,这样停电后数据也不会丢失了。
存储器
与内存的区别在于:它们的存储机制是不一样的,外部存储器是把
数据存储
到磁性介质上,所以不依赖于是否有电。这个磁性介质就好比家里的歌曲磁带,磁带上的歌曲不管有没有电都是存在的。当时人们也是考虑到了磁带这种好处,所以在计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘。
有文件系统
有操作系统
外部设备
。它替人们管理日益增多的文件,使人们能很方便地找到和使用这些文件;它替人们管理磁盘,随时报告磁盘的使用情况;它替
计算机管理
内存,使计算机能更高效而安全地工作;它还负责管理各种外部设备,如打印机等,有了它的管理,这些外设就能有效地为用户服务了。
软件系统
应用软件
硬件和软件的结合
主机
、显示器、键盘、鼠标等,而软件是我们看不见的,存在于计算机内部的。打个比方,硬件就好比人类躯体,而软件就好比人类的思想,没有躯体,思想是无法存在的,但没有思想的躯体也只是一个植物人。一个正常人要完成一项工作,都是躯体在思想的支配下完成的。电脑和这相类似,没有主机等硬件,软件是无法存在的;而一个没有软件的计算机也只是一堆废铁。
操作系统对文件的管理
计算机分类
知道了计算机的基本组成与周边装置,也知道其实计算机的CPU种类非常的多,再来我们想要了解的是,计算机如何分类? 计算机的分类非常多种,如果以计算机的复杂度与运算能力进行分类的话,主要可以分为这几类:
-
超级计算机(Supercomputer)
超级计算机是运作速度最快的计算机,但是他的维护、操作费用也最高!主要是用於需要有高速计算的计画中。 例如:国防军事、气象预测、太空科技,用在模拟的领域较多。详情也可以参考: 国家高速网络与计算中心
http://www.nchc.org.tw
的介绍! 至於全世界最快速的前500大超级计算机,则请参考:
http://www.top500.org
。 -
大型计算机(Mainframe Computer)
大型计算机通常也具有数个高速的CPU,功能上虽不及超级计算机,但也可用来处理大量数据与复杂的运算。 例如大型企业的主机、全国性的证券交易所等每天需要处理数百万笔数据的企业机构, 或者是大型企业的数据库服务器等等。 -
迷你计算机(Minicomputer)
迷你计算机仍保有大型计算机同时支持多使用者的特性,但是主机可以放在一般作业场所, 不必像前两个大型计算机需要特殊的空调场所。通常用来作为科学研究、工程分析与工厂的流程管理等。 -
工作站(Workstation)
工作站的价格又比迷你计算机便宜许多,是针对特殊用途而设计的计算机。在个人计算机的效能还没有提升到目前的状况之前, 工作站计算机的性能/价格比是所有计算机当中较佳的,因此在学术研究与工程分析方面相当常见。 -
微计算机(Microcomputer)
又可以称为个人计算机,也是我们这里主要探讨的目标!体积最小,价格最低,但功能还是五脏俱全的! 大致又可分为桌上型、笔记型等等。
若光以效能来说,目前的个人计算机效能已经够快了,甚至已经比工作站等级以上的计算机运算速度还要快! 但是工作站计算机强调的是稳定不当机,并且运算过程要完全正确,因此工作站以上等级的计算机在设计时的考量与个人计算机并不相同啦! 这也是为啥工作站等级以上的个人计算机售价较贵的原因。
计算机上面常用的计算单位 (容量、速度等)
计算机的运算能力是由速度来决定的,而存放在计算机储存设备当中的数据容量也是有单位的。
-
容量单位
计算机依有没有通电来记录信息,所以理论上它只认识 0 与 1 而已。0/1 的单位我们称为 bit。但 bit 实在太小了, 并且在储存数据时每份简单的数据都会使用到 8 个 bits 的大小来记录,因此定义出 byte 这个单位,他们的关系为:
1 Byte = 8 bits
不过同样的,Byte 还是太小了,在较大的容量情况下,使用 byte 相当不容易判断数据的大小,举例来说,1000000 bytes 这样的显示方式你能够看得出有几个零吗?所以后来就有一些常见的简化单位表示法,例如 K 代表 1024,M 代表 1024K 等。 而这些单位在不同的进位制下有不同的数值表示,底下就列出常见的单位与进位制对应:
进位制 | K | M | G | T | P |
二进位 | 1024 | 1024K | 1024M | 1024G | 1024T |
十进位 | 1000 | 1000K | 1000M | 1000G | 1000T |
一般来说,档案容量使用的是二进位的方式,所以 1 GBytes 的档案大小实际上为:1024x1024x1024 Bytes 这么大! 速度单位则常使用十进位,例如 1GHz 就是 1000x1000x1000 Hz 的意思。
-
速度单位
CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。而在网络传输方面,由於网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits per second,亦即是每秒多少 Mbit。举例来说,大家常听到的 8M/1M ADSL 传输速度,如果转成档案容量的 byte 时,其实理论最大传输值为:每秒 1Mbyte/ 每秒125Kbyte的上传/下载容量喔!
例题:
假设你今天购买了500GB的硬盘一颗,但是格式化完毕后却只剩下460GB左右的容量,这是什么原因?
答:
因为一般硬盘制造商会使用十进位的单位,所以500GByte代表为500*1000*1000*1000Byte之意。 转成档案的容量单位时使用二进位(1024为底),所以就成为466GB左右的容量了。
硬盘厂商并非要骗人,只是因为硬盘的最小物理量为512Bytes,最小的组成单位为磁区(sector), 通常硬盘容量的计算采用『多少个sector』,所以才会使用十进位来处理的。相关的硬盘信息在这一章后面会提到的! |
个人计算机架构与周边设备
一般消费者常说的计算机通常指的就是x86的个人计算机架构,因此我们有必要来了解一下这个架构的各个组件。 事实上,Linux最早在发展的时候,就是依据个人计算机的架构来发展的,所以,真的得要了解一下呢! 另外,因为两大主流x86开发商(Intel, AMD)的CPU架构并不相容,而且设计理念也有所差异, 所以两大主流CPU所需要的主机板芯片组设计也就不太相同。目前(2009)最新的主机板架构主要是这样的:
图2.1.1、Intel芯片架构
就如同前一小节提到的,整个主机板上面最重要的就是芯片组了!而芯片组通常又分为两个桥接器来控制各组件的沟通, 分别是:
(1)北桥:负责连结速度较快的CPU、主内存与显示卡等组件;(2)南桥:负责连接速度较慢的周边介面, 包括硬盘、USB、网络卡等等。(芯片组的南北桥与三国的大小乔没有关系 @_@)至於AMD的芯片组架构如下所示:
图2.1.2、AMD芯片架构
与Intel不同的地方在於主内存是直接与CPU沟通而不透过北桥!从前面的说明我们可以知道CPU的数据主要都是来自於主内存提供, 因此
AMD为了加速这两者的沟通,所以将内存控制组件整合到CPU当中, 理论上这样可以加速CPU与主内存的传输速度!这是两种CPU在架构上面主要的差异点。
毕竟目前世界上x86的CPU主要供应商为Intel,所以底下鸟哥将以Intel的主机板架构说明各组件! 我们以技嘉公司出的主机板,型号:Gigabyte GA-X48-DQ6作为一个说明的范例,主机板各组件如下所示:
图2.1.3、技嘉主机板各组件(图片为各公司所有)
主要的组件为:CPU、主内存、磁盘设备(IDE/SATA)、系统总线芯片组(南桥/北桥)、显示卡介面(PCI-Express)与其他介面卡(PCI)。 底下的各项组件在讲解时,请参考Intel芯片组架构与技嘉主机板各组件来印证喔!
如同
技嘉主机板示意图
上最上方的中央部分,那就是CPU插槽。 由於CPU负责大量运算,因此CPU通常是具有相当高发热量的组件。所以如果你曾经拆开过主机板, 应该就会看到CPU上头通常会安插一颗风扇来主动散热的。
x86个人计算机的CPU主要供应商为Intel与AMD,目前(2009)主流的CPU都是双核以上的架构了! 原本的单核心CPU仅有一个运算单元,所谓的多核心则是在一颗CPU封装当中嵌入了两个以上的运算核心, 简单的说,就是一个实体的CPU外壳中,含有两个以上的CPU单元就是了。
不同的CPU型号大多具有不同的脚位(CPU上面的插脚),能够搭配的主机板芯片组也不同, 所以当你想要将你的主机升级时,不能只考虑CPU,你还得要留意你的主机板上面所支持的CPU型号喔! 不然买了最新的CPU也不能够安插在你的旧主机板上头的!目前主流的CPU有Intel的Core 2 Duo与AMD的Athlon64 X2双核CPU, 高阶产品则有Intel的Core i7 与AMD的Phenom II 四核心CPU喔!
图2.1.4、不同的CPU脚位
我们前面谈到CPU内部含有微指令集,不同的微指令集会导致CPU工作效率的优劣。除了这点之外, CPU效能的比较还有什么呢?那就是CPU的频率了!什么是频率呢?简单的说,
频率就是CPU每秒钟可以进行的工作次数。 所以频率越高表示这颗CPU单位时间内可以作更多的事情。举例来说,Intel的Core 2 Duo型号E8400的CPU频率为3.0GHz, 表示这颗CPU在一秒内可以进行3.0×10
9
次工作,每次工作都可以进行少数的指令运作之意。
Tips: 注意,不同的CPU之间不能单纯的以频率来判断运算效能喔!这是因为每颗CPU的微指令集不相同,架构也不见得一样, 每次频率能够进行的工作指令数也不同之故!所以,频率目前仅能用来比较同款CPU的速度! |
-
CPU的『外频』与『倍频』
我们可以看到
图2.1.1的芯片架构图
当中各个组件都是透过北桥与南桥所连接在一起。 但就像一群人共同在处理一个连续作业一般,如果这一群人里面有个人的动作特别快或特别慢, 将导致前面或者是后面的人事情一堆处理不完!也就是说,这一群人最好能够速度一致较佳! 所以,CPU与外部各组件的速度理论上应该要一致才好。但是因为CPU需要较强大的运算能力, 因为很多判断与数学都是在CPU内处理的,因此CPU开发商就在CPU内再加上一个加速功能, 所以CPU有所谓的外频与倍频!
所谓的外频指的是CPU与外部组件进行数据传输时的速度,倍频则是 CPU 内部用来加速工作效能的一个倍数, 两者相乘才是CPU的频率速度。我们以刚刚Intel Core 2 Duo E8400 CPU来说,他的频率是3.0GHz, 而外频是333MHz,因此倍频就是9倍罗!(3.0G=333Mx9, 其中1G=1000M)
Tips: 很多计算机硬件玩家很喜欢玩『超频』,所谓的超频指的是: 将CPU的倍频或者是外频透过主机板的设定功能更改成较高频率的一种方式。但因为CPU的倍频通常在出厂时已经被锁定而无法修改, 因此较常被超频的为外频。 举例来说,像上述3.0GHz的CPU如果想要超频, 可以将他的外频333MHz调整成为400MHz,但如此一来整个主机板的各个组件的运作频率可能都会被增加成原本的1.333倍(4/3), 虽然CPU可能可以到达3.6GHz,但却因为频率并非正常速度,故可能会造成当机等问题。 |
-
32位与64位
前面谈到CPU运算的数据都是由主内存提供的,主内存与CPU的沟通速度靠的是外部频率, 那么每次工作可以传送的数据量有多大呢?那就是系统总线的功能了。一般主机板芯片组有分北桥与南桥,
北桥的系统总线称为系统系统总线,因为是内存传输的主要通道,所以速度较快。 南桥就是所谓的输入输出(I/O)系统总线,主要在联系硬盘、USB、网络卡等周边设备。
目前北桥所支持的频率可高达333/400/533/800/1066/1333/1600MHz等不同频率,支持情况依芯片组功能而有不同。
北桥所支持的频率我们称为前端系统总线速度(Front Side Bus, FSB), 而每次传送的位数则是系统总线宽度。 那所谓的系统总线频宽则是:『FSBx系统总线宽度』亦即每秒钟可传送的最大数据量。 目前常见的系统总线宽度有32/64位(bits)。
而如
图 2.1.1
中的图示,在该架构中前端系统总线最高速度可达1600MHz。 我们看到内存与北桥的频宽为12.8GBytes/s,亦即是1600MHz*64bits = 1600MHz*8Bytes = 12800MByes/s = 12.8GBytes/s
与系统总线宽度相似的,
CPU每次能够处理的数据量称为字长大小(word size), 字长大小依据CPU的设计而有32位与64位。我们现在所称的计算机是32或64位主要是依据这个 CPU解析的字长大小而来的!早期的32位CPU中,因为CPU每次能够解析的数据量有限, 因此由主内存传来的数据量就有所限制了。
这也导致32位的CPU最多只能支持最大到4GBytes的内存。
Tips: 字长大小与系统总线宽度是可以不同的!举例来说,在Pentium Pro时代,该CPU是32位的处理器, 但当时的芯片组可以设计出64位的系统总线宽度。在这样的架构下我们通常还是以CPU的字长大小来称呼该架构。 个人计算机的64位CPU是到2003年由AMD Athlon64后才出现的。 |
-
CPU等级
由於x86架构的CPU在Intel的Pentium系列(1993年)后就有不统一的脚位与设计,为了将不同种类的CPU规范等级, 所以就有i386,i586,i686等名词出现了。基本上,在Intel Pentium MMX与AMD K6年代的CPU称为i586等级, 而Intel Celeron与AMD Athlon(K7)年代之后的32位CPU就称为i686等级。 至於目前的64位CPU则统称为x86_64等级。
目前很多的程序都有对CPU做最佳化的设计,万一哪天你发现一些程序是注明给686的CPU使用时, 就不要将他安装在586以下等级的计算机中,否则可是会无法执行该软件的! 不过,在686倒是可以安装386的软件喔!也就是说,这些东西具有向下相容的能力啦!
如同
图2.1.3、技嘉主机板示意图
中的右上方部分的那四根插槽,那就是主内存的插槽了。 主内存插槽中间通常有个突起物将整个插槽稍微切分成为两个不等长的距离, 这样的设计可以让使用者在安装主内存时,不至於前后脚位安插错误,是一种防呆的设计喔。
前面提到CPU所使用的数据都是来自於主内存(main memory),不论是软件程序还是数据,都必须要读入主内存后CPU才能利用。
个人计算机的主内存主要组件为动态随机访问内存(Dynamic Random Access Memory, DRAM), 随机访问内存只有在通电时才能记录与使用,断电后数据就消失了。因此我们也称这种RAM为挥发性內存。
DRAM根据技术的更新又分好几代,而使用上较广泛的有所谓的SDRAM与DDR SDRAM两种。 这两种内存的差别除了在於脚位与工作电压上的不同之外,DDR是所谓的双倍数据传送速度(Double Data Rate), 他可以在一次工作周期中进行两次数据的传送,感觉上就好像是CPU的倍频啦! 所以传输频率方面比SDRAM还要好。新一代的PC大多使用DDR内存了。 下表列出SDRAM与DDR SDRAM的型号与频率及频宽之间的关系。
SDRAM/DDR | 型号 | 数据宽度(bit) | 外频(MHz) | 频率速度 | 频宽(频率x宽度) |
SDRAM | PC100 | 64 | 100 | 100 | 800MBytes/sec |
SDRAM | PC133 | 64 | 133 | 133 | 1064MBytes/sec |
DDR | DDR266 | 64 | 133 | 266 | 2.1GBytes/sec |
DDR | DDR400 | 64 | 200 | 400 | 3.2GBytes/sec |
DDR | DDRII800 | 64 | 200 | 800 | 6.4GBytes/sec |
DDR SDRAM又依据技术的发展,有DDR, DDRII, DDRIII等等,其中,DDRII 的频率倍数则是 4 倍喔!
Tips: 主内存型号的挑选与CPU及芯片组有关,所以主机板、CPU与内存在购买的时候必须要考虑其相关性喔。 并不是任何主机板都可以安插DDR III的內存呢! |
主内存除了频率/频宽与型号需要考虑之外,內存的容量也是很重要的喔! 因为所有的数据都得要载入內存当中才能够被CPU判读,如果內存容量不够大的话将会导致某些大容量数据无法被完整的载入, 此时已存在內存当中但暂时没有被使用到的数据必须要先被释放,使得可用内存容量大於该数据,那份新数据才能够被载入呢! 所以,通常越大的内存代表越快速的系统,这是因为系统不用常常释放一些内存内部的数据。 以
服务器来说,主内存的容量有时比CPU的速度还要来的重要的!
-
双通道设计
由於所有的数据都必须要存放在主内存,所以主内存的数据宽度当然是越大越好。 但传统的系统总线宽度一般大约仅达64位,为了要加大这个宽度,因此芯片组厂商就将两个主内存汇整在一起, 如果一支内存可达64位,两支内存就可以达到128位了,这就是双通道的设计理念。
如上所述,要启用双通道的功能你必须要安插两支(或四支)主内存,这两支内存最好连型号都一模一样比较好, 这是因为启动双通道内存功能时,数据是同步写入/读出这一对主内存中,如此才能够提升整体的频宽啊! 所以当然除了容量大小要一致之外,型号也最好相同啦!
你有没有发现
图 2.1.3、技嘉主机板示意图
上那四根内存插槽的颜色呢?是否分为两种颜色,且两两成对? 为什么要这样设计?答出来了吗?是啦!这种颜色的设计就是为了双通道来的!要启动双通道的功能时, 你必须要将两根容量相同的主内存插在相同颜色的插槽当中喔!
-
CPU频率与主内存的关系
理论上,CPU与主内存的外频应该要相同才好。不过,因为技术方面的提升,因此这两者的频率速度不会相同, 但外频则应该是一致的较佳。举例来说,上面提到的Intel E8400 CPU外频为333MHz,则应该选用DDR II 667这个型号, 因为该内存型号的外频为333MHz之故喔!
-
DRAM与SRAM
除了主内存之外,事实上整部个人计算机当中还有许许多多的内存存在喔!最为我们所知的就是CPU内的第二层缓存内存。 我们现在知道CPU的数据都是由主内存提供,但主内存的数据毕竟得经由北桥送到CPU内。 如果某些很常用的程序或数据可以放置到CPU内部的话,那么CPU数据的读取就不需要透过北桥了! 对於效能来说不就可以大大的提升了?这就是第二层缓存的设计概念。第二层缓存与主内存及CPU的关系如下图所示:
图2.2.1、内存相关性
因为第二层缓存(L2 cache)整合到CPU内部,因此这个L2内存的速度必须要CPU频率相同。 使用DRAM是无法达到这个频率速度的,此时就需要静态随机访问内存(Static Random Access Memory, SRAM)的帮忙了。 SRAM在设计上使用的电晶体数量较多,价格较高,且不易做成大容量,不过由於其速度快, 因此整合到CPU内成为缓存内存以加快数据的存取是个不错的方式喔!新一代的CPU都有内建容量不等的L2缓存在CPU内部, 以加快CPU的运作效能。
-
只读内存(ROM)
主机板上面的组件是非常多的,而每个组件的参数又具有可调整性。举例来说,CPU与内存的频率是可调整的; 而主机板上面如果有内建的网络卡或者是显示卡时,该功能是否要启动与该功能的各项参数, 是被记录到主机板上头的一个称为CMOS的芯片上,这个芯片需要藉著额外的电源来发挥记录功能, 这也是为什么你的主机板上面会有一颗电池的缘故。
那CMOS内的数据如何读取与更新呢?还记得你的计算机在开机的时候可以按下[Del]按键来进入一个名为BIOS的画面吧?
BIOS(Basic Input Output System)是一套程序,这套程序是写死到主机板上面的一个内存芯片中, 这个内存芯片在没有通电时也能够将数据记录下来,那就是只读内存(Read Only Memory, ROM)。 ROM是一种非挥发性的内存。另外,BIOS对於个人计算机来说是非常重要的, 因为他是系统在开机的时候首先会去读取的一个小程序喔!
另外,固件(firmware)(
注7
)很多也是使用ROM来进行软件的写入的。 固件像软件一样也是一个被计算机所执行的程序,然而他是对於硬件内部而言更加重要的部分。例如BIOS就是一个固件, BIOS虽然对於我们日常操作计算机系统没有什么太大的关系,但是他却控制著开机时各项硬件参数的取得! 所以我们会知道很多的硬件上头都会有ROM来写入固件这个软件。
BIOS 对计算机系统来讲是非常重要的,因为他掌握了系统硬件的详细信息与开机设备的选择等等。但是计算机发展的速度太快了, 因此 BIOS 程序码也可能需要作适度的修改才行,所以你才会在很多主机板官网找到 BIOS 的更新程序啊!但是 BIOS 原本使用的是无法改写的 ROM ,因此根本无法修正 BIOS 程序码!为此,现在的 BIOS 通常是写入类似快闪内存 (flash) 或 EEPROM (
注8
) 中。(
注9
)
显示卡插槽如同
图 2.1.3、技嘉主机板示意图
所示,是在中央较长的插槽! 这张主机板中提供了两个显示卡插槽喔!
显示卡又称为VGA(Video Graphics Array),他对於图形影像的显示扮演相当关键的角色。 一般对於图形影像的显示重点在於解析度与色彩深度,因为每个图像显示的颜色会占用掉内存, 因此显示卡上面会有一个内存的容量,
这个显示卡内存容量将会影响到最终你的萤幕解析度与色彩深度的喔!
除了显示卡内存之外,现在由於三度空间游戏(3D game)与一些3D动画的流行,因此显示卡的『运算能力』越来越重要。 一些3D的运算早期是交给CPU去运作的,但是CPU并非完全针对这些3D来进行设计的,而且CPU平时已经非常忙碌了呢! 所以后来显示卡厂商直接在显示卡上面嵌入一个3D加速的芯片,这就是所谓的GPU称谓的由来。
显示卡主要也是透过北桥芯片与CPU、主内存等沟通。如前面提到的,对於图形影像(尤其是3D游戏)来说, 显示卡也是需要高速运算的一个组件,所以数据的传输也是越快越好!因此显示卡的规格由早期的PCI导向AGP, 近期AGP又被PCI-Express规格所取代了。如前面
技嘉主机板
图示当中看到的就是PCI-Express的插槽。 这些插槽最大的差异就是在数据传输的频宽了!如下所示:
规格 | 宽度 | 速度 | 频宽 |
PCI | 32 bits | 33 MHz | 133 MBytes/s |
PCI 2.2 | 64 bits | 66 MHz | 533 MBytes/s |
PCI-X | 64 bits | 133 MHz | 1064 MBytes/s |
AGP 4x | 32 bits | 66×4 MHz | 1066 MBytes/s |
AGP 8x | 32 bits | 66×8 MHz | 2133 MBytes/s |
PCIe x1 | 无 | 无 | 250 MBytes/s |
PCIe x8 | 无 | 无 | 2 GBytes/s |
PCIe x16 | 无 | 无 | 4 GBytes/s |
比较特殊的是,PCIe(PCI-Express)使用的是类似管线的概念来处理,每条管线可以具有250MBytes/s的频宽效能, 管线越大(最大可达x32)则总频宽越高!目前显示卡大多使用x16的PCIe规格,这个规格至少可以达到4GBytes/s的频宽! 比起AGP是快很多的!此外,新的PCIe 2.0规格也已经推出了,这个规格又可将每个管线的效能提升一倍呢! 好可怕的传输量….
如果你的主机是用来打3D游戏的,那么显示卡的选购是非常重要喔!如果你的主机是用来做为网络服务器的, 那么简单的入门级显示卡对你的主机来说就非常够用了!因为网络服务器很少用到3D与图形影像功能。
例题:
假设你的桌面使用1024×768解析度,且使用全彩(每个像素占用3bytes的容量),请问你的显示卡至少需要多少内存才能使用这样的彩度?
答:
因为1024×768解析度中会有786432个像素,每个像素占用3bytes,所以总共需要2.25MBytes以上才行! 但如果考虑萤幕的更新率(每秒钟萤幕的更新次数),显示卡的内存还是越大越好!
|
计算机总是需要记录与读取数据的,而这些数据当然不可能每次都由使用者经过键盘来打字!所以就需要有储存设备咯。 计算机系统上面的储存设备包括有:硬盘、软盘、MO、CD、DVD、磁带机、随身碟(快闪内存)、还有新一代的蓝光光驱等, 乃至於大型机器的区域网络储存设备(SAN, NAS)等等,都是可以用来储存数据的。而其中最常见的应该就是硬盘了吧!
-
硬盘的物理组成
大家应该都看过硬盘吧!硬盘依据桌上型与笔记型计算机而有分为3.5寸及2.5寸的大小。我们以3.5寸的桌上型计算机使用硬盘来说明。 在硬盘盒里面其实是由
许许多多的圆形磁碟盘、机械手臂、 磁碟读取头与主轴马达所组成的,整个内部如同下图所示:
图2.4.1、硬盘物理构造(图片取自维基百科)
实际的数据都是写在具有磁性物质的磁碟盘上头,而读写主要是透过在机械手臂上的读取头(head)来达成。
实际运作时, 主轴马达让磁碟盘转动,然后机械手臂可伸展让读取头在磁碟盘上头进行读写的动作。 另外,由於单一磁碟盘的容量有限,因此有的硬盘内部会有两个以上的磁碟盘喔!
-
磁碟盘上的数据
既然数据都是写入磁碟盘上头,那么磁碟盘上头的数据又是如何写入的呢? 其实磁碟盘上头的数据有点像下面的图示所示:
图2.4.2、磁碟盘上的数据格式
整个磁碟盘上头好像有多个同心圆绘制出的圆形图,而由圆心以放射状的方式分割出
磁碟的最小储存单位,那就是磁区(Sector), 在物理组成分面,每个磁区大小为512Bytes,这个值是不会改变的。而磁区组成一个圆就成为磁轨(track), 如果是在多碟的硬盘上面,
在所有磁碟盘上面的同一个磁轨可以组成一个磁柱(Cylinder), 磁柱也是一般我们分割硬盘时的最小单位了!
在计算整个硬盘的储存量时,简单的计算公式就是:『header数量 * 每个header负责的磁柱数量 * 每个磁柱所含有的磁区数量 * 磁区的容量』,单位换算为『header * cylinder/header * secter/cylinder * 512bytes/secter』,简单的写法如下:
Head x Cylinder x Sector x 512 Bytes。 不过要注意的是,一般硬盘制造商在显示硬盘的容量时,大多是以十进位来编号,因此市售的500GB硬盘, 理论上仅会有460GBytes左右的容量喔!
-
传输介面
由於传输速度的需求提升,目前硬盘与主机系统的联系主要有几种传输介面规格:
图2.4.3、两款硬盘介面(左边为IDE介面,右边为SATA介面)
-
IDE介面:如同
图 2.1.3、技嘉主机板图示右侧的较宽的插槽
所示,那就是IDE的介面插槽。 IDE介面插槽所使用的排线较宽,每条排线上面可以接两个IDE装置,由於可以接两个装置,那为了判别两个装置的主/从架构, 因此这种磁碟机上面需要调整跳针(Jump)成为Master或slave才行喔!这种介面的最高传输速度为Ultra 133规格, 亦即每秒理论传输速度可达133MBytes。
图2.4.4、IDE 介面的排线 (图示取自 Seagate 网站)
-
SATA介面:如同
技嘉主机板图示
右下方所示为SATA硬盘的连接介面插槽。 我们可以看到该插槽要比IDE介面的小很多,每条SATA连接线仅能接一个SATA装置。SATA介面除了速度较快之外, 由於其排线较细小所以有利於主机机壳内部的散热与安装!目前SATA已经发展到了第二代, 其速度由SATA-1的每秒150MBytes提升到SATA-2每秒300MBytes的传输速度喔, 也因此目前主流的个人计算机硬盘已经被SATA取代了。SATA的插槽示意图如下所示:
图2.4.5、SATA 介面的排线 (图示取自 Seagate 网站)
由於SATA一条排线仅接一颗硬盘,所以你不需要调整跳针。不过一张主机板上面SATA插槽的数量并不是固定的, 且每个插槽都有编号,在连接SATA硬盘与主机板的时候,还是需要留意一下。
-
SCSI介面:另一种常见於工作站等级以上的硬盘传输介面为SCSI介面,这种介面的硬盘在控制器上含有一颗处理器, 所以除了运转速度快之外,也比较不会耗费CPU资源喔!在个人计算机上面这种介面的硬盘不常见啦!
-
选购与运转须知
如果你想要增加一颗硬盘在你的主机里头时,除了需要考虑你的主机板可接受的插槽介面(IDE/SATA)之外, 还有什么要注意的呢?
-
容量
通常首先要考量的就是容量的问题!目前(2009)主流市场硬盘容量已经到达320GB以上,甚至有的厂商已经生产高达 2TB 的产品呢!硬盘可能可以算是一种消耗品,要注意重要数据还是得常常备份出来喔! -
缓冲内存
硬盘上头含有一个缓冲内存,这个内存主要可以将硬盘内常使用的数据缓存起来,以加速系统的读取效能。 通常这个缓冲内存越大越好,因为缓冲内存的速度要比数据从硬盘盘中被找出来要快的多了! 目前主流的产品可达16MB左右的内存大小喔。 -
转速
因为硬盘主要是利用主轴马达转动磁碟盘来存取,因此转速的快慢会影响到效能。 主流的桌上型计算机硬盘为每分钟7200转,笔记型计算机则是5400转。有的厂商也有推出高达10000转的硬盘, 若有高效能的数据存取需求,可以考虑购买高转速硬盘。 -
运转须知
由於硬盘内部机械手臂上的磁头与硬盘盘的接触是很细微的空间, 如果有抖动或者是脏污在磁头与硬盘盘之间就会造成数据的损毁或者是实体硬盘整个损毁~ 因此,正确的使用计算机的方式,应该是在计算机通电之后,就绝对不要移动主机,并免抖动到硬盘, 而导致整个硬盘数据发生问题啊!另外,也不要随便将插头拔掉就以为是顺利关机!因为机械手臂必须要归回原位, 所以使用操作系统的正常关机方式,才能够有比较好的硬盘保养啊!因为他会让硬盘的机械手臂归回原位啊!
Tips: 可能因为环境的关系,计算机内部的风扇常常会卡灰尘而造成一些声响。很多朋友只要听到这种声响都是二话不说的 『用力拍几下机壳』就没有声音了~现在你知道了,这么做的后果常常就是你的硬盘容易坏掉! 下次千万不要再这样做! |
PCI介面卡的插槽就如同
图2.1.3、技嘉主机板示意图
所示的左下方那个白色的插槽, 这种PCI插槽通常会提供多个给使用者,如果使用者有额外需要的功能卡, 就能够安插在这种PCI介面插槽上。
我们在前面
显示卡
的部分稍微谈过PCI介面,事实上有相当多的组件是使用PCI介面作为传输的, 例如网络卡、音效卡、特殊功能卡等等。但由於PCI Express规格的发展,很多制造商都往PCIE介面开发硬件了。 不过还是有很多硬件使用PCI介面啦,例如大卖场上面常见的网络卡就是一个。
目前在个人计算机上面常见到的网络卡是一种称为乙太网络(Ethernet)的规格,目前乙太网络卡速度轻轻松松的就能到达10/100/1000 Mbits/second的速度,但同样速度的乙太网络卡所支持的标准可能不太一样,因此造成的价差是非常大的。 如果想要在服务器主机上面安装新的网络卡时,得要特别注意标准的差异呢!
由於各组件的价格直直落,现在主机板上面通常已经整合了相当多的设备组件了! 常见整合到主机板的组件包括音效卡、网络卡、USB控制卡、显示卡、磁碟阵列卡等等。 你可以在主机板上面发现很多方形的芯片,那通常是一些个别的设备芯片喔。 由於主机板已经整合了很多常用的功能芯片,所以现在的主机板上面所安插的PCI介面卡就少很多了!
主机板可以说是整部主机相当重要的一个部分,因为上面我们所谈到的所有组件都是安插在主机板上面的呢! 而主机板上面负责沟通各个组件的就是芯片组,如同
图2.1.1、Intel芯片组图示
所示, 图中我们也可以发现芯片组一般分为北桥与南桥喔!北桥负责CPU/RAM/VGA等的连接,南桥则负责PCI介面与速度较慢的I/O装置。
由於芯片组负责所有设备的沟通,所以事实上芯片组(尤其是北桥)也是一个可能会散发出高热量的组件。 因此在主机板上面常会发现一些外接的小风扇或者是散热片在这组芯片上面。在本章所附的主机板图示中, 技嘉使用较高散热能力的热导管技术,因此你可以发现图中的南桥与北桥上面覆盖著黄铜色的散热片, 且连接著数根圆形导管,主要就是为了要散热的。
-
芯片组功能
所有的芯片组几乎都是参考CPU的能力去规划的,而CPU能够接受的主内存规格也不相同,因此
在新购买或升级主机时,CPU、主机板、主内存与相关的周边设备都需要同时考虑才行 !此外,每一种芯片组的功能可能都不太相同, 有的芯片组强调的是全功能,因此连显示卡、音效、网络等都整合了,在这样的整合型芯片中, 你几乎只要购买CPU、主机板、主内存再加上硬盘,就能够组装成一部主机了。不过整合型芯片的效能通常比较弱, 对於爱玩3D游戏的玩家以及强调高效能运算的主机来说,就不是这么适合了。
至於独立型芯片组虽然可能具有较高的效能,不过你可能必须要额外负担周边设备的金錢呢! 例如显示卡、网络卡、音效卡等等。但独立型芯片组也有一定程度的好处,那就是你可以随时抽换周边设备。
-
设备I/O位址与IRQ中断通道
主机板是负责各个计算机组件之间的沟通,但是计算机组件实在太多了,有输出/输入/不同的储存装置等等, 主机板芯片组怎么知道如何负责沟通啊?这个时候就需要用到所谓的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与BIOS的功能,在这里我们再来强调一下:
CMOS主要的功能为记录主机板上面的重要参数, 包括系统时间、CPU电压与频率、各项设备的I/O位址与IRQ等,由於这些数据的记录要花费电力,因此主机板上面才有电池。 BIOS为写入到主机板上某一块 flash 或 EEPROM 的程序,他可以在开机的时候执行,以载入CMOS当中的参数, 并尝试呼叫储存装置中的开机程序,进一步进入操作系统当中。BIOS程序也可以修改CMOS中的数据, 每种主机板呼叫BIOS设定程序的按键都不同,一般桌上型计算机常见的是使用[del]按键进入BIOS设定画面。
-
连接周边设备的介面
主机板与各项输出/输入设备的连结主要都是在主机机壳的后方,主要有:
-
PS/2介面:这是常见的键盘与鼠标的介面,不过渐渐有被USB介面取代的趋势;
-
USB介面:目前相当流行的一个介面,支持随插即用。 主流的USB版本为USB 2.0,这个规格的速度可达480Mbps,相对之下的USB 1.1仅达12Mbps差异很大,购买周边设备要注意啊! 不然copy一些数据到USB硬盘时,会吐血….
-
声音输出、输入与麦克风:这个是一些圆形的插孔, 而必须你的主机板上面有内建音效芯片时,才会有这三个东西;
-
RJ-45网络头:如果有内建网络芯片的话,那么就会有这种接头出现。 这种接头有点类似电话接头,不过内部有八蕊线喔!接上网络线后在这个接头上会有灯号亮起才对!
- 其他过时介面:包括早期的用来连结鼠标的九针序列埠(com1),以及连结印表机的25针并列埠(LPT1)等等。
我们以技嘉主机板的连结介面来看的话,主要有这些:
图2.6.1、连接周边介面
除了上面这些组件之外,其实还有一个很重要的组件也要来谈一谈,那就是电源供应器(Power)。 在你的机壳内,有个大大的铁盒子,上头有很多电源线会跑出来,那就是电源供应器了。 我们的CPU/RAM/主机板/硬盘等等都需要用电,而近来的计算机组件耗电量越来越高,以前很古早的230W电源已经不够用了, 有的系统甚至得要有500W以上的电源才能够运作~真可怕~
电源供应器的价差非常大!贵一点的300W可以到4000 NT,便宜一点的300W只要500 NT不到! 怎么差这么多?没错~因为Power的用料不同,电源供应的稳定度也会差很多。如前所述,电源供应器相当於你的心脏, 心脏差的话,活动力就会不足了!所以, 稳定度差的电源供应器甚至是造成计算机不稳定的元凶呢!所以,尽量不要使用太差的电源供应器喔!
-
能源转换率
电源供应器本身也会吃掉一部份的电力的!如果你的主机系统需要 300W 的电力时,因为电源供应器本身也会消耗掉一部份的电力, 因此你最好要挑选400W以上的电源供应器。电源供应器出厂前会有一些测试数据,最好挑选高转换率的电源供应器。 所谓的高转换率指的是『输出的功率/输入的功率』。意思是说,假如你的主机板用电量为250W, 但是电源供应器其实已经使用掉320W的电力,则转换率为:250/320=0.78的意思。 这个数值越高表示被电源供应器『玩掉』的电力越少,那就符合能源效益了!^_^
-
连接介面
目前主机板与电源供应器的连接介面主要有20pin与24pin两种规格,购买时也需要考虑你的主机板所需要的规格喔!
在购买主机时应该需要进行整体的考量,很难依照某一项标准来选购的。 老实说,如果你的公司需要一部服务器的话,建议不要自行组装,买品牌计算机的服务器比较好! 这是因为自行组装的计算机虽然比较便宜,但是每项设备之间的适合性是否完美则有待自行检测。
另外,在效能方面并非仅考量CPU的能力而已,速度的快慢与『
整体系统的最慢的那个设备有关!』,如果你是使用最快速的Intel Core 2 Duo,使用最快的DDR II内存, 但是配上一个慢慢的过时显示卡,那么整体的3D速度效能将会卡在那个显示卡上面喔!所以,在购买整套系统时, 请特别留意需要全部的介面都考虑进去喔!尤其是当您想要升级时,要特别注意这个问题, 并非所有的旧的设备都适合继续使用的。
-
系统不稳定的可能原因
除此之外,到底那个组件特别容易造成系统的不稳定呢?有几个常见的系统不稳定的状态是:
- 系统超频:这个行为很不好!不要这么做!
- 电源供应器不稳: 这也是个很严重的问题,当您测试完所有的组件都没有啥大问题时,记得测试一下电源供应器的稳定度!
- 内存无法负荷:现在的内存品质差很多,差一点的内存,可能会造成您的主机在忙碌的工作时, 产生不稳定或当机的现象喔!
- 系统过热:『热』是造成电子零件运作不良的主因之一,如果您的主机在夏天容易当机, 冬天却还好,那么考虑一下加几个风扇吧!有助於机壳内的散热,系统会比较稳定喔! 『 这个问题也是很常见的系统当机的元凶!』(鸟哥之前的一台服务器老是容易当机, 后来拆开机壳研究后才发现原来是北桥上面的小风扇坏掉了,导致北桥温度太高。后来换掉风扇就稳定多了。)
Tips: 事实上,要了解每个硬件的详细架构与构造是很难的!这里鸟哥仅是列出一些比较基本的概念而已。 另外,要知道某个硬件的制造商是哪间公司时,可以看该硬件上面的信息。 举例来说,主机板上面都会列出这个主机板的开发商与主机板的型号,知道这两个信息就可以找到驱动程序了。 另外,显示卡上面有个小小的芯片,上面也会列出显示卡厂商与芯片信息喔 |
进制
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,
十六进制
是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
数制
。
二进制数
据是用0和1两个
数码
来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师
莱布尼兹
发现。当前的
计算机系统
使用的基本上是
二进制系统
,数据在
计算机
中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
第三次科技革命
的重要标志之一的
计算机
的发明与应用,因为数字计算机只能
识别
和
处理
由‘0’.‘1’符号串组成的
代码
。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号”0”.”1”的某种代数演算,二进制是逢2进位的进位制。0、1是基本
算符
。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
字符编码
字符集
中的
字符
编码
为指定
集合
中某一
对象
(例如:
比特
模式、
自然数
序列
、8位组或者
电脉冲
),以便
文本
在
计算机
中存储和通过
通信
网络
的传递。常见的例子包括将
拉丁字母表
编码成
摩斯电码
和
ASCII
。其中,
ASCII
将字母、数字和其它符号
编号
,并用7
比特
的
二进制
来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个
字节
的方式存储。
ASCII
(1963年)和
EBCDIC
(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。对于支持包括东亚
CJK
字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
ASCII
ASCII(包括字母、数字、标点符号、
控制字符
及其他符号)分配(或指定)数值。
计算机硬件
和
软件系统
中实现数据传输标准化,在大多数的
小型机
和全部的
个人计算机
都使用此码。ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。比较EBCDIC。其中95个字符可以显示。另外33个不可以显示。 标准ASCII码为7位,扩充为8位。
字符集
及其编码是 ASCII 字符集和 ASCII 码( ASCII 是 American Standard Code for Information Interchange 的缩写),它同时也被
国际标准化组织
( International Organization for Standardization, ISO )批准为国际标准。
字符集
共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个
控制字符
。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。下表展示了基本 ASCII
字符集
及其编码:
字节
( 1byte = 8bit ),所以一般仍以一个字节来存放一个 ASCII 字符。每一个
字节
中多余出来的一位(最高位)在计算机内部通常保持为 0 (在数据传输时可用作
奇偶校验位
)。
字符集
字符数目有限,在实际应用中往往无法满足要求。为此,
国际标准化组织
又制定了 ISO2022 标准,它规定了在保持与 ISO646 兼容的前提下将 ASCII
字符集
扩充为 8 位代码的统一方法。 ISO 陆续制定了一批适用于不同地区的扩充 ASCII
字符集
,每种扩充 ASCII 字符集分别可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128~255 ),称为扩展 ASCII 码。
乱码
、邮件乱码,本文简单扼要地阐明了
ASCII编码
、EBCDIC编码、GB2312编码、Unicode编码、
UTF-8
编码、以及Base64编码。
编码
其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1,凹的地方代表数字0。硬盘只能用0和1来表示所有文字、图片等信息。那么字母”A”在硬盘上是如何存储的呢?可能小张计算机存储字母”A”是1100001,而小王存储字母”A”是11000010,这样双方交换信息时就会误解。比如小张把1100001发送给小王,小王并不认为1100001是字母”A”,可能认为这是字母”X”,于是小王在用
记事本
访问存储在硬盘上的1100001时,在
屏幕
上显示的就是字母”X”。也就是说,小张和小王使用了不同的编码表。小张用的编码表是ASCII,ASCII编码表把26个字母都一一的对应到2进制1和0上;小王用的编码表可能是EBCDIC,只不过EBCDIC编码与ASCII编码中的字母和01的对应关系不同。一般地说,开放的
操作系统
(LINUX 、WINDOWS等)采用ASCII 编码,而大型
主机系统
(MVS 、OS/390等)采用EBCDIC 编码。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过
转码
,使不同编码方案的两个系统可沟通自如。
MBCS
ASCII编码
,以用于显示本国的语言,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个
字节
来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码,又称为”MBCS(Muilti-Bytes Charecter Set,多字节字符集)”。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文
操作系统
下,ANSI 编码代表 JIS 编码,所以在中文 windows下要转码成gb2312,gbk只需要把文本保存为ANSI 编码即可。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。一个很大的缺点是,同一个编码值,在不同的编码体系里代表着不同的字。这样就容易造成混乱。导致了unicode码的诞生。
GB2312
ASCII编码
进行扩充,为了满足国内在计算机中使用汉字的需要,中国国家标准总局发布了一系列的汉字
字符集
国家标准编码,统称为GB码,或国标码。其中最有影响的是于1980年发布的《信息交换用汉字编码
字符集
基本集》,标准号为GB 2312-1980,因其使用非常普遍,也常被通称为国标码。GB2312编码通行于我国内地;新加坡等地也采用此编码。几乎所有的中文系统和国际化的软件都支持GB 2312。
简体中文
字符集
,由6763个常用汉字和682个
全角
的非汉字字符组成。其中汉字根据使用的频率分为两级。一级汉字3755个,二级汉字3008个。由于字符数量比较大,GB2312采用了二维矩阵编码法对所有字符进行编码。首先构造一个94行94列的方阵,对每一行称为一个“区”,每一列称为一个“位”,然后将所有字符依照下表的规律填写到方阵中。这样所有的字符在方阵中都有一个唯一的位置,这个位置可以用区号、位号合成表示,称为字符的区位码。如第一个汉字“啊”出现在第16区的第1位上,其区位码为1601。因为区位码同字符的位置是完全对应的,因此区位码同字符之间也是一一对应的。这样所有的字符都可通过其区位码转换为数字编码信息。GB2312字符的排列分布情况见表1-4。
分区范围
|
符号类型
|
第01区
|
中文标点、数学符号以及一些特殊字符
|
第02区
|
各种各样的数学序号
|
第03区
|
全角西文字符
|
第04区
|
日文平假名
|
第05区
|
日文片假名
|
第06区
|
希腊字母表
|
第07区
|
俄文字母表
|
第08区
|
中文拼音字母表
|
第09区
|
制表符号
|
第10-15区
|
无字符
|
第16-55区
|
一级汉字(以拼音字母排序)
|
第56-87区
|
二级汉字(以部首笔画排序)
|
第88-94区
|
无字符
|
字节
表示形式为71,74;而两个西文字符‘GJ’的存储码也是71,74。这种冲突将导致在解释编码时到底表示的是一个汉字还是两个西文字符将无法判断。
字节
第8bit设置为1同西文加以区别,如果第8bit为0,则表示西文字符,否则表示GB2312中的字符。实际存储时,采用了将区位码的每个
字节
分别加上A0H(160)的方法转换为存储码,计算机存储规则是此编码的补码,而且是位码在前,区码在后。例如汉字‘啊’的区位码为1601,其存储码为B0A1H,其转换过程为:
区位码
|
区码转换
|
位码转换
|
存储码
|
1001H
|
10H+A0H=B0H
|
01H+A0H=A1H
|
B0A1H
|
字节
(8位2进制)表示一个汉字,所以理论上最多可以表示256×256=65536个汉字。但这种编码方式也仅仅在中国行得通,如果您的网页使用的GB2312编码,那么很多外国人在浏览你的网页时就可能无法正常显示,因为其
浏览器
不支持GB2312编码。当然,中国人在浏览外国网页(比如日文)时,也会出现
乱码
或无法打开的情况,因为我们的
浏览器
没有安装日文的编码表。
GBK
字符集
——基本集》,1980年由国家标准总局发布。基本集共收入汉字6763个和非汉字图形字符682个,通行于中国大陆。新加坡等地也使用此编码。GBK是对GB2312-80的扩展,也就是CP936字码表 (Code Page 936)的扩展(之前CP936和GB 2312-80一模一样)。
基本简介
GBK
采用双
字节
表示,总体编码范围为8140-FEFE,首字节在81-FE 之间,尾字节在40-FE 之间,剔除 xx7F一条线。总计23940 个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号883 个。P-Windows3.2和苹果OS以GB2312为基本
汉字编码
, Windows 95/98则以GBK为基本汉字编码。
五笔
和拼音都打不出来,如:溙(五笔IDWI),须调出GBK
字符集
才能打出这个字。
极品五笔
中可右击
输入法
图标,设置,属性中选GBK
字符集
。
极点五笔
中可点击工具条中相关图标进行转换。
Big5
字符集
。而1980年发布的GB2312面向
简体中文
字符集
,并不支持繁体汉字。在这些使用繁体中文
字符集
的地区,一度出现过很多不同厂商提出的字符集编码,这些编码彼此互不兼容,造成了信息交流的困难。为统一繁体
字符集
编码,1984年,台湾五大厂商宏碁、神通、佳佳、零壹以及大众一同制定了一种繁体中文编码方案,因其来源被称为五大码,英文写作Big5,后来按英文翻译回汉字后,普遍被称为
大五码
。
大五码
是一种繁体中文汉字
字符集
,其中繁体汉字13053个,808个标点符号、希腊字母及特殊符号。
大五码
的编码码表直接针对
存储
而设计,每个字符统一使用两个
字节
存储表示。第1
字节
范围81H-FEH,避开了同ASCII码的冲突,第2字节范围是40H-7EH和A1H-FEH。因为Big5的字符编码范围同GB2312字符的存储码范围存在冲突,所以在同一正文不能对两种
字符集
的字符同时支持。
Unicode
方式,在ANSi编码下,同一个编码值,在不同的编码体系里代表着不同的字。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文
操作系统
下,ANSI 编码代表 JIS 编码,可能最终显示的是中文,也可能显示的是日文。在ANSI编码体系下,要想打开一个文本文件,不但要知道它的编码方式,还要安装有对应编码表,否则就可能无法读取或出现
乱码
。为什么
电子邮件
和网页都经常会出现
乱码
,就是因为信息的提供者可能是日文的ANSI编码体系和信息的读取者可能是中文的编码体系,他们对同一个二进制编码值进行显示,采用了不同的编码,导致乱码。这个问题促使了unicode码的诞生。
编码表
,就不会出现编码不匹配现象。每个符号对应一个唯一的编码,
乱码
问题就不存在了。这就是Unicode编码。
UTF-8
更多关于编码的文章 http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html
Python全栈开发之路
转载于:https://www.cnblogs.com/weiman3389/p/6222847.html