当前位置: 首页 > news >正文

计算机组成原理:存储系统【三】

在这里插入图片描述

在这里插入图片描述

🌈个人主页:godspeed_lucip
🔥 系列专栏:计算机组成与原理基础


  • 🚀1 只读存储器ROM
    • ✈️1.1 总览
    • ✈️1.2 各种ROM
    • ✈️1.3 计算机内部重要的ROM
    • ✈️1.4 总结
  • 🚀2 主存储器与CPU的连接
    • 🛩️2.1 总览
    • 🛩️2.2 芯片输入输出信号的常用缩写
    • 🛩️2.3 位扩展
      • 🛰️2.3.1 单块芯片的连接
      • 🛰️2.3.2 两块芯片的位扩展
      • 🛰️2.3.3 多块芯片的位扩展
    • 🛩️2.4 字拓展
      • 🛰️2.4.1 译码器片选法
      • 🛰️2.4.2 线选法
    • 🛩️2.5 字位同时扩展
    • 🛩️2.6 总结
    • 🛩️2.7 关于译码器的补充
  • 🚀3 双口RAM与多模块存储器
    • 🛫3.1 知识总览
    • 🛫3.2 双端口RAM
      • 🛸3.2.1 示意图
      • 🛸3.2.2 访问情况
    • 🛫3.3 多体并行器
      • 🛸3.3.1 访问时间
    • 🛫3.4 多模块存储器
    • 🛫3.5 总结
  • 🚀4 总结


🚀1 只读存储器ROM

✈️1.1 总览

image1

✈️1.2 各种ROM

image2
注意:虽然闪存既可以读也可以写,但是它还是属于ROM

✈️1.3 计算机内部重要的ROM

计算机主机的结构如图所示
image3
在关机后,主存中RAM的数据全部被清除,那么如果不采取其他措施,CPU就无法读取指令。

操作系统实际上是安装在辅存中,CPU需要读取主板上BIOS(属于ROM)芯片上的“自举装入程序”,它负责引导操作系统的装入(开机)。

逻辑上,我们应该将主存视为RAM+ROM的组成。CPU将二者统一编码,比如说,ROM占1KB,则ROM存储单元编号为1-1023,而RAM存储单元的编号起始位为1024。

✈️1.4 总结

image4
ROM也具有“随机存取”的特点

🚀2 主存储器与CPU的连接

🛩️2.1 总览

image1

🛩️2.2 芯片输入输出信号的常用缩写

image2

字扩展:字扩展就是要增加存储字的数量
位扩展:增大数据的范围

🛩️2.3 位扩展

🛰️2.3.1 单块芯片的连接

image3

🛰️2.3.2 两块芯片的位扩展

image4

🛰️2.3.3 多块芯片的位扩展

image5

🛩️2.4 字拓展

🛰️2.4.1 译码器片选法

(1)两块芯片的字拓展
image6
与之前一样,两块芯片接入同样的电信号、同时并联接入数据总线,这就要求同一时间只有一块芯片可以工作,使用A13位控制芯片的片选信号(称为1-2译码器)。这样,可表示地址范围从212变为213。

(2)多块芯片的字扩展
使用上文的思路,只要片选信号足够多,就可以连接多块芯片(由1-2译码器变为2-4译码器、3-8译码器)
image7
如图所示的电路,地址范围由一块芯片的213变为215

🛰️2.4.2 线选法

(1)基本思路与译码器片选法一致,但是它不是采用译码器。假设有两块芯片,则A13、A14直接与芯片连接,可想而知,只有当A13、A14位01或10时芯片才单独工作,输出的信号才有效。这样就使地址空间不连续。而采用译码器片选法得到的地址空间是连续的。

🛩️2.5 字位同时扩展

image8

🛩️2.6 总结

image9

🛩️2.7 关于译码器的补充

image10
一般来说,CPU与主存之间是如此连接的,CPU在将地址电信号发出后,会等信号稳定后再发出主存请求信号,译码器才工作,这样主存得到的就是一个稳定的信号。

🚀3 双口RAM与多模块存储器

🛫3.1 知识总览

image1

🛫3.2 双端口RAM

🛸3.2.1 示意图

image2
它的作用是优化多核CPU访问一根内存条的速度。同时它需要两组完全独立的数据线、地址线、控制线。CPU、RAM中也要有更复杂的控制电路。

🛸3.2.2 访问情况

image3
解决办法:
image4

🛫3.3 多体并行器

1. 假设电脑中有四个内存条,每个内存条中有八个存储单元。在给存储单元编号时,可以先将内存条编号,再将存储单元编号。有高位交叉编址及低位交叉编址。如图所示。
image5

2. 将各存储单元的编号写为十进制,分别为
高位编址:

081624
191725
7152331

低位编址:

0123
4567
28293031

🛸3.3.1 访问时间

(1)我们知道,主存在一次读写操作后(假设时间为r),需要一定时间进行恢复(一般较长,这里假设为3r)。
(2)当使用高位交叉编址时,CPU按序访问主存,由于0-8号存储单元连续的分布在一条主存内,则每访问一个存储单元都要花费4r的时间,如图所示
image6
(3)当使用低位交叉编址时,CPU按序访问主存,由于0-4号存储单元是一次分布在M0-M4中,读写操作完成后主存立即进行恢复(这个操作无须CPU介入)。所以当访问完第4个存储单元后,第1个存储单元已经恢复并可以立即访问,如图所示。
image7
可以看出低位编址的性能大大超过高位编址
(4)可以看出,
image8

🛫3.4 多模块存储器

分为多体并行存储器、单体多字存储器
image9
可以看出,单体多字存储器的灵活性较差,特别是当目的数据不是连续的4个单元时,单体存储器会读入较多的无用数据。

🛫3.5 总结

image10

🚀4 总结

计算机组成原理如一座精密的交响乐团,微观中展现着电子的舞蹈,宏观中奏响着科技的交响曲。

它拆解复杂问题为简单指令,通过微处理器的默契协作,创造出无尽可能。

存储单元如记忆的灯塔,指引信息的航程。

总线是信息的大道,连接着各个功能模块,使计算机成为无比高效的智慧之器。

在计算机组成原理的魔法指导下,世界逐渐变得更加智能、便捷、创新。

渴望挑战计算机组成与原理的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多CO的奇迹吧。我们推出了引领趋势的💻CO专栏:《计算机组成原理基础》 ,旨在深度探索CO的实际应用和创新。🌐🔍

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/301282.html

相关文章:

  • 学习Android的第十三天
  • 【开源】SpringBoot框架开发学校热点新闻推送系统
  • 代码随想录刷题笔记 DAY 28 | 复原 IP 地址 No.93 | 子集 No.78 | 子集 II No.90
  • LeetCode LCR 085. 括号生成
  • django定时任务(django-crontab)
  • 【教3妹学编程-算法题】输入单词需要的最少按键次数 II
  • 突破编程_C++_高级教程(多线程编程实例)
  • 精读《Function Component 入门》
  • 类的构造方法
  • ChatGPT和LLM
  • 「优选算法刷题」:判定字符是否唯一
  • 详解自定义类型:枚举与联合体!
  • 第13章 网络 Page738~741 13.8.3 TCP/UDP简述
  • Tomcat要点总结
  • Ubuntu 20.04 安装RVM
  • Ps:污点修复画笔工具
  • JAVA面试题17
  • 数据备份和恢复
  • 核心篇 - 集成IS-IS配置实战
  • 【OpenAI Sora】开启未来:视频生成模型作为终极世界模拟器的突破之旅
  • MVC 、DDD、中台、Java SPI(Service Provider Interface)
  • C++单例模式的实现
  • rust函数 stuct struct方法 关联函数
  • 浅谈基于中台模式的大数据生态体系的理解
  • MySQL的锁机制
  • 已解决ImportError: cannot import name ‘PILLOW_VERSION‘异常的正确解决方法,亲测有效!!!
  • 力扣:300. 最长递增子序列
  • Swing程序设计(10)列表框,文本框,文本域,密码框
  • 【Java八股面试系列】JVM-常见参数设置
  • 【Python--Web应用框架大比较】