计算机组成原理——3.2多级存储结构

一、层次结构

主存容量小但不是特别小,例如4GB。CPU访问时速度快,但没有特别快,例如64bit/s。价格贵,但不是特别贵。所以需要需要一些东西配合主存。于是有了外存和Cache。

外存,例如硬盘,容量很大,例如256GB,价格便宜。但是速度很慢,例如5bit/s

Cache,容量很小,例如1GB,价格很高。但速度很快,例如128bit/s。

所以形成两种层次,Cache-主存层次和主存-外存层次。前者解决CPU与主存速度不匹配问题,后者解决主存容量问题。

二、交换信息

外存把信息给主存,主存把信息给Cache,Cache的信息被CPU访问。

当然,CPU也可以访问主存,因为Cache的容量比较小,主存只能把一部分数据给Cache,当CPU在Cache读取不到数据时,就会直接去主存里找。如果CPU在Cache读取到数据,称为Cache命中,否则称为缺失或者不命中。

CPU访问不到外存,只能是外存把数据给主存,再被CPU访问。

三、例题

1.计算机采用分级方式是为了()

A.方便编程

B.解决容量,速度,价格三者矛盾

C.保存大量数据方便

D.操作方便

答案:B

2.存储器速度从快到慢依次是()

A.寄存器,主存,Cache,外存

B.寄存器,主存,外存,Cache

C.寄存器,Cache,外存,主存

D.寄存器,Cache,主存,外存

答案:D

解析:CPU永远速度最快,寄存器在CPU中,可以直接读取寄存器内容,所以寄存器最快。

相关推荐
心仪久了会沦陷3 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
Severus_black6 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
希和202710 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Zwawa1 天前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
Fruiticecake1 天前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
田甲1 天前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
·present·1 天前
CSAPP(lecture 13_02 Linking)
c语言·c++
wuyk5552 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
Navigator_Z2 天前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
冻柠檬飞冰走茶2 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划