trump 发表于 2014-6-13 23:12:57

检测点2.2

(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为10H到1000FH
10H
+00H=10H
0010H
+FFFFH=1000FH(由于有20根地址总线,所以不会截断)
(2) 有一数据存放在内存20000H单元中,先给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为1001H,最大为2000H
10010H
+FFF0H=20000H
20000H
+0000H=20000H
提示,翻过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
小于1001H或者大于2000H

kikiatw 发表于 2014-6-14 07:25:23

一個段的偏移量至少都是10H起跳, 因為他在段整合器內會把段地址*10H, 然後再加上OFFSET
你只要想成在1MB的記憶體中, 有一個64KB的框架在這1MB的記憶體中到處移動, 每移動一格就是10H的間距

trump 发表于 2014-6-14 11:58:36

kikiatw 发表于 2014-6-14 07:25 static/image/common/back.gif
一個段的偏移量至少都是10H起跳, 因為他在段整合器內會把段地址*10H, 然後再加上OFFSET
你只要想成在1MB的 ...

描述得很形象。如果只有段地址,则移动最小间距10H。对于第2题来讲,先考虑偏移地址最大为FFFFH,再考虑段地址需要*10H再加上偏移地址。要想内存地址为20000H,则偏移地址最低位只能为0,从而得到偏移地址最大为FFF0H。

kikiatw 发表于 2014-6-14 15:29:08

不會抽象喔, 很現實才對喔, 一個64kb的 cell frame 在1mb內移動 不覺得很真實嗎?

else05 发表于 2014-6-14 15:30:18

明白了,谢谢

trump 发表于 2014-6-14 15:31:23

kikiatw 发表于 2014-6-14 15:29 static/image/common/back.gif
不會抽象喔, 很現實才對喔, 一個64kb的 cell frame 在1mb內移動 不覺得很真實嗎?

当然不抽象。我说的是形象。

1012662902 发表于 2014-6-14 17:57:41

看一下,顶楼主

kikiatw 发表于 2014-6-14 19:29:46

哈我誤解了, 文化不同 抱歉!!

trump 发表于 2014-6-14 19:46:36

kikiatw 发表于 2014-6-14 19:29 static/image/common/back.gif
哈我誤解了, 文化不同 抱歉!!

不影响学术交流{:1_1:}

a280153458 发表于 2015-1-24 23:50:14

物理地址=段地址*16+偏移地址
20000H=SA*16+偏移地址
由于16为十进制,转换为十六进制=10H
最小偏移地址=0H
最大偏移地址=FFFFH
最小SA=(20000H-FFFFH)/10H=20000H/10H-FFFFH/10H=2000H-FFFH=1001H
最大SA=(20000H-0H)/10H=20000H/10H-0H/10H=2000H-0H=2000H

当SA<1001或 SA>2000时 CPU无法寻到20000H

玻璃碴子 发表于 2015-3-19 09:02:29

:funk:

2356926455 发表于 2015-3-22 18:50:27

为什么我看不懂!{:1_1:}
页: [1]
查看完整版本: 检测点2.2