计算机体系结构学习笔记:①计算系统结构的基础知识

计算机系统的层次结构

计算机系统是由密切相关的硬件和软件组成的。从使用语言的角出发,可把计算机系统按功能划分成如下图所示:

计算机的架构有哪种 计算机的系统架构_执行时间


可以看出来,层级越低与硬件的相关性越强,其执行起来的困难性越大,对于程序员的友好性也就越差,越是上层的语言越是符合人类的逻辑,实现也就相对容易。

计算机系统结构

计算机系统结构主要分为两种:

①冯·诺依曼结构

计算机的架构有哪种 计算机的系统架构_计算机的架构有哪种_02


该系统的主要特点:

(1)机器以运算器为中心。

(2)采用存储程序原理。

(3)存储器是按地址访问的、线性编址的空间。

(4)控制流由指令流产生。

(5)指令由操作码和地址码组成。

(6)数据以二进制编码表示,采用二进制运算。

冯·诺依曼结构两个最重要特征:

①指令驱动计算机内部的信息流动

②计算机应用主要面向数值计算和数据处理

计算机性能分析

计算机性能指标参数:
①MIPS:表示每秒百万条指令,其单位是MI/s,用来衡量处理机定点运算的速度。对于一个给定的程序:
MIPS可表示为:MIPS=指令条数/(执行时间×10^6)
程序的执行时间为:Te=指令条数/(MIPSx10^6)
②MFLOPS:表示每秒百万条浮点运算指令,用来衡量浮点处理机的运算速度,单位是MFLO/S。对于一个给定的程序,
MFLOPS可表示为:MFLOPS =程序中的浮点操作次数/(CPU执行时间×10^6)

Amdahl定律

定律:优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例。

基本思想:对于大概率事件(最常见的事件),赋予它优先的处理秘和资源使用权,以获得全局的最优结果。

系统加速比的计算公式:

计算机的架构有哪种 计算机的系统架构_计算机的架构有哪种_03


系统加速比依赖于两个因素:

①可改进的部分在原系统计算时间中所占的比例

②可改进部分采用改进措施后比没有采用改进措施前性能提高的倍数。部件改进后系统的总执行时间Tn=不可改进部分的执行时间+可改进部分改进后的执行时间

计算机的架构有哪种 计算机的系统架构_计算机的架构有哪种_04

改进后系统的加速比Sn:

计算机的架构有哪种 计算机的系统架构_学习_05

CPU性能公式

CPU的性能取决于三个参数:
①时钟周期时间:取决于硬件实现技术和计算机组成。
②CPI:取决于计算机组成和指令集结构。
③IC:取决于指令集结构和编译技术。

执行一个程序所需的CPU时间 =执行程序所需的时钟周期数 × 时钟周期时间。
其中,时钟周期时间是系统时钟频率的倒数
CPI(每条指令执行的平均时钟周期数)=执行程序所需的时钟周期数/IC
IC:所执行的指令条数
程序执行的CPU时间:
CPU时间 = IC x CPI x 时钟周期时间

程序的局部性原理

程序执行时间的90%都是在执行程序中10%的代码。
时间局部性:如果一个信息项正在被方位,那么在近期它很有可能会被再次访问。

就比如一个for循环中的i++,这个i变量可能会在短时间内被多次访问。

空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。

例如下图中的数组:

计算机的架构有哪种 计算机的系统架构_计算机的架构有哪种_06


当数组中的一个元素被访问,则其附近的内存地址也极有可能会被访问