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

软考备考(三)

前言

上一篇文章写了计算机硬件系统的 CPU构造,知晓了CPU的组成、运算器、主存、控制器的包含组件以及作用。在末尾也讲述了流水线工作的原理以及运算公式。下面开始新的内容吧。

1、计算机的存储系统结构

如图所示,其中我们常说的Cache就是缓存。

成本:从右到左越来越贵

容量:从右到左越来越小

速度:从右到左越来越快

历史由来:        

        CPU原本是直接调用主存中的指令,但是随着CPU技术的发展,CPU的运行速度越来越快,但主存的运行速度却远远小于CPU,为了不让主存成为计算机发展的瓶颈,就发明了缓存,把CPU经常调用的指令放在缓存中,加快了程序的运行。

        辅存和主存采用的是虚拟缓存思想,就是把辅存(外存)的内存分一些出来给主存,类似于外接固态硬盘。

        内存就是主存!

2、计算机存储系统的性能指标?

成本、容量、速度。
3、主存的认识?

主存:随机存储器RAM(掉电丢失,可读可写,就是电脑的运行内存,16GB那个)

        {这里又可分为DRAM和SRAM,即分为动态和静态,区分点在于要不要动态刷新,动态要, 静态不用}

           只读存储器ROM(掉电不丢失)

这里要注意!!!!!!!


我们买电脑时看的固态硬盘SSD和机械硬盘HDD,是属于辅存(外存),不是主存!

4、存储器的存储方式?

一共有4种:

顺序存取(磁带)            直接存取(硬盘)

随机存取(内存)            相联存取(Cache)

        磁带存储就是2011年左右的那种磁带机,可以来放歌,听英语听力啥的,现在基本不用了,

顺序存储就是只能通过送磁带往一个方向送,不能删除,记录的东西就记录了,不能删除。

        直接存取:把数据存放在磁盘(外存)中,磁盘被分成了许多个“块”,每个块都有个标识,然后查找数据时就直接通过标识去查找。

        随机存取:想找哪个,就能马上找到哪个。比如读一本书,想读第五章,就直接通过目录(地址)跳到第五章。

        相联存取:要找某个数据,不用它的地址和编号,直接按照这个数据的某些特征来找。比如要找一个男生,那么就直接利用男生是短发这个特征去找即可。

5、存储器由多少个芯片组成?怎么算?

存储器由多个芯片组成,每个芯片的容量计算方式是:W*B;

W是存储单元,B是每个存储单元里面能存储多少个bit。

唯一考点:已知某个芯片的容量是w*b,则组成W*B的存储器需要(W / w)*(B / b)

例:假如芯片的容量是4*8,一个存储器的容量是16*24,则需要(16/4)*(24/8)=4*3=12(块)

答:需要12块芯片

6、主存储器的存储方式?

        主存储器会对每一个地址单元(1个字节,8位)进行单独编址,也可以说每个字都有个地址,地址用16进制表示。

例:

某个存储器要存储一组数据,这个数据的地址范围是A4000(H)-CBFFF(H)。那么这个数据表示了多少个字节?

解:用CBFFF-A4000+1=28000(H),即一共存放了28000个地址

转换成10进制为163840个地址,就是16KB.

7、了解基本的单位

在存储容量单位中

1B=8bit        1K=2的10次方bit=1024B        1KB=1K*bit=1024*8=8192 bit

在速率单位中

1K=10的3次方=1000B

8、什么是Cache和主存的命中率?

就是CPU要处理的数据恰好在Cache中的概率,也叫命中率。比如CPU要寻找小明的姓名,那么小明的姓名在Cache中的概率是20%,那命中率也是20%,那么主存的命中率就是80%。

所以:Cache和主存是不相容关系。Cache命中率+主存命中率=100%

常见考点:

已知Cache的命中率h,以及Cache和主存访问周期分别是t1和t2,那么系统的平均访问周期是

t3=h*t1+(1-h)*t2

就是用Cache的访问时间加上主存访问时间

9、Cache的淘汰算法有哪些?

(1)先进先出算法

(2)最近一段时间,很少使用的数据先排除算法

(3)随机选一个数据算法

http://www.dtcms.com/a/327467.html

相关文章:

  • jupyter notebook中查看kernel对应环境的解决方案
  • RK3568 Linux驱动学习——Linux LED驱动开发
  • 安全合规5--终端安全检测和防御技术
  • 【1】Transformers快速入门:自然语言处理(NLP)是啥?
  • 肖臻《区块链技术与应用》第九讲:比特币交易的“智能”核心:深入解析脚本语言Script
  • 常见的设计模式(2)单例模式
  • TDengine 初体验
  • Flink Python API 提交 Socket 数据源的 WordCount 作业
  • TDengine 可观测性最佳实践
  • 荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案
  • Flink运行时的实现细节
  • 嵌入式Linux进程管理面试题大全(含详细解析)
  • 基于热成像摄像头检测蚊子的可行性研究
  • iOS 签名证书全生命周期实战,从开发到上架的多阶段应用
  • 《Qwen2.5-VL 》论文精读笔记
  • 网络协议之TCP和UDP
  • 【iOS】Block基础知识和底层探索
  • Model Context Protocol (MCP)标准化应用程序向大型语言模型 (LLM) 提供上下文协议
  • 如何通过 5 种方法轻松格式化 USB 驱动器
  • Kubernetes 资源管理全解析:从基础到企业级实践
  • MyBatis-Plus——SQL注入器
  • 华清远见25072班C语言学习day7
  • 《算法导论》第 21 章-用于不相交集合的数据结构
  • 01-Ansible 自动化介绍与使用
  • 【数据结构】二叉树结构与相关实现
  • .NET MAUI框架编译Android应用流程
  • 服务降级方式
  • Python实现Amazon Redshift数据库元数据提取类
  • 分布式事务Seata使用不当引发的全局锁问题
  • 解锁Java线程池:从原理到实战的深度剖析