计算机底层:储存器的性能指标(CPU和内存等硬件的性能以及 对比标准)

内存:

        MAR是存放地址的寄存器;MDR是存放数据的寄存器。

        MAR是存放地址的寄存器,那么其中的二进制位一定是不能重复的,试想,如果有有两个相同的地址,当计算器从这个地址拿数据的时候就无法确定从哪个地址处拿数据了。因此,一串二进制就代表了 一个地址,因为,每个存储单元对应一个地址,MAR的二进制序列不能重复,那么如果想增加存储单元的个数,就只能增加二进制的位数。因此,MAR的位数反映了存储单元的个数。

        MDR是存放数据的寄存器,一个存储单元的大小取决于存储器的位数,这是毋庸置疑的。如果位数越多,那么存入的数据量就可以越大。

        

由此可以得到一个计算总容量的公式:

 例子:

这里算出的是4G,但是实际情况可能只有1G

        可能是因为一些内存会被系统或者其他程序占用,这会影响实际内存总容量。

        这里为什么是MAR是32位就是用2的32次方呢?前面说了,一种二进制的排列方式,等于一个存储单元。那么存储器的位数就是关键了,因为多一位数,就多了多种排列方式:

一位有两种排列方式:0,1(2的1次方)

二位有4种(2的2次方)

        由此可以知道,存储器如果有n位,那么就有2的n次方个排列方式,也就是2的n次方个地址,即存储单元。

        所以上面说的MAR有32位,就有2的32次方个存储单元,如果x上一个存储单元的大小(位数),就得到了总容量

CPU:

      在我们买CPU时会看到标注了:xxx赫兹(HZ),这是CPU的主频。

 CPU

即,时钟信号。 计算机底层:CPU结构与组成原理、工作原理_srhqwe的博客-CSDN博客这里面有时钟信号的组成。

如果没有时钟信号这样的脉冲的信号,CPU就停在哪里。需要有一个脉冲信号,才能让CPU动起来。就像在做广播体操是,没人含口令,就不会动起来一样。

        每一个脉冲信号,CPU就会完成一个动作,比如:解析操作码、存放数据。(有些动作,一个脉冲不够,需要多个脉冲)。同样和做广播体操一样,一个节拍代表一个动作。

        时钟周期就是一个脉冲所需要消耗的时间。 所以一个脉冲消耗的时间越短,执行一个动作就越快,主频就越高。

        因此,CPU主频和时钟周期,互为 倒数 关系。

        10HZ就是1秒钟执行10次脉冲,即:1秒钟做10个动作

如果一个CPU内部结构和操作方式以及核心数都是一样地话,那么CPU地主频越高越好。

除了主频外,还有影响CPU性能的东西,比如:CPI

        执行一条指令所需要的周期数。这是什么意思呢?

        每条指令在计算机内部的执行方式是不一样的,从而会影响CPU内部执行步骤以及次数,比如:两个数相加、两数相乘、CPU取数

        

取数操作,需要9步。而乘法操作需要11步。因此,执行一条指令所需要的周期数(时间),即:CPI,会影响CPU的性能。

         CPI = 3 :有一条指令,这条指令在CPU内部有三个步骤,一个步骤需要一个脉冲

        如果有100条指令,一条指令需要3个步骤,100条指令就有300脉冲

        因为一个脉冲时间是1/1000(倒数关系),因此300个脉冲所消耗的时间是300x1/1000=0.3s

每秒执行的指令个数不同,那么CPU性能肯定不同

        除了CPI影响CPU性能外,还有:IPS

一秒钟执行的脉冲数 / 一条指令需要的脉冲数

比如一秒钟执行10个脉冲,一条指令需5个脉冲,那么一秒钟就可以执行2条指令,即:IPS数。

还有:FLOPS        

        同样地,CPU每秒进行的浮点运算不一样,那么CPU性能肯定不一样

当要进行大数据计算时,很多的CPU需要进行float运算,如果用FLOPS进行比较CPU的性能是最好的。

在进行性能指标对比时,通常会在前面加上单位:K/M/G/T

比如:2KIPS,每秒可以执行2000条指令

3GFLOPS,每秒可以执行30亿的浮点运算

系统整体:

如果总线位数是8bit,如果要传16bit的数据,就需要传两次。

         这里的请求可以理解成一条指令,或者一个程序都可以。举例子:就像食堂阿姨打饭,食堂阿姨在一段时间内(即:单位时间),能给学生打多少饭(即:请求的数量)。

比如:你双击桌面的某个文件夹,从双击到这个文件夹打开(显示在你的电脑屏幕上)直接间隔的时间,就是响应时间。

以上系统性能都是静态的指标,有时静态的指标很难反应处计算机的综合性能,通常我们都会用 基准程序 来测量计算机的性能,这种基准程序也叫做:跑分软件。如:鲁大师

        这种软件内部有各种指令,这些指令是计算机的各项指标,通过运行这些指令的速度,给这台计算机打分。        

                跑分软件的评分是综合的。如果是基于显卡跑分,那么指令里面存在的图形处理之类的指令偏多。如果你的CPU很牛,你的内粗很牛,但是显卡很捞。那么跑分软件的综合评分就毫无用处。很不科学!

计算机底层:储存器的性能指标(CPU和内存等硬件的性能以及 对比标准)相关推荐

  1. 查linux服务器CPU多少C,在linux 下怎么查看服务器的cpu和内存的硬件信息

    在linux 下怎么查看服务器的cpu和内存的硬件信息 ------------------------------------------------ fzljnqkt 采纳率:44% 11级 20 ...

  2. android 采集cpu温度,阳光沙滩博客-Android开发如何读取到CPU,内存等硬件温度信息?...

    Android开发如何读取到CPU,内存,温度等硬件信息? 最近在玩跑跑卡丁车,有一个面板显示着电呀,CPU使用,内存等情况 于是就来写这篇文章啦 以前我也做过CPU温度,频率之类的数据读取,那时我做 ...

  3. Linux书签(02)用linux top命令自行监测和分析服务器CPU、内存、进程等性能

    楔子: 学会灵活使用各种或工具或手段来监测自己的项目运行情况无疑是一种自我能力的提高.Linux top 命令也许会有所帮助. Linux top 命令 Linux top 命令是服务器工程师和运维最 ...

  4. Java程序员需要掌握的计算机底层知识(四):内存管理

    内存管理 单进程DOS时代 DOS时代 - 同一时间只能有一个进程在运行(也有一些特殊算法可以支持多进程) windows9x - 多个进程装入内存存在的问题: 内存不够用 互相打扰 为了解决这两个问 ...

  5. 在linux 下怎么查看服务器的cpu和内存的硬件信息

    1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu. 其实应该通过Physical ...

  6. linux查服务器总内存大小,在linux 下怎么查看服务器的cpu和内存的硬件信息

    1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息.但是对于双核的cpu,在cpuinfo中会看到两个cpu.常常会让人误以为是两个单核的cpu. 其实应该通过Physical ...

  7. mysql查看服务器CPU和内存_怎么查看服务器的cpu和内存的硬件信息

    可以按照如下方式进行操作: 一.查看cpu总个数方法: 1.首先执行top命令,如下图中内容所表示. 2.在top命令的显示界面,按数字键1,即可查看到当前系统中的总cpu数,如下图中内容所表示. 二 ...

  8. Linux 下怎么查看服务器的cpu和内存的硬件信息

    一.top命令 top # 实时显示进程状态用户 和 查看CPU利用率 二.查看总内存的方法: free命令主要用于显示内存数量,如下图中内容所表示 free -h 命令 free -m 命令

  9. Linux查看服务器的cpu和内存的硬件信息

    每个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /p ...

最新文章

  1. java输出流flush操作
  2. javascript操作表单
  3. 【学习·求职必备】入行深度学习之前,应该做好哪些准备
  4. 词法分析(3)---DFA
  5. 【深度学习】Pytorch编写代码基本步骤思想
  6. 2012年度最受欢迎中国开源软件评选
  7. 十进制负数的二进制表示法
  8. Putty文件夹蓝色太暗问题
  9. 日期范围选择类日历(增强版)
  10. 业务逻辑配置化的可选技术方案
  11. R语言大作业(四):上海市、东京 1997-2018 年GDP值分析
  12. Mysql 分表分区
  13. xp系统显示无打印机服务器,XP共享打印机时提示“工作站服务没有启动”的原因和解决方案...
  14. pdfbox pdf转图片,图片长宽大小与pdf保持一致
  15. 朴素的美丽、抑郁中的缕缕阳光——“红衣妹妹”于洋博文选粹
  16. mysql联合索引的使用规则
  17. Qt 5入门指南之Qt Quick编程示例
  18. Python运维常用的脚本,提高工作效率就靠它了
  19. 判断一维对象数组的对象时间属性值是未来、今天、昨天、一周内、30天内、30天以前,并将该数组按照时间分类组成二维数组用于分时间段渲染
  20. 区块链零知识证明:zkSNARKs与zcash

热门文章

  1. java主函数的解析
  2. Java利用Redis实现短信验证码功能
  3. 渡鸦MK60学习 【DMA直接存储器读取】
  4. (转)远离故障的十大原则
  5. Python 验证身份证和手机号(初级)
  6. 加泰罗尼亚理工大学 计算机 排名,西班牙加泰罗尼亚理工大学排名完整介绍
  7. oracle 9i hwm,Oracle 之HWM
  8. 软件工程第六次作业--结对作业
  9. [生存志] 第106节 韩非孤愤说难
  10. RocksDB 的常用调优参数