计算机基础
一、计算机组成
-
输入单元:键盘、鼠标等;
-
输出单元:显示器等;
-
CPU内部的控制单元、算数逻辑单元;
-
存储单元:内存、硬盘等;
-
主板、显卡、网卡、声卡等。
二、CPU的架构
1. 精简指令集
Reduced Instruction Set Computer,RISC。
微指令集较为精简,每个指令的执行时间都很短,完成的动作也很单纯,指令的性能较佳。
但要完成复杂的事件就要由多个指令来完成。
- Oracle公司的SPARC系列:主要用于学术领域的大型工作站中;
- IBM公司的Power Architecture系列:索尼的Play Station 3等;
- 安谋公司的ARM CPU系列:各厂牌的手机、PDA、导航系统、网络设备等。(使用最广)
2. 复杂指令集
Complex Instruction Set Computer,CISC。
微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多且复杂、每条指令的长度并不相同,每条指令的执行时间较长。
每条指令可以处理的工作较为丰富。
- 主要有AMD、Intel、VIA等的x86架构的CPU,广泛用于个人电脑。
- x86架构的CPU由8位、16位、32位、64位依次升级,位表示CPU一次数据读取的最大量(bits)。
三、按用途分类
- 超级计算机:国防军事、气象预测、太空科技等;
- 大型计算机:大型企业的主机等;
- 迷你电脑:科学研究、工程分析、工厂流程管理等;
- 工作站:学术研究、工程分析等;
- 微电脑:个人电脑等。
四、计量单位
1. 容量单位
- 一个0/1的二进制单位为1 bits;
- 1 Byte = 8 bits;
- 1 KB = 1024 Byte;
- 1 MB = 1024 KB;
- 1 GB = 1024 MB;
- 1 TB = 1024 GB;
2. 速度单位
- HZ为秒分之一;
- CPU的运算速度一般为MHz、GHz等;
- 网络速度单位一般为Mbps即Mbits per second,每秒多少Mbit,所以100M网络传输速度转为文件大小传输速度为100/8=12.5MByte/s。
个人电脑架构与相关的设备元件
- 北桥:负责连接速度较快的CPU、内存与显卡接口等元件;
- 南桥:负责连接速度较慢的设备接口,包括硬盘、USB、网卡等;
- 目前的主流架构中,大多数北桥内存控制器已经整合到CPU封装当中了。
一、CPU
1. CPU的工作频率
- 频率:CPU每秒钟可以进行的工作次数;
- 外频:CPU与外部元件进行数据传输时的速度;
- 倍频:CPU内部用来加速工作性能的一个倍数,与外频相乘即为CPU的频率速度;
- 超频:将CPU的倍频或外频通过主板的设置功能更改为较高频率的一种方式;
2. 总线宽度
- 内存能提供的数据量由CPU内的内存控制器与内存间的传输速度“前端总线速度”(Front Side Bus,FSB)来说明;
- 内存的工作频率限制由CPU内存控制器决定;
- 每次频率能传输的数据量(大多为64位)即为总线宽度;
- CPU每次能处理的数据量称为子组大小,子组大小依据CPU的设计也有32位和64位;
- 内存使用系统总线宽度来与CPU沟通;
- 显卡通过PCI-E的序列信道设计与CPU沟通;
3. CPU等级
- 在Intel Pentium MMX与AMD K6年代的CPU称为i586等级;
- 在Intel Celeron与AMD K7年代之后32位的CPU称为i686等级;
- 目前的64位CPU统称为x86_64等级;
- 高等级向下兼容;
4. 超线程
- 在每一个CPU内部将重要的寄存器分成两群,而让程序分别使用这两群寄存器。
二、内存
1. DRAM
- 动态随机存取内存,即Dynamic Random Access Memory;
- 只有在通电时才能记录与使用,又称为挥发性内存;
- 个人电脑的内存主要元件都为DRAM;
- DRAM分为SDRAM和DDR SRAM;
- DDR RAM:双倍数据传送速度(Double Data Rate),可以在一次工作周期中进行两次数据的传送;
- 后续发展出现了DDR2、DDR3、DDR4等;
2. 影响内存性能的因素
- 内存的频率/带宽;
- 内存的型号;
- 内存的容量
3. 多通道设计
- 芯片组厂商将两个内存汇整在一起,如果一支内存可达64位,两支内存就可以达到128位;
- 要启用多通道功能要根据设计规则把内存条插到对应的位置;
4. SRAM
- 静态随机存取内存,即Static Random Access Memory;
- CPU的第二层高速缓存(L2 cache)使用SRAM,主要用于将一些常用的程序或数据放置到CPU内部,这些数据CPU就不用再去内存中读取,提高性能;
- SRAM频率速度远大于DRAM;
5. ROM
- 只读存储器,即Read Only Memory;
- ROM是主板上的一个内存芯片,再没有通电时也能将数据记录下来,是非挥发性内存;
- CMOS芯片是主板上一块可读写的RAM芯片,是一种低耗电存储区,其主要作用是记录主板上的重要参数,包括系统时间、CPU电压与频率、各项设备的I/O位址与IRQ等,有一颗电池持续供电。
- BIOS(Basic Input Output System,控制着开机时各项硬件参数的取得)就是写死到主板上的一个ROM中的一个程序,可以在开机的时候执行,以载入CMOS当中的参数,并尝试调用存储设备中的开机程序,进一步进入操作系统当中;
- 固件(Firmware,绑在硬件上的控制软件)很多都是使用ROM来进行软件的写入;
- 现在的BIOS通常是写入类似闪存(flash)或EEPROM中。
三、显卡
1. 相关概念
- Video Graphics Array,VGA;
- 显存容量影响到屏幕分辨率与色彩深度;
- GPU:显卡上的3D加速芯片;
- 显卡主要是通过CPU的控制芯片来与CPU、内存等沟通;
2. 显卡通道种类
- 最早期为PCI;
- 之后为AGP;
- 后被PCI- Express(PCIe)取代;
- PCIe使用的是类似管线的概念来处理,管线越多总带宽越高;
3. 显卡连接显示器
- D-Sub(VGA);
- DVI;
- HDMI,可以同时传送影像与声音;
- Display port,可以同时传输声音与影像;
四、存储设备
1. 机械硬盘
- 由许多圆形盘片、机械手臂、磁头、主轴马达等部件组成;
- 运行时主轴马达让盘片转动,然后机械手臂可以伸展让磁头在盘片上头进行读写的动作;
- 磁盘的最小物理存储单位称之为扇区,同一个同心圆的扇区组成的圆就是磁道,所有盘片上的同一个磁道组成一个柱面;
- 数据的由外圈往内圈读写;
- 原来的扇区设计成512Byte容量,使用MSDOS模式通过柱面号码来分区;
- 新的扇区设计有4KByte的容量,使用GPT模式通过扇区号码来分区;
2. 传输接口
- IDE被SATA取代(1.0、2.0、3.0);
- SCSI被SAS取代;
- USB接口(1.0、2.0、3.0、3.1);
3. 固态硬盘
- 将闪存制作成大容量的设备;
- 闪存有写入次数限制;
4. 硬盘参数
- HHD(机械)与SSD(固态);
- 容量;
- 缓冲内存;
- 转速(机械);
五、扩展卡与接口
- 插槽:PCI、AGP、PCI-X、PCIe;
- 主要元件:声卡、网卡、USB控制器、显卡、磁盘阵列卡;
六、主板
1. I/O位址与IRQ
- 发挥扩展卡的性能需要考虑插槽位置;
- 每个设备都有自己的I/O位址;
- IRQ为每个设备连接到CPU的路径;
- 各设备可以通过IRQ中断信道告知CPU该设备的工作情况;
2. 周边设备接口
- PS/2接口:早期的键盘与鼠标的接口,慢慢被USB接口取代;
- USB接口:一般有USB2.0和USB3.0接口,USB3.0插槽为蓝色;
- 3.5mm圆形插孔:声音输出、输入与麦克风;
- RJ-45网络头:前提是主板有内置网络芯片;
- HDMI:前提是主板有内置显示芯片;
七、电源供应器
-
电源供应器本身会消耗一部分电力;
-
能量转换率:输出的功率/输入的功率;
八、系统不稳定的原因
- 系统超频;
- 电源供应器不稳定;
- 内存无法负荷;
- 系统过热。
数据表示方式
一、数字系统
- 二进制、十进制的互相转换
二、文字编码系统
1. ASCLL编码
- 每个符号(英文、数字、符号等)都占用1Bytes的记录;
- 共有2的8次方共256种变化;
2.GB2312编码
- 在ASCLL的基础上把中文编进去;
3. Unicode编码
- 所有语言整合到一套编码里;
- 一般是两个字节;
4. UTF-8
- 可变长编码;
- 常用的英文字母为1字节,汉子通常为3字节;很生僻的字符为4-6字节;
软件程序运行
一、操作系统
1. 操作系统核心
- 操作系统是一组程序;
- 操作系统核心主要为管控硬件并提供相关的能力的程序;
- 核心程序所放置到内存当中的区块是受保护的,并且开机后就一直常驻在内存中;
2. 系统调用
- 操作系统通常会提供一整组的开发接口给开发者调用来开发软件;
- 操作系统的核心层直接参考硬件规格写成,因此同一个操作系统程序不能在不一样的硬件架构下运行;
- 操作系统只是在管理整个硬件资源,包括CPU、内存、输入输出设备及文件系统文件;
- 应用程序的开发都是参考操作系统提供的开发接口,所以该应用程序只能在该操作系统上运行;
3. 核心功能
- 系统调用接口;
- 程序管理;
- 内存管理;
- 文件系统管理;
- 设备的驱动;
4. 驱动程序
- 操作系统驱动硬件所用的程序;
- 操作系统会提供接口供硬件开发商制作驱动程序;
二、应用程序
- 应用程序是参考操作系统提供的开发接口所开发出的软件。