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

news2024/10/7 12:25:01
image-20221120001334990

5.3.1 数据通路-CPU内部单总线方式

image-20221118233209449

这是第一节的图,将其部件换到一边:

image-20221119183604012

5.3.1.1 CPU内部单总线方式

内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线;

系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类I/O接口间互相连接的总线。

如MAR和MDR作为CPU和主存之间信息交流的寄存器,对外连接地址总线和数据总线

  1. 寄存器之间数据传送,比如把PC内容送至MAR,实现传送操作的流程及控制信号为:

    (PC)→Bus PCout有效,PC内容送总线
    Bus→MAR MARin有效,总线内容送MAR

    image-20221119222644713
  2. 主存与CPU之间的数据传送
    比如CPU从主存读取指令,实现传送操作的流程及控制信号为

    • (PC)→Bus→MAR PCout和MARin有效,现行指令地址→MAR

    • 1→R CU发读命令(通过控制总线发出,图中未画出)

    • MEM(MAR)→>MDR MDRin有效(此处有歧义,MDR一般需要和主存和CPU内部总线交流,所以一般会配用两套总线,此处指的是控制MDR和主存的控制信号)

    • MDR →Bus→IR MDRout和lRin有效,现行指令→IR

      image-20221119224401132
  3. 执行算数或逻辑运算

    比如现在IR指令寄存器中存的是当前需要执行的指令,由指令的操作码交给控制系统CU便可知道为加法指令,此时需要取操作数:

    Ad(IR))→Bus)→MAR MDRout和MADin有效 或AdIRout和MARin有效(如果有提供指令寄存器对外的读口的话)
    1→R CU发读命令
    MEM(MAR)→数据线→MDR MDRin有效(此处有歧义,MDR一般需要和主存和CPU内部总线交流,所以一般会配用两套总线,此处指的是控制MDR和主存的控制信号)
    MDR→Bus→Y MDRout和Yin有效,操作数→Y
    (ACC)+(Y)→Z ACCout和ALUin有效,CU向ALU发送加命令

    Z→ACC Aout和ACCin有效,结果→ACC(图中没给出)

    image-20221119232708086

    为什么MDR有效,因为图中IR指令寄存器对外没有提供读接口,并且此时MDR存储器数据寄存器和IR指令寄存器中存储的内容都是一样的,所以由MDR来代替IR,将操作码地址交给MAR

    当然如果指令寄存器提供了对外读的功能,AdIRout,那么该指令也可以是AdIRout和MARin有效

    image-20221119230105512

5.3.1.2 例题

image-20221119235446801 image-20221119235507601 image-20221119235525021

注意题目中指令是(R0)意思为R0寄存器存储的内容是操作数的地址,并且R0寄存器存储的内容是结果返回的地址(也就是最后一步,R0初始的内容被记录在MAR中,所以有(MDR)→M(MAR))

5.3.2 数据通路-专用数据通路

专用数据通路和CPU内部总线方式,数据流动方式是一样的。只是数据不再进过总线,部件之间有自己的连接,通过线路上控制信号协调工作完成数据流通。(这里以取指周期为例,分析数据流通,其余的可以自己类比CPU内部总线的方式)

  1. 专用数据通路-取指周期

    image-20221120094620192

5.3.2.1 例题

下图是一个简化了的CPU与主存连接结构示意图(图中省略了所有的多路选择器)。其中有一个累加寄存器(ACC)、一个状态数据寄存器和其他4个寄存器:主存地址寄存器(MAR)、主存数据寄存器(MDR)、程序寄存器(PC)和指令寄存器(IR),各部件及其之间的连线表示数据通路,箭头表示信息传递方向。
要求:

  1. 请写出图中a、b、c、d 4个寄存器的名称。
  2. 简述图中取指令的数据通路。
  3. 简述数据在运算器和主存之间进行存/取访问的数据通路。
  4. 简述完成指令LDA X的数据通路(X为主存地址,LDA的功能为(X)→ACC)。
  5. 简述完成指令ADD Y的数据通路(Y为主存地址,ADD的功能为(ACC)+(Y)→ACC)。(6)简述完成指令STA Z的数据通路(Z为主存地址,STA的功能为(ACC)→z)。
image-20221120095136116

答案

image-20221120102153801

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++类型转换+特殊类的设计+单例模式+IO流+空间配置器

索引类型转换(1).C语言的类型转换(2).C四种类型转换a.static_castb.reinterpret_castc.const_castd.dynamic_castvolatile关键字(了解即可)RTTL特殊类的设计(1).设计一个类不能支持拷贝(2).设计一个类,只能在堆上创建对象(3).设计一个类,只能在栈上创建对…

[C++数据结构](33)图,图的遍历,最小生成树,最短路径算法详解

文章目录图的基本概念图的存储结构邻接矩阵邻接表实现图的遍历广度优先遍历深度优先遍历最小生成树Kruskal 算法Prim 算法最短路径Dijkstra 算法Bellman-Ford 算法Bellman-Ford 算法的队列优化Floyd 算法图的基本概念 图(Graph)是由顶点集合及顶点间的关系组成的一种数据结构&…

uni-app入门:常用事件绑定与数据同步

1.常见事件与事件绑定 1.1点击事件bindtap 1.2 文本输入事件bindinput 1.3 切换事件bindtouchend 2.数据同步 2.1事件回调 2.2逻辑层中page对象中的中数据如何进行改变 2.3页面触发事件如何传参到page中数据 …

Android 基础知识1-开发环境搭建

1.1 Android开发准备工作 配置Android开发环境之前,首先需要了解Android对操作系统的要求。它可以使用Windows XP 已经以上版本、Mac OS 、Linux等操作系统,我是以Windows系统为例学习以及开发的。 1.2 开发包以及其工具的安装和配置 Android以Java作为…

内蒙古工程学院无线网络设计与规划

摘 要 I ABSTRACT II 第1章 绪论 1 1.1选题背景及意义 1 1.1.1选题背景 1 1.1.2选题意义 1 1.1.3国内外研究现状 2 1.2需求分析 3 1.2.1建设背景 3 1.2.2总体建设目标 4 1.2.4具体实施目标 5 1.3校园无线网在教育中的发展 6 第2章 无线网络的应用 7 2.1 无线网络的概述 7 2.1.1…

【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)

【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图) 文章目录【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图&#x…

Mybatis的一级缓存

目录前置生效场景一场景二失效场景一场景二场景三场景四场景五前置 什么是一级缓存: mybatis 默认开启一级缓存, SQLSession会话缓存, 每个SQLSession都会有各自的缓存 以下会演示一级缓存生效/失效的场景 项目地址: https://gitee.com/xmaxm/test-code/blob/master/chaim-cac…

初识golang微服务框架kratos

前言 今天给大家介绍一下Kratos,Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具,使用Kratos的原因主要是感觉原来使用的go-kit工具并不是很方便,期望用上kratos后开发会更快捷一些。 Kratos名字根据官方的説法是来源于:《战…

灵界的科学丨六、星际通信新科技──寻找外星人

摘自李嗣涔教授《灵界的科学》 外星先进文明科技领先地球的关键, 是外星人掌握了意识的物理, 能够制造仿照天眼的仪器, 自由进出虚数空间遨游宇宙,同时创造出瞬间科技。 人类未来学习的典范,就在天上无数的外星先进…

数据结构--线性表之顺序表

1.线性表定义 线性表(List):零个或多个数据元素的有限序列。 线性表的数据集合为{a1,a2,…,an},假设每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素&#xff0c…

第三十三篇 transition-group 列表过渡

上一篇内容讲到的是transiotion&#xff0c;其中还记得有一个报错吗&#xff1f;如下&#xff1a; 先来回顾一下&#xff0c;<transition> 只能用于单个元素&#xff0c;如果在<transition>单中并列两个<p>标签&#xff0c;那么这样一来就会报以上这个错误&a…

六、表空间管理

六、表空间管理 1、查看表空间 使用DM Manager工具&#xff1a; 代码&#xff1a; -- 1、查看表空间名 select tablespace_name FROM SYS.DBA_TABLESPACES;-- 2、查看表空间名、表空间对应的数据文件地址、状态 select tablespace_name,file_name,status FROM dba_data_files;…

软件定义汽车产业生态创新白皮书

1 什么是软件定义汽车 1.1 驱动因素 汽车“新四化”的发展需要软件的加持 据大众汽车公开披露信息&#xff0c;未来平均每辆普通汽车软件代码量超 1 亿行。在电动化、智能化和网联化等的发展推动下&#xff0c;汽车将加速向高度数字化、信息化、智能化的移动终端发展。座舱娱…

CM311-1_YST_S905L3(B)_安卓9.0_设置无密码_默认打开adb_完美AI语音_线刷固件包

CM311-1_YST_S905L3(B)_安卓9.0_设置无密码_默认打开adb_完美AI语音_线刷固件包 固件特点&#xff1a; 1、修改dns&#xff0c;三网通用&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、无开机广告&#xff0c;无系统更新&#xff0c;不在被强制升…

LX12864P1屏幕使用介绍(ST7567驱动),显示横线、字符、图形

LX12864P1屏幕显示&#xff08;ST7567驱动&#xff09; 可编辑12864液晶模组&#xff0c;也就是液晶显示屏是有128*64个点阵组成。12864是一种图形点阵液晶显示器&#xff0c;它主要采用动态驱动原理由行驱动—控制器和列驱动器两部分组成了128(列)64(行)的全点阵液晶显示此显…

全国地级市城镇化和协调发展指数测算数据(2005-2019)六份数据

全国地级市城镇化和协调发展指数测算数据&#xff08;2005-2019&#xff09;六份数据 1、范围&#xff1a;受数据限制&#xff0c;剔除了新疆和西藏的城市共包括287个地级市 2、时间区间为&#xff1a;2005-2019年 3、六分数据包括&#xff1a; 地级市城镇化发展水平&#…

多线程入门

多线程简介 1. 进程/线程 # 进程 - 进程由指令和数据组成&#xff0c;指令要运行&#xff0c;数据要读写&#xff0c;必须将指令加载到CPU&#xff0c;数据加载到内存。指令运行过程中还需要用到磁盘&#xff0c;网络等IO设备 - 进程用来加载指令&#xff0c;管理内存&#x…

CentOS7 安装rabbitMQ步骤

全程使用root权限 1、修改主机名称 hostnamectl set-hostname rmq158 2、输入命令&#xff1a;vi /etc/hosts修改hosts文件 3、重启 4、WINSCP传输两个包到/usr/local下面 5、tar -xvf otp_src_21.3.tar.gz cd otp_src_21.3 ./configure --prefix/usr/local/erlang 6、yum i…

教学:制作 GitHub 同步近期博客卡片

这几天看到有小伙伴将自己近期更新的博客同步显示到了 GitHub 主页&#xff0c;这么有趣的小卡片我是一定要尝试一把的&#xff0c;完整的教程我已经整理好了&#xff0c;一起搞起来吧~ 2. 开始教程 2.1 实现流程&#xff1a; Github 的主页装修主要讲的就是主页的 Markdown 文…

Spring Security自定义验证码登录

本文内容来自王松老师的《深入浅出Spring Security》&#xff0c;自己在学习的时候为了加深理解顺手抄录的&#xff0c;有时候还会写一些自己的想法。 验证码登录也是项目中一个常见的需求&#xff0c;但是Spring Security并未提供自动化配置方案。所以需要开发者自行定义。这里…