计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器

学习笔记

前言

本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。

容量拓展

1. 字扩展

字扩展中,两个芯片的数据线是完全并联的,因此存储器的“字长”(即数据线的位数)不会增加。其逻辑如下:

  1. 地址线分配:

    • 低位地址线(如 A0~A9)连接到每个芯片的地址引脚,用于访问单个芯片的存储单元。

    • 高位地址线(如 A10)用于控制每个芯片的片选信号(CS)。

  2. 存储单元的扩展:

    • 容量变为两倍。

    • 数据宽度(字长)保持为4位,因为数据线没有增加。

  3. 逻辑控制:

    • 系统根据高位地址信号,控制具体哪个芯片处于工作状态(每次只有一个芯片被选中)。


2. 位扩展

以两个1K×4的存储器通过位扩展组成一个1K×8的存储器为例:

  1. 地址线并联

    • 两个芯片的地址线完全相同,即系统的地址信号同时传递到每个芯片,所有芯片的地址空间是重叠的。

    • 如果有10根地址线(A0~A9),每个芯片都响应这10根地址线。

  2. 数据线分配

    • 两个芯片的数据线不重叠,而是分别连接到系统数据总线的不同部分。

    • 例如:

      • 第一个芯片的4条数据线(D0~D3)连接到系统数据总线的低4位。

      • 第二个芯片的4条数据线(D4~D7)连接到系统数据总线的高4位。

    • 这样,每个地址单元的数据宽度从4位变为8位。

  3. 控制线共享

    • 两个芯片的读写控制信号(如 /WE 和 /OE)完全共享。系统对一个地址的读写操作会同时作用于所有芯片。


3. 位扩展与字扩展的对比

特性字扩展位扩展
数据位宽变化不变增加
地址空间变化增加不变
存储单元数量增加不变
数据线分配全部并联分别连接到不同的部分
地址线分配低位地址线并联,高位地址线用于片选完全并联
控制信号片选信号区别不同芯片所有芯片共享相同信号

多模块存储系统

  • 多模块存储系统是一种并行存储体系结构,通过将数据分散到多个存储模块中并行访问,提高存储器的带宽和访问效率。

  • 与单体存储器不同,多模块存储系统可以在一个存储周期内同时访问多个地址的数据。


1. 特点

  • 存储器被划分为多个存储模块,每个模块可以独立访问数据。

  • 多个模块之间协同工作,CPU可以同时读取或写入多个地址。

  • CPU无需等待单个存储模块完成数据访问,从而减少存储访问延迟。


2. 地址分配方式

为了实现并行访问,需要合理分配地址到多个存储模块。常见的分配方式有以下两种:

  1. 高位交叉

    • 地址空间按照模块编号顺序分配。

    • 例如:

      • 存储模块1:地址 0~3

      • 存储模块2:地址 4~7

    • 优点:逻辑简单。

    • 缺点:可能导致并行性不足。例如,访问地址 0~3 会集中在存储模块1,其他模块闲置。

  2. 低位交叉分配(Interleaved Addressing):

    • 地址的低位决定存储模块编号,高位表示模块内地址。

    • 例如:

      • 地址 0, 4, 8 分配到存储模块1。

      • 地址 1, 5, 9 分配到存储模块2。

      • 简单来说就是地址最后几位相同(地址取模)的分在一个模块中

    • 优点:大大提高了访问的并行性。


3. 实例对比

假设CPU需要访问连续的8个存储地址:

  1. 单体存储器

    • 每次只能访问1个地址。

    • 如果存储周期为1,则需要8个周期完成。

  2. 多模块并行存储器(4个存储模块)

    • 地址 0, 4, 8 分配到存储模块1,1, 5, 9 分配到存储模块2,依此类推。

    • 在1个周期内可以并行访问4个地址。

    • 总时间为 2个周期,效率理论上提高了4倍。


4. 其他值得注意的点

  • 当模块分时启动的时间间隔 <= 总线传输周期,此时可以取得的存储器带宽最大(我姑且先理解为效率最大了)

  • SDRAM可以实现在CPU需要等待存储器读取操作的时候让CPU去干其他的,待读取操作完毕,直接得到数据就行。


外部存储器

  • 定义:与计算机系统分开的存储设备,用于扩展存储容量或备份数据。

  • 性能指标:道密度/位密度/存储容量/平均寻址时间/数据传输率

  • 常见外部存储器

    • 移动硬盘

    • U盘

    • SD卡

    • 光盘(CD/DVD)

    • 网络存储(NAS)

RAID和SSD

  • 定义:将多个SSD组合以实现数据冗余和性能提升的技术。

  • 常见RAID级别:

    • RAID 0:数据条带化,提供高性能,但没有冗余,任何一块硬盘故障都将导致数据丢失。

    • RAID 1:数据镜像,每块硬盘均保存相同的数据,提供冗余,能够在一块硬盘故障的情况下继续工作,但存储效率较低(可用容量为总容量的一半)。

    • RAID 2:利用汉明码实现错误检测和修正,实际应用较少,通常不被广泛使用。

    • RAID 3:数据条带化且使用一块专用的奇偶校验盘,适合大型文件的存储。

    • RAID 4:类似于 RAID 3,但数据条带化是基于块而非字节,使用专用奇偶校验盘。

    • RAID 5:数据分布在多个硬盘上,并且每个硬盘上都有奇偶校验信息,能够承受一块硬盘故障,兼具高性能和冗余。

    • RAID 6:类似于 RAID 5,但提供双重奇偶校验,能够承受两块硬盘同时故障,更高的安全性。

    • RAID 10(RAID 1+0):结合 RAID 1 和 RAID 0,提供高性能和冗余,但需要至少四块硬盘。

高速缓冲存储器(Cache)

  • 性质:缓存是位于主存与CPU之间的存储器,速度比主存更快,但容量通常较小。

  • 功能:缓存通过存储近期使用的数据或即将使用的数据,加快数据访问,使系统能够更高效地工作。

  • 命中率

1. 缓存管理

  • 直接映射:每个主存地址映射到缓存的特定位置。

  • 全相联映射:主存的任意块可存放在缓存的任意位置,提高灵活性。

  • 组相联映射:前两者相结合, 缓存分为多个组,每组可以存放多个块, 减少冲突。

2. 替换算法

  • 最少使用(LRU):根据最近最少使用原则替换数据。

  • 先进先出(FIFO):最早进入缓存的数据最先被移除。

  • 最不常用(LFU):基于访问频率进行替换。

  • 随机替换(RAND):随机选择缓存中的一项进行替换。

3. 写策略

  • 写直达(Write-Through)

    • 数据同时写入缓存和主存,确保数据一致性。

    • 优点:数据一致性高,适合对数据安全性要求高的场景。

    • 缺点:性能较低。

  • 写回(Write-Back)

    • 数据写入缓存,只有在替换时才写入主存。

    • 优点:提高性能,适合频繁写入的数据场景。

    • 缺点:数据可能丢失,需处理数据一致性问题。


虚拟存储器

  • 定义:虚拟存储器是一种内存管理技术,允许计算机系统使用硬盘或其他外存作为扩展内存,从而实现比实际物理内存更大的有效内存容量。

  • 工作原理

    • 将程序的逻辑地址空间划分为逻辑段和页。

    • 使用段表和页表进行地址转换。

1. 快表

  • 定义:快表是一种用于管理缓存存储的数据结构,记录缓存的状态以提高数据访问的效率(相当于慢表的cache)。

  • 结构组成

    • 索引:定位缓存条目的关键字段。

    • 标签(Tag):缓存条目的标识,帮助区分不同数据。

    • 状态位:指示缓存条目的有效性、脏数据状态等

2. 段页式虚拟存储器

  • 基本概念

    • :程序的逻辑地址空间被划分为多个段,每个段可能具有不同的大小(例如,代码段、数据段、堆栈段)。

    • :段内部进一步被划分为固定大小的页。

  • 地址转换机制

    • 逻辑地址:由段号、页号和页内偏移组成。

    • 段表:记录每个段的基础地址和长度。

    • 页表:每个段都有对应的页表,用于映射段内虚拟页到物理页框。


结语

        学到关于”命中/未命中“这一部分,死去的记忆突然袭击我了,这不就是CSP的大模拟那道题吗,唉唉,真是令人感慨万千,多亏了当时那道题,令我现在理解起来很轻松~

        感觉学到现在还是没有太多实感,但也只能一步一个脚印走了。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Uniapp 手机基座调试App 打包成Apk文件,并上传到应用商店

1.Uniapp手机基座调试App。 1.1 以下是我另一篇文章 讲解 uniapp连接手机基座调试App、 Hbuildx使用SUB运行到手机基座测试_hbuilder基座-CSDN博客 2.打包本地的uniapp项目为apk文件。 打包的方式有很多种&#xff0c;我们可以选择本地打包和远程云端打包两种方式。 我们在打包…

vue调试工具 Vue.jsDevtools

文件下载 Vue.js Devtools 通过网盘分享的文件&#xff1a;ddebf336f8a44293bd4db9d0f287bc1c.crx 链接: https://pan.baidu.com/s/1uS3a49CwW-B000p5GwUQmQ 提取码: ko89 下载完了 &#xff0c;拖入chrome里&#xff0c;打开详情配置. 打开红框中的开关 重启浏览器&#xff…

数智化时代医院临床试验人才培养的创新路径与实践探索

一、引言 1.1 研究背景与意义 在当今数实化与智能化技术飞速发展的时代&#xff0c;医疗行业正经历着深刻的变革&#xff0c;数智化医院已成为未来发展的重要趋势。临床试验作为药物研发、医疗器械验证以及医疗技术创新的关键环节&#xff0c;对于推动医学进步、提高医疗质量…

产品更新 | 一网联千策:华望M-Cowork平台上的SysML模型协同管理

华望产品更新速递 功能介绍 | 协同平台M-Cowork的强大功能 ◆在线SysML建模与预览 ◆版本控制和基线管理 ◆可追溯的审签流程 ◆全面的系统管理 产品亮点 | 进一步了解协同平台M-Cowork ◆M-Cowork的管理功能 ◆M-Cowork的预览功能 ◆M-Cowork的审签流程 前言 在系统工…

纯相位全息图优化算法综述

◀ 背景引入 ▶ 近年来&#xff0c;得益于光学、电子和计算机等各项技术的进步以及新算法的不断提出&#xff0c;计算全息技术飞速发展。由于现有液晶空间光调制器对于纯相位全息图具有更高的调制能力与衍射效率&#xff0c;纯相位全息图优化算法一直以来都是研究热点。目前&…

Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定

本文仅作学习交流&#xff0c;不做任何商业用途 郑重感谢siki老师的汉化教程与代码猴的免费教程以及搬运烤肉的小伙伴 版本&#xff1a;Unity6 模板&#xff1a;3D 核心 渲染管线&#xff1a;URP ------------------------------…

CentOS 7 安装、测试和部署FastDFS

目录 FastDFS环境搭建 安装 libfastcommon 库 安装FastDFS 查看编译后的文件 FastDFS配置 FastDFS启动 启动tracker服务 启动storage服务 查看storage是否已经注册到了tracker下 查看存储文件的目录 FastDFS重启 FastDFS关闭 使用fdfs_test进行测试 修改client.co…

通用导出任何对象列表数据的excel工具类

在工作中经常会遇到列表数据的导出&#xff0c;每次需要的时候都要去开发一次&#xff0c;且数据不断在变化&#xff0c;于是就有了下述的工具类&#xff0c;可传入各种实体对象的List&#xff0c;最终以指定格式导出excel&#xff0c;废话不多说&#xff0c;上代码~ 控制层代…

前端:改变鼠标点击物体的颜色

需求&#xff1a; 需要改变图片中某一物体的颜色&#xff0c;该物体是纯色&#xff1b; 鼠标点击哪个物体&#xff0c;哪个物体的颜色变为指定的颜色&#xff0c;利用canvas实现。 演示案例 代码Demo <!DOCTYPE html> <html lang"en"><head>&l…

AI口播数字人系统快速搭建方法来袭!零经验小白也能学会!

随着AI口播数字人的身影在短视频和直播中的出现频率持续升高&#xff0c;越来越多的创业者都察觉到了AI口播数字人系统所蕴含着的巨大潜在用户规模和广阔收益前景&#xff0c;并打听起了AI口播数字人系统怎么搭建相关的各种消息。 毕竟&#xff0c;根据当前的使用情况来看&…

中小学生心理健康测评系统:精准洞察,助力成长!

随着社会的发展&#xff0c;中小学生的心理健康问题日益受到关注。国家出台了一系列政策&#xff0c;强调要加强学生心理健康教育。然而&#xff0c;在实际的校园环境中&#xff0c;中小学生面临着各种各样的心理挑战&#xff0c;课程增多、难度加大&#xff0c;考试频繁&#…

2024年12月英语六级CET6写作与翻译笔记

目录 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可行的目标 2 翻译 2.1 洋山港(Yangshan Port) 2.2 中国航天事业 2.3 北斗卫星导航系统 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可…

Unity性能优化 --- 减少OverDraw

OverDraw(过度绘制)就是GPU多次重复绘制同一像素点的操作。在Unity 中渲染的图像由数百万个像素组成&#xff0c;如果这些像素被多次绘制&#xff0c;那么会造成GPU极大的性能损耗。例如下图多个物体叠加放在一起 注&#xff1a;棕色越深的地方&#xff0c;过度绘制的次数越多。…

PostgreSQL 的历史

title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…

python学opencv|读取图像(二十一)使用cv2.circle()绘制圆形进阶

【1】引言 前序已经掌握了使用cv2.circle()绘制圆形的基本操作&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;二十&#xff09;使用cv2.circle()绘制圆形-CSDN博客 由于圆形本身绘制起来比较简单&#xff0c;因此可以自由操作的空间也就大&#x…

大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…

保险科技“数智化+”赋能险企高质量发展

文 / 太保科技有限公司人工智能服务事业群资深产品经理 娄昕盛 中国太平洋保险(集团)股份有限公司数智研究院人工智能首席专家 徐国强 中国太平洋保险(集团)股份有限公司数智研究院执行院长 王磊 近年来,保险科技正处在“数字化+”向“数智化+”发展的过渡阶段,…

AI科研助手开发总结:向量与数据权应用(二)

一、前言 继上篇文章&#xff1a;AI科研助手开发总结&#xff1a;向量与数据权限的应用&#xff08;一&#xff09; 本章根据向量库内存储数据及权限&#xff0c;向量库统一维护和管理数据权限方案讨论。 二、方案分析-基于向量Fields 2.1 思路 结合橙语AI科研助手的业务场…

数字逻辑(七)——逻辑运算中三种基本运算及其符合运算

目录 1 三种基本逻辑运算 1.1 与&#xff08;AND&#xff09; 1.2 或&#xff08;OR&#xff09; 1.3 非&#xff08;NOT&#xff09; 2 由基本门电路组成的其他门电路 2.1 异或 2.2. 同或 2.3 与非 2.4 或非 用于分析数字电路中逻辑功能的数学方法——逻辑代数&#…

分布式事务的解决方案(欢迎讨论~)

目录 背景 CAP定理 BASE理论 场景重现​编辑 分布式事务常见的解决分案 1.二段提交 2.三段提交 3.TCC模式 4.分布式补偿事务&#xff08;Saga&#xff09; 5.Seata分布式框架-XA模式 6.Seata分布式框架-AT模式 XA AT TCC SAGA 的对比 背景 首先必须介绍一下分布式中…