当前位置: 首页 > news >正文

西电微机原理-第五章 存储技术

目录
  • SRAM
    • 用SRAM构成8086/8088的内存
      • 连接方式
      • 拓展电路
      • 译码电路
    • 用SRAM构成80386/80486内存
    • 利用SRAM构成Pentium的内存
  • ROM
    • 用EPROM构成8086/8088的内存
    • 用E2PROM构成8086/8088内存
    • 闪速E2PROM:Flash
    • 其他存储器
  • SRAM综合设计举例
    • 举例1:构成8086内存(16位)
    • 举例2:构成8088内存(8位)
    • 总结

SRAM

用SRAM构成8086/8088的内存

考察方式:画电路图,编程测试。

核心:数据线,地址线,片选线怎么连,译码电路怎么设计

连接方式

全地址译码连接

Untitled

部分地址译码连接

Untitled

拓展电路

Untitled

  • 拓展位:片内地址之前
  • 连接方式
    • 地址线和数据线直接和系统总线相连
    • 拓展位作为译码电路的输出连到芯片片选端

把大地址分解为连续的内存空间,分别存到不同存储器

把大地址分解为连续的内存空间,分别存到不同存储器

Untitled

  • 拓展位:片内地址之后
  • 连接方式
    • 拓展位直接作为片选连到芯片片选端
    • 数据线分高位和低位连接,地址线按偏移连接(偏移位数为拓展位的位数)

把大地址空间按地址末位分配到不同存储器,不同存储器中的存储的数据对应的内存地址是不连续的

把大地址空间按地址末位分配到不同存储器,不同存储器中的存储的数据对应的内存地址是不连续的

Untitled

当拓展位为1位时,就是分奇偶存储体

  • 读8位,读偶地址的16位(对齐的):一个时钟周期
  • 读奇地址开头的16位:两个时钟周期(因为两个数据不对齐,字地址不同)

译码电路

  1. 直接用门电路或者38译码器
  2. ROM作译码器
  3. 数字比较器作译码器
  4. PLD作译码器

ROM作为译码器

ROM本质是一个映射:(接口地址,ROM值)。接口地址就是各个接口的01情况,所以映射可以理解为(接口电平,ROM值)。由此可见,如果把ROM值填为各个接口电平真值表的取值,那么ROM就可以实现任何组合逻辑。

Untitled

Untitled

Untitled

Untitled

其他地方填全1保证了其他情况下SRAM不会被选中

Untitled

  • 上拉电阻:保证当ROM译码器不选中任何芯片的时候,引脚输出为高电平。如果不加,则为高阻状态,芯片片选相当于悬空,状态不定。
  • 245和244分别是双向(数据线)和单向驱动(地址线)
    • 245的DR段连接内存读

数字比较器作为译码器

Untitled

Untitled

好处是可以很方便地把同一个芯片映射到不同的地址上。

利用PLD作为译码器

PLC是可编程阵列,把它用作译码器的原理和ROM译码器是一样的,这里就不再赘述。

用SRAM构成80386/80486内存

Untitled

Untitled

Untitled

  • 8086是双体结构,而80386是多体结构,但无论是几个存储体,本质都一样,都是位扩展,拓展位体现在片内地址后面。
  • 这里分为4个存储体,所以字拓展位为2位,译码为四路(BE0~3)后直接连到四个芯片的片选,数据线按高低位连接,地址线偏移2位后连接。
  • 内存的读写信号需要译码后读出(图中74F138)

多体结构存储情况

多体结构存储情况

利用SRAM构成Pentium的内存

Untitled

ROM

用EPROM构成8086/8088的内存

Untitled

Untitled

只读不写,所以没有接内存写信号

只读不写,所以没有接内存写信号

Untitled

Untitled

Untitled

  1. 怎么将地址范围转换为存储器容量

Untitled

  1. 两个地址范围映射到同一个较大的存储器时,译码器怎么接?低电平或逻辑,接与门即可

拓展:

如果不采用8K8bit而采用8K4bit的存储器,则需要先进行位拓展成8位存储器(8086无法读取4位内容),然后再进行字扩展

Untitled

Untitled

用E2PROM构成8086/8088内存

基本介绍:

Untitled

5~10ms对于cpu来说是一段很长的时间,此时cpu处于忙等待状态

5~10ms对于cpu来说是一段很长的时间,此时cpu处于忙等待状态

电路构成:

Untitled

busy信号开漏输出,实现线与逻辑,只要有一个芯片的busy=0,那么状态端口的输出就为0,表示总线忙。

状态端口通过一个三态门输出,只有在 \(A_{15}-A_0\) 为 7000H 的时候,才能读取到状态端口的电平情况,相当于定义了一个接口地址。 【避免总线竞争】

Untitled

闪速E2PROM:Flash

Untitled

NOR支持随机读取,可以像读取SRAM一样读取它,但是集成度低,速度慢

NOR支持随机读取,可以像读取SRAM一样读取它,但是集成度低,速度慢

不支持随机读取,但是集成度高,速度快

不支持随机读取,但是集成度高,速度快

其他存储器

Untitled

SRAM综合设计举例

举例1:构成8086内存(16位)

Untitled

  1. 选择芯片类型与数目,画出芯片连接图:由于是8086,所以需要位扩展为16位内存,划分奇偶存储体,相同类型的芯片为偶数片。A0作为偶地址(低地址)片选信号,BHE作为高地址片选信号。
  2. 画出内存分析表,圈出芯片内部地址范围,构成译码电路:由于芯片的起始地址不是16K的整数倍,所以芯片内部的起始地址不是从0开始,此时芯片的内部地址 A13 需要参与译码,这样从A12开始看,就是从0开始了。这样分完后16K的存储器会对应译码器的两路输出,把这两路输出相与即可。

Untitled

  1. 加驱动:复习244和245的结构【8位输入,一个双使能,一个单使能】
    1. 单向驱动:地址线 \(A_1 - A_{13}\) ,控制信号:A0、BHE、MEMR、MEMW。共17根线。三片244
    2. 双向驱动:数据线 \(D_0 - D_{15}\) 。两片235,方向控制用MEMR信号,使能信号接芯片片选。

模块化电路设计

模块化电路设计

  1. 编写汇编程序:

Untitled

CX=24K,预计算出24K*0.001=24

CX=24K,预计算出24K*0.001=24

举例2:构成8088内存(8位)

  1. 选择芯片类型与数目:由于是8088,内存为8位,所以无需位扩展,相同芯片的数目也不必为偶数位。
  2. 画内存分析图,圈出片内地址,构成译码电路:片内地址从0开始,无需参与译码。

Untitled

  1. 加上驱动:单向244(地址与控制信号)与双向245(数据信号)

Untitled

总结

设计步骤:

区分8086还是8088:8086是16位内存,且分奇偶存储体。

  1. 选择芯片的类型和数目:
    1. 8086:位扩展,相同类型芯片为偶数片
    2. 8088:无限制
  2. 画出内存地址分析图,圈出片内地址,构成译码电路
    1. 8086:位拓展后的芯片容量翻倍,看做整体;A0作为地位片选信号,片内地址整体左移;如果片内地址不是从0开始,那么片内地址要参与译码
    2. 8088:无限制
  3. 加上驱动:单向244(地址与控制信号)与双向245(数据信号)
    1. 244和245都是8个输入
    2. 244两个使能,245一个使能一个方向,方向接驱动后的MEMR
  4. 编写汇编程序:与电路的相关性体现在
    1. 译码电路的内存地址
    2. 接口地址

第六章 输入输出技术

http://www.wxhsa.cn/company.asp?id=4822

相关文章:

  • 西电微机原理-第七章 常用接口器件
  • CF1264D1 Beautiful Bracket Sequence (easy version)
  • 西电微机原理-第六章 输入输出技术
  • 【FAQ】应用A如何使用应用B内的文件?
  • OpenStack Cinder 创建卷
  • 西电微机原理-第二章 Intel单核处理器
  • 二叉树的迭代遍历(非递归)
  • 记录---用好了 defineProps 才叫会用 Vue3,90% 的写法都错了
  • 今日流水账-2025年9月15日
  • c#给原文件重命名
  • tcpdump常用随笔
  • 2025年HR经理必备:10款高效人力资源管理软件推荐
  • GAS中GA变量数据的同步
  • 提升员工绩效的5大人才管理软件评测与分析
  • 【触想智能】工业显示屏与普通显示屏的八大区别以及应用领域分析
  • LLaVA- Improved Baselines with Visual Instruction Tuning - jack
  • 042-WEB 攻防:PHP 应用 MYSQL 架构 SQL 注入 跨库查询 文件读写 权限操作
  • Dsu On Tree 笔记
  • 西电微机原理-第一章 序论:微型计算机概述
  • Liunx 硬盘扩容
  • 船舶航向控制算法
  • pyside6 1
  • 基于WSL下载Hadoop和HBASE
  • 应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
  • revit二次开发之 钢筋功能详细分析
  • java-wxj02
  • 停止win10自动升级操作
  • vue3 - elementPlus
  • GAS_Aura-Target Data
  • windows 把恢复分区调整到 c 盘前面