1.2.位、字节、半字、字、内存位宽

来源:互联网 发布:js继承面试题详解 编辑:程序博客网 时间:2024/06/08 07:19

1.2.位,字节,半字、字.内存位宽

知识点

1.什么是内存
    (1)硬件上:内存条是电脑上的一个配件,根据不同硬件实现原理可以把内存分为DRAM SRAM(上一章博客提到了静态内存和动态内存)动态还是静态是硬件的特性,和硬件设计原理有关。
    (2)逻辑上:可以随机访问任意一个地址的内容,并且可以对其地址内容进行读写
2.内存的逻辑抽象图(也就是内存的编程模型)
    (1)CPU有8位、16位、32位、64位的。最常用的就是32位,CPU的位就是说CPU一次可以访问多少位,一个字节是八位,那就是一次访问四个字节(32位)
3.位和字节
    (1)一位就是1 bit位,一个字节是8 bit,也叫1字节(1byte)  
    (2)int类型的变量在32位机器上是4字节的,在其他平台上就不一样了,int类型定义的变量根据不同平台而异。
4.字和半字和双字
    (1)依赖于不同的平台(平台不同 所占大小不相同)
    (2)在写程序之前搞清当前机器的内存位宽,就可以知道字。半字和双字的大小了。
5.内存位宽
    (1)内存位宽就是CPU一次可以访问的最大位数,32位CPU就是说CPU的内存位宽是32位(4字节)
    (2)32位的就是四个字节 两个8位单片机芯片可以并联成16位的
    (3)在逻辑上,内存位宽是任意的,但是要考虑到硬件本身限制,CPU一次访问的内存是有限的,需要注意的是加入CPU位宽是32     位,那么只有同时访问32位内存时,效率是最高的,哪怕访问16位效率也会大大降低。

总结:
C语言是以一种介于高级语言和低级语言之间的语言,C语言写程序要从内存角度着想,了解内存的人往往能够写出更好的程序代码。

1 0