2021年12月1日20:54:01 星期三
本文用数学方法证明地址对齐原理
说明:存在唯一整数 x0、q、n、r 满足
x0 = qn + r;
0 <= r < n
![](https://img.haomeiwen.com/i9256842/54381782c21ba8ac.png)
由
0 <= r < n
都加 qn 得 qn <= qn + r < qn + n = (q + 1)n
得
qn <= x0 < (q + 1)n
把上面不等式各边都加 n - 1得
qn + n -1 <= x0 + n -1 < (q + 1)n + n - 1
把上面公式每边整除 n得
q <= [ (x0 + n - 1)/n] < q+1
把上面公式各边都乘以 n 得
qn <= [ (x0 + n - 1)/n] n<(q+1)n
公式
[ (x0 + n - 1)/n] n
计算如下因为
x0 = qn +r
得
[(x0 + n - 1)/n] = [ (qn + r + n -1)/n ] = q + [(r + n - 1)/n]
请证明 x1 = [ (x0 + n - 1)/n]n
是 x0
按 n 像高位对齐的。
证明过程
x1 = [ (x0 + n - 1)/n]n = qn + [(r + n - 1)/n]n
x1 = qn + [(r + n - 1)/n]n
当 r = 0 时,
x1 = qn + [(r + n - 1)/n]n
x1 = qn + [(0 + n - 1)/n]n
x1 = qn + [(n-1)/n]n
x1 = qn + 0*n
x1 = qn + 0
x1 = qn
x1 = x0
可以看到当 r = 0时, x1 是等于 x0,
当 0 < r < n 时 即 1 <= r < n
1 <= r < n
1 + ( n - 1) <= r + (n - 1) < n + (n-1)
n <= r + n - 1< n + (n-1)
[n/n] <= [(r + n - 1)/n] < [(n + (n-1))/n]
1 <= [(r + n - 1)/n] < [n/n] + [(n-1)/n]
1 <= [(r + n - 1)/n] < 1+ 0
1 <= [(r + n - 1)/n] < 1
[(r + n - 1)/n] = 1
因为 [(r + n - 1)/n] = 1
所以
x1 = qn + [(r + n - 1)/n]n
x1 = qn + 1*n
x1 = qn +n
x1 = (q+1)n
因为
x1 = [ (x0 + n - 1)/n]n
x1 = qn; r = 0;
x1 = (q + 1)n; 0<r<n
所以 x0 按 n 对齐的公式是
f(x) = [(x + n - 1)/n]n
网友评论