微机原理与接口技术 学习笔记(二) 存储器

news2024/11/26 15:14:36

文章目录

  • 一,存储器
      • 1.1 概述
          • 1.1.1 半导体存储器的分类
            • 按制造工艺:
          • 易失性或挥发性存储器 / 不易失性或不挥发性存储器
            • 按制造工艺:
          • 1.1.2 半导体存储器的性能指标
          • 1.1.3 半导体存储器的一般结构及组成
      • 1.2 随机存取存储器 RAM
          • 1.2.1 静态RAM
          • 1.2.2 动态RAM
          • 1.2.3 RAM存储容量扩展方法 ***==重点==
            • 位扩展
            • 字扩展
            • 字位扩展
          • 1.2.4 RAM 存储器与CPU连接 ***==重点==
            • (1)数据总线的连接
            • (2)地址总线的连接
            • (3)控制总线的连接
          • 1.2.5 译码
      • 1.3 只读存储器 ROM(略)
            • 典型 EEPROM 芯片有:AT24系列 AT24C04
      • 1.4 高速缓冲存储器 Cache(略)

一,存储器

新型计算机的存储器组成可分为:CPU寄存器,高速缓冲寄存器,主存储器(简称内存/主存),辅助存储器(简称辅存/外存)。
内存储器由半导体芯片组成,依赖于电来维持信息的保存状态。
外存储器通常是磁性介质,能长期保存信息,不依赖电。
高速缓冲(Cache),解决CPU 与内存之间的速度匹配问题。

1.1 概述

半导体存储器优点:集成度高,速度快,功耗低,价格便宜,可靠性强,使用方便
=>已成为微型计算机的最主要的存储器
使用存储器要考虑的问题:
① 易失性;
② 只读性;(ROM)
③ 存储容量;
④ 速度。
⑤ 功耗;

1.1.1 半导体存储器的分类
按制造工艺:
  • 双极型存储器(TTL型晶体管):特点是存取速度快,但和MOS型比,集成度低,功耗大,成本高,常作为高速缓冲存储器(Cache)
  • MOS型存储器
    • 静态RAM
    • 动态RAM
    • EPROM
    • E^2PROM( E 2 P R O M E^2PROM E2PROM)(EEPROM)
    • Flash Memory
    • 速度较双极型慢,但集成度高,功耗低,价格便宜,是构成微型机内存的主要半导体存储器件。
易失性或挥发性存储器 / 不易失性或不挥发性存储器

断电后会丢失信息,被称为易失性或挥发性存储器;
电源关闭后,存储的信息不会丢失被称为 非易失性或不挥发性存储器。

按制造工艺:
  • 随机存取存储器RAM(Random Access Memory)(读写存储器)
    信息可以按地址随时读出或写入。一般来说,RAM断电后会丢失信息,被称为易失性或挥发性存储器;但是现在有些RAM芯片内部带有电池,被称为 非易失性或不挥发性存储器。
    RAM 分为静态RAM(SRAM)和动态RAM(DRAM):
    • 静态RAM 读写速度快,但集成度低,容量小,主要用作Cache或小系统的内存储器
    • 动态RAM 读写速度慢于静态RAM,但集成度高,单片容量大,多用于存储量大的系统中。动态RAM利用电容的电荷存储效应来存储信息,必须周期性对其刷新。
  • 只读存储器ROM(Read Only Memory)
    信息是在使用前或制造时写入的,作为固定信息存储,正常运行时只能读,不能写。电源关闭后,存储的信息不会丢失,是 非易失性或不挥发性存储器。
    常用来存放操作系统的核心程序(如BIOS)或用户固化的程序。
    根据信息写入的方式,常用ROM类型有:
    • 掩膜式ROM(Masked ROM),简称ROM
    • 可编程ROM(Programmable ROM),简称PROM
    • 可擦除ROM(Erasable ROM),简称EPROM
    • 电可擦除ROM(Electrically Rrasable ROM),简称 EEPROM 或 E 2 P R O M E^2PROM E2PROM
    • 闪速存储器(Flash Memory)
1.1.2 半导体存储器的性能指标

存储容量,存取速度,功耗,可靠性,性能/价格比,功耗
存储容量表示方式:N * M:N表示存储单元数(也是地址线根数),M每单元的存储位数(也是数据线根数)
存储容量 = 2 M × N 存储容量 = 2^M×N 存储容量=2M×N

1.1.3 半导体存储器的一般结构及组成
  • 存储矩阵
  • 地址译码器
  • 三状态双向缓冲器
  • 控制逻辑电路

1.2 随机存取存储器 RAM

  • 主要用来存放当前运行的程序,各种输入输出数据,中间运算结果,堆栈等
  • 随时可读可写
  • 掉电后内容全部丢失
  • 静态RAM 和 动态 RAM
1.2.1 静态RAM

静态RAM以触发器为基本存储单元。
只需要写入一次,就能一直在,除非被重新写入覆盖

电路结构 P220 略

静态RAM 芯片举例:SRAM 2114,SRAM 6264

1.2.2 动态RAM

利用电容存储电荷的原理来保存信息,它将晶体管结电容的充电状态和放电状态分别作为1和0。DRAM的基本存储单元是单个场效应管及其极间电容

电路结构 P222 略

  • 必须配备“读出再生放大电路”进行刷新(2ms内必须都被刷新一次),刷新按行进行。刷新方式有三:定时集中刷新,非同步的刷新,同步刷新方式。
  • 每个基本存储单元存储二进制数一位

动态RAM 芯片举例:DRAM 2164

1.2.3 RAM存储容量扩展方法 ***重点

使用存储器需要考虑的两个问题:

  • 使存储单元的位满足要求
  • 使存储单元的个数满足要求
位扩展

只进行存储单元位数扩充。
把各存储芯片的地址线,片选信号线和读/写控制信号线相应地并联,各芯片数据线分别接到系统的数据线上。
在这里插入图片描述

字扩展

只进行存储单元(字)数目的扩展
将存储芯片的所有地址输入端,I/O数据端 及 读/写控制端 分别连在一起,而降这些芯片的片选信号端各自分开(接到地址高位上),由片选信号来区分各片地址。
在这里插入图片描述

字位扩展

同时进行存储单元位数扩充 和 存储单元(字)数目的扩展。
在这里插入图片描述

1.2.4 RAM 存储器与CPU连接 ***重点

实质上是RAM 存储器芯片与系统总线的连接
CPU 与静态RAM存储器连接时,主要解决数据总线,地址总线和控制总线的连接问题。

存储芯片与CPU总线的连接,有两个很重要的问题:

  • CPU的总线负载能力
    CPU的总线驱动能力有限
    单向传送的地址和控制总线,可采用三态锁存器和三态单向驱动器等来加以锁存和驱动
    双向传送的数据总线,可以采用三态双向驱动器来加以驱动
  • 存储芯片与CPU总线时序的配合
    分析存储器的存取速度是否满足CPU总线时序的要求
    如果不能满足:
    考虑更换存储芯片
    总线周期中插入等待状态TW
(1)数据总线的连接
  • 三态缓冲器
    静态RAM芯片 中的输入输出电路包含 三态缓冲驱动器时,芯片的数据线可直接挂接到 CPU 的数据总线上去,对于不含三态缓冲器的芯片构成的存储器,则须加三态缓冲驱动器,再与CPU 的数据总线相接。
  • 传送方向控制门(增加灵活性)
    可在CPU 数据总线与存储器数据线间加入数据传送方向控制门电路,以提高系统控制的可靠性和灵活性。在8086系统中,用8286/8287 芯片控制数据的传送方向。
(2)地址总线的连接

CPU 的地址总线通常分为两部分:

  • 一部分直接与存储芯片用以片内寻址的地址线连接,通常是从 A 0 A_0 A0开始的低地址部分。(部分译码在存储芯片内部进行,即 片内译码)
  • 另一部分则经译码器译码,产生的片选信号与存储器的片选端相连,一般是高地址部分的地址线。(或者不扩展时让芯片常有效)

!!!
地址重复时:地址高位对芯片的寻址无效时,即出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址”,选取原则:高位全为0

(3)控制总线的连接

静态RAM存储子系统的控制信号主要有:

  • 控制信号 R D ‾ \overline {RD} RD
  • 写控制信号 W R ‾ \overline {WR} WR
  • 以及存储器或 I/O 端口选择信号 M / I O ‾ M/\overline {IO} M/IO
    • M / I O ‾ M/\overline {IO} M/IO=1,选操作对象为存储器
    • M / I O ‾ M/\overline {IO} M/IO=0,选操作对象为I/O端口

可以将这些信号进行逻辑组合成不同的信号对芯片进行控制。

1.2.5 译码
  • 门电路组合逻辑
  • 采用集成译码芯片(常用):
    • 常用的2:4译码器: 74LS139
    • 常用的3:8译码器: 74LS138
    • 常用的4:16译码器:74LS154

常用的译码方法:

  • 全译码:所有的系统地址线均参与对存储单元的译码寻址,包括:

    • 片内译码:低位地址线对芯片内各存储单元的译码寻址
    • 片选译码:高位地址线对存储芯片的译码寻址

    采用全译码,每个存储单元的地址都是唯一的,不存在地址重复
    译码电路可能比较复杂、连线也较多
    在这里插入图片描述

  • 部分译码:只有部分高位地址线参与对存储芯片的译码
    每个存储单元将对应多个地址(地址重复),需要选取一个可用地址
    可简化译码电路的设计,但系统的部分地址空间将被浪费
    在这里插入图片描述

  • 线选译码:只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组)
    虽构成简单,但地址空间严重浪费
    必然会出现地址重复(一个存储单元对应多个存储地址)
    一个存储地址会对应多个存储单元
    多个存储单元共用的存储地址不应使用
    在这里插入图片描述
    对一些存储芯片通过片选无效可关闭内部的输出驱动机制,起到降低功耗的作用

1.3 只读存储器 ROM(略)

典型 EEPROM 芯片有:AT24系列 AT24C04

EPROM 2716,EPROM 2764
EEPROM芯片2817A,EEPROM芯片2864A

1.4 高速缓冲存储器 Cache(略)

思路: 在引入高速缓冲存储器的系统中,内存由两级存储构成。一级是采用高速静态RAM芯片组成的小容量存储器,即Cache;另一级是用廉价的动态RAM芯片组成的大容量主存储器。
程序运行的所有信息存放在主存储器内,而高速缓冲存储器中存放的是当前使用最多的程序代码和数据,即主存中部分内容的副本。CPU访问存储器时,首先在Cache中寻找,若寻找成功,通常称为“命中”,则直接对Cache操作;若寻找失败,则对主存储器进行操作,并将有关内容置入Cache。
引入Cache是存储器速度与价格折衷的最佳方法。

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

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

相关文章

操作符和表达式求值

目录 1.运算符的优先级和结合性 1.1运算符的优先级 1.2结合性 2.操作符的使用最终带来的是一个表达式的值 2.1.隐式类型转换(整型提升) 2.1.1整形提升的例子 2.2算术转换 1.运算符的优先级和结合性 运算符是编程语言中的基本元素之一,主…

临床试验三原则-对照、重复、随机

临床试验必须遵循三个基本原则:对照、重复、随机。 一、对照原则和对照的设置 核心观点:有比较才有鉴别。 对照组和试验组同质可比。 三臂试验 安慰剂:试验组:阳性对照组1:n:m(n≥m&#xff…

论文略读:城市道路场景下车辆编队运动规划与控制算法研究

1. 一些观点: (1)我曾经认为不能复现的论文都是垃圾。我现在看到能够量产的论文之后发现,论文的复现实属难得,即使给你代码,反复钻研,一个月之久才敢说略微看懂,所以论文的复现实在是…

使用 `tailwindcss-patch@2` 来提取你的类名吧

使用 tailwindcss-patch2 来提取你的类名吧 使用 tailwindcss-patch2 来提取你的类名吧 安装使用方式 命令行 Cli 开始提取吧 Nodejs API 的方式来使用 配置 初始化 What’s next? tailwindcss-patch 是一个 tailwindcss 生态的扩展项目。也是 tailwindcss-mangle 项目重要…

高等数学教材重难点题型总结(二)导数与微分

本章重点题目较少,除了*标题页没什么特别难的,本帖出于总结性的角度考虑并未囊概全部的*标,最后会出一期*标题的全部内容整理,在攻克重难点的基础上更上一层楼。 1.根据定义求某点处的导数值 2.通过定义证明导数 3.左右导数的相关…

QT使用QML实现地图绘制虚线

QML提供了MapPolyline用于在地图上绘制线段,该线段是实线,因此我使用Canvas自定义绘制的方式在地图上绘制线段,如图: 鼠标在地图上点击后,在点击位置添加图标 ,当有多个图标被添加到地图上后,计…

openGauss学习笔记-40 openGauss 高级数据管理-锁

文章目录 openGauss学习笔记-40 openGauss 高级数据管理-锁40.1 语法格式40.2 参数说明40.3 示例 openGauss学习笔记-40 openGauss 高级数据管理-锁 如果需要保持数据库数据的一致性,可以使用LOCK TABLE来阻止其他用户修改表。 例如,一个应用需要保证表…

MTK Android非常用分辨率修改充电动画

非标准分辨率的屏,配置MTK Android的关机充电动画. 环境 芯片 MTK 系统 Android 服务器 ubuntu 屏幕分辨率356*400,不是常见的分辨率. 原始充电动画显示异常,画面扭曲. 方法 确定使用的图片 vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo 这个目录下…

05-基础入门-系统及数据库等

基础入门-系统及数据库等 一、操作系统层面1、识别操作系统常见方法2、简要两者区别及识别意义3、操作系统层面漏洞类型对应意义4、简要操作系统层面漏洞影响范围 二、数据库层面1、识别数据库类型常见方法2、数据库类型区别及识别意义3、数据库常见漏洞类型及攻击4、简要数据库…

【【STM32之GPIO】】

STM32之GPIO 学完了正点原子自带的视频课之后感觉仍然一知半解现在更新一下来自其他版本的STM32学习 GPIO 就是 General Purpose Input Output 中文名叫通用输入输出口 可配置8种输入输出模式 引脚电平 0V~3.3V 部分引脚可容忍5V 输出模式下可控制端口输出高低电平&#xff…

MongoDB增删改查操作

数据库操作&#xff1a; 在MongoDB中&#xff0c;文档集合存在数据库中。 要选择使用的数据库&#xff0c;请在mongo shell程序中发出 use <db> 语句 // 查看有哪些数据库 show dbs;// 如果数据库不存在&#xff0c;则创建并切换到该数据库&#xff0c;存在则直接切换到…

CS5263 DP转HDMI 4k@60Hz转接线方案,替代IT6563 PS176方案

集睿致远/ASL推出的CS5263是一款DP转HDMI 2.0音视频转换芯片&#xff0c;主要用于设计DP转HDMI2.0音视频转换器或者DP转HDMI 4K60Hz音视频转接线等产品种适用于需要视频协议转换的电缆适配器、电视接收器、监视器和其他应用。 CS5263参数 DisplayPort输入&#xff08;接收器&a…

电脑如何快速查看系统中的驱动是否安装

第一步&#xff1a;winR 打开运行命令窗口 第二步输入&#xff1a;在打开输入框中输入driverquery&#xff0c;点击确定或按下回车键&#xff0c;命令行页面列出本机相关驱动信息。 1、driverquery 驱动查询 2、driverquery /V 驱动程序查询/ V

在 React+Typescript 项目环境中创建并使用组件

上文 ReactTypescript清理项目环境 我们将自己创建的项目环境 好好清理了一下 下面 我们来看组件的创建 组件化在这种数据响应式开发中肯定是非常重要的。 我们现在src下创建一个文件夹 叫 components 就用他专门来处理组件业务 然后 我们在下面创建一个 hello.tsx 注意 是t…

多智能体共识算法的粗略数学证明

这篇文章是对论文《Consensus and Cooperation in Networked Multi-Agent Systems》中定理一的粗略数学证明。 论文中的定理一&#xff1a; 对一个由 n 个智能体以拓扑结构 G 组成的网络&#xff0c;使用以下共识算法&#xff1a; x ˙ i ( t ) Σ j ∈ N i a i j ( x j ( t…

客户标签如何分类?

客户标签分为8大类标签 &#x1f449;客户画像类标签记录客户的基础信息&#xff01; &#x1f449;客户来源类标签记录获客途径及渠道效果&#xff01; &#x1f449;客户状态类标签描述客户的全生命周期&#xff01; &#x1f449;客户跟进类标签记录与客户链接以后的情况&am…

VVIC-商品详情

一、接口参数说明&#xff1a; item_get-根据ID取商品详情&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/vvic/item_get 名称类型必须描述keyString是调用key&#xff08;点击获取测试k…

微信小程序真机调试异常cmdId 1006, errCode-50011-已解决

cmdId 1006, errCode-50011 起因 小程序在模拟器上预览没问题,真机调试和体验版首页打不开,点展开显示cmdId 1006, errCode-50011 解决 查了下1006, 说是广告, 我没接广告,这个也不是错误码 1006广告组件被驳回你的广告正在被审核,无法展现广告后来找到几个类似的帖子…

Win10共享打印机所需要的设置(无需密码访问实现打印机共享)

为什么win10电脑已经将打印机设置为共享&#xff0c;其他朋友还是无法连接到Win10电脑共享的打印机呢&#xff0c;一般都是因为直接连接打印机的win10设置有问题。这种情况很多&#xff0c;下面的方案基本都能解决&#xff0c;本人多次亲测&#xff0c;全部成功。具体设置方法如…

【腾讯云 Cloud Studio 实战训练营】使用云IDEA,快速构建React完成点餐H5页面

文章目录 前言简介优势项目介绍 实战教学注册流程创建工作空间环境配置安装 antd-mobile安装 less 和 less-loader暴露 webpack 配置文件修改 config/webpack.config.js 文件安装 normalize 上传项目素材替换App.js主文件创建 index.less 文件 启动项目清理实验先停止项目再删除…