计算机系统结构 第一章

计算机系统结构的基本概念

系统结构的任务:
计算机系统结构设计是一个不断循环反复的过程:

  • 在所有可能的设计方案中不断的选择;
  • 对计算机系统的各个部分进行取舍折衷

1. 计算机系统结构概念

1.1 计算机系统的层次结构

计算机系统= 硬件/固件 + 软件
从计算机语言的角度,将计算机系统按功能划分成多级层次结构,每一层以一种语言为特征,计算机语言由低级向高级发展,高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言为基础
在这里插入图片描述

L1:微程序机器级:一般是直接由固件/硬件解释实现的
L2:传统机器级:,程序员用机器指令级编写的微程序一般是由微程序解释执行的。针对不同的指令集,可以有多个解释程序,可以通过仿真在一台机器上实现多种指令集
虚拟机:由软件实现的机器,以区别由固件/硬件实现的物理机器

翻译与解释
翻译技术是先把L+1级程序全部变换成L级程序后,再去执行新产生的L级程序,在执行过程中L+1级程序不再被访问。(速度快,占用空间大)
解释技术是每当一条 L+1级指令被译码后,就直接去执行一串等效的L级指令,然后再去取下一条L+1级的指令,依此重复进行

解释执行比编译后再执行所花时间多,但占用的存储空间较少

1.2 计算机系统结构的定义

  1. 1964年Amdahl在介绍IBM 360系统时提出经典的计算机系统结构(Computer Architecture定义。
    计算机系统结构是机器级程序员所看到的计算机属性,即概念性结构与功能特性。

  2. 功能特性即指机器语言程序设计员为使其设计(生成)的程序在计算机上正确运行所需遵循的计算机属性。

  3. 不同级的程序员所看到的计算机具有不同的属性。

  4. 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称
    为透明性。

  5. 广义的计算机系统结构的定义:囊括计算机设计的三个方面指令集结构、组成和硬件。

  6. 计算机系统结构概念的实质
    确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。(即机器语言程序员所看到的传统机器级所具有的属性。)

1.3 计算机的组成与实现

计算机组成:计算机系统结构的逻辑实现

  • 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
  • 着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。

计算机实现计算机组成的物理实现

  • 包含处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
  • 着眼于:器件技术(起主导作用)、微组装技术。
  • 一种体系结构可以有多种组成。一种组成可以有多种物理实现。
  • 系列机,即由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机
1.4计算机系统结构的分类

2. 计算机系统设计技术(4个定量原理)

2.1以经常性事件为重点

经常发生的事件采用优化方法的原则进行选择,以获得总体上最优结果

经常发生:确定什么是大概率事件
优化:分配更多的资源、达到更高的性能等
最优:改进如何提高机器性能

2.2 Amdahl定律

加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。
可用于衡量改进某部位后总体性能提高程度。
系统性能加速比:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

提出公因式:改进前的总执行时间

在这里插入图片描述
在这里插入图片描述

结果保留三位小数,系统加速比也是

性能改进的递减规则:如果仅仅对计算任务中的一部分做性能改进,则改进得越多,所得到的总体性能的提升就越有限
重要推论:如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不
超过1/(1-可改进比例)(即可改进比例/部件加速比=1)
在这里插入图片描述

2.3 CPU性能公式

执行一个程序所需要的CPU时间:
CPU时间 = 执行程序所需的时钟周期数×时钟周期时间

其中:时钟周期时间是系统频率的倒数

每条指令的平均时钟周期数(Cycles Per Instruction,CPI)
CPI = 执行程序所需的时钟周期数/IC

其中:IC为所执行的指令条数

综上,CPU的性能公式为:
CPU时间 = IC ×CPI ×时钟周期时间

CPU性能取决于三个公式:
1.时钟周期时间:取决于硬件实现技术和计算机组成
2.CPI:取决于计算机组成和指令集结构
3.IC:取决于指令集结构和编译技术

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 程序的局部性原理

程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。
时间局部性:程序即将用到的信息很可能就是目前正在使用的信息
空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近

3. 计算机系统结构的评价标准

定量分析技术:
在这里插入图片描述
在这里插入图片描述

3.1 执行时间和吞吐率

执行时间:(用户角度)从事件开始到结束之间的时间
吞吐率:(多道程序)在单位时间内所能完成的工作量

3.2 基准测试程序

用于测试和比较性能的基准测试程序的最佳选择是真实应用程序(如编译器)。
以前多采用简化的程序:核心测试程序、小测试程序、合成的测试程序
用从测试性能的角度出发,上述测试不可信

基准测试程序设计者对制造商的要求:

  • 采用同一种编译器;
  • 对同一种语言的程序都采用相同的一组编译标志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值