WBlog

哀吾生之须臾,羡长江之无穷

0%

计算机组成原理第一次作业

1.1 解释如下名词

  1. 摩尔定律:
    1965年,Intel创始人之一戈登·摩尔(Gordon Moore)在Cramming More Components ontoInegraled Circuits 一文中对集成电路上可容纳的品体管数目、性能和价格等发展趋势进行了预测其主要内容可概括为:“当价格不变时,集成电路上可容纳的品体管数量大约18~ 24 个月翻一番
    性能也将提升一倍。”这就是著名的摩尔定律。摩尔定律已被集成电路 40 多年的发展历史准确无误地验证。近年来由于工艺和技术的发展,半导体工艺已接近集成电路极限,集成电路的发展开始逐渐偏离摩尔定律的预测,从2013年开始逐步放缓至3年翻一番,摩尔定律放缓已成了行业的共识。但这些都不能否定摩尔定律的深远影响和巨大贡献。摩尔定律的意义和影响表现在:
    (1)单个芯片集成度提高后,其成本变化不大,因此总体成本明显下降;
    (2)高集成度的芯片中,电路间的距离更近,其连线更短,工作速度可以更高

    (3)增加了芯片内部的连线,从而减少了外部连线,可靠性得以提高
    (4)计算机体积越来越小,减少了电能的消耗,适应性更好。

  2. 主存控制器:

    主存控制器是计算机系统中的一个关键组件,负责协调和管理主存储器(也称为内存)的访问。让我们深入了解一下主存控制器的作用、特点和应用。

    1. 作用
      • 主存控制器的主要功能是进行接口的转换,将主设备发出的读、写等命令转换成存储器能够识别的信号。
      • 它还负责完成主设备与存储器之间的地址译码、数据格式转换(例如数据位宽)等操作。
    2. 特点
      • 主存控制器通常位于CPU内部,作为存储器访问的桥梁。
      • 它具有快速的读写速度,以便有效地处理数据传输。
    3. 应用领域
      • 主存控制器在计算机系统中广泛应用,特别是在内存管理和数据传输方面。
      • 它在操作系统、数据库管理系统、网络设备等领域中发挥着重要作用。

    总之,主存控制器是计算机系统中的关键组件,确保CPU和内存之间的高效通信,从而实现数据的读取和写入。

  3. 汇编器,编译器,解释器

    语言翻译程序主要包括编译程序、汇编程序、解释程序和其他软件操作程序。编译程序负责将高级语言翻译成汇编代码,也称为编译器;汇编程序负责将汇编语言翻译成机器语言目标程序,也称为汇编器;解释程序用于将源程序中的语句按执行顺序逐条翻译成机器指令并执行且不生成目标程序,也称为解释器

  4. 链接器

    链接器主要是将有关的目标文件彼此相连接生成可加载、可执行的目标文件。链接器的核心工作就是符号表解析和重定位。

  5. 时钟周期:
    时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU 仅完成一个最基本的动作。时钟周期是时钟频率的倒数,也称为节拍周期或T周期,随着CPU主频的提高,对应的时钟周期将变短,例如,主频1GHz(10%Hz)的CPU 时钟周期为 1ns。

  6. 字长:

    计算机的字长一般是指 CPU 一次处理的数据位数,用二进制数的长度来衡量。字长一般与计算机内部寄存器、运算器、数据总线的位宽相等。

    字长一般以字节( Byte )为基本单位,不同计算机的字长可以不同,有的计算机还支持变字长如支持半字长、全字长、双字长和多字长等,不过它们都是字节的整数倍。早期的计算机字长较短一般为16位,现代计算机字长一般为32位或64位。
    字长对计算机性能有如下几方面的影响。

    (1)影响计算精确度。字长越长,计算精确度就越高,反之计算精确度就越低。

    (2)影响数据的表示范围和精度。字长越长,定点数的表示范围就越大,浮点数的表示范围越大、精度也越高。

  7. 存储容量:

    主存容量是指主存能存储的最大信息量,一般用MxN表示,其中M表示存储单元数,也称字容量;N表示每个存储单元存储的二进制位数,也称位容量。主存容量常用单位的定义如下表所示。

    单位 存储容量 最少地址线
    KB(Kilobyte) 1024B 10根
    MB(Megabyte) 1024KB 20根
    GB(Gigabyte) 1024MB 30根
    TB(Treabyte) 1024GB 40根
    PB(Petabyte) 1024TB 50根

    增加主存容量能减少程序运行期间访问辅存的次数,有利于提高程序的执行速度,也有利于计算机性能的提高。

  8. CPI:

    CPI(Clock Cycles Per Instruction)是指执行每条指令所需要的平均时钟周期数。由于指令功能不同且相同功能的指令还可能有不同的寻址方式,因此,指令执行时所需要的时钟周期数也可能不同。CPI既可表示每条指令执行所需要的时钟周期数,也可指一类指令(如算术运算类指令)或一段程序中所有指令执行所需时钟周期数的平均值
    假设程序中包含的总指令条数用IC 表示,程序执行所需时钟周期数为 m,机器周期为 T频率为f, 则根据上述 CPI的定义可得:

    若能知

    道某程序中每类指令的使用频率(用P表示)、每类指令的CPI(用CPIi表示)每类指令的条数(用IC表示),则程序的CPI可表示为:

  9. CPU时间:

    根据上述有关CPU时间的定义和描述,某段程序的CPU时间Tcpu可表示为:

    考虑CPI后,CPU时间还可表示为:

​ 从式(1-1)~式(1-4)可以看出CPU时间与下列3个因素紧密相关。

​ (1)时钟频率。时钟频率取决于CPU的实现技术和工艺,时钟频率越高,程序执行速度就越快。
​ (2)CPI。CPI取决于计算机的实现技术和指令集结构,CPI越小,程序执行速度越快。

​ (3)指令条数。当CPI和时钟周期固定时,程序指令条数越少,执行速度就越快。完成相同功能的程序所包含的指令条数主要与指令系统的设计和编译技术有关。

  1. MIPS:

    MIPS(Million Instructions Per Second)即每秒百万条指令,更大的单位有 GIPS(GigaInstructions Per Second)。可用每秒执行完成的指令数量作为衡量计算机性能的一个指标,不过要注意这个指标衡量的指令数量是以百万为单位的。
    根据 MIPS 的定义,可用下面的公式计算MIPS:

    将(4)式代入(5)式得到(IPC是CPI倒数)

    这里时钟频率/的单位为MHZ。公式(1-6)就是常说的CPU全性能公式,该公式最早由Intel 提出,从该公式可以看出,计算机性能与指令的CPI和主频有直接的关系,主频越高,MIPS 值越高;CPI越小,MIPS值越高。计算机厂家会通过运行人工合成的指令序列测试峰值 MIPS,通常这些测试指令的 CPI最小日运行时会尽量减少分支跳转和cache缺失。但峰值MIPS和实际负载中的MIPS会存在很大差别该值并不能反映计算机的真实性能。为了解决峰值 MIPS 指标的滥用问题,出现了第三方的基准测试程序,基准测试程序通过在不同的计算机上运行相同的测试程序来比较计算机性能,通常这些测试程序能较好地反映计算机实际应用的工作负载。

  2. MFLOPS:

    MFLOPS(Milion Floating-Point Operations Per Second)是指计算机每秒执行浮点运算的次数,而不是 MIPS所衡量的每秒执行的指令条数。如某系统的运算速度为2MFLOPS,表示该系统的浮点运算速度为每秒 200万次。更大的单位有GFLOPS、TFLOPS、PFLOPS。MFLOPS不是计算机实际执行程序的速度,而是计算机在理论上能达到的浮点运算处理速度。与 MIPS类似,MFLOPS用程序中浮点运算次数除以程序在特定输入时的执行时间得到:

    MFLOPS=ICflopsTcpu×106MFLOPS = \frac{IC_{flops}}{T_{cpu} \times 10^6}

  3. 计算机层次结构:

    1.多层次结构
    现代计算机系统是一个硬件与软件组成的综合体,我们可以把它看成是按功能划分的多级层次结构

    2.虚拟机概念
    在计算机系统的多层次结构中,除第0、1、2级外,上面四级均为虚拟机。
    虚拟计算机是指这个计算机只对该级的观察者存在。对某一层次的观察者来说,他只能是通过该层次的语言来了解和使用计算机,至于下层是如何工作和实现的就不必关心了。简而言之,虚拟计算机即是由软件实现的机器。

    image-20240228164057615

1.2 选择题

(1) D (2) C (3) C (4) A

(5) D (6) D

(7)

:MIPS=fCPIMIPS=1200MHz÷(50%×2+20%×3+10%×4+20%×5)MIPS=400根据公式:MIPS = \frac{f}{CPI}\\ MIPS = 1200MHz \div (50\% \times 2 + 20\% \times 3 + 10\% \times 4 + 20\% \times 5)\\ MIPS = 400

选C

(8) D

(9)

IC1×CPI1=20sIC2×CPI2=0.84×(IC1×CPI1)20s×0.84=16.8sIC_1 \times CPI_1 = 20s\\ 优化后\\ IC_2 \times CPI_2 = 0.84 \times(IC_1 \times CPI_1)\\ 20s \times 0.84 = 16.8s

选D

(10)

1.5GHz2=x×1.2Ghz1x1.6\frac{1.5GHz}{2} = x \times \frac{1.2Ghz}{1}\\ 解得x的倒数为1.6

选C

1.3(教材1.5)

CPI=i=1n(CPIi×Pi)MIPS=fCPIMIPS1=600MHz2×0.4+3×0.2+4×0.15+5×0.25185MIPS2302由CPI = \sum_{i=1}^n(CPI_i \times P_i)\\\\ 和MIPS = \frac{f}{CPI}得\\\\ MIPS_1 = \frac{600MHz}{2\times0.4 + 3 \times 0.2 + 4 \times 0.15 + 5 \times 0.25} \approx 185\\\\ 同理 MIPS_2 \approx 302

1.4(教材1.6)

(1):

CPI优化前为1.6

CPI优化后为1.75

(2):

MIPS=312.5MIPS285.7优化前MIPS = 312.5\\\\ 优化后MIPS \approx 285.7

(3):优化后得CPI提升但是MIPS下降,不能通过指标简单地判断计算机性能

1.5 超级计算机相关检索信息

  1. Frontier(美国)

    • 计算能力:1102.00 PFlop/s
    • 主要构成特点:Frontier是一台百亿亿次级计算机,由美国橡树岭国家实验室(ORNL)开发。它采用了高性能计算(HPL)和Linpack测试,几乎是第二名系统的三倍。
    • 应用领域:科学研究、气候模拟、核物理等。
    • 技术实现方式:采用AMD EPYC处理器和NVIDIA A100 Tensor Core GPU。
  2. 富岳(Fugaku)(日本)

    • 计算能力:442.01 PFlop/s
    • 主要构成特点:Fugaku是一台超级计算机,由日本理化学研究所(RIKEN)计算科学中心(R-CCS)开发。它曾连续两年占据榜首。
    • 应用领域:天气预报、材料科学、医学研究等。
    • 技术实现方式:采用ARM A64FX处理器和NVIDIA A100 Tensor Core GPU。
  3. LUMI(芬兰)

    • 计算能力:309.10 PFlop/s
    • 主要构成特点:LUMI是欧洲最快的超级计算机,经过一次重大升级,规模增加了一倍。
    • 应用领域:气候模拟、材料科学、能源研究等。
    • 技术实现方式:采用AMD EPYC处理器和NVIDIA A100 Tensor Core GPU。
  4. Leonardo(意大利)

    • 计算能力:174.70 PFlop/s
    • 主要构成特点:Leonardo由意大利博洛尼亚EuroHPC/CINECA开发,拥有1463616个内核。
    • 应用领域:材料科学、生物医学、天气预报等。
    • 技术实现方式:采用NVIDIA HGX节点和Intel Lake CPU。
  5. Summit(美国)

    • 计算能力:148.60 PFlop/s
    • 主要构成特点:Summit采用IBM Power9处理器和NVIDIA V100 Tensor Core GPU。
    • 应用领域:人工智能、生物医学、材料科学等。
  6. Sierra(美国)

    • 计算能力:94.64 PFlop/s
    • 主要构成特点:Sierra采用IBM Power9处理器和NVIDIA V100 Tensor Core GPU。
    • 应用领域:核物理、材料科学、天气模拟等。
  7. 神威太湖之光(中国)

    • 计算能力:93.01 PFlop/s
    • 主要构成特点:神威太湖之光由中国国家超级计算无锡中心开发,采用自主研发的SW26010处理器。
    • 应用领域:气象模拟、地震模拟、材料科学等。
  8. Perlmutter(美国)

    • 计算能力:70.87 PFlop/s
    • 主要构成特点:Perlmutter采用AMD EPYC处理器和NVIDIA A100 Tensor Core GPU。
    • 应用领域:天文学、宇宙学、粒子物理学等。
  9. Selene (美国):

    • 计算能力:63.46 PFlop/s

    • 主要构成特点:Selene 基于 NVIDIA 的 DGX SuperPOD 技术构建,由 280 台 DGX A100 服务器组成,共计 272800 个 CPU 和 GPU 计算核心,总内存为 560000GB。

    • 应用领域:Selene 的计算能力被用于自动驾驶汽车、图形渲染、量子化学和基因组学工具等各种领域。

  10. 天河-2A (中国):

    • 计算能力:运算速度为 61.44 PFlop/s。

    • 主要构成特点:天河-2A由 Intel Xeon Phi 7290 处理器和 NVIDIA Tesla P100 GPU 组成。

    • 应用领域:用于气象模拟、材料科学、生物医学等。

    这些超级计算机在不同领域发挥着重要作用,从气象预报到材料科学,再到宇宙学和核能模拟。它们的技术实现方式和构成特点各有不同,但都在推动科学研究和技术创新方面发挥着关键作用。