文章目录
一、冯·诺依曼结构思想下的计算机工作原理
1.冯·诺依曼计算机结构的基本特点
- 采用“存储程序”的方式工作。
- 基本部件与功能:
- 存储器:存数据和指令(其实都是数据)。
- 控制器:能自动取指令和执行指令。
- 运算器:进行算术运算和逻辑运算
- 输入设备与输出设备:由操作人员操作和使用计算机。
- 计算机内部由二进制形式表示,指令由操作码(操作类型)和地址码(操作数地址)组成,程序由一串指令组成。
2.计算机硬件的基本结构
- 中央处理器CPU
控制器CU:自动取指令并且译码。
算术逻辑部件ALU:进行算术逻辑运算。
各类寄存器:通用寄存器,标志寄存器,指令寄存器,主存数据寄存器,主存地址寄存器。
程序计数器PC:计算下一条指令以协助读取指令。
-
主存储器(主存、内存)
用来存放指令和数据。 -
输入与输出设备
与用户交互与操作。 -
总线BUS
不同部件间信息传输介质。
3.程序与指令的“存储程序”执行过程
- 概述:
- 程序由指令组成,指令执行完程序便结束
- 指令是一串0/1序列,分为操作码子段(指出操作类型)和地址码子段(指出操作数地址)。
- “存储程序”执行过程:
要求程序执行前,先将程序包含的数据和指令送入主存,然后计算机能自动执行。以下为执行过程:
- 根据PC取指令
- 指令译码、PC增量
- 取操作数并执行
- 回送结果
- 继续根据PC取指令
二、程序开发与运行过程
1.程序语言
- 机器级语言
- 机器语言:0/1序列
- 汇编语言:汇编指令
- 高级语言
2.翻译程序分类
对于高级语言程序,我们需要翻译成机器语言程序才能供计算机执行,这里需要能够自动转换的翻译程序。
- 汇编程序(汇编器): 汇编语言源程序 -->机器语言目标程序
- 解释程序(解释器): 将源程序翻译至机器指令并立即执行
- 编译程序(编译器): 高级语言源程序–>机器语言目标程序
对于机器语言目标程序,需要由计算机硬件的指令译码器转换为控制信号。
3.程序的转换过程
以c语言为例:
三、计算机系统的层次结构
应用 – 算法 – 高级语言 – 操作系统/虚拟机
– 以上为软件部分 –
指令集体系结构ISA(软件可见)
– 以下为硬件部分 –
微体系结构(软件不可见)-- 功能部件 – 电路 – 器件
四、计算机系统的性能
1.计算机性能的定义
- 吞吐量:单位时间内完成的工作量。(类似带宽)
- 响应时间:任务作业提交到完成的所用时间。(类似执行时间、等待时间)
2.计算机CPU性能测试
基本的性能评价标准:CPU执行时间。指用户CPU时间,计算机的性能可以看成用户CPU时间的倒数。(这里牵扯到一系列时间,教材19页,我们主要看CPU真正用于运行用户程序代码的时间)
- 时钟周期:CPU执行指令时分成若干微操作,每一步都需要相应信号控制,即需要时钟定时信号的同步,也就是CPU的主脉冲信号,其宽度为时钟周期,即一条信号的时间长度。
- 时钟频率:CPU主脉冲信号的频率,即时钟周期倒数。(单位时间完成的时钟周期数)
时钟频率 = 1 / 时钟周期
时钟周期数 = 时间 / 时钟周期 = 时钟频率 * 时间
时钟频率=时钟周期数/时间
- CPI:执行一条指令所需时钟周期数。
CPI = CPU时钟周期数 / 程序 ÷ 指令条数 / 程序
CPU 执行时间 = CPU时钟周期数 / 程序 X 时钟周期
CPU 执行时间 = 指令条数 / 程序 X CPI X 时钟周期
3.MIPS指标(定点指令执行速度)
- MIPS是指令速度的计量单位,指每秒执行多少百万条指令。每条指令执行时间不同,所以MIPS总是一个平均值(早期多数指令都是相同的)。
- 峰值MIPS:选一组平均CPI最小的指令,由此得到的MIPS。
- 除此之外还有MFLOPS、GFLOPS等等浮点指令速度。
- 不可靠!
- MIPS=指令数 / 时间 =(时钟周期数/CPI)/ 时间 =时钟频率 / CPI
4.Amdahl定律
1. 基本思想:对系统中某部分(硬件或软件)进行更新所带来的系统性能改进程度,取决于该部分被使用的频率或其执行时间占总执行时间的比例。
改进后的执行时间 = 改进部分执行时间 /改进部分的改进倍数 + 未改进部分执行时间
我们可以由此得知整体性能提高的上限。
5.摩尔定律:
由于集成电路技术的不断改进,每18-24个月,集成电路芯片上继承的晶体管数将翻一番,速度提高一倍,价格降低一半。