导图社区 Android-程序的执行过程
计算机系统基础内容,参考自袁春风的计算机系统基础第二版第五章内容。
编辑于2021-11-22 15:39:50程序的执行过程
基础知识
程序由多条指令组成,且这些指令是连续存储的
程序的执行就是一条一条指令被执行的过程
指令执行顺序
正常情况下是按存放顺序依次执行
转移指令可以改变指令执行顺序
程序执行流的控制(即指令如何一个一个执行下去的)
通过程序计数器PC给出执行指令的存储地址,使其执行指令,通过改变PC的值来控制执行顺序
指令周期
CPU取出并执行一条指令的时钟周期数,即CPI
一条指令执行时间
T× CPI×1,T是时钟周期,1表示一条指令
CPU主频
即每秒有多少时钟周期
国际单位是hz,常用单位是GHZ
一般1GHZ=10³MHZ
1MHZ=10^6HZ
cpu执行一条指令的过程
过程
取指令
pc+"1"
指令译码
操作数地址计算
取操作数
进行算术运算或者逻辑运算
存放结果
解释说明
pc+"1"如果是定长指令,一般是在译码前做,如果是变长指令是在译码后做
取指令一定一开始做
译码一定在指令执行前做
异常处理
上面每一步都会进行异常检测,如果发生异常就会自动切换到异常处理程序
指令执行结束后会查询中断请求,如果有就转中断处理
注意
在IA-32中PC称为EIP
ALU
部件组成
补码加/减器(必须有)
进行无符号或者有符号数的加减法运算
各种逻辑运算部件
可以没有的部件
乘法器
除法器
可以没有的原因
可以通过移位加上加减的方式实现(移位运算属于逻辑运算)
流水线方式下指令的执行
串行方式和流水线方式的解释
串行方式
即一队人全部做完这一部分后再开始做下一部分
流水线方式
每个人做完自己的事情后就可以做下一件事情,不用等其他人做完再开始做
流水线方式不一定能缩短一条指令的执行时间
流水线数据通路中指令的执行
指令集的设计与分类
规整,简单,一致等特征的指令集有利于流水线执行
长度尽量一致
格式少,且源寄存器位置相同
loa/store指令才能访问存储器
内存中对齐存放
分类
CIS C
即复杂指令集计算机
特点
指令系统复杂
指令周期长
各种指令都能访问存储器
采用微程序控制
难以进行编译优化来生成高效目标代码
RISC
即精简指令集计算机
特点
指令少
简化的指令系统
以RR方式工作(即除Load和Store指令可以访存外,其他只能访问寄存器)
采用大量通用寄存器,以减少访存次数
采用硬连线路控制器,不用或少用微程序控制
实现细节对机器级程序可见
如MIPS就是典型的RISC处理器
而X86有上述两种风格
影响流水线的因素(了解)
非流水线和流水线下指令的执行时间
非流水线指令执行时间直接加
流水线指令执行时间
流水线周期
选取一条指令里执行时间最长的那一段过程为流水线周期(一条指令可以分为很多段,即流水段,注意,每个流水段应该包括一个组合逻辑和一个寄存器(即时序逻辑))
由流水线的特点可知,除了第一条指令执行时间是完整的,后面的指令是在第一条还未结束时就开始的
把每一段过程时间都统一为流水线周期,这样就能更好的计算,同时也更好的利用流水线的特点
4级指令指一条指令分成4段
所以流水线指令执行时间为(针对指令过程数相同)
第一条指令的执行时间+流水线周期×剩下指令数
第一条指令时间为
流水线周期×一条指令的段数(即有几段)
流水线的性能指标
吞吐率
即指令数与流水线指令执行时间相除,即单位时间处理多少条指令
加速比
效率
计算机组成部分
CPU
数据通路(它是指令的执行部件)
定义
指令执行过程中,数据通过的路径,包括路径中的部件
基本结构
原件组成
组合逻辑原件(操作元件)
有加法器,译码器,多路选择器,算术逻辑部件等都是操作元件
时序逻辑原件(状态元件或存储元件,一般称存储元件)
特点
具有存储功能,在时钟控制下,输入被写到电路中,直到下一个时钟到达
输入端状态由时钟决定什么时候被写入,输出端状态随时可以被读出
定时方式(规定信号什么时候写入状态元件或什么时候从状态元件读出)
边沿触发方式
状态单元中的值只在时钟边沿改变,每个时钟改变一次
上升沿触发
即时钟在正跳变时进行读和写
下降沿触发
在时钟负跳变时进行读和写
举例
寄存器组就是典型的状态元件
原件间的连接方式
总线连接方式
分散连接方式
如何构成数据通路
由操作元件和存储元件通过总线方式或者分散方式连接而成
功能
进行数据的存储,处理,传送
总线式数据通路
单总线数据通路
一个时钟周期只能传送一个数据,因为只有一条数据传送线路
三总线数据通路
单总线数据通路一次只能传一个数据,所以面对多个数据就没有办法,所以就有暂停器这个东西,注意,操作元件是不能存储数据的
单周期数据通路
解释
即所有操作需要在一个时钟周期内完成
控制器(能对执行部件发出控制信号,是指令的控住部件)
功能
对指令译码,生成指令对应的控制信号,控制数据通路的动作
存储器
输入
输出