计算机组成原理(超详解!!) 第五节 只读存储器和闪速存储器

本文主要是介绍计算机组成原理(超详解!!) 第五节 只读存储器和闪速存储器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.只读存储器(Read Only Memory)

1、ROM的分类

最大优点:具有非易失性

掩膜ROM:

PROM基本存储电路:

2.闪速存储器

FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。

由INTEL公司于90年代发明的一种高密度、非易失性的读/写半导体存储器。

特性:固有的非易失性;廉价的高密度:成本低,不需后援存储器;直接执行:不从后援存储器加载,可直接执行;固态性能:低功耗、高密度且没有机电移动装置的半导体技术;

闪速存储器与CPU的连接

三部分通过三组信号线连接,地址与控制总线发向存储器和接口电路。地址总线宽度决定存储器的寻址空间;数据总线宽度决定存储器的字长。

例题:

CPU的地址总线16根,双向数据总线8根,控制总线中与主存有关的信号有MREQ(允许访存,低电平有效),R/W(高电平为读命令,低电平为写命令)。 主存地址空间分配如下:0—8191为系统程序区,由只读存储芯片组成;8192—32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片: EPROM:8K×8位; SRAM:16K×1位,2K×8位,4K×8位,8K×8位。请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及3∶8译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片?

解:主存地址空间分布如图所示。 根据给定条件,选用 EPROM:8K×8位芯片1片 SRAM:8K×8位芯片3片,2K×8位芯片1片。

3∶8译码器仅用Y0,Y1,Y2,Y3和Y7输出端,且对最后的2K×8位芯片还需加门电路译码。

设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存控制信号,R/W作读/写命令信号(高电平为读,低电平为写)。现有这些存储芯片: ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。         试从上述规格中选用合适的芯片,画出CPU和存储芯片的连接图。要求如下:(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。

解:(1)地址空间分配图如下:

(2)选片:ROM:4K × 4位:2片;RAM:4K × 8位:3片;        

(3)CPU和存储器连接逻辑图及片选逻辑:

讨论:    

1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展。    

理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可。本题如选用2K×8 ROM,则RAM也应选2K×8的。否则片选要采用二级译码,实现较麻烦。当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线。    

2)应尽可能的避免使用二级译码,以使设计简练。但要注意在需要二级译码时如果不使用,会使选片产生二意性。

3)片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码。    

4)其它常见错误:EPROM的PD端接地;(PD为功率下降控制端,当输入为高时,进入功率下降状态。因此PD端的合理接法是与片选端-CS并联。ROM连读/写控制线-WE;(ROM无读/写控制端)  

注:该题缺少“系统程序工作区”条件。

CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连。  

(1)用74138译码器画出CPU与存储芯片的连接图;  

(2)写出每片RAM的地址范围;

解:    

(1)CPU与存储器芯片连接逻辑图:

(2)地址空间分配图:

3.练习:

这篇关于计算机组成原理(超详解!!) 第五节 只读存储器和闪速存储器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889307

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected