#计算机组成原理# chapter 4-存储器-4.2主存储器 4.2.1主存储器概述&&4.2.2半导体存储芯片简介

简介: #计算机组成原理# chapter 4-存储器-4.2主存储器 4.2.1主存储器概述&&4.2.2半导体存储芯片简介

4.2主存储器


4.2.0 回顾一下chapter 1中有关主存储器的相关知识


主存储器:

1670655534432.jpg

主存储器(简称主存或者内存)包括存储体M、各种逻辑部件及控制电路等。


存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或存储基元,存储元),每个存储元件能寄存一位二进制代码“0”或1”。咱们说的“位”。


一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,这串二进制代码的位数称为存储字长。存储字长可以是8位,16位,32位等。 赋予每个存储单元一个编号 ,称为存储单元的地址号。


一个存储字(一个存储单元的二进制代码)可以代表很多意思,不仅仅是16个二进制数本身,具体代表什么,按照输出的格式。如存储字为0011011001111101 既可表示为由十六进制字符组成的367DH,又可代表16位的二进制数,此值对应十进制数为13949,还可代表两个ASCII 码:“{"和“6”一个存储字还可代表一条指令.


主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写人)、取(读出)。

这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。


为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。


MAR(Memory Address Register) 是存储器地址寄存器,用来存放欲访问的 存储单元的地址,其位数对应存储单元的个数 (如 MAR为10位,则有2^10=1024个存储单元,记为1 K)。


MDR(Memory Data Reg-ister)是存储器数据寄存器。用来存放从存储体某单元取出的代码或者准备在某存储单元存入的代码,其位数与存储字长相等。(一个储存单元的储存字长)

1670655544584.jpg


4.2.1 概述


主存储器(简称主存)的基本结构已在第1章介绍过,如上图所示。实际上,根据MAR中的地址访向某个存储单元时,还需经过地址译码、驱动等电路,オ能找到所需访问的单元。读出时,需经过读出放大器,才能将被选中单元的存储字送到MDR。写入时,MDR中的数据也必须经过写入电路才能真正写入到被选中的单元中。可见,主存的实际结构如图4.4所示。

1670655570533.jpg

现代计算机的主存都由半导体集成电路构成,图中的驱动器、译码器和读写电路均制作在存储芯片中,而MAR和MDR制作在CPU芯片内。存储片和CPU芯片可通过总线连接,如图4.5所示。

1670655580532.jpg

当要从存储器读出某一信息字时,首先由CPU将该字的地址送到MAR,经地址总线送至主存,然后发出读命令。主存接到读命令后,得知需将该地址单元的内容读出,便完成读操作,将该单元的内容读至数据总线上,至于该信号由MDR送至什么地方,这已不是主存的任务,而是由CPU决定的。若要向主存存入ー个信息字时,首先CPU将该字所在主存单元的地址经MAR送到地址总线,并将信息字送入MDR,然后向主存发出写命令,主存接到写命令后,便将数据线上的信息写入到对应地址线指出的主存单元中。


1.主存中存储单元地址的分配

主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。不同的机器存储字长也不同,为了满足字符处理的需要,常用8位二进制数表示一个字节。因此存储字长都取8的倍数。通常计算机系统既可按照字寻址,也可按字节寻址。

例如IBM370机的字长为32位,它可按照字节寻址,即它的每一个存储字包含4个可独立寻址的字节,其地址分配如图4.6(a)所示。字地址是用该字高位字节的地址来表示,故其字地址是4的整数倍,正好用地址码的末两位来区分同一字的4个字节的位置。但对PDP-11机而言,其字长为16位,字地址是2的整数倍,它用低位字节的地址来表示字地址,如图4.6(b)所示。

1670655873957.jpg

由图4.6(a)所示,对24位地址线的主存而言,按字节寻址的范围是16M,按字寻址的范围为4M。由图4.6(b)所示,对24位地址线而言,按字节寻址的范围仍为16M,但按字寻址的范围为8M。


2.主要的技术指标

主存的主要技术指标是指存储容量和存储速度。

(1)存储容量

存储容量是指主存能存放二进制代码的总位数,即

存储容量=存储单元个数x存储字长

它的容量也可用字节总数来表示,即

存储容量=存储单元个数x存储字长/8

目前的计算机存储容量大多以字节数来表示,例如,某机主存的存储容量为256MB,则按字节寻址的地址线位数应对应28位。


计算参考第一章节:

1670655891236.jpg

(2)存储速度

存储速度是由存取时间和存取周期来表示的。

存取时间又称为存储器的访问时间( Memory Access Time),是指启动一次存器操作(读或写)到完成该操作所需的全部时间。存取时回分读出时和写人时间两种。读出时间是从存储器接收到有效地址开始,到产生有效输出所的全部时间。写人时间是从存储器接收到有效地址开始,到数据写人被选中单元为止所需的全部时间

存取周期( Memory Cycle Time)是指存储器进行连续两次独立的存储器操作(如连续两次读操作)所需的最小间隔时间,通常存取周期大于存取时间。现代MOS型存器的存取周期可达100ns;双极型TT.存储器的存取周期接近于10ns


(3)存储器带宽

与存取周期密切相关的指标为存储器带宽,它表示单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示。如存取周期为500ns,每个存取周期可访问16位,则它的带宽为32M位/秒。带宽是衡量数据传输率的重要技术指标。

存储器的带宽决定了以存储器为中心的机器获得信息的传输速度,它是改善机器瓶颈的一个关键因素。为了提高存儲器的带宽,可以采用以下措施:

①缩短存取周期。

②增加存储字长,使每个存取周期可读/写更多的二进制位数

③増加存储体(详见4.2.7节)


4.2.2 半导体存储芯片简介


1.半导体存储芯片的基本结构

半导体存储芯片采用超大规模集成电路制造工艺,在一个芯片内集成具有记忆功能的存储矩阵、译码驱动电路和读/写电路等,如图4.7所示。

1670655912223.jpg

译码驱动能把地址总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读/写电路的配合下完成对被选中单元的读/写操作。

读/写电路包括读出放大器和写入电路,用来完成读/写操作。

存储芯片通过地址总线、数場总线和控制总线与外部连接。

地址线是单向输入的,其位数与芯片容量有关。

数据线是双向的(有的芯片可用成对出现的数据线分别作为输入或输出),其位数与芯片可读出或写入的数据位数有关。数据线的位数与芯片容量有关。

地址线和数据线的位数共同反映存储芯片的容量。例如,地址线为10根,数线为4根,则片容量为2^10x4=4K位;又如地址线为14根,数据线为1根,则其容量为16K位。

控制线主要有读/写控制线与片选线两种。不同存储芯片的读/写控制线和片选线可以不同。有的芯片的读/写控制线共用1根(如214),有的分用两根(如6264);有的芯片的片选线用1根(如2114),有的用2根(如6264)。读/写控制线决定芯片进行读/写操作,片选线用来选择存储芯片。由于半导体存储器是由许多芯片组成的,为此需用片选信号来确定哪个芯片被选中。例如,一个64Kx8位的存储器可由32片16Kx1位的存储芯片组成,如图4.8所示。但每次读出一个存储字时,只需选中8片。

1670655924234.jpg

2.半导体存储芯片的译码驱动方式:

半导体存储芯片的译码驱动方式有两种:线选法和重合法,如图4.9和图4.10所示。

图4.9是一个16x1字节(8位)线选法存储芯片的结构示意图。它的特点是用一根字选择线(字线),直接选中一个存储单元的各位(如一个字节)。这种方式结构较简单,但只适于容量不大的存储芯片。如当地址线A3A2A1A0为1111时,则第15根字线被选中,对应图4.9中的最后一行8位代码便可直接读出或写入。但是对应于地址线多的设备来说,比如有20根地址线,那么意味着有2^20的输出线连接对应多的储存单元,这样对于芯片来说,集成度需要非常高,这样对芯片制作来说困难是很大的,就是即使做出来了,也需要很昂贵的成本。

1670655939437.jpg

所以咱们推出了下面一种方法:

重合法


图4.10是一个1Kx1位重合法结构示意图。 显然,只要用64根选择线(X、Y两个方向各32根),便可选择32×32矩阵中的任一位。例如,当地址线为全0时,译码输出X和Y。有效矩阵中第0行、第0列共同选中的那位即被选中。由于被选单元是由X、Y两个方向的地址决定

的,故称为重合法。重合法大大降低了集成化,这样使制造高水平存储器成为了可能。

1670655507453.jpg

相关文章
|
存储 安全 数据管理
Linux文件时间戳:解析时区与修改时间的相互作用
Linux文件时间戳:解析时区与修改时间的相互作用
407 2
|
人工智能 自然语言处理 Java
一文带你彻底搞清楚通义灵码 2.0 下的 AI 程序员的智能化编码
本文介绍如何使用通义灵码整合的deepseek-v3大模型,体验AI程序员2.0的功能。通过升级VsCode插件、切换大模型,演示了AI生成C语言汉诺塔代码、解释代码、修改输出语句及修复中文乱码Bug的过程。最终代码展示了完整的汉诺塔实现,包括UTF-8编码设置和字体调整,确保中文显示正常。跟随本文,轻松体验AI编程助手的强大功能!
785 1
|
5月前
|
并行计算 数据挖掘 5G
MATLAB R2024b 数据分析软件,安装详细步骤,附安装包
MATLAB R2024b 发布,聚焦性能提升与稳定性优化,支持GPU加速、5G/6G工具链及HDL代码生成,新增NPU硬件支持,配合深色界面与调试增强,助力高效科学计算与工程设计。
3379 3
|
设计模式 Java
设计模式--适配器模式 Adapter Pattern
这篇文章介绍了适配器模式,包括其基本介绍、工作原理以及类适配器模式、对象适配器模式和接口适配器模式三种实现方式。
|
人工智能 并行计算 数据可视化
即插即用 | YOLOv8热力图可视化方法详解,揭秘AI如何「看」世界!【附完整源码】
即插即用 | YOLOv8热力图可视化方法详解,揭秘AI如何「看」世界!【附完整源码】
|
机器学习/深度学习 算法 数据安全/隐私保护
基于Qlearning强化学习的小车弧线轨迹行驶控制matlab仿真
**MATLAB 2022a仿真实现Q-learning控制小车弧线行驶,展示学习过程及奖励变化。Q-learning是无模型强化学习算法,学习最优策略以稳定行驶。环境建模为二维平面,状态包括位置、朝向,动作涵盖转向、速度。奖励函数鼓励保持在轨迹上,用贝尔曼方程更新Q表。MATLAB代码动态显示轨迹及奖励随训练改善。**
464 15
|
存储 弹性计算 运维
阿里云服务器ECS经济型e实例详细介绍
阿里云新推经济型e系列服务器,适用于个人开发者、学生和小微企业。该系列采用Intel Xeon Platinum处理器,支持多种CPU内存配比,性价比高,不限购,续费不涨价。2核2G3M配置仅需99元/年,企业用户2核4G5M服务器199元/年。具备价格优势、品质保障和充足供应,但性能可能不及企业级实例。支持IPv4/IPv6,仅限专有网络VPC。更多规格和性能指标可见官方文档。
阿里云服务器ECS经济型e实例详细介绍
|
存储 算法 安全
网络安全中的加密技术与解密算法:保障数据安全的基石
【7月更文挑战第1天】网络安全依赖加密技术与解密算法确保数据安全。本文探讨加密原理、对称与非对称加密(如AES、DES、RSA、ECC)及它们在数据传输、存储安全和身份验证中的应用。加密是数据保密的核心,面对不断升级的网络威胁,加密技术将持续进化以适应新挑战。
|
运维 负载均衡 前端开发
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
【7月更文挑战第16天】Python Web开发中,前后端分离常见于实时通信场景,WebSocket作为全双工协议,常用于此类应用。选型时考虑性能、功能、易用性、社区支持和成本。Flask-SocketIO是实现WebSocket的一个选项,它简化了与Flask的集成。案例展示了如何用Flask-SocketIO创建一个实时聊天室:后端处理消息广播,前端通过Socket.IO库连接并显示消息。此实现策略演示了在Python中实现实时通信的基本步骤。
372 0
|
消息中间件 监控 NoSQL
在Windows下设置分布式队列Celery的心跳轮询
在Windows下设置分布式队列Celery的心跳轮询
842 0

热门文章

最新文章

下一篇
开通oss服务