5、论存储器组织

先前我们学习了锁存器,8位锁存器图如下:

简化图如下:

假如现在我们只有一个灯泡,我们想用一个输入和一个输出来存储这8位输入、输出8位。

我们就需要增加3个开关,因为3个二进制可以表达8个数,正好对应了我们的8位。

要实现的效果图如下:

在标注这是什么装置?的装置中,其实是一个“8-1选择器”,其简化图如下:

我们所要达到的真值表的目的是:

输入 输出
S2 S1 S0 Q
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
1 0 0 D4
1 0 1 D5
1 1 0 D6
1 1 1 D7

8-1选择器主要有:三个反向器、八个4端口输入与门、一个8端口输入或门,系统的组织结构如下图:

可以分别把S0 S1 S2对应一个值带进去看看工作原理是什么。下面是电路结构图:

现在我们已经走完一半了,就差输入端了。

其实解决问题的思路有很大的相似,无非是我们想利用开关和数据输入来控制写入端,哪个是可写的。

而图中的这款器件,我们叫做3-8译码器。

3-8译码器输出的端口共有8个,在任何时刻,译码器只会有一个锁存器的输出位1,其余均为0.每一个输出端的结果都是由S0、S1、S2这三个信号的排列组合决定的。而数据的输出和输入一致,如下图所示:

译码器逻辑表如下:

输入 输出
S2 S1 S0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 0 0 0 0 0 0 0 Data
0 0 1 0 0 0 0 0 0 Data 0
0 1 0 0 0 0 0 0 Data 0 0
0 1 1 0 0 0 0 Data 0 0 0
1 0 0 0 0 0 Data 0 0 0 0
1 0 1 0 0 Data 0 0 0 0 0
1 1 0 0 Data 0 0 0 0 0 0
1 1 1 Data 0 0 0 0 0 0 0

将8个锁存器加入到电路就形成了完整的系统:

译码器和选择器具有相同的选择信号,上图中,这三个信号一起被称为地址端口。

这种配置下的锁存器在有的资料中也被称为读/写存储器(read/write memory),但更普遍的叫法是随机访问存储器(Random Access Memory),或RAM。可以认为我们讨论的这种存储器是可存储8个独立比特的RAM,它的简化结构图如下:

之所以被称为随机访问存储器,是因为读写操作很自由,我们只需要改变地址及相关的输入,就可以从8个锁存器中读出或写入需要的数据。相比于其他的顺序型存储器,这种存储器在使用时有一定的限制,如果想要读取地址为101的数据,必须先把地址为100的数据读取出来。

将RAM进行特殊的配置可形成RAM阵列(Array),我们所讨论的这种RAM阵列以8X1的方式组织起来的。阵列以1比特作为存储单位,共存储8个单位的数据。所以这个RAM阵列中能存储的位数等于8与1的乘积。

RAM阵列组合形式多种多样。比如我们可以通过共享地址的方式可以把两个8X1的RAM阵列连接起来,如下图:

我们把这两个8X1的RAM阵列的地址和输出分别都看成一个整体,这样就得到了一个8X2的RAM的RAM阵列,如下图:

这个RAM阵列可存储的二进制数依然是8个,但是每个数位宽为2位。

我们还可以把两个8X1的RAM阵列看做是两个锁存器,使用一个2-1选择器和一个1-2译码器就可以把它们按照单个锁存器连接方式进行集成,电路图如下:

“选择”端之所以连接到译码器和选择器,主要作用是在两个8X1 RAM阵列中选择一个,本质上它扮演了第4根地址线的角色。因此这种结构实质上是一种16X1的RAM阵列,如下图:

上图中的RAM阵列存储容量为16个单位,每个单位占1位。

RAM阵列的存储容量与其地址输入端的数量有直接的联系。在没有地址输入端的情况下(只有1位锁存器和8位锁存器的情况下),只能存储1个单位的数据;当存在1个地址输入端时,可以存储两个单位的数据;在有两个地址输入端时,可以存储4个单位的数据;有3个地址输入端时,可以存储8个单位的数据;有4个地址输入端时,可以存储16个单位的数据。我们可以把它们之间的关系归纳成如下等式:

RAM阵列的存储容量=2地址输入端个数

那为何不搭建一个大规模的RAm阵列呢?就像下面这样:

上面的RAM阵列可存储8192个比特的信息,每8个比特为一组,共分为1024个组。因为2的10次方恰好时1024,所以地址端口共有10个输入端口。电路还包括8位的数据输入端和8位数据输出端。(1KB=1024B)

而更多的时候,我们用到的地址数如下:

因为16正好可以用两个字节进行寻址(64K)

时间: 2024-08-07 13:40:27

5、论存储器组织的相关文章

2. STM32 存储器映射和寄存器映射

连接上篇博文,先说说存储器组织 FLASH,RAM,FAMC,AHB到APB的桥(片上外设)被组织在同一个4GB的线性地址空间内 可以访问的存储器空间被分成8个主要块即为BLock0~7,每块512MB. (1)存储器映射 存储器本身不具有地址信息,其地址由芯片厂商或用户分配,这个分配地址的过程就叫存储器映射,给存储器再分配一个地址就叫存储器重映射. 在这8 个BLock里,最关注这三块: BLock0:内部FLASH:(0x0000 0000 ~ 0x1FFF FFFF) FLASH:(0x0

spi-mem: 为SPI存储器生态系统带来一些一致性

在本文中,我们将介绍关于spi-mem Linux内核框架的工作,该框架将允许在SPI NOR设备和常规SPI设备以及SPI NAND设备上复用SPI控制器驱动程序. 从SPI到双线.四线.八线SPI 在过去,SPI是一个简单的协议,总线上的所有设备只共享3根信号线: MISO: Master In Slave Out,主设备输入从设备输出线 MOSI: Master Out Slave In,主设备输出从设备输入线 SCLK: Serial Clock,时钟线 另外每个设备有一个独立信号线,用

[stm32参考手册] 1、Introduction

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xxand STM32F107xx advanced ARM-based 32-bit MCUs 本资料覆盖范围: 这本资料提供完整的关于上述系列STM单片机的存储器和外设的使用方法.在整个文档中(除非特别说明)是把这几类单片机归于STM32F10XXX系列的. 注:STM32F10XXX是一个包含的各种不同存储器尺寸,不同封装和不同外设的微处理器家族. 其他相关资料引导: 关于订货编号.电气和物理性

CPU保护模式深入探秘

原文链接为:http://www.chinaunix.net/old_jh/23/483510.html 保护方式的体系结构 主要问题:          保护方式的寄存器模型          保护方式的描述符与页表项          保护方式的存储器管理与地址转换          多任务机制与保护实现          虚拟 8086 模式 一.保护方式的寄存器模型   新增四个寄存器 (指针 -----  指向内存中的特殊的数据表):  全局描述符表寄存器 GDTR  局部描述符表寄存

ImageCraft下的AVR启动代码

以前经常想自己使用编译器编写MCU的C代码,编译器帮我们做了什么.编译器是如何分配变量和代码的.所以就闲着没事去看编译器的安装路径下有什么东东.工作中使用的是ICCAVR编译器和Atmel的atmega64.所以我倒腾的就是这款编译器和MCU~~~. 说实话ICCAVR编译器确实非常简捷方便,但是功能强大(当然了,我没用过其它的编译器o(╯□╰)o).对于它的基本使用再次不再赘述.在编译器环境中点击帮助菜单会弹出Show Library Source Code passwd,然后点击会弹出一个小

移动终端处理器构成和基带芯片概述

(一)移动终端发展 一部手机要实现最基本的功能-打电话发短信,这个手机就要包括以下几个部分:射频部分.基带部分.电源管理.外设.软件等.回顾一下移动手机的发展史: 1,功能手机(Feature Phone):只用基带芯片,只能用来打电话.发短信. 2,多媒体手机:使用基带芯片+协处理器加速单元.在功能机的基础上,增加了多媒体功能(如视频.音乐).MTK就是在多媒体手机时代崛起的,当然要归功于广大"山寨机".MTK基带芯片中除了CPU以外,还集成了很多外设控制器.Feature Phon

计算机系统基础:程序的执行和存储访问---学习心得

程序执行概述 介绍程序执行概述,首先介绍程序和指令的关系,然后介绍程序中一条指令的执行过程.我们在计算机系统基础(一)中主要是以IA-32架构来讲解程序的机器级表示的,所以,我们这里会介绍在IA-32中一条指令的执行过程,最后简单介绍一下CPU的基本功能和基本结构,包括数据通路和控制器的基本功能和结构. 主存储器组织 介绍存储器概述,首先介绍存储器相关的基本概念,然后介绍主存的基本结构及其性能指标.组成计算机中内存储器主要是半导体存储器,所以,接下来我们会介绍半导体存储器的组织方式,包括静态随机

移动终端基带芯片基本架构

(一)概述 基带数字处理功能以及手机基本外围功能都集中到单片片上系统(SOC)中,其基本构架都采用了微处理器+数字信号处理器(DSP)的结构,微处理器和DSP的处理能力一直增强.微处理器是整颗芯片的控制中心,会运行一个实时嵌入式操作系统(如Nucleus PLUS).DSP子系统是基带处理的重点,其中包含了许多硬件加速器和基带专用处理模块,完成所有物理层功能.现在,随着实时数字信号处理技术的发展,ARM微处理器(会采用不同的微系列,如3G芯片多采用ARM9).DSP和FPGA体系结构成为移动终端

《CODE》读后笔记——第14~25章

反馈与触发器 振荡器不需要人的干涉即可自主且不断地实现断开和闭合.所有计算机都靠某种振荡器来使其他部件同步工作. 当两个开关都断开时,电路有两个稳定状态,这样的一个电路称为触发器.触发器具有记忆性,可以保持信息. 触发器: <code>书中常用的电路 振荡器 分频器 8位行波(异步)计数器 8-1选择器 3-8译码器 字节与十六进制 看完这一章,个人认为十六进制的出现应该就是为了要简单清晰的表示字节吧.四进制表示就只比二进制缩短了1倍,八进制实现不了8个位组成的字节,二百五十六进制太复杂. 在