目录
2、CPI(Clock cycles Per Instruction)
3、MIPS(Million Instructions Per Second)
1.1冯·诺依曼结构计算机工作原理及层次结构分析
一、冯诺依曼计算机的工作原理
- 存储程序:将程序存放在计算机存储器中(存储系统的构建与快速访问)
- 程序控制:按指令地址访问存储器并取出指令,经译码依次产生指令执行所需的控制信号,实现对计算机的控制,完成指令的功能。(指令系统、控制器设计等)
二、冯诺依曼计算机的组成(硬件+软件)
1.硬件系统—总体图
- 主机:CPU(运算器、控制器)、内存储器
- 外设:输入输出设备、外存储器
- 总线:控制线、数据线、地址线
(1)运算器——“算盘”
- 基本结构:ALU(算术逻辑运算部件)——可传送信息、寄存器、连接通路
- 计算机常采用二进制数运算
- 采用二进制运算的优势:
1. 二进制运算规律十分简单 ——> 在电子器件中比较容易实现
2.技术上容易实现 ——> 用双稳态电路表示二进制数字0和1是十分容易的
3.可靠性高 ——> 二进制中只使用0和1两个数字,传输和处理时不易出错
4.抗干扰能力强 ——> 每位数据只有高低两个状态,当受到一定程度的干扰时,仍能可靠地分辨出它是高还是低
5.与逻辑量相吻合 ——> 二进制数0和1正好与逻辑量“真”和“假”相对应
- 二进制&十进制共性所在:
1.在运算中,位数越多,计算精确度越高。(理论上讲,数位可以任意多。)
2. 位数越多,所需电子器件越多 ——> 运算器长度一般为:8位、16位、32位、64位
运算器结构示意图:
(2)存储器——“纸”——采用半导体器件
- 基本功能:存储原程序、原数据、运算中间的结果。
- 工作原理:按地址访问,读/写数据。——>
- 工作模式:读/写
- 存储单元——“宿舍”——“保存一个数的16个触发器”
- 地址——“宿舍号”——“每个存储单元的编号”
- 存储位元——“每个床位”
- 存储容量——“存储单元的总数”
- 外存储器——磁盘存储器、光盘存储器(存储容量更大)
- 内存储器——半导体存储器(无驱动、安上就可以用) 网卡、显卡的成功安装都需要驱动
- 分类内存(RAM、ROM)
- RAM(Random Access Memory):随机存取存储器(主存),是与CPU直接交换数据的内部存储器;在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。
- ROM(Read-Only Memory):只读存储器,只能读出事先所存数据;其特性是一旦储存资料就无法再将之改变或删除。
(3)控制器——“大脑”——从内存中取出解题步骤加以分析,然后执行某种操作。
- 控制信号的形式:电平信号、脉冲信号
- 产生控制信号的依据:指令、状态、时序
- 产生控制信号的形式:微程序、硬布线
1.计算程序:
- 指令:每一个基本操作
- 计算程序:解算某一问题的一串指令序列
2.指令的形式
- 指令:(操作码【指出指令所进行的操作】、地址码【源、目的地】)——(操作的性质、操作数的地址)【均为二进制表示】
- 指令系统:一台计算机通常有几十种基本指令,从而构成该计算机的指令系统。
- 存储程序:指令序列存放在存储器中。
- 程序控制:控制器依据存储的程序来控制全机协调地完成计算任务。
冯诺依曼结构:数据和指令存放在一个存储器中
——冯诺依曼结构特点:
- 计算机五大部件:运算器、控制器、存储器、输入、输出设备。
- 指令和数据以同等地位存放在存储器中,并按地址寻访。
- 指令和数据均由二进制表示
- 指令(操作码、地址码)——(表示操作的性质、表示操作数在存储器中的位置)
- 指令在存储器内按顺序存放。通常,指令按顺序执行,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 机器以运算器为中心,输入输出设备与存储器的传送通过运算器完成。
哈佛结构:数据和指令分别存放在两个存储器中(更快)
3.控制器的基本任务——取指令,执行指令
【详】:按照计算机程序所排的指令序列,先从存储器取出一条指令序列放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质执行这条指令,进行相应的操作。接着从存储器取出第二条指令..........以此类推
- 取指周期:取指令的一段时间
- 执行周期:执行指令的一段时间
- 指令在存储器中顺序存放原因:每取出一条指令,控制器中的指令计数器+1,为取下一条指令做准备。
- 中央处理器(无存储器); 中央处理机(CPU):运算器、控制器、+存储器
4.指令流和数据流
Q:控制器如何区分数据字和指令字呢?
A:数据流和指令流
- 1B(byte,字节)= 8 bit
- 一个字(W)至少由一个以上的字节组成
- 字-字节-位
- 字长:组成一个字的二进制位数
- 计算机使用的信息有指令、数据,即计算机字可以代表指令、数据。
- 数据字:某字代表要处理的数据
- 指令字:某字为一条指令
- 控制器完全可以区分数据字和指令字(如下)
- 指令流:取指周期中从内存读出的信息流(内存 ——> 控制器)
- 数据流:执行周期中从内存读出的信息流(内存 ——> 运算器)
- 某些指令进行过程中需要2次访问内存——取指令、取数据
(4)适配器与输入/输出设备
- 输入/ 输出设备=外围设备(机电结构、全电子式的......)
- 输入输出设备不直接与高速工作的主机相连,而是通过适配器。
- 适配器=转换器:来平衡不同部件之间速度的差异;可以保证外围设备用计算机系统特性所要求的形式发送或接受信息。
- 系统总线(skeleton):是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路;实现计算机在各个系统部件之间传送地址、数据和控制信息的操作。
2、软件系统
- 源程序:用算法语言编写的应用程序
- 编译程序:用机器语言编写的——把源程序翻译成目的程序
- 目的程序:不可独立运行,需要运行系统这样的辅助程序来帮助
- 编译器:编译程序+运行系统
- 数据库管理系统=数据库+数据库管理软件
3、硬件与软件系统的关系
- 相互依存
- 逻辑等效性
- 协同发展
三、计算机的层次结构
- 软件硬件分界线:(如图)是指令操作硬件的入口,指令的格式及其指令的设计与硬件相关联!
计算机系统的层次结构图:
计算机系统的软、硬件界限已经变得模糊了。
1.2计算机系统性能评价
计算机的性能指标主要是:CPU性能指标、存储器性能指标、I/O吞吐率
一、非时间指标
1、机器字长:指机器能一次处理的二进制数
【运算器结构示意图】
- 由加法器(累加器)、寄存器的位数决定
- 一般与内部寄存器的位数相等(字长)
- 字长越长,表示数据的范围就越大,精确度越高
- 常见的有32位和64位字长
2、总线宽度:数据总线一次能并行传送的最大信息的位数
- 一般指运算器与存储器之间的数据总线位数
- 有些计算机内部与外部数据总线宽度不一致
- 8086、80286、80386内外数据总线等宽(Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片)
- 8088、80386SX 外部总线宽度8位内部总线宽度 16位
- Pentium外总线64位,内总线32位(两条32位流 水线)
3、主存容量与存储带宽
- 主存容量:是指一台计算机主存所包含的存储单元总数
- 存储带宽:指单位时间内与主存交换的二进制信息量, 常用单位B/s(字节/秒)
- 影响存储带宽的指标:数据位宽和数据传输速率
4、吞吐量 :一台计算机在某一时间间隔内能够处理的信息量
5、响应时间
6、利用率
二、时间指标
1、主频f/时钟周期T ; 外频、倍频
如:Pentium 4 2.4G CPU主频 2400M = 133M (外频) × 18 (倍频)
- 主频f :CPU内核工作的时钟效率(CPU Clock Speed)— 主频越高,CPU的运算速度就越快 / 主频不等于处理器一秒钟执行的指令条数,因为一条指令的执行可能需要多个时钟周期 / 在有兼容性的前提下,主要看其速度,而主频越高,字节越长,CPU速度就越快
- 时钟周期T:节拍周期,是计算机中最基本、最小的时间单位;在一个时钟周期T内,CPU仅完成一个基本的动作。
- f和T的关系:f越高,T越小。
- 外频:指CPU(内存)与主板之间同步的时钟频率(系统总线的工作频率)
- 倍频:CPU主频与外频之间的倍数
- 主频 = 外频 × 倍频
2、CPI(Clock cycles Per Instruction)
- CPI:执行一条指令平均所需要的时钟周期数(周期T的个数)——单条指令CPI、一段程序中所有指令的CPI、指令系统CPI等
- CPI应用举例:
- IPC(Instruction Per Clock):每个时钟周期内并行执行的指令条数
- 真正影响CPU性能:频率+IPC
3、MIPS(Million Instructions Per Second)
- 每秒钟CPU能执行的指令总条数(单位:百万条 / 秒)
- MIPS应用举例:
4、CPU时间
- CPU时间的计算方法:
- CPU时间计算应用举例:
5、FLOPS
- FLOPS(Floating-point Operation Per Second):表示每秒执行浮点数操作的次数 ——> 衡量机器浮点操作的性能
- FLOPS = 程序中浮点操作次数 / 程序执行时间(s)
1.3 实验一 计算机性能测试
一、性能测试的目的
二、测试的基本原理
- 计算机系统中配置了大量的传感器和寄存器,系统运行相关参数保存在对应的寄存器中。
- 测试程序通过读取相应寄存器的值得到系统运行的状况。
- 通过图形 / 数据方式显示获取的状态数值
三、常见的测试工具
1.CPU测试工具
- CPUmark
- SysID
- Hot CPU Tester
2.显卡测试工具
3.硬盘测试工具
4.内存测试工具
5.其他综合测试工具
- 鲁大师
- 系统自带工具