计算机组成原理01:计算机系统结构和性能评价

        注:来自华中科技大学秦磊华老师的MOOC《计算机组成原理》课程的笔记,和课程配合食用,效果更佳。

目录

冯·诺伊曼计算机的工作原理

硬件系统

存储器

软件系统

 了解代码的不同层次

 计算机性能的评价

非时间指标

时间指标

其他指标

计算机性能的测试工具

CPU测试工具:

GPU测试工具:

硬盘测试:

内存测试工具:

其他综合测试工具

总结


冯·诺伊曼计算机的工作原理

冯·诺伊曼提出的一种计算机结构依然是当代计算机主要采用的结构。计算机的结构设计主要包括以下两个方面:

  1. 存储程序构建与快速访问
  2. 指令系统与控制器设计

下面的冯·诺伊曼计算机结构是充分考虑了两个结构设计方面的结果。

硬件系统

计算机的硬件系统主要包括:

  1. 主机:主要负责存储和处理数据和程序的地方
  2. 外设:和主机连接的外部设备
  3. 总线:传输数据与控制信号,控制主机内部和主机-外设之间的传递。

关于他们之间的关系有以下经典关系图:(其中、存储器分为外部存储器和内部存储器,输入和输出设备都是外设)

下面介绍CPU的两个部件。

  • 运算器:运算器包括算术运算单元(ALU)和算术寄存器Register,正如在汇编语言学到的那样。其中,ALU处理简单的运算指令,比如算术运算逻辑运算移位运算。而寄存器可以辅助ALU存储计算的中间结果和最终结果。
  • 控制器:控制器不只可以传输控制指令,还可以传输状态时序,起到控制其他设备的作用。
存储器

存储器分为内存储器和外存储器,其中内存空间较小但访问较快,层次结构相对比较高,外部存储空间较大但访问速度慢,层次结构相对较低。具体的层级结构可以参照下图:

存储器可以存储很多东西,包括源程序、源数据和中间结果。 存储器需要通过CPU的指令访问。计算机访问存储器的工作原理是按照地址线访问,例如:16位的地址线可以访问64K的存储空间、32位的地址线可以访问4G的存储空间。然而,地址线的长度不一定和CPU的位数绑定。例如我们知道8086的地址线是20位的,使用PAE36技术的32位CPU是36根地址线, 使用PAE40技术的Intel x86-64 CPU是40根地址线, 使用PAE52技术的AMD x86-64 CPU则是52根地址线。

软件系统

计算机软件主要有两个重要组成部分:程序和数据。将软件系统粗略地分类,又可以主要分为:操作系统开发工具应用程序三种(更详细地分类可以参照我国《计算机软件分类与代码》:国家版权局-规范性文件-计算机软件登记分类编码指南(1992) (ncac.gov.cn)

 了解代码的不同层次

我们初步知道高级语言、汇编语言和机器语言是有区别的。事实上、更详细的划分如下图:

高级语言经过编译转化为汇编语言,随后转化操作系统的指令,再往下到指令集架构层,随后转换为微代码,最后转化为硬件逻辑层。计算机组成原理主要研究指令集架构层和微代码层。

事实上、高级语言之间也存在层级关系。请看下图:

 计算机性能的评价

计算机性能的评价主要可以从两个指标:非时间纸币奥和时间指标。

非时间指标

非时间指标的评价涉及三个概念:机器字长、总线宽度、主存容量和存储带宽。

  • 机器字长:指计算机能直接处理的二进制数据的位数。机器字长一般和CPU位数是一致的。比如:16位CPU一般能直接处理16位的数据,32位CPU一般能直接处理32位的数据。请注意区分机器字长和存储字长、指令字长,存储字长指的是取数据时一次取走的数据量,指令字长则指一条指令的长度。机器字长可以是存储字长的1、2或4倍等。
  • 总线宽度:指总线一次可以传输的二进制数据位数。一般来说,字长、机器字长和总线宽度是相等的。请注意总线宽度和总线带宽的区别。总线带宽的大小等于总线宽度 × 传输频率。例如,某总线宽度为32位,传输周期为200ns,那么总线带宽为(32/8)×(1s/200ns) = 20MB/s
  • 主存容量与存储带宽:主存容量指的是主存最大能容纳的空间。而存储带宽则是单位时间存储器进出信息量的最大值。主存主要由RAM和ROM组成,其中RAM又分为静态和动态RAM,ROM又分为MROM,PROM,EROM和EEROM。很多时候,由于主存和辅存的传输速度是不一样的,中间需要高速缓存存储器协调传输,通过存储经常访问的数据来实现。

时间指标

时间指标的评价包括主频、时钟周期、外频和倍频。

主频f:CPU内脉冲信号振荡的频率。

时钟周期T:主频f的倒数,表示CPU完成一条基本指令的时间。

外频:CPU和主板之间同步的时钟频率。

倍频:主频与外频之比。一般来说,在外频不变时,如果倍频越高,说明CPU的工作效率越高。当然,设计主板的时候,如果CPU的性能不一样,那么配套的主板部件也是不一样的。

关于时间指标,还有以下涉及计算的几个概念:

CPI(cycle per instruction)计算机执行一条指令需要的平均时钟周期数。这是因为计算机执行不同复杂程度的指令,所需要的时钟周期数实际上是不相同的。CPI可以通过求平均的方法得出。厂商在生产CPU时也会给出手册,上面说明了CPU执行各种指令的时钟周期数。

(不是消费者价格指数!)

IPC:CPI的倒数,指一个时钟周期内可以执行的平均指令数。

CPU时间:执行一段程序需要的时间。CPU时间的计算公式为:CPU Time = n\times CPI \times T其中,n表示指令总数,CPI表示该程序所有指令的CPI。

MIPS:每秒可以执行的百万条指令数。由IPC乘主频得到,也就是:MIPS = \frac{f}{CPI\times 10^6}。这个公式也被叫做全性能公式。

下面给出一个计算例子。

某计算机主频为1 GHz, 在其上运行的目标代码包含 2*10^5条指令,分4类,
各类指令所占比例和各自CPI如下所示,求程序的CPU时间。

Instruction    CPI    Prop
Arith&Logic    1      60%
Load/Store     2      18%
Transport      4      12%
Cache          8      10%



//首先求出该程序的CPI:1*60%+2*18%+4*12%+8*10% = 2.24
//计算CPU时间:
//CPU Time = 2*10^5 * 2.24 /1 GHz = 0.448ms

其他指标

性能的评价指标不仅与硬件系统有关,还与软件系统有关。站在程序的不同层次结构来看,算法、编程语言、编译程序、指令集体系结构都对性能有着非常重要的影响。

计算机性能的测试工具

我们可以通过一些广泛使用的测试程序来测试计算机的硬件性能。

CPU测试工具:

  1. CPU Mark: 测试系统的存储以及浮点运算和逻辑运算。
  2. SysID:测试CPU的电压、频率、L1、L2Cache等硬件物理信息。
  3. Hot CPU Tester:进行烤机测试。

GPU测试工具:

  1. 3DMark:渲染和着色器测试。
  2. N-Bench2:测试CPU和几何图形性能
  3. FurMark:通过皮毛渲染算法测试。

硬盘测试:

  1. Hard Diskspeed:测试硬盘读写速度
  2. DiskBenchMark:测试不同数据块对磁盘读写速度的影响
  3. IOmeter:对I/O系统的测试。
  4. HDD temperature:测试硬盘温度。

内存测试工具:

  1. CTSPD
  2. Memory Speed
  3. Memory Transfer Timing utility

其他综合测试工具

        国内的“鲁大师”测试软件,但是需要知道用完如何卸载(如果你不需要他的话)。

总结

        本章关于计算机的系统结构和性能评价是非常重要的基础知识,其中涉及有关计算的部分需要着重注意。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值