随笔分类 - 《计算机组成》 陆俊林
摘要:计算机组成 10 输入输出设备 10.6 直接存储器访问方式 我们还是来说快递的事。有一天,你在这坐着运算,突然来电话了,然后你接了一听,啊,又有快递啦,啊什么?一千本书,现在就得去拿,哎呀,好好好。这个怎么办呢?这个,这搬一千本书又得浪费很多时间,呃,好办,我们就叫一个搬家公司,跟他们说好,我们要
阅读全文
摘要:计算机组成 10 输入输出设备 10.5 外部中断的处理过程 我们之前已经学习了内部中断的处理方法,那么外部中断和内部中断总体上是很类似的。只是在一些具体的处理细节上和硬件的连接方式上有所不同。那我们现在就来看一看外部中断是如何处理的。 外部中断,也叫做硬件中断。这是由CPU外部的中断请求信号启动的
阅读全文
摘要:计算机组成 10 输入输出设备 10.4 中断控制方式 那原本为了好好看书好好进行运算(把CPU运算类比成看书),我就不出去吃中饭了,定了一份外卖。结果呢?为了能收到这份外卖,我不得不总是去校门口看一看外卖来了没有。看一遍,又看一遍,再看一遍,再看一遍。那结果一上午,啥书都没有看成,这样就不合算了。
阅读全文
摘要:计算机组成 10 输入输出设备 10.3 输入输出的控制方式 现在看来,跟外界交互也没有那么复杂嘛。跟以前与存储器的交互差不了多少,我给一个地址,得到一个数;或者给一个地址,写进去一个数,这样就跟外设进行交互了。这么说也不是不对,最简单的情况确实是这样的。那我们也不妨从这最简单情况开始说起吧。 CP
阅读全文
摘要:计算机组成 10 输入输出设备 10.2 输入输出接口的编址方式 CPU的运算能力很强,但它与外界沟通交流的手段却非常地单一。它总是希望有这样“我给你一个地址,你就给我一个数据”非常直白的沟通方法。所以,它平时也只能和存储器这样胸怀宽广,但是同样头脑简单的家伙在一起玩了。然而现在它需要面对外界那么多
阅读全文
摘要:计算机组成 10 输入输出设备 10.1 输入输出接口的基本功能 计算机的核心能力就是运算,而快速的数学运算,甚至是早期设计计算机时的唯一目标。但是今天,计算机已经成为了我们日常生活中密不可分的一部分。我们平时感受更多的,可能是计算机与外界交互的能力。因此,想要了解计算机的组成,我们就必须要知道现代
阅读全文
摘要:计算机组成 9 中断和异常 9.6 基于中断的功能调用 那现在,我在执行这些运算之后,也就是执行这些程序的过程中呢,又遇到了一个奇怪的现象。这里突然有一个地方写着,请查看紧急操作手册的第二百项,那我就翻到这个地方去了。翻到前面,然后找第二百项,然后找到了对应的操作——是让我在本子的某一个地方写一个数
阅读全文
摘要:计算机组成 9 中断和异常 9.5 内部中断分类说明 现在,我们已经知道了中断处理的基本过程。那么就来花一点时间,看一看内部中断到底有哪些不同的类型。 我们还是以x86的实模式为例,这个比较简单,但基本原理都是一样的。 在x86的实模式下,我们要来分析的内部中断就是这四个。 这四个内部中断所使用的类
阅读全文
摘要:计算机组成 9 中断和异常 9.4 中断的处理过程 那我们现在可以放心大胆地进行运算了。算,算,算,一旦遇到了一个异常情况,我们就根据这个异常情况的类型,去查找这个手册最前面的表格。假如我们遇到的可能是第四种类型,我们找到第四条,上面写着操作方法在第十二页。翻到第十二页,好,找到了。那么按照这个操作
阅读全文
摘要:计算机组成 9 中断和异常 9.3 中断向量表的发展 现在这个手册的制造者已经说了,他在第一页就留好了一个表格,一共有256行。虽然现在没有填写完全,但是后面,随着不断的升级,推出新的手册的时候呢?会继续补充后面的一些条款。 我们现在就来看一看,历代的这个手册它是怎么补充这个条款的。 这是8086的
阅读全文
摘要:计算机组成 9 中断和异常 9.2 中断向量表的结构 我现在已经知道了,在运算的时候 一旦遇到了异常情况,就翻到第一页的第一行开始写的这些操作的指示,开始往下执行。开始往下执行,这就能解决问题了。但是问题在于这段操作,解决的是我那个运算结果在空格里填不下的问题。可是我遇到新的问题应该怎么办呢?我们可
阅读全文
摘要:计算机组成 9 中断和异常 9.1 中断和异常的来源 大家好,我就是一个CPU。那我的任务呢就是进行运算,有人交给我了一个本,上面写了很多的算式,让我进行运算。那我就开始算了,上面写着3\ 4,我一算是12,填在后面的空格里;还有呢15+15,等于30,填在后面的空格里。接着运算下一条,123456
阅读全文
摘要:计算机组成 8 存储层次结构 8.7 存储容量的计算 对于存储器,我们既关心它的性能,也关心它的容量。那么现在,在存储器容量的计算方面,却有了一些争议。这又是怎么回事呢?我们一起来看一看。 我们来看一个关于U盘的怪事,有一天我想把我电脑上的一些文件随身带走我先查看了一下文件的大小总共有3.8GB,于
阅读全文
摘要:计算机组成 8 存储层次结构 8.6 高速缓存的设计要点 高速缓存是一个非常精细的部件,想让它高效地工作,就得在设计时,进行仔细地权衡。想要设计出一个优秀的高速缓存部件,我们就得从几个基本概念开始入手。 我们再来看一看Cache的访问过程。如果CPU向Cache发出了读请求,Cache就会检查对应的
阅读全文
摘要:计算机组成 8 存储层次结构 8.5 高速缓存的工作原理 因为CPU的速度和内存的速度差距越来越大,计算机整体系统的性能,就受到了巨大的影响。而高速缓存技术的出现,则挽救了这个局面。 那在这一节,我们就来看一看高速缓存是如何工作的。 这是计算机的存储层次结构。高速缓存,也就是Cache位于CPU和主
阅读全文
摘要:计算机组成 8 存储层次结构 8.4 主存技术的发展 近些年来SDRAM的标准不断地升级换代,其性能也得到很大的提升。那为什么还总是说CPU和内存之间的速度差距越来越大了呢?这一节我们就来探讨这个问题。 近20年来,流行的内存都采用了SDRAM的结构。需要注意的是虽然平时我们会说以前用SDRAM内存
阅读全文
摘要:计算机组成 8 存储层次结构 8.3 主存的工作原理 主存,我们通常也叫做内存。这是计算机当中非常重要的一个部件。冯诺依曼把计算机分成了五大组成部分,其中存储器实际指的就是这个部件。 那今天,我们就以PC机当中常用的主存为例,来看一看这个部件的工作原理。 我们还是从DRAM芯片的内部结构开始说起。D
阅读全文
摘要:计算机组成 8 存储层次结构 8.2 DRAM和SRAM SRAM比较快,DRAM比较慢;SRAM比较贵,DRAM比较便宜。记住这些结论是很容易的,但是比是什么更重要的是为什么。那在这一节我们就从电路的级别来探索DRAM和SRAM为什么会具有他们这样各自的特点。 右下角就是我们平常在计算机当中使用的
阅读全文
摘要:计算机组成 8 存储层次结构 8.1 存储层次结构概况 如果CPU爱好哲学,它可能一直在问自己两个问题。 我要运算的数据从哪里来?我算完的数据又将去向哪里? 这在计算机世界当中确实是一个非常重要的问题。这也正是我们今天所要探讨的主题:存储器。 这是我们非常熟悉的冯·诺依曼计算机结构,这其中哪些部件和
阅读全文
摘要:计算机组成 7 流水线处理器 7.6 控制冒险的处理 转移指令由于其自身的特殊性,总是会给我们带来一些麻烦。那对于流水线处理器来说,更是如此,转移指令会带来更多不良的影响。那我们应该如何应对和解决呢?这一节我们就来探索这个问题。 我们先来看一看转移指令对流水线的影响。这是一条时间轴,每一小格都代表着
阅读全文