IF(Instruction fetch) 取指:从 Instruction-Memory 中读取指令,并在下一个时钟上升沿到来时把指令送
到 ID 级的指令缓冲器 id_ir 中。该级控制信号决定下一个指令指针的 pc 信号(即 Instruction-Memory 的指令地址 i_addr)
ID(Instruction decode)指令译码: 对 IF 级的指令进行译码,根据指令操作码获取操作数read reg_1、read reg_2 或者要 直接储存的数据内容 smdr,并在下一个时钟上升沿到来前把指令 id_ir(前 8 位,操作码+operand1)送 到 EX 级的指令缓冲器 ex_ir 中
EX(Execute)执行:该级进行算术运算(加、减)、简单传输(JUMP 操作)、逻辑运算(与、或、异或) 或移位操作(逻辑左移、逻辑右移、算术左移、算术右移)。算术逻辑单元 ALU 根据指令对两个操作数 reg_A、 reg_B 进行操作,将获得的结果 ALUo 送到下一级的 reg_C,在此过程中,控制标志信号 cf、nf、zf 并将 其传到相应的缓冲寄存器 ;或者产生存储数据的使能信号 d_we,同时将要直接储存的数据内容 smdr 传到 MEM 级的 smdr1。在下一个时钟上升沿到来前把指令 ex_ir 送到 MEM 级的指令缓冲器 mem_ir 中。总的来说就是拿到译码后的数据在ALU中进行计算,并将计算的结果放在MEM中的缓冲区中。
MEM(Memory Access):数据存储器访问: 根据指令处理 reg_C 获取需要的内容存储到缓冲器 reg_C1,并在下 一个时钟上升沿到来前把指令 mem_ir 送到 WB 级的指令缓冲器 wb_ir 中。只有在执行 LOAD、STORE 指令 时才对存储器进行读、写操作,对于此之外的其他指令,MEM 级只起到一个周期的作用。
WB(Write Back) 写回:对于需要刷新通用寄存器的操作,WB级把指令执行的结果回写到通用寄存器中

cpu执行完每条指令后,都会检测是否有中断信息。

最新文章

  1. Java 计算年份,月份,剩余天数
  2. Mysqldump参数大全
  3. [Tool] 使用CodeMaid自動程式排版 - 摘自网络
  4. oracle 定义临时表
  5. AS 2.0新功能 Instant Run
  6. java中paint repaint update 之间的关系
  7. openwrt network interface(openwrt中的网络接口)
  8. c语言指针与结构体
  9. DirectUI实现原理
  10. HA for openstack
  11. windows下使用git时生成sshkey和配置
  12. require.js入门
  13. exjs上传图片异常:com.jspsmart.upload.SmartUploadException: File can't be saved (1120).
  14. testng+maven一些坑
  15. 漫谈moosefs中cgi各项的意义
  16. 异步测试celery
  17. python之模块cmath
  18. SQL Server 字符串合并
  19. SSL/TLS协议运行机制的概述_转
  20. I.MX6 AD7606-4 device driver registe hacking

热门文章

  1. 花了半年时间,我把Pink老师的HTMLCSS视频课程,整理成了10万字的Markdown笔记!
  2. Ansible + shell 实现部署fastdfs+nginx 实现图片服务器并提供动态缩放功能;
  3. JavaScript的内存管理
  4. Spring学习六:自定义Event事件
  5. bom-scroll
  6. CAAnimation——简介
  7. 直播媒体流red5
  8. 30天自制操作系统day2汇编语言
  9. Dubbo的前世今生
  10. MySQL表单查询