计算机系统概述
一、计算机硬件的基本组成
双向箭头:传递数据信息
虚线:传递控制信息
1.基本概念
硬件:是物理装置的总称,人们看到的各种芯片、板卡、外设、电缆等都是计算机硬件。
软件:运行在硬件上的程序和数据以及相关的文档。
程序:是指挥计算机如何操作的一个指令序列,即程序由指令组成。
指令:是计算机硬件能够直接理解并执行的最基本操作。
数据:是指令操作的对象。
存储程序方式:即将编制好的程序(若干条相应的指令构成)存入计算机的存储器,当计算机工作时,能自动地逐条取出指令并执行指令。
IAS计算机:“存储程序”计算机。
2.冯诺依曼计算机结构特点
①采用存储程序方式
②计算机由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
③存储器用于存放指令和数据;运算器完成算术运算和逻辑运算;操作人员通过输入/输出设备使用计算机。
④计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码两部分构成,操作码指出操作类型,地址码指出操作数的地址;由一串指令组成程序。
3.现代计算机的组成
二、计算机软件的概述
三、计算机系统层次
1.计算机系统的抽象层及其转换
编程语言(高级语言、机器语言、汇编语言)
源程序、目标程序
汇编程序、解释程序、编译程序
指令集体系结构(简称ISA):定义一台计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么操作,以及所处理的操作数存放的地址空间和操作数的类型。
微体系结构:是ISA的具体实现组织,是软件不可感知的部分。
注意:相同的ISA可能具有不同的微体系结构。
2.不同用户所在的工作层次
最终用户:使用应用程序完成特定任务的计算机用户。
系统管理员:指利用操作系统等软件提供的功能对系统进行配置、管理和维护,以建立高效合理的系统环境供计算机用户使用的操作人员。
应用程序员:指使用高级编程语言编制应用软件的程序员。
系统程序员:指设计和开发系统软件的程序员。
四、程序开发与执行过程
1.源程序文件到可执行目标程序文件的转换过程
2.冯诺依曼结构模型机
通用寄存器组(GPRs):用来存放操作数或操作数的地址。
标志寄存器:用来存放ALU运算得到的一些标志信息。
程序计数器(PC):用来存放将要执行的下一条指令的地址。
指令寄存器(IR):用来存放主存中读出的指令。
主存地址:每个存储单元的一个唯一编号。
存储地址寄存器(MAR):用来存放当前CPU所访问的内存单元的地址。
存储数据寄存器(MDR):用来存放CPU与主存储器交换的数据。
指令的执行过程:
1.取指:根据PC的内容到主存中取出指令,把指令送到指令寄存器中。
2.分析指令:分析指令的操作码,产生控制信号。
3.取操作数
4.执行指令
5.写结果
指令周期:执行一条指令所需要的时间,是从取指令、分析指令到执行完指令所需的全部时间。
机器周期:也叫CPU周期。通常用从内存中读取一个指令字的最短时间来规定CPU周期(机器周期),也即CPU完成一个基本操作所需的时间。
时钟周期:一个时钟脉冲所需要的时间。又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位。
五、计算机系统性能评价
1.计算机性能的定义
吞吐率(带宽):表示在单位时间内所完成的工作量。
响应时间(执行时间或等待时间):是指从作业提交开始到作业完成需要的时间。
2.用CPU执行时间进行性能评估
CPU时间:指CPU用于程序执行的时间。
- 用户CPU时间
- 系统CPU时间
在对用户CPU时间进行计算时需要用到的指标:
①时钟周期:用于对控制信号定时的同步信号即为CPU的时钟信号,其宽度为一个时钟周期。
②时钟频率:CPU的主频
③CPI:表示执行一条指令所需要的时钟周期数。
CPU执行时间=程序所含时钟周期数/时钟频率
=程序所含时钟周期数*时钟周期
如果已知程序总的指令数和综合CPI,则可用如下公式计算程序的总时钟周期数:
程序总时钟周期数=程序所含指令条数*CPI
如果已知程序中共有n种不同类型的指令,第i种指令的条数和CPI分别为Ci和CPIi,
则:
例题:
3.用执行速度进行性能评估
定点指令运行速度MIPS:
说明:
①若指令的执行时间用时钟周期数衡量,则T就是CPI。
②指令平均执行时间的倒数就是MIPS值。
③峰值MIPS:选取一组指令组合,使得得到的平均CPI最小,则其倒数就是峰值IMPS。
④相对MIPS是根据某个公认的参考机型来定义相应MIPS值,其值的含义是被测机型相对参考机型MIPS的多少倍。
⑤MIPS反映机器执行定点指令的速度,但是,用MIPS来对不同的及其进行性能比较有时是不准确或不客观的。
浮点操作速度指标MFLOPS:
4.用基准程序进行性能评估
基准程序是专门用来进行性能评价的一组程序,能够很好地反映机器在运行实际负载时的性能,可以通过在不同机器上运行相同的基准程序来比较在不同机器上的运行时间,从而评测其性能。
基准程序是一个测试程序集,由一组程序组成。
SPEC测试程序集:
如果基准测试程序集中不同的程序在两台机器上测试得出的结论不同,则如何给出最终评价结论?
一是采用执行时间的算术平均值或几何平均值来综合评价机器的性能。如果考虑每个程序的使用频度而用加权平均的方式,结果会更准确。
二是将执行时间进行归一化来得到被测试的机器相对于参考机器的性能。
执行时间的归一化值=参考机器上的执行时间/被测机器上的执行时间。