双端口RAM和多模块存储器
双端口RAM
提高存储器访存速度一些措施。
存取周期
进行一次存取之后,是不能立即进入下一次存取的,存储器要进行一次恢复。

存取周期=存取时间+恢复时间
- 对不同时间进行不同存取操作,双端RAM
- 流水线的方式,多模块存储器
双端口RAM


置一个忙信号。

多模块存储器
CPU的速度比存储器要快的,如果从存储器中同时存取n个字。可以提高cpu使用资源
补充:可以并行工作,如总线宽度为mW时,可以同时取出长度为mW的数据。
普通存储器
每行为1个存储单元

单体多字存储器
每个存储单元存储m个字,总线宽度也为m个字,一行并行读出m个字。

增加了存储器的带宽。
缺点:指令和数据在主存内必须连续存放。
多体并行的存储器
每个模块都有相同的容量和存取速度,各个模块都有独立的读写控制电路、地址寄存器和数据寄存器

编制方式:
高位交叉编址的多体存储器
高位是体号,低位是体内地址

假如有8个存储单元

相当于说,先确定是哪一个(存储体),然后在在那一个里面找相对应的一块。
低位交叉编址的多提存储器
低位是体号,高位是体内地址

假如有8个存储单元

先找到具体的位置,在看哪一个存储体。
为什么要这么弄?
假如每个存储体的存储周期为T
连续访问:
00000
00001
00010
00011
00100
高位
其实就是在M0里一直访问
时空图:

如果连续访问这个5个地址,需要花费5t个时间。并没有带来什么好处。
高位交叉编址相当于扩容,每个其实还是相当于独立的,并没有带来时间优势。
采用高位交叉编址,连续取n个存储字,耗时nT
低位
先访问M0的0号单元,接下来00001,是M1的0号单元,只需要间隔一小段时间。然后就是M2,M3.都是用一小段时间。可以相当于是同时访问。大大减少了存取时间。
时空图:

时间如何计算?
假设启动完M0后启动M1的时间间隔是τ,启动完M1在启动M2的时间间隔是τ、启动完M2在启动M3的时间间隔是τ,接下来启动完M3在启动M0的时间间隔也是τ
所以就有总时间T+4τ
假如连续存取n个存储字,采用低位交叉编址,耗时:T+(n-1)τ
流水线(考试常考)
微观(计算题)

有m个存储体,存储周期是T,字长W,每隔r时间启动下一个存储体,连续存放n个字,求存储器的存取速率。
\]
\]
如果m<T/r
还需要在等多一个r

如果m>T/r

所以:
\]
如果n较大时,带宽->W/r
对比单个存储体的带宽:W/T
宏观(概念题)
一个存储周期内,交叉存储器可以提供的数据量为单个模块的m倍。
回顾
提出这样的存储器是为了提高CPU的访存速度

双端口RAM和多模块存储器的更多相关文章
- 【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
下面我们进入双端口RAM和多模块存储器的学习.这是提高我们的存储器的访存速度的一些措施. 我们之前已经讲过我们的主存和CPU是进行连接的,那么这就导致了一个问题就是说,随着我们现代科技的发展,计算机的 ...
- xilinx fpga中块ram的使用——简单双端口ram的使用
在简单双端口ram中最简单有9个端口:分别是 clka 为输入端口的时钟 wea 读写控制端,高为写,低为读 addra 写地址 dina 待写入的数据 clkb 为输出端口的时钟的 addrb ...
- FPGA入门1
FPGA入门知识介绍 近几年来,由于现场可编程门阵列(FPGA)的使用非常灵活,又可以无限次的编程,已受到越来越多的电子编程者的喜爱,很多朋友都想学习一些FPGA入门知识准备进行这个行业,现在关 ...
- FPGA设计思想与技巧(转载)
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...
- FPGA - 认识FPGA
一.何为FPGA? FPGA,英文全拼:Field-Programmable Gate Array 现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集 ...
- Stratix内嵌存储器测试报告
Stratix和Stratix GX系列器件内嵌TriMatrix存储块包括512-bit M512块.4-Kbit M4K块及512-Kbit M-RAM块.TriMatrix存储结构可对 ...
- OpenRisc-47-or1200的WB模块分析
引言 “善妖善老,善始善终”,说的是无论什么事情要从有头有尾,别三分钟热度. 对于or1200的流水线来说,MA阶段是最后一个阶段,也是整条流水线的收尾阶段,负责战场的清扫工作.比如,把运算指令的运算 ...
- ROM与RAM知识
“ROM”和“RAM”的意思: “ROM”:N年前代表一种只能写入和读取,而不能改写和擦除的设备,可以用光驱CD-ROM来说明这个道理.目前的“ROM”已经不是这个道理了,它的技术已经飞快的发展到现在 ...
- DUAL PORT RAM应用实例
作者:桂. 时间:2018-05-14 12:11:00 链接:http://www.cnblogs.com/xingshansi/p/9035522.html 前言 主要是Xilinx 常用模块汇 ...
随机推荐
- 限流10万QPS、跨域、过滤器、令牌桶算法-网关Gateway内容都在这儿
一.微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS.跨域.过滤器.令牌桶算法. 在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuu ...
- Redis安全学习
Redis安全学习 一直在听SSRF打Redis,那Redis到底是啥,正式的认真学习一下. 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvat ...
- CorelDRAW复制及镜面反转对象
复制的设计都是由简单的图案和基础的操作堆砌而成的,如何恰当地使用这些基础操作,就是各位新学者要格外注意的地方. 这次我们介绍CorelDRAW中的复制和镜面操作. 一.复制 1.复制单个对象 使用Co ...
- python应用(1):安装与使用
程序员的基本工作是写程序,而写程序要用到编程语言,编程语言可以分为编译型语言跟解释型语言. 编译型语言,就是在执行代码之前,先把源代码编译(加链接)成另一种形式的代码,比如目标代码,或字节码,这种代码 ...
- 图像分割必备知识点 | Unet详解 理论+ 代码
文章转自:微信公众号[机器学习炼丹术].文章转载或者交流联系作者微信:cyx645016617 喜欢的话可以参与文中的讨论.在文章末尾点赞.在看点一下呗. 0 概述 语义分割(Semantic Seg ...
- 解决Maven项目中pom.xml文件报错(Failure to transfer....)的问题
打开pom.xml文件,查看错误,如果错误类型为:Failure to transfer.........之类的,则表明你的pom中依赖的jar包没有完全下载. 解决方法:找到你本地的maven仓库, ...
- 【干货】linux使用nginx一个80端口部署多个项目(spring boot、vue、nuxt、微信小程序)
本人只有一个阿里云的ip和一个已经解析过的域名,然后想用80端口部署多个项目,比如输入: www.a.com和www.b.com与www.c.com就能访问不同项目,而不用输入不同端口号区分. 1.这 ...
- Java数据结构(十)—— 树
树 树的概念和常用术语 常用术语 节点 根节点 父节点 子节点 叶子节点:没有子节点的节点 节点的权:节点的值 路径:节点A到节点B的路径 层 子树 树的高度:最大层数 森林:多颗子树构成森林 二叉树 ...
- C++基础练习1
1 /* 2 //读入一个双精度浮点数,保留12位小数输出这个浮点数. 3 #include<iostream> 4 #include <iomanip> 5 using na ...
- LeetCode 刷题总结
LeetCode上的题很不错,都短小精悍. 先说说我自己.本科一直都是偏硬件,做些单片机.FPGA的东西.本科毕业设计写了个Android APP,控制外围电路(一个小车).可以通过Android手机 ...