首页 > 其他分享 >计组--存储系统--复习专用...

计组--存储系统--复习专用...

时间:2024-06-23 20:28:33浏览次数:3  
标签:... 主存 计组 -- 存储器 译码 cache 地址 刷新

文章目录


前言

学无止境,笔勤不辍。本文,笔者将介绍一下存储系统相关的知识点…


一、存储系统的分类

很多无关的分类就不一一介绍了,下面主要是笔者觉得有用的知识点:

1.半导体随机存储器(RAM)是非永久记忆的存储器,断电后信息无法保存
2.CPU只能对内存(主存和高速缓存)直接访问,对其中的数据进行读写操作,不能直接访问外存

二、存储器的性质

1.存储容量

存储单元最重要的特性是它是最小的可编址单元。
一般情况下,8个bit称为字节(B),2n个字节组合称为字,一个字包含的二进制位数称为字长。
存储单元则是存储器能容纳的二进制信息的总量。例如一个存储器有12根地址线,16根数据线,则它所容纳的数据大小是 212 16 bit =4k16bit =8KB

2.存储器的速度

1.用存储器的存取时间、存储周期、存储器带宽衡量。
a.存取时间Ta:存储器收到读命令信号到其数据输出端输出信号的时间
b.存储周期Tc:存储器完成一次完整的读写操作所需要的全部时间,两次访问存储器最小的时间间隔。
ps:Tc>Ta
c.存储器带宽:单位时间可写入存储器/从存储器取出的信息的最大数量,单位是(bps)位每秒。

三、存储器的层次结构

存储器交换数据速度由大到小排序:寄存器>高速缓存(cache)>主存(RAM、ROM)>外存(辅存)>网络存储器
ps:cache是用于解决CPU和竹村之间速度不匹配问题的

四、主存储器

1.RAM(随机存储器)分两类:1.静态随机存储器(SRAM)由六个晶体管组成 2.动态随机存储器(DRAM)由1个晶体管组成

SRAM:

1.和双稳态触发器类似

2.译码方式:

线性译码方式
1.存储矩阵:1行代表一个字,每一列代表这个字的一位
2.使用这种存储矩阵的译码方式称为线性译码,只有一个地址译码器
双向译码方式
1.有两个地址译码器,一个是水平译码器,一个是数值译码器,分别用于处理分成两段的地址X,Y
2.当在不同的存储矩阵平面中两段地址都有效的交点的存储位元组合起来,才是所选的字

一个n位地址的存储器,按照线性译码方式,会出现 2^n^个选择,2^n^根选择线,若采用双向译码方式,只需要2^n/2^根选择线,并且由于X,Y可以不同时有效,因此会有2^2n^种选择(存储单元)

DRAM:

1.对于"读"操作,DRAM是破坏性读出,是电容放电的结果,每次读之后都要将原信息重新存储到相应单元,这叫做“再生”。
2.同时,由于电容存在漏电效应,所以DRAM要定时刷新

刷新:

1.刷新周期定义:对整个存储器刷新结束开始,到对整个DRAM刷新一遍为止的时间间隔/对特定行刷新两遍的时间间隔
2.刷新信号周期:相邻两行之间刷新的时间间隔

集中式刷新:
1,在一个刷新周期内,利用一段固定的时间依次对DRAM所有行逐一刷新(在这段时间内禁止读写存储器这段时间也叫"死区")
2.刷新时间 = 存储时间(读写周期)*存储矩阵的列数
分散式刷新:
1.将存储周期分为了两个阶段:1.正常的访存芯片操作 2.刷新这一行;因此存储周期是读写周期的两倍
2.刷新时间也因此翻倍...
异步式刷新:
1.结合了分散式刷新的优势
因此它的刷新信号周期 =刷新周期/存储矩阵列数

ROM:

1.ROM具有非易失性,断电情况下,数据仍然存在,但只能读,无法写入。
2.数据存储方式:1.小端模式:低地址对应低字节 2.大端模式:高地址对应低字节

五、存储容量的扩展

1.位扩展:
目的:增加同一个地址的存储单元的位数
操作:将参与位扩展的存储芯片的位选信号、读写控制信号、地址信号分别连在一起,不同的存储芯片的数据端,分别引出
2.字扩展:
目的:增加存储器中字的数量,即容量扩展
操作:将参与字扩展的存储芯片的位选信号、读写控制信号、地址信号分别连在一起,由片选信号来区分各芯片的地址范围
3.字位扩展:
一个存储器假设容量为mn位,要将其扩展成 lk位的,则需要该存储器l/m *k/n个
`ps.注意一下CPU和主存怎么连接,可能会考画图题…

六、高速存储器

1.弥补CPU和主存速度差异的策略:
a.双端口存储器:由两套独立的访问端口(读写控制线路),可以同时异步读写(访问)存储单元
b.相联存储器:用于对一个字中某些指定位进行检索,检查是否与特定的样式相匹配。

相联存储器结构:
1.检索寄存器:存放检索字
2.屏蔽寄存器:存放屏蔽码
3.符合寄存器:存放查询比较结果
4.比较电路:检索项和存储器所有单元内容的相应位进行比较,符合置"1",否则置"0"
5.代码寄存器:存放从存储器中读出的代码/写入的代码

c.高速缓冲存储器(Cache):保存的是主存中某些单元的副本
cache命中:CPU提供字地址时,相联存储器开始 按内容 查找,地址匹配成功
cache缺失:cache命中的反向
若读数cache缺失,处理方法:

1.通过CPU访问主存获取字,并把该字写入cache中
2.从主存中将该字所在的行/数据块放入Cache中,然后再由cache送给CPU
cache的指标参数计算方法:
1.命中率:
Nc,代表Cache完成存取的总次数,Nm,代表主存完成存取的总次数,h,代表命中率则:
h =Nc/(Nc+Nm) *100%
2.平均访问时间:
tc,代表命中访问cache的时间,tm,代表缺失时访问主存的时间 ta,代表平均访问时间,则:
 a.ta = tc*h+(1-h)*tm
 b.ta = h*tc+(1-h)(tm+tc)
 3.访问效率:
 e = tc/ta
主存和Cache的地址映射方式
1.直接映射:
Cache的行号j和主存的块号i的关系:
   j = i mod 2^c^
 主存地址被分为:1.高位标记,2.行地址3块内地址三部分
 缺点是命中率低
 2.全相联映射
  主存地址被分为:1.标记,2.块内地址两部分
  优点是命中率高,机制灵活,但硬件开销大
  3.组相联映射:
  将cache分成几个组,然后再进行调整
   j = (i mod 2^c-r^)*2^r^ +k (0<=k<=2^r^-1)
   主存地址被分为:1.高位标记tag,2.组地址3块内地址三部分

总结

以上就是今天要讲的内容,接下去笔者还会持续更新…

标签:...,主存,计组,--,存储器,译码,cache,地址,刷新
From: https://blog.csdn.net/Super_Ye6/article/details/139899760

相关文章

  • 计组--信息编码和数据表示and运算方法运算器(复习专用)
    文章目录前言一、数值的格式二、定点机器数的表示方式1.原码表示法:2.补码表示法:3.反码表示法:4.移码表示法:三、浮点机器数的表示方式(规格化)四、定点数的加减乘除运算五、定点运算器的组成与结构六、浮点运算总结前言学无止境,笔勤不辍。真正开始复习计组,就会发现......
  • python连接mysql、sqlserver、oracle、postgresql数据库进行封装
    python连接mysql、sqlserver、oracle、postgresql数据库进行封装python连接mysql、sqlserver、oracle、postgresql数据库进行封装详解一、引言二、python连接MySQL数据库进行封装三、python连接SQLServer数据库进行封装四、Python连接Oracle数据库进行封装五、Python连......
  • 【Linux详解】冯诺依曼架构 | 操作系统设计 | 斯坦福经典项目Pintos
    目录一.冯诺依曼体系结构(VonNeumannArchitecture)注意事项存储器的意义:缓冲数据流动示例二.操作系统(OperatingSystem)操作系统的概念操作系统的定位与目的操作系统的管理系统调用和库函数操作系统的管理:sum三.系统调用实现示例:Pintos项目Step1:进入ex......
  • IA的统计学基础:深入解析与实践应用
    IA的统计学基础:深入解析与实践应用在数据泛滥的信息化时代,统计学作为解读数据语言的关键工具,对于任何希望从数据中提取价值的专业人士来说都是必修课。本文将从统计学的基本概念入手,深入探讨其技术细节,并展示如何将这些技术应用于实际问题解决中。统计学的定义与重要性统......
  • 创新实现(九)——博客处理
    博客部分当用户需要针对OJ上的比赛以及题目进行相关讨论的时候,OJ平台给大家一个博客平台供大家交流讨论。博客部分中利用blogs.php文件进行最近前10个博客的显示,用户可以利用右上角的按钮查看自己的博客情况以及自己写一个博客。博客总览blogs.php文件用于生成一个博客总览页......
  • php如何实现amr转成mp3
    php实现amr转成mp3的方法:1、在服务器安装ffmpeg;2、使用“ffmpeg-i”指令来转换amr为mp3格式;3、在网页端使用html5的audio标签来播放mp3文件即可。思路服务器安装ffmpeg使用ffmpeg-i指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可)一、服务器安装ffmp......
  • AI 大模型企业应用实战(06)-初识LangChain
    LLM大模型与AI应用的粘合剂。1langchain是什么以及发展过程LangChain是一个开源框架,旨在简化使用大型语言模型构建端到端应用程序的过程,也是ReAct(reason+act)论文的落地实现。2022年10月25日开源54K+star种子轮一周1000万美金,A轮2500万美金11个月里累计发布200多次,提交4......
  • goto语句
    C语言中提供了可以随意滥用的goto语句和标记跳转的符号从理论上goto语句是没有必要的,实践中没有goto语句很容易写出代码。但是某些场合下goto语句还是用的着的,最常见的用法是终止程序在某些深度嵌套的结构的处理过程。例如,一次跳出两层或多层循环。多层循环这种情况用break是......
  • C#知识点2
    C#基础知识2C#中的通用类型系统和类型断定1.理解通用类型系统(CTS)及公共语言规范(CLS)通用类型系统(CTS)通用类型系统(CTS)是Microsoft.NETFramework的核心组成部分,它定义了在.NETFramework中如何声明、使用和管理类型。CTS为所有.NET语言提供了统一的类型......
  • frp使用
    frp使用frp是一个专注内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中专暴露到公网。实验:配置frp,使得可以从外网访问内网远程桌面(3389)1.frps即frp的服务端,用于部署在公网的服务器上,与内网通信......