首页 > 其他分享 >指令执行过程

指令执行过程

时间:2024-08-19 17:54:16浏览次数:12  
标签:周期 记做 指令 执行 过程 CPU 时钟

1.指令周期 

指令周期:

        CPU从主存中每取出并执行一条指令所需的全部时间。
        指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。

机器周期:
        一个机器周期又包含若干时钟周期。

时钟周期:

         

        也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位。 (CPU的性能指标中的主频的倒数就是CPU的时钟周期)

 

 

 每个指令周期内机器周期数可以不等,每个机器周期内的节拍数也可以不等。

 2.指令执行过程

        四个工作周期都有CPU访存操作,只是访存的目的不同。取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。 

 

取指周期

步骤做什么记做
1.当前指令地址送至存储器地址寄存器记做:(PC)>MAR
2.CU发出控制信号,经控制总线传到主存,这里是读信号记做:1>R
3.将MAR所指主存中的内容经数据总线送入MDR记做:M(MAR)>MDR
4.将MDR中的内容(此时是指令)送入IR记做:(MDR)>IR
5.CU发出控制信号,形成下一条指令地址记做:(PC)+1>PC


 

 

间址周期

 

执行周期

 

执行周期的任务是根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果不同指令的执行周期操作不同,因此没有统一的数据流向。

 

中断周期

 

中断:暂停当前任务去完成其他任多为了能够恢复当前任务,需要保存断点一般使用堆栈来保存断点,这里用SP表示栈顶地址,假设SP指向栈顶元素,进栈操作是先修改指针,后存入数据。

 

3.指令执行方案 

        一个指令周期通常要包括几个时间段(执行步骤),每个步骤完成指令的一部分功能,几个依次执行的步骤完成这条指令的全部功能。 

方案1.单指令周期对所有指令都选用相同的执行时间来完成。
指令之间串行执行;指令周期取决于执行时间最长的指令的执行时间。
对于那些本来可以在更短时间内完成的指令,要使用这个较长的周期来完成,会降低整个系统的运行速度。
方案2.多指令周期对不同类型的指令选用不同的执行步骤来完成指令之间串行执行;可选用不同个数的时钟周期来完成不同指令的执行过程。需要更复杂的硬件设计。 
方案3.流水线方案在每一个时钟周期启动一条指令,尽量让多条指令同时运行,但各自处在不同的执行步骤中。指令之间并行执行。 

 


 

标签:周期,记做,指令,执行,过程,CPU,时钟
From: https://blog.csdn.net/weixin_65866298/article/details/141330961

相关文章

  • 【Linux】解决cp指令无法覆盖的问题(小白向)
    cp指令项目覆盖问题,前端项目服务器打包不生效文章目录前言一、今天遇到的新问题二、尝试解决三、最终解决总结前言事情的起因:记录一下今天遇到的问题,本人之前的前端项目基本都是在本地打包好,再使用ftp传输的,但是新入职的公司的项目(接手的项目)正式服务器并不使用......
  • 【python实现修改所有可执行程序的图标】
    实现效果:图标在此替换前:吐槽:这原版看着也不像原版......
  • 一款专为IntelliJ IDEA用户设计的插件,极大简化Spring项目中的API调试过程,功能强大(附源
    前言在软件开发过程中,尤其是SpringMVC(Boot)项目中,API调试调用是一项常见但繁琐的任务。现有的开发工具虽然提供了一些支持,但往往存在效率不高、操作复杂等问题。为了处理这些痛点,提升开发效率,一款新的工具应运而生。介绍CoolRequest是一款专为IntelliJIDEA用户设计的插......
  • osk.exe 是“屏幕键盘”(On-Screen Keyboard)的可执行文件名,这是一种虚拟键盘应用程序,用
     osk.exe(屏幕键盘)的公开漏洞一般涉及以下几个方面:1. 安全性漏洞信息泄露:某些版本的osk.exe可能会在特定条件下泄露用户输入的信息,尤其是在使用输入法或进行敏感数据输入时。攻击者可能利用这些信息进行进一步的攻击或窃取数据。漏洞利用:有些恶意软件可能利用屏幕键盘......
  • python subprocess 执行Linux指令
    一、subprocess模块1、概述subprocess模块首先推荐使用的是它的run方法subprocess.run(),更高级的用法可以直接使用Popen接口subprocess.Popen()。2、优点安全性:与os.system相比,subprocess避免了shell注入攻击的风险。灵活性:subprocess可以与子进程的stdin、stdout和std......
  • v-show指令
    v-show表示是否显示和v-if用法一样但是v-if为false时,是不会加载div的。v-show为true是会加载div的,但是会加上display:none的属性。<divid="app"><!--用于根据条件展示元素的选项是v-show指令,用法和v-if一致.--><!--v-showv-if用法类似,实现效果类似,......
  • Linux, shell编程备份数据库详解,带你读懂命令行指令
    目录先看最终代码再解释[!-d"${BACKUP}/${DATETIME}"]解析mysqldump-u${DB_USER}-p${DB_PW}--host=${HOST}-q-R--databases${DATABASE}|gzip>${BACKUP}/${DATETIME}/$DATETIME.sql.gz解析 tar-zcvf$DATETIME.tar.gz${DATETIME}解析先看最终代码再解......
  • C语言编程-GCC编译过程
    gcc编译预处理->编译->汇编->链接预处理gcc-Ehelloworld.c-ohelloworld.i头文件展开;不检查语法错误,即可以展开任意文件;宏定义替换;将宏名替换为宏值;替换注释;将注释替换为空行;展开条件编译;根据条件来展开指令;编译gcc-Shelloworld.i-ohelloworld.s逐行检查......
  • [Python学习日记-8] 读取用户指令和格式化输出
    简介    平常我们在网上冲浪是经常会遇到需要我们输入数据,然后来进行交互的,而我们本篇要说的读取用户指令就是在命令行当中程序和用户进行交互的一种方法,表现形式就像使用shell登录linux时需要你输入用户名和密码然后回车确认的那种形式。而在输入前一定是需要说......
  • Vue2 指令
    v-text更新元素的文本内容,v-text通过设置元素的textContent属性来工作,因此它将覆盖元素中所有现有的内容。<spanv-text="msg"></span><!--等同于--><span>{{msg}}</span>v-html<divv-html="htmlContent"></div>Vue实例的数据属性htmlContent包含HTM......