[中级]软考_软件设计_计算机组成与体系结构_07_存储系统

news2024/11/18 22:37:35

存储系统

  • 层次划存储
    • 概念图
    • 局促性原理
    • 分类
      • 存储器位置
      • 存取方式
        • 按内容存储
        • 按地址存储
      • 工作方式
        • 拓展
      • 往年真题
  • 高速缓存(cache)
    • 概念
      • 案例解析:求取平均时间
    • Cache与主存的地址映射
    • 映像
      • 往年真题
  • 主存编制计算
    • 编址
    • 大小的求取
    • 编址与计算
      • 存储单元
      • 编址内容
      • 总容量求取
      • 例题解析:编址与计算

层次划存储

概念图

存储结构图

局促性原理

是层次化存储结构的支撑

  • 时间局部性:刚被访问的内容,立即又被访问,一般是循环的体现。
  • 空间局部性:刚被访问的内容,临近的空间很快被访问,一般是顺序的体现。

分类

存储器位置

内存&外存

  • 计算器内部叫内存也叫主存
  • 计算机外部的叫外存也叫辅存

存取方式

按内容存储
  • 相联存储器(如:Cache)
按地址存储
  • 随机存取存储器(如:内存)
  • 顺序存取存储器(如:磁带)
  • 直接存取存储器(如:磁盘)

磁盘:包含连个过程:①移绿调度的过程②旋转延迟的过程(顺序)

工作方式

  • 随机存取存储器RAM(如内存:DRAM)

RAM:掉电丢失,会丢失数据
DRAM:动态的,会定时刷新,成本稍微低一些,SRAM静态的,不会取刷新,成本稍微高一些

  • 只读存储器ROM(如BIOS)
    掉电保留,不会丢失数据
拓展
  • DRAM:动态随机存取存储器
  • SRAM:静态随机存取存储器
  • Cache:高速缓存
  • EEPROM:电可擦可编程只读存储器

往年真题

CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为( C )。
A、数据局部性
B、指令局部性
C、空间局部性
D、时间局部性

备注:只分为:空间和时间,所以A、B是错误的
时间局促性:一定时间内再次被访问,循环的原理
空间局促性:顺序的考察


虚拟存储体系由( A )两级存储器构成。
A、主存-辅存
B、寄存器-Cache
C、寄存器-主存
D、Cache-主存


在微机系统中,BIOS(基本输入输出系统保存在( A )
A、主板上的ROM
B、CPU的寄存器
C、主板上的RAM
D、虚拟存储器

高速缓存(cache)

概念

在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。
使用Cache改善系统性能的依据是程序的局部性原理。

上节回顾:

  • 时间局部性:刚被访问的内容,立即又被访问,一般是循环的体现。
  • 空间局部性:刚被访问的内容,临近的空间很快被访问,一般是顺序的体现。

案例解析:求取平均时间

如果以h代表对Cachel的访问命中率,t1表示Cachel的周期时间,t2表示主存储器周期时间,以读操作为例,使用Cache+主存储器的系统的平均周期为t3,则:
t 3 = h × t 1 + ( 1 − h ) × t 2 t3=h×t1+(1-h)×t2 t3=h×t1+(1h)×t2
其中,(1-h)又称为失效率(未命中率)

  • cache一般命中率为90%左右,所以效率是非常高的。
  • 失效率为:1-90% = 10%
  • 假设t1(Cache)周期是1ms,t2(主存储器)周期是100毫秒
  • 假设只有catch+主存结构,假如读取了100次数据,那么平均时间的求取是:
    1. (100*90%)×1ms+10×100ms

    2. 90×1ms+100×100ms

    3. 那么平均时间就是:
      90 × 1 m s + 10 × 100 m s 100 90×1ms+10×100ms \over 100 10090×1ms+10×100ms

    4. 也就是 概率 数值 概率 \over 数值 数值概率

  • 平均时间结果为10.9ms

Cache与主存的地址映射

  • 直接相联映像:硬件电路较简单,但冲突率很高
  • 全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低
  • 组相联映像:直接相联与全相联的折中

注: 主存与Cache之间的地址映射由硬件直接完成。

映像

地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。

  例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB。

  • 直接相联映像

直接相联映像
电路简单,冲突率高

  • 全相联映像

全相联映像
冲突率低,电路复杂

  • 组相联映像

组相联映像
冲突率中,电路复杂度中

  • 相联映像对比表格
冲突率复杂度
直接相联映像简单
全相联映像复杂
组相联映像折中

往年真题

以下关于Cache(高速缓冲存储器)的叙述中,不正确的是( A )。
A、Cache的设置扩大了主存的容量
B、Cache的内容是主存部分内容的拷贝
C、Cache的命中率并不随其容量增大线性地提高
D、Cache位于主存与CPU之间


在程序执行过程中,高速缓存(Cache)与主存间的地址映射由( D )
A、操作系统进行管理
B、存储管理软件进行管理
C、程序员自行安排
D、硬件自动完成


主存与Cache的地址映射方式中,( A )方式可以实现主存任意一块装入Cache中任意位置,只有装满才需要替换。
A、全相联
B、直接映射
C、组相联
D、串并联

主存编制计算

编址

编址
一般字长题目中会给出,这里指定了4个bit,最常见的是16位字长,这样的一组被称为存储单元

大小的求取

单位求取

  • 不仅可以纵向拼接还可以横行拼接
    横向拼接
    八位字长我们一般成为字节

编址与计算

存储单元

存储单元大小 = 最大地址-最小地址+1

编址内容

按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节。

总容量求取

总容量 = 存储单元个数 * 编址内容

一般总容量都是比较大的,所以我们都是小芯片进行的拼装,所以要根据总容量求出总片数。

根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数 = 总容量 每片的容量 总片数 = {总容量 \over 每片的容量} 总片数=每片的容量总容量

  • 考试形式:
    给出地址范围,给出编制内容,求出总容量
    或者再给芯片容量,求出总片数
    再或者给片数,求出芯片容量

例题解析:编址与计算

内存按字节编址,地址从A0000H到CFFFFH的内存,共有( D )字节,若用存储容量为64K×8tit的存储器芯片构成该内存空间,至少需要( B )片。

A、80KB      B、96KB
C、160KB      D、192KB

A、2      B、3
c、5       D、8

注意:字节编制:字节一般用大写字母B来表示,占用8bit
注意:H是16进制

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

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

相关文章

c# wpf template itemtemplate+dataGrid

1.概要 2.代码 <Window x:Class"WpfApp2.Window8"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…

[C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体

关于C版本帧差法可以参考博客 [C]OpenCV基于帧差法的运动检测-CSDN博客https://blog.csdn.net/FL1768317420/article/details/137397811?spm1001.2014.3001.5501 我们将参考C版本转成opencvsharp版本。 帧差法&#xff0c;也叫做帧间差分法&#xff0c;这里引用百度百科上的…

【力扣每日一题】1026. 节点与其祖先之间的最大差值

LC 1026. 节点与其祖先之间的最大差值 题目描述 给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff0c;其中 V |A.val - B.val|&#xff0c;且 A 是 B 的祖先。 &#xff08;如果 A 的任何子节点之一为 B&#xff0c;或者 A 的任何子…

https证书申请方式

网站HTTPS证书&#xff0c;也称为SSL证书或TLS证书&#xff0c;是一种数字证书&#xff0c;用于在用户浏览器与网站服务器之间建立安全的加密连接。当网站安装了HTTPS证书后&#xff0c;用户访问该网站时&#xff0c;浏览器地址栏会显示为"https://"开头&#xff0c;…

CSS层叠样式表学习(文本属性)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS文本属性的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 四、CSS文本属性 4.1 文本颜色 4.2 对齐文本 4.3 装饰文本 4.4 文本缩进 4.5 行间距 4.6 文本…

简单的购物商城

SSM整合后的一个及其简单的商城&#xff0c;首页数据是模拟的&#xff0c;主要测试购物车模块 启动 创建数据库&#xff1a;shopping导入建表脚本&#xff1a;shopping.sql修改db.properties部署和启动项目&#xff08;项目的path为项目名&#xff09;访问 http://localhost:…

Python语言在地球科学领域中的应用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台&#xff08;x86和arm&#xff09;&#xff0c;Python简洁的语法和对动态输入的支持&#xff0c;再加上解释性语言的本质&…

猫头虎技术分享 || 断网了,还能ping127.0.0.1吗?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Shell GPT:直接安装使用的chatgpt应用软件

ShellGPT是一款基于预训练生成式Transformer模型&#xff08;如GPT系列&#xff09;构建的智能Shell工具。它将先进的自然语言处理能力集成到Shell环境中&#xff0c;使用户能够使用接近日常对话的语言来操作和控制操作系统。 官网&#xff1a;GitHub - akl7777777/ShellGPT: *…

liteIDE自定义主题推荐

代码编辑器配色 \liteidex38.3-win64-qt5.15.2\liteide\share\liteide\liteeditor\color <?xml version"1.0" encoding"UTF-8"?> <style-scheme version"1.0" name"Sublime Text 2"><style name"Text" f…

WebGL BabylonJS GUI 如何创建连接模型的按钮

如图所示&#xff1a; 方法&#xff1a; createGUI(mesh: BABYLON.Mesh, title: string, index: number) {const advancedTexture AdvancedDynamicTexture.CreateFullscreenUI(UI)const rect new Rectangle()rect.width 100pxrect.height 40pxrect.thickness 0advancedT…

MyBatis 使用入门

1. 什么是MyBatis MyBatis是一款持久层框架&#xff0c;用于简化JDBC的开发&#xff08;持久层指的就是持久化操作的层&#xff0c;通常指数据访问层&#xff08;dao&#xff09;&#xff0c;即用于操作数据库&#xff09;&#xff0c;简单来说MyBatis 是更简单完成程序和数据…

C++入门4.引用

目录 1.引用概念&#xff1a; 2.引用特性&#xff1a; 3.常引用&#xff1a; 4.使用场景&#xff1a; 引用和指针的区别&#xff1a; 1.引用概念&#xff1a; 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空…

【C++】模拟实现红黑树(插入)

目录 红黑树的概念 红黑树的性质 红黑树的调整情况 红黑树的模拟实现 枚举类型的定义 红黑树节点的定义 插入函数的实现 旋转函数的实现 左旋 右旋 自检函数的实现 红黑树类 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储…

详解protected访问限定符

1.同一个包中的同一类 package demo1;public class Test1 {protected int a 10;protected void b() {System.out.println("这是protected修饰的成员方法");}public static void main(String[] args) {Test1 test new Test1();System.out.println(test.a);test.b()…

燃气管网安全运行监测系统功能介绍

燃气管网&#xff0c;作为城市基础设施的重要组成部分&#xff0c;其安全运行直接关系到居民的生命财产安全和城市的稳定发展。然而&#xff0c;随着城市规模的不断扩大和燃气使用量的增加&#xff0c;燃气管网的安全运行面临着越来越大的挑战。为了应对这些挑战&#xff0c;燃…

华媒舍:3个科学指导,协助油管大V写下爆款文章

油管&#xff08;YouTube&#xff09;作为一个重要的视频分享平台&#xff0c;吸引了很多的观众和原创者。作为一位油管大V&#xff0c;你可能会一直在努力提升自己的文章质量以吸引更多的观众和订阅者。下面我们就为您提供三个科学指导&#xff0c;帮助自己写下更具有爆品发展…

可视化图表组件:仪表盘,监控数据关键指标信息,海量示例。

仪表盘组件&#xff08;Dashboard Component&#xff09;是一种常见的可视化设计组件&#xff0c;用于展示和监控数据的关键指标和信息。它通常以仪表盘的形式呈现&#xff0c;类似于汽车仪表盘&#xff0c;可以通过各种图表、指示器和控件来展示数据&#xff0c;并提供交互和操…

Linux安装JDK17等通用教程

一、查看Linux系统是否有自带的jdk 1、查看当前是否有jdk版本&#xff0c;命令如下&#xff1a; java -version2、检测jdk的安装包&#xff0c;命令如下&#xff1a; rpm -qa | grep java3、接着进行一个个删除包&#xff0c;命令如下&#xff1a; rpm -e --nodeps 包名4、…

数据结构day2--双向链表

双向链表: 即可以从头遍历到尾部和从尾部遍历到头部的链表&#xff0c;每个结点包括两个链域&#xff1a;前驱指针域和后继指针域&#xff0c;所以比起单向链表&#xff0c;其可以在任意一个结点访问前后两个结点 关于双向链表的一个完整步骤为&#xff1a; 创建一个表头结构…