最近学习鸟哥的Linux私房菜:基础学习篇(第四版),按鸟哥的教程目录,自己也写一系列博客总结自己认为重要知识点。
CPU的架构
CPU 架构, 分别是:精简指令集 (RISC) 与复杂指令集 (CISC)
- 精简指令集 (Reduced Instruction Set Computer, RISC)
安谋公司 (ARM Holdings) 的 ARM CPU 系列主要应用于手机、路由器等上。目前世界上使用范围最广的 CPU 可能就是 ARM 架构。
- 复杂指令集(Complex Instruction Set Computer, CISC)
64位的个人电脑CPU统称为 x86_64 架构。所谓的位指的是 CPU 一次数据读取的最大量!
电脑上面常用的计算单位 (容量、速度等)
- 容量单位
二进制单位从小到大:K、M、G、T、P、E
- 速度单位
CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一(如:12.8GByte/s)。
而在网络传输方面,由于网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits persecond,亦即是每秒多少Mbit。举例来说,100M/20M 光纤传输速度,如果转成文件大小的Byte(bit除以8)时,其理论最大传输值为:下载速度12.5MByte/s;上传速度2.5MByte/s!
硬盘制造商会使用十进制的单位,所以500GByte代表为500*
1000*
1000*
1000Byte之意。转成文件的容量单位时使用二进制(1024为底),所以就成为466GB左右的容量。
硬盘的最小物理量为512Bytes,最小的组成单位为扇区(sector),通常硬盘容量的计算采用“多少个sector”,所以才会使用十进制来处理的。
执行脑袋运算与判断的 CPU
- CPU的工作频率:外频与倍频
因为 CPU 的运算速度比其他的设备都要来的快,又为了要满足FSB(前端总线速度)的频率,因此厂商就在 CPU内部再进行加速,于是有了所谓的外频与倍频。
在早期的 CPU 设计中,所谓的外频指的是CPU与外部元件进行数据传输时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率速度(内频)。例如Intel Core 2 E8400的内频为3.0GHz,而外频是333MHz,因此倍频就是9倍!(3.0G=333Mx9, 其中1G=1000M)
所谓的超频指的是:将CPU的倍频或者是外频通过主板的设置功能更改成较高频率的一种方式。但因为CPU的倍频通常在出厂时已经被锁定而无法修改,因此较常被超频的为外频。
新型CPU 设计, 已经将内存控制器整合到CPU内部。因此,CPU的频率设计就无须考虑得要同步的外频,只需要考虑整体的频率即可。可以外频变成 100MHz,而倍频到达 30 以上。
现在 Intel 的 CPU 会主动超频。例如 i7-4790 这颗 CPU 的规格中,基本频率为 3.6GHz,但是最高可自动超频到 4GHz 喔! 通过的是 Intel 的 turbo 技术。同时,如果你没有大量的运算需求,该 CPU 频率会降到 1.xGHz 而已,借此达到节能省电的目的!
- 32位与64位的CPU与总线“宽度”
CPU 内的内存控制芯片与内存间的传输速度称为 ” 前端总线速度(Front Side Bus, FSB)“
例如:CPU 内置的内存控制芯片对内存的工作频率最高为1600MHz。这只是工作频率(每秒几次) 。每次频率能够传输的数据量是64位,这个 64 位就是所谓的“宽度”! 因此,CPU可以从内存中取得的最快带宽就是 1600MHz*
64bit = 1600MHz*
8Bytes = 12.8GByte/s。
CPU每次能够处理的数据量称为字组大小(word size),我们现在所称的电脑是32或64位主要是依据这个 CPU解析的字组大小而来的!
内存使用系统总线带宽来与 CPU 沟通。而显卡则通过PCI-E的序列信道设计来与 CPU 沟通。
- 超线程 (Hyper-Threading, HT)
在每一个 CPU 内部将重要的寄存器 (register) 分成两群,而让程序分别使用这两群寄存器。可以有两个程序“同时竞争 CPU 的运算单元”。
内存
个人电脑的内存主要元件为动态随机存取内存(Dynamic Random Access Memory, DRAM), 随机存取内存只有在通电时才能记录与使用,断电后数据就消失了。因此我们也称这种RAM为挥发性内存。
DRAM又分为SDRAM与DDR SDRAM两种。 DDR是所谓的双倍数据传送速度(Double Data Rate)。
DDR SDRAM又依据技术的发展,有DDR, DDR2, DDR3, DDR4等等,其中,DDR2 的频率倍数则是 4 倍而DDR3 则是 8 倍。DDR3 标准电压为 1.5V,但 DDR3L 则仅须 1.35V。
- DRAM与SRAM
第二层高速缓存(L2 cache) 整合到CPU内部,这个L2内存的速度必须要CPU频率相同。 是静态随机存取内存(Static Random Access Memory, SRAM)。
- 只读存储器(ROM)
主板上的每个元件的参数又具有可调整性。主板元件的功能是否要启动与该功能的各项参数, 是被记录到主板上头的一个称为CMOS的芯片上,主板上面会有一颗电池让这个芯片发挥记录功能。
BIOS(Basic Input Output System) 是一套程序,这套程序是写死到主板上面的一个内存芯片中,这个内存芯片只读存储器(Read Only Memory, ROM)。ROM是一种非挥发性的内存。他控制着开机时各项硬件参数的取得!现在的 BIOS 通常是写入类似闪存(flash) 或 EEPROM 中。
固件就是绑在硬件上面的控制软件!
显卡
显卡又称为VGA(Video Graphics Array)。
目前显卡的规格是PCI-Express。PCIe(PCI-Express)使用的是类似管线的概念来处理。
规格 | 1x带宽 | 16x带宽 |
---|---|---|
PCIe 1.0 | 250MBytes/s | 4GByte/s |
PCIe 4.0 | ~2GByte/s | 16GByte/s |
屏幕的每个像素占用3Bytes的容量。
硬盘与储存设备
- 硬盘的物理组成
圆形盘片、机械手臂、 磁头与主轴马达
- 盘片上的数据
最小物理储存单位,称之为扇区(sector),同一个同心圆的扇区组合成的圆就是所谓的磁道(track) 。 通常数据的读写会由外圈开始往内写。
在较新的 GPT 模式下,磁盘的分区通常使用扇区号码来设计。
- 传输接口
SATA, USB 与 SAS 接口
- 固态硬盘 (Solid State Disk, SSD)
传统硬盘有个很致命的问题,就是需要驱动马达去转动盘片~这会造成很严重的磁盘读取延。如果数据放置的比较离散(扇区分佈比较广又不连续),那么读写的速度就会延迟更明显!
固态硬盘是闪存制作,连接接口是SATA或SAS。它没有马达不需要转动,而是通过内存直接读写的特性。
主板
- 设备I/O位址与IRQ中断信道
如果I/O位址想成是各设备的门牌号码的话,那么IRQ就可以想成是各个门牌连接到邮件中心(CPU) 的专门路径。
- CMOS与BIOS
CMOS主要的功能为记录主板上面的重要参数,包括系统时间、CPU电压与频率、各项设备的I/O位址与IRQ等,由于这些数据的记录要花费电力,因此主板上面才有电池。
BIOS为写入到主板上某一块 flash 或 EEPROM 的程序,他可以在开机的时候执行,以载入CMOS当中的参数,并尝试调用储存设备中的开机程序,进一步进入操作系统当中。BIOS程序也可以修改CMOS中的数据。
数字系统
十进制的转成二进制:除数取余法。
文字编码系统
常用的英文编码表为ASCII系统,这个编码系统中, 每个符号(英文、数字或符号等) 都会占用1Bytes的记录, 因此总共会有2^8=256种变化。
国际组织ISO/IEC制订了Unicode编码系统,我们常常称呼为UTF8或万国码。
参考网址:
- 鸟哥的 Linux 私房菜:基础学习篇 第四版(GitBook)