【计算机组成体系结构】主存储器的基本组成

一、半导体元器件存储二进制0/1的原理

一个存储器逻辑上分为MAR,MDR和存储体,这三块在时序逻辑电路的控制下相互配合工作。 

存储体有多个存储单元构成,每个存储单元又由每个存储元构成。一个存储元可以存放一位的二进制的0/1。

一个存储元由一个MOS管和一个电容组成。 

MOS管是一种半导体,当通电压达到某一定阈值时它才会变成导体,否则是绝缘体。

上图所示电容下金属板接地为0V,下金属板若和上金属板存在电势差则会存储电荷,以此来决定存储元存储的是1还是0。

当接通MOS管时,若导线一端有电荷流出,则可以判断该电容保存的是二进制的1,否则保存的是0。这是二进制的读出。

存储也很简单,接通MOS管,接通导线,电容开始累计电荷,这样就在里面存储了1。这时候再断开MOS管,就可以防止电荷跑出去了。

如果把多个存储元排列在一起就可以组成一个存储单元(存储字)。上图红线链接了一个存储单元的所有MOS管,如果此时在红线上加入一个5v的阈值电压就可以一次读出该存储单元内所有的二进制数据(绿线用来检测有无电流导出判断是0/1)。 

而多个存储单元又构成了存储体(存储矩阵)。上图所示的存储字长为8bit。存储字长根据一个存储单元中存储元的个数决定。但是1Byte=8bit是不会变的。

这也解释了为什么存储器一次读写都是以一个存储字长为单位

 


二、存储芯片的基本原理

1.译码器

如何根据地址决定我们要读/写哪一个字呢?这就涉及到译码器的工作原理。

对于译码器,我们给定n位地址对应2^n个存储单元,所以译码器会根据MAR给出的地址转变为某一条选通线的高电平信号,这样就可以读出一整排的存储元的数据了。

译码器的每一条选通线对应每一个存储单元的地址。 

之后通过数据线(绿线)把每一位二进制数据送入MDR中,接着CPU会通过数据总线从MDR中取走一整个存储字的数据。(当然数据总线的宽度是和存储字长相同的)

2.控制电路

由于电信号的不稳定,除译码器之外,还要有控制电路来控制MAR,MDR和译码器来实现存储器的读写。 

电信号是不稳定的,CPU通过地址总线将电信号送到MAR,但不会立刻送到译码器,当MAR中的电信号稳定之前,控制电路不会打开译码器的开关。

同样的,当输出的时候,控制电路同样会在MDR中的电信号稳定之后才能从MDR送出数据到数据总线。

另外,存储芯片还要对外提供一些线路如\overline{CS}(芯片选择信号)/\overline{CE}(芯片使能信号),上面带横线的意思就是当处于低电平的时候起作用。两个线路的意思就是,当处于低电平的时候,这块芯片可以工作了。

同时还有读写线。有些设计为两根线,一根表示读一根表示写(\overline{WE},\overline{OE})。有些则用一根既可以表示读也可以表示写。


片选线的作用如上图所示,上图内存条的每个黑块就表示一个存储芯片,当地址线搜索的地址在某一个存储芯片上,片选线自然要关闭除它以外的其它所有存储芯片。

同时存储芯片的引脚数应该等于地址线+数据线+片选线+读写控制线+供电+接地。 

上图中存储器的逻辑构成我们只有读写电路和驱动器上面没有说。读写电路包括上面的红线绿线以及控制电路的读写控制线。

驱动器,我们前面说过电信号的不稳定性,而驱动器就是一个信号放大器,可以让信号离开译码器之后仍然稳定有效。

之前我们说过总容量 = 存储单元个数 X 存储字长。之后我们还要熟悉上图所示的描述方式。

例如:8X8位的存储芯片,前一个8表示的是存储单元的数量,后面的8则表示存储字长。

而通过存储单元的数量自然就可以推断出地址线是多少,如上面的例子,2^3=8,所以8X8位的存储芯片的地址线有3根,又因为每个存储字长为8,所以数据线有3X8=24根。


三、不同的寻址方式的实现

上图所示的每个方格表示一个字节,也就是8bit,而每一整行表示一个存储字,也就是说这块存储芯片它的字长是4B。假设它的总容量是1KB,那也就是说它有256个字(256行)。

现代计算机中通常按字节编址,也就是说每个字节一个地址。所以这个存储矩阵中有1K个地址。这也就是按字节编址。   

但是存储器指支持的寻址形式可不是只有按字节寻址。按字节寻址自然需要10根地址线,因为2^10=1024,才足够寻1000个地址。

而如果按字寻址,一整行,也就是一个字合并看成一个地址。当我们需要读某个字的时候,假如我们现在要读的是第1个字,那只需要我们对1进行算术左移得到100,也就是4,就可以得到该字起始字节的字节地址。

按半字寻址和按双字寻址以此类推。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200244.shtml

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

相关文章

OWASP安全练习靶场juice shop-更新中

Juice Shop是用Node.js,Express和Angular编写的。这是第一个 完全用 JavaScript 编写的应用程序,列在 OWASP VWA 目录中。 该应用程序包含大量不同的黑客挑战 用户应该利用底层的困难 漏洞。黑客攻击进度在记分板上跟踪。 找到这个记分牌实际上是&#…

想考研到电子类,未来从事芯片设计,目前该怎么准备?

最近看不少天坑学子想考研微电子专业,但却不知道该怎么准备?接下来就带大家一起来具体了解一下~ 首先是目标院校的选择? 目前所设的微电子专业学校里,比较厉害的有北京大学、清华大学、中国科学院大学、复旦大学、上海交通大学、…

ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译

ROS2的功能包、依赖管理、工作空间配置与编译 版权信息 Copyright 2023 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyrigh…

品牌是如何通过软文推广产品的?媒介盒子为您揭秘

需求是概念的、抽象的,产品是具象的,多维的。软文推广就是通过发现消费者的需求来促使消费者主动购买产品,今天媒介盒子就来和大家聊聊:品牌是如何通过软文推广产品的。 一、 差异化内容打出独特点 差异化内容指通过和竞品的分析…

基于Intel Ai Analytics Toolkit 及边缘计算的溶氧预测水产养殖监测方案

基于AI的淡水养殖水质溯源、优化系统方案 前言一、关键需求及方案概述二、方案设计预测机制LSTM 模型基于intel AI 的时序水质分析模型与分类模型优化 三、实战分析1、方案简述2、数据分析预处理特征类型处理特征分布分析 3、特征构造4、特征选择过滤法重要性排序 5.构建LSTM模…

算法--最短路

这里写目录标题 xmind单源最短路简介所有边权都是正朴素的Dijkstra算法思想例子题解 堆优化版的Dijkstra算法 存在负数权Bellman-Ford算法思想例子题解 多源汇最短路简介 xmind 上述中,朴素Dijkstra算法适用于稠密图 其他用堆优化版 而SPFA算法一般都比Bellman-For…

设计模式:装饰者模式

目录 一、定义 二、场景 三、例子 四、优缺点 优点: 缺点: 一、定义 在不改变已有对象结构的情况下,动态添加新的功能到对象上,是继承的一种替代方案。属于结构型模式。 二、场景 1.扩展一个类的功能,添加附加职责…

七、ZooKeeper选举机制

目录 1、概念 2、全新集群选举 3、非全新集群选举 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜出

资料分析(花生)

基期A(给出BR或BX) 前期:代入、直除、假设分配隔年前期:求出间隔增长率,再变成第一类考法前期差值:假设分配法求得两个前期作差。 现期B 有增量求现期:求出 X,列不等式即可有增速求现…

【已解决】页内切换<router-view>使得url变化导致菜单高亮消失

在写项目时&#xff0c;我们常会用到侧边菜单栏&#xff0c;而具体页面中经常使用<router-view>切换子组件。 但是按照我们平时的写法&#xff0c;切换子组件后会导致url改变&#xff0c;从而使得菜单高亮消失&#xff0c;这是非常影响用户体验的。 所以&#xff0c;我…

class文件结构

文章目录 1. 常量池集合2. 访问标志3. 字段表集合4. 方法表集合5. 属性表集合 成员变量&#xff08;非静态&#xff09;的赋值过程&#xff1a;1. 默认初始化 2. 显示初始化/代码块中初始化 3. 构造器中初始化 4. 有了对象后对象。属性或者对象。方法的方式对成员变量进行赋值 …

无线网卡填坑记

没想到我安装无线网卡这么波澜起伏~ 起因 近来刚在电脑上玩完了 Dishonored 2&#xff0c;紧接着继续着我的刺客信条之旅。总是觉得键盘鼠标玩起来不爽&#xff0c;还是手柄玩这种游戏才舒服。突然&#xff0c;灵光一现&#xff0c;我想到正好有闲置的 Switch 掌机没怎么玩&am…

掌握Python Pingouin:数据统计新利器解析!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Pingouin库基于pandas、scipy和statsmodels&#xff0c;为用户提供了执行常见统计分析的功能。它支持各种统计方法和假设检验&#xff0c;例如 t-tests、ANOVA、correlation analysis 等。让我们看一些示例代码&…

请求函数的封装---工具函数

导出一个通用的请求工具函数&#xff0c;支持设置响应数据类型 支持不同接口设不同的响应数据的类型 import axios, { AxiosError, type Method } from axios// 4. 请求工具函数 const request (url: string, method: Method GET, submitData?: object) > {return insta…

【数据结构与算法篇】一文详解数据结构之二叉树

树的介绍及二叉树的C实现 一 . 树的概念二 . 相关术语三 . 树的表示四 . 什么是二叉树1> 二叉树的特性2> 特殊的二叉树3> 二叉树的性质 五 . 二叉树的存储结构1> 二叉树的顺序存储2> 二叉树的链式存储 六 . 堆1> 什么是堆2> 用堆存储数据3> 堆的Cpp代码…

木马病毒是怎么进入服务器的,要如何防范

木马病毒通常是基于计算机网络&#xff0c;基于客户端和服务端的通信、监控程序。名称来源于公元前十二世纪希腊和特洛伊之间的一场战争。能够在计算机管理员未发觉的情况下开放系统权限、泄漏用户信息、甚至窃取整个计算机管理使用权限&#xff0c;隐匿性高。 木马病毒的入侵方…

【恋上数据结构】哈夫曼树学习笔记

哈夫曼树 哈夫曼编码&#xff08;Huffman Coding&#xff09; 哈夫曼编码&#xff0c;又称为霍夫曼编码&#xff0c;它是现代压缩算法的基础 假设要把字符串 [ABBBCCCCCCCCDDDDDDEE] 转成二进制编码进行传输。 可以转成 ASCII 编码 (6569&#xff0c;10000011000101) &…

Python脚本模拟真实设备刷视频播放量、浏览量

简述 Python3脚本刷视频播放量 前情提示 系统:centOS7,8阿里云一折优惠云小站_专享特惠_云产品推荐-阿里云 宝塔8.x 一说 部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤带有#号、删除线、不操作、不执行字样的为提示或者…

C++学习之路(十九)C++ 用Qt5实现一个工具箱(用SQLite数据库来管理粘贴板数据)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《点击按钮以新窗口打开功能面板》功能。今天我们把粘贴板功能用SQLite数据库来管理&#xff0c;用SQLite来实现增删改查。下面我们就来看看如何来规划开发这样的小功能并且添加到我们的工具箱中吧。 老规矩&#xff…

基于51单片机多功能时钟闹钟系统

**单片机设计介绍&#xff0c;基于51单片机多功能时钟闹钟系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的多功能时钟闹钟系统是一种基于单片机的电子设备&#xff0c;能够显示时间、设置闹钟、进行计时以及提…