计算机组成原理(二)

在这里插入图片描述

ACC(累加器):

用于存储高位部分

MQ(乘数-商寄存器):

用于存储低位部分。在除法中保存商,在乘法中保存乘数,所以也叫乘商寄存器

左移 8 位(相当于乘以 256)2^8
左移 16 位(相当于乘以 65536)2^16

加法:
被加数在ACC中,从内存单元取出加数放到X寄存器中,然后通过ALU运算器得出和,最后将和放到ACC累加器中

减法:
被减数在ACC中,从内存单元取出减数放到X寄存器中,然后通过ALU运算器得出差,最后将差放到ACC累加器中

乘法:
被乘数在ACC中,从内存单元取出乘数放到MQ寄存器中,将ACC中的被乘数传到X寄存器中,将0赋给ACC,然后通过ALU运算器得出乘积,乘积高位放到ACC中,乘积低位放到MQ中(这些先后操作顺序由控制器控制)

除法:
被除数在ACC中,从内存单元取出除数放到X寄存器中,然后通过ALU运算器得出商和余数,商保存在MQ中,余数保存在ACC累加器中

控制器

1、解释指令(从取址、到分析、取操作数、到真正的去执行指令、一直到保存结果)
2、保证指令的有序执行

PC和IR都是寄存器
PC(程序计数器)存储的是存储单元的地址。
在这里插入图片描述
(要完成取数指令,要先完成取指令,“取数”指令(即从内存中读取数据的指令))

取指令的过程:

1、程序计数器 PC 把指令地址传给 MAR:

程序计数器(PC)保存了下一条指令的地址。这个地址被传送到 MAR(Memory Address Register),即内存地址寄存器。

2、MAR 将指令地址传给存储体:

MAR 中的地址通过地址总线传输到存储体(内存),以便指定要访问的内存单元。

3、在控制器的控制下,存储体把指定存储单元中的指令取出,送入 MDR:

控制单元发送一个“读”信号到内存,指示内存读取 MAR 中指定地址的内容。
内存控制器在接收到读信号后,从指定的地址读取指令,并将该指令加载到 MDR(Memory Data Register)中。

4、MDR 将暂存的指令送入 IR:

MDR 中的指令通过数据总线传输到 IR(Instruction Register),即指令寄存器。

IR 保存当前正在执行的指令,取指令完成:

IR 接收到指令后,暂存该指令,并准备进行指令解码和执行。

分析指令的过程:(取数指令——主要是将内存单元中的数据M取到ACC寄存器中)

5、IR 中的操作码被发送到控制单元(CU),控制单元解码操作码以确定接下来要执行的操作。
6、IR 中包含的地址码(操作数的地址)被提取并送入 MAR 中,以便访问具体的数据。
7、MAR 中(操作数的)地址通过地址总线再次传输到存储体。
8、在控制器的控制下,从存储体当中,把取数指令要取的数取出,存入MDR
9、MDR 中的数据通过数据总线传输到累加器(ACC)寄存器中。
完成取数操作

存数指令

8、将 ACC 中的内容传输到 MDR:

在控制器的控制下,将累加器(ACC)中的数据传输到内存数据寄存器(MDR)。这个步骤确保了要存储的数据被准备好,并放置在将要写入内存的寄存器中。

9、将 MDR 中的数据保存到存储器中:

控制器指导存储体将内存数据寄存器(MDR)中的数据保存到内存中的指定位置。这个步骤实际上完成了将数据从 CPU 移动到内存的过程,数据现在已经存储在内存中的指定位置。

在这里插入图片描述
PC + 1:在当前指令周期结束后,PC 加一,指向下一条指令的地址。
这种自动加一的过程确保了程序能够按照顺序执行,除非在执行过程中出现了跳转或分支指令,否则程序会顺序执行每一条指令。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI产品经理的转行之路,如何迈向年薪80w的职业高峰?

前言 在当今科技日新月异的时代,AI产品经理作为一个炙手可热的职业,吸引了众多向往高薪与前沿领域结合的求职者的目光。年薪80万的诱惑力无疑是巨大的,但不少自学中的朋友发现,即便涉猎广泛的产品知识,想要顺利转型成…

掌握Python的全方位教程,2024年最新版本,初学者必备指南

哈喽,大家好!热烈欢迎你迈出成为python开发者的第一步。我想这一定非常激动人心,对吧?无论你是刚刚开始学习编程,还是曾经用过其他语言有一定的编程经验,本书中课程将帮助你加速实现你学习python的目标。作…

2024第十六届亚洲水技术展览会Aquatech China

Aquatech China 2024第十六届亚洲水技术展览会 专注水行业覆盖全领域—荷兰阿姆斯特丹水展中国展 2024.12.11-13 上海新国际博览中心 展会背景 Aquatech品牌创立于1968年。作为水处理行业历史悠久 的展览会,荷兰国际水处理展览会(Aquatech Amsterdam)至今已有近55…

物联网8大协议介绍及对比

一.物联网主流协议介绍 1.MQTT 协议 MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输。 MQTT 协议最初是在 1999 年由 IBM 公司开发的,用于将石油管道上的传感器与卫星相连接。2014 年正式成为 OASIS 开放标准。 MQTT 使用…

车圈内卷的真相:技术创新与长期主义的存亡之战

引言 随着中国汽车市场的不断发展,行业竞争也日趋激烈。近期,在2024年6月6日举行的中国汽车重庆论坛上,多位汽车界大佬就“内卷”问题展开了激烈讨论。本文将详细分析这些讨论内容,揭示汽车行业内卷的真实情况及其背后的深层次原…

怎么选海外仓操作管理系统才能满足amazon电商需求?考虑好这些,做好FBA并不难

对于跨境电商领域来说,amazon一定是绕不过去的一个平台。不过想做好这个平台的业务并不容易,一方面是现在竞争确实越来越大,另一个是现在电商平台对海外仓业务水平的要求也越来越高。 尤其是对一些中小型的海外仓来说,如何高效、…

Autoware 定位之EKF 滤波定位(四)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时&…

新火种AI|摊上事儿了!13名OpenAI与谷歌员工联合发声:AI失控可能导致人类灭绝...

作者:小岩 编辑:彩云 2024年,OpenAI的CEO Sam Altman就没有清闲过,他似乎一直走在解决麻烦的路上。最近,他的麻烦又来了。 当地时间6月4日,13位来自OpenAI和Google Deep Mind的现任及前任员工联合发布了…

几首音乐怎么合成一首?值得推荐的四个几首音乐合成一首的方法

几首音乐怎么合成一首?合成几首音乐成一首新的作品是一项创造性而充满挑战的任务。通过将不同的音乐元素融合在一起,可以创造出独特的音乐体验,展示多样化的音乐风格和个性。将多首音乐合成一首可以创造出独特的音乐体验,融合不同…

PyTorch 维度变换-Tensor基本操作

以如下 tensor a 为例,展示常用的维度变换操作 >>> a torch.rand(4,3,28,28) >>> a.shape torch.Size([4, 3, 28, 28])view / reshape 两者功能完全相同: a.view(shape) >>> a.view(4,3,28*28) ## a.view(4,3,28,28) 可恢复squeeze…

二叉树左右树交换

leetcode 226题 翻转二叉树 题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3]…

计划任务 之 一次性的计划任务

计划任务 作用:定时自动完成特定的工作 计划任务的分类: (1)一次性的计划任务 例如下周三对系统的重要文件备份一次 (2)周期性重复计划任务 例如每天晚上12:00备份一次 一次性的任务计划&#xff1a…

linux的du命令简介

文章目录 linux的du命令简介du命令详解查看某个目录下 文件个数 linux的du命令简介 du命令是linux系统里的文件大小查看的命令。 du命令的应用场景十分广泛: 需要查看单个目录里面多个文件总大小。 需要查看目录中每个文件的大小以及每个子文件夹中文件的大小。 查…

opencv_核心操作

图像基本操作 访问和修改像素值 import numpy as np import cv2 img cv2.imread(c:/Users/HP/Downloads/basketball.png) h,w,c img.shape #图像大小 print(h,w,c)### 841 1494 3# 通过行和列坐标访问像素值 img[100,100]### 231 ### array([231, 140, 146], dtypeuint8)# …

Windows下 CLion中,配置 OpenCV、LibTorch

首先按照win下C部署深度学习模型之clion配置pytorchopencv教程记录 步骤配置。 LibTorch 部分 在测试LibTorch时会出现类似 c10.dll not found 的问题(Debug才有): 参考C部署Pytorch(Libtorch)出现问题、错误汇总和 …

高内聚与低耦合:工作中的重要性与应用

目录 前言 1.什么是高内聚与低耦合? 2.为什么高内聚和低耦合非常重要? 3.工作中的运用 总结 前言 在软件开发领域,高内聚与低耦合是设计原则中非常重要的概念。高内聚指的是模块内部的各个元素紧密地结合在一起,完成单一的功…

解决Android Studio Iguana版本不显示原创的GradleTask问题

问题描述: 下面是我的AndroidStudio版本号,升级后我发现项目里面自定义的gradletask找不到了??? 解决方案: 1、去setting里面把下面红框里面的选项勾选一下,缺点就是sync的时候会慢一些。 2、…

芯片级激光器研发取得新进展

欢迎关注GZH《光场视觉》 自 20 世纪 60 年代以来,激光给世界带来了革命性的变化,如今已成为从尖端手术和精密制造到光纤数据传输等现代应用中不可或缺的工具。 但是,随着激光应用需求的增长,挑战也随之而来。例如,光…

具有P柱中N点区域的超结MOSFET,用于软恢复

来源:Superjunction MOSFET with an N-dot region in the P-pillar for Soft Reverse Recovery(ISPSD 24年) 摘要 在本文中,提出了一种新型的具有P柱中N点区域的超结MOSFET,并进行了实验研究。利用硼和砷扩散速率的差…

STM32项目分享:智能门禁锁系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…