首页 > 其他分享 >6.4-数据通路实例,解释数据通路与CPU实例的关系

6.4-数据通路实例,解释数据通路与CPU实例的关系

时间:2023-02-26 20:47:00浏览次数:55  
标签:R0 实例 数据通路 总线 PC 6.4 指令 寄存器 数据

单总线结构的CPU

图形用户界面

中度可信度描述已自动生成

  1. 所有的功能部件都链接在总线上,并且通过总线进行数据交互
  2. 各部件间通过总线进行传输
  3. 设计简单,必须经过分时操作

读写过程

  1. PC程序寄存器,通过AR使用地址访问主存将指令读取处理放在DR寄存器中
  2. DR寄存器通过总线将数据发送给IR寄存器进行译码,和时序部件生成操作控制性信号,这些信号会链接这各个通用寄存器已经ALU等
  3. 比如读取R0和R1的数据,R0的寄存器就会收到时序控制信号,打开输出端将数据写入到地址总线,同时时序信号也打开X所存的输入端,这个时候就只有R0的数据经过总线被X接收,经过一个时钟周期所存在X中,此时ALU的B端一直是打开的所以也能收到R0的数据信息
  4. 此时控制信号打开R1的输出端,把数据输入进地址总线,此时ALUB端数据一直是打开的之前是R0数据,但是没有收到操作指令,等数据总线又来数据了把原来的R0擦掉,变成R1数据了,所以直接就能收到地址总线R1的数据,然后收到控制信号的加法指令进行加法,将A和B端数据加,输出,控制信号打开Z锁存的输入端,经过一个时钟周期保存Z数据,然后打开Z发送到总线,此时打开R0的输入端,在经过一个时钟周期把结果保存在R0的通用寄存器

多总线架构数据通路

图示

描述已自动生成

  1. 一个公共总线Bus
  2. 同时给出了一个Bus1的这样一个总线
  3. 两条总线之间有个旁路器,用于数据交互
  4. 还有个Bus2是一个三总线架构
  5. 计算和取数据经过不同总线是可以并发执行的

译码经过操作控制器将信号送到上面所有的器件上去,但是是有时序的

专用通路,单周期MIPS

要求一个MIPS指令在一个周期内完成,之前单总线需要三个时钟周期完成,如果一个部件多次使用就要分时,就会多个周期,所以为了保证一个周期完成,当需要多个部件的时候就需要设置多个部件

以R型指令为例

日程表

描述已自动生成

图示, 示意图

描述已自动生成

  1. 后六位的funct字段决定加法还是减法还是其他运算
  2. 中间15位分别代表Rs,Rt,Rd, 表示三个寄存器的编号,紫色部分是我们的位移指令所需要的偏移量
  3. 会将两个Rs,Rt计算的结果保存在Rd中
  4. PC存放当前程序执行指令地址,以PC为地址访问主存,之前要将PC送入AR,这里不存在AR寄存器,如果需要就需要多拍。
  5. 取到指令以后RD指令寄存器中,进行解析,接续出它的Rs,Rt,Rd,将对应的rs,rt分别送到寄存器堆的R1寄存器的r1寄存器编号,r2寄存器编号 都是读寄存器编号,rd送到写寄存器W,所以三个数据分别送到了寄存器堆的三个输入端,可以同时读出R1和R2的值对应rs和rt的值,将对应的值输出到ALU的AB端进行响应的运算,寄存器堆可以同时输出两路,写入一路
  6. 两个操作数准备就绪之后,给出ALU操作符,运算完成后将结果经过多路选择器直接传入到寄存器堆的写入端WD
  7. 在时钟的配合下将结果写入响应的寄存器中
  8. 控制器可以给出所有的控制信号
  9. 从图中可以看出PC+1的操作可以同时进行,运算结果传递到PC的输入端,要等到第二个时钟周期写入到PC中,这样PC的指令就自动更新了,这个时钟周期跟上一个是并发的,所以不存在第二个时钟周期
  10. 也可以通过Sign Extend同时计算运算分支地址传送到PC的输入端,是用来分支指令跳转使用的,有的指令并不是并排顺序存放的

标签:R0,实例,数据通路,总线,PC,6.4,指令,寄存器,数据
From: https://www.cnblogs.com/smilexm/p/17157568.html

相关文章

  • 6.2-数据通路
    数据通路的基本概念是CPU内部各执行部件间进行信息传递的路径,通路的建立依赖于各执行部件间的控制信号,比如运算器的运算选择信号加减乘除,寄存器的写入控制信号,主存的读写......
  • maven工程servlet实例之导入依赖的jar包 解决jar包冲突
      jar包官网:http://mvnrepository.com    解决jar包冲突<scope>范围标签      compile 编写test 测试provided 假如......
  • 使用骨架创建maven的web工程 maven工程servlet实例之指定web资源包
    新建项目 开启骨架 选择骨架        maven工程servlet实例之指定web资源包      ......
  • CDC设计实例-02
    CDC设计实例加速器假设要处理一项业务比如图像处理,有两种方向,第一种选择一些通用的处理器CPU\GPU\DSP等通用的处理器,第二种是将算法映射成IP,直接使用IP进行处理图像处理......
  • 数据探索实例
    一、数据质量分析(一)箱型图分析箱型图提供了识别异常值的一个标准:异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。箱型图识别异常值的结果比较客观,在识别异常值方......
  • AIR32F103(九) CAN总线的通信和ID过滤机制及实例
    目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)2......
  • 905~907 maven工程servlet实例之间指定web资源包,maven工程servle实例之导入项目依赖
    操作一样把勾进行勾选找到webapp选项   下一步创建就行创建好会有显示   目录结构其余的都需要自己手动补齐有小蓝点的才是一个web项目, 如果上面都正确......
  • 轻松保障万级实例,vivo服务端监控体系建设实践
    经过几年的平台建设,vivo监控平台产品矩阵日趋完善,在vivo终端庞大的用户群体下,承载业务运行的服务数量众多,监控服务体系是业务可用性保障的重要一环,监控产品全场景覆盖生......
  • HugePages配置后启动数据库实例时告警的处理
    近期,在一个LINUX环境的数据库使用HugePages时,启动数据库实例时发现有一个告警信息StartingORACLEinstance(normal)************************LargePagesInformation**......
  • K8S集群+负载均衡层+防火墙 实例
    实验拓扑图:实验要求:(1)Kubernetes区域可采用Kubeadm方式进行安装。(2)要求在Kubernetes环境中,通过yaml文件的方式,创建2个NginxPod分别放置在两个不同的节点上,Pod使用......