最近在學程式設計 當定義變數int x時,電腦是如何分配記憶體空間給x的?

時間 2021-06-01 07:33:49

1樓:

從基本電路的角度來講講記憶體讀寫這部分內容。

現代RAM儲存原理:利用MOS管柵極電容可以儲存電荷的原理,RAM的儲存矩陣就是一堆電容組成。

電容器充滿電後代表1(二進位制),未充電的代表0

RAM控制器可以控制每個電容的充電放電。

而CPU的記憶體控制器就是專門對接RAM控制器的,當CPU執行指令將資料寫到記憶體,就是二者的控制器建立通訊,記憶體控制器按照資料的位元位分別給記憶體中相應電容矩陣充電放電。

之後RAM會想辦法保持電容矩陣中的各電容的充電放電狀態,也就是記憶儲存。

如果CPU需要從RAM讀取資料,也是通過控制器讀取各電容的狀態,根據電容的電量值轉換為邏輯的是與非,也就是0和1,一般電量>某個閾值a則視做1,電量小於某閾值b則視做0。閾值a和b可以不等。

要回答問題的全過程會有些複雜,特別是從電子電路的角度。簡單分解一下就是回答這些問題:

程式語言怎麼被編譯成機器語言?

機器語言怎麼被執行?

CPU如何定址?

作業系統如何管理記憶體空間?

暫存器,快取器和記憶體如何協同工作?

我也答不上來):

其實計算機原理早就被抽象了,電子電路負責電氣特性與邏輯特性之間的轉換,也就是電流電壓等物理量與是非(0個和1)的邏輯量之間互相轉換,剩下的技術原理大多基於這個邏輯量,也就不關電路啥事了。

電容相關知識在高中物理和電路原理課程裡有介紹;三極體(MOS管)和模數轉換在數位電路這門課裡有介紹。不過這都是些理論知識,理解不難。如果題主能保持好奇心,對感興趣的技術保持熱情,主動探索,多問為什麼,相信以後可以在學術上有所收穫。

創新多來自於好奇。

2樓:

你這問題一般人還真沒能力給你講,能講出來的你也聽不懂,因為每一步都是乙個領域,你可以買一本大話計算機看看,看完後估計會有一些感覺

3樓:avoidant

就說這個int x是個區域性變數的情況吧:

彙編層面,一般會對應乙個暫存器。

但我們就當區域性變數太多,暫存器不夠用,分配在棧上。那不過是棧幀指標移動一下的結果。

對應到硬體上,不過就是棧幀暫存器裡面寫進一組新的位元。

對應到電路層面上,無非就是幾個三極體通了或斷了。

對應到物理層面,就是電子能不能通暢的流動。

4樓:孫皓

你的問題很好,但是你的學習已經遠離程式設計了。

計算機分配記憶體,不同語言分配的方式是不同的。你要理解應該從計算機組成原理上學習。而不是通過物理上。

非要從物理上想,和燈泡原理一樣。簡單點說,就是一大堆數位電路,通電後保留邏輯狀態。

5樓:龍寶

簡單理解就是電腦的記憶體條,作業系統有記憶體管理模組,當你定義了乙個int型的變數的時候,作業系統的記憶體模組會從電腦的記憶體池中取出一塊記憶體給你存放你定義的這個變數。

你可以把電腦記憶體理解成乙個庫房,你定義乙個變數,就是相當於把乙個貨物放到庫房,作業系統可以理解成庫房管理員,當你放乙個貨物時,庫房管理員會給你分配乙個空間存放貨物。

6樓:快刀老五

小明有四套別墅可以金屋藏嬌,他正琢磨著這四套別墅怎麼用呢,他心想,嗯,第一套給小花,第二套給小紅,第三套翠花,第四套,嗯,暫時空著不用。

就在他這個念頭完畢電光火石的一剎那,記憶體還是那個記憶體,別墅還是那個別墅,外觀內部以及周邊交通均未發生任何變化,但是,變數int x已經分配到了具體的記憶體上,第一二三套別墅已經具體分配給了小花,小紅,翠花。

7樓:BlueWanderer

硬體的物理實現對於記憶體分配這種操作是個黑箱。你在紙上用鉛筆和橡皮有一百種手段可以實現記憶體分配邏輯。記憶體怎麼分配,和電路具體怎麼設計基本上是無關的。

CPU只要在邏輯上提供線性位址操作的抽象介面,軟體就可以實現記憶體分配。

8樓:

這問題很愚蠢。

程式設計是為了解決問題,不是為了製造問題。

你的問題在於知道的太少,但卻問的太多。

順便告訴你,【int x】根本就不是定義變數。

最近在學習品茶,如何分辨茶葉的型別?

楊哈哈 去茶城學唄,隔家店喝乙個。一次只喝乙個茶類,比如今天去溜達,目的就是買綠茶 喝綠茶 全茶城溜達一天,每家店就只喝綠茶不喝其他茶類,喝幾十家店基本上大部分綠茶品類都能喝到。喝下來對綠茶有了定義,間隔久了再去試試紅茶,以此類推去六天六大類都能喝一遍,對六大類茶的外觀條索話術都有基本上的掌握。也方...

最近在學攝影,這位老師拍的怎麼樣?

夢驚魂 可能是這位老師太專業,我等業餘菜鳥不懂鑑賞。我很努力都拍不出他那種風格的,大師的水平真的是讓我們望塵莫及啊。看完大師的作品,我感覺審美觀念拓寬了。o 哇,原來還沒拍成這樣!多問一句,額,你是跟他學攝影還是學燒烤? 劉飛白 有些大師的作品,我們普通人確實看不懂,比如 但是,雖然不懂,我們依然可...

最近在學德語,有沒有推薦的德語歌和電影?

SchwarzeHaufen 推薦一部算是文藝片的Jenseits der Stille 走出寂靜 唯一問題就是資源比較難找倒是提示一下網路上還是有免費的資源的 星月醬 德語歌我覺得都不怎麼好聽呢,也可能因為我聽的少哈哈哈哈.不過德劇我倒是可以推薦一下,我們的父輩 講的是五個好朋友在二戰中的故事。非...