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

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

知识点

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语言写程序要从内存角度着想,了解内存的人往往能够写出更好的程序代码。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注