signal
读信号,dqs 是对齐到dq的边沿, 写信号,dqs 的边沿是对到中间的。
spec 就是这样规定的。我们在dq的最中间的采样,肯定是最安全的。
dqs 是对齐到dq的边沿 , 在silicon 内部,还是通过移位完成的。
rl: read latency
cl : cas latency
al: additive latency
cwl: cas write latency
trrd row to row delay
tccd column to column delay
trcd: row to colum delay
delay: execution will start after a specific time
latency: execution has started. but it' not stable enough, a specific time is required for stabilization
latency: 是已经产生了脉冲,等 它稳定之后,再把信号发到总线上。
简而言之。 我已经发了,但内部逻辑上,我已经发了这个信号了。
在多次传输,想达到更高的带宽,会产生冲突,为什么会冲突呢,因为active 的时候,行列地址都在总线上。
round trip optimize , 其实就是调latency, 就在在现有的情况下,能不能对信号有改善。
basic training : 是要扫所有的pi range.
make signals aligned logically
因为它根本不知道系统是什么样子的
高级的training ,找到了就跳出来
use deselect comand, 如果不用des, 它会一直持续。
相当于人为的引入一些噪声, 让你下面的数据都是无效的,以目前的状态,是否人的margin 还是很好。
basic training 就是把信号对齐。
预备知识差不多了。
cross over
target:
align different clock domain inside mc
method:
buf pi domain, 由一个时钟源,分发给各个时钟,前提是把总开关,调调好,
发现任何一根receive enable 是0的时候,采样停止。告诉硬件,往后的数据就到过来了
是rx的。因为我们不知道,什么时候,送过来。数据的开始,在这个地方,把我们采样的阀门打开。
当任何一个到的时候,我们就固定。 所有17 根的dqs 都到达这个状态的时候。
receive enable:
也就是我们basic training 的第一步,先把ctrl clock 对齐, receive enable. training 对顺序是有要
先把receive enable train 出来
目标:
发出一个读命令, 调整 rcv_en 延时,RTL 还有IO LATENCY , 使得RCV_EN 在DQS preamble 的中间。
方法: 第一步精调, 使得rcv_en 在 dqs assert 的中间。
sweep 128 pi,
第二步, 粗调rtl ( round time latency) , rcv_en 可以采样dqs preamble.
第三步,粗调 IO LATENCY 让rcv_en 可以采样所有的dqs 前导码。
它其实是一个delay. 既然是receive , 就是rx, dimm 送来的dqs 信号, 我mc 知道它啥时候过来的,我啥时候该采样dqs, dq 啊。 dqs 在上生沿, 采样dq, 啥时候去采样dqs, 当经过了rcv en 这样一个delay, 这个delay 其实 是为了节省时间 。 否则,数据还没有送过来,我就开始采, 首先是耗电。 没有经过training , 时延也会受影响。
我读命令发出来了, 接下来,我肯定是期望, data 会发过来。 等到了round trip latency 这个点到了, 我接激活mc 去接下来的工作。 如果置成0, 就是一发读信号,我就开始采样。
在data 没有过来之前,我们进入一个低功耗状态。 该收信号,收信号。 在止之前,我就得等。因为既然是时间, 增加rtl 是什么意思, 其实就是增等待的时候。
我发了一个读信号出去, 数据过来了, memory 自己都还没有ready. 先进我的buffer, 我不发给mc 去处理。 先不做动作, 等 silicon 内部已经stable 了, io lateny 增加, 意味着我在这个地方hold 住 更久的时候。 如果写成0. 就是直通了, 信号一来, 就传出去。
rcv_en 就是采我的dqs. 这个时候一到达, 立马, 半个周期, 就有dqs 过来。
rtl , 先预估一下, 你什么时候过来。
io latency 你过来了, 控制不了DIMM 啥时候过来。 我能控制自己。控制不了dimm 什么时候过来, 但是我能控制我自己。
我憋着,憋多久呢? 再憋 rcv en 这么久。
硬件逻辑就开始工作。
增加io latency , rcv en 就采不到东西。 相当于是进行左移了。 增加 io latency 就相当于信号跑过去了。 采晚了, 会导致miss 掉, 一直不收, 这么多数据 miss 掉了。
preamble 是两个周期的0. 所以preamle 在硬件上就是两个周期的0. 都是perbank 的。
他们的目的是不一样的。
要想达到晚输出的效果,只能调io latency.
三个latency 是如何搭配起来。 rcv _en 的粒度是pi. 一个q clock 是等于64 个pi.
rtl 就是一个assume.到了这个latency 之后, 所有硬件逻辑才开始工作。 信号过来了, 有些先过来,有些后过来,先到的,我就hold 住。rcv en
就是说,第一步, 挪 rcv en 去采样dqs. dqs 高电平才是assert . 采到0 就是0, 最后我就要采出来, 就是把dqs 的样子采出来。 我就能知道 dqs 长这个样子。 我再计算。 当我们知道 dqs 的形状之后。 再计算这两点, 除以2, 就可以让rcv en 采到正中间。
挪到他采到的是一个0为止, 大家都 一起挪, 左移,我们发现任何一根dqs 采到0 的时候,我们停止。 我们就让他先停下来, 至少有一个的dqs rcv en 到了地方。告诉硬件, dqs 就要过来了。 第0个数据。 把我们采样的阀门打开, 就是一个over all 的。 我们就固定了round trip latency. 大概需要经过43 个clock. 这个是一个统领的, 信号有先后顺序, 这时候就去憋。 调io latency. 把信号先憋这么久, 一直什么时候,算结束, 所有18 根的dqs 都达到这个状态。
DDR3 的工作原理
DDR3 的内部是一个存储阵列,将数据填进去,和表格检索原理一样,先指定一个行row, 再指定一个列column, 我们就可以准确的找到
相关文章:
signal
读信号,dqs 是对齐到dq的边沿, 写信号,dqs 的边沿是对到中间的。 spec 就是这样规定的。我们在dq的最中间的采样,肯定是最安全的。 dqs 是对齐到dq的边沿 , 在silicon 内部,还是通过移位完成的。 rl: re…...
深度研究微软的资产负债表和财务状况以及未来投资价值
来源:猛兽财经 作者:猛兽财经 微软股票的关键指标 猛兽财经认为,微软公布的2023财年第三季度财务业绩,有三个关键指标值得投资者关注。 第一个关键指标是利息收入。微软的利息收入目前已经同比增长了44%,从2022财年第…...
Mac电脑删除第三方软件工具CleanMyMac X
经常使用Mac的人都知道,Mac除了可以在AppStore下载应用程序,还有许多软件是需要在网页上搜索下载的第三方软件。那么这类第三方软件软件除了下载方式不同之外还有什么是和从App store下载的软件有区别的吗?答案是肯定的,那就是这些…...
leetcode174. 地下城游戏(java)
地下城游戏 leetcode174. 地下城游戏题目描述 动态规划解题思路代码 动态规划专题 leetcode174. 地下城游戏 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/dungeon-game 题目描述 恶魔们抓住了公主并将她关在了地下城 …...
信号与系统复习笔记——傅里叶变换
信号与系统复习笔记——傅里叶变换 周期信号的傅里叶级数表示 特征函数 假设LTI系统的输入为 x ( t ) e s t x(t) e^{st} x(t)est 输出为: y ( t ) e s t ∗ h ( t ) ∫ − ∞ ∞ e s ( t − τ ) h ( τ ) d τ e s t ∫ − ∞ ∞ e − s τ h ( τ ) d…...
Allegor17.2版本WIN11系统CIS配置提示错误解决方案
错误提示: ERROR(ORCIS-6250): Unable to continue. Database access failed. Contact the database administrator to correct the following error(s), and then retry. ODBC Error Code: -1 Description: 在指定的 DSN 中,驱动程序和应用程序之间的体…...
Java设计模式七大原则-合成聚合复用原则
🧑💻作者:猫十二懿 ❤️🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 合成-聚合复用原则 1、合成-聚合复用原则介绍 合成/聚合复用原则(Composition/Aggregatio…...
SOFA Weekly|可信基础设施技术分论坛、Layotto 社区会议回顾与预告、社区本周贡献...
SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…...
Melody 监控(四十九)
当新的世界出现,请立即向他奔去 上一章简单介绍了Spring Boot Actuator详解(四十八), 如果没有看过,请观看上一章 一. JavaMelody 一.一 什么是 Java Melody JavaMelody是一个方便的Java或JavaEE Web 应用程序监控工具。 它允许自动存储由 Web 应用程序的实际操…...
Shell脚本管道符常用搭配命令
1.sort sort命令——以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 sort [选项] 文件名 cat file | sort [选项] 常用选项 选项作用-n按照数字进行…...
基于html+mysql+Spring+mybatis+Springboot的Springboot宠物医院管理系统
运行环境: 最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本 tomcat服务器环…...
算法模板(3):搜索(5):其他
搜索 模拟退火 模拟退火一个很关键的是,看看枚举到每一个方案是不是可能的。 3167. 星星还是树 在二维平面上有 n 个点,第 i 个点的坐标为 ( x i , y i ) (x_i,y_i) (xi,yi)。请你找出一个点,使得该点到这 n 个点的距离之和最小。这…...
AWS CodeWhisperer 心得体会:安装与使用
大家好,今天我要和大家分享一下我在使用 AWS CodeWhisperer 这个工具时的心得体会。首先,让我们了解一下什么是 AWS CodeWhisperer。 什么是 AWS CodeWhisperer? AWS CodeWhisperer 是一个用于帮助开发者在 AWS 云平台上更轻松地编写、测试…...
高级查询 — 子查询
关于嵌套查询(子查询) 1.概述 子查询是在一个查询中嵌套另一个查询的查询语句。内部查询从外部查询或数据库中提取数据,然后使用这些数据来执行内部查询。出现在其他语句中的 select 语句,称为嵌套查询或子查询。外部的查询语句…...
霍夫变换(Hough Transform)
文章目录 1. 什么是霍夫变换2. 霍夫直线检测2.1 霍夫直线检测的具体步骤2.2 霍夫直线检测的优缺点2.3 OpenCV中霍夫直线检测的应用2.3.1 标准霍夫检测2.3.2 概率霍夫检测 3. 霍夫圆检测4. 源码仓库地址 1. 什么是霍夫变换 霍夫变换(Hough Transform)是图像处理中的一种特征提取…...
【每日挠头算法题(2)】压缩字符串|仅执行一次字符串交换能否使两个字符串相等
文章目录 一、压缩字符串思路 二、仅执行一次字符串交换能否使两个字符串相等思路1:计数法思路2:模拟法 总结 一、压缩字符串 点我直达~ 思路 使用双指针法 大致过程如下: 使用双指针,分别读(read)&…...
V4L2框架解析
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、概览二、流程简介三、关键结构体四、模块初始化五、处理用户空间请求 一、概览 相机驱动层位于HAL Moudle与硬件层之间,借助linux内核驱…...
Trie树模板与应用
文章和代码已经归档至【Github仓库:https://github.com/timerring/algorithms-notes 】或者公众号【AIShareLab】回复 算法笔记 也可获取。 文章目录 Trie树(字典树)基本思想例题 Trie字符串统计code关于idx的理解 模板总结应用 最大异或对分…...
【华为OD统一考试B卷 | 200分】跳格子游戏(C++ Java JavaScript Python)
文章目录 题目描述输入描述输出描述用例C++javajavaScriptpython题目描述 地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示st…...
该选哪个语言进修呢?
前言: 如今,计算机编程已经成为了许多工作领域中的必备技能。但是,现在的计算机语言有很多,这可能会让我们感到困惑:我应该从哪个语言开始呢?在这篇博客中,我们将详细分析当前流行的一些计算机…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
云原生时代的系统设计:架构转型的战略支点
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、云原生的崛起:技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深,传统的 I…...
Python异步编程:深入理解协程的原理与实践指南
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…...
自定义线程池1.2
自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本,将线程池中的线程数量交给使用者决定,并且将线程的创建延迟到任务提交的时候,在本文中我们将对这个版本进行如下的优化: 在新建线程时交给线程一个任务。让线程在某种情况下…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
