Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU原理之指令周期 #269

Closed
WGrape opened this issue Oct 4, 2022 · 0 comments
Closed

CPU原理之指令周期 #269

WGrape opened this issue Oct 4, 2022 · 0 comments
Labels
底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统

Comments

@WGrape
Copy link
Owner

WGrape commented Oct 4, 2022

前言

本文原创,著作权归WGrape所有,未经授权,严禁转载

一、介绍

指令周期,又称读取-执行周期(fetch-and-execute cycle)是指CPU要执行一条机器指令经过的步骤,由若干机器周期组成。

指令周期是取出并执行一条指令的时间,也即CPU完成一条指令的时间叫做指令周期。

指令周期是指CPU要执行一条机器指令经过的步骤,由若干机器周期组成。一共是4步前两步称为取指周期,后两步为执行周期。

image

二、指令周期组成

一般一条完整的指令包括:取指周期、间址周期、执行周期、中断周期。

屏幕快照 2019-10-05 上午11 50 19

  • 取指周期:在取指周期中CPU主要完成两个操作:(1)按程序计数器PC的内容取指令(2)形成后继指令的地址。
  • 间址周期:当遇到间接寻址的指令时,由于指令字中只给出操作数有效地址的地址,因此,为了取出操作数,需先访问一次存储器,取出有效地址,然后再访问存储器,取出操作数。
  • 执行周期:间址周期是取出操作数的有效地址。执行周期是取出操作数,并执行。
  • 中断周期:当CPU采用中断方式实现主机与I/O交换信息时,CPU在每条指令执行阶段结束前, 都要发中断查询信号,以检测是否有某个I/O提出中断请求。如果有请求,CPU则要进入中断响应阶段,又称中断周期。在这阶段, CPU必须将程序断点保存到存储器中。
  • 总线周期:通常指的是CPU完成一次访问MEM或I/O端口操作所需要的时间。

三、机器周期 / CPU 时钟周期

CPU时钟周期通常为节拍脉冲或T周期,即主频的倒数,它是处理操作的最基本的单位。

指令周期常常有若干个CPU周期,CPU周期也称为机器周期。由于CPU访问一次内存所花费的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。

四、时钟周期 / 振荡周期

振荡 :在反应器中某空间位置上的浓度或(和)温度发生 周期性变化 的现象
石英材质决定在一定的条件下,可以发生相应固定频率的振荡,因此其被用作CPU时钟以产生固定的脉冲,来控制处理器的速度。

振荡器

时钟周期本质为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。时钟周期表示了SDRAM所能运行的最高频率。更小的时钟周期就意味着更高的工作频率。

五、时钟频率

时钟是施加在电路上的有一定频率的脉冲信号,用于同步电路中各个模块之间的协同工作,否则整个电路工作将会紊乱,无法保证一致性。

时钟频率(clock rate)是指同步电路中时钟的基础频率,它以“每秒时钟周期”(clock cycles per second)来度量,量度单位采用SI单位赫兹(Hz)。

@WGrape WGrape added 底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统 labels Oct 4, 2022
@WGrape WGrape closed this as completed Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
底层研究系列 对技术底层的研究 操作系统系列 计算机专业必会操作系统
Projects
None yet
Development

No branches or pull requests

1 participant