关于计算机组成原理:给你一张知识地图计算机组成原理应该这么学

02 给你一张常识地图,计算机组成原理应该这么学理解了古代计算机的根本硬件组成和背地最根本的冯·诺依曼体系结构,咱们就能够正式进入计算机组成原理的学习了。在学习一个一个零散的知识点之前,我整顿了一份学习地图,好让你对将要学习的内容有一个总纲层面的理解。 倡议保留后查看大图 从这张图能够看进去,整个计算机组成原理,就是围绕着计算机是如何组织运作开展的。 计算机组成原理常识地图计算机组成原理的英文叫 Computer Organization。这里的 Organization 是“组织机构”的意思。计算机由很多个不同的部件放在一起,变成了一个“组织机构”。这个组织机构最终可能进行各种计算、管制、读取输出,进行输入,达成各种弱小的性能。 在这张图外面,咱们把整个计算机组成原理的知识点拆分成了四大局部,别离是计算机的根本组成、计算机的指令和计算、处理器设计,以及存储器和 I/O 设施。 首先,咱们来看计算机的根本组成。 这一部分,你须要学习计算机是由哪些硬件组成的。这些硬件,又是怎么对应到经典的冯·诺依曼体系结构中的,也就是运算器、控制器、存储器、输出设施和输出设备这五大根本组件。除此之外,你还须要理解计算机的两个外围指标,性能和功耗。性能和功耗也是咱们在利用和设计五大根本组件中须要重点思考的因素。 理解了组成部分,接下来你须要把握计算机的指令和计算。 在计算机指令局部,你须要搞明确,咱们每天撰写的一行行 C、Java、PHP 程序,是怎么在计算机外面跑起来的。这外面,你既须要理解咱们的程序是怎么通过编译器和汇编器,变成一条条机器指令这样的编译过程(如果把编译过程开展的话,能够变成一门残缺的编译原理课程),还须要晓得咱们的操作系统是怎么链接、装载、执行这些程序的(这部分常识如果再深刻学习,又能够变成一门操作系统课程)。而这一条条指令执行的管制过程,就是由计算机五大组件之一的控制器来管制的。 在计算机的计算局部,你要从二进制和编码开始,了解咱们的数据在计算机里的示意,以及咱们是怎么从数字电路层面,实现加法、乘法这些根本的运算性能的。实现这些运算性能的 ALU(Arithmetic Logic Unit/ALU),也就是算术逻辑单元,其实就是咱们计算机五大组件之一的运算器。 这外面有一个在明天看起来特地重要的知识点,就是浮点数(Floating Point)。浮点数是咱们在日常使用中非常容易用错的一种数据表示模式。把握浮点数能让你对数据的编码、存储和计算可能有一个从表到里的深刻了解。尤其在 AI 炽热的明天,浮点数是机器学习中重度应用的数据表示模式,把握它更是十分有必要。 明确计算机指令和计算是如何运行的,咱们就能够深刻到CPU 的设计中去一探到底了。 CPU 时钟能够用来结构寄存器和内存的锁存器和触发器,因而,CPU 时钟应该是咱们学习 CPU 的前导常识。搞明确咱们为什么须要 CPU 时钟(CPU Clock),以及寄存器和内存是用什么样的硬件组成的之后,咱们能够再来看看,整个计算机的数据通路是如何结构进去的。 数据通路,其实就是连贯了整个运算器和控制器,并最终组成了 CPU。而出于对于性能和功耗的思考,你要进一步了解和把握面向流水线设计的 CPU、数据和管制冒险,以及分支预测的相干技术。 既然 CPU 作为控制器要和输入输出设施通信,那么咱们就要晓得异样和中断产生的机制。在 CPU 设计局部的最初,我会讲一讲指令的并行执行,看看如何间接在 CPU 层面,通过 SIMD 来反对并行计算。 最初,咱们须要看一看,计算机五大组成部分之一,存储器的原理。通过存储器的层次结构作为根底的框架疏导,你须要把握从上到下的 CPU 高速缓存、内存、SSD 硬盘和机械硬盘的工作原理,它们之间的性能差别,以及理论利用中利用这些设施会遇到的挑战。存储器其实很多时候又表演了输入输出设施的角色,所以你须要进一步理解,CPU 和这些存储器之间是如何进行通信的,以及咱们最器重的性能问题是怎么一回事;了解什么是 IO_WAIT,如何通过 DMA 来晋升程序性能。 对于存储器,咱们不仅须要它们可能失常工作,还要确保外面的数据不能失落。于是你要把握咱们是如何通过 RAID、Erasure Code、ECC 以及分布式 HDFS,这些不同的技术,来确保数据的完整性和拜访性能。 学习计算机组成原理,到底有没有好方法?置信这个学习地图,应该让你对计算机组成这门课要学些什么,有了一些理解。不过这个地图上的知识点繁多,应该也给你带来了不小的挑战。 我上一节也说过,相较于整个计算机科学中的其余科目,计算机组成原理更像是整个计算机学科里的“大纲”。这门课里任何一个知识点深刻挖下去,都能够变成计算机科学里的一门外围课程。 比如说,程序怎么从高级代码变成指令在计算机外面运行,对应着“编译原理”和“操作系统”这两门课程;计算实现背地则是“数字电路”;如果要深刻 CPU 和存储器零碎的优化,必然要深刻理解“计算机体系结构”。 因而,为了帮你更快更好地学计算机组成,我为你总结了三个学习办法,帮你更好地把握这些知识点,并且可能学为所用,让你在工作中可能用得上。 首先,学会发问本人来串联知识点。学完一个知识点之后,你能够从上面两个方面,问一下本人。 ...

February 25, 2024 · 1 min · jiezi