网站首页 > 资源文章 正文
CPU 的内部由寄存器、控制器、运算器和时钟等部分组成。
CPU执行指令主要有 5 个阶段:取指令、指令译码、执行指令、访存取数、结果写回
取指令阶段
取指令(Instruction Fetch,IF):将一条指令从主存中读取到指令寄存器(Instruction Register, IR)的过程。
在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的内存单元地址送入程序计数器,程序计数器 PC 中的数值,保存了下一条要执行的指令的内存地址。
当一条指令被取出后,PC 中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1->PC;若为双字长指令,则(PC)+2->PC,依此类推。
指令译码阶段
指令译码(Instruction Decode,ID):指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。
指令由操作码和地址码组成。操作码表示要执行的操作性质,即执行什么操作;地址码是操作码执行时的操作对象的内存地址。
执行指令阶段
执行指令(Execute,EX):完成指令所规定的各种操作,具体实现指令的功能。
这些功能可能包括算术运算、逻辑运算、数据传输等。相关运算单元有:算术逻辑单元(ALU)、浮点运算单元(FPU)等
例如,要完成一个加法运算,算术逻辑单元 ALU 将被启用,输入端提供需要相加的数值,输出端将含有最后的运算结果。
访存取数阶段
访存取数阶段(Memory Access):根据指令需要,有可能要访问主存,读取操作数用于运算。
CPU会将内存地址发送到内存控制器,读取数据并存储到指定的寄存器中。
结果写回阶段
结果写回(Writeback,WB):把执行指令阶段的运行结果数据“写回”到某种存储形式:
或写到CPU内部寄存器中,以便被后续的指令快速地存取;
或被写入相对较慢、较廉价且容量较大的主存。
- 上一篇: 【小技巧】常见操作系统打开命令提示符的方法
- 下一篇: Linux中有许多常用的命令
猜你喜欢
- 2024-11-18 CMD命令合集
- 2024-11-18 Linux中有许多常用的命令
- 2024-11-18 【小技巧】常见操作系统打开命令提示符的方法
- 2024-11-18 PsExec v2.43 远程计算机上执行命令行工具和实用程序
- 2024-11-18 这19个命令对应运维小白,简直再适合不过了!
- 2024-11-18 windows系统使用最频繁最实用的14大命令你用过多少?神方便
- 2024-11-18 KUKA机器人知识点27:流程控制指令
- 2024-11-18 计算机的CMD命令
- 2024-11-18 【干货】常用的网络命令及使用示例
- 2024-11-18 如何在Windows系统中打开命令提示符的详细步骤
你 发表评论:
欢迎- 04-27JIT原理简单介绍
- 04-27LSM Oops 内存错误根因分析与解决
- 04-27Linux系统编程—共享内存之mmap
- 04-27C++深拷贝和浅拷贝应用实例
- 04-27消息队列概念及其实现细节
- 04-27基于FIMC接口的CMOS摄像头驱动分析与设计
- 04-27高性能异步io机制:io_uring
- 04-27《C与指针》读书笔记五
- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)