随笔分类 -  深挖计算机基础

上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要:一、引子 1、流水线设计需要解决的三大冒险 过去两讲,我为你讲解了流水线设计CPU所需要的基本概念。接下来,我们一起来看看,要想通过流水线设计来提升CPU的吞吐率,我们需要冒哪些风险。 任何一本讲解CPU的流水线设计的教科书,都会提到流水线设计需要解决的三大冒险,分别是 结构冒险(Structura 阅读全文
posted @ 2019-08-30 18:09 活的潇洒80 阅读(2565) 评论(0) 推荐(1)
摘要:一、引子 1、现代桌面CPU的最后一场大战 上一讲,我给你初步介绍了CPU的流水线技术。乍看起来,流水线技术是一个提升性能的灵丹妙药。它通过把一条指令的操作切分成更细的多个步骤,可以避免CPU“浪费”。每一个细分的流水线步骤都很简单,所以我们的单个时钟周期的时间就可以设得更短。这也变相地让CPU的主 阅读全文
posted @ 2019-08-30 18:09 活的潇洒80 阅读(837) 评论(0) 推荐(0)
摘要:一、引子 前面我们用了三讲,用一个个的电路组合,制作出了一个完整功能的CPU。这里面一下子给你引入了三个“周期”的概念,分别是指令周期、机器周期(或者CPU周期)以及时钟周期。 你可能会有点摸不着头脑了,为什么小小一个CPU,有那么多的周期(Cycle)呢?我们在专栏一开始,不是把CPU的性能定义得 阅读全文
posted @ 2019-08-30 18:09 活的潇洒80 阅读(1345) 评论(0) 推荐(0)
摘要:一、引子 上一讲,我们讲解了时钟信号是怎么实现的,以及怎么利用这个时钟信号,来控制数据的读写,可以使得我们能把需要的数据“存储”下来。那么,这一讲,我们要让计算机“自动”跑起来。 通过一个时钟信号,我们可以实现计数器,这个会成为我们的PC寄存器。然后,我们还需要一个能够帮我们在内存里面寻找指定数据地 阅读全文
posted @ 2019-08-29 18:33 活的潇洒80 阅读(1401) 评论(0) 推荐(0)
摘要:一、引子 上一讲,我们看到,要能够实现一个完整的CPU功能,除了加法器这样的电路之外,我们还需要实现其他功能的电路。其中有一些电路,和我们实现过的加法器一样,只需要给定输入,就能得到固定的输出。这样的电路,我们称之为 组合逻辑电路(Combinational Logic Circuit)。 1、只有 阅读全文
posted @ 2019-08-29 18:33 活的潇洒80 阅读(1030) 评论(0) 推荐(0)
摘要:一、引子 过去这么多讲,我们的程序都是自动运行且正常运行的。自动运行的意思是说,我们的程序和指令都是一条条顺序执行,你不需要通过键盘或者网络给这个程序任何输入。正常运行是说,我们的程序都是能够正常执行下去的,没有遇到计算溢出之类的程序错误。 不过,现实的软件世界可没有这么简单。一方面,程序不仅是简单 阅读全文
posted @ 2019-08-28 18:10 活的潇洒80 阅读(993) 评论(0) 推荐(0)
摘要:一、引子 过去几年,最知名、最具有实用价值的ASIC就是TPU了。各种解读TPU论文内容的文章网上也很多。不过,这些文章更多地是从机器学习或者AI的角度,来讲解TPU。 上一讲,我为你讲解了FPGA和ASIC,讲解了FPGA如何实现通过“软件”来控制“硬件”,以及我们可以进一步把FPGA设计出来的电 阅读全文
posted @ 2019-08-28 18:10 活的潇洒80 阅读(549) 评论(0) 推荐(1)
摘要:一、引子 过去很长一段时间里,大家在讲到高科技、互联网、信息技术的时候,谈的其实都是“软件”。从1995年微软发布Windows 95开始,高科技似乎就等同于软件业和互联网。著名的风险投资基金Andreessen Horowitz的合伙人Marc Andreessen,在2011年发表了一篇博客,声 阅读全文
posted @ 2019-08-28 18:10 活的潇洒80 阅读(851) 评论(0) 推荐(0)
摘要:一、引子 上一讲,我带你一起看了三维图形在计算机里的渲染过程。这个渲染过程,分成了顶点处理、图元处理、栅格化、片段处理,以及最后的像素操作。这一连串的过程, 也被称之为图形流水线或者渲染管线。 因为要实时计算渲染的像素特别地多,图形加速卡登上了历史的舞台。通过3dFx的Voodoo或者NVidia的 阅读全文
posted @ 2019-08-27 12:00 活的潇洒80 阅读(1304) 评论(0) 推荐(0)
摘要:一、引子 讲完了CPU,我带你一起来看一看计算机里的另外一个处理器,也就是被称之为GPU的图形处理器。过去几年里,因为深度学习的大发展,GPU一下子火起来了,似乎GPU成了一个专为深度学习而设计的处理器。那GPU的架构究竟是怎么回事儿呢?它最早是用来做什么而被设计出来的呢? 想要理解GPU的设计,我 阅读全文
posted @ 2019-08-26 18:24 活的潇洒80 阅读(1319) 评论(2) 推荐(0)
摘要:一、引子 1、为什么Windows操作系统、用了SSD的系统盘,就不能用磁盘碎篇整理功能? 如果你平时用的是Windows电脑,你会发现,用了SSD的系统盘,就不能用磁盘碎片整理功能。这是因为,一旦主动去运行磁盘碎片整理功能,就会发生一次块的擦除,对应块的寿命就少了一点点。这个SSD的擦除寿命的问题 阅读全文
posted @ 2019-08-26 18:24 活的潇洒80 阅读(578) 评论(0) 推荐(0)
摘要:一、引子 过去几年里,整个计算机产业届,都在尝试不停地提升I/O设备的速度。把HDD硬盘换成SSD硬盘,我们仍然觉得不够快;用PCI Express接口的SSD硬盘替代SATA接口的SSD硬盘,我们还是觉得不够快,所以,现在就有了傲腾(Optane)这样的技术。 但是,无论I/O速度如何提升,比起C 阅读全文
posted @ 2019-08-26 18:24 活的潇洒80 阅读(1438) 评论(0) 推荐(1)
摘要:一、引子 随着3D垂直封装技术和QLC技术的出现,今年的“618”,SSD硬盘的价格进一步大跳水,趁着这个机会,我把自己电脑上的仓库盘,从HDD换成了SSD硬盘。我的个人电脑彻底摆脱了机械硬盘。 随着智能手机的出现,互联网用户在2008年之后开始爆发性增⻓,大家在网上花的时间也越来越多。这也就意味着 阅读全文
posted @ 2019-08-22 13:13 活的潇洒80 阅读(723) 评论(0) 推荐(0)
摘要:一、引子 我在第5讲讲计算机指令的时候,给你看过MIPS体系结构计算机的机器指令格式。MIPS的指令都是固定的32位长度,如果要用一个打孔卡来表示,并不复杂。 第6讲的时候,我带你编译了一些简单的C语言程序,看了x86体系结构下的汇编代码。眼尖的话,你应该能发现,每一条机器码的长度是不一样的。 而C 阅读全文
posted @ 2019-08-21 18:49 活的潇洒80 阅读(1069) 评论(0) 推荐(1)
摘要:上世纪60年代,计算机还是异常昂贵的设备,实际的计算机使用需求要面临两个挑战。 第一,计算机特别昂贵,我们要尽可能地让计算机忙起来,一直不断地去处理一些计算任务。第二,很多工程师想要用上计算机,但是没有能力自己花钱买一台,所以呢,我们要让很多人可以共用一台计算机。 一、缘起分时系统 为了应对这两个问 阅读全文
posted @ 2019-08-21 18:49 活的潇洒80 阅读(623) 评论(0) 推荐(0)
摘要:一、引子 性能问题 机器指令里面的内存地址都是虚拟内存地址。程序里面的每一个进程,都有一个属于自己的虚拟内存地址空间。我们可以通过地址转换来获得最终的实际物理地址。我们每一个指令都存放在内存里面,每一条数据都存放在内存里面。因此,“地址转换”是一个非常高频的动作,“地址转换”的性能就变得至关重要了。 阅读全文
posted @ 2019-08-21 18:45 活的潇洒80 阅读(907) 评论(0) 推荐(0)
摘要:一、简单页表 1、页表的概念 想要把虚拟内存地址,映射到物理内存地址,最直观的办法,就是来建一张映射表。这个映射表,能够实现虚拟内存里面的页,到物理内存里面的页的一一映射。这个映射表,在计算机里面,就叫作 页表(PageTable)。页表这个地址转换的办法,会把一个内存地址分成 页号(Directo 阅读全文
posted @ 2019-08-20 20:25 活的潇洒80 阅读(1050) 评论(0) 推荐(0)
摘要:在专栏一开始的时候,我和你说过,在计算机组成原理这门课里面,很多设计的核心思路,都来源于性能。在前免讲解CPU的时候,相信你已经有了切身的感受了。 大部分程序员开发的都是应⽤系统。在开发应用系统的时候,我们遇到的性能瓶颈大部分都在I/O上。在第36讲讲解局部性原理的时候,我们一起看了通过把内存当作是 阅读全文
posted @ 2019-08-16 18:22 活的潇洒80 阅读(969) 评论(0) 推荐(0)
摘要:在1991年,我刚接触计算机的时候,很多计算机还没有硬盘。整个操作系统都安装在5⼨或者3.5寸的软盘里。不过,很快⼤部分计算机都开始⽤上了直接安装在主板上的机械硬盘。到了今天,更早的软盘早已经被淘汰了。在个人电脑和服务器里,更晚出现的光盘也已经很少用了。机械硬盘的生命力仍然非常顽强。无论是作为个人电 阅读全文
posted @ 2019-08-16 18:21 活的潇洒80 阅读(529) 评论(0) 推荐(0)
摘要:我们在前面的章节搭建了最简单的电路,在这里面,计算机的输入设备就是一个一个开关,输出设备呢,是一个一个灯泡。的确,早期发展的时候,计算机的核心是做“计算”。我们从“计算机”这个名字上也能看出这艺点。不管是中文名字“计算机”,还是英文名字“Computer”,核⼼都是在”计算“这两个字上。不过,到了今 阅读全文
posted @ 2019-08-15 21:45 活的潇洒80 阅读(621) 评论(0) 推荐(1)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页