计算机组成原理——第三章存储系统(上)

news2024/11/28 2:49:57

提示:吾与春风皆过客,君携秋水揽星河

文章目录

  • 前言
  • 3.1 存储系统基本概念
  • 3.2.1 主存储器的基本组成
  • 3.2.2 SRAM DRAM\
  • 3.2.3 只读存储器ROM
  • 3.3.1 主存储器与CPU的连接
  • 3.3.2 双端口RAM和多模块存储器


前言


提示:以下是本篇文章正文内容,下面案例可供参考

3.1 存储系统基本概念

存储器的层次结构
手机里面的辅存,也不是用磁盘来进行存储的,手机里面存储的软件什么的就是存储在辅存中的,但是cpu不能直接和辅存进行交互,当我们启动一个app,需要先将数据从辅存拿到主存中,这个时间是较长的,我们增加一个高速缓冲存储器是因为尽管我们的读写速度已经很快了,但是还是没有cpu 处理的速度快,所以计算机把那些有可能频繁访问的数据放在cache中,这样读取的速度也就更快
请添加图片描述
存储器的分类
存储不仅可以按照层次来进行分类
存储器也可以按照存储介质来进行分类以半导体器件存储信息,以磁性材料存储信息,以光介质存储信息,
还可以按照存取方式来进行分类,随机存取寄存器(RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关,顺序存取寄存器(SAM)读写一个存储单元所需时间取决于存储单元的物理位置,直接存取存储器(DAM)既有随机存取特性,也有顺序存取特性,先直接选取信息所在区域,然后按顺序方式存取(磁头臂要前后移动,移动到要读写的那个区域,中间的马达带动磁盘进行转),后面这两种又称为串行访问存储器,读写某个存储单元所需要时间与存储单元的物理位置有关,这三种是根据地址来读写,还有一种是相联存储器:也可以按内容访问的存储器,可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器
按照信息的可保存性进行分类:断电后,存储信息消失的存储器,易失性存储器(主存,Cache,如手机关机后再开机很缓慢,这是因为本来信息丢失,重新将操作系统调入主存也是需要时间的,),断电后,存储信息依然保持的存储器——非易失性存储器(磁盘,光盘)
存储器的性能指标
1,存储容量:存储字数*存储字长(之前有提到过MDR位数反映存储字长,MAR又反映了存储字数是多少)
2,单位成本:每位价格=从成本/总容量
3,存储速度:数据传输率=数据的宽度/存储周期(数据的宽度即存储字长,存储周期,每个存储周期我们可以都或者写一个存储字这么多的数据)
请添加图片描述
知识回顾
主存——辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache——主存:解决了主存于cpu速度不匹配的问题
请添加图片描述

3.2.1 主存储器的基本组成

本节主要讲三个部分:半导体元件的原理,存储芯片的基本原理,如何实现不同的寻址方式,这里我们先学习半导体元器件存储0和1的原理,然后我们可以构成所谓的存储芯片,又因为存储芯片中存储了很多字的信息,所以存储芯片必须提供寻址的功能,最后我们来探讨不同的寻址方式如何实现
基本的半导体元件及原理
比如这里的MOS管,若是木有施加电压,或者施加的电压不足5V,那么这个MOS管就是绝缘体,就是不导电的,只有当上面接通的时候,这个电容才能存储电荷,如下图本来电容中已经存储了电荷,当我们施加一个五伏的电压的时候,此时这些0,或者1 就是顺着这条绿色的线导出,这样的一整行就是我们提到的存储单元,也就是一个存储字,所以一个存储子多少个bit具体要看存储体的具体结构是怎么样的,而多个存储单元也就构成了一个存储体,我们一次可以读出的就是一个存储字,就像下图的,这里的存储体只包含了两个存储单元
请添加图片描述

接下来我们要研究的就是如何根据地址来读或者要写那个存储字,这就涉及到译码器的使用,我们给出n位地址,就会对应2的n次方个存储单元,会根据地址将其转化成某一条字选线的高电平 然后根据这条绿色的线也就是数据线(位线),将其传送到MDR中,然后数据总线会从MDR中取走所有的数据,总容量=存储单元个数*存储字长
控制电路的作用,只用当MAR稳定之后,控制电路才会打开译码器的开关,同样的只有输出的信号稳定之后,控制电路才会认为此时的输出的正确无误的,另外存储芯片还需要向外提供一些线路 通常是片选线(作用是读指定芯片),通常是CS上一个扛 或者CE上一个杠,当然它是低电平的时候是有效的
请添加图片描述
寻址
现代计算机通常按字节编址(每个字节)即每个字节对应一个地址,按字节寻址,按字寻址,按半字寻址,按双字寻址
本节回顾
请添加图片描述

3.2.2 SRAM DRAM\

DRAM用于主存,SRAM用于Cache,所以本节我们首先来根据存储元件的不同来介绍为什么会出现不同的差异,还有就是DRAM的刷新,DRAM的地址线复用技术
存储元的不同
上面说过DRAM这种存储元所使用的栅极电容存储0或1的方式,但是当电容放电信息被破坏,是破坏性读出,读出后应有重写操作,也称“再生”,所以这种读出更慢,因为要重生,而且这个只需要一个MOS管,每个存储元制造成本更低,因此常被用来制造主存,集成度低,功耗高,并且电容里面的电荷也会逐渐流失,因此我们只有不断的刷新,并且由于集成度低,这里对应的行列地址的位数也比较少,所以我们同时把行列地址送过去便可
这里说一下双稳态触发器,A高B低是为1,A低B高是为0,这里我们可以根据左边或者右边那一条输出了一个低电平信号,就可以判断是0或者1,而这种双稳态则是非破坏性的读出,无需重写,这种读出快一点,所以常被用来制造高速缓存,这个需要6个MOS管,每个存储元制造成本更高,集成度低,功耗大,而DRAM 则需要分两次送(地址线复用技术)
DRAM的刷新
请添加图片描述
本节回顾
请添加图片描述

3.2.3 只读存储器ROM

RAM芯片–易失性,断电后数据消失
ROM芯片–非易失性。断电后数据不会丢失
许多的固态硬盘的存储单元是闪存,因为有多个存储单元,所以也需要控制单元
请添加图片描述
本节回顾
请添加图片描述

3.3.1 主存储器与CPU的连接

这小节我们主要讲单块存储芯片与CPU的连接,多块存储芯片与CPU的连接,分别是位扩展法,字扩展法,以及字位扩展法,本节的最后写了关于译码知识的补充
位扩展
将主存的存储字长扩展到了8bit
请添加图片描述
字扩展
CS若是同时工作,则两个存储单元的8bit的信息都会顺着数据总线传向CPU ,同时传就回导致一个数据总线的一个冲突,这里的一个方案是假如CPU有n条多余的地址线,也就只能有n个片选信号请添加图片描述

强调
位扩展可以使得存储器的字长变得更长,从而发挥数据总线的数据传输能力,字扩展可以增加存储器的存储字数,可以更好的利用CPU的寻址能力请添加图片描述

字位同时扩展
比如1号可以连接地址线的低四位,2号可以连接地址线的高四位,上面使用的是2-4 译码器
这也就导致使用的主存空间是连续的
请添加图片描述
本节回顾
请添加图片描述

3.3.2 双端口RAM和多模块存储器

之前说过DRAM是电容存取,并且会自动放电,所以每次存取都是需要恢复时间,并且现在手机都是多核的 当多个cpu访问的时候,怎么处理
请添加图片描述
双端口RAM
两个cpu就可以通过它的两个端口来访问RAM,这样就需要主板有两组完全独立的数据线,地址线,控制线,CPU,RAM 中也要有更复杂的控制电路
请添加图片描述
多体并行存储器
可以将其理解位四根内存条 体号表示的是选择的是M0 M1 还是什么,宏观上读写一个字的时间接近R,至于为什么讨论的是连续的空间,是因为许多的应用都是连续的存放于主存当中,且模块数=T/R的时候流水线的效率达到顶峰,同时存储体的数量最少,也就是成本最低,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路,地址寄存器和数据寄存器,它们既能并行的工作,又能交叉工作,可以有选择的读取某个模块的某个字
请添加图片描述
单体多字存储器
当m=T/r的时候,两者的效率几乎差不多

请添加图片描述
本节回顾
请添加图片描述
实际用处
给自己的电脑插了两个内存条之后,给这两个内存条采用的是低位交叉编址的方案,这样几乎可以使得内存的吞吐量几乎翻倍,如果你买的是两个主频不一样的内存条 ,主频高的将进行降频处理,将会有所浪费,选择的如果不是相同容量的,低地址部分组成双通道的形式,高地址依然是单通道的形式,这样电脑的性能就不稳定

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

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

相关文章

带你理解运算放大器

复习一下电子设计基本元器件,运算放大器 ...... 矜辰所致目录前言一、运放基本说明1.1 基本认识1.2 运放中的电流1.3 运放工作特性二、负反馈2.1 什么是负反馈?2.2 为什么要引入负反馈?负反馈电路分析2.3 正反馈三、提一下虚短与虚断结语前…

MAX14808 八通道3级电平 数字脉冲发生器

MAX14808八通道3级电平 高压(HV) 脉冲发生器,利用低压控制逻辑输入产生高频、高压双极性脉冲(高达105V) ,用于驱动超声系统的压电传感器,MAX14808有八个集成的发送/接收(T/R)开关。 应用 超声医疗成像工业探伤检测压电驱动器测试设备 芯片…

RocketMQ 是是如何管理消费进度的?又是如何保证消息成功消费的?

RocketMQ 消费者保障 作者: 博学谷狂野架构师GitHub:GitHub 地址 (有我精心准备的 130 本电子书 PDF)只分享干货、不吹水,让我们一起加油!😄 消息确认机制 consumer 的每个实例是靠队列分配来决定如何消费消…

五、MyBatis各种查询功能

MyBatis的各种查询功能 如果查询出的数据只有一条,可以通过 实体类对象接收List集合接收Map集合接收 如果查询出的数据有多条,一定不能用实体对象接收,会抛TooManyResultsException,可以通过 实体类类型的List集合接收Map类型的L…

Python爬虫自动化从入门到精通第10天(Scrapy框架的基本使用)

Scrapy框架的基本使用Scrapy框架简介Scrapy框架的运作流程安装Scrapy框架Scrapy框架的基本操作Scrapy常用命令Scrapy框架简介 Scrapy框架主要包含以下组件: Scrapy Engine(引擎):负责Spiders、Item Pipeline、Downloader、Scheduler之间的通信&#xf…

手把手教你安装Visual Studio 2019(史上最全)

前言: 本文是以Visual Studio Community 2019为例子,介绍如何在微软官网下载Visual Studio Community 2019并安装.net桌面开发程序环境(主要是winform开发环境)。 下载请点击这里Visual Studio Community 2019下载,然后点击下图的箭头的DownLoad下载,要注意的是下载时要…

微信自定义菜单

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

全链路压测时动态路由数据源MySQL、MongoDB、Redis

目录 一、全链路压测 二、动态路由Mysql 1. 参数配置application-localDynamic.yml 2. 加载配置参数DynamicDataSourceProperties.java 3. 动态数据源DynamicDataSource.java 4. 动态数据源供应DynamicDataSourceProvider.java 5. 动态数据源bean 6. 动态数据源上下文D…

PWN-ret2shellcode原理

我们之前做过很简单的pwn题目 buuctf-rip这种 是在程序中存在shellcode 直接返回地址改为这个shellcode的地址即可 但是如果程序里面没有呢 这种类型就是ret2shellcode 常见的shellcode shellcode "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5…

一起读源码 —— Fastjson 的核心方法及其实现原理

源码介绍 Fastjson 是阿里巴巴开源的一个 Java 工具库,它常常被用来完成 Java 的对象与 JSON 格式的字符串的相互转化。 此文读的源码是撰写此文时 Fastjson 的最新的发布版本,即 1.2.83 下载源码 请前去 github 找到 release 最新版下载后解压&…

智慧水务之排水系统物联网监测

1.1排水系统 1.1.1监测范围选择依据 (1)管网老化、设计标准低、合流制管网区域 管网建设年代久远,通常管网发生破损问题较大;管网设计标准较低,易引发淤堵或溢流;合流制管网受天气影响大,会对…

FFMPEG: [ API ] >打开/关闭一个输入文件

它们是成对出现的. ffmpeg 把输入文件--转换成--->AVFormatContext实例 ◆ avformat_open_input() int avformat_open_input(AVFormatContext ** ps,const char * url,ff_const59 AVInputFormat * fmt,AVDictionary ** options )Open an input stream and read the header.…

跨越语言的艺术:Weblogic序列化漏洞与IIOP协议

0x01 概述 Weblogic 的序列化漏洞主要依赖于 T3 和 IIOP 协议,这两种协议在通信交互的过程中存在如跨语言、网络传输等方面的诸多问题,会给漏洞的检测和利用带来许多不便。在白帽汇安全研究院的理念中,漏洞检测和利用是一项需要创造性的工作…

速锐得新能源电动汽车整车能耗热管理CAN总线模块开发方案

一、新能源时代背景 新能源汽车浪潮席卷而来,随着汽车向电动化和智能化方向发展,对汽车能量管理的要求也越来越高。而直冷直热热泵空调热管理系统是新能源汽车领域的新蓝海,随着热管理系统的崛起,在整车能耗热管理采集模块开发方…

计算机组成原理——第四章指令系统(下)

本是青灯不归客,却因浊酒恋红尘 文章目录前言4.3.1 高级语言与机器级代码之间的对应4.3.2 常用的X86汇编指令4.3.3 ATu0026T格式和Intel格式4.3.4 选择语句的机器级表示4.3.5 循环语句的机器级表示4.4 CiSC和RiSC前言 接下来这部分主要讲的就是高级语言与汇编语言的…

Thymeleaf select回显并选中多个

语法: selected"selected" 或 selectedtrue ${#strings.indexOf(name,frag)} 或者 ${#lists.contains(list, element)} 或者 ${#strings.contains(name,ez)} 或者 ${#strings.containsIgnoreCase(name,ez)} 都可以实现。 多选示例 : &…

linux 集群时间同步

前言 由于搭建hadoop集群需要进行集群时间同步,记录下具体操作过程。 这里我的集群环境为192.168.184.129(主)、192.168.184.130(从)、192.168.184.131(从),设置从机器从主机器同步…

Windows XP设置Outlook电子邮箱

一、问题描述 在Windows XP操作系统中进行Outlook电子邮箱的设置。 二、具体步骤 1、点击“开始”,找到“电子邮件(Outlook Express)并点击: 2、点击“设置邮件账户”。 3、输入自己的姓名,点击“下一步”。 4、…

Hive UDTF、窗口函数、自定义函数

目录 1 UDTF 1.1 概述 1.2 explode 1.3 posexplode 1.4 inline 1.5 Lateral View 2 窗口函数(开窗函数) 2.1 定义 2.2 语法 2.2.1 语法--函数 2.2.2 语法--窗口 2.2.3 常用窗口函数 3 自定义函数 3.1 基本知识 3.2 实现自定义函数 3.2.1 …

RestClient操作文档

RestClient操作文档5.RestClient操作文档5.1.新增文档5.1.1.索引库实体类5.1.2.语法说明5.1.3.完整代码5.2.查询文档5.2.1.语法说明5.2.2.完整代码5.3.删除文档5.4.修改文档5.4.1.语法说明5.4.2.完整代码5.5.批量导入文档5.5.1.语法说明5.5.2.完整代码5.6.小结5.RestClient操作…