大家好,此篇博客记于2022.11.8,目的是分享今天的学习内容,由于刚刚接触这门课程,如果有什么错误或者有什么表达不清楚的地方,请斧正,谢谢。
前情回顾
前面我们介绍了计算机系统的层次和它的组成,最重要的是了解了现在我们计算机的微指令级别的工作方式,但是计算机正处于一个快速发展的阶段,所以我们不仅仅需要理解现在的计算机结构,还要准备之后的计算机组成原理,让我们的名字加到这本书中。
那怎么确定我们做出来的新组成方式强于现在的呢?
那就是数据化指标。
这就是本书作者如此编排内容的想法吧!
本篇目录
目录
具体内容
机器字长
它是指CPU(控制单元CU和算术逻辑单元ALU)一次能够处理数据的位数。举个例子,如果我们有两个1024位的数据,要求它们做加法,如果机器字长只有512位,那么计算机就需要进行两次加法运算,但是如果其有1024位呢?就只需要一次了。其他变量都相同的情况下消耗的时间几乎是两倍了。
当然,在现实生活中,影响运算次数的不仅仅是这一个属性。
其是冯诺依曼体系中对于运行速度影响最大的属性。
存储容量
这个应该很好理解了,肯定是存储量越大的效率越高,当然也就越贵。
其可以分为主存容量和辅存容量。
之前我们提到过主存可以看作是一个一级收纳箱,那么在不知道长宽高,但是知道有多少个二级收纳箱,和二级收纳箱的体积时,收纳箱的体积怎么算?
小学二年级都知道,用二级收纳箱的体积乘以二级收纳箱个数。
那么映射到存储容纳就是:
存储容纳=存储单元个数*存储单元容量
存储单元个数可以通过地址(编号)得到,而存储单元容纳就是上一篇文章讲过的存储字长(上一篇的链接)
这个存储单元上可能有一些难以理解,所以,举三个例子。
例子1
第一个例子(十进制):
如果我们二级容器的编号是2位(满编)的,二级容器体积是5位,求一级容器的体积。
首先,我们可以知道一共有100个二级容器(00~99,共计100个)。
其次二级容器的体积是5(就是说有五个三级容器,而三级容器的体积默认为1)。
最后,我们可以根据公式得出一级容器的体积是100*5=500。
例子2
第二个例子(二进制):
如果我们二级容器的编号是2位(满编)的,二级容器体积是5位,求一级容器的体积。
同样的算法。
首先,我们可以知道一共有4个二级容器(00~11,共计4个)。
其次二级容器的体积是5。
最后,我们可以根据公式得出一级容器的体积是4*5=20
例子3
第三个例子(二进制,考试中的实例)
如果我们MAR是4位的,MDR是8位,求主存的存储容量。
首先,MAR是存储器地址寄存器,它的位数就是地址(编号)的位数。所以,我们有2^4(0000~1111,一共是二的四次方个)
其次,MDR是存储器数据寄存器,它的位数就是存储器中一个字的长度,就是存储字长,所以存储字长是8
最后,我们可以根据公式可以知道主存的存储容量是8*2^4=128(二的七次方)
一些常用的单位
1K=2的10次方
1M=2的20次方
以上是常用的,其他的可以看看大佬的博客。
运行速度
吉普森法:
其中,T为时间,f为指令占比,t为指令时间
MIPS表示法:
1MIPS为某机器在1秒内执行100万条指令
CPI表示法:
执行一条指令的时钟周期数(机器主频的倒数)
总结
本篇博客主要讲解了计算机硬件的一些技术指标,其中存储容量和运算速度是考研常考题,如果想要考研的还需要刷刷题,但是如果只是想要过期末考试就看看理解概念就行了(老师的原话),至此我们的部件的简单介绍就完结了。接下来的几篇博客都是关于不同部件之间的通信——系统总线的。在此之后就是关于各个部件的较为深入介绍了。
致谢
这里是技术观察官,记于2022.11.8,与诸君共勉。