4kb边界及4Gb地址空间

本文详细解释了1K、4KB、1M、1G等存储容量单位之间的关系,以及它们在计算机地址表示中的4K和1K边界概念,以16进制和2进制形式进行转换和举例说明。
摘要由CSDN通过智能技术生成

1K:1024=2^10,B:Byte,4KB:4096Bytes=2^12

4096,对应16进制=1000,对应2进制=0001 0000 0000 0000

1024,对应16进制=400,对应2进制=0100 0000 0000

所谓的4K边界是指:低12bit为0的地址,例如:32’h00001000,32’h00002000… 

同理1k边界是指:低10bit为0的地址,例如:32’h00000400,32’h00000800… 

假设起始地址为0,则

4kb空间 : ['h0  'hfff)

16kb空间 :['h0  'h4000)

256kb空间 : ['h0  'h40000)

判断是否落入256kb空间 : ['h0  'h40000),只需要判断addr的高14位是否为0

假设基地址位base_addr,分配不同的空间大小(4kb,16kb,32kb,等等)

若分配4kb空间,判断某地址是否落入所分配的4kb空间

分配空间大小4kb.    [base_addr  base_addr+'h1000)  判断addr[31:12]是否等于base_addr[31:12],若相等则落入分配的4KB空间区域,否则没有

同理

分配空间大小8kb.    [base_addr  base_addr+'h2000)  addr[31:13]与base_addr[31:13]

分配空间大小16kb.    [base_addr  base_addr+'h4000)  addr[31:14]与base_addr[31:14]

分配空间大小32kb.    [base_addr  base_addr+'h8000)  addr[31:15]与base_addr[31:15]

分配空间大小64kb.    [base_addr  base_addr+'h10000)  addr[31:16]与base_addr[31:16]

分配空间大小128kb.    [base_addr  base_addr+'h20000)  addr[31:17]与base_addr[31:17]

分配空间大小256kb.    [base_addr  base_addr+'h40000)  addr[31:18]与base_addr[31:18]

1K= 1024B(字节)=2^10
1M = 1024 K = 2^20
1G = 1024 M = 2^30

4G=4×1024 M=4×1024×1024K=4×1024×1024×1024B=2^32B

即4Gb空间地址范围:0x00000000-0xFFFFFFFF

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值