文章目录
- 计算机组成:计算机主要功能部件的组成结构、逻辑设计及功能不见间的相互连接关系。
- 计算机系统结构:程序设计者(主要指低级语言程序员或编译程序设计者)所看到的计算机系统的属性,即计算机的功能特性和概念性结构。
- 关系:具有相同计算机体系结构的计算机因为速度要求不同等因素可以采用不同的计算机组成(逻辑实现),一种计算机组成可以采用多种不同的计算机实现(物理实现)。
1.1 计算机系统的基本组成
计算机系统由硬件和软件两部分组成。硬件是具体物理装置的总称,软件包括运行在硬件装置上的程序和数据以及相关的文档。
1.1.1 计算机硬件
- 冯诺依曼结构计算机基本思想
* 采用“存储程序”工作方式
* 计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成。
* 存储器不仅能存放数据,也可以存放指令;控制器应能控制指令的自动执行。
* 计算机内部以二进制的形式表示指令和数据,每条指令由操作码和地址码两部分组成,操作码支出操作类型,地址码指出操作数的地址;有一串指令组成程序。
2.计算机硬件
3.计算机软件
- 计算机的工作由存储在其内部的程序控制 —— 冯诺依曼
1.2 程序开发与执行过程
1.2.1 从源程序到可执行程序
- 通过源程序编译软件得到 hello.c 文件。hello.c 在计算机中以ACSII 字符方式存放。此外,源程序文件导师文本文件,是可显示和可读的。
- 将 hello.c 进行预处理、编译、汇编和链接,最终生成可执行目标文件。
- 预处理阶段
预处理程序(cpp) 对源程序中以字符 # 开头的命令进行处理。预处理程序的输出还是一个源程序文件,以i 为扩展名。 - 编译阶段
编译程序(ccl)对预处理后的源程序进行编译,生成一个汇编语言源程序文件,以s为扩展名。 - 汇编阶段
生成一个可重定位目标文件二进制文件。因为其中的代码已经是机器指令,故它是不可读的,即打开显示出来的是乱码。 - 链接阶段
将多个可重定位目标文件和标准库函数合并称为一个可执行目标文件。
- 预处理阶段
1.2.2 可执行文件的启动和执行
- 一个用户程序被启动执行,必须依靠操作系统的支持,包括外壳程序和内核服务例程。
- 程序的执行过程就是数据在CPU、主存储器和I/O模块之间流动的过程,所有数据的流动都是通过总线、I/O桥接器等进行的。
1.3 计算机系统性能评价
1.3.1 计算机性能的定义
- 吞吐率和响应事件是考察一个计算机系统性能的两个基本指标
- 吞吐率表示单位时间内所完成的工作量,某些场合也被称为带宽
- 响应时间(也称执行时间或等待时间)是指从作业提交开始到作业完成所用的时间。通常情况下,响应时间除了程序包含的指令在CPU上执行所用的时间外,还包括磁盘访问时间、存储器访问时间、输入输出操作所需的时间及操作系统运行这个程序所用的额外开销等。
1.3.2 计算机性能的测试
不考虑应用背景而直接比较计算机性能,一般采用执行时间来衡量。
-
计算机系统的性能评价主要考虑的是CPU性能:
- 系统性能是指系统的响应时间,与CPU外的其他部分也有关系。
- CPU时间指用户CPU时间,只包含CPU运行用户程序代码的时间。
-
CPU时间的几个重要概念和指标
-
时钟周期
CPU产生的同步的时钟定时信号,也就是CPU的主脉冲信号,其宽度被称为始终周期。 -
始终频率(主频)
CPU主脉冲信号的时钟频率,是CPU时钟周期的倒数。 -
CPI
表示执行一条指令作序的时钟周期数。
对于一条特定指令而言,CPI是一个确定的值;对于一个程序或者一台机器来说,CPI是一个平均值。
CPU执行时间 = 程序所含时钟周期数 / 时钟频率 = 程序所含时钟周期数 * 时钟周期 = CPI * 程序总指令条数 * 时钟周期
-
-
计算机性能可以看作是CPU时间的倒数,因此,两台计算机性能之比就是CPU时间之比的倒数。
-
CPU时间度量公式中的时钟周期、指令条数、CPI三个因素是相互制约的。例如,更改指令集可以减少程序所含指令的条数,但是,同时可能引起CPU结构的调整,从而增加时钟周期的宽度(即降低时钟频率)。