计算机组成原理:存储系统【一】

简介: 计算机组成原理:存储系统【一】



1 主存的模型、寻址

1.1 总览

1.2 存储器的层次化结构

1.3 存储器的分类

1.3.1 按层次

1.3.2 按照介质

(1)半导体存储器:主存、Cache

(2)以磁性材料存储信息(磁表面存储器)

1.3.3 按照访问方式

①随机存取存储器(RAM)

②顺序存取存储器(SAM)

③直接存取存储器

其中,②和③在读写某个存储单元所需时间与存储单元的物理位置有关,可以归为串行访问存储器

④相联存储器

它是按照内容检索,而之前的几种都是按照地址检索

1.3.4 按照信息的可更改性

1.3.5 按照信息的可保存性

1.4 存储器的性能指标

存储周期的概念

1.5 总结

2 主存储器的基本构成

2.1 总览

2.2 基本的半导体元件

2.2.1 构成

电容可以存储电荷,将电容有电荷视为1,无电荷视为0,mos管可以理解为一种电控开关,当输入电压达到某个阈值时,MOS管就可以接通

2.2.2 读出数据

假设现在电容状态为1,那么只要发出一个读出信号(MOS管接入一个阈值电压),MOS管接通,最右边检测到电流,于是认为二进制1被读出

2.2.3 写入数据

将元件右边的电路与MOS管都接入一个高电平,MOS管被接通同时电容上下两侧产生电压差,于是电荷开始移动,达到存储电荷的效果。于是二进制1被写入,同时将MOS管断开,这样电荷就跑不出去了。

2.2.4 示例

将多个元件组合起来,图中红色的线连接了元件的MOS管,每个元件都存储了比特1或比特0。

图中的八个元件构成了一个存储单元(也就是一个存储字),图中的两个存储单元构成了一个存储体(存储矩阵)。

一次可以读出的字节代表了计算机的存储字长(MOS管被同时接通,所以存储单元是一次性被全部读出的,同时被读出、同时被写入),也被称为字

存储单元的字节数代表机器的存储字长,图中为八个比特,如果同时连接16个元件,则存储字长为16位。

注意字节(Byte)与字的区别。一个字节一定是八个比特,但是字在不同的计算机中可能是不同的。

2.2.5 对存储体的复习

这几个元件就构成了主存,它们通过时序逻辑电路连接,如图。

2.3 存储器芯片的基本原理

2.3.1 译码的原理

如何根据地址找到数据?

当CPU通过地址总线向MAR传送了地址,MAR将此地址输送到译码器,译码器根据地址决定要接通哪一条字选线(接通了存储单元的MOS管),比如图中地址000对应十进制的第0条字选线。字选线被接通后,通过数据线(图中绿色的线)将每一位的数据传送到MDR中,CPU再通过数据总线从MDR中读出数据。

此时也可以推断出数据总线的宽度与存储字长是相同的

2.3.2 控制电路

(1)控制信号传输

芯片数据传输是以电信号为媒介,在传输过程中难免会有损失,比如将地址信号传入到MAR中。此时控制电路在MAR中的信号稳定之后才会让MAR将地址传送给译码器。同样的,在数据输出时只有当MDR中的电信号稳定后才会控制MDR将输入传给数据总线

(2)对外提供接口

① 片选线。即选择哪块芯片进行工作。芯片选择(chip-select,CS),芯片使能(chip-enable,CE)

②读写控制线。

1. 将读控制线、写控制线分开。当读控制线是低电平时说明此时应该进行读操作。

2. 将读控制线、写控制线作为同一根线

2.3.3 芯片的简单构成

2.3.4 芯片的逻辑构成

驱动器:保证译码器输出的电信号是稳定的

2.3.5 关于一个芯片有多少个引脚的题目

结合芯片的逻辑构成理解引脚。其中片选线、读/写控制线通常来说是固定的。只需求解地址线、数据线

2.4 寻址

假设下图中字长为4B(一个存储单元有4个元件),且总容量为1KB(该存储体有1024个元件或256个字,地址线为2^10=1024,共10条地址线)。寻址方式有以下几种,如果是按字寻址,则1KB总共有256个单元,每个单元占4B。

2.5 总结

3 SRAM和DRAM

3.1 总览

3.2 栅极电容、双稳态触发器

3.2.1 基本组成

3.2.2 两者的不同

(1)栅极电容

因为需要重写,所以读写速度更慢。且每个元件的面积较小,所以它的集成度高,结构简单所以成本低,功耗低

(2)双稳态触发器

无须重写,所以读写速度更快。且每个元件的面积较大,所以它的集成度小,结构复杂所以成本高、功耗高

3.3 DRAM的刷新

3.3.1 原因

电容中的电荷即使不断电,在2ms内也会自动流失。而双稳态电路只要不断电其电荷就不会流失。所以在2ms内必须刷新电容,使其恢复之前的电荷

3.3.2 在刷新中为什么要使用行列地址?

(1)原因

在之前的介绍中,一个存储单元占一行,一行存储单元需要使用一根自选线,很容易使译码器上接入的线路过多。而如果使用行列地址,如下图所示,这样,当地址位数为20时,行地址译码器、列地址译码器只需要接入210根线。而如果不采用行列地址,则译码器要接入220根线。

(2)根据地址寻找存储单元

假如地址码为00000000,则前四位0000作为行地址,后四位0000作为列地址,分别进行寻址,当行地址寻找到时其对应的选通线连通,当列地址寻找到时其对应的选通线连通,此时可以将该存储单元中的数据输出。

3.3.3 刷新的过程

(1)过程

以行为单位,每次刷新一行的存储单元,刷新是由硬件完成的,硬件在读出一行的信息后重新写入,占用一个读/写周期。

该过程是由存储器自动完成的,无须CPU的介入

(2)刷新的时间点

假设:

①分散刷新

②集中刷新

③异步刷新

可在CPU无须访问主存的时候进行刷新,比如译码阶段。集中刷新、异步刷新都是有”死时间“的

3.4 DRAM地址线的复用

正常来说行地址、列地址分别需要有行地址线、列地址线。也可以将它们和为一条线,并另外接一个地址缓冲器,第一次先将行地址送入,第二次再将列地址送入。如图

这样做可以使地址线减半,同时芯片的引脚数也要减半

3.5 总结

SRAM常用作Cache,DRAM常用作主存。DRAM采用的是地址线复用技术,因此送行列地址只需要一次。

4 总结

计算机组成原理如一座精密的交响乐团,微观中展现着电子的舞蹈,宏观中奏响着科技的交响曲。

它拆解复杂问题为简单指令,通过微处理器的默契协作,创造出无尽可能。

存储单元如记忆的灯塔,指引信息的航程。

总线是信息的大道,连接着各个功能模块,使计算机成为无比高效的智慧之器。

在计算机组成原理的魔法指导下,世界逐渐变得更加智能、便捷、创新。

渴望挑战计算机组成与原理的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多CO的奇迹吧。我们推出了引领趋势的💻CO专栏:《计算机组成原理基础》 ,旨在深度探索CO的实际应用和创新。🌐🔍

相关文章
|
2月前
|
算法 内存技术
计算机组成原理:存储系统【二】
计算机组成原理:存储系统【二】
|
2月前
|
存储 芯片 内存技术
计算机组成原理:存储系统【三】
计算机组成原理:存储系统【三】
|
2月前
|
存储 固态存储 算法
计算机组成原理:存储系统【四】
计算机组成原理:存储系统【四】
|
2月前
|
存储 算法 固态存储
【计算机组成原理】存储系统
【计算机组成原理】存储系统
1979 0
【计算机组成原理】存储系统
|
2月前
|
存储 固态存储 芯片
计算机组成原理(1)----存储器相关(2)
计算机组成原理(1)----存储器相关
53 1
|
2月前
|
存储
计算机存储系统
【1月更文挑战第5天】计算机存储系统。
44 3
|
存储 固态存储 数据安全/隐私保护
计算机组成原理/计算机硬件基础第五章:存储器
计算机组成原理/计算机硬件基础第五章:存储器
405 0
计算机组成原理/计算机硬件基础第五章:存储器
|
存储 算法 程序员
计算机组成原理<五>——存储系统(二)
计算机组成原理<五>——存储系统
计算机组成原理<五>——存储系统(二)
|
存储 固态存储 芯片
计算机组成原理<五>——存储系统(一)
计算机组成原理<五>——存储系统
计算机组成原理<五>——存储系统(一)
|
存储 传感器 缓存
计算机组成原理系列(三):计算机存储器结构体系详解
你是不是经常被以下名词弄得晕头转向。**ROM/RAM/DRAM/SRAM/SDRAM/DDR SDRAM**等等,下面,我尽力以上图为参考,从上到下,说明各个层次存储器的特点和区别,并对它们的工作原理做一些简要的说明

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    27
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    27
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    28
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    24
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    31
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    22
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    20
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    21
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19