46、SSD硬盘(上):如何完成性能优化的KPI?随着3D垂直封装技术和QLC技术的出现,今年的“618”,SSD硬盘的价格进一步大跳水,趁着这个机会,我把自己电脑上的仓库盘,从HDD换成了SSD硬盘。我的个人电脑彻底摆脱了机械硬盘。 随着智能手机的出现,互联网用户在2008年之后开始爆发性增长,大...2025-11-01深入浅出计算机组成原理
45、机械硬盘:Google早期用过的“黑科技”在1991年,我刚接触计算机的时候,很多计算机还没有硬盘。整个操作系统都安装在5寸或者3.5寸的软盘里。不过,很快大部分计算机都开始用上了直接安装在主板上的机械硬盘。到了今天,更早的软盘早已经被淘汰了。在个人电脑和服务器里,更晚出现的光盘也已经很少用...2025-11-01深入浅出计算机组成原理
44、理解IO_WAIT:I|O性能到底是怎么回事儿?在专栏一开始的时候,我和你说过,在计算机组成原理这门课里面,很多设计的核心思路,都来源于性能。在前面讲解CPU的时候,相信你已经有了切身的感受了。 大部分程序员开发的都是应用系统。在开发应用系统的时候,我们遇到的性能瓶颈大部分都在I/O上。...2025-11-01深入浅出计算机组成原理
43、输入输出设备:我们并不是只能用灯泡显示“0”和“1”我们在前面的章节搭建了最简单的电路,在这里面,计算机的输入设备就是一个一个开关,输出设备呢,是一个一个灯泡。的确,早期发展的时候,计算机的核心是做“计算”。我们从“计算机”这个名字上也能看出这一点。不管是中文名字“计算机”,还是英文名字“Comput...2025-11-01深入浅出计算机组成原理
42、总线:计算机内部的高速公路专栏讲到现在,如果我再问你,计算机五大组成部分是什么,应该没有人不知道了吧?我们这一节要讲的内容,依然要围绕这五大部分,控制器、运算器、存储器、输入设备和输出设备。 CPU所代表的控制器和运算器,要和存储器,也就是我们的主内存,以及输入和输出设备进行...2025-11-01深入浅出计算机组成原理
41、理解内存(下):解析TLB和内存保护机器指令里面的内存地址都是虚拟内存地址。程序里面的每一个进程,都有一个属于自己的虚拟内存地址空间。我们可以通过地址转换来获得最终的实际物理地址。我们每一个指令都存放在内存里面,每一条数据都存放在内存里面。因此,“地址转换”是一个非常高频的动作,“地址...2025-11-01深入浅出计算机组成原理
40、理解内存(上):虚拟内存和内存保护是什么?我们在专栏一开始说过,计算机有五大组成部分,分别是:运算器、控制器、存储器、输入设备和输出设备。如果说计算机最重要的组件,是承担了运算器和控制器作用的CPU,那内存就是我们第二重要的组件了。内存是五大组成部分里面的存储器,我们的指令和数据,都需要先加...2025-11-01深入浅出计算机组成原理
39、MESI协议:如何让多核CPU的高速缓存保持一致?你平时用的电脑,应该都是多核的CPU。多核CPU有很多好处,其中最重要的一个就是,它使得我们在不能提升CPU的主频之后,找到了另一种提升CPU吞吐率的办法。 不知道上一讲的内容你还记得多少?上一节,我们讲到,多核CPU里的每一个CPU核,都有独立的属...2025-11-01深入浅出计算机组成原理
38、高速缓存(下):你确定你的数据更新了么?在我工作的十几年里,写了很多Java的程序。同时,我也面试过大量的Java工程师。对于一些表示自己深入了解和擅长多线程的同学,我经常会问这样一个面试题:“volatile这个关键字有什么作用?”如果你或者你的朋友写过Java程序,不妨来一起试着回答一...2025-11-01深入浅出计算机组成原理
37、高速缓存(上):“4毫秒”究竟值多少钱?在这一节内容开始之前,我们先来看一个3行的小程序。你可以猜一猜,这个程序里的循环1和循环2,运行所花费的时间会差多少?你可以先思考几分钟,然后再看我下面的解释。 12345678910int[] arr = new int[64 * 1024 * 1...2025-11-01深入浅出计算机组成原理