工作了九年左右,多多少少也接触过不少技术,使用过不少编程语言,但是现在回想起来,都是一些断断续续的知识,远远没有融会贯通的程度。 大学时虽然系统学习了各种基础知识,比如操作系统,计算机网络,计算机组成原理,编译原理,算法,数据结构,汇编,C,C++,但是当时学的真是相当一般,浪费了一个很好的机会。 ...
分类:
其他好文 时间:
2018-10-04 09:06:13
阅读次数:
123
计算机组成 8 存储层次结构 8.2 DRAM和SRAM SRAM比较快,DRAM比较慢;SRAM比较贵,DRAM比较便宜。记住这些结论是很容易的,但是比是什么更重要的是为什么。那在这一节我们就从电路的级别来探索DRAM和SRAM为什么会具有他们这样各自的特点。 右下角就是我们平常在计算机当中使用的 ...
分类:
其他好文 时间:
2018-10-03 22:17:47
阅读次数:
363
计算机组成 7 流水线处理器 7.6 控制冒险的处理 转移指令由于其自身的特殊性,总是会给我们带来一些麻烦。那对于流水线处理器来说,更是如此,转移指令会带来更多不良的影响。那我们应该如何应对和解决呢?这一节我们就来探索这个问题。 我们先来看一看转移指令对流水线的影响。这是一条时间轴,每一小格都代表着 ...
分类:
其他好文 时间:
2018-10-02 22:20:07
阅读次数:
205
计算机组成 8 存储层次结构 8.1 存储层次结构概况 如果CPU爱好哲学,它可能一直在问自己两个问题。 我要运算的数据从哪里来?我算完的数据又将去向哪里? 这在计算机世界当中确实是一个非常重要的问题。这也正是我们今天所要探讨的主题:存储器。 这是我们非常熟悉的冯·诺依曼计算机结构,这其中哪些部件和 ...
分类:
其他好文 时间:
2018-10-02 22:08:20
阅读次数:
154
计算机组成 7 流水线处理器 7.5 数据冒险的处理 在程序当中,我们经常会对同一个变量进行反复的使用和修改。这样对于流水线处理器来说,就会经常出现数据冒险的情况,我们必须很好的应对和解决。在这一节,我们就来看一看有哪一些不同的解决方法。 我们先来看这个数据冒险的例子。产生这个数据冒险,是因为第二条 ...
分类:
其他好文 时间:
2018-10-02 20:18:18
阅读次数:
337
计算机组成 7 流水线处理器 7.3 超标量流水线 超标量流水线在现代的处理器当中得到了广泛的应用,也就是这种技术给我们带来了出色的处理器性能。那究竟什么才是超标量流水线,它又是如何工作的呢?我们这一节将一起探讨这个问题。 这个是我们之前已经构建好的一条流水线,但是如果我们觉得它的吞吐率还不够高。其 ...
分类:
其他好文 时间:
2018-10-02 17:42:27
阅读次数:
223
计算机架构: 计算机硬件→系统软件(linux、windows、unix、mac等)→其他系统软件(设备驱动程序、程序语言和开发环境、数据库等)→应用软件(微信、office、notepad++等) 计算机硬件系统五大组成部分: 运算器:负责算术与逻辑运算 控制器:负责发送和接收指令,与运算器共同组 ...
分类:
其他好文 时间:
2018-10-02 17:26:23
阅读次数:
111
计算机组成 7 流水线处理器 7.2 流水线的优化 相对于单周期处理器,流水线技术可以提升处理器的性能,但是,如果仅仅按照指令执行的步骤去切分流水线的话,不能够充分利用流水线这项技术的优势。那如何才能挖掘流水线技术的更多潜力呢?我们在这一节就来探讨这个问题。 我们还是用这个厨房做菜的例子来对流水线进 ...
分类:
其他好文 时间:
2018-10-02 13:53:52
阅读次数:
170
计算机组成 6 单周期处理器 6.5 分支指令的控制信号 分支指令,是一类特殊的指令,它能够改变程序的流向。因此,想要执行分支指令,我们还需要对现有的结构进行进一步的改造。 在我们现在这个示例的指令系统当中,分支指令只有一条,它的格式是I型的,那我们首先来看一看分支指令是如何工作的。 左边是一段C语 ...
分类:
其他好文 时间:
2018-10-01 20:44:43
阅读次数:
1040
计算机组成 6 单周期处理器 6.4 访存指令的控制信号 对于MIPS这样的指令系统来说,其运算指令是不能直接访问存储器的,因此,我们还需要设计单独的访存指令,用来完成寄存器和存储器之间的数据传输。在这一节,我们就来看一看这一类访存指令是如何生成控制信号的。 对于我们要实现的这个处理器,访存指令都是 ...
分类:
其他好文 时间:
2018-10-01 19:08:14
阅读次数:
619