Liunx:计算机基本概念
1 简介
1.1 计算机硬件五大单元
### 1.2 CPU指令集
-
精简指令集(Reduced Instruction Set Computer,RISC)
微指令集较为精简,执行时间短,动作单纯,性能佳。但复杂的事情需要多个指令完成。(ARM架构CPU为精简指令集)
-
复杂指令集(Complex Instruction Set Computer,CISC)
微指令集数目多,每条指令长度不同且复杂,故每条指令执行的时间不一定相同,但个别指令可以处理的工作很丰富。(AMD、INTEL、VIA等x86架构CPU都属于这一种)
-
TIPS:多少位操作系统是指一次并行可读写的最大数据位数。(32位最多能读写4GB数据)
1.3 计算机的组成
-
CPU:运算数据。
-
内存:放置正在或者马上处理的数据。掉电消失。
-
硬盘:放置永久储存的数据。掉电保持。
-
主板:用来协调CPU、内存、硬盘和其他设备。
-
显卡:专门用于运算图像数据的CPU。
-
电源:给电脑所有设备提供稳定的电力。
-
外围设备:用于输入或输出的设备(如鼠标、键盘、显示器、传感器等)。
1.4 计算单位
-
容量单位
1 B = 8 bits 1KB = 1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB 1EB=1024PB 1ZB=1024EB在计算传输速度时采用的是十进制。(1GHz=1000*1000*1000Hz)
-
速度单位
Hz的意思是每秒执行多少次。
Mbps = Mbits per second意思是每秒传输多次Mbit。(20M/5M 代表 每秒2.5MB下载(20mbit)/每秒625KB(5mbit)上传速度)
-
硬盘虚标?
500GB=500*1000*1000B而转化成二进制就只有460GB
2 电脑基本结构
2.1 CPU
-
早期intel的南北桥
-
北桥:负责连接速度较快的元件,如CPU、内存与显卡接口等。
-
南桥:负责连接速度较慢的设备,如硬盘、USB、网卡等。
Tips:现在的芯片CPU与内存直接沟通,现在北桥已经被整合到芯片当中。
-
-
CPU工作频率
- 外频:CPU与外部元件数据传输的速度。
- 倍频:CPU内部用来加速工作性能的倍数。
- CPU频率 = 外频 * 倍频(某CPU内频为3.0GHz,外频为333MHz,则倍频就为9倍)
- 超频:通过修改主板设置修改外频或倍频,从而达到修改CPU频率的目的。
-
CPU等级
-
1993年后,最早期的CPU称为i386等级。
-
在Intel Pentium MMX与AMD K6年代的CPU称为i586等级。
-
在Intel Celeron与AMD Athion(K7)年代之后的32位CPU称i686等级。
-
目前64位CPU称为x86_64等级
-
-
超线程(Hyper-Threading, HT)
因为CPU速度远远大于外设速度,想到一种提高CPU使用率的方法。
让CPU的一个核心,分别有2组重要的寄存器,让两个程序分别使用这两组寄存器去竞争同一个核心。4个核心实则就可以有8个核心给操作系统用了。
2.2 内存
-
CPU所有使用的数据来自内存,软件程序或数据读入内存中CPU才能用。
-
动态随即存取内存(Dynamic Random Access Memory,DRAM)。
- 个人电脑内存元件主要为这种。
- DRAM根据技术更新分为好几代,较为广泛的有SDRAM与DDR SDRAM两种。
- 其中DDR(Double Data Rate)是所谓的双倍传送速率,一个周期可以进行两次数据传输。
- DDR SDRAM依据技术的发展又分为DDR、DDR2、DDR3、DDR4等等。
- DDR3标准电压为1.5V,DDR3L带L表示仅需1.35V。
-
多通道设计:传统总线宽度一般为64位,厂商将2个或多个内存整合在一起,就可以达到128位或更高的数据宽度。
-
静态随机存取内存(Static Random Access Memory,SRAM)
-
二级高速缓存(L2 cache)采用的是与CPU频率相同的SRAM。因为SRAM在设计上使用晶体管数量较多,价格高且不易做成大容量的,所以内存还是用的DRAM。
-
L2与内存及CPU的关系
graph RL; 外部存储设备 --IO流--- 内存单元 内存单元 --系统流--- CPU二级高速缓存 CPU二级高速缓存 --- CPU寄存器
-
-
只读存储器(Read Only Memory,ROM)
-
主板上有一个叫CMOS的芯片,在这个芯片上可以设置主板的一些参数,但需要凭借额外的电源
-
主板上有一块芯片(闪存flash或EEPROM)用来存储BIOS(Basic Input Output System)程序的。。
-
很多硬件都有固件,如磁盘正列卡、网卡、交换机等。
-
2.3 显卡
-
显卡又名VGA(Video Graphics Array),显存则是显卡里的内存,这个显存容量会影响到你的屏幕分辨率与色彩深度。
-
因为3D游戏的流行,显卡厂商在显卡里面集成3D加速芯片,专门用来处理3D动画运算,故显卡又名GPU(Graphics Processing Unit)。
-
显卡也需要CPU控制来与CPU和内存沟通。所以显卡传输越快越好。
- 早期主要规格:PCI、PCI 2.2、PC1-X、AGP 4x、AGP 8x、PCLe 1.0 x1、PCLe 1.0 x8、PCLe 1.0 x16。
- 目前主要规格:PCLe1.0、PCLe2.0、PCLe3.0、PCL4.0...。
-
显卡与电脑屏幕的连接
-
D-Sub(VGA端子):主要为15针连接,模拟信号传输。显示主要针对传统图像管屏幕。主要规格如:640x350px@70Hz、1280x1024px@85Hz、2048x1536px@85Hz等等。
-
HDMI:可以同时传送影像与声音。
-
DVI、Display port等比较少见
-
2.4 硬盘与存储设备
-
机械硬盘(Hard Disk Drive,HDD)
-
普通的机械硬盘是由很多圆形盘片、机械手臂、磁头与主轴马达组成。
-
设计者将圆形的盘片切出一个个小区域,这个小区域称为扇区(sector)。
-
同一个同心圆形组成的扇区叫作磁道(track)。
-
所有盘片上同一个磁道可以组合成柱面(cylinder)。

-
早期的硬盘一个扇区为512Byte,新的大容量硬盘已经有4KByte扇区设计。分区方面有MSDOS和GPT等。
-
传输接口有传统的SATA、SAS、IDE与SCSI等等。外接式还包括USB、eSATA等。
-
-
固态硬盘(Solid State Disk,SSD)
-
因为没有马达转动去读取数据的原因,所以读写速度快,省电。但是有写入次数的限制。(数据存放考虑备份或使用RAID的机制防止SSD的损毁)
-
冗余磁盘阵列(Redundant Array of Independent Disk,RAID)最初目的为了组合小的廉价磁盘代替大的昂贵磁盘,同时也用于防止磁盘失效,对数据保护。
-
2.5扩展卡与接口
-
现在的主板整合了相当多的功能,包括声卡、网卡、USB控制卡、显卡、磁盘阵列卡等。
-
主板上会留很多接口用来接外接设备,包括PCI或PCIe等。
-
多性道卡(x8卡)安装到少信道卡槽(x4卡槽)可以用,但是性能只能发挥出4/8=1/2。
2.6 主板
-
扩张卡,优先安插到离CPU近的地方,而不要安装到南桥,因为系统总线速度远远大于南桥。
-
每一个设备都有一个I/O位址,相当于门牌号。
-
各个设备通过IRQ中断来告知CPU运行情况,以方便CPU分配任务。
-
CMOS主要功能用于记录主板上的重要参数,如:系统时间、CPU电压与频率、各项设备的I/O位址与IRQ等。需要花费电力记录,所以主板上配有电池。
-
BIOS为写道flash和EEPROM的程序,在开机的时执行的第一个程序,以载入CMOS中的参数,并尝试调用储存设备中的开机程序,进一步进入操作系统中,BIOS程序可以修改CMOS中的参数。
2.7 电源
- 因为电源供应器本身要消耗电力,在选购电源的时候往大的选
3 数字表达方式
3.1 数字系统
- 计算机是采用0和1的二进制存储,而人类习惯使用十进制,所以学会二进制与十进制之间的转换。
3.2 文字编码
-
所谓的编码系统就算字码对照表。
-
早期英文常用的编码方式为ASCII码,一个字母占1Byte。中文用GBK编码,一个中文字占2Byte。
-
国际组织ISO/IEC定制了Unicode编码,也叫UTF8或万国码。将世界很多国家的文字进行了编码。
4 软件程序
4.1 机器程序与编译程序
- 早期变成是直接使用0和1或一条条CPU指令来控制电脑。这些0和1就算机器程序。
- 编译器是将人类更能容易理解的语言(C、C++、Java、Python等)翻译成机器语言的工具。
4.2 操作系统
- 操作系统(Operating System,OS):也是一组程序,管理硬件提供合适的系统分配。
- 系统调用(System Call):操作系统会提供一组开发接口给工程师开发,我们只需要调用这个接口就可以执行相应的功能了。
- 程序管理(Process control):多任务环境,协调多个程序在多个核心里运行。
- 内存管理(Memory management):控制整个系统的内存管理。通常还会提供虚拟内存的功能,内存不足时可以提供内存交换(swap)的功能。
- 文件系统管理(FileSystem management):数据输入输出,不同文件格式的支持等。
- 设备的驱动(Device drivers):可以随时载入驱动程序模块。
- 壳程序(Shell):用来调用操作系统的功能。
4.3 应用程序
- 应用程序是根据操作系统所提供接口开发出来的软件。

浙公网安备 33010602011771号