计算机组成原理
THISFOREVERYONE
这个作者很懒,什么都没留下…
展开
-
数据冒险与数据相关
相关是程序中的一种属性,某种给定相关是否会导致检测到实际冒险,这一冒险又是否会实际导致停顿,这都属于流水线结构的性质——计算机体系结构第五版 p112三种冒险在计算机体系结构当中,五级流水线当中有三种冒险1 控制冒险:现在应该执行哪条指令由上面的指令执行结果才能得出,现在PC中的值并不一定正确。2 数据冒险:现在需要的数据其结果来源于之前指令,而前面的指令还未将结果给出。3 结构冒险:现在需要的资源正在被占用。也就是说因为计算机本身硬件不够而导致的这里主要说明一下控制冒险与数据冒险的区别。控制原创 2020-10-27 20:54:42 · 3357 阅读 · 0 评论 -
局部历史和全局分支预测的理解
在阅读了《超标量处理器设计》这本书中有关局部历史分支预测和全局历史分支预测的部分之后,刚开始对于它们之间的区别还有些疑问,后面经过查看资料和多次阅读,对它们有了一些理解,在此记录一下。流水线中有无分支预测的比较无分支预测如果没有分支预测,在五级流水中,如果我们通过在DF(decode fetch)阶段添加比较器已经把分支相关指令(这里指beq)的实际执行阶段从EX(execute)阶段提前到DF阶段,这个做法就已将很好了。但当我们指令要跳转的话,那就需要浪费两个时钟周期。有分支预测如果一个分支.原创 2020-10-24 19:28:55 · 2876 阅读 · 0 评论 -
无符号阵列乘法器构建补码阵列乘法器(logisim)
background这学期在的计算机组成原理的一个project,让用logisim构建一个补码阵列乘法器,看了同学推荐的mooc上老师的讲解才慢慢搞懂,对新手挺友好的,课程名称为计算机硬件系统设计,在这里附上链接计算机硬件系统设计具体的project利用logisim构建一个6 * 6的补码阵列乘法器,具有十一位输出。实现过程及原理思路:首先对于补码的运算来说,关键就是要将符号位与数值位区分开来,如果这个数是一个正数,那么就直接用数值位进行相应的运算,然后前面在加上符号位即可,但如果这是一个负数原创 2020-05-28 20:18:43 · 13240 阅读 · 3 评论 -
MIPS中lw指令运行时间最长
我们都知道,在MIPS指令级架构中,采用的都是定长指令,即就是每一个指令都是32位,分为R型(6, 5, 5, 5, 5, 6),I型(6, 5, 5,16),J型(6, 26), 在这所有指令中,是lw(存指令)运行时间最长,对于这个原因,从宏观上来理解,就是我们在内存中采用32个32位的通用寄存器来存和指令有关的东西,比如说是一个数组的话,我们只会在这个通用寄存器中将此数组的首地址存下来,要访...原创 2020-04-23 14:38:25 · 2019 阅读 · 1 评论 -
移码,阶码
我们都知道,计算机里有真值,原码,反码,补码,移码的概念。对于真值,原码,反码,补码的介绍,可以参照这篇文章 链接(这里面写的非常详细)现在我就重点讲一下移码,移码,就是一个二进制数的真值加上一个常数a,如果a > 0,那么就是表示这个数在数轴上向右移动a位。一般情况下,为了方便起见那么, (更准确的说是计算器中实际上的二进制位数),我们让a = 2^n。移码的作用:我们知道补码出...原创 2020-03-24 22:42:53 · 3360 阅读 · 0 评论 -
PC值的改变(相对寻址与绝对寻址)
我们知道,计算机中有很多的寄存器,他们是32位的,其中每一位的值要么是0要么是1。在汇编语言中,每一条要执行的指令都放在一个寄存器中,而这个将要执行指令的地址我们就需要放在PC(程序计数器)中,而这个PC也是32位的,那么此时就有一个可寻址的范围。是从-2的31次方 到 2^31 - 1吗。那么在这里有两种寻址方式,相对寻址与绝对寻址。其中beq和bne采用相对寻址,j采用绝对寻址。相对寻址...原创 2020-03-19 15:25:37 · 14392 阅读 · 4 评论