【408精华知识】主存相关解题套路大揭秘!

在这里插入图片描述

讲完了Cache,再来讲讲主存是怎么考察的,我始终认为,一图胜千言,所以对于很多部件,我都是通过画图进行形象的记忆,那么接下来我们对主存也画个图,然后再来详细解读其考察套路~

文章目录

  • 零、主存的真面目
  • 一、按存储方式分类的存储器
    • (一)随机存取存储器(Random Access Memory,RAM)
      • 1.静态随机存取存储器(Static RAM,SRAM)
      • 2.动态随机存取存储器(Dynamic RAM,DRAM)
      • 3.SRAM与DRAM的对比
    • (二)只读存储器(Read Only Memory,ROM)
      • 1.掩模式只读存储器(Mask ROM,MROM)
      • 2.一次可编程只读存储器(Programmable ROM,PROM)
      • 3.可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)
      • 4.闪速存储器(Flash Memory)
      • 5.固态硬盘(SolidState Drives,SSD)
    • (三)顺序存取存储器(SAM)
    • (四)直接存取存储器(DAM)
    • (五)相联存储器(CAM)
  • 二、线数计算
    • (一)地址线位数
    • (二)数据线位数
    • (三)片选线位数
      • 1.线选法
      • 2.译码片选法
    • (四)读写控制线位数
  • 三、主存容量的扩展
    • (一)位扩展
    • (二)字扩展
    • (三)字位同时扩展
  • 四、多模块存储器
    • (一)单体多字存储器
    • (二)多体并行存储器
      • 1.高位交叉编址
      • 2.低位交叉编址

零、主存的真面目

在这里插入图片描述
接下来我们所有关于主存的考察形式的讨论都将围绕这张图展开~

一、按存储方式分类的存储器

我们观察这张主存图,可以发现它包含了两个部分,分别是RAM和ROM,它们是按存储方式分类的两种存储器,如果按存储方式来进行分类,可以将存储器分为以下五类:

(一)随机存取存储器(Random Access Memory,RAM)

存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关,主要用作主存或高速缓冲存储器。RAM 又分为以下两种:

1.静态随机存取存储器(Static RAM,SRAM)

SRAM的存储元是用双稳态触发器(六晶体管 MOS)来记忆信息的,静态是指即使信息被读出后,它仍保持其原状态而不需要再生(非破坏性读出),一般用于Cache

2.动态随机存取存储器(Dynamic RAM,DRAM)

利用存储元电路中栅极电容上的电荷来存储信息的,DRAM的基本存储元通常只使用一个晶体管,所以它比 SRAM 的密度要高很多。相对于 SRAM来说,DRAM具有集成度高、位价低和功耗低等优点,但DRAM的存取速度比 SRAM慢,且必须定时刷新和读后再生,一般用于主存

刷新方式分为三种:
在这里插入图片描述

3.SRAM与DRAM的对比

类型特点SRAM(不刷新)DRAM(要刷新)
存储信息触发器(比较稳定)栅极电容(容易跑电)
破坏性读出?是(读一次放一次电)
读出后需要重写?是(放完电得给它补)
运行速度快(不需要补电)慢(需要补电)
集成度
发热量
存储成本
易失性存储器?是(没电不行)是(没电不行)
需要刷新?
送行列地址一起送分开送
常用作Cache主存

(二)只读存储器(Read Only Memory,ROM)

存储器的内容只能随机读出而不能写入。信息一旦写入存储器就固定不变,即使断电,内容也不会丢失,它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。根据制造工艺的不同,ROM 可分为以下几种:

1.掩模式只读存储器(Mask ROM,MROM)

直接写入,无法修改。

2.一次可编程只读存储器(Programmable ROM,PROM)

只可写入一次,不可再修改。

3.可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)

可进行多次重写。

4.闪速存储器(Flash Memory)

可进行多次快速擦除重写,由于写的时候需要先擦除,所以写比读慢,每个存储元只需要单个MOS管,位密度比RAM高,如U盘,SD卡

5.固态硬盘(SolidState Drives,SSD)

由控制单元+Flash芯片组成,可进行多次快速擦除重写,如电脑上的机械硬盘

(三)顺序存取存储器(SAM)

属于串行访问存储器,对存储单元进行读/写操作时,需按其物理位置的先后顺序寻址,包括顺序存取存储器,如磁带

(四)直接存取存储器(DAM)

属于串行访问存储器,对存储单元进行读/写操作时,需按其物理位置的先后顺序寻址,包括直接存取存储器,如磁盘

(五)相联存储器(CAM)

可以按内容访问的存储器,主要用于虚拟存储器中存放段表、页表和快表,以及Cache中存放块地址,这是因为在这两种应用中都需要快速查找。

二、线数计算

关于主存有一类题目是计算主存相关的线总位数,我们观察上面的图,可以发现主要有四类线:地址线、数据线、片选线、读写控制线,因此计算线位数主要就是这四类线,我们一个个来看。

(一)地址线位数

地址线用于寻址,其位数与MAR位数相同,其决定了主存地址空间的最大可寻址范围,例如36位地址最大寻址范围为0~236-1,即地址从0开始编号。

(二)数据线位数

数据线用于传送数据,其位数与MDR位数相同,其决定了一次可传送的最大数据位数,比如64位数据线,采用字节编址,那么最多可以存取8个单元的内容。

(三)片选线位数

CPU要实现对存储单元的访问,首先要选择存储芯片,即进行片选;然后在选定的芯片中选择具体的存储单元,以进行数据的读/写,即进行字选。芯片内的字选通常是由CPU送出的N条低位地址线完成(N由片内存储容量2N决定)。片选信号的产生方法分为线选法和译码片选法。

1.线选法

线选法用除片内寻址外的高位地址线直接连接至各个存储芯片的片选端,当某位地址线信息为“0”时,就选中与之对应的存储芯片。这些片选地址线每次寻址时只能有一位有效,不允许同时有多位有效,这样才能保证每次只选中一个芯片(或芯片组)。假设 4片2K×8位存储芯片采用线选法构成 8K×8 位存储器,其中A10-A0用于片内寻址,则各芯片的片选信号如表:

所选中芯片A14-A11
01110
11101
21011
30111

因此如果采用线选法进行片选,片选线位数等于所要选的片总数

2.译码片选法

译码片选法用除片内寻址外的高位地址线通过地址译码器产生片选信号。如用8片8K×8位的存储芯片组成64K×8位存储器(地址线为16位,数据线为8位),需要8个片选信号;若采用线选法,除去片内寻址的13位地址线,仅余高3位,不足以产生8个片选信号。因此,采用译码片选法,即用一片74LS138作为地址译码器,高3位用于片选,则A15A14A13=000时选中第一片,A15A14A13=001时选中第二片,以此类推。

因此如果采用译码片选法进行片选,片选线位数等于 log2(所要选的片总数)

(四)读写控制线位数

控制对芯片的读写,一般为1位。

三、主存容量的扩展

由于单个存储芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有差距,因此需要在字和位两方面进行扩充才能满足实际存储器的容量要求。

(一)位扩展

位扩展是指对字长进行扩展(增加存储字长)。当CPU 的系统数据线数多于存储芯片的数据位数时,必须对存储芯片扩位,使其数据位数与CPU的数据线数相等。如图,8片8Kx1bit的RAM芯片组成8Kx8bit的存储器:
在这里插入图片描述

(二)字扩展

字扩展是指对存储字的数量进行扩展,而存储字的位数满足系统要求。系统数据线位数等于芯片数据线位数,系统地址线位数多于芯片地址线位数。如图,用4片16K×8位的RAM芯片组成64K×8位的存储器:
在这里插入图片描述

(三)字位同时扩展

字位同时扩展是前两种扩展的组合,这种方式既增加存储字的数量,又增加存储字长。如图,用8片16K×4位的RAM芯片组成64K×8位的存储器:
在这里插入图片描述

四、多模块存储器

多模块存储器是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来提高存储器的吞吐率。常用的有单体多字存储器和多体低位交叉存储器。CPU的速度比存储器快得多,若同时从存储器中取出n条指令,就可以充分利用 CPU资源,提高运行速度。多体交叉存储器就是基于这种思想提出的。

(一)单体多字存储器

在单体多字系统中,每个存储单元存储m个字,总线宽度也为m个字,一次并行读出m个字。在一个存取周期内,从同一地址取出m条指令,然后将指令逐条送至CPU执行,即每隔 1/m存取周期,CPU 向主存取一条指令,这显然提高了单体存储器的工作速度。

(二)多体并行存储器

多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读/写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。多体并行存储器分为高位交叉编址和低位交叉编址两种。

高位交叉编址和低位交叉编址的区别在于体号在地址的前面部分还是后面部分。

1.高位交叉编址

在这里插入图片描述
在高位交叉方式下,总把低位的体内地址送到由高位体号确定的模块内进行译码。访问一个连续主存块时,总是先在一个模块内访问,等到该模块访问完才转到下一个模块访问,CPU总是按顺序访问存储模块,各模块不能被并行访问,因而不能提高存储器的吞吐率。

2.低位交叉编址

在这里插入图片描述
低位交叉方式下,总是把高位的体内地址送到由低位体号所确定的模块内进行译码。程序连续存放在相邻模块中,因此称采用此编址方式的存储器为交叉存储器。交叉存储器可以采用轮流启动或同时启动两种方式。

轮流启动方式下,若每个模块一次读/写的位数正好等于数据总线位数,模块的存取周期为T,总线周期为r,为实现轮流启动方式,存储器交叉模块数应大于或等于m=T/r,按每隔1/m个存取周期轮流启动各模块,则每隔1/m个存取周期就可读出或写入一个数据,存取速度提高m倍。交叉存储器要求其模块数大于或等于m,以保证启动某模块后经过m×r的时间后再次启动该模块时,其上次的存取操作已经完成(以保证流水线不间断)。

这样,连续存取m个字所需的时间为t1=T+(m-1)r。而顺序方式连续读取m个字所需的时间为t2=mT,可见交叉存储器的带宽大大提高。

同时启动方式下,若所有模块一次并行读/写的总位数正好等于数据总线位数,则可以同时启动所有模块进行读/写。设每个模块一次读/写的位数为16位,模块数m=4,数据总线位数为64位,4个模块一共提供64位,正好构成一个存储字,因此应该同时启动4个模块进行并行读/写。

写在后面

这个专栏主要是我在学习408真题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!!!

参考资料
[1]王道408教材(2025版)
[2]王道课程资料

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

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

相关文章

python-pytorch 下批量seq2seq+Bahdanau Attention实现问答1.0.000

python-pytorch 下批量seq2seq+Bahdanau Attention实现简单问答1.0.000 前言原理看图数据准备分词、index2word、word2index、vocab_size输入模型的数据构造注意力模型decoder的编写关于损失函数和优化器在预测时完整代码参考前言 前面实现了 luong的dot 、general、concat注意…

【话题】我眼神的IT行业现状与未来趋势

目录 一、挑战 教学资源的重新分配 教师角色的转变 学生学习方式的改变 教育评价体系的挑战 二、机遇 个性化学习 跨学科学习 国际合作与交流 创新教育模式 三、如何培养下一代IT专业人才 更新教育理念 加强基础设施建设 整合课程资源 加强实践教学 培养跨学科…

【Linux】TCP协议【中】{确认应答机制/超时重传机制/连接管理机制}

文章目录 1.确认应答机制2.超时重传机制:超时不一定是真超时了3.连接管理机制 1.确认应答机制 TCP协议中的确认应答机制是确保数据可靠传输的关键部分。以下是该机制的主要步骤和特点的详细解释: 数据分段与发送: 发送方将要发送的数据分成一…

vue深度选择器(:deep​)

处于 scoped 样式中的选择器如果想要做更“深度”的选择&#xff0c;也即&#xff1a;影响到子组件&#xff0c;可以使用 :deep() 这个伪类&#xff1a; <style lang"scss" scoped> .evaluation-situation-details :deep .cl-icon-arrow-right {display: none…

【Python 对接QQ的接口(二)】简单用接口查询【等级/昵称/头像/Q龄/当天在线时长/下一个等级升级需多少天】

文章日期&#xff1a;2024.05.25 使用工具&#xff1a;Python 类型&#xff1a;QQ接口 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算法&#xff09;&…

JS根据所选ID数组在源数据中取出对象

let selectIds [1, 3] // 选中id数组let allData [{ id: 1, name: 123 },{ id: 2, name: 234 },{ id: 3, name: 345 },{ id: 4, name: 456 },] // 源数据let newList [] // 最终数据selectIds.map((i) > {allData.filter((item) > {item.id i && newList.pus…

aws sqs基础概念和队列参数解析

分布式队列的组成部分 生产者&#xff0c;向队列发送消息的组件消费者&#xff0c;接受队列消息队列&#xff0c;多个sqs服务器存储冗余存储消息 sqs自动删除超过最大留存时间的消息&#xff08;默认4天&#xff09;&#xff0c;可以通过SetQueueAttributes调整为&#xff08…

【408真题】2009-13

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…

VBA即用型代码手册:删除Excel中空白行Delete Blank Rows in Excel

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…

IDEA中好用的插件

IDEA中好用的插件 CodeGeeXMybatis Smart Code Help ProAlibaba Java Coding Guidelines​(XenoAmess TPM)​通义灵码常用操作 TranslationStatistic CodeGeeX 官网地址&#xff1a;https://codegeex.cn/ 使用手册&#xff1a;https://zhipu-ai.feishu.cn/wiki/CuvxwUDDqiErQU…

Android 自定义图片进度条

用系统的Progressbar&#xff0c;设置图片drawable作为进度条会出现图片长度不好控制&#xff0c;容易被截断&#xff0c;或者变形的问题。而我有个需求&#xff0c;使用图片背景&#xff0c;和图片进度&#xff0c;而且在进度条头部有个闪光点效果。 如下图&#xff1a; 找了…

Kafka(十三)监控与告警

目录 Kafka监控与告警1 解决方案1.2 基础知识JMX监控指标代理查看KafkaJMX远程端口 1.3 真实案例Kafka Exporter:PromethusPromethus Alert ManagerGrafana 1.3 实际操作部署监控和告警系统1.2.1 部署Kafka Exporter1.2.2 部署Prometheus1.2.3 部署AlertManger1.2.4 添加告警规…

大疆上云API本地部署与飞机上云

文章目录 前言一、安装基础环境1. EMQX 安装(版本4.4.0)2. MySql 安装(版本8.0.26)3. Redis 安装 二、部署后端&#xff08;JDK必须11及以上&#xff09;三、部署前端四、成为大疆开发者五、飞机注册上云六、绑定飞机七、无人机状态查看八、直播流查看 前言 大疆上云API官方文…

HarmonyOS鸿蒙应用开发——ArkTS的“内置组件 + 样式 + 循环和条件渲染”

一、内置组件是咩&#xff1f; 学过前端的都知道&#xff0c;一个组件就是由多个组件组成的&#xff0c;一个组件也可以是多个小组件组成的&#xff0c;组件就是一些什么导航栏、底部、按钮......啥的&#xff0c;但是组件分为【自定义组件】跟【内置组件】 【自定义组件】就…

【狂神说Java】Redis笔记以及拓展

一、Redis 入门 Redis为什么单线程还这么快&#xff1f; 误区1&#xff1a;高性能的服务器一定是多线程的&#xff1f; 误区2&#xff1a;多线程&#xff08;CPU上下文会切换&#xff01;&#xff09;一定比单线程效率高&#xff01; 核心&#xff1a;Redis是将所有的数据放在内…

用于时间序列概率预测的蒙特卡洛模拟

大家好&#xff0c;蒙特卡洛模拟是一种广泛应用于各个领域的计算技术&#xff0c;它通过从概率分布中随机抽取大量样本&#xff0c;并对结果进行统计分析&#xff0c;从而模拟复杂系统的行为。这种技术具有很强的适用性&#xff0c;在金融建模、工程设计、物理模拟、运筹优化以…

【C语言】C语言-设备管理系统(源码+数据文件)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

AI大模型:大数据+大算力+强算法

前言&#xff1a;好久不见&#xff0c;甚是想念&#xff0c;我是辣条&#xff0c;我又回来啦&#xff0c;兄弟们&#xff0c;一别两年&#xff0c;还有多少老哥们在呢&#xff1f; 目录 一年半没更文我干啥去了&#xff1f; AI大模型火了 人工智能 大模型的理解 为什么学习…

ComfyUI完全入门:图生图局部重绘

大家好&#xff0c;我是每天分享AI应用的萤火君&#xff01; 这篇文章的主题和美女有关&#xff0c;不过并不是教大家生产美女视频&#xff0c;而是讲解 ComfyUI 的图生图局部重绘&#xff0c;其中将会以美女图片为例&#xff0c;来展示局部重绘的强大威力。 先看看效果&…

2024年5月26日 十二生肖 今日运势

小运播报&#xff1a;2024年5月26日&#xff0c;星期日&#xff0c;农历四月十九 &#xff08;甲辰年己巳月庚寅日&#xff09;&#xff0c;法定节假日。 红榜生肖&#xff1a;马、猪、狗 需要注意&#xff1a;牛、蛇、猴 喜神方位&#xff1a;西北方 财神方位&#xff1a;…