一、 冯诺依曼结构
冯诺依曼结构的基本思想
- 采用“存储程序”的工作方式
- 计算机由运算器,控制器,存储器,输入和输入设备 5 个基本部件组成。
- 存储器不仅能存放数据,也能存放指令,形式上数据和指令没有区别,当计算机应能区分它们;控制器应能自动执行指令;运算器应能进行算术运算,也能进行逻辑运算;操作人员可以通过输入和输出设备使用计算机。
- 计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址吗两部分组成,操作码指出操作类型,地址吗指出操作数的地址;由一串指令组成程序。
冯诺依曼组成部件的作用
- 主存储器:用来存放指令和数据,简称为主存或内存。
- 算术逻辑部件:用来进行算术逻辑运算的部件。
- 控制部件:用于自动逐条取出指令并进行译码的部件。
- 输入输出设备:用来和客户交互的设备。
- 通用寄存器组:为了临时存放从主存取来的数据或运算的结果,还需要若干个通用寄存器(标志寄存器,指令寄存器,程序计数器)
- 标志寄存器:经过算术运算后的结果会产生一些标志信息,例如:结果是否为 0,是否为负数,是否溢出等。
- 指令寄存器:从主存中取来的指令需要临时保存在指令寄存器中。
- 程序计数器:CPU 为了自动按需读取主存中的指令,在执行当前指令过程中,自动算出下一条指令的地址并送到程序计数器中。
执行流程:
- 程序执行时,控制器会通过程序计数器取出下一条指令的地址。
- 通过指令的地址从主存中提取指令后把指令放入指令寄存器中。
- 指令寄存器提取出指令的操作码和地址码,并根据地址码从主存中得到数据。并且此时程序计数器加一。
- 将数据放入通用寄存器中,在根据控制器对操作码进行解析,运行算术逻辑部分进行计算。
- 得到的数据后根据相应的业务放到寄存器或者主存中。
存储程序
“存储程序”的基本思想:必须将实现编写好的程序和原始数据送入主存后才能执行程序,程序一旦被启动执行,计算机能在不需操作人员干预下自动完成逐条指令取出和执行的任务。
“存储程序”的执行过程:根据 PC(程序计数器)从主存中取指令,对指令进行译码,PC 增量,取操作数并执行,将结果送主存或寄存器中保存。
二、计算机性能
吞吐率和响应时间是考量一个计算机系统性能的两个基本指标。
吞吐率:在单位时间内所完成的工作量。
响应时间:从作业提交开始到作业完成所用的时间,类似于执行时间和等待时间。
计算机性能的测试
通常把用户感觉到的执行时间分为:CPU 时间和其他时间。
CPU 时间指 CPU 用于本程序执行的时间,它又包括:用户 CPU 时间(指真正用于运行用户程序代码的时间),系统 CPU 时间(指为了执行用户程序而需要 CPU 运行操作系统的时间)。
其他时间:等待 I/O 操作完成的时间或 CPU 用于执行其他用户程序的时间。
1. CPU 时间的几个概念和指标:
- 时钟周期:计算机执行一条指令的过程被分成若干个步骤来完成(例如一个乘法会被分为加法和左移的几个操作来执行),每一步都要有相应的控制信号进行控制,这些控制信号的执行都需要花费时间。故对其称为时间周期。(执行每条微指令耗费的平均时间)
- 时钟频率:CPU 时钟周期的倒数,表示当为时间内执行了多少条微指令。
- CPI(时钟周期数):表示一条指令需要的微指令条数。
用户 CPI 时间 = 程序总时钟周期数 * 时钟周期 = 程序总时钟周期数 / 时钟频率。
程序总时钟周期数 = 程序总指令条数 * CPI(时钟周期数)
2. 用指令执行速度进行性能评估
MIPS:平均每秒执行多少百万条指令。指令执行速度所用的计量单位。
峰值 MIPS:选取一组指令组合,使得得到的平均 CPI 最小,由此得到的 MIPS 就是峰值 MIPS。
相对 MIPS:根据某个公认的参考机型来定义的相应 MIP值。
MIPS 反映了机器执行顶点指令的速度,但是,用 MIPS 来对不同的机器进行性能比较有时是不准确的。因为不同机器的指令集不同,而且指令的功能也不同,因此,同样的指令条数所完成的功能可能完全不同。另外,不同机器的 CPI 和时钟周期也不同,因而同一条指令在不同机器上所用的时间也不同。
3. 用基准程序进行性能评估
基准程序是进行计算机性能评测的一种重要工具,能够很好的反映机器在运行实际负载时的性能,可通过在不同机器上运行相同的基准程序来比较在不同机器上的运行时间,从而评测其性能。