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

408第二季 - 组成原理 - 指令的寻址方式

在开始CPU这位神人之前,先看一看指令系统的小知识点

指令集

RISC 通用寄存器多啊,组合逻辑控制啊,指令定长啊,流水线也是必须要实现的啊

CPU

组成部件

然后他们作用

简单看看哪些寄存器是小透明,不,认真看看 

指令周期

取指周期和后面的 就是 机器周期

一个机器周期 就是若干个 时钟周期

比如下面的取指周期就有很多的时钟周期,下面都是我之前讲过的

就下面一套流程,简单看看

然后是书上的图

数据通路

搞人小器件

   左边是一堆的操作

   然后是数据通路的控制信号是这样写的

这个多路选择器就是A和B选一个输出,之前的加法器就说过了,就图下面这个

只能从宽的到窄的传输,然后EN控制能不能传输

单总线方式

可以看见这里只有一条总线,然后看见根据左边的操作看右边画的箭头

M()表示:内存读取操作。

然后画圈占两个时钟周期

多总线方式

可以看见左边有三条线,他们就可以多总线做辣

单总线方式更加详细

这整个大东西是CPU,然后上面4个是控制器,下面和ACC全是运算器

然后这个系统总线分别是CB(控制总线),DB,AB

然后就是看一下总线加CPU的组合

然后再看一看下面的小知识点

大题做一做

这里MDRinE是然后MDRin是

这里可以看一下,最后指向的是(R1),说明写回的是内存

然后这里注意下,这里MDRoutE是往内存送,MDRout是往CPU送

然后我们来具体看一下里面的部件

A是暂存器

然后我们来看一下没有暂存器会发生什么

可以看见的是如果没有暂存器,两端的内容会是一样的

然后运算之后也得把数据传到暂存器里,因为ALU没有存储数据的能力,不然就溜走了

这里就是说MAR的数据一直没有丢失

所以最后看一下过程

知道上面的之后 我会根据上面的C5  -  C10 一一解读

C5  先看R0,R0是寄存器寻址,这就很爽了,就直接从寄存器R0给暂存器A就行了

C6 再看R1,R1有点麻烦了,因为是寄存器间接寻址,这时候就要去内存了,去内存又是经典的步骤,R1的内容先去地址寄存器MAR

C7 把内存里MAR指定的地址的内容取出来,给到数据寄存器MDR

C8 MDR也是又东西了,最后和暂存器里的A的值相加,存AC里

C9 AC也是有我们最需要的值了,我们要写回(R1),也就是R1的内存,这里也是先写回MDR(看图就知道了)

C10 这里MDR少个括号,然后就是写回MAR原本的内存地址

然后还可以优化

这里 A和MDR一块填充了数据

然后就是官方的答案

这里也是可以理解,反过来存放了而已

相关文章:

  • Linux 系统中,查询 JDK 的安装目录
  • uvicorn api:app --host 0.0.0.0 --port 7777容器运行失败
  • servlet前后端交互
  • TDengine 与开源可视化编程工具 Node-RED 集成
  • 使用 OpenCV 和传统机器学习实现工业开关状态识别
  • 智能群跃小助手发布说明
  • Happy-LLM-task3 :2.1 注意力机制 2 天
  • torchmd-net开源程序是训练神经网络潜力
  • 谷歌浏览器电脑版官方下载- Google Chrome官方网页版入口
  • 日志监控与日志分析工具:ELK栈、Fluentd
  • Unity——碰撞体如何随图片形状发生变化
  • langchain 开发实战
  • Android sdk 36沉浸式兼容性问题修复
  • 一生一芯 PA2 RTFSC
  • 20250620在Ubuntu20.04.6下编译KickPi的K7的Android14系统解决缺少libril.so.toc的问题
  • websocket入门到实战(详解websocket,实战聊天室,消息推送,springboot+vue)
  • C#上位机实现报警语音播报
  • 信任再造:跌倒检测算法如何让善意不再“自证”
  • MySQL之事务深度解析
  • 免费音频视频语音识别转文字软件SenseVoice整合包下载,支持批量操作可生成字幕
  • 模板搭建网站/站长工具综合权重查询
  • 佛山格尔做网站的公司/邢台网站网页设计
  • 企业网站制作开发/精品成品网站源码
  • 网站如何建设与安全/磐石网站seo
  • 杭州北京网站建设公司哪家好/江苏seo团队
  • 东莞网站推广案例/百度搜索关键词排行榜