计算机组成原理(超详解!!) 第四节 存储系统和结构

1.存储器概述

1.存储器分类

存储器:用来存储程序和数据的记忆设备。

存储介质:具有两种明显区别且稳定的物理状态,在外界的作用下,能够相互转化;一种稳定状态表示“0”,则另一种状态表示“1”。目前主要采用半导体器件和磁性材料。

存储位或存储元:最小的存储单位——一位二进制代码 存储单元:由若干个存储元组成。

2.存储器的分级结构

对存储器要求:容量大、速度快、成本低。

多级存储器体系结构:高速缓冲存储器、主存储器和外存储器;

1.存储器三个主要特性的关系

2.缓存  主存层次和主存  辅存层次

3.按CPU是否可直接访问,存储器分为

主存储器:简称“主存”,由MOS半导体存储器组成,存放处于活动状态的程序和有关数据。包括OS的常驻部分和当前在运行的程序和要处理的数据。容量在几百KB到几百MB,存取时间为几十到几百ns。

高速缓冲存储器:又称“cache”,由TTL半导体材料组成。存取时间为几ns到十几ns,容量在几KB到几百KB。存放当前正在执行程序的部分程序或数据。

外存储器:简称“外存”,大容量辅助存储器;磁表面存储器或光盘存储器;存放需联机保存但暂时不需要的程序和数据。容量从几十MB到几百GB,甚至更大。存取速度为若干ms。

其他功能的存储器:如微程序控制的控存、在显示和印刷输出设备中的字库和数据缓冲存储器。

4.半导体存储器分类

TTL门电路(Transistor Transistor Logic)—由双极性晶体管组成的集成门电路,其输入级和输出极均采用了三极管,称为晶体管—晶体管逻辑门电路。

TTL存取速度快,集成度较低,功耗较大,成本较高,适于cache。

MOS电路(Metal Oxide Semiconductor)—金属性氧化物半导体电路,由MOS管(单极性场效应管)组成的集成门电路,其有三种类型:PMOS电路,NMOS电路,CMOS电路。

MOS集成度高,功耗较低,价格便宜,适于主存。  

CMOS电路(Complementary Metal Oxide Semiconductor)—它是由PMOS和NMOS管组成的互补电路,其突出特点是功耗小,抗干扰能力强,稳定性好,速度快,但工艺较复杂。

3.主存储器的技术指标

主要性能指标:存储容量、存取时间、存储周期和存储器带宽。

字存储单元(存放一个机器字的存储单元),相应地址为字地址

字节存储单元(存放一个字节的存储单元),相应地址为字节地址

按字寻址的计算机:计算机中可编址的最小单位是机器字

按字节寻址的计算机:计算机中可编址的最小单位是字节

一个机器字可以包含数个字节,所以一个存储单元也可包含数个能够单独编址的字节地址。

存储容量:存储器中可容纳的存储单元总数;通常用字数或字节数(B)来表示。

单位:B(Byte), KB, MB, GB, TB, PB。

存取时间:又称访问时间,从启动一次存储器操作到完成该操作所经历的时间。

存储周期:连续两次启动同一存储器操作需要的最小时间间隔。

存储周期>=存期时间

存储器带宽:单位时间存储器所存取的信息量;度量单位:位/秒、字节/秒;                    

可靠性:在规定的时间内,存储器无故障的概率。用平均无故障时间MTBF

功耗与集成度:耗电的多少;单个芯片存储容量;

性能/价格比:衡量存储器经济性能好坏的综合性指标。性能包括前述的各项指标。

4.主存中存储单元地址的分配

2.随机读写存储器(RAM)

RAM(Random Access Memory):存储单元的内容可随机读写。    

优点:存取速度快、体积小、可靠性高、价格低廉。    

缺点:断电后信息即丢失。

SRAM(静态RAM:Static RAM) :

以触发器为基本存储单元

不需要额外的刷新电路

速度快,但集成度低,功耗和价格较高

DRAM(动态RAM:Dynamic RAM):

以单个MOS管为基本存储单元

要不断进行刷新(Refresh)操作

集成度高、价格低、功耗小,但速度较SRAM慢

1.SRAM(Static RAM)存储器

1.基本存储元  

存储器的核心和基础,用来存储一位二进制信息0或1。  

以六管SRAM存储元为例解释工作原理,它是由两个MOS反相器交叉耦合而成的触发器,用来存储一位二进制代码。

2.三组信号线 

地址线 ,数据线, 行线 ,列线 ,控制线。

3. 静态 RAM (SRAM)

4.SRAM存储器的容量

6个开关管组成一个存储元,存储一位信息 N(=1/4/8/16/32)个存储元组成一个存储单元

存储器芯片的大量存储单元构成存储体

存储器芯片结构:     

存储单元数×每个存储单元的数据位数=芯片的存储容量=

M=芯片地址线的个数

N=数据线的个数

例:存储结构2K×8

16K位存储容量 ,11个地址引脚 ,8个数据引脚

5.SRAM的控制信号

片选(CS*或CE*):

片选有效,才可以对芯片进行读/写操作 。无效时,数据引脚呈现高阻状态,并可降低功耗

读控制(OE*) :

芯片被选中有效,数据输出到数据引脚 。对应存储器读MEMR*

写控制(WE*) :

芯片被选中的前提下,若有效,将数据写入 。对应存储器写MEMW*

2.SRAM存储器组成

由存储体、地址译码电路、读写电路和控制电路等组成。  

存储体:存储单元的集合。通常把各个字的同一位组织在一个集成片中,同一位的这些字通常排成矩阵形式。

地址译码器:把用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。 地址译码器的输入信息来自CPU的地址寄存器(AR)。

地址译码的两种方式:

单译码结构:地址译码器只有一个,译码器输出为字选线

双译码结构:两个地址译码器,可减少选择线条数

驱动器:一条X选择线要控制挂其上所有存储元电路,其所带的电容负载很大,为此需加驱动器。

I/O电路:处于数据总线和被选用的单元之间,用于控制被选中的单元读出或写入,并具有放大信  息作用。

片选与读/写控制电路:当需要大容量的存储器时,需把存储器片按照一定方式连接而成。在地址选择时,首先要选片,此片所连接的地址线才有效。通常用地址译码器的输出和一些控制信号来形成片选信息。

输出驱动电路:为扩展存储器容量,需将几个芯片的数据线并联使用,这同样需要驱动电路。

3.存储器的读写周期

读周期: 读周期与读出时间是两个不同的概念。读出时间是从给出有效地址到外部数据总线上稳定地出现所读出的数据信息所经历的时间。读周期时间则是存储片进行两次连续读操作时所必须间隔的时间,它总是大于或等于读出时间。

读周期:读出时间Taq ,读周期时间Trc

写周期:实现写操作,要求CS和WE同时有效,有效期间地址和数据信号不能变化;为了保证CS和WE变为无效前能把数据可靠的写入,数据必须提前一段时间在数据总线上稳定存在;而在WE变为高电平后再经过一段时间地址信号才允许改变。

写周期:写周期时间Twc ,写时间twd

存取周期 :读周期时间Trc=写时间twd

DRAM存储位元的记忆原理:     

SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。而DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路

DRAM刷新需要硬件电路支持,它们集成在一个芯片上,形成DRAM控制器,是CPU和DRAM间的接口电路。

组成部分:      

地址多路开关:选择分时送出行地址、列地址及刷新地址。      

刷新定时器:提供刷新请求。      

刷新地址计数器:采用RAS刷新时,需要刷新地址计数器。      

仲裁电路:读写请求和刷新请求同时产生时,裁决谁优先。      

定时发生器:向DRAM提供RAS、CAS及WE,实现读写和刷新操作。

读/写周期 :读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。 

DRAM的刷新:

刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔称为集中式或分散式。

集中刷新方式:

把刷新间隔分为两部分,前一部分进行读/写周期或维持周期,后一部分只进行刷新操作。因为刷新时期不能进行读写操作,称为死时间。本方式适用于高速存储器。

分散刷新方式:

各刷新周期分散安排在2ms内。每隔一段时间刷新一行。用在大多数计算机中。

每隔15.5微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行

4.存储器容量的扩充

二者之间传递的信息有:地址、数据、控制信息。            

存储容量扩充的方法:                          

位扩展法:只加大字长,而存储器的字数与存储器芯片字数一致,即字变长,字数不变。数据线条数增加,地址线条数不变。            

字扩展法:字数变多,字长不变,地址线增加,数据线不变; 芯片的地址线、数据线、读写控制线并联,由片选信号区分各片地址。                                      

字位同时扩展法:需要容量M×N存储器,使用的芯片为 l ×k,则需要芯片个数为(M/l)×(N/k)

为位扩展法:

字扩展法:

字位同时扩展法:既增加存储单元的数量,也加长各单元的位数

字位同时扩展:2114存储芯片1K×4扩展成2K×8存储器

存储器系统的存储容量:  M×N位

使用芯片的存储容量:L×K位(L≤M,K≤N)

需要存储器芯片个数:(M×N)/(L×K)

例题:

1.利用2K×4位的存储芯片,组成16K×8位的存储器,共需要多少块芯片?

(16K×8)/(2K×4)=8×2=16

即:共需16块芯片。(既需要位扩展,又需要字扩展)

2.利用1K×4位的存储芯片,组成2K×8位的存储器,共需要芯片数:    

(2K×8)/(1K×4)= 2×2=4

即:共需4块芯片。

5.地址分配与片选逻辑

存储空间分配:

4KB存储器在16位地址空间(64KB)中占据任意连续区间。

某半导体存储器,按字节编址。其中,0000H~ ∼07FFH为ROM区,选用EPROM芯片(2KB/片);0800H~13FFH为RAM区,选用RAM芯片(2KB/片和1KB/片)。地址总线A15~A0(低)。给出地址分配和片选逻辑。

1.计算容量和芯片数

练习:

1、设有一个1MB容量的存储器,字长为32位,问:

(1)按字节编址,地址寄存器、数据寄存器各为多少位?编址范围为多大?

(2)按半字编址,地址寄存器、数据寄存器各为多少位?编址范围为多大?

(3)按字编址,地址寄存器、数据寄存器各为多少位?编址范围为多大?

解:  

(1)按字节编址,1MB=220×8,地址寄存器为20位,数据寄存器为8位, 编址范围为00000H――-FFFFFH  

(2)按半字编址,1MB=220×8=219×16,地址寄存器为19位,数据寄存器为16位, 编址范围为00000H――-7FFFFH  

(3)按字编址,1MB=220×8=218×32,地址寄存器为18位,数据寄存器为32位, 编址范围为00000H――-3FFFFH

2、用16K×16位的SRAM芯片构成64K×32位的存储器。 要求:

(1)总共需要多少片SRAM芯片?地址线共需多少位?数据线共需多少位?使用何种方式的译码器?

(2)画出该芯片组成的存储器逻辑框图。

解:

(1)所需芯片总数(64K×32)÷(16K×16)= 8片,因此存储器可分为4个模块,每个模块16K×32位,地址线共需16位,数据线共需32位,各模块通过地址线A15、A14进行选片,用2:4译码器进行译码。

(2)该芯片组成的存储器逻辑框图:

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

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

相关文章

es6新增set、map两种数据结构(超级详细-附加代码)

文章目录 一、Set增删改查add()delete()has()clear()遍历 二、Map增删改查sizeset()get()has()delete()clear()遍历 三、WeakSet 和 WeakMapWeakSetWeakMap 参考文献 如果要用一句来描述,我们可以说 Set是一种叫做集合的数据结构,Map是一种叫做字典的数…

数据结构——链表

目录 一、链表 1、单向链表 单向链表的遍历方式: 2、循环链表 3、双向链表 二、自行车停放(双向链表) 一、链表 链表是由许多相同数据类型的数据项按特定顺序排列而成的线性表特性:存放的位置是不连续且随机的,动…

全坚固笔记本丨工业笔记本丨三防笔记本相较于普通笔记本有哪些优势?

三防笔记本和普通笔记本在设计和性能方面存在显著差异,三防笔记本相较于普通笔记本具备以下优势: 三防笔记本通常采用耐磨、耐摔的材料,并具有坚固的外壳设计,能够承受恶劣环境和意外碰撞,有效保护内部组件不受损坏。相…

armlinux裸机-uart

uart是一对一的串行异步全双工通信通信协议,串行速度较慢(usart支持同步通信) 传输原理 多个参数可以设置 为满足使用需求,我们一般都用带fifo缓冲中断。 我们使用S3C2440芯片,具体寄存器操作可以查看用户手册

NOI - OpenJudge - 2.5基本算法之搜索 - 1490:A Knight‘s Journey - 超详解析(含AC代码)

点赞关注吧~ 1490:A Knights Journey 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. When…

【WEEK6】 【DAY7】MD5 Encryption Transactions【English Version】

2024.4.7 Sunday Following the previous article 【WEEK6】 【DAY3】MySQL Functions【English Version】 Contents 5.3. MD5 Encryption5.3.1. Introduction5.3.2. Testing MD5 Encryption5.3.2.1. Plain Text Passwords5.3.2.2. Implementing Data Encryption5.3.2.3. Encry…

实景三维在文化旅游领域的应用

实景三维技术,作为一种前沿的科技手段,近年来在文化旅游领域的应用逐渐崭露头角。它能够将真实世界的场景以三维的形式精确呈现,为游客带来身临其境的体验,为文化旅游注入新的活力。本文将探讨实景三维在文化旅游领域的应用及其所…

npm版本切换工具nvm

有了nvm,可以在一台机器上同时安装多个版本的nodejs,然后指定使用某个版本。 前端开发的时候,安装依赖一直是个令我头痛的问题。总是报错,或者不是少了这样就是少了那样,鸡飞狗走。以往,一般要装个enpm&am…

【java的本地锁到分布式锁介绍】

文章目录 1.java本地自带锁介绍及应用synchronized(1)synchronized原理和优化(2)synchronized作用(3)synchronized的使用 CAS(1) CAS原理(2)CAS和synchronized优缺点 lock 2.分布式锁…

基于Spring Boot的网上书城系统(带文档)

主要功能 本次设计任务是要设计一个网上书城管理系统,通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括:首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管…

c++的学习之路:14、list(1)

本章讲一下如何使用list,代码在文章末 目录 一、list介绍 二、增 三、删 四、查和改 五、交换 六、代码 一、list介绍 首先还是看一看官方文档的介绍如下图,如下方五点: 1. list是可以在常数范围内在任意位置进行插入和删除的序列式…

面向电力行业定制安全云工作站解决方案,麒麟信安出席2024年电力企业信创替代技术研讨会

日前,由中国电子企业协会主办的“2024年电力企业信创替代技术研讨会”在江苏南京正式召开。会议以国家推进实现自主可控、加快建设“数字中国”为大背景,聚焦电力企业紧抓“信创替代”机遇,通过安全可靠的软硬件迭代升级,实现企业…

2024年妈妈杯数学建模MathorCup数学建模思路B题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享,点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间:2024年4月11日(周四)12:00 比赛开始时间:2024年4月12日(周五)8:00 比赛结束时间&…

milvus search api的数据结构

search api的数据结构 此api的功能是向量相似度搜索(vector similarity search) 一个完整的search例子: 服务端collection是一个hnsw类型的索引。 import random from pymilvus import (connections,Collection, )dim 128if __name__ __main__:connections.connect(alias…

【go】模板展示不同k8s命名空间的deployment

gin模板展示k8s命名空间的资源 这里学习如何在前端单页面,调用后端接口展示k8s的资源 技术栈 后端 -> go -> gin -> gin模板前端 -> gin模板 -> html jsk8s -> k8s-go-client ,基本资源(deployment等) 环境 go 1.19k8s 1.23go m…

面向低碳经济运行目标的多微网能量互联优化调度matlab程序

微❤关注“电气仔推送”获得资料(专享优惠) 运用平台 matlabgurobi 程序简介 该程序为多微网协同优化调度模型,系统在保障综合效益的基础上,调度时优先协调微网与微网之间的能量流动,将与大电网的互联交互作为备用…

ES学习笔记01

1.ES安装 下载地址: es官网下载 这里使用的是7.8.0的版本信息 下载完成后解压即可完成安装 2.启动运行 点击bin目录下的elasticsearch.bat文件即可启动 在浏览器中输入localhost:9200显示如下: 在路径中加入对应访问后缀即可访问对应信息 如&#…

c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(七)

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别 定义字符分类表 std::ctype template< class CharT > clas…

HiveSQL如何生成连续日期剖析

HiveSQL如何生成连续日期剖析 情景假设&#xff1a; 有一结果表&#xff0c;表中有start_dt和end_dt两个字段&#xff0c;&#xff0c;想要根据开始和结束时间生成连续日期的多条数据&#xff0c;应该怎么做&#xff1f;直接上结果sql。&#xff08;为了便于演示和测试这里通过…

lua学习笔记9(字典的学习)

print("********************字典的学习***********************") a{["凌少"]"傻逼",["我"]"天才",["age"]24,["daihao"]114514,["8848"]20000} --访问单个变量 print(a["凌少"])…