计算机组成原理(存储器)

1、“821.2016T1(1)”,表示821真题,2016年的题,T1是 选择题/填空题/大题 的第一题,其他类似标记也是相通

2、个人小白总结自用,不一定适用于其他人,请自行甄别

3、有任何疑问,欢迎私信探讨,看到后会及时回复

4、另外,想要获取 NUDT 计算机免费的相关资料,建议加官方QQ群756084430,资料全部都是免费的,收费的都是骗纸

选择题

  1. 双极型RAM同SRAM比较,最突出的优点:速度更快大概因为数据和地址线都不能复用
  2. 随机存取方式:

    不采用随机存取方式:CDROM

    采用随机存取方式:EPROM、“RAM、ROM都采用“

  3. Cache失效开销 = 将主存一块加载到Cache所需的时钟周期数
  4. 地址映射:

    Cache和主存的地址映射:由硬件自动完成的

    Cache缺失:只用访问主存,由硬件处理

    页面缺失:需要访问磁盘,由 “OS,操作系统,软件“ 处理

    主存与虚存的地址映射:OS,操作系统,软件

  5. 利用程序局部性:Cache、快表、虚存页表X
  6. 页表未命中,TLB快表绝对不会命中,因为TLB的数据是页表的复制(Cache的数据是主存的复制一样
  7. 半导体存储器并不采用随机存取方式(按地址随机存取)进行读写操作,也有按内容存取的

填空题

  1. 主存的4个主要组成:存储矩阵、选址系统(地址总线) 、读写系统(数据总线) 、时序控制线路(控制总线)
  2. SRAM,双稳态触发器

    速度快,但集成度低、功耗大

  3. DRAM,栅极电容
  4. DMAR刷新的方式:

    集中

    分离

    透明

  5. 计算出虚拟地址的位数x后,有2x个页面(不要直接填x啦
  6. 虚存只是一个的概念,是一种存储管理机制,实际上是不存在的,虚拟空间的大小与逻辑地址的位数有关
  7. 光盘/CD

    存取方式/读写特性有3种:只读型、可擦写型、追记型

    按存储介质有3种:形变型、相变型、磁光型

  8. 磁性材料的磁头具有3个特性:留磁少、导磁率高、软磁
  9. RAID盘阵由多个小容量廉价磁盘构成,被操作系统当作一个整体的大容量磁盘。校验盘用于保存备份冗余的信息

简答题(Cache)

直接映射:标记位数 + 号位数 + 块内地址位数

全相联映射:标记位数 + 块内地址位数

组相联映射:标记位数 + 号位数 + 块内地址位数

--------------------------------------------------------------------

注:全相联映射,是Cache中的任意空闲位置都可以放,不一定非得按照顺序的空位放

块大小设置为1字节的影响(2点)[袁主教材P259]

  1. 没有利用空间局部性,只有可能有时间局部性
  2. 块太小导致映射到同一个cache行的主存块数增加,导致冲突概率增加

块大小越大的缺点:

  1. 块越大,缺失损失也就越大,需要花费更多的时间从主存复制一个块
  2. 在Cache空间一定的情况下,块越大,Cache行就会越少,触发替换的可能性就越大,导致命中率降低 

简述全相联映射的访问过程

1、全相联映射:标记位数(20-9=11位) + 块内地址位数(9位)

2、0240CH = 0000 0010 0100 0000 1100

标记位数

块内地址位数

0000 0010 010

0 0000 1100

3、访问过程:

①命中时:

  • 用高11位0000 0010 010与Cache的每一行的标记位进行一一比较,若有一个相等且有效位为1,则命中
  • 此时CPU根据后9位块内地址位0 0000 1100取出块内的数据

②反之,则不命中:

  • 将高11位0000 0010 010(在主存中为第18块)复制到Cache中任何一个空闲的行中
  • 置该行有效位为1,标记位设置为0000 0010 010

简述组相联映射的访问过程

1、组相联映射:

Cache:13 = 3+1(2块一组,占1位)+9

主存:标记位数(20-9-3=8位)+ 号位数(3位) + 块内地址位数(9位)

2、0240CH = 0000 0010 0100 0000 1100

标记位数

号位数

块内地址位数

0000 0010

010

0 0000 1100

3、访问过程:

①命中时:

  • 先用中间3位010,找到Cache第2组
  • 再用高8位0000 0010该组Cache的每一行的标记位进行一一比较,若有一个相等且有效位为1,则命中
  • 此时CPU根据后9位块内地址位0 0000 1100取出块内的数据

②反之,则不命中:

  • 将高11位0000 0010 010(在主存中为第18块)复制到Cache第010组(即第2组)的任意空闲行
  • 置该行有效位为1,标记位设置为0000 0010

简述CPU从主存地址067A H,取出的数据值是多少?并描述过程。(TLB、页表、Cache、虚存、分页《袁春风解答P222T25》

其中位数:

  1. 虚拟页号,简称虚页号,该TLB项对应哪个虚页的页表项
  2. 虚存地址的页内偏移量 = 物理地址的页内偏移量
  3. 虚存地址的虚拟页号 = TLB标记 + TLB组索引
  4. 物理地址的位数 = Cache的位数

访问内存地址067A H过程描述

①(见以下对比)

  • CPU根据TLB组索引00,在TLB的第0组中,匹配所有TLB标记字段0000 011 B = 03H的页表项,有相等的但是有效位不等于1,所以在TLB未命中
  • CPU继续在主存的页表中查找,虚拟页号为0000 0110 0 B = 0C H 的页表项,有效位为1,取出页框号19H(注意,不是十进制,因为表中有ABCDEF,明显是十六进制),与页内偏移量组成物理地址:1 1001B + 111 1010B = 1100 1111 1010B

②组相联映射的访问过程

命中时:

  1. 先用中间4位1110,找到Cache第E组
  2. 再用高6位1100 11B = 33 H该组Cache的每一行的标记位进行一一比较,若有一个相等且有效位为1,则命中
  3. 此时CPU根据后2位块内地址位10取出块内的数据的值,为4A H = 0100 1010 B

虚拟地址、页目录号、页号、页目录物理地址、页表项物理地址

821.2018.T4(1))例如:

已知,页大小4KB,页表项4B,虚拟地址42位

30,虚拟页号

12,页内偏移量

可知:页表大小 = 2^{30} x 4B

----------------------------------------------------------

408.2020

预备知识:

  • 数组可以随机存取

    虚拟地址空间所占的区域必须连续

    物理地址空间所占的区域可以不连续

题目所给条件梳理:

  1. C程序:

    数组下标从0开始

    按行优先方式存储

  2. 页目录项 = 4B
  3. 页表长度 = 4B
  4. 数组元素 = 4B
  5. 字节编址
  6. 页内偏移量 = 12位

    一个页面大小 = 212B

    一个数据4B,所以,一个页面有 212B / 4B = 210个数据

  7. 数组起始的虚拟地址:1080 0000 H
  8. 页目录起始物理地址:0020 1000 H

分析

1、因为数组a 一行是1024个数据,起始虚拟地址10800 H 刚好存下 a[0] 的所有数据,a[1][2]的虚拟地址是

1080 0 H + 1 H = 1080 1 H,这就是a[1]的页号

1080 1 H + (3-1)x 4B  = 1080 0000 H + 8 H = 1080 1008 H,这就是a[1][2]的虚拟地址

其中4B,一个数据的大小,按字节编址,1B占一个地址

1080 1008 H

10位,页目录号

10位,页号

12位,页内偏移量

0001 0000 10

00 0000 0001

0000 0000 1000

64+2 = 66

1

042 H

001 H

2、页目录的物理地址 = 页目录起始物理地址 + 页目录项 x 页目录号

页目录的物理地址 = 0020 1000 H + 4B  x 66 = 0020 1000 H + 108 H = 0020 1108 H

3、页表项的物理地址 = 目录项种存放的页框号 + 页表长度 x 页号

页表项的物理地址 = 0030 1000 H + 4B  x 1 = 0030 1004 H

大题

存储器扩展

存储空间的容量(请务必引起重视!!!直接关系到后面的问答

需要的存储芯片数量

哪几位作为字扩展控制CS

主存字段的划分(Cache与存储器的映射方式)
Cache的总容量
Cache命中率

CPU访存时钟周期

Cache命中率x命中时钟周期开销 + (1-Cache命中率)x失效时钟周期开销

画存储芯片的片选逻辑电路

磁盘:(边读题边在草稿纸写下有效信息)

虚拟地址、物理地址、Cache、主存,字段划分,与数据的读取过程(821.15.T3、袁春风解析.P222T25

补充知识点

Cache 高速缓冲存储器

地址映射直接映射 (1路组相联映射)全相联映射(N路)组相联映射
主存地址结构 Tag | Cache块号位 - 0 | 块位(B)
其中,1=2
0
 Tag | 0 | 块位(B) Tag | Cache块号位 - 组号位 | 块位(B)
例子
 - 主存:32位
 - 块大小:16B
 - Cache总大小:4K块
主存:
 Tag | 12 | 4
Tag = 32-12-4 = 16
 Tag | 4
Tag = 32 - 4 = 28
(假设 2路组相联)
Tag+1 | 12-1 | 4
Tag = 32 - (12-1) -4 = 17
关联度1(唯一)Cache的行数N
备注1、不需要使用替换算法按内容寻址的相联存储器 
共同点0、Cache 标记容量:(Tag + 1 + 1 + 1) · 行数
1、只占 Cache 空间:有效位(1bit)、一致性维护位/脏位/修改位(1bit)、替换算法控制位(1bit)
2、关于Tag:
  ①一定是由主存地址结构推导出的
  ②Tag 是 Cache 和主存之间的唯一标识 ∴Tag占Cache和主存的位数
3、Cache命中的2个条件:①有效位为1;且②Tag 相同

 替换算法

替换算法随机算法 RAND先进先出算法 FIFO近期最少使用算法 LRU最不经常使用算法 LFU
原理//唯一遵循,程序局部性原理/
操作方式  被访问置0,其他+1,替换掉计数器最高的被访问的+1,最小的替换
备注 最容易发生抖动现象堆栈类算法 

 写策略

写策略写命中写不命中
方式全写法/写直达回写法写分配写不分配
操作CPU同时写数据到Cache和写缓冲中,由写缓冲写入主存Cache块被替换时才写入主存,修改时脏位置1主存加载块到Cache,然后只在Cache中更新直接修改主存数据
备注1、主存和Cache全都修改
2、解决”写缓冲“溢出,增加一个L2级Cache
3、能保证数据的一致性
1、计算Cache位数时,要算:1bit有效位+1bit脏位
2、可减少访存次数
  

Cache-主存-辅存

 Cache-主存主存-辅存
位置不同Cache靠近CPU辅存远离CPU
目的不同加快CPU访问信息的速度采用虚拟存储器机制,扩大系统的存储器容量
交换信息块的不同主存块block,8-128B页page,4KB-64KB
缺失处理(处理器)硬件(操作系统)软件
映射方式不同直接、全相联、组相联
由(处理器)硬件实现
只有全相联
由(操作系统)软件实现
写策略不同写直达、写回2种策略只采用写回策略
∵每次都写直达的开销巨大,无法容忍
相同点1、都用到了程序访问局部性,把相邻的局部信息,从慢速存储器复制到快速存储器
2、都需要考虑:映射方式、替换策略
3、在快速存储器找不到数据时,都需要从慢速存储器装入整个信息所在的块到快速存储器

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

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

相关文章

基于 SSM 数据结构课堂考勤管理系统的设计与实现

摘 要 高校的不断扩张让在校学生数量不断的增加,对于教师和管理人员的需求也在不断地增强,对日常的学生考勤管理的工作量也在日益增加,传统的人工点名签到的考勤管理模式已经给无法适用于当前高校考勤管理的需求,同时手动录入的…

C语言中的文件操作

C语言中的文件操作 1、文件的打开 创建文件指针变量 File* pf;定义一个指向FILE类型数据的指针变量,可以使pf指向某个文件的文件信息区,通过文件指针变量就能够找到与它关联的文件 (1)文件的打开 使用fopen函数打开文件&#…

白盒测试-条件覆盖

​ 条件覆盖是指运行代码进行测试时,程序中所有判断语句中的条件取值为真值为假的情况都被覆盖到,即每个判断语句的所有条件取真值和假值的情况都至少被经历过一次。 ​ 条件覆盖率的计算方法为:测试时覆盖到的条件语句真、假情况的总数 / 程…

LLM(一):大语言模型

自2022年,ChatGPT发布之后,大语言模型(Large Language Model),简称LLM掀起了一波狂潮。作为学习理解LLM的开始,先来整体的理解一下大语言模型 一,发展历史 大语言模型的发展历史可以追溯到早期…

【讲解下目标追踪】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

每日一题——环形链表的约瑟夫问题

题目链接: 环形链表的约瑟夫问题_牛客题霸_牛客网 题目: 描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后,只剩下一个人,问最后留…

idm线程越多越好吗 idm线程数多少合适 IDM百度云下载 IDM下载器如何修改线程数

IDM(Internet Download Manager)是一款流行的网络下载器,它支持多线程下载,这意味着它可以同时建立多个连接来下载文件的不同部分,从而提高下载速度。我们在使用IDM的时候总是有很多疑问,今天我们学习IDM线…

【形而上学】数据治理之元数据——用数据的数据管理数据

【形而上学】数据治理之元数据——用数据的数据管理数据 一、都柏林核心元数据元素集二、元数据2.1 什么是元数据2.2 元数据类型2.3 实现元数据的技术 三、元数据相关标准 一、都柏林核心元数据元素集 1995年3月,NCSA与OCLC共同在俄亥俄州都柏林市举行了一次仅有受邀…

【智能优化算法详解】粒子群算法PSO量子粒子群算法QPSO

1.粒子群算法PSO 博主言简意赅总结-算法思想:大方向下个体自学习探索群体交流共享 对比适应度找到最优点 背景 粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization), 缩写为 PSO。粒子群…

Linux:文本编辑器 - vim

Linux:文本编辑器 - vim vim基本操作普通模式模式切换移动光标复制粘贴删除替换撤销 底行模式行号查找 vim基本操作 Vim(Vi Improved)是一款功能强大的文本编辑器,是Unix/Linux系统中广泛使用的编辑器之一。它源于上世纪70年代开发的Vi编辑器&#xff0…

C#学习笔记9:winform上位机与西门子PLC网口通信_上篇

今日继续我的C#学习笔记,今日开始学习打开使用千兆网口来进行与西门子PLC的通信: 文章提供整体代码、解释、测试效果截图、整体测试工程下载: 主要包含的知识有:下载NuGet程序包、西门子PLC及通信协议、搭建虚拟的S7通信仿真环境…

为了进阿里拿Offer,逼得我两个月吃透了这些Java高级面试题解析,终于上岸

JVM与调优 21 题及答案解析 JVM的内存结构。 JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。 JVM的栈中引用如何和堆中的对象产生关联。 可以了解一下逃逸分析技术。 gc的常见算法 CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the wo…

51.网络游戏逆向分析与漏洞攻防-角色管理功能通信分析-角色选择的模拟与截取

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 内容参考于:如果看不懂、不知道现在做的什么,那就跟着做完看效果&…

制造业、能源等传统行业进行数字化转型时要注意哪些问题?

制造业、能源等传统行业在进行数字化转型时需要注意以下几个关键问题: 1、明确转型目标和战略规划:企业需要根据自身的业务特点、市场需求和长远发展目标,制定清晰的数字化转型战略。包括确定转型的重点领域、预期成果、时间表和资源投入。 …

阿里云云效CI/CD配置

1.NODEJS项目流水线配置(vue举例) nodejs构建配置 官方教程 注意:下图的dist是vue项目打包目录名称,根据实际名称配置 # input your command here cnpm cache clean --force cnpm install cnpm run build 主机部署配置 rm -rf /home/vipcardmall/frontend/ mkdir -p /home/…

计算分数和-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第48讲。 计算分数和&#…

3 突破编程_前端_SVG(rect 矩形)

1 rect 元素的基本属性和用法 在SVG中&#xff0c;<rect> 元素用于创建矩形。 <rect> 元素有一些基本的属性&#xff0c;可以用来定义矩形的形状、位置、颜色等。以下是这些属性的详细解释&#xff1a; x 和 y &#xff1a;这两个属性定义矩形左上角的位置。 x …

[dvwa] sql injection(Blind)

blind 0x01 low 1’ and length(version()) 6 # syntax: substr(string , from<start from 1>, cut length) 1’ and substr(version(),1,1) ‘5’ # 1’ and substr(version(),2,1) ‘.’ # 1’ and substr(version(),3,1) ‘7’ # 1’ and substr(version(),4,…

leetcode 322

leetcode 322 题目 例子 思路 记忆化搜索&#xff0c;使用数组&#xff0c;记录val的最少硬币数量&#xff1b; 递归加bfs; 代码实现 #include <vector> #include <climits> // For INT_MAX #include <algorithm> // For minclass Solution { public:int…

C#下Httpclient post请求获取令牌

1.postman测试ok 2.C#代码 public static async Task<string> testGetToken(string URL, string param){string responseBody "eee";//using (var clientHandler new HttpClientHandler()){ var handler new HttpClientHandler();handler.ServerCertificat…