CPU数据通路的操作分析

  • 数据通路
  • 指令周期
    • 步骤
      • (1)取指令
      • (2)译码指令
      • (3)读取数据
      • (4)执行操作
      • (5)存放结果
  • 补充
    • 对于同一部件在不同阶段多次使用的处理?
    • 多级周期如何控制?

每次读到这里,都感觉信息量爆炸,这次就下功夫好好攻克一下这个难题。这里大部分都是基于个人理解,如有错误,请评论区赐教。

数据通路

  数据通路:数据处理和传输所需要的部件及部件间的互连方式
  数据通路需要哪些部件主要取决于指令系统有哪些功能。

指令周期

指令周期:从取指令开始到指令执行结束所经历的全部时间
总线周期:CPU完成一次访问MEM或I/O端口操作所需要的时间。
机器周期:指令的执行过程中分为几个基本操作,完成一个基本操作所需要的时间称为机器周期。
时钟周期:时钟周期是同步电路中时钟基础频率的倒数。与晶振有关。

时钟周期——数字逻辑电路
机器周期/总线周期——微机原理/计算机组成
指令周期——汇编语言
这里的周期都有在时间上最小单元的意味,某某 周期就是以某某为单元完整执行一次所需的时间。

步骤

(1)取指令

对内存单元进行一次读操作,将指令从内存单元读入CPU的指令寄存器IR

(2)译码指令

分析上一步取出的指令(操作码+地址码/寻址方式码),来确定指令功能、操作数类型以及寻址方式。
这里需要指令译码器(Instruction Decoder,ID),用户不可见。

(3)读取数据

根据上一步得到的地址,从该地址取出数据到MDR中

RS型指令集结构1,源操作数来自CPU中的通用寄存器或者存储器单元
RR型指令集结构,除了LOAD指令,其他指令都来自通用寄存器。

(4)执行操作

根据(2)的指令码在ALU中对数据进行操作

(5)存放结果

将ALU的结果存入指定的目的单元

RS型指令集结构1,目的操作数来自CPU中的通用寄存器或者存储器单元
RR型指令集结构,除了STORE指令,其他指令目的操作数都必须是通用寄存器。

补充

将指令集结构分为三种类型
a) 堆栈结构
b) 累加器结构
c) 通用寄存器结构:

  寄存器-寄存器结构(RR结构)所有操作数都是来自通用寄存器
优点:指令字长固定,指令结构间接,是一种简单的代码生成模型,各种指令的执行时钟周期接近
缺点:与指令中含存储器操作数的指令集结构相比,指令条数多,目标代码不够紧凑,因而程序占用的空间比较大

寄存器-存储器结构(RM结构)操作数可以来自存储器
优点:可以在ALU指令中直接对存储器操作数进行引用,而不必先用load指令进行加载。容易对指令进行编码,目标代码比较紧凑。
缺点:指令中两个操作数不对称。在一条指令中同时对寄存器操作数和存储器操作数进行编码,有可能限制指令所能够表示的存储器个数。指令的执行时钟周期因操作数的来源(寄存器或存储器)不同而差别较大。

存储器-存储器结构(MM结构)
优点:目标代码最紧凑,不需要设置寄存器来保存变量
缺点:指令字长变化很大,特别是3操作数指令。而且每条指令完成的工作也差别很大。对存储器的频繁访问会使存储器成为瓶颈。这种类型的指令集结构现在已经不用了。

对于同一部件在不同阶段多次使用的处理?

单周期数据通路:部件冗余(同一类部件针对不同阶段设置不同的寄存器(指令寄存器,数据寄存器)。
多周期数据通路:部件共享(复用)

多级周期如何控制?


  1. ↩︎ ↩︎

CPU数据通路的操作分析相关推荐

  1. 计算机组成原理cpu数据通路(Verilog HDL虚拟实验)

    数据通路的作用 数据在功能部件之间传送的路径称为数据通路,建立数据通路的任务是由"控制部件"来完成的 内部数据通路:CPU内部的数据传送通路,用于在寄存器之间或寄存器ALU之间传送 ...

  2. 【王道计算机组成原理Note】5.3 CPU数据通路(CPU内部总线+专用数据通路)

    5.3.1 数据通路-CPU内部单总线方式 这是第一节的图,将其部件换到一边: 5.3.1.1 CPU内部单总线方式 内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线; 系统总线是指 ...

  3. 单周期MIPS CPU设计

    一.实验内容 实验过程 1.设计的24条指令 R型指令详细: I型指令详细: J型指令详细: 分析每条指令的控制信号 逻辑左移指令 SLL rd, Rt,shamt 通过指令译码器,解析出Func字段 ...

  4. 什么是CPU?什么是计算机?

    计算机体系结构 计算机:主机(cpu + 主存) + 输入输出设备 cpu cpu基本组成 指令执行 cpu数据通路 一些名词的意思 指令的应用 提高CPU运行速度的设计 操作系统 用了很久的计算机了 ...

  5. 【中山大学计算机组成原理实验】单周期CPU设计与实现

    实验一 : 单周期CPU设计与实现 一. 实验目的 (1) 掌握单周期CPU数据通路图的构成.原理及其设计方法: (2) 掌握单周期CPU的实现方法,代码实现方法: (3) 认识和掌握指令与CPU的关 ...

  6. (Verilog)多周期CPU设计

    (Verilog)多周期CPU设计 写在前面:在参考别人的博客自己做了一遍单周期cpu后,觉得不是很难,于是自己尝试了做一下多周期cpu,然后被各种bug糊脸...果然,自己尝试和有大佬指路还是有很大 ...

  7. (Verilog)单周期CPU设计

    (Verilog)单周期CPU设计 首先是基础资料部分(借用学校资料): 一.实验内容 设计一个单周期CPU,该CPU至少能实现以下指令功能操作.需设计的指令与格式如下: ==> 算术运算指令 ...

  8. 单周期CPU设计(Verilog)

    2017/06/08: 当时单周期cpu写的比较仓促,没有深入的进行调试,我准备在放假的时候重构一下代码, 然后把博文改进一下,现在实在没有时间,很抱歉~ 不过多周期我有调试过的,所以有需要的可以移步 ...

  9. MIPS微程序CPU设计

    [设计任务] 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路; 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理; 能利用相关原理在Logisim平台中设计实现8条指令的 ...

最新文章

  1. 快速了解一门技术的基本步骤
  2. 数值分箱与one-hot
  3. python从多层循环嵌套中退出_python中退出多层循环的方法
  4. 阿里工程师用 8 张图告诉你如何存储、管理泛内容数据
  5. 前端vue项目开发流程
  6. 怎么让电脑运行速度变快_加快电脑运行速度的6个秘笈,系统安装,电脑维修必备技巧...
  7. android获取inflater
  8. 周鸿祎评互联网大佬的编程能力:我能排前三,谁排第一?
  9. 关于c#中的string
  10. 电路模电数电知识点总结(初步完成,后期进行小部分优化)
  11. 昂达平板装linux系统下载,昂达平板用U盘启动方式安装Ubuntu Uudgie 16.10 Linux操作系统...
  12. html添加js的代码注释,JavaScript 注释方法总结
  13. PHP获取域名及域名IP的方法
  14. 核显 linux 软件,同样的核显,看在线视频ubuntu更卡 - Linux系统与应用 - LinuxApp - 水木社区...
  15. 基于Springboot框架的登录注册页面
  16. 学好python可以实现财务自由哦—python基础教学(二)
  17. 基于JAVA服装连锁店后台管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  18. 驱动人生解决电脑总是无端卡死/黑屏需强制关机的现象
  19. 用Python写一个天天酷跑
  20. 利用Office Online 实现文档在线预览

热门文章

  1. mysql数据库中的存储引擎
  2. 开发者谈微软Windows Phone 8之变
  3. springboot基于Java Web的华家医疗器械商城设计与实现毕业设计源码261620
  4. ORB-SLAM2 编译记录
  5. ajax获得input的传值,ajax传值给controller,controller提取传过来的值?
  6. Lazarus上好用的 Indy TCP client 组件
  7. VLANIF接口与路由器三层接口对接
  8. hwclock 使用
  9. 基于Adaboost的人脸检测算法
  10. 建筑工程技术管理模式创新初探