当前位置: 首页 > article >正文

26考研——中央处理器_数据通路的功能和基本结构(5)

408答疑


文章目录

  • 三、数据通路的功能和基本结构
    • 数据通路的功能
    • 数据通路的组成
      • 组合逻辑元件(操作元件)
      • 时序逻辑元件(状态元件)
    • 数据通路的基本结构
      • CPU 内部单总线方式
      • CPU 内部多总线方式
      • 专用数据通路方式
    • 数据通路的操作举例
      • 通用寄存器之间传送数据
      • 从主存读取数据
        • 取指令阶段所需时钟周期分析
      • 将数据写入主存
      • 执行算术或逻辑运算
      • 修改程序计数器的值
  • 八、参考资料
    • 鲍鱼科技课件
    • 26王道考研书


三、数据通路的功能和基本结构

数据通路的功能

随着技术的发展,更多的功能逻辑被集成到 CPU 芯片中,但不论 CPU 的内部结构多么复杂,它都可视为由数据通路(Data Path)和控制部件(Control Unit)两大部分组成。

  • 数据在指令执行过程中所经过的路径,包括路径上的部件,称为数据通路,ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等都是指令执行时数据流经的部件,都属于数据通路的一部分。
  • 数据通路描述了信息从哪里开始,中间经过哪些部件,最后被传送到哪里。
  • 数据通路由控制部件控制,控制部件根据每条指令功能的不同,生成对数据通路的控制信号。

数据通路的组成

组成数据通路的元件主要分为组合逻辑元件和时序逻辑元件两类。

组合逻辑元件(操作元件)

  • 在组合逻辑元件中,任何时刻产生的输出仅取决于当前的输入。
  • 组合逻辑元件不含存储信号的记忆单元,也不受时钟信号的控制,输出与输入之间无反馈通路,信号是单向传输的。
  • 数据通路中常用的组合逻辑元件有加法器、算术逻辑单元(ALU)、译码器、多路选择器、三态门等,如下图所示。
    在这里插入图片描述
    • 上图中虚线表示控制信号,译码器可用于操作码或地址码译码,n 位输入对应 2 n 2^n 2n 种不同组合,因此有 2 n 2^n 2n 个不同输出。
    • 多路选择器(MUX)需要控制信号 Select 来确定选择哪个输入被输出。
    • 三态门可视为一种控制开关,由控制信号 EN 决定信号线的通断,当 E N = 1 EN = 1 EN=1 时,三态门被打开,输出信号等于输入信号;当 E N = 0 EN = 0 EN=0 时,输出端呈高阻态(隔断态),所连寄存器与总线断开。

时序逻辑元件(状态元件)

  • 任何时刻的输出不仅与该时刻的输入有关,还与该时刻以前的输入有关,因此时序电路必然包含存储信号的记忆单元。此外,时序逻辑元件必须在时钟节拍下工作。
  • 各类寄存器和存储器,如通用寄存器组、程序计数器、状态/移位/暂存/锁存寄存器等,都属于时序逻辑元件。

数据通路的基本结构

数据通路的基本结构主要有以下几种。

CPU 内部单总线方式

  • 将 ALU 及所有寄存器都连接到一条内部总线上,称为单总线结构的数据通路。
  • 这种结构比较简单,但数据传输存在较多的冲突现象,性能较低。
  • 此总线在 CPU 内部,注意不要把它与连接 CPU、存储器和外设的系统总线相混淆。
  • 下图所示为单总线的数据通路和控制信号。
    在这里插入图片描述
    • GPRs 为通用寄存器组,rs、rd 分别为所读、写的通用寄存器的编号;
    • Y 和 Z 为暂存器;
    • FR 为标志寄存器,用于存放 ALU 产生的标态信息。
    • 带箭头的虚线表示控制信号,字母加 “in” 表示该部件允许写入,字母加 “out” 表示该部件允许输出。
    • MDRin 表示内部总线上信息写入 MDR,MDRout 表示 MDR 的内容送入内部总线。
    • 能输出到总线的部件均通过一个三态门与内部总线相连,用于控制该部件与内部总线之间数据通路的连接与断开。

注意:
单周期处理器( C P I = 1 CPI = 1 CPI=1)不能采用单总线方式,因为单总线将所有寄存器都连接到一条公共总线上,一个时钟内只允许一次操作,无法完成一条指令的所有操作。

CPU 内部多总线方式

  • CPU 内部有两条或更多的总线时,构成双总线结构或多总线结构。
  • 将所有寄存器的输入端和输出端都连接到多条公共通路上,相比之下单总线中一个时钟内只允许传送一个数据,指令执行效率很低。
  • 因此采用多总线方式,同时在多个总线上传送不同的数据,提高效率。

专用数据通路方式

根据指令执行过程中的数据和地址的流动方向安排连接电路,避免使用共享的总线,性能较高,但硬件量大。

注意:
内部总线是指同一部件(如 CPU 内部连接各寄存器及运算部件)之间的总线;系统总线是指同一台计算机系统的各部件(如 CPU、内存和各类 I/O 接口)间互相连接的总线。

数据通路的操作举例

总线是一组共享的传输信号线,它不能存储信息,任一时刻也只能有一个部件把信息送到总线上。

通用寄存器之间传送数据

  • 在寄存器和总线之间有两个控制信号:Rin 和 Rout。
    • 当 Rin 有效时,控制将总线上的信息存到寄存器 R 中;
    • 当 Rout 有效时,控制将寄存器 R 的内容送至总线。
  • 下面以程序计数器 PC 为例,将 PC 的内容送至 MAR,如下图所示。

在这里插入图片描述

  • 实现该操作的流程及控制信号为:
(PC) → MAR		# PCout 和 MARin 有效,PC 内容 → MAR

从主存读取数据

取指令阶段所需时钟周期分析
  • 从主存中读取的信息可能是数据或指令,现以 CPU 从主存中取指令为例,说明数据在单总线数据通路中的传送过程,如下图所示。

在这里插入图片描述

  • 实现该操作的流程及控制信号为:
(PC) → MAR						# PCout 和 MARin 有效,现行指令地址 → MAR
MEM(MAR) → MDR, (PC) +1 → PC	# MDRin 有效,CU 发出读命令,取出指令后 PC+1
(MDR) → IR						# MDRout 和 IRin 有效,现行指令 → IR
  • 第一步,将 PC 的内容通过内部总线送至 MAR,需要 1 个时钟周期。
  • 第二步,CU 向主存发出读命令,从 MAR 所指主存单元读取一个字,并送至 MDR;同时 PC 加 1 为取下一条指令做准备,需要 1 个主存周期。
  • 第三步,将 MDR 的内容通过内部总线送至 IR,需要 1 个时钟周期。

将数据写入主存

  • 将寄存器 R1 的内容写入寄存器 R2 所指的主存单元。
  • 完成该操作的流程及控制信号为:
(R1) → MDR			# R1out 和 MDRin 有效
(R2) → MAR			# R2out 和 MARin 有效
MDR → MEM(MAR)		# MDRout 有效,CU 发出写命令

执行算术或逻辑运算

在单总线数据通路中,每一时刻总线上只有一个数据有效。

  • 因为 ALU 是一个没有存储功能的组合逻辑元件,在其执行运算时必须保持两个输入端同时有效,所以先将一个操作数经内部总线送入暂存器 Y 保存,Y 的内容在 ALU 的左输入端始终有效,再将另一个操作数经内部总线直接送到 ALU 的右输入端。
  • 此外,ALU 的输出端也不能直接与总线相连,否则其输出会通过总线反馈到输入端,影响运算结果,因此将运算结果暂存在暂存器 Z 中(ALU 中设置暂存器的原因)。
  • 下图所示为加法指令 A D D A C C , R 1 ADD\ ACC,R1 ADD ACC,R1,实现将 ACC 的内容和 R1 的内容相加并写回 ACC。

在这里插入图片描述

  • 完成该操作的流程及控制信号为:
(R1) → Y			# R1out 和 Yin 有效,操作数 → Y
(ACC) + (Y) → Z		# ACCout 和 ALUin 有效,CU 向 ALU 发出加命令,结果 → Z
(Z) → ACC			# Zout 和 ACCin 有效,结果 → ACC

以上 3 步不能同时执行,否则会引起总线冲突,因此该操作需要 3 个时钟周期。

修改程序计数器的值

  • 转移指令通过修改程序计数器 PC 的值来达到转跳的目的。
  • 转移指令 J M P A d d r JMP\ Addr JMP Addr(Addr 为目标转移地址)实现将 IR 中的地址字段写入 PC。
  • 完成该操作的流程及控制信号为:
Ad(IR) → PC			# IRout 和 PCin 有效

数据通路结构直接影响 CPU 内各种信息的传送路径,数据通路不同,指令执行过程的微操作序列的安排也不同,它关系着微操作信号形成部件的设计。

八、参考资料

鲍鱼科技课件

b站免费王道课后题讲解:
在这里插入图片描述

网课全程班:
在这里插入图片描述

26王道考研书

相关文章:

26考研——中央处理器_数据通路的功能和基本结构(5)

408答疑 文章目录 三、数据通路的功能和基本结构数据通路的功能数据通路的组成组合逻辑元件(操作元件)时序逻辑元件(状态元件) 数据通路的基本结构CPU 内部单总线方式CPU 内部多总线方式专用数据通路方式 数据通路的操作举例通用寄…...

区块链大纲笔记

中心化出现的原因是由于网络的形成(不然就孤立了,这显然不符合现实,如,社会,计算机网路),接着由于网络中结点能力一般不对等同时为了便于管理等一系列问题,导致中心化网络的出现。&a…...

IntelliJ IDEA 集成AI编程助手全解析:从Copilot到GPT-4o Mini的实践

目录 AI编程助手的演进与核心价值GitHub Copilot深度集成指南国产新星DeepSeek配置实战GPT-4o Mini低成本接入方案三大助手对比与场景适配企业级安全与本地化部署未来发展趋势与开发者启示1. AI编程助手的演进与核心价值 1.1 技术演进图谱 #mermaid-svg-LwYPrW2Y2Pqvqgf0 {fon…...

浏览器自动化:RPA 解决方案的崛起

1. 引言 在 2025 年,浏览器自动化已成为企业和开发者不可或缺的工具。从网页数据抓取到自动化测试,这项技术不仅提高了效率,还推动了 Web 生态的发展。然而,随着浏览器指纹识别和反机器人检测的进步,传统的本地自动化…...

主流编程语言中ORM工具全解析

在不同编程语言中,ORM(Object-Relational Mapping,对象关系映射)工具的设计目标都是简化数据库操作。 以下是主流语言中最常用的 ORM 工具,按语言分类介绍其特点、适用场景和典型案例。 一、Python 生态 Python 社区…...

《数字分身进化论:React Native与Flutter如何打造沉浸式虚拟形象编辑》

React Native,依托JavaScript语言,借助其成熟的React生态系统,开发者能够快速上手,将前端开发的经验巧妙运用到移动应用开发中。它通过JavaScript桥接机制调用原生组件,实现与iOS和Android系统的深度交互,这…...

React学习———React.memo、useMemo和useCallback

React.memo React.memo是React提供的一个高阶组件,用于优化函数组件的性能,它通过记忆组件的渲染结果,避免在父组件重新渲染时,子组件不必要的重新渲染 React.memo会对组件的props进行浅比较,如果props没有变化&#…...

手机换地方ip地址会变化吗?深入解析

在移动互联网时代,我们经常带着手机穿梭于不同地点,无论是出差旅行还是日常通勤。许多用户都好奇:当手机更换使用地点时,IP地址会随之改变吗?本文将深入解析手机IP地址的变化机制,帮助您全面了解这一常见但…...

【Spring Cloud Gateway】Nacos整合遇坑记:503 Service Unavailable

一、场景重现 最近在公司进行微服务架构升级,将原有的 Spring Cloud Hoxton 版本升级到最新的 2021.x 版本,同时使用 Nacos 作为服务注册中心和配置中心。在完成基础框架搭建后,我使用 Spring Cloud Gateway 作为API 网关,通过 N…...

力扣-49.字母异位词分组

题目描述 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String…...

OpenCV光流估计:原理、实现与应用

一、什么是光流&#xff1f; 光流(Optical Flow)是计算机视觉中描述图像序列中像素运动模式的重要概念。它表示图像中物体在连续帧之间的表观运动&#xff0c;是由物体或相机的运动引起的。 光流的基本假设 亮度恒常性&#xff1a;同一物体点在连续帧中的亮度保持不变时间持…...

C语言经典笔试题目分析(持续更新)

1. 描述下面代码中两个static 各自的含义 static void func (void) {static unsigned int i; }static void func(void) 中的 static 作用对象&#xff1a;函数 func。 含义&#xff1a; 限制函数的作用域&#xff08;链接属性&#xff09;&#xff0c;使其仅在当前源文件&…...

AI工具分享篇 | recraft.ai + figma 复刻技术路线图

recraft 介绍 recraft.ai 主要生成和编辑适合网站、印刷和营销的各种风格的矢量艺术、图标、3d图像和插图。其矢量化功能可将路线图转化为一个矢量图。 recraft 的注册流程非常的简单&#xff0c;邮箱注册即可&#xff0c;无需科学上网&#xff0c;3分钟就能搞定。看不懂英文…...

部署安装jenkins.war(2.508)

实验目的&#xff1a;部署jenkins&#xff0c;并与gitlab关联bulid 所需软件&#xff1a;jdk-17_linux-x64_bin.tar.gz jenkins.war apache-tomcat-10.1.40.tar.gz 实验主机&#xff1a;8.10具有java环境,内存最少为4G&#xff0c;cpu双核 目录 jdk安装 …...

JS手写代码篇---手写 Object.create

JS手写代码篇 在做手写题的时候&#xff0c;我们要思考两个问题 这个代码的作用是什么能够实现的效果是什么样子 1. 手写 Object.create 思路&#xff1a;创造一个对象&#xff0c;类似于Object.create()方法>将obj作为原型 // 手写 Object.create function create (ob…...

前端最新面试题及答案 (2025)

前端最新面试题及答案 (2025) JavaScript 核心 1. ES6+ 新特性 问题: 请解释 ES6 中 let/const 与 var 的区别,以及箭头函数的特点。 答案: let/const vs var: 作用域: let/const 是块级作用域,var 是函数作用域 变量提升: var会提升变量,let/const不会(有暂时性死区) 重…...

视频编解码学习十二之Android疑点

一、android.view.SurfaceControl.setDisplaySurface的作用 android.view.SurfaceControl.setDisplaySurface 是 Android 系统中一个 native 层级别的 API&#xff0c;主要用于 设置某个物理显示屏&#xff08;Display&#xff09;的输出 Surface&#xff0c;属于 SurfaceFlin…...

绘制时间对应的数据曲线

头文件#pragma once #include "ChartControl.h" #include <vector> #include "DBOperate.h&...

HTTP 请求中 Content-Type 头部

HTTP 请求中 Content-Type 头部可以设置的各种不同的传输格式。multipart/form-data 只是其中一种,主要用于传输包含文件的数据。 以下是一些常见的 HTTP 请求体的 Content-Type 及其用途: 常见的数据传输格式 (Content-Type) 列表: application/json: 描述: 用于传输 JSO…...

spring boot Controller 和 RestController 的区别

spring boot Controller 和 RestController 的区别 5.3.1常用注解 Spring MVC控制器中常使用的注解有如下几种。 Controller Controller 标记在类上。使用Controller 标记的类表示是Spring MVC的Controller对象。分发处理器将会扫描使用了该注解的类&#xff0c;并检测其中的…...

LeRobot 项目部署运行逻辑(七)—— ACT 在 Mobile ALOHA 训练与部署

全部流程为&#xff1a;硬件配置 -> 环境安装 -> 遥操作数据采集 -> 数据集可视化 -> 策略训练 -> 策略评估 在之前的笔记中已经完成了绝大部分&#xff0c;最后再记录一下最后的训练部署&#xff0c;算是最简单的部分了 目录 1 ACT 训练 2 ALOHA 部署 3 更…...

高频交直流电流测量技术:射频PA与MEMS测试的简单解决方案

随着5G通信和智能传感器技术的快速发展&#xff0c;传统电流测量手段已难以满足现代电子设备的测试需求。最新一代交直流混合测量探头通过突破性的技术创新&#xff0c;正在重新定义射频功率器件和微机电系统的测试标准。 射频功率放大器测试新范式&#xff1a; 在5G基站等高…...

原生微信小程序 textarea组件placeholder无法换行的问题解决办法

【问题描述】 微信小程序原生代码&#xff0c;使用文本域&#xff0c;placeholder使用\n 没有效果&#xff0c;网上找了一堆方案说使用 也没有效果 最后在一个前端大佬博客&#xff0c;找到解决办法&#xff0c;CSS设置word-wrap: break-word; white-space: pre-line; 【解决办…...

网络协议分析 实验二 IP分片与IPv6

文章目录 索引及重要内容实验2 IP 高级实验实验2.1 IPv4协议分片实验实验2.2 IPV6协议实验2.3 ARP初级 索引及重要内容 实验2 IP 高级实验 实验2.1 IPv4协议分片实验 icmp的不可达报文 实验2.2 IPV6协议 实验2.3 ARP初级 arp –a 查看ARP缓存表内容 arp –s IP地址(格式&…...

QT6 源(101)篇一:阅读与注释 QPlainTextEdit,其继承于QAbstractScrollArea,属性学习与测试

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;属性学习与测试 &#xff1a; &#xff08;4&#xff09; &#xff08;5&#xff09; 谢谢...

【ROS2】编译Qt实现的库,然后链接该库时,报错:/usr/bin/ld: XXX undefined reference to `vtable for

【ROS】郭老二博文之:ROS目录 1、问题描述 在ROS2工程中,编译使用Qt实现的库,在其它ROS2包链接该库时,报错: /usr/bin/ld: XXX undefined reference to `vtable for2、原因分析 查看链接失败的几个函数接口都是,信号函数(signals 标记的函数)。因为信号函数都只有定…...

工业大数据的定义

目录 工业大数据的定义 工业大数据发展历程 工业大数据的特征 工业大数据的处理流程 工业大数据在处理上面临的挑战 工业大数据的有效处理方案 工业大数据处理相关案例 数益工联 x TDengine 中天钢铁 x TDengine 广州某企业工业互联网项目 x TDengine 格创东智 x TD…...

126.在 Vue 3 中使用 OpenLayers 实现绘制正方形、正三角形、正五边形

🗺️ 项目效果(先看效果) 支持点击按钮绘制图形,效果如下: ✅ 正三角形 ✅ 正方形 ✅ 正五边形 ✅ 支持停止绘制 📌 前言 在 Web GIS 的实际项目中,我们经常需要绘制一些规则的图形,比如:正方形、正三角形、正五边形等,这在标注地块、规划图形、布设区域等场景中都…...

大数据 vs. 小数据:AI项目中数据规模与质量的权衡之道

大数据 vs. 小数据&#xff1a;AI项目中数据规模与质量的权衡之道 引言&#xff1a;数据时代的辩证法则 在AI领域&#xff0c;一个根本性悖论日益凸显&#xff1a;数据规模与质量往往呈现此消彼长的关系。Google Brain团队的研究揭示&#xff0c;当数据规模增长10倍时&#x…...

互联网大厂Java求职面试实战:Spring Boot到微服务全景解析

&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通 2. 我的免费工具站&#xff1a; 欢迎访问 https://tools-6wi.pages.dev/ &#x1f601; 3. 毕业设计专栏&#xff0c;毕业…...