主存储器的基本组成+容量扩展+与CPU的连接

1.基本组成

1.主存储器的基本组成和读写操作

主存储器被称为主存/内存。是计算机中存储程序的重要部件

主存储器内部包含了存储体、各种逻辑部件以及控制电路等。

主存是通过寻址的方式对存储体内的存储单元进行读写操作的。

主存首先要从MAR获取地址,之后译码器对地址译码、再经过驱动电路,进而通过选择线选中所需访问的单元。读出时,需要经过读出放大器才能被选中存储单元的内容送到MDR;写入时,MDR中的数据也需要经过写入电路才能被存入被选中的单元。

译码器、驱动器和读写电路都集成在DRAM存储芯片中,而MAR和MDR则集成在CPU芯片内。存储芯片可以通过总线和CPU相连

从主存读取某个字时,首先是CPU将字的地址送到MAR,然后通过地址总线送至主存

然后发出读的命令。

主存的译码器将地址总线送来的地址译码,导通对应存储单元的选择线,收到读信号后,便将该单元的内容送至数据总线上,进而交给MDR。

如果要写的话,仍然是CPU把地址送到MAR,并把要写的数据送到MDR,然后发出写命令;主存译码器依旧是译码,接到写的命令后,将数据线的信息写入到相应的存储单元。

译码器:具有翻译功能的组合逻辑电路器件,可以将以二进制码表示的输入状态,转换成对应的特定输出信号。 译码就是编码的逆过程。

2.主存中地址的分配

主存中各存储单元的空间为止,都是由存储单元的地址号表示的。

地址总线的作用就是给出要访问的存储单元的地址。

===================================================

存储字节必须是字节(8位)的整数倍,不同机器的存储字长不同。

计算机一般即可以按字来寻址,也可以按字节寻址。

eg:一台机器存储字长为32位,并且可以按字节寻址,那么它的每个存储子都包含了4哥具有独立地址的字节。

字地址是用该字高位字节的地址来表示的,所以字地址总是4的整数倍,即二进制末二位总是0.

这样,对于同一个字内的字节,可以用地址末两位来进行区分,高位则是完全相同的。 

2.容量拓展

单片存储芯片的容量有限,很难满足我们实际应用的需要,所以主存一般不会直接使用单个芯片实现,而是需要将多个存储芯片连在一起拓展成更大的存储器。这称为储存容量的拓展,主要的方法有位拓展和字拓展

1.位拓展

位拓展即对字长进行拓展,也就是增加存储的字长。

这种情况下:

  • 系统地址线位数等于芯片地址线位数
  • 系统数据线位数多余芯片数据线位数

位拓展的连接方式:各芯片的地址线、片选线和读写控制线与系统总线相应并联

各芯片的数据线单独引出,分别连接系统数据线,各芯片同时工作

2.字拓展

字拓展的连接方式:

各芯片的地址线与系统地址线低位相互连接

系统地址线的高位通过译码得到各芯片的片选信息。

芯片的数据线和读写控制线与系统总线相应并联。

各芯片分时工作,同一时间只能有一个芯片被选中。

被拓展后的地址线有11位,高位的不同表示选择不同的芯片。

3.同时拓展

3.CPU与主存的连接

  • 合理选择存储芯片。通常ROM存放系统程序,RAM组成用户区(用户操作)
  • 地址线的连接:CPU地址线的低位与存储芯片的地址线相连,以选择存储芯片中的某个单元(字选);CPU地址线的高位在托冲存储芯片时用,以选择存储芯片(片选)。
  • 数据线的连接:比较CPU的数据线数和存储芯片的数据位数。如果相等则直接相连;如果不等,则必须对存储芯片进行扩位(位扩展),使其数据位数与CPU的数据线数量相等。
  • 读/写命令线的连接:直接将CPU的读写命令线和存储芯片的读写控制端相连即可。
  • 片选线的连接:片选信号一般由系统地址线高位译码,它是主存与CPU连接的关键。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java23种设计模式(五)

1、MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。…

惠海H4120 降压IC 40V 36V 30V降压5V3A 9V3A 12V3A 动态响应优异,低纹波

H4120是一款功能优良的异步降压型DC-DC转换器。它的主要特性和优势如下: 产品特性: 内置40V耐压MOS:内置的高耐压MOS使得H4120能够处理更多种的输入电压范围,增强了其适用性和可靠性。 宽输入范围:输入电压可在5V至…

ubuntu18.04 安装HBA

HBA是一个激光点云层级式的全局优化的程序,他的论文题目是:HBA: A Globally Consistent and Efficient Large-Scale LiDAR Mapping Module,对应的github地址是:HKU-Mars-Lab GitHub 学习本博客,可以学到gtsam安装&am…

android串口助手apk下载 源码 演示 支持android 4-14及以上

android串口助手apk下载 1、自动获取串口列表 2、打开串口就开始接收 3、收发 字符或16进制 4、默认发送at\r\n 5、android串口助手apk 支持android 4-14 (Google seral port 太老) 源码找我 需要 用adb root 再setenforce 0进入SELinux 模式 才有权限…

QT day03

思维导图 QT设计 升级优化自己应用程序的登录界面。 要求: 1. qss实现 2. 需要有图层的叠加 (QFrame) 3. 设置纯净窗口后,有关闭等窗口功能。 4. 如果账号密码正确,则实现登录界面关闭,另一个应用界面…

vuejs3+elementPlus后台管理系统,左侧菜单栏制作,跳转、默认激活菜单

默认激活菜单,效果&#xff1a; 默认激活菜单&#xff0c;效果1&#xff1a; 默认激活菜单&#xff0c;效果2&#xff1a; 跳转链接效果&#xff1a; 制作&#xff1a; <script setup> import {useUserStore} from "/stores/userStore.js"; import {ref} fr…

密码学及其应用——GMP库在密码学中的应用

GMP&#xff08;GNU Multiple Precision arithmetic library&#xff0c;GNU多精度算术库&#xff09;是一个针对大整数运算的库。这个库提供了许多针对多种多精度类型的计算函数&#xff1a; - 大整数&#xff1a;Z - 大有理数&#xff1a;Q - 大浮点数&#xff1a;R 1. 密码学…

找不到com.fasterxml.jackson.core.exc.StreamWriteException的类文件

1. 前言: 使用springboot搭建的项目, 需要使用 jackson 更改json文件的内容; maven管理jar包, 导入jar包版本信息如下: <!-- 读写json文件所需依赖 --> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databin…

陈晓婚前婚后大变样

陈晓婚前婚后大变样&#xff1f;陈妍希揭秘甜蜜与现实的碰撞在娱乐圈的星光璀璨中&#xff0c;有一对夫妻总是津津乐道&#xff0c;那就是陈晓和陈妍希。他们的爱情故事&#xff0c;从荧幕到现实&#xff0c;一直备受关注。然而&#xff0c;近日陈妍希在节目中透露&#xff0c;…

yolov8训练文件夹文件目录介绍及讲解

背景说明 凡是使用过yolov8算法的朋友都知道&#xff0c;在使用yolov8算法训练模型完成后&#xff0c;会在代码目录下默认生成一个runs文件夹&#xff0c;该文件夹通常用来保存模型的训练任务以及相关的模型信息。 如果我们按照任务分类进行点击进入&#xff0c;会发现…

实现一个简易动态线程池

项目完整代码&#xff1a;https://github.com/YYYUUU42/Yu-dynamic-thread-pool 如果该项目对你有帮助&#xff0c;可以在 github 上点个 ⭐ 喔 &#x1f970;&#x1f970; 1. 线程池概念 2. ThreadPoolExecutor 介绍 2.1. ThreadPoolExecutor是如何运行&#xff0c;如何同时…

【第22章】Vue实战篇之文章分类

文章目录 前言一、文章分类列表查询1. 界面2. 脚本3. 展示 二、文章分类添加1. 界面2. 接口脚本3. 点击事件 三、文章分类编辑1. 界面2. 接口脚本3. 点击事件 四、文章分类删除1. 界面2. 接口脚本3. 点击事件 总结 前言 这里来学习文章分类相关界面和接口的调用(增删改查)。 一…

新版二开微信发卡小程序源码卡密系统/支持流量主

新版二开微信发卡小程序源码卡密系统支持流量主。裂变扩展多种领取模式二次开发的发卡小程序源码&#xff0c;其后台采用PHP编写&#xff0c;支持用户通过付费购卡或者观看视频广告领取卡密。 该小程序还支持流量主&#xff0c;因为功能需要&#xff0c;就进行了二开&#xff…

Java基础 - 练习(四)打印九九乘法表

Java基础练习 打印九九乘法表&#xff0c;先上代码&#xff1a; public static void multiplicationTable() {for (int i 1; i < 9; i) {for (int j 1; j < i; j) {// \t 跳到下一个TAB位置System.out.print(j "" i "" i * j "\t"…

C语言的网络编程

目录 引言 一、TCP/IP概述 1. TCP&#xff08;Transmission Control Protocol&#xff09; 2. UDP&#xff08;User Datagram Protocol&#xff09; 二、Socket编程基础 1. 服务器端 2. 客户端 三、URL与HTTP编程 1. 使用libcurl进行HTTP请求 表格总结 TCP/IP与Socke…

【Unity | Editor强化工具】项目备忘录工具

经常会被美术和策划同事反复询问某几个问题&#xff0c;每次都要翻Wiki链接给他们&#xff0c;非常折磨人&#xff0c;所以做了个可以在Unity内部显示备忘录的小工具&#xff0c;能够减少一些查找成本&#xff08;另外我觉得&#xff0c;让他们养成查看Unity内触手可及的信息的…

报错:ZeroDivisionError_ division by zero

问题&#xff1a;除数为0 原代码错误来源 # 归一化 , 保留6位小数 w round(w / img_w, 6) h round(h / img_h, 6) cx round(cx / img_w, 6) cy round(cy / img_h, 6) # print(cls_id, cx, cy, w, h) # 结果保存到数据labels文件夹中的txt文件 out_file.write(str(cls_id) …

Redis 主从复制+哨兵+集群

1、总结写在前面 Redis 集群 数据分片 高可用性 Redis 哨兵 主从复制 故障转移 2、主从复制 2.1、准备配置 查看docker 容器 ip docker inspect 容器id | grep IPAddressdocker inspect -f{{.Name}} {{.NetworkSettings.IPAddress}} $(docker ps -aq)修改配置文件 初始…

从零开始搭建创业公司全新技术栈解决方案

从零开始搭建创业公司全新技术栈解决方案 关于猫头虎 大家好&#xff0c;我是猫头虎&#xff0c;别名猫头虎博主&#xff0c;擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评测图文、产品使用体…

Zookeeper 一、Zookeeper简介

1.分布式系统定义及面临的问题 分布式系统是同时跨越多给物理主机&#xff0c;独立运行的多个软件所组成的系统。类比一下&#xff0c;分布式系统就是一群人一起干活。人多力量大&#xff0c;每个服务器的算力是有限的&#xff0c;但是通过分布式系统&#xff0c;由n个服务器组…