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

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

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

相关文章

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

Python装饰器之类装饰器详解

《Python装饰器之类装饰器详解》本文将详细介绍Python中类装饰器的概念、使用方法以及应用场景,并通过一个综合详细的例子展示如何使用类装饰器,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. 引言2. 装饰器的基本概念2.1. 函数装饰器复习2.2 类装饰器的定义和使用3. 类装饰

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Java中的@SneakyThrows注解用法详解

《Java中的@SneakyThrows注解用法详解》:本文主要介绍Java中的@SneakyThrows注解用法的相关资料,Lombok的@SneakyThrows注解简化了Java方法中的异常... 目录前言一、@SneakyThrows 简介1.1 什么是 Lombok?二、@SneakyThrows

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自