【系统架构设计师】计算机组成与体系结构 ③ ( 层次化存储结构 | 寄存器 | 高速缓存 | 内存 | 外存 )

文章目录

  • 一、层次化存储结构
    • 1、层次化存储结构
    • 2、层次化存储结构 - 示例说明
    • 3、程序员可操作的部分


计算机 采用 分级存储结构 , 主要目的是 为了 解决 容量 / 价格 / 速度 之间的矛盾 ;





一、层次化存储结构




1、层次化存储结构


计算机 存储器 按照存储速度 由快到慢 进行排序 :

  • CPU 寄存器 : 在 CPU 内部 , 速度最快 , 每秒可操作几十亿次 , 其容量只有 几个字节到几十个字节不等 , 其访问速度 1 个 CPU 周期 ;
    • CPU 周期 : 指的是 CPU 的运算一次花费的事件 , 2.4GHz 频率的 CPU 1 秒钟运算 24 亿次 , 其周期就是 24 亿分之一秒 ;
    • 寄存器大小 : 32 位 CPU 寄存器有 8位、16位、32位 , 64 位 CPU 寄存器有 8位、16位、32位、64位 ;
  • 高速缓存 Cache : 位于 CPU 与 内存 RAM 之间 , 速度较快 , 用于暂时存放 频繁使用的 指令和数据 , 可根据速度又分为 L1、L2、L3 多级高速缓存 , 大小在几百 KB 到 几 MB 之间 , 访问速度在 1 ~ 30 个 CPU 周期 ;
  • 内存 : 又称为 " 主存储器 / RAM " , 插在计算机的主板上 , 速度慢 , 访问速度在 50 ~ 200 个 CPU 周期 , 一般家用电脑的 内存条 有 4 ~ 32GB 大小 ;
    • RAM 全称 Random Access Memory 是 随机存取存储器 , 一旦掉电数据全部刷掉 ;
      • DRAM 全称 Dynamic Random Access Memory 是 动态随机存取存储器 , 一个电容 存储 1 比特信息 , 速度慢 , 成本低 , 性能低于 SRAM ;
      • SRAM 全称Static Random Access Memory 是 静态随机存取存储器 , 六个晶体管 存储 1 比特 信息 , 速度快 , 成本高 ;
    • ROM 全称 Read-Only Memory 是 只读存储器 , 掉电后数据不会丢失 , 一般 BIOS / 看门狗 都写在 ROM 中 , 其读写速度与 RAM 相当 ;
  • 外存 : 又称为 " 辅助存储器 " , 挂接在计算机外部的 硬盘 / 固态硬盘 / U 盘 , 容量很大可达到几 TB , 访问速度很慢 磁盘需要几千万个 CPU 周期 / 固态硬盘需要几十万个 CPU 周期 ;
    • 外存 断电后仍然可以存储数据 , 寄存器 / 高速缓存 / 内存 断电后数据消失 ;
    • 这里的 访问速度 指的是 建立连接所需时间 , 访问后吞吐量每秒几百 MB ;

在这里插入图片描述


2、层次化存储结构 - 示例说明


安装软件 , 是将 软件的程序包 存储到 外存 ( 磁盘 ) 中 ,

运行软件时 , 将要运行的 数据 加载到 内存 中运行 , 运行时 不会将整个软件包加载到内存中 , 用什么资源 , 就将对应的资源加载到内存中 , 如显示图片 , 就将图片加载到内存中 , 显示完毕后 , 马上释放该图片占用的内存资源 ,

如果需要进行 CPU 计算 , 程序指令调用 , 将 内存中的数据 加载到 高速缓存 Cache 中 ,

正在执行的指令 , 加载到 CPU 内部的 寄存器 中 ;


3、程序员可操作的部分


程序员 开发软件 , 可以操作 寄存器 / 外存 / 内存 , 高级缓存 Cache 对开发者透明 ;

  • 高级语言只能操作 内存 和 外存 ,
  • 只有 汇编语言可以操作寄存器 ;

操作 外存 就是 文件管理 ;

操作 内存 就是 定义变量 和 函数 , 运行过程中涉及的操作 栈内存 和 堆内存 ;

  • C 语言可以直接手动操作 堆内存 ;
  • Java / Python 等高级语言 由系统管理 堆内存 ;

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

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

相关文章

SpringCloud Alibaba Sentinel规则持久化实践总结

默认情况下&#xff0c;一旦我们重启应用&#xff0c;sentinel规则将消失&#xff0c;生产环境需要将配置规则进行持久化。这里我们实践将Sentinel持久化到Nacos中。 ① pom依赖 我们引入sentinel-datasource-nacos&#xff1a; <dependency><groupId>com.aliba…

关于0xc000007b的一种解决方案

今天我在安装qview并运行时时&#xff0c;遇到了这个问题。 我在网上查找了许多解决方案&#xff0c;但它们大多都说是某些dll缺失或错误引起的。 这些说法应该是正确的&#xff0c;但我用了dll修复工具后&#xff0c;一点用都没有。 后来捣鼓半天后&#xff0c;我发现很可能…

SAP PP学习笔记22 - 生产订单(制造指图)的元素1

前面几章讲了PP 里面生产计划的各种策略以及策略的Customize。 SAP PP学习笔记20 - 复习总结一下MTS&#xff0c;MTO&#xff0c;ATO的各种生产策略-CSDN博客 SAP PP学习笔记21 - 计划策略的Customize&#xff1a;策略组 &#xff1e; 策略 &#xff1e; 需求类型 &#xff1…

Studying-代码随想录训练营day22| 回溯理论基础、77.组合、216.组合总和II、17.电话号码的字母组合

第22天&#xff0c;回溯章节开始&#xff01;一大算法难点&#xff0c;加油加油&#xff01; 回溯理论基础组合问题的剪枝操作 文档讲解&#xff1a;代码随想录回溯理论基础 视频讲解&#xff1a;回溯理论基础 回溯法也叫回溯搜索法&#xff0c;它是一种搜索&#xff0c;遍历的…

Shell 编程入门

优质博文&#xff1a;IT-BLOG-CN 【1】x.sh文件内容编写&#xff1a; 固定开头&#xff1a;#&#xff01;/bin/sh&#xff1b; 【2】学习的第一个命令就是echo输出的意思&#xff1b; 【3】其实shell脚本也就是在文件中写命令&#xff0c;但是我们要写的是绝对路径&#xff1a…

鸿蒙开发设备管理:【@ohos.batteryInfo (电量信息)】

电量信息 该模块主要提供电池状态和充放电状态的查询接口。 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import batteryInfo from ohos.batteryInfo;属性 描述电池信息。 系统能…

php基础语法_面向对象

PHP php代码标记 多种标记来区分php脚本 ASP标记&#xff1a;<% php代码 %> 短标记&#xff1a; 脚本标记: 标准标记&#xff08;常用&#xff09;&#xff1a; 简写风格&#xff1a; ASP风格&#xff1a;<% php代码 %> 注意&#xff1a;简写风格和ASP风格…

web前端——HTML

目录 一、HTML概述 1.HTML是什么&#xff1f; 2.HTML具体化解释 二、HTML基本语法 1.声明 2. Head头标签 3.body身体标签 4.一个html的基本结构 5.标签 6.标签属性 ①属性的格式 ②属性的位置 ③添加多个属性 三、基本常用标签 1.超链接 2.图像标签 ①图像标…

SAP ALV 负号提前

FUNCTION CONVERSION_EXIT_ZSIGN_OUTPUT. *"---------------------------------------------------------------------- *"*"本地接口&#xff1a; *" IMPORTING *" REFERENCE(INPUT) *" EXPORTING *" REFERENCE(OUTPUT) *"…

Docker之jekins的安装

jekins官网地址&#xff1a;Jenkins Plugins &#xff08;https://plugins.jenkins.io/&#xff09; jekins 的docker 官方地址&#xff1a;https://hub.docker.com/r/jenkins/jenkins jekins 的docker 允许命令文档地址&#xff1a; docker/README.md at master jenkinsci…

接口自动化测试框架实战(Pytest+Allure+Excel)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1. Allure 简介 Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具&#xff0c;它不…

Mac电脑安装HomeBrew工具(100%成功)

1.Homebrew是什么&#xff1f; homebrew是一款Mac OS平台下的软件包管理工具&#xff0c;拥有安装、卸载、更新、查看、搜索等功能。通过简单的指令可以实现包管理&#xff0c;而不用关心各种依赖和文件路径情况。 2.homebrew常用命令 检测是否安装HomeBrew: brew -v卸载Hom…

输出100以内的质数

质数&#xff1a;只能被1和自身整除的数 let count; for(let i2; i<100; i){for(let j1; j<i; j){if(i % j 0){// 只要能被整除&#xff0c;count就加1count;}} if(count 2) {// 从1到自身被整除完之后&#xff0c;如果count只有两次&#xff0c;则说明i为质数co…

【Web3】Web3.js 启动!并解决Web3 is not a constructor报错

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 本节教大家如何启动Web3.js 目录 Web3 启动&#xff01; 于是很愉快的报错 创建实例&#xff01; 出来了 Web3&#xff1a;模块…

【银河麒麟】高可用触发服务器异常重启,处理机制详解

1.服务器环境以及配置 【机型】物理机 处理器&#xff1a; Intel 内存&#xff1a; 126G 【内核版本】 4.19.90-25.16.v2101.ky10.x86_64 【银河麒麟操作系统镜像版本】 Kylin-Server-10-SP2-Release-Shenzhen-Metro-x86-Build01-20220619 Kylin-HA-10-SP2-Release-S…

数据结构_绪论

1.数据结构的研究内容 研究数据的特性和数据之间的关系 用计算机解决一个问题的步骤 1.具体问题抽象成数学模型 实质: 分析问题--->提取操作对象--->找出操作对象之间的关系(数据结构)--->用数学语言描述 操作对象对象之间的关系 2.设计算法 3.编程,调试,运行 …

内容安全复习 1 - 信息内容安全概述

文章目录 信息内容安全简介网络空间信息内容安全大模型 人工智能简介 信息内容安全简介 网络空间 网络空间是融合物理域、信息域、认知域和社会域&#xff0c;控制实体行为的信息活动空间。 上图展示了网络空间安全的结构。可以看到将网络空间划分为了网络域和内容域两个部分。…

PHP-CGI的漏洞(CVE-2024-4577)

通过前两篇文章的铺垫&#xff0c;现在我们可以了解 CVE-2024-4577这个漏洞的原理 漏洞原理 CVE-2024-4577是CVE-2012-1823这个老漏洞的绕过&#xff0c;php cgi的老漏洞至今已经12年&#xff0c;具体可以参考我的另一个文档 简单来说&#xff0c;就是使用cgi模式运行的PHP&…

群晖系统百度网盘套件卸载之后无法再次安装 ContainerManager项目无法删除

前言 最近重新组了个NAS&#xff0c;在套件迁移的时候遇到个头疼的问题。在用矿神的百度网盘在迁移的时候出错了&#xff0c;于是我自己删掉baiduapp得容器和镜像然后卸载套件。不知道中间出了啥问题&#xff0c;套件是已经卸载了&#xff0c;但是群晖ContainerManager套件中的…

GPT-5对普通人有何影响

这篇文章对ChatGPT的使用方法和提问技巧进行了讨论&#xff0c;重点强调了背景信息和具体提问的重要性。文章清晰地传达了如何提高ChatGPT回答的质量&#xff0c;以及个人在使用ChatGPT时的体会和建议。然而&#xff0c;文章在逻辑组织和表达方面还有一些可以改进的地方&#x…