跳到主要内容

计算硬件知识整理

电脑的组成

电脑的五大单元包括:输入单元、输出单元、控制单元、算数逻辑单元、存储单元五大部分。其中 CPU 占有控制、算术逻辑单元,存储单元又包含内存与辅助内存;

Linux 中所有的硬件设备文件都会在 /dev 这个目录内

下面列出几个常见的设备与其在 Linux 当中的文件名啰:

设备设备在Linux内的文件名
无限数据接收设备,相当于黑洞/dev/null
SCSI/SATA/USB硬盘机/dev/sd[a-p]
本地回环设备/dev/loop[0-7]
虚拟终端/dev/tty[0-63]
串口/dev/ttyS[0-3]

硬盘设备

如果 PC 上面有两个 SATA 磁盘以及一个 USB 磁盘,而主板上面有六个 SATA 的插槽。这两个 SATA 磁盘分别安插在主板上的 SATA1, SATA5 插槽上, 请问这三个磁盘在 Linux 中的设备文件名为何?

答:由于是使用侦测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备的文件名如下:

  • SATA1插槽上的文件名:/dev/sda
  • SATA5插槽上的文件名:/dev/sdb
  • USB磁盘(开机完成后才被系统捉到):/dev/sdc

Tip: SATA,全称Serial Advanced Technology Attachment,又叫串口硬盘,是将主机总线适配器连接到硬盘的总线接口。SATA 是硬盘接口的标准规范,也是目前应用最多的硬盘接口,从最初的 SATA 1.0 进化如今的 SATA 3.0 ,普通 2.5 英寸 SSD 以及 HDD 硬盘都使用这种接口,理论传输带宽 6Gbps,其最大的优势就是成熟,兼容的设备多,普及程度也比较高。

而这里 sdb 后面跟的数字是什么呢?

后面的数字表示设备上的分区,而这个分区是主分区,一般都会挂载着某个目录

上图中假设我的硬盘分为两个分区,partition 1是挂载到根目录,至于partition 2则是挂载到 /home 这个目录。所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下; 也就是说,进入该目录就可以读取该分区的意思。

CPU 基础知识

CPU 的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。Hz 是时钟频率单位,叫赫兹(Hertz),是 CPU 运算时的工作的频率(1 秒内发生的同步脉冲数)的简称,CPU 使用的是 GHz,GigaHertz,对于 CPU 和 GPU 来说,越高的时钟频率对应越高的性能以及更高的耗电量和更多的发热量。

一般而言,制造工艺的纳米数越小,能量的使用效率越高。

那一般的 CPU 是多少 HZ 呢?如下图所示

不过这个频率并非定死的,现在 Intel 的 CPU 会自动超频与降频,如果有大量运算会自动的超频,反之会自动降频借此达到节能省电的目的

ARM 和 X86 架构

CPU 依设计理念主要分为:精简指令集(RISC)与复杂指令集(CISC)系统;

X86:复杂指令集(CISC:Complex Instruction Set Computer) ARM:精简指令集(RISC:Reduced Instruction Set Computer)

X86指令集中的指令是复杂的,一条很长指令就可以很多功能,而 ARM 指令集的指令是很精简的,需要几条精简的短指令完成很多功能。

X86 的方向是高性能方向,因为它追求一条指令完成很多功能,而 ARM 的方向是面向低功耗,要求指令尽可能精简。目前 X86 的市场主要是 PC 和服务器,因为需要高性能。ARM 的市场主要是手机和平板,因为需要低功耗。

  • Intel i7处理器平均发热率为45瓦。
  • 基于 ARM 的片上系统(其中包括图形处理器)的发热率最大瞬间峰值大约是3瓦

64 位和 32 位

所谓的位指的是 CPU 一次数据读取的最大量!64 位 CPU 代表 CPU 一次可以读写 64bits 这么多的数据,32 位 CPU 则是 CPU 一次只能读取 32 位的意思。 因为 CPU 读取数据量有限制,因此能够从内存中读写的数据也就有所限制。所以,一般 32 位的 CPU 所能读写的最大数据量,大概就是 4GB 左右。

内存 RAM

随机存取存储器(英语:Random Access Memory,缩写:RAM)是与 CPU 直接交换数据的内部存储器。

不论是软件程序还是数据,都必须要读入内存后 CPU 才能使用。个人电脑的内存主要元件为动态随机存取内存(Dynamic Random Access Memory, DRAM), 随机存取内存只有在通电时才能记录与使用,断电后数据就消失了。因此也称这种 RAM 为挥发性内存。

DRAM 根据技术的更新又分好几代,而使用上较广泛的有所谓的 SDRAM 与 DDR SDRAM 两种。这个 DDR 是所谓的双倍数据传送速度(Double Data Rate), 他可以在一次工作周期中进行两次数据的传送

# 检查内存型号
$ sudo dmidecode -t memory

速度如下

SDRAM/DDR型号数据宽度(bit)内部频率(MHz)频率速度带宽(频率x宽度)
SDRAMPC10064100100800MBytes/sec
SDRAMPC133641331331064MBytes/sec
DDRDDR-266641332662.1GBytes/sec
DDRDDR-400642004003.2GBytes/sec
DDRDDR2-800642008006.4GBytes/sec
DDRDDR3-160064200160012.8GBytes/sec

References

随机存取存储器