zoukankan      html  css  js  c++  java
  • C语言-字、半字、内存位宽相关

    1、32位系统:32位系统指的是32位数据线,但是一般地址线也是32位,这个地址线32位决定了内存地址只能有32位二进制,所以逻辑上的大小为2的32次方。内存限制就为4G.实际上32位系统中可用的内存是小于等于4G的(例如我32位CPU装32的windows,但是实际电脑只有512M内存)。

    2、内存位宽

    (1)、从硬件角度来讲,硬件内存的实现本身是有宽度的,也就是说有些内存条就是8位的,而有些就是16位的。那么需要强调的是内存芯片之间是可以并联的,通过并联之后即使8位的内存芯片也可以做出来16位的或者32位的硬件内存。

    (2)、从逻辑角度讲:内存位宽在逻辑上是任意的,甚至逻辑上存在内存位宽是24位(但这种在硬件上是买不到的,没有实际意义)。从逻辑角度讲不管内存位宽多少,我直接操作即可,对我的操作不构成影响。但是因为你的操作最终是由硬件去执行的,所以内存位宽不是任意的,受限于硬件。譬如24位内存和32位内存在逻辑上没有任何区别,但实际硬件都是32位的,都是按照32位硬件的特性和限制来干活。

    3、内存单元的大小单位有4个:位(1 bit)  字节(8 bit)  半字(一般是16bit)  字(一般是32bit)

         字、半字这些单位具体是多少位是依赖于平台的。

  • 相关阅读:
    数组返回NULL绕过
    69.x的平方根
    1277.统计全为1的正方形子矩形
    221.最大正方形
    572.另一个树的子树
    983.最低票价
    98.验证二叉排序树
    53.最大子序和
    5386.检查一个字符串是否可以打破另一个字符串
    5385.改变一个整数能得到的最大差值
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11345668.html
Copyright © 2011-2022 走看看