内存访问优化策略
假定一个SDRAM有四个存储体,每个存储体都有一个行缓冲区。 Activate指令会将一行数据放入相应Bank的行缓冲区中,而Precharge和Precharge All指令将关闭行缓冲区并将数据写回。如果库的行缓冲区关闭,我们将其称为“空闲”。 SDRAM访问有三种情况:
1,页面点击。当前访问的行仅存储在相应存储区的行缓冲区中。此时,您无需激活行,就可以直接发送读写指令和列地址来读写列。这是背对背读写。在这种情况下,读写延迟最小。
2,页面为空。在当前访问的行所在的存储区中,行缓冲区关闭。这时,您需要先激活行,然后发送读写指令和列地址。在这种情况下,读写延迟中等。
3,Page Miss。在当前访问的行所在的存储区中,打开行缓冲区,但存储另一行的数据。此时,您必须首先发送Precharge或Precharge All命令以关闭行缓冲区,然后激活行,最后发送读写命令和列地址。在这种情况下,读写延迟最大。
关闭页面政策
尝试保持关闭行缓冲策略。预充电操作在访问当前线路后立即执行,无论以后是否访问该线路。关闭页面策略中只会发生一种情况:页面为空(即,行缓冲区为空,并且需要首先激活该行)。
关闭页面策略的读写延迟适度且恒定,独立于访问请求的时间和空间局部性,并且具有良好的可预测性(Predictabilability),适用于对实时性要求较高的应用程序。

关闭页面策略的硬件实现相对简单,因为每次读写都是行激活,列读写和预充电的过程。
打开页面政策
尝试使行缓冲区保持打开状态。除非当前需要访问同一存储区中的其他行,否则不执行预充电操作。打开页面策略中经常发生两种情况:页面命中(即再次访问行缓冲区中的数据)和页面丢失(行缓冲区中的行不是要访问的行)。
如果访问请求的时间和空间局部性很好,则页面命中发生的可能性要比页面未命中发生的可能性大得多,并且应用打开页面策略可以大大减少读写延迟;如果访问请求的时间和空间划分非常分散,则出现Page Miss的可能性比Page Hit的可能性要大得多,并且Open Page Policy的应用将导致较大的读写延迟。
自适应页面策略
动态行缓冲策略。根据操作期间前一段时间的访问历史动态确定SDRAM行缓冲策略的技术;
如果当前策略偏向于打开页面,则将在两个方向上计算以下条件:关闭当前行以打开新行,访问当前行,如果前者一个接一个出现并且超过阈值,取代策略;
如果当前策略偏向于“关闭页面”,则将在两个方向上同时考虑以下条件:打开新行,打开在上一个操作中关闭的行,并且如果后一个出现又一个并超过了阈值,则该策略将被替换。

内存错误
根据错误的来源,内存错误分为硬错误和软错误:
硬错误:硬错误是指外部环境中的强大能量(例如雷击或瞬时释放的静电)对系统组件造成的永久损坏。可以通过硬件故障转移功能对其进行恢复,以确保系统的连续运行。
软错误:软错误是指受未知带电粒子影响的半导体组件。如果它碰到内存中的存储单元,只要能量足够,就会引起位翻转并导致数据错误。软错误是随机的。对于可纠正的软错误,可以使用诸如ECC之类的内存保护技术来修复它们。对于无法纠正的错误,可以通过联合OS /固件执行错误隔离和错误恢复。当软错误(可修复/不可修复)累积到一定数量时,可以通过阈值和PFA算法提前通知用户更换硬件,以免错误累积到系统突然关闭。
根据错误的类型,内存错误可分为可纠正错误和不可纠正错误:
可纠正错误:可纠正错误是指可以使用CRC和ECC等硬件机制纠正的错误。
不可纠正错误:不可纠正错误是指无法由ECC等硬件机制纠正的错误。需要通过备份,镜像和热切换来隔离损坏的数据。一些无法纠正的错误可能会导致系统停机。
此外,内存错误也可以分为单位错误(SBE-单位错误),多位错误(DBE-双位错误)和地址奇偶校验错误(AP-地址奇偶校验)。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-350382-1.html
男女比例失调正常因为重男轻女
@老子起个昵称怎么就那么难@郑甜甜的辛普森美美美