鸟哥的Linux(四):(零)计算机概论

最近学习鸟哥的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)

你可能感兴趣的:(鸟哥的Linux(四):(零)计算机概论)