?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
  
1. CPU寻址能力及总线宽度
 
        例如: CPU寻址能力为 8KB, 总线宽度计算方式:
 
        换算
        8KB = 8 * 1204Byte = 8192Byte
        得出 寻址范围为: 0 ~ 8191
 
        我们假设,总线宽度为 y
        
        2^y = 8192
        y = 13
 
        即,总线宽度为 13 时, CPU寻址能力为8KB.
 
    参考:
     总线宽度  |     寻址能力(单次可以传送的数据)
    --------------------------------------------------------------
     16根     |     2^16 = 65536Byte      = 64KB
     20根     |     2^20 = 1048576Byte    = 1024KB    = 1MB
     24根     |     2^24 = 16777216Byte   = 16384KB   = 16MB
     32根     |     2^32 = 4294967296Byte = 4194304KB = 4096MB = 4GB
 
 
 
2. 存储器及存储单元
 
        1KB 的存储器中存储单元为 0 ~ 1023
 
        1KB = 1024Byte
        1Byte = 8bit (容器)
 
    参考:
     数据容量  |     存储单元
    -------------------------
     1KB     |     2^10Byte
     1MB     |     2^20Byte
     1GB     |     2^30Byte
 
 
 
3. 从内存中读取 1024 字节的数据, 总线宽度为 16根 的CPU,至少需要读 y 次?
 
        计算CPU单次寻址能力
        2^16 = 65536Byte = 64KB
 
        计算至少需要读取多少次
        1024byte/65536Byte = 0.015625次 向上取整即: 1次
 
        所以: y=1
 
 
4. 给定 段地址 为 0001H ,那么只通过偏移地址的变化来寻址,CPU的寻址范围是 x ~ y ?
 
        已知:
        物理地址 = 基础地址 + 偏移地址
        基础地址 = 段地址   * 16(10H)  //十进制为16,十六进制为10H
 
    参考:
 
     段地址   |   偏移地址   |   物理地址
    ------------------------------------------------------------------------
     1230H   |   00C8H     |   1230H * 10H + 00C8H = 12300H + 00C8H = 123C8H
     0001H   |   0004H     |   0001H * 10H + 0004H = 0010H  + 0004H = 0014H
     2000H   |   1F60H     |   2000H * 10H + 1F60H = 20000H + 1F60H = 21F60H
 
 
        开始计算CPU寻址范围:
        0001H * 10H + (0H ~ FFFFH) = 寻址范围
 
        偏移地址最小时:
        0001H * 10H + 0H = 0010H
 
        偏移地址最大时:
        0001H * 10H + FFFFH = 1000FH
 
        得出: x = 0010H, y = 1000FH
 
 
 
5. 有一段数据存放在内存 20000H 单元中, 现在给段地址 y ,如果只用偏移地址找到 20000H, 那么段地址 y 最小为 a, 最大为 b. 问: ab分别是多少?
 
        物理地址计算公式:
        y * 10H + (0H ~ FFFFH) = 20000H
 
        求a:
        y * 10H + FFFFH = 20000H    得出 y = a = 1001H
 
        求b:
        y * 10H + 0000H = 20000H    得出 y = b = 2000H
 
 
 
6. 在存储器中,数据和指令(程序)以 二进制 的形式存放
 
  


---------------------------------------------------------------------------------------------
不忘初心 方得始终!

唯有志存高远,方能风行天下。

道之所存,虽千万人吾往矣! 情之所钟,虽千万里吾念矣~

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。