python 全栈开发之路 day1
本节内容
介绍计算机发展
由计算机硬件组成
计算机基本原理
计算机
发展历史
-
第一代:电子管数字机(1946-1958年)
-
第三代:集成电路数字机(1964-1970年)
-
第四代:大规模 集成电路机(1970年至今)
时期
|
时间
|
典型计算机
|
描述
|
第一代计算机
(电子管)
|
1946年
2月16日
|
ENIAC
|
美国宾夕法尼亚大学研制的人类历史上真正意义的第一台电子计算机,占地170平方米,耗电150千瓦,造价48万美元,每秒可执行5000次加法或400次乘法运算。共使用了18000个电子管。
|
1950年
|
EDVAC
|
第一台并行计算机,实现了计算机之父“冯.诺伊曼”的两个设想:采用二进制和存储程序。
|
第二代计算机
(晶体管)
|
1954年
|
TRADIC
|
IBM公司制造的第一台使用晶体管的计算机,增加了浮点运算,使计算能力有了很大提高
|
1958年
|
IBM 1401
|
这是第二代计算机中的代表,用户当时可以租用。
|
第三代
时期
|
时间
|
典型计算机
|
描述
|
第四代计算机(大规模和超大规模集成电路)
|
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”液晶。这是苹果电脑的创新,将主机的部件全部集成到显示器内部。显示器就是一台电脑。
|
机器组成
硬件系统
-
电源
-
主板
-
CPU
-
内存
-
硬盘
-
声卡
-
显卡
-
网卡
-
调制解调器
-
光驱
演变
早期的计算机
有内部存储器
纸带机
有键盘和显示器
有外部存储器
有文件系统
有操作系统
软件系统
应用软件
硬件和软件的结合
操作系统对文件的管理
计算机分类
知道了计算机的基本组成与周边装置,也知道其实计算机的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)最新的主机板架构主要是这样的:
就如同前一小节提到的,整个主机板上面最重要的就是芯片组了!而芯片组通常又分为两个桥接器来控制各组件的沟通, 分别是:(1)北桥:负责连结速度较快的CPU、主内存与显示卡等组件;(2)南桥:负责连接速度较慢的周边介面, 包括硬盘、USB、网络卡等等。(芯片组的南北桥与三国的大小乔没有关系 @_@)至於AMD的芯片组架构如下所示:
与Intel不同的地方在於主内存是直接与CPU沟通而不透过北桥!从前面的说明我们可以知道CPU的数据主要都是来自於主内存提供, 因此AMD为了加速这两者的沟通,所以将内存控制组件整合到CPU当中, 理论上这样可以加速CPU与主内存的传输速度!这是两种CPU在架构上面主要的差异点。
毕竟目前世界上x86的CPU主要供应商为Intel,所以底下鸟哥将以Intel的主机板架构说明各组件! 我们以技嘉公司出的主机板,型号:Gigabyte GA-X48-DQ6作为一个说明的范例,主机板各组件如下所示:
主要的组件为:CPU、主内存、磁盘设备(IDE/SATA)、系统总线芯片组(南桥/北桥)、显示卡介面(PCI-Express)与其他介面卡(PCI)。 底下的各项组件在讲解时,请参考Intel芯片组架构与技嘉主机板各组件来印证喔!