CPU 内存 显卡
分类
CPU 其实内部已经含有一些小指令集,我们所使用的软件都要经过 CPU 内部的微指令集来达成才行。 那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要 CPU 种类: 分别是精简指令集 (RISC) 与复杂指令集 (CISC) 系统。
-
精简指令集 (Reduced Instruction Set Computing, RISC): 这种 CPU 的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳; 但是若要做复杂的事情,就要由多个指令来完成。常见的 RISC 微指令集 CPU 主要:
- 升阳 (Sun) 公司的 SPARC 系列: 常用于学术领域的大型工作站中,包括银行金融体系的主服务器也都有这类的计算机架构;
- IBM 公司的 Power Architecture(包括 PowerPC) 系列:Sony 公司出产的 Play Station3(PS3) 就是使用 PowerPC 架构的 Cell 处理器
- 与 ARM 系列:你常使用的各厂牌手机、 PDA、导航系统、网络设备(交换器、路由器等)等,几乎都是使用 ARM 架构的 CPU 喔! 老实说,目前世界上使用范围最广的 CPU 可能就是 ARM 呢!
-
复杂指令集 (Complex Instruction Set Computer, CISC)。 与 RISC 不同的,CISC 在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个别指令可以处理的工作较为丰富。常见的 CISC 微指令集 CPU 主要有 AMD、 Intel、 VIA 等的 x86 架构的 CPU。
个人计算机常被称为 x86 架构的计算机!那为何称为 x86 架构呢?
这是因为最早的那颗 Intel 发展出来的 CPU 代号称为 8086,后来依此架构又开发出 80286, 80386…, 因此这种架构的 CPU 就被称为 x86 架构了。其中 64 位处理器,叫做 x86_64 架构。
南北桥
- 北桥:负责链接速度较快的 CPU、主存储器与显示适配器等组件;
- 南桥:负责连接速度较慢的周边接口, 包括硬盘、 USB、网络卡等等。
倍频 外频 超频
各个组件都是透过北桥与南桥所连接在一起。 但就像一群人共同在处理一个连续作业一般,如果这一群人里面有个人的动作特别快或特别慢, 将导致前面或者是后面的人事情一堆处理不完!也就是说,这一群人最好能够速度一致较佳!所以,CPU 与外部各组件的速度理论上应该要一致才好。但是因为 CPU 需要较强大的运算能力, 因为很多判断与数学都是在 CPU 内处理的,因此 CPU 开发商就在 CPU 内再加上一个加速功能, 所以 CPU 有所谓的外频与倍频!
-
外频指的是 CPU 与外部组件进行数据传输时的速度,
-
倍频则是 CPU 内部用来加速工作效能的一个倍数
两者相乘才是 CPU 的频率速度。例如:频率是 3.0GHz, 而外频是 333MHz,因此倍频就是 9 倍啰!(3.0G=333Mx9, 其中 1G=1000M)
-
超频指的是: 将 CPU 的倍频或者是外频透过主板的设定功能更改成较高频率的一种方式。 但因为 CPU 的倍频通常在出厂时已经被锁定而无法修改, 因此较常被超频的为外频。 举例来说,像上述 3.0GHz 的 CPU 如果想要超频, 可以将他的外频 333MHz 调整成为 400MHz,但如此一来整个主板的各个组件的运作频率可能都会被增加成原本的 1.333 倍 (4/3), 虽然 CPU 可能可以到达 3.6GHz,但却因为频率并非正常速度,故可能会造成当机等问题。
32 位与 64 位
前面谈到 CPU 运算的数据都是由主存储器提供的,主存储器与 CPU 的沟通速度靠的是外部频率, 那么每次工作可以传送的资料量有多大呢?那就是总线的功能了。一般主板芯片组有分北桥与南桥, 北 桥的总线称为系统总线,因为是内存传输的主要信道,所以速度较快。
南桥就是所谓的输入输出 (I/O) 总线,主要在联系硬盘、 USB、网络卡等接口设备。
目前北桥所支持的频率可高达 333/400/533/800/1066/1333/1600MHz 等不同频率,支持情况依芯片组功能而有不同。 北桥所支持的频率我们称为前端总线速度 (Front Side Bus, FSB), 而每次传送的位数则是总线宽度。
那所谓的总线带宽则是:『FSBx 总线宽度』亦即每秒钟可传送的最大数据量。 目前常见的总线宽度有 32/64 位 (bits)。
例如:架构中前端总线最高速度可达 1600MHz。 我们看到内存与北桥的带宽为 12.8GBytes/s,亦即是 1600MHz64bits = 1600MHz8Bytes = 12800MByes/s = 12.8GBytes/s
与总线宽度相似 (不同) 的,CPU 每次能够处理的数据量称为字组大小 (word size), 字组大小依据 CPU 的设计而有 32 位与 64 位。我们现在所称的计算机是 32 或 64 位主要是依据这个 CPU 解析的字组大小而来的!早期的 32 位 CPU 中,因为 CPU 每次能够解析的数据量有限, 因此由主存储器传来的数据量就有所限制了。 这也导致 32 位的 CPU 最多只能支持最大到 4GBytes 的内存。
内存:CPU 所使用的数据都是来自于主存储器(main memory)
不论是软件程序还是数据,都必须要读入主存储器后 CPU 才能利用。 个人计算机的主存储器主要组件为动态随机存取内存(Dynamic Random Access Memory, DRAM), 随机存取内存只有在通电时才能记录与使用,断电后数据就消失了。因此我们也称这种 RAM 为挥发性内存
技术发展: DRAM->SDRAM->DDR
DDR 是所谓的双倍数据传送速度(Double Data Rate), 他可以在一次工作周期中进行两次数据的传送,感觉上就好像是 CPU 的倍频啦! 所以传 输频率方面比 SDRAM 还要好。
容量
因为所有的数据都得要加载内存当中才能够被 CPU 判读,如果内存容量不够大的话将会导致某些大容量数据无法被完整的加载, 此时已存在内存当中但暂时没有被使用到的数据必须要先被释放,使得可用内存容量大于该数据,那份新数据才能够被加载呢! 所以,通常越大的内存代表越快速的系统,这是因为系统不用常常释放一些内存内部的数据。 以服务器来说,主存储器的容量有时比 CPU 的速度还要来的重要的!
双通道设计
由于所有的数据都必须要存放在主存储器,所以主存储器的数据宽度当然是越大越好。 但传统的总线宽度一般大约仅达 64 位,为了要加大这个宽度,因此芯片组厂商就将两个主存储器汇整在一起, 如果一支内存可达 64 位,两支内存就可以达到 128 位了,这就是双通道的设计理念。
启动双信道内存功能时,数据是同步写入/读出这一对主存储器中
CPU 缓存
CPU 的数据都是由主存储器提供,但主存储器的数据毕竟得经由北桥送到 CPU 内。 如果某些很常用的程序或数据可以放置到 CPU 内部的话,那么 CPU 资料的读取就不需要透过北桥了! 对于效能来说不就可以大大的提升了?这就是第二层快取的设计概念。
第二层快取与主存储器及 CPU 的关系: (CPU <-> 缓存) <-> 主存储器 <-> 外部存储器
ROM 与 BIOS
BIOS(Basic Input Output System)是一套程序,这套程序是写死到主板上面的一个内存芯片中, 这个内存芯片在没有通电时也能够将数据记录下来,那就是只读存储器(Read Only Memory, ROM)。 ROM 是一种非挥发性的内存。另外,BIOS 对于个人计算机来说是非常重要的, 因为他是系统在开机的时候首先会去读取的一个小程序喔!
显卡
示适配器又称为 VGA(Video Graphics Array),他对于图形影像的显示扮演相当关键的角色。 一般对于图形影像的显示重点在于分辨率与颜色深度,因为每个图像显示的颜色会占用掉内存, 因此显示 适配器上面会有一个内存的容量,这个显示适配器内存容量将会影响到最终你的屏幕分辨率与颜色深度。
除了显示适配器内存之外,现在由于三度空间游戏(3D game)与一些 3D 动画的流行,因此显示适配器的『运算能力』越来越重要。 一些 3D 的运算早期是交给 CPU 去运作的,但是 CPU 并非完全针对这些 3D 来进行设计的,而且 CPU 平时已经非常忙碌了呢! 所以后来显示适配器厂商直接在显示适配器上面嵌入一个 3D 加速的芯片,这就是所谓的 GPU 称谓的由来——图形处理单元(Graphic Processing Units)。
参考
《鸟哥 Linux 私房菜(第三版)》
- 原文作者:战神西红柿
- 原文链接:https://tomatoares.github.io/posts/composition-principle/CPU/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。