0%

本文讲什么?

浮点数和定点数一样,都是计算机中数据的存储形式。定点数我们可以理解成纯小数或者纯整数,但是实际上在计算机中参与运算的数字并非都是定点数。比如,有些数据过大,比如2^100^这样的数据,如果写成二进制的形式,寄存器肯定是无法放下的。于是就有了浮点数这种数据。
本文主要讲述浮点数的概念、浮点数的规格化,以及浮点数的各种运算。

阅读全文 »

前言

这篇文章是整个《漫谈计算机组成原理》系列文章的最后一篇——中断系统。实际上,在《I/O系统》那一篇文章中,我们已经介绍过了中断系统,我想你大概也知道了中断的流程及中断的两种方式,如果你还不知道,就去翻翻前一篇文章《漫谈计算机组成原理(七)I/O系统》吧!
在这篇文章中,我们将细化的讲述中断系统的相关内容,带你全面的了解中断系统的组成、中断系统的工作流程及中断系统的意义。那就开始吧!

阅读全文 »

本文讲什么?

有一次,知乎上的同学问我:“为什么使用迅雷下载东西的时候,最后的百分之一总是那么慢呢?还有,为什么传输文件的时候,到最后的那一块也是那么慢呢?”
一看这位同学就是个善于发现之人,能成大事。
其实原因非常简单,对于迅雷来说,一般使用的是P2P(点对点)的传输方式,最后的百分之一时(也有可能是下载中的每个时刻),迅雷就把你作为了点对点中的一个点,让其他人从你这里下载资源,如果你下载完成了,那不就是不能明目张胆的这么干了吗,这个时候你只需要将任务暂停,然后重新开始,马上就下载完了;还有一个原因是迅雷正在进行文件的校验,这部分其实是涉及到计算机网络的内容了,今后我们会详细的讲这块的东西。
而对于文件传输的时候,最后的部分也会感觉到慢(很少见),是因为计算机传输比特流的过程中也会去校验文件,看看传过来的比特流是否发生错误。
所以,我们今天的主题是“数据校验方法”。我们讲两种校验方法,一种叫做“海明码(汉明码)校验法”,另外一种是CRC(循环冗余)校验。这两种有着不同的应用场景,下面就来开始正式的内容。

阅读全文 »

本文讲什么?

老样子,在正式开始介绍“高速缓冲存储器”之前,我们先来了解一下其相关的信息。

我相信,上面这张图你一定已经非常熟悉了,没错,这就是在本章绪论说的“存储器的层次结构”。
上一讲我们介绍了存储层次结构中的L4,即主存。继续向上看,你会看到L3、L2、L1都是高速缓冲存储器。那么究竟什么是高速缓冲存储器呢?那就要从“速度”这个关键词说起。
随着计算机硬件行业的不断进步,以因特尔为首的芯片企业造出了一代又一代的高速CPU, 可以说CPU处理数据的速度是越来越快。但是从图中我们能够看到,L0-L6的设备的速度是逐渐下降的,而且速度相差越来越大。
虽然说近年来的存储技术也有进步,但是照着CPU就差远了。这就造成了CPU和主存之间速度差距越来越大。高速缓冲存储器的存在就是为了尽可能的消除这种差距。
在这个存储层次结构中,虽然高速缓冲存储器分为三个档次,但是他们的作用都是相同的,都是起到一种桥梁的作用,不同的只是速度和造价。此外,L1的速度几乎和寄存器的速度相同。接下来,我们来看看高速缓冲存储器在CPU中的具体位置。

阅读全文 »

本文讲什么?

在计算机中,小数点并没有用专门的器件去表示,而是按照一种约定的方式,统一存储在寄存器单元中的。算数逻辑运算单元(ALU)是CPU的组成部分,负责算数和逻辑的运算。那么,ALU究竟是如何工作的呢?
这就是本文主要探讨的内容:

  • 什么是定点数?
  • 定点数的位移、加、减、乘、除运算是如何进行的?
    阅读全文 »

本文讲什么?

在上一篇文章中,我们主要讲述了定点数的加、减、乘运算,唯独没有讲解除法运算。原因有两个,一来上一篇文章的内容确实比较多,二来除法运算比乘法相对复杂。
所以,本文将从除法的来历讲起,然后讲除法运算的几种方法。

阅读全文 »

本文讲什么?

这个系列的文章其实可以分成两个部分,计算机系统的其他硬件结构和CPU。
而我们今天要讲述的内容,就是其他硬件结构中的最后一个部分——I/O(输入输出)系统。
这篇文章主要讲述的就是I/O系统的组成以及I/O系统的工作原理,下面就正式开始I/O系统之旅吧!

阅读全文 »

《漫谈计算机组成原理》这个系列的文章共分为两个部分。第一部分围绕着计算机主机的外围硬件,包括总线、存储器、输入输出系统等,这部分的内容已经完成,感兴趣的可以看看之前的文章。之前凡是涉及到CPU的内容,除了第一篇简要的介绍过CPU的工作意外,其他文章都是默认将CPU作为一个“黑盒子”,不涉及到CPU内部的逻辑、运算等问题。而从这篇文章开始,我们将重点讲述CPU的逻辑、运算、信息处理等的相关知识点。接下来的几篇文章都是写计算机的运算方法的,第一篇文章我着重介绍几个概念——原码、反码、补码及移码,后面的文章就展开看CPU究竟是如何被用来计算的。好了,话不多说,开始后半部分的第一讲吧!

阅读全文 »

更多的选择,更多的迷惘

你一定不会注意到,我们可能每时每刻都在做着选择。从衣食住行到人生规划,我们面临的选择正在变得越来越多。
如果你经常到学校食堂吃饭,你可能会注意到,我们选择吃什么正在变得越来越困难。

米饭?我都吃了半个月的米饭了你还让我吃……
面条?最不喜欢吃面条了……上次……
饺子?好吃不过饺子,可就这家的饺子煮的太慢了……
……

上面的情景很有可能你正在经历,或者即将经历。这也恰恰说明了,选择越多,我们想要做出决定越困难。极端一点将,倘若学校(封闭式)中只有一家食堂,而这家食堂只有米饭,可提供的菜也就只有那么几种,此时你会如何抉择呢?大概率上,你可能不会再对吃什么犹豫不决了。

来自斯坦福大学的Sheena Iyengar和同事做了一项实验,选择了果酱作为试验品。她们在超市中卖果酱的走廊摆起了一个小摊位,对比实验是这样的:首先是放出了6种不同口味的果酱供人们选择,然后摆出了24种不同口味的果酱再供人们选择。最终的实验结果却和我们以往的认同大相径庭。
在有6种的时候,有40%的人选择停下脚步;而在24种的时候,有60%的人停下脚步品尝。但是,随后她们观察到的结果是,在24种的时候只有3%的人选择了购买果酱,而6种的时候,却有30%的选择了购买果酱。
这说明了一个问题:当选择过多的时候,我们更加倾向于放弃选择,而不是去选择。这就能够解释为什么我们会有这样的选择困难症,同时,也能够从侧面说明,我们为何面对选择时感到力不从心、感到迷茫。
诗人之所以会发“黄色的树林里分出两条路,可惜我不能同时去涉足”的感慨,是因为有时“鱼和熊掌不可兼得”。

选择之道

随着时代的发展,可以预见的是,我们今后面临的选择将会越来越多。说不定某一天,和机器人谈恋爱这样的有趣事情,就会发生在我们的身上,到时候你又当何去何从呢?
Sheena Iyengar给出我们四种选择之道,但是她面向的是企业而非个人,所以,我整合了她的观点及我的看法,所谓“他山之石可以攻玉”是也。

阅读全文 »

某天,正沉迷于敲代码无法自拔的我,突然接到女朋友的电话。

“言小胖,干嘛呢?”

“亲,您所拨打的用户正在写代码,请等待Bug调试完毕后再拨。”

“言小胖,你再皮!”

我听着这平静的声音,心里暗道不妙,我犯了一个致命的错误:Bug重要还是女朋友重要?

emm,那还用说,当然是Bug重要,调不出Bug,我寝食难安啊。

机智的我决定——一言不发。

果然,还是她先沉不住气了。

“马上出来,陪我去取快递!”

阅读全文 »