《鸟哥的linux私房菜》第0章
计算机硬件的组成
-
计算机五大单元
计算机由输入单元,输出单元,主储存器,CPU内部的控制单元和算术逻辑单元组成。
- 输入单元包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等
- 输出单元包括屏幕、打印机等
-
CPU(Central Processing Unit,中央处理器)
CPU是一个具有特定功能的芯片,内部含有微指令集。CPU主要用于管理与运算。
因此在 CPU 内又可分为两个主要的单元,分别是:算数逻辑单元与控制单元。其中算数逻辑单元主要负责程序运算与逻辑判断,控制单元则主要在协调各周边组件与各单元间的工作。
-
CPU组成
CPU包括控制、算术逻辑单元,记忆单元。记忆单元又包含主存储器(main memory, RAM)与辅助内存,其中辅助内存包括硬盘、软盘、光盘、磁带等。
-
CPU架构
CPU 内部已经含有一些微指令,我们所使用的软件都要经过 CPU 内部的微指令集来达成。这些指令集的设计主要被分为两种设计理念,也就是目前世界上常见的两种CPU 架构。
- 精简指令集 (Reduced Instruction Set Computer, RISC)
- RISC微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳。但是若要做复杂的事情,就要由多个指令完成。
- 常见的 RISC 微指令集 CPU 主要有甲骨文 (Oracle) 公司的 SPARC 系列、 IBM 公司的 Power Architecture (包括 PowerPC) 系列、与ARM Holdings的 ARM CPU 系列等。
- 复杂指令集(Complex Instruction Set Computer, CISC)
- CISC 微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多且复杂,,每条指令的长度不同。因为指令执行较为复杂所以每条指令花费的时间较长,但个别指令可以处理的工作较丰富。
- 常见的 CISC 微指令集 CPU 主要有 AMD、Intel、VIA 等x86 架构的 CPU.由于 AMD、 Intel、 VIA 所开发出的 x86 架构 CPU 被大量使用于个人计算机上,因此个人计算机常被称为 x86 架构的计算机
- 精简指令集 (Reduced Instruction Set Computer, RISC)
-
-
运作方式
数据由输入单元流入主储存器,数据会流进/流出内存是 CPU 所发布的控制命令,而 CPU 实际要处理的数据则完全来自于主存储器。因此,如果主存储器能提供给 CPU 的数据量越大,整体系统效能越快。
计算机用途的分类
-
超级计算机(Supercomputer)
超级计算机是运作速度最快的计算机,,主要用于需要有高速计算的计划中。 如国防军事、气象预测、太空科技,用在模拟的领域较多。
-
大型计算机(Mainframe Computer)
大型计算机通常也具有数个高速的 CPU,可用来处理大量资料与复杂的运算。 如大型企业的主机或数据库服务器等。
-
迷你计算机(Minicomputer)
迷你计算机仍保有大型计算机同时支持多用户的特性,但主机可放在一般作业场所,通常用来科学研究、工程分析与工厂的流程管理等。
-
工作站(Workstation)
工作站是针对特殊用途而设计的计算机,在学术研究与工程分析方面相当常见。
-
微电脑(Microcomputer)
个人计算机就属于这部份的分类,体积最小,价格最低,但功能全。
计算机常用的计算单位
-
容量单位
0/1这种二进制单位成为
bit
,但bit太小,所以储存每份简单的数据都用8bits来记录,因此定义出单位byte,**1 byte = 8 bits
。**但byte还是太小,较大容量下无法判断数据的大小,从而使用K
表示1024byte,M
表示1024K。 -
速度单位
CPU 的指令周期常使用 MHz 或 GHz,Hz 是秒分之一。在网络传输方面,由于网络使用 bit 为单位,因此网络常使用的单位为 Mbps(Mbits per second)。
个人计算机架构与相关设备组件
-
Intel芯片主板架构
由CPU、显卡、网卡、主储存器、南桥、北桥组成。由于主板是链接各组件的一个重要项目,早期的芯片组通常分为两个网桥来控制各组件的沟通,分别是:
- 北桥:负责链接速度较快的 CPU、主存储器与显示适配器界面等组件。由于北桥最重要
的是 CPU 与主存储器之间的桥接,因此大多将北桥内存控制器整合到 CPU封装中。 - 南桥:负责连接速度较慢的装置接口,,包括硬盘、USB、网络卡等。
- 北桥:负责链接速度较快的 CPU、主存储器与显示适配器界面等组件。由于北桥最重要
-
CPU
-
CPU 的工作频率:外频与倍频
频率就是CPU每秒钟可以进行的工作次数,频率越高表示CPU单位时间内可作更多事(频率目前仅能用来比较同款 CPU 的速度)。外频是 CPU 与外部组件进行数据传输的速度,倍频是 CPU 内部加速工作效能的一个倍数,两者相乘是 CPU 的频率速度。
-
32 位与 64 位的 CPU 与总线宽度
与 CPU 的频率类似,主存储器也有工作的频率,这个频率限制来自于 CPU 内的内存控制器。一般每次频率能够传输的数据量大多为 64 位,这个 64 位就是所谓的宽度。CPU 每次能够处理的数据量称为字组大小(word size),字组大小依据 CPU 的设计分为 32 位与 64 位。现在所称的计算机是 32 或 64 位主要依据 CPU 解析的字组大小而来。
-
超线程 (Hyper-Threading, HT)
每一个 CPU内部将重要的缓存器 (register) 分成两群,让程序分别使用这两群缓存器,即有两个程序同时竞争 CPU 的运算单元。因此,虽然大部分 i7 等级的 CPU 只有四个实体核心,但通过HT 机制,操作系统可以抓到八个核心,并且让每个核心逻辑上分离,就可以同时运作八个程序。
-
-
内存
个人计算机的主存储器主要组件为动态随机存取内存(Dynamic Random Access Memory, DRAM)随机存取内存只有在通电时才能记录与使用,断电后数据就消失了。因此也称这种 RAM 为挥发性内存。
-
多通道设计
由于所有数据都必须存放于主存储器,所以主存储器的数据宽度越大越好。 但传统的总线宽度仅达 64 位,因此芯片组厂商就将两个主存储器汇整在一起。启动双信道内存功能时,数据同步写入/读出这一对主存储器中。
-
DRAM 与 SRAM
CPU 到主存储器之间要通过内存控制器,若将某些常用程序或数据放置到 CPU 内部,CPU
数据的读取效率将提升。而第二层快取(L2 cache)整合到 CPU 内部,L2 内存的速度必须要与 CPU 频率相同,静态随机存取内存(Static Random Access Memory,SRAM)可达到此速度。 -
只读存储器(ROM)
BIOS(Basic Input Output System)是一套程序是写死到只读存储器(Read Only Memory, ROM)中的程序,没有通电时也能将数据记录下来,ROM 是一种非挥发性的内存。韧体(韧体就是绑在硬件上的控制软件,firmware)大多也使用 ROM 来进行软件的写入。
-
-
显示适配器
每个图像显示的颜色都会占用内存,因此显示适配器上的内存的容量会影响到屏幕分辨率与颜色深度。随着3D动画的发展,显示适配器的运算能力也愈发重要,所以显示适配器内部被嵌入一个3D加速芯片,也就是GPU.
-
硬盘与储存设备
-
硬盘的物理组成
硬盘由圆形磁盘盘、机械手臂、 磁盘读取头与主轴马达组成。实际的数据写在具有磁性物质的磁盘盘上,机械手臂上的读取头读写数据。实际运作时,主轴马达让磁盘盘转动,机械手臂伸展,让读取头在磁盘盘上头进行读写的。另外,由于单一磁盘盘的容量有限,因此有的硬盘内部会有两个以上的磁盘盘。
-
磁盘盘上的数据
如图,这个小区块就是磁盘的最小物理储存单位扇区 (sector),同一个同心圆的扇区组合成的圆是磁道(track)。 由于磁盘里面可能会有多个磁盘盘,因此在所有磁盘盘上面的同一个磁道可以组合成所谓的磁柱 (cylinder)。
-
固态硬盘 (Solid State Disk, SSD)
由于传统硬盘需要驱动马达转动磁盘盘,会造成严重的磁盘读取延迟,因此发明固态硬盘。固态硬盘直接通过内存读写,没数据延迟并且省电
-
数据表示方式
-
数字系统
早期的计算机使用的是利用通电与否的特性的真空管,通电为1,没有通电为0,后来沿用
至今,我们称这种只有 0/1 的环境为二进制。十进制:3456 = 3x103 + 4x102 + 5x101 + 6x100
二进制:1101010=1x26 + 1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 0x20 = 64 + 32 + 0x16 + 8 + 0x4 + 2 + 0x1 = 106
十进制转二进制:eg.106
-
文字编码系统
常用的英文编码表为 ASCII 系统,每个符号(英文、数字或符号等)占用 1bytes的记录,因此总共有 256 种变化。对于非英语使用Unicode 编码系统,常称呼的UTF8 或万国码。
操作系统
-
操作系统核心(Kernel)
操作系统(Operating System, OS)也是一组程序,重点在于管理计算机的所有活动以及驱动系统中的所有硬件,如让 CPU 可以开始判断逻辑与运算数值、 让主存储器开始加载/读出数据与程序代码、让硬盘开始被存取、让网卡开始传输数据、 让所有周边开始运转等,上述功能就是操作系统的核心(Kernel).核心程序放置在受保护的内存区块中,并且开机后一直常驻在内存中。
-
系统呼叫(System Call)
计算机系统主要由硬件构成,核心程序主要管理硬件,提供合理的计算机系统资源分配(包括
CPU 资源、内存使用资源等等),因此只要硬件不同,核心就要修改。而由于核心只会进行计算机系统的资源分配,所以在还需要有应用程序,用户才能操作系统。为了保护核心并让容易开发软件,操作系统除了核心程序之外,通常还会提供一整组开发接口,也就是系统呼叫层。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!