基于已知RAM与ROM的主存扩展和主存与CPU物理连接
来源:互联网 发布:caffe dropout层 编辑:程序博客网 时间:2024/05/15 12:20
这篇博客将主要讨论的是如何利用已知的RAM和ROM对主存进行扩展以及主存与CPU进行物理连接。
基于已知RAM和ROM的字扩展与位扩展
由于RAM与ROM实现的字扩展与位扩展大致相同,因此以下仅仅针对RAM进行分析。
首先来明确以下什么是字扩展,什么是位扩展。假设某RAM是256K × 16bit的,那么如果我们将其扩展为512K × 16bit,那么就称之为字扩展;如果将其扩展为256K × 32bit,那么就是位扩展。如果同时需要进行字扩展和位扩展,首先将进行位扩展,然后再进行字扩展,详情在后面的内容中进行具体分析。
以下将以1K × 8bitRAM为例来说明如何进行字扩展和位扩展。
位扩展
目标,将1K × 8bitRAM扩展为1K × 16bitRAM
我们如果需要进行位扩展,那么直接将其输入并联,然后输出串联,CS使能控制并联即可。如图所示:
字扩展
目标,将1K × 8bitRAM扩展为2K × 8bitRAM
。
我们知道,原RAM共有10根数据线(2**10=1K),如果将其扩展为2K,那么需要增加一根数据线,同时明确需要两个原始的RAM进行扩展。我们可以通过一个选择逻辑来实现最高位的选择操作,然后关于其输出直接设置并行即可。
如图所示:
混合扩展
对于既要进行字扩展,又要进行位扩展的情况,我们首先使用除法计算出需要的RAM的数量,然后首先进行位扩展,将位扩展得到的原件逻辑上封装为一个整体,接着对这个整体进行字扩展。
如果字扩展的选择逻辑较为复杂,则可以使用译码器进行选择,将1K × 8bitRAM扩展为4K × 16bit的实现如图所示:
主存与CPU的物理连接设计
主存与CPU的物理连接设计是该部分的一个主要难点。主要难的是地址的初始位选择。
其选择的思路如下所示:
决定主存的容量
通过需要的area来计算得到主存的容量
选择芯片
根据得到的主存容量选择合适的芯片,系统线使用ROM,用户线使用RAM
挂载CPU地址线
合理地使用ROM和RAM进行主存和CPU之间的物理连接
关于主存与CPU的物理连接设计将依据PPT内容进行分析:
- 基于已知RAM与ROM的主存扩展和主存与CPU物理连接
- 主存与cache的地址映射
- 主存与cache的地址映射
- 主存与Cache的地址映射
- cache与主存的映射及计算
- 主存与Cache的地址映射
- 主存与Cache的地址映射[转载]
- cache与主存的地址映射
- Cache与主存之间的映射方式
- 主存与Cache的地址映射
- 主存与Cache的地址映射方式
- 主存与cache间的地址映射
- L1、L2、MMU、TLB物理关系 && 进程栈和内核栈 && Cache与主存关联
- 五分钟带你了解CPU、指令、主存与硬盘之间的关系
- “Cache-主存”和“主存和辅存”的区别
- 内存和主存的映射
- CACHE与主存之间的全相联映射,直接映射和组相联映射的区别
- Cache与主存之间的"全相联映射","直接映射"和"组相联映射"的区别
- 游戏公司,boss深度参与策划该怎么办,员工与boss应该如何博弈
- STM32 M0时钟配置
- spark算子
- 1052. 卖个萌 (20)
- 快速排序算法
- 基于已知RAM与ROM的主存扩展和主存与CPU物理连接
- C++声明和定义的区别
- Segmentation fault 问题浅谈
- 冒泡排序、简单选择排序、插入排序和快速排序(附源代码)
- 面向对象--工厂方式和构造函数
- 在Android中解决内存溢出 – OutOfMemoryError
- 【笔试】接口和抽象类的部分区别
- 【c++】日期类的实现
- CATIA.DELMIA.ENOVIA.V5-6R2015.SP5.Win32_64 2DVD