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

计算机的基本工作原理

参考资料:

L-1.6: Common Bus system| How basic computer works - YouTube

准备好内存单元、不同类型的寄存器,内存和寄存器、寄存器和寄存器之间都是通过总线连接(假设是直接把数据总线、控制总线、地址总线变成一条总线)。

使用多路复用器实现的总线,在上个视频是有介绍的,需要重新看一下,做笔记,这里就直接使用了总线,多路复用器的实现总线就省略了 。大概介绍一下,我理解的是通过多路复用器来选择哪个寄存器的开关进行操作。在这个图里面如果多路复用器的输入是001,表示开启地址寄存器(AR)的开关;如果多路复用器的输入是010,表示开启程序寄存器(PC)的开关,等等。

假设从内存中读取一条数据,需要存放到寄存中的,此时就可以通过多路复用器设置111(因为总共有7个寄存器,所以可以使用000~111也指定哪个寄存器开启),指定传送给哪个寄存器,我理解这个地方传送数据给寄存器或者寄存器传出数据到总线都需要通过多路复用器的设置。

首先从程序计数器(PC)获取下一条指令的地址,然后将地址传送给地址寄存器(AR),地址寄存器(AR)是和内存连接的,地址寄存器将告诉内存,从内存中对应的地址获取数据或者指令,并将数据放到总线上,此时可以通过多路复用器的设置开启数据寄存器(DR),那么数据就被送到数据寄存器上了。

此时可以将数据寄存器(DR)的内容传递到加法器(ALU),此时通过与累加寄存器里的数据进行运算以后,将结果传递给累加寄存器,此时可以通过多路复用器的设置,打开累加寄存器的开关,将累加寄存器中的数据传送到总线上,然后再次通过多路复用器的设置,打开输出寄存器的开关,将总线上的数据传递给输出寄存器。

每个寄存器都是有LD、INR、CLR这些控制语句,所以我们需要所有寄存器都连接同一个公共时钟,一旦激活时钟,所有寄存器上的内容都会被清除。(对于这个地方的公共时钟,可能是存在问题的,不过应该在后续会具体的学到)

Load A,从内存中获取地址A的数据,并将数据加载到累加寄存器中。此时在累加寄存器中是内存地址为A的数据。

Add B,从内存中获取地址B的数据,并将数据加载到数据寄存器中。此时m[B]将进入到累加器,与累加寄存器中M[A]的数据进行相加,再将结果保留到累加寄存器中。

Store T,此时激活累加寄存器,将M[A]+M[B]的值送到总线上,此时可以将数据传送到临时寄存器上以备不时之需。

http://www.lryc.cn/news/69262.html

相关文章:

  • 【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)
  • 【JAVA】Java中方法的使用,理解方法重载和递归
  • 高级网络计算模式复习
  • 【笔试强训选择题】Day15.习题(错题)解析
  • 图论专题(一)
  • 新星计划2023【网络应用领域基础】————————Day4
  • [CTF/网络安全] 攻防世界 view_source 解题详析
  • 目前流行的9大前端框架
  • 【mysql】explain执行计划之select_type列
  • 网易云音乐开发--音乐播放暂停切换上下首功能实现
  • 如何学习网络安全?
  • 软件测试适合女生吗?
  • 华为云——代码托管的使用
  • ChatGPT从⼊⻔到精通
  • node + alipay-sdk 沙箱环境简单测试电脑网站支付
  • 卷积神经网络详解
  • API架构的选择,RESTful、GraphQL还是gRPC
  • 人机融合智能的测量、计算与评价
  • 虹科新品 | 高可靠性、可适用于高磁/压的线性传感器!
  • 支付系统设计五:对账系统设计01-总览
  • 阿里三面过了,却无理由挂了,HR反问一句话:为什么不考虑阿里?
  • 办公智慧化风起云涌,华为MateBook X Pro 2023是最短距离
  • 分布式项目 09.服务器之间的通信和三个工具类
  • C# 基本语法
  • 做网络爬虫需要掌握哪些技术?
  • 工作利器:三种简单方法将PPT转换成PDF
  • 《设计模式》状态模式
  • 2023年好用的设计图制作软件推荐
  • JavaNote_1.0.2_Spring
  • 微服务多模块:Springboot+Security+Redis+Gateway+OpenFeign+Nacos+JWT (附源码)仅需一招,520彻底拿捏你