位、字节、半字、字、内存位宽
位、字節、半字、字、內存位寬
知識點
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語言寫程序要從內存角度著想,了解內存的人往往能夠寫出更好的程序代碼。
總結
以上是生活随笔為你收集整理的位、字节、半字、字、内存位宽的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日志库 winston 的学习笔记 -
- 下一篇: 日志库 winston 的学习笔记 -