首页 > 其他分享 >计组——ROM存储器——字位扩展实验

计组——ROM存储器——字位扩展实验

时间:2024-12-12 13:31:25浏览次数:7  
标签:字节 芯片 32 存储器 扩展 存储芯片 ROM 地址 计组

一、字位扩展:

存储芯片进行存储扩展的方法主要有三种:位扩展、字扩展和字位同时扩展。这些方法的应用取决于存储芯片的容量及字长与目标存储器的容量及字长之间的差异。

一、位扩展(数据总线扩展、字长扩展)

位扩展是在位数方向上扩展存储器的容量,即增加每个存储单元的数据位数,而存储单元的数量(字数)保持不变。

  1. 原理

    • 当存储芯片的数据位小于CPU对数据位的要求时,需要采用位扩展。
    • 通过将多个存储芯片的数据线并联,形成更高位宽的数据总线,以满足CPU对数据位的需求。
  2. 连接方式

    • 地址线、读写控制线并联后与CPU的地址线和读写控制线连接。
    • 各存储芯片的数据总线汇聚成更高位宽的数据总线与CPU的数据总线相连。
    • 所有存储芯片的片选信号并联后与CPU连接。
  3. 示例

    • 假设一个存储系统容量为N位,若使用K位的芯片(K<N),则共需要(N÷K)个芯片实现存储扩展。
    • 例如,使用两片1K×4位的存储芯片可以扩展为1K×8位的存储器。

二、字扩展(容量扩展、地址总线扩展)

字扩展是在字数方向上扩展存储器的容量,即增加存储单元的数量,而每个存储单元的数据位数保持不变。

  1. 原理

    • 当存储芯片的存储容量不能满足CPU对存储容量的要求时,需要采用字扩展。
    • 通过将多个存储芯片的地址线并联,并增加地址译码电路,以形成更大的存储空间。
  2. 连接方式

    • 数据总线、读写控制线各自并联后与CPU数据总线、读写控制线相连。
    • 各存储芯片的片选信号由CPU高位多余的地址线译码产生。
  3. 示例

    • 假设一个存储系统容量为M,若使用容量为l的芯片(l≤M),则共需要(M÷l)个芯片。
    • 例如,使用两片1K×8位的存储芯片可以扩展为2K×8位的存储器。

三、字位同时扩展(综合扩展)

字位同时扩展是同时扩展存储器的字数和位数,以满足对存储总容量和数据位数的双重需求。

  1. 原理

    • 当存储芯片的数据位和存储容量均不能满足存储器的需求时,需要采用字位同时扩展。
    • 这种方式结合了位扩展和字扩展的特点,通过同时增加存储单元的数量和数据位数来实现存储扩展。
  2. 连接方式

    • 先通过位扩展将多个存储芯片组合成具有所需数据位数的存储模块。
    • 然后通过字扩展将多个存储模块组合成具有所需存储容量的存储器。
  3. 示例

    • 假设一个存储系统容量为MXN位,若使用l×K位的芯片(l<M,K<N),则共需要(M/l)×(N/K)个芯片。
    • 例如,使用32个32位的ROM组件可以按位扩展的方式构造出位宽为1024的存储系统,用于存储汉字字库。

二、存储芯片规格描述:

“1K×4位”是一个常见的存储芯片规格描述。这里的“1K”和“4位”分别代表了存储芯片的两个重要参数:存储容量和数据位宽。

1.1K:这表示存储芯片的容量是1K   ,1K实际上是指1024个存储单元

2.4位:这表示每个存储单元可以存储4位二进制数

三、字和字节和位和存储单元:

位(bit)

        位就像是计算机世界里的一个超级小的灯泡,它只有两种状态:亮(1)或灭(0)。你可以把位想象成一个开关,只能打开或关闭。在计算机中,位是数据存储和处理的最基本单位。

字节(Byte)

        字节则像是把8个这样的灯泡(位)捆绑在一起的一个小包裹。这个小包裹就是字节,它可以表示很多不同的数字和信息,因为8个灯泡(位)可以组合出256种不同的状态(从00000000到11111111)。在计算机中,字节是常用的数据存储单位。

字(Word)

        字就像是把很多这样的小包裹(字节)放在一起形成的一个大箱子。这个大箱子的大小(即包含的字节数)取决于计算机的“胃口”——也就是计算机的字长。有的计算机“胃口”小,一个字可能只包含2个字节;有的计算机“胃口”大,一个字可能包含4个、8个甚至更多的字节。

存储单元

        存储单元就像是计算机里的一个个小房间,每个房间里都可以放一个或多个大箱子(字)或者小包裹(字节)。这些房间就是计算机的存储设备,比如硬盘、内存等。你可以把数据(比如文件、图片、视频等)放进这些房间里,等需要的时候再取出来。

联系

  • 位、字节、字和存储单元都是用来描述计算机中数据存储和处理的单位。
  • 位是最小的单位,字节由8个位组成,字由多个字节组成,而存储单元则可以存放多个字或字节。
  • 它们之间有着紧密的联系,就像灯泡(位)组成小包裹(字节),小包裹(字节)组成大箱子(字),大箱子(字)再放进小房间(存储单元)里一样。

区别

  • 位只能表示0或1两种状态。
  • 字节可以表示更多的数字和信息(256种状态)。
  • 字的大小取决于计算机的字长,可以包含不同数量的字节。
  • 存储单元则是用来存放数据的空间,它可以包含多个字或字节。

        简单来说,位就像是计算机里的一个小灯泡,字节是由8个小灯泡组成的一个小包裹,字是由多个这样的小包裹组成的一个大箱子,而存储单元则是用来存放这些大箱子或小包裹的房间。

四、字和位和字节的详细描述和单位表示:

字(Word)

  1. 详细描述

    • 字是计算机进行数据处理和运算的基本单位。
    • 字的大小(即包含的位数)取决于计算机的字长,不同档次的计算机有不同的字长。例如,在16位计算机中,一个字通常由16个位组成;在32位计算机中,一个字由32个位组成;在64位计算机中,一个字由64个位组成。
    • 字的大小决定了计算机一次能够处理的数据量,进而影响计算机的运算速度和性能。
  2. 单位表示

    • 字通常用“W”或“word”来表示。
    • 在具体描述时,会指明计算机的字长,如“32位字长计算机”表示该计算机的一个字由32个位组成。

位(bit)

  1. 详细描述

    • 位是计算机中最小的数据单位,也是二进制数的基本单位。
    • 每一位的状态只能是0或1,这两种状态分别代表了二进制数的两个基本元素。
    • 在计算机中,位是数据存储和传输的最小单元。
  2. 单位表示

    • 位通常用“b”或“bit”来表示。
    • 在数据传输和存储中,位是基本的度量单位,如数据传输速率通常以“位每秒”(bps)来表示。

字节(Byte)

  1. 详细描述

    • 字节是存储空间的基本计量单位,也是计算机信息技术中用于计量存储容量的一种单位。
    • 一个字节由8个二进制位(bit)组成,因此可以表示256(2的8次方)种不同的状态或数值。
    • 字节是计算机中常用的数据存储单位,如一个英文字母(不分大小写)通常占一个字节的空间,一个中文汉字则占两个字节的空间。
  2. 单位表示

    • 字节通常用“B”或“Byte”来表示。
    • 在描述存储容量时,常用更大的单位来表示,如千字节(KB)、兆字节(MB)、吉字节(GB)等。这些单位之间的换算关系是:1KB=1024B,1MB=1024KB,1GB=1024MB。

所以在64位计算机中,一个字确实是由64个位组成,也等同于由八个字节构成。

五、实验要求:

实验分析:

  • 实现存储器的字扩展,即增加存储器中字的数量,而保持每个字的位数(字长)不变。
  • 通过4片较小的存储芯片(4K×32位)组合成一片较大的存储芯片(16K×32位)的等效功能。

实验准备:

  • 准备4片4K×32位的ROM芯片。
  • 准备必要的连接线和电路元件,如分线器、译码器(或多路选择器)等。
  • 确保实验环境安全,检查电源和连接设备是否完好。

实验步骤:

1. 连接地址线
  • 4片ROM芯片的地址线并联在一起,并连接到外部的地址总线上。由于4K×32位ROM芯片的存储容量为4K(即4096个地址,对应12条地址线),我们需要将低12条地址线直接连接到芯片的地址输入端。
  • 同时,将地址总线的高2条地址线(即第13和第14条地址线)引出,用于后续产生片选信号。
2. 连接数据线
  • 将4片ROM芯片的数据线并联在一起,并连接到外部的数据总线上。由于每片芯片的数据线为32位,因此数据总线也应为32位。
3. 连接读写控制线
  • 将4片ROM芯片的读写控制线并联在一起,并连接到外部的读写控制总线上。这样,当CPU需要读取或写入数据时,可以通过读写控制总线来控制所有ROM芯片的读写操作。
4. 产生片选信号
  • 使用译码器(或多路选择器)来产生片选信号。将地址总线的高2条地址线作为译码器的输入端。
  • 译码器的输出端连接到4片ROM芯片的片选端。这样,当CPU访问不同的地址范围时,译码器会产生不同的片选信号,以选中相应的ROM芯片。
  • 在这个实验中,由于有4片ROM芯片,因此译码器需要有4个输出端。当译码器的输入为特定的两位二进制数时,对应的输出端会产生片选信号,选中相应的ROM芯片。
5. 测试与验证
  • 连接好电路后,进行测试以验证是否实现了16K×32位的存储空间。
  • 可以向存储器写入一系列测试数据,并尝试从不同的地址范围读取这些数据。
  • 检查读取的数据是否与写入的数据一致,以验证存储器的正确性和可靠性。

实验注意事项

  • 在连接电路时,要确保所有连接线的正确性和稳定性,避免短路或断路。
  • 在产生片选信号时,要确保译码器(或多路选择器)的正确性和可靠性,避免产生错误的片选信号。
  • 在进行测试时,要仔细检查测试结果,确保存储器能够正常工作。如果出现问题,应仔细检查电路连接和元件状态,排除故障。

字扩展实现方式

字扩展是在保持每个存储单元的字长(即数据线的宽度)不变的情况下,通过增加存储芯片的数量来增加总的存储容量。在这个实验中,我们使用了4片4K×32位的ROM芯片,通过将它们并联在一起,并使用额外的地址线(高位地址线)来选择不同的芯片,从而实现了16K×32位的存储空间。

线连接分析

  1. 地址线连接
    • 低12条地址线直接连接到4片ROM芯片的地址输入端。
    • 高2条地址线通过分线器引出,用于产生片选信号。
  2. 数据线连接
    • 32位数据线直接并联连接到4片ROM芯片的数据输出端和外部数据总线。
  3. 读写控制线连接
    • 读写控制线并联连接到4片ROM芯片的读写控制端和外部读写控制总线。
  4. 片选信号连接
    • 译码器的输出端分别连接到4片ROM芯片的片选端。
    • 当译码器根据高位地址线产生片选信号时,会选中相应的ROM芯片进行读写操作。

通过以上步骤和连接方式,我们成功地将4片4K×32位的ROM芯片扩展为16K×32位的存储空间,并实现了字扩展。

六、各器件的详细分析:

1.多路选择器:

一、地址选择

多路选择器能够根据外部提供的地址选择信号,从多个输入地址中选择一个作为输出地址。在存储器扩展中,这意味着它可以从4片4K×32位芯片的地址空间中,根据访问请求的地址,选择正确的芯片和内部地址进行访问。

二、片选控制

通过多路选择器的输出,可以控制4片4K×32位芯片的片选信号。当多路选择器选择一个特定的输入地址时,它会产生一个对应的片选信号,激活被选中的芯片,同时使其他芯片处于非激活状态。这样,就实现了对4片芯片的并行访问控制,从而扩展了总的存储空间。

2.Decoder:

  1. 地址解码
    • 在存储器扩展中,地址解码是关键步骤之一。解码器(Decoder)负责将外部提供的地址信号解码为多个内部选择信号,这些选择信号用于选择正确的存储芯片和芯片内部的存储单元。
    • 在本例中,Decoder可能负责将16K地址空间中的地址解码为4个4K地址空间的选择信号,从而实现对4片4K×32位芯片的访问控制。
  2. 芯片选择
    • 解码器的输出信号通常用作存储芯片的片选信号(Chip Select, CS)。当外部地址与解码器中的某个特定模式相匹配时,解码器会产生一个有效的片选信号,以激活对应的存储芯片。
    • 在本例中,Decoder的输出可能连接到4片4K×32位芯片的片选引脚,以根据地址信号选择正确的芯片进行读写操作。
  3. 扩展灵活性
    • 使用解码器进行存储器扩展可以增加系统的灵活性。通过修改解码器的设置或配置,可以轻松改变存储系统的容量或结构。
    • 在本例中,Decoder的设置(如“Facing”方向、“Select Location”位置等)可能允许用户根据需要调整存储器的配置,以适应不同的应用场景。
  4. 简化电路设计
    • 解码器的使用可以简化存储系统的电路设计。通过集中处理地址解码和芯片选择任务,解码器减少了所需电路元件的数量和复杂性。
    • 在本例中,Decoder可能减少了原本需要用于地址解码和芯片选择的额外电路元件,从而降低了硬件成本并提高了系统的可靠性。

七、实验结果图展示:

标签:字节,芯片,32,存储器,扩展,存储芯片,ROM,地址,计组
From: https://blog.csdn.net/2301_80073593/article/details/144272103

相关文章

  • Prometheus的二进制部署&容器化部署
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.实例部署环境安装启动验证2.容器化部署1.实例部署环境··版本prometheus-2.52.0.linux-amd64IP192.168.56.31系统版本centOS7安装从https://prometheus.io/download/下载相应版......
  • prometheus基于consul自动发现
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1.prometheus&consul部署2.展示本文主要将prometheus和consul结合起来使用,通过conusl注册服务至prometheus,实现服务统一注册,统一报警管理等。整个架构思路consul+prometheus+alertmanage......
  • 什么是 Java 的 PLAB(Promotion Local Allocation Buffer)?
    什么是Java的PLAB(PromotionLocalAllocationBuffer)?PLAB全称是PromotionLocalAllocationBuffer,是Java垃圾回收机制中的一个重要概念,主要用于优化对象晋升(Promotion)的性能。PLAB是在垃圾回收器处理内存分配时,为每个线程分配的一块缓冲区域,专门用于临时存放从新生代晋......
  • 【论文解读】Predicting Chroma from Luma in AV1
    级别:CCFB时间:2018年机构:Xiph.OrgFoundation摘要色度从亮度(ChromafromLuma,简称CfL)预测是一种新颖且有前景的仅色度内部预测器,它将色度像素建模为相应重建亮度像素的线性函数。在本文中,我们介绍了在开放媒体联盟(AllianceforOpenMedia,简称AOM)开发的免版税视频......
  • 古早的遗传算法碰到LLM->AutoDAN Generating Stealthy Jailbreak Prompts onAligned L
    师兄推给我的一篇ICLR,抽出时间阅读整理了附录前的内容......
  • 【Ray tracing with NeRF】Learnable Wireless Digital Twins: Reconstructing Elect
    LearnableWirelessDigitalTwins:ReconstructingElectromagneticFieldwithNeuralRepresentations###1.Overview2.MLmodelfortheEMpropertyandtheinteractionbehaviour2.1NeuralObject\[\mathbf{e}=\widetilde{g}_{\mathscr{E},o}\left......
  • Chromium源码分析三:Chromium中用到的设计模式
    在阅读Chromium源码过程中,主要看的是公司自研的部分,不能对外分享。在自研部分中,用到了很多设计模式。比如:js注册监听函数,底层发现登录状态发生变化,产生登录或退登事件,事件从底层传到js层,就主要用到了观察者模式、代理模式、桥接模式、命令模式等。下面内容是通过询问AI生成的文......
  • Prometheus监控ES
    需求收集ES的指标,并进行展示和告警;现状ES通过dockercompose安装所在环境的K8S集群有Prometheus和AlertManager及Grafana方案复用现有的监控体系,通过:Prometheus监控ES.具体实现为:采集端 elasticsearch_exporter可以监控的指标为:NameTypeCa......
  • Prometheus + Grafana
    功能简介Prometheus:采集数据Grafana:图表展示数据node-exporter:用于收集操作系统和硬件信息的metricscadvisor:用于收集docker的相关metrics 环境准备主机IP角色软件docker0110.0.0.101普罗米修斯服务端Prometheus、node-exporter、cadvisor、Grafana......
  • ‌System Prompt VS User Prompt
    SystemPrompt(系统提示词)与UserPrompt(用户提示词)在定义、作用和特点上存在显著区别。‌定义‌SystemPrompt‌:系统提示词是指向AI提供的一组初始指令或背景信息,用于指导AI的行为方式和响应模式。它帮助设定AI的角色、语气、知识范围等,确保AI能够按照预期的方式与用户互动......