【计算机组成原理】主存储器

news2024/7/7 16:41:34

目录

一、存储体系基本概念

二、主存储器的基本组成

三、SRAM和DRAM

四、只读存储器ROM

五、主存储器与CPU的连接

六、双端口RAM和多模块存储器


一、存储体系基本概念

一个二进制位(bit)是构成存储器的最小单位;字节(8bit)是数据存储的基本单位。

单元地址是内存单元的唯一标识。

存储器的层次结构

主存——辅存:实现了虚拟存储系统,解决了主存容量不够的问题

主存——cache:解决了主存与CPU速度不匹配的问题

存储器的分类

按存储介质分类

半导体器件:半导体存储器(RAM、ROM,用作主存)

磁性材料:磁表面存储器(磁盘、磁带,用作辅存)

光介质:光盘存储器(用作辅存)

按存取方式分类

随机存取存储器 RAM:Random Access Memory,主存

顺序存取存储器 SAM:Sequential Addressed Storage,磁带

直接存取存储器 DAS:Direct Access Storage,磁盘、机械硬盘

相联存储器 CAM:Content Addressed Memory,按照内容检索存储位置进行读写

只读存储器 ROM:Read-Only Memory,事实上很多ROM也可以写入数据,只是比较麻烦

按信息的可保存性分类

易失性存储器:断电后,存储信息消失,如主存、Cache

非易失性存储器:断电后,存储信息保持,如光盘、磁盘

破坏性读出:信息读出后,原存储信息被破坏,如DRAM芯片,读出数据后要进行重写

非破坏性读出:信息读出后,原存储信息不被破坏,如SRAM芯片

主存的地位:在现代计算机中,主存储器处于全机的中心地位。

主存的类型:要求为随机存取(RAM、ROM)

二、主存储器的基本组成

 

主存储器的性能指标

  • 存取时间:从启动一次存储器操作到完成该操作所需的全部时间,单位 ns
  • 存储周期:存储器进行连续两次独立的存储器操作所需的最小时间,通常为 2ms
  • 存储器带宽:单位时间里存储器所能存取的最大信息量,单位 bit/s 或 B/s

存储器的性能指标不仅与存储器的存取速度有关,还与价格和耗电量有关。

三、SRAM和DRAM

SRAM:Static Random Access Memory

DRAM:Dynamic Random Access Memory

DRAM用于主存,SRAM用于Cache

DRAM芯片:使用栅极电容存储信息

SRAM芯片:使用双稳态触发器存储信息

栅极电容与双稳态触发器

栅极电容:通过电容放电读出信息,是破坏性读出,读出后应有重写操作,也称“再生”

双稳态触发器:读出数据,触发器状态保持稳定,是非破坏性读出,无需重写

一个栅极电容读写1bit位需要1个MOS管,一个双稳态触发器读写1bit位需要6个MOS管,故栅极电容成本更低、功耗更低,即SRAM芯片成本更高

DRAM和SRAM都是易失性存储器,即断电后信息消失。

DRAM芯片需要刷新,SRAM芯片不需要刷新。

DRAM芯片采用栅极电容存储电荷,但是电荷会流失,电容内的电荷只能维持2ms,即便不断电,2ms后电荷信息也会消失,故栅极电容2ms内必须给电容充一次电,即“刷新”。

SRAM芯片采用双稳态触发器保存信息,只要不断电,触发器的状态就不会改变,故不需要“刷新”。

DRAM存储器的组成

DRAM存储器的地址以矩阵方式排列,分为行地址和列地址,目的是减少选通线的数量。

先传行地址,再传列地址。

DRAM的刷新

刷新周期:一般为2ms

刷新单位:以行为单位,每次刷新一行存储单元

刷新方式:读出一行信息后重新写入,占用1个读/写周期

刷新策略

①分散式刷新:每次读写玩都刷新一次

②集中式刷新:2ms内集中安排时间全部刷新,有一段时间专门用于刷新,无法访问存储器,称为访存“死区”

③异步式刷新:2ms内每行刷新一次即可,在CPU不访问存储器阶段刷新,如译码阶段

DRAM的地址线复用技术

DRAM与SRAM对比

四、只读存储器ROM

RAM芯片:易失性,断电后数据消失

ROM芯片:非易失性,断电后数据不消失

ROM芯片类型

MROM——掩模式只读存储器:在芯片生产过程中直接写入数据,任何人不可重写(只能读出),可靠性高,灵活性差

PROM——可编程只读存储器:用户可用专门的PROM写入器写入数据,写一次后不可修改

EPROM——可擦除可编程只读存储器:用户写入信息后,可用某种方法擦除数据,可进行多次重写

UVEPROM——ultraviolet rays,紫外线照射,擦除全部信息

EEPROM——electrically,电擦除,擦除特定的字

Falsh Memory——闪存,如U盘、SD卡,可进行多次快速擦除重写,写入需要先擦除再写入,故写数据速度慢于读数据

SSD——固态硬盘:可进行多次快速擦除重写

五、主存储器与CPU的连接

传统计算机的MAR和MDR集成在主存储器上,现代计算机大多是将MAR和MDR集成在CPU上

增加主存的存储字长——位扩展

增加主存的存储字长——字扩展

主存容量扩展——字位同时扩展

DRAM芯片地址空间范围

六、双端口RAM和多模块存储器

多体并行存储器

采用“流水线”的方式并行存取(宏观上并行,微观上串行)。

宏观上,一个存储周期内,m体交叉存储器可以提供的数据量是单个模块的m倍。

存取周期T,存取时间为r,为了使流水线不间断,应保证模块数 m≥T/r

存取周期 = 存取时间 + 恢复时间

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

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

相关文章

总结uwsgi的安装、配置与设置开机自启

一、uwsgi的安装与测试 1、uwsgi安装 pip install uwsgi# 查看uwsgi版本号 uwsgi –version 如果服务器安装anconda,有可能安装不上去,建议使用以下命令: conda install -c conda-forge uwsgi 2、测试uwsgi 创建test.py文件,并写下以下…

C++基础(2)——函数高级和函数对象

前言 本文主要介绍了C中函数高级相关的内容 3.1:函数默认参数 在函数定义的时候可以给形参赋初值,如果函数在调用的时候有传入参数,就使用传入的参数,如果没有就用默认的。 注意事项 1:如果某个参数有了默认值&…

Scilab安装与入门

说明:Scilab主要是用于信号处理,我本次用它来进行滤波仿真 地址: Scilab 2023.1.0 | Scilab https://www.scilab.org/download/scilab-2023.1.0 下载好了,进行安装看看 下一步,接受许可协议 选择安装路径到D盘下了…

chatgpt赋能python:Python数值互换:让你的编程更加高效

Python数值互换:让你的编程更加高效 Python是一种高级编程语言,其灵活性和易于学习的特点使其在科学计算、数据分析和人工智能等领域变得非常流行。作为Python的用户,很多时候你可能需要将数值类型之间进行转换,这样可以提高你的…

第6章 面向对象

第6章 面向对象 6.1. Scala包 ​ 包的命名 ​ 包的导入 Scala中基本的import导入语法和Java完全一致 import java.util.List import java.util._ // Scala中使用下划线代替Java中的星号Java中import导入的语法比较单一,Scala对此进行扩展,Scala中的im…

Cadence Allegro PCB设计88问解析(二十八) 之 Allegro中使用Anti Etch分割平面

一个学习信号完整性仿真的layout工程师 最近看到关于Anti Etch的设置,因为本人之前在layout设计是使用过这个命令。后来去到别的公司就不用了,从网上看到说这个命令是用来负片设计的。在这里在说下正片和负片的概念: 正片:是指在a…

Git团队代码规范

Git团队代码规范 1. 分支的定义2. 约束2.1 远程命名2.2 拉取代码2.3 新建Issues2.3 代码规范2.4 MR提交 本文章讲解Git代码管理中团队应该遵守的一些规则,让大家可以愉快的一起开发工作。 本篇文章需要结合Git代码提交规范-实践篇 一起食用哟~ 上一节我们已经讲了如…

Vue----Vue属性绑定

【原文链接】Vue----Vue属性绑定 通过v-bind:xxx 的方式即可实现Vue的属性绑定&#xff0c;比如如下代码&#xff0c;为div标签增加class属性&#xff0c;class的属性值通过msg变量提供 <template><div v-bind:class"msg">测试属性绑定</div> &l…

Java XML

目录 XML简介 XML文档结构 XML组成部分 XML规范 解析XML DOM4J解析实战 1.XML简介 &#xff08;1&#xff09;定义&#xff1a;可扩展标记语言 &#xff08;2&#xff09;特点&#xff1a;跨平台&#xff0c;跨语言/系统 &#xff08;3&#xff09;作用&#xff1a;传…

windows编译运行es源码1

一. 基础搭载环境 win10 jdk 11 \ jdk8 idea 2022 gradle 8.1.1 【建议4.5.1以上】 elasticsearch 7.8.0 源码及安装包 二. 安装gradle 1. 官网下载链接&#xff1a;https://gradle.org/releases/ 2. 解压设置环境变量 (1) GRADLE_HOME 环境变量指向你的 Gradle…

利用jmeter java sample端口转发实现对远程数据库的压力测试

1 需求背景 对数据库进行压力测试时&#xff0c;需要模拟同一时间大量的sql请求发送&#xff0c;借助于jmeter的 sql请求可以实现&#xff0c;但是对RDS来说&#xff0c;需要进行端口映射(跳板机)访问远程数据库,对于单线程手工测试来说&#xff0c;可以直接通过CRT进行端口跳转…

chatgpt赋能python:Python支持一行多写,让你的代码更简洁高效

Python支持一行多写&#xff0c;让你的代码更简洁高效 Python是一种简洁而又灵活的编程语言&#xff0c;它支持一行多写代码&#xff0c;让你的代码更加简洁高效。当你需要在一行代码中写入多个语句时&#xff0c;使用一行多写可以让你的代码更加易读和易维护。这篇文章将介绍…

NUCLEO-F411RE RT-Thread 体验 (4) - GCC环境 LED控制以及CMD命令的添加

NUCLEO-F411RE RT-Thread 体验 (4) - GCC环境 LED控制以及CMD命令的添加 1、LED的控制 前面pin驱动移植后&#xff0c;我们使用rt_pin_mode() rt_pin_write() 控制gpio拉高拉低&#xff0c;从而控制LED灯的闪烁。 整个pin的初始化流程在rt_hw_board_init里。 rt_hw_pin_init…

梅林固件启用自定义DDNS(以cloudflare为例)

参考&#xff1a; In-a-dyn 组件&#xff1a;In-a-dynhttps://github.com/RMerl/asuswrt-merlin.ng/wiki/DDNS-services In-a-dyn配置示例https://github.com/troglobit/inadyn/tree/master/examples原理&#xff1a; 原版梅林固件即Asuswrt-Merlin 自384.7开始&#xff0c;引…

JDK自带的构建线程池的方式之newSingleThreadExecutor

newSingleThreadExecutor从名称上就可以知道这个是一个单例的线程池。在这个线程池中只有一个线程来处理任务。 就可以使用在业务涉及到顺序消费的时候。 newSingleThreadExecutor的代码展示 可以从这个在Executors中的静态方法newSingleThreadExecutor可以发现&#xff0c;该…

chatgpt赋能python:Python数值区间判断

Python数值区间判断 Python是一种高级编程语言&#xff0c;具有强大的数值计算和处理功能。在Python中&#xff0c;经常需要进行数值区间判断&#xff0c;以确定一个特定的数值是否位于指定的范围内。本文将介绍Python中常用的数值区间判断方法&#xff0c;并对其进行详细的讲…

SpringBoot操作Word实现文字替换和盖章(提供Gitee源码)

前言&#xff1a;在日常的工作当中&#xff0c;避免不了会涉及到一些Word文件方面的操作&#xff0c;这篇博客将使用SpringBoot整合开源Apache来操作Word&#xff0c;分享的都是目前实际当中会经常用到的一些功能代码都实际测试过&#xff0c;只分享干货&#xff0c;大家一键复…

AI加持、共建共享...亚马逊云科技重新定义云安全

我们正在进入数字化时代&#xff0c;无数传统企业正在飞速走上云端&#xff0c;无数基础设施服务在云的加持下焕发全新的活力。AI、物联网、大数据等新兴技术逐步落地应用&#xff0c;IaaS、PaaS、云原生技术日渐成熟&#xff0c;“云”正在快速扩容。2021年&#xff0c;我国云…

#10035. 「一本通 2.1 练习 1」Power Strings

Power Strings 题意简述&#xff1a; 求一个字符串由多少个重复的子串连接而成。 例如 ababab 由三个 ab 连接而成&#xff0c;abcd 由 abcd 由一个 abcd 连接而成。 输入格式 本题多组数据。 每一组数据仅有一行&#xff0c;这一行仅有一个字符串 s s s。 输入的结束标…

蓝牙GATT协议介绍

前言 现在低功耗蓝牙&#xff08;BLE&#xff09;连接都是建立在 GATT (Generic Attribute Profile) 协议之上。GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范&#xff0c;这些很短的数据段被称为属性&#xff08;Attribute&#xff09;。 GAP 详细介绍 GAT…