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

news2024/12/26 0:23:06

文章目录

  • 一、层次化存储结构
    • 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.coloradmin.cn/o/1870392.html

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

相关文章

关于sum+=1与sum=sum+1的关系(C语言)

一、sum 1;与sum sum 1;是相等的&#xff0c;运算结果相等&#xff1b; 二、用一段代码说明&#xff1b; # define _CRT_SECURE_NO_WARNINGS #include <stdio.h>int main() {//初始变量值&#xff1b;int n1 1;int n2 1;//输出&#xff1b;printf("运算前的n…

02逻辑代数与硬件描述语言基础

2.1 逻辑代数&#xff08;简单逻辑的运算&#xff09; 2.2 逻辑函数的卡诺图&#xff08;从图论的角度&#xff09;化简法 2.3 硬件描述语言Verilog HDL基础&#xff08;研究生阶段才用得到&#xff09; 要求&#xff1a; 1、熟悉逻辑代数常用基本定律、恒等式和规则。 2、掌握…

电脑文件concrt140.dll丢失要怎么恢复?靠谱修复方法分析

电脑文件concrt140.dll丢失这种情况&#xff0c;相对来说还是比较少见的&#xff01;但是不代表没有&#xff0c;既然有人出现这种情况了&#xff0c;那么小编势必要给大家详细的讲解一下concrt140.dll这个文件&#xff0c;以及我们要怎么去解决concrt140.dll文件丢失的问题。下…

龙国南方航空滑块acw_v2+cookie+风控处理+type后缀

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未经许可禁…

【Linux】进程优先级 | 环境变量

目录 Ⅰ. 进程优先级&#xff08;Process Priority&#xff09; 1. 什么是进程优先级&#xff1f; 2. 查看系统进程 3. 修改进程优先级 4.优先级调度原理 Ⅱ. 进程的切换&#xff08;Process Switch&#xff09; 1. 竞争与独立 2. 并行与并发 3. 进程抢占 4.实现切换…

龙迅LT8711V TYPE-CDP 1.2转VGA芯片,内置MCU,成熟批量产品

龙迅LT8711V描述&#xff1a; LT8711V是一种高性能的Type-C/DP1.2到VGA转换器&#xff0c;设计用于连接USB Type-C源或DP1.2源到VGA接收器。LT8711V集成了一个DP1.2兼容的接收器&#xff0c;和一个高速三通道视频DAC。此外&#xff0c;还包括两个CC控制器&#xff0c;用于CC通…

Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案

前言 当你准备将Vue.js应用程序部署到生产环境时,一个关键的优化步骤是移除代码中的所有 console.log 语句以及断点。在开发阶段,console.log 是一个非常有用的调试工具,但在生产环境中保留它们可能会影响性能和安全性。在本文中,我将向你展示如何通过使用Vue CLI 2来自动…

三种分布式锁实现方式

目录 1、数据库自增 2、Redis自增 3、Zookeeper 4、其他 4.1、雪花算法 4.2、Tinyid 4.3、Leaf 4.4、数据库号段 1、数据库自增 利用数据库表的自增特性&#xff0c;或主键唯一性&#xff0c;实现分布式ID REPLACE INTO id_table (stub) values (’a‘) ; SELECT LA…

Adobe Indesign 操作

页面设计 页面设置 版面&#xff1a;图文和空白部分的总和。 版心&#xff1a;规划在版面中排印文本和图片的部分。 开本&#xff1a;单个页面的宽度和高度。 如图所示&#xff0c;新建文件&#xff0c;自定义是210297毫米。这个数据是开本大小。 点击“边距和分栏”&#…

Redis-主从复制-测试主从模式下的读写操作

文章目录 1、在主机6379写入数据2、在从机6380上写数据报错3、从机只能读数据&#xff0c;不能写数据 1、在主机6379写入数据 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> set uname jim OK 127.0.0.1:6379> get uname "jim" 127.0.0.1:6379>…

入职必备-mac下载安装maven

1、Maven 下载 1.1、官网下载安装包 官网下载链接 历史版本下载&#xff1a; Index of /dist/maven/maven-3/3.8.8/binaries 注意 .bash_profile 文件中的符号可能会影响配置 1.2、解压文件 2、Maven 环境配置 2.1、Java JDK 依赖 配置 maven 环境变量需要先配置好 JDK …

指纹浏览器是什么?跨境多账号安全如何保证?

随着电子商务的蓬勃发展&#xff0c;越来越多的商家选择开设多店来扩大经营规模。然而多店运营也带来了一系列的挑战&#xff0c;其中之一就是账号安全。 1. 了解反检测浏览器和代理服务器 在我们开始讨论如何有效地使用反检测浏览器之前&#xff0c;我们首先需要了解这两个工…

【ajax实战02】数据管理网站—验证码登录

一&#xff1a;数据提交&#xff08;提交手机验证码&#xff09; 核心思路整理 利用form-serialize插件&#xff0c;收集对象形式的表单数据后&#xff0c;一并提交给服务器。后得到返回值&#xff0c;进一步操作 基地址&#xff1a; axios.defaults.baseURL http://geek.…

3d模型材质吸不了什么原因?怎么解决?---模大狮模型网

3D模型无法吸取材质可能有以下原因&#xff1a; 文件格式不支持&#xff1a;某些文件格式(如STL)不支持嵌入材质信息&#xff0c;因此在导入此类文件后&#xff0c;需要手动为模型添加材质。 材质链接错误&#xff1a;如果模型文件中嵌入了材质信息&#xff0c;但是链接错误&a…

WiFi模块ESP8266同阿里物联网云平台连接(超详细)

写在前面&#xff1a;本节主要的内容是利用ESP8266模块&#xff0c;同阿里云物联网平台的连接&#xff0c;为后面的实现数据的远程展示与处理做好铺垫。 本节的主要内容分为一下几个阶段进行&#xff1a; 1、阿里云物联网平台的创建2、阿里云 IOT studio界面绘制3、mqtt.fx软件…

浅谈逻辑控制器之仅一次控制器

浅谈逻辑控制器之仅一次控制器 “仅一次控制器”(Once Only Controller) 是一个非常实用的组件&#xff0c;它允许用户控制测试计划中的某些操作仅执行一次&#xff0c;无论其所在的线程组或父级控制器设置了多少次循环。本指南将详细介绍“仅一次控制器”的功能、使用场景及配…

2024欧洲杯来啦!这个AI网站预测还挺准;10条Prompt包你测出AI视频工具的成色;AI搜索版「苦涩的教训」入行必学 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;ShowMeAI官网 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 1. 2024年欧洲杯来了&#xff01;AI预测比赛结果的玩法&#xff0c;也越来越高级了~ 2024 年欧洲杯于6月14日至7月14日在德国举行&#xff0c;共有24支国家队参加…

flash申请内存失败,导致老化问题解决

背景 在闪光灯初始化阶段客制化了一个buffer&#xff0c;下发到kernel的闪光灯驱动中用于保存读取闪光灯寄存器的值。功能测试都是正常的&#xff0c;但是一旦开始批量跑产线老化测试会有1/4500左右概率的后主摄拍照卡住。定位根因是闪光灯初始化失败&#xff0c;进一步原因就…

vant4的组件气泡弹出框van-popover,在列表中遍历后点击一个全部/显示隐藏,解决办法

环境&#xff1a;vue3 vant-ui4 <div v-for"(info, index) in item.infoListVOs" :key"index"><van-popoverv-model:show"showPopover":actions"actions"overlayplacement"bottom-end"select"onSelect(info…

vector的自实现(迭代器失效问题)与继承续讲

引子&#xff1a;在生活中&#xff0c;我们使用vector很频繁&#xff0c;我们是不是可以自己来实现一个呢&#xff1f;&#xff0c;其实也不难&#xff0c;我们在学过数据结构&#xff0c;就很easy啦&#xff01; As we all kowmn,vector基础有以下函数&#xff01; from my …