计算机组成原理【CO】Ch3 存储系统

news2024/11/22 2:05:20

文章目录

  • 考纲
    • 3.1 存储系统概述
    • 3.2 主存储器
    • 3.3 主存储器与CPU的连接
    • 3.4 外部存储器
    • 3.5 高速缓冲存储器
    • 3.6 虚拟存储器
  • 【※】存储系统总体流程图
  • 【※】各个部件的存储位置
    • 计算机存储相关硬件与数据结构说明
      • 进程控制块(PCB)
      • 页表
      • 页表始址
      • 页表始址寄存器(PTR)
      • MMU(内存管理单元)
      • TLB(Translation Lookaside Buffer,快表)
      • Cache
      • PS:
  • 【※】DRAM芯片计算引脚的数目
    • 计算芯片引脚的数目
  • 【※】多模块存储器
    • 双端口RAM
    • 多模块存储器
      • 高位交叉编址
      • 低位交叉编址
      • 计算主存的带宽
        • 微观角度:
        • 宏观角度:
  • 【※】磁盘存储器
    • 磁盘的设备组成
    • 磁盘的性能指标
    • 磁盘地址
    • 磁盘阵列RAID
  • 【※】固态硬盘SSD
    • 原理
    • 组成
    • 读写性能特性
    • 与机械硬盘相比的特点
    • 磨损均衡技术
  • 【※】Cache性能分析
    • Cahce性能分析
    • 技巧【计算Cache的命中率】:
    • Cache的命中率与:
    • 如何区分Cache与主存的数据块对应关系?
    • Cache很小,主存很大。如果 Cache 满了怎么办?
    • CPU 修改了 Cache 中的数据副本,如何确保主存中数据母本的一致性?
  • 【※】主存地址与Cache的映射关系、地址结构
  • 【※】Cache总位数/总容量
  • 存储器概述
    • 存储器性能指标
  • SRAM和DRAM的比较
  • 存储器与CPU的连接

考纲

本章是重点里的重点,大题小题的考频都很高。本章常结合操作系统一起考察,是408里跨学科考察最多的一章。王道书3.1~3.4主要考小题;3.5、3.6经常考大题,要深入理解和学习。

3.1 存储系统概述

  • 比较简单的一个小节,概念较多,重点记忆“存储器的性能指标”如何计算。
  • 本节两个大题建议做一做,是很有代表性的考法。

3.2 主存储器

  • SRAM、DRAM芯片的底层硬件原理不用过度深究,只需要了解它们之间有什么特性区别即可。王道书“3.2.1_3.DRAM芯片的读写周期” 部分过于底层,讲了电气特性,简单了解即可,计组课程里不用深究。
  • 只读存储器ROM事实上已经从大纲里删除,今年大家只需要简要了解即可,不用花时间记忆。王道书里依然坚持讲ROM是因为固态硬盘SSD、Flash存储器本质上也是一种ROM,因此也决定了固态硬盘和Flash存储器“读快写慢”的重要特性。
  • 要理解主存储器的基本组成,需要知道每个寄存器作用,主存内部各个基本部件之间是如何相互协调工作的,以及CPU是如何与主存交互的。
  • 视频3.2.4 中介绍了双端口RAM、多模块存储器。前者(双端口RAM)已从408大纲删除,自命题考生仍需学习,408考生简单了解即可。

3.3 主存储器与CPU的连接

  • 本节内容通常考察小题,目前408未出现过大题。
  • 截至目前,408历年真题中还没有考过让你把主存和CPU“画图连线”的大题。通常只会在选择题中考察“字扩展、位扩展、字位扩展”相关的小题,做题难度不大。

3.4 外部存储器

  • “磁盘存储器”是操作系统和计组都会讲的考点,相对来说操作系统讲的会更详细深入。因此,如果在计组这边第一次学习磁盘存储器,感觉理解不透也没关系,学完操作系统再回来看会容易很多。
  • “固态硬盘”是2022年大纲新增的考点,个人认为近几年极有可能考选择题,重点注意固态硬盘的读写特性(读快写慢、随机读写、写前需擦除、擦除寿命有限)以及负载均衡技术。大家只要能理解课件内那张思维导图,做选择题一定没问题。

3.5 高速缓冲存储器

  • 大题高频考点,常与操作系统第三章结合考察,综合性较高,但大题题型套路相对固定。
  • 强化阶段会用一个例子帮助大家串联操作系统第三章与Cache的相关知识。
  • 适合在第一轮做的大题已在学习进度打卡表中说明,未写进打卡表的题目中含有后序章节内容,不建议在第一轮做。

3.6 虚拟存储器

  • 本节内容和操作系统第三章高度重合。计组这边建议先快速看看书,有个大概的了解即可,等学完操作系统第三章,第二轮复习时再回来仔细研究。

【※】存储系统总体流程图

在这里插入图片描述

【※】各个部件的存储位置

在这里插入图片描述

计算机存储相关硬件与数据结构说明

进程控制块(PCB)

  • 存放在主存的系统区(内核区)中,是一个数据结构,用于存储进程的各种信息。

页表

  • 存放在 PCB 中,用于描述每个进程的虚拟空间与物理内存的映射关系。每个进程的低地址部分或高地址部分可能映射到同一片内核空间。

页表始址

  • 存放在 PCB 中的 unsigned int 变量,指示页表的起始地址。

页表始址寄存器(PTR)

  • 存放在 MMU 中,系统运行进程前(切换进程)CPU 将会把页表始址复制到页表始址寄存器中,每个进程的页表始址不同。

MMU(内存管理单元)

  • 集成在 CPU 中,负责虚拟地址到物理地址的转换。

TLB(Translation Lookaside Buffer,快表)

  • 高速存储器,通常由相联存储器或 SRAM 组成,包含于 MMU 中,属于 CPU。存放当前进程的页表项的副本数据,用于加速地址转换。
  • 缺失处理由硬件自动实现。

Cache

  • 高速存储器,由 SRAM 组成,包含于 CPU,但不属于 MMU 的一部分。
  • 切换进程时,Cache 进程不作废,不同进程可能共享同一页框。
  • 缺失处理由硬件自动实现。

PS:

  • TLB 和 Cache 在底层硬件原理上相同(SRAM),但作用不同。
    • TLB(快表)存放着当前进程的页表项的副本数据,用于加速地址转换。
    • Cache 存放着内存块的副本数据,用于加速数据访问。

• 在进程被调度,开始运行之前,CPU 会将其页表始址存放到页表始址寄存器中,每切换一个进程,页表始址寄存器内容改变,也就是切换了一张页表。

• 若新进程上处理机运行时,TLB 的副本数据则全部作废,有效位全部变成 0。而 Cache 中的内容不需要全部作废。当刚开始运行新进程时,会经常发生 Cache 未命中的情况。

即:当 A 进程切换到 B 进程时:
① 页表始址寄存器更新
② TLB 副本数据全部作废,Cache 不需要全部作废

【※】DRAM芯片计算引脚的数目

• ABC 位:行数=A,列数=B,一个超元=C 位。
• 访问内存时,DRAM 芯片的读取过程:

  • 从地址线获取内存地址,进行行、列译码。
    • 先行:将对应行的整行数据放入行缓冲中。行缓冲是一整行的超元。
    • 后列:将行缓冲中对应的超元读到数据线。

计算芯片引脚的数目

在这里插入图片描述

【※】多模块存储器

双端口RAM

在这里插入图片描述

  • 支持两个 CPU 同时访问 RAM。
  • 可同时读/写不同的存储单元。
  • 可同时读同一个存储单元。
  • 不能同时写(或者一读一写)同一个单元。
  • 若发生“冲突”,则发出“BUSY”信号,其中一个 CPU 的访问端口暂时关闭。

多模块存储器

在这里插入图片描述

高位交叉编址

  • 理论上多个存储体可以被并行访问,但是由于通常会连续访问,因此实际效果相当于单纯的扩容。

低位交叉编址

  • 每个存储周期内可读写地址连续的 m 个存储字。
  • 每个体的存储字 = 总线的宽度。
  • 微观上,m 个模块被串行访问;
  • 宏观上,每个存取周期内所有模块被并行访问。
  • 连续取 n 个存储字耗时: T + ( n − 1 ) r 。 T + (n−1)r。 T+(n1)<

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

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

相关文章

Springboot Gateway 报错Failed to resolve “bogon”的原因及解决办法

一、问题出现原因及初步分析 今天遇到一个奇怪的错误&#xff0c;一个一直正确运行的微服务后台&#xff0c;突然无法访问&#xff0c;如何重启都会报错。 想到近期有人在服务器上安装过其它服务&#xff0c;因此&#xff0c;考虑可能是配置问题&#xff0c;可配置问题修复后…

实时数据同步之Maxwell和Canal

文章目录 一、概述1、实时同步工具概述1.1 Maxwell 概述1.2 Canal概述 2、数据同步工作原理2.1 MySQL 主从复制过程2.2 两种工具工作原理 3、MySQL 的 binlog详解3.1 什么是 binlog3.2 binlog 的开启3.3 binlog 的分类设置 4、Maxwell和Canal对比5、环境安装 二、Maxwell 使用1…

信也科技网络自动化实践-网络策略管理

1、背景 随着各种法律法规和行业标准的出台和更新&#xff0c;企业或组织需要遵守各种安全合规性要求。网络安全策略管理需要符合这些要求&#xff0c;从而保障企业或组织的安全和合规性。网络安全策略管理需要涵盖企业或组织的整个网络生命周期&#xff0c;包括网络规划、设计…

halcon 3.2标定相机

参考《solution_guide_iii_c_3d_vision.pdf》 3.2.2.2 Which Distortion Model to Use 选用何种畸变模型 对于面阵相机&#xff0c;halcon中两种畸变模型&#xff1a;The division model and the polynomial model&#xff08;差分模型和多项式模型&#xff09;&#xff0c;前…

MLOps

参考&#xff1a; 什么是MLOps&#xff1f;与DevOps有何异同&#xff1f;有什么价值&#xff1f;https://baijiahao.baidu.com/s?id1765071998288593530&wfrspider&forpcMLOps简介_AI开发平台ModelArts_WorkflowMLOps(Machine Learning Operation)是机器学习&#xf…

kafka(六)——存储策略

存储机制 kafka通过topic作为主题缓存数据&#xff0c;一个topic主题可以包括多个partition&#xff0c;每个partition是一个有序的队列&#xff0c;同一个topic的不同partiton可以分配在不同的broker&#xff08;kafka服务器&#xff09;。 关系图 partition分布图 名称为t…

Unity 扩展自定义编辑器窗口

在Assets文件夹路径下任意位置创建Editor文件夹&#xff0c;将扩展编辑器的代码放在Editor文件夹下 生成编辑器窗口 代码中首先引用命名空间 using UnityEditor; 然后将创建的类继承自EditorWindow public class MenuEditor : EditorWindow 然后通过扩展编辑器菜单功能调用…

AndroidStudio 导出aar包,并使用

打包 1、确认当前选项是否勾选&#xff0c;如未勾选请先勾选。 2、勾选完成后重启Android Studio。 3、重启完成后&#xff0c;选中要打包的module 4、打包完成 使用 1.在项目中新建libs,放入aar文件。 2.修改配置 添加如下代码 flatDir {dirs("libs")}3.修改app…

【BEVHeight论文阅读】自动驾驶车路协同车端感知算法

论文名称&#xff1a;BEVHeight: A Robust Framework for Vision-based Roadside 3D Object Detection 论文地址&#xff1a;https://arxiv.org/pdf/2303.08498.pdf 代码地址&#xff1a;https://github.com/ADLab-AutoDrive/BEVHeight 总结&#xff1a;这篇文章比较有意思的点…

单元测试四大过程

单元测试四大过程&#xff08;蓝桥课学习笔记&#xff09; 单元测试过程 单元测试是软件测试过程中的一个关键环节&#xff0c;它与集成测试、系统测试一样&#xff0c;分为测试策划、测试设计、测试执行和测试总结几个阶段。 单元测试过程中每个阶段需要完成的主要工作如下&…

ActiveMQ主从架构和集群架构的介绍及搭建

一、主从和集群架构的特点 1.1 主从架构的-Master/slave模式特点 读写分离&#xff0c;纵向扩展&#xff0c;所有的写操作一般在master上完成&#xff0c;slave只提供一个热备 1.2 集群架构-Cluster模式特点 分布式的一种存储&#xff0c;水平的扩展&#xff0c;消息的分布…

基于WOA优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 4…

聚类能代替分类吗?

聚类和分类是两种不同的机器学习方法&#xff0c;它们在处理数据时有着不同的目的和应用场景。 分类&#xff1a;分类是一种监督学习方法&#xff0c;它需要已标记的训练数据集。在分类中&#xff0c;算法会学习如何将输入数据映射到预定义的类别中。例如&#xff0c;给定一组包…

ActiveMQ 07 集群配置

Active MQ 07 集群配置 官方文档 http://activemq.apache.org/clustering 主备集群 http://activemq.apache.org/masterslave.html Master Slave TypeRequirementsProsConsShared File System Master SlaveA shared file system such as a SANRun as many slaves as requ…

开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

开源相机管理库Aravis例程学习&#xff08;一&#xff09;——单帧采集single-acquisition 简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程&…

vue快速入门(二十五)本地存储与初始化使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 本地获取数据数据存储到本地 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial…

Spire.PDF for .NET【文档操作】演示:合并 PDF 文档

需要合并 PDF 的原因有很多。例如&#xff0c;合并 PDF 文件允许您打印单个文件&#xff0c;而不是为打印机排队多个文档&#xff0c;组合相关文件通过减少要搜索和组织的文件数量来简化管理和存储多个文档的过程。在本文中&#xff0c;您将学习如何使用Spire.PDF for .NET将多…

JS-demo轮播图效果实现

原生JS开发轮播图效果 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widt…

【架构-13】云原生架构

云原生架构产生背景&#xff1f; &#xff08;1&#xff09;大量资源被占用且难以分享&#xff0c;上云后&#xff0c;云厂商提供统一的IaaS能力和云服务。 &#xff08;2&#xff09;提供极致性能的云原生算力。 &#xff08;3&#xff09;集成服务&#xff0c;构建管理数据、…

Adobe Premiere 2015 下载地址及安装教程

Premiere是一款专业的视频编辑软件&#xff0c;由Adobe Systems开发。它为用户提供了丰富的视频编辑工具和创意效果&#xff0c;可用于电影、电视节目、广告和其他多媒体项目的制作。 Premiere具有直观的用户界面和强大的功能&#xff0c;使得编辑和处理视频变得简单而高效。它…