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

文章目录

  • 一、层次化存储结构
    • 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.mzph.cn/diannao/36596.shtml

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

相关文章

吐血推荐!3款视频生成工具,全部国产,都免费

AI视频大模型的爆发,让创作爆款视频不再是专业人士的能力。 今天二师兄给大家推荐3款免费的视频生成工具。 01 可灵 推荐指数 : 五颗星 先看效果 可灵大模型测试 可灵大模型是快手AI团队自主研发的视频生成大模型,具备强大的视频创作能力&a…

教程:在 Kubernetes 集群上部署 WordPress 网站

WordPress 是专为每个人设计的开源软件,强调创建网站、博客或应用程序的可访问性、性能、安全性和易用性。WordPress 是一个基于 PHP 的内容管理系统(CMS),使用 MySQL 作为数据存储,目前很多网站、电商独立站、个人博客…

推荐系统三十六式学习笔记:原理篇.模型融合14|一网打尽协同过滤、矩阵分解和线性模型

目录 从特征组合说起FM模型1.原理2.模型训练3.预测阶段4.一网打尽其他模型5.FFM 总结 在上一篇文章中,我们讲到了使用逻辑回归和梯度提升决策树组合的模型融合办法,用于CTR预估,给这个组合起了个名字,叫“辑度组合”。这对组合中&…

个人支付系统实现

基础首页: 订单: 智能售卡系统 基于webmanworkerman开发 禁用函数检查 使用这个脚本检查是否有禁用函数。命令行运行curl -Ss https://www.workerman.net/check | php 如果有提示Function 函数名 may be disabled. Please check disable_functions in …

线程池FutureTask浅谈

一,概述 FuturnTask实现了Future与Runnable接口,笔者知道,ThreadPoolExecutor#submit可以传入Callable接口而非Runnable,区别点在于Callable可以返回值,而整个FuturnTask可以理解为Callable设计,用来优雅地异步获取执行结果,无需手动Condition去实现。 围绕此,需知道…

鸿蒙开发系统基础能力:【@ohos.wallpaper (壁纸)】

壁纸 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import wallpaper from ohos.wallpaper;WallpaperType 定义壁纸类型。 系统能力: 以下各项对应的系统能力均为SystemCapability…

【项目实训】falsk后端连接数据库以及与前端vue进行通信

falsk连接数据库 我们整个项目采用vueflaskmysql的框架,之前已经搭建好了mysql数据库,现在要做的是使用flask连接到数据库并测试 安装flask 首先安装flask pip install flask 进行数据库连接 数据库连接需要使用到pymysql库以及flask库 连接数据库…

Linux-引导过程与服务控制

目录 一、Linux操作系统引导过程 1、引导过程总览 2、引导过程详解 2.1、开机自检(BIOS) 2.2、 MBR引导 2.3、GRUB菜单 2.4、加载内核(kernel) 2.5、init进程初始化 3、系统初始化进程 3.1、Systemd单元类型 3.2、运行级别所对应的 Systemd 目…

SherlockChain:基于高级AI实现的智能合约安全分析框架

关于SherlockChain SherlockChain是一款功能强大的智能合约安全分析框架,该工具整合了Slither工具(一款针对智能合约的安全工具)的功能,并引入了高级人工智能模型,旨在辅助广大研究人员针对Solidity、Vyper和Plutus智…

前端 Array.sort() 源码学习

源码地址 V8源码Array 710行开始为sort()相关 Array.sort()方法是那种排序呢&#xff1f; 去看源码主要是源于这个问题 // In-place QuickSort algorithm. // For short (length < 22) arrays, insertion sort is used for efficiency.源码中的第一句话就回答了我的问题…

Potato(土豆)一款轻量级的开源文本标注工具(二)

示例项目&#xff08;模版&#xff09; Potato 旨在提高数据标注的可复制性&#xff0c;并降低研究人员设置新标注任务的成本。因此&#xff0c;Potato 提供了一系列预定义的示例项目&#xff0c;并欢迎公众向项目中心贡献。如果您使用 Potato 进行了自己的标注工作&#xff0…

海思平台使用ITTP_Stream调试sensor

目录 相关资料1.ISP相关资料2.MIPI RX相关资料3.sensor资料4.MIPI标准 准备工作1.准备sensor驱动2.准备sample vio3.准备上位机和下位机程序 运行1.只运行HiPQTool1.1.板端运行1.2.PC端运行HiPQTool 2.使用ITTP_Stream2.1.板端运行2.2.打开上位机软件 相关资料 1.ISP相关资料 …

uniapp开发手机APP、H5网页、微信小程序、长列表插件

ml-list 插件地址&#xff1a;https://ext.dcloud.net.cn/plugin?id18928 ml-list介绍 1、ml-list 列表组件&#xff0c;包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 2、ml-list 低代码列表&#xff0c;帮助使用者快速构建列表&#xff0c;简单配置&…

秋招突击——6/26~6/27——复习{二维背包问题——宠物小精灵之收服}——新作{串联所有单词的字串}

文章目录 引言复习二维背包问题——宠物小精灵之收服个人实现重大问题 滚动数组优化实现 新作串联所有单词的字串个人实现参考实现 总结 引言 今天应该是舟车劳顿的一天&#xff0c;头一次在机场刷题&#xff0c;不学习新的东西了&#xff0c;就复习一些之前学习的算法了。 复…

有哪些方法可以恢复ios15不小心删除的照片?

ios15怎么恢复删除的照片&#xff1f;在手机相册里意外删除了重要的照片&#xff1f;别担心&#xff01;本文将为你介绍如何在iOS 15系统中恢复已删除的照片。无需专业知识&#xff0c;只需要按照以下步骤操作&#xff0c;你就能轻松找回宝贵的回忆。 一、从iCloud云端恢复删除…

SRC公益上分的小技巧一

前言 之前发布的文章&#xff0c;例如SRC中的一些信息收集姿势- Track 知识社区 - 掌控安全在线教育 - Powered by 掌控者 里面就有提到若依系统&#xff0c;默认账号密码非常简单 是 admin / admin123 但是&#xff0c;往往我们去挖掘的时候很容易出现 这说明了若依系统的门…

【Linux:文件描述符】

文件描述符&#xff1a; 文件描述符的分配原则&#xff1a;最小未分配原则 每一个进程中有一个task_struct结构体&#xff08;PCB)&#xff0c;而task_struct中含有struct file_sturct*file的指针&#xff0c;该指针指向了一个struct files_struct的结构体该结构体中含有一个f…

三大工作流引擎技术Activiti、Flowable、Camunda选型指南

文章目录 前言1 流程引擎发展历程2 流程引擎主要概念BPM (Business Process Management)BPMN (Business Process Model and Notation)CMMN (Case Management Model and Notation)DMN (Decision Model and Notation)事件&#xff08;Event&#xff09;顺序流&#xff08;Sequenc…

用一个实例看如何分享大量照片 续篇二,关于Exif (Exchangeable Image File) - 可交换图像文件

续篇二&#xff1a;说说关于照片隐含的 Exif (Exchangeable Image File) 可交换图像文件 数码照片的Exif 参数有很多&#xff0c;重要的Exif信息&#xff1a;拍摄日期、时间、拍摄器材、GPS信息。 当然这主要对自己的档案有意义&#xff0c;如果放到网上还是建议抹去这些信息。…

Bad owner or permissions on C:\\Users\\username/.ssh/config > 过程试图写入的管道不存在。

使用windows连接远程服务器出现Bad owner or permissions 错误 问题&#xff1a; 需要修复文件权限 SSH 配置文件应具有受限权限以防止未经授权的访问 确保只有用户对该.ssh/config文件具有读取权限 解决方案&#xff1a; 在windows下打开命令行&#xff0c;通过以下命令打开文…