當前位置:首頁 » 存儲配置 » 靜態存儲持續時間是什麼

靜態存儲持續時間是什麼

發布時間: 2023-07-24 20:29:06

⑴ C語言中static是做什麼用的

有兩種用法:

1、static修飾局部變數,成為一個局部靜態變數。

static修飾局部變數(靜態局部變數)與普通局部變數相比,它的優勢在於:

①靜態局部變數作用域與連接屬性與普通局部變數一樣;

存儲類:靜態局部變數分配在data/bss段,普通局部變數在棧上;

③生命周期:因為存儲類的不同,靜態局部變數的生命周期得到延長了,直到程序結束。

2、static修飾全局變數與函數,成為靜態全局變數與靜態函數。

static修飾全局變數函數 與 普通全局變數普通函數相比,它的優勢在於:

①存儲類、生命周期、作用域都一樣;

②差別在於static修飾全局變數函數連接屬性是內連接,普通全局變數普通函數是外鏈接;

③就是說static修飾全局變數函數不能跨文件訪問調用。

(1)靜態存儲持續時間是什麼擴展閱讀:

在類內數據成員的聲明前加上static關鍵字,該數據成員就是類內的靜態數據成員。其特點如下:

靜態數據成員存儲在全局數據區,靜態數據成員在定義時分配存儲空間,所以不能在類聲明中定義

靜態數據成員是類的成員,無論定義了多少個類的對象,靜態數據成員的拷貝只有一個,且對該類的所有對象可見。也就是說任一對象都可以對靜態數據成員進行操作。而對於非靜態數據成員,每個對象都有自己的一份拷貝。

由於上面的原因,靜態數據成員不屬於任何對象,在沒有類的實例時其作用域就可見,在沒有任何對象時,就可以進行操作

和普通數據成員一樣,靜態數據成員也遵從public, protected, private訪問規則

靜態數據成員的初始化格式:<數據類型><類名>::<靜態數據成員名>=<值>

類的靜態數據成員有兩種訪問方式:<類對象名>.<靜態數據成員名> 或 <類類型名>::<靜態數據成員名>




⑵ C語言-存儲期(storage ration)

在函數中聲明的變數,並不是從程序開始到程序結束讓岩始終有效的。變數的生存期也就是生命有兩種,它們可以通過 存儲期 (storage ration)這個概念來體現。

在函數中不使用存儲類說明符 static 而定義出的對象(變數),被賦予了 自動存儲期 (automatic storage ration), 它具有以下特性。

也就是說,該對象擁有短暫的壽命,另外, 如果不顯式地進行初始化,則該對象會被初始化為不確定的值

被賦予自動存儲期的對象,在程序執行到 int ax = 0; 的時候,就被創建出來並且進行初始化。

在函數中使用 static 定義出來的對象,或者在函數外聲明定義出來的對象被賦予了 靜態存儲期 (static storage ration),它具有以下特性。

也就是說,改對象擁有"永久"的壽命。另外, 如果不顯式地進行初始化,則該對象會自動初始化為0

被賦予了靜態存儲期的對象,會在 main 函數兄滑罩開始執行之前被初羨鬧始化 。因此,雖說程序執行的時候會經過 static int sx = 0; 的聲明,但其實那個時候並沒有進行初始化處理,也就是說該聲明並未執行賦值處理。

在函數通過存儲類說明符 auto 和 register 聲明定義出的變數,也被賦予了自動存儲期。通過 auto int ax = 0; 進行的聲明和不使用 auto 進行的聲明在編譯的時候是完全相同的。因此 auto 就顯得有些多餘了。

另外,使用 register 進行的聲明 register int ax = 0; ,在源程序編譯的時候, 變數 ax 不是保存在內存中,而是保存在更高速的寄存器中,然而,由於寄存器的數量有限,所以也不是絕對的

現在編譯技術已經十分先進了,那個變數保存在寄存器中更好都是通過編譯自行判斷並進行最優化處理的(不僅如此,保存在寄存器中的變數在程序執行的時候也可能發生改變)。

使用 register 進行聲明也漸漸變得沒有意義了。

⑶ 靜態存儲器與動態存儲器的定義是什麼

靜態存儲器是指依靠雙穩態觸發器的兩個穩定狀態保存信息的存儲器。雙穩態電路是有源器件,需要電源才能工作,只要電源正常,就能長期穩定的保存信息,所以稱為靜態存儲器。如果斷電,信息將會丟失,屬於揮發性存儲器,或稱易失性。

動態存儲器是指在指定功能或應用軟體之間共享的存儲器。如果一個或兩個應用軟體佔用了所有存儲器空間,此時將無法為其他應用軟體分配存儲器空間。需要由存儲器控制電路按一定周期對存儲器刷新,才能維系數據保存。

(3)靜態存儲持續時間是什麼擴展閱讀:

動態存儲器的工作原理

動態RAM是由許多基本存儲元按照行和列地址引腳復用來組成的。在3管動態RAM電路中,讀選擇線和寫選派埋擇線是分開的,讀數據線和寫數據線也是分開的。

寫操作時,寫選擇線為"1",Q1導通,要寫入的數據通過Q1送到Q2的柵極,並通過柵極電容在一定時間內保持信息。

讀操作時,先通過公用的預充電管Q4使讀數據線上的分布電容CD充電,當讀選擇線為高電平有效時,Q3處於可導通的狀態。若原來存有"1",則Q2導通,讀數據線的分布電容CD通過Q3、悶羨笑Q2放電。此時讀得的信息為"0",正好和原存信息相反。

可見,對這樣的存儲電路,讀得的信息和原來存入的螞含信息正好相反,所以要通過讀出放大器進行反向再送往數據匯流排。

⑷ 動態隨機存儲器和靜態隨機存儲器有什麼區

SRAM也稱動態隨機存儲器,其特點是工作速度快,只要電源不撤除,寫入SRAM的信息就不會消失,不需要刷新電路,同時在讀出時不破壞原來存放的信息,一經寫入可多次讀出,但集成度較低,功耗較大。SRAM一般用來作為計算機中的高速緩沖存儲器(Cache)。

DRAM是動態隨機存儲器(Dynamic Random Access Memory),它是利用場效應管的柵極對其襯底間的分布電容來保存信息,以存儲電荷的多少,即電容端電壓的高低來表示「1」和「0」。DRAM每個存儲單元所需的場效應管較少,常見的有4管,3管和單管型DRAM。因此它的集成度較高,功耗也較低,但缺點是保存在DRAM中的信息__場效應管柵極分布電容里的信息隨著電容器的漏電而會逐漸消失,一般信息保存時間為2ms左右。為了保存DRAM中的信息,必須每隔1~2ms對其刷新一次。因此,採用 DRAM的計算機必須配置動態刷新電路,防止信息丟失。DRAM一般用作計算機中的主存儲器。

⑸ 什麼是靜態存儲區和動態存儲區啊

1. 全局變數和靜態數據放在靜態存儲區,生命周期為從申請到程序退出。因此局部變數若定義為static,則存儲在靜態存儲區,否則存儲在函數的棧內,生命周期為本函數內。
2 動態存儲放自動變數和局部變數

⑹ 主存儲器的動靜態

教學計算機的內存儲器組成與設計
(1)靜態存儲器的存儲原理和晶元內部結構(P207)
(2)教學計算機內存儲器的組成與設計
地址匯流排:記為AB15~AB0,統一由地址寄存器AR驅動,地址寄存器AR只接收ALU輸出的信息。
控制匯流排:控制匯流排的信號由解碼器74LS139給出,功能是指出匯流排周期的類型:
(1)內存寫周期用MMW信號標記
(2)內存讀周期用MMR信號標記
(3)外設(介面)寫周期用IOW信號標記
(4)外設(介面)讀周期用IOR信號標記
(5)內存在工作用MMREQ信號標記
(6)外設在工作用IOREQ信號標記
(7)寫控存周期用SWA信號標記
數據匯流排:分為內部數據匯流排IB與外部數據匯流排DB兩部分。主要完成計算機各功能部件之間的數據傳送。設計匯流排的核心技術是要保證在任何時刻只能把一組數據發送到匯流排上,卻允許一個和多個部件同時接受匯流排上的信息。所用的電路通常為三態門電路。
系統時鍾及時序:教學機晶振1.8432MHz,3分頻後用614.4KHz的時鍾作為系統主時鍾,使CPU、內存、IO同步運行。CPU內部的有些寄存器用時鍾結束時的上升沿完成接受數據,而通用寄存器是用低電平接收的。內存或I/O讀寫操作時,每個匯流排周期由兩個時鍾組成,第一個時鍾,稱為地址時間,用於傳送地址;第二個時鍾,稱為數據時間,用於讀寫數據
靜態存儲器的字位擴展:
教學計算機的內存儲器用靜態存儲器晶元實現,由2K字的ROM區和2K字RAM區組成。內存字長16位,按字定址。ROM由74LS2716隻讀存儲器ROM(每片2048個存儲單元,每單元為8位二進制位)兩片完成字長的擴展。地址分配在:0~2047RAM由74LS6116隨機存儲器RAM(每片2048個存儲單元,每單元為8位二進制位)兩片完成字長的擴展。地址分配在:2048~4095。
靜態存儲器地址分配:
為訪問2048個存儲單元,要用11位地址,把地址匯流排的低11位地址送到每個存儲器晶元的地址引腳;對地址匯流排的高位進行解碼,解碼信號送到各存儲器晶元的/CS引腳,在按字定址的存儲器系統中實現按位元組讀寫。 動態存儲器的定期刷新:在不進行讀寫操作時,DRAM存儲器的各單元處於斷電狀態,由於漏電的存在,保存在電容CS上的電荷會慢慢地漏掉,為此必須定時予以補充,稱為刷新操作。
(1)動態存儲器的組成:由單個MOS管來存儲一位二進制信息。信息存儲在MOS管的源極的寄生電容CS中。
寫數據時:字線為高電平,T導通。
寫「1」時,位線(數據線)為低電平,VDD(電源)將向電容充電
寫「0時,位線(數據線)為高電平,若電容存儲了電荷,則將會使電容完成放電,就表示存儲了「0」。
讀數據時:先使位線(數據線)變為高電平,當字線高電平到來時T導通,若電容原存儲有電荷(是「1」),則電容就要放電,就會使數據線電位由高變低;若電容沒有存儲電荷(是「0」),則數據線電位不會變化。檢測數據線上電位的變化就可以區分讀出的數據是1還是0。
注意
①讀操作使電容原存儲的電荷丟失,因此是破壞性讀出。為保持原記憶內容,必須在讀操作後立刻跟隨一次寫入操作,稱為預充電延遲。
②向動態存儲器的存儲單元提供地址,是先送行地址再送列地址。原因就是對動態存儲器必須定時刷新(如2ms),刷新不是按字處理,而是每次刷新一行,即為連接在同一行上所有存儲單元的電容補充一次能量。
③在動態存儲器的位線上讀出信號很小,必須接讀出放大器,通常用觸發器線路實現。
④存儲器晶元內部的行地址和列地址鎖存器分先後接受行、列地址。
⑤RAS、CAS、WE、Din、Dout時序關系

⑺ 什麼叫做靜態存儲器它依靠什麼存儲信息

靜態存儲器是在計算機的運行過程中不需要刷新的半導體存儲器,一旦通電,就長期保存信息。它是依靠觸發器的兩個穩定狀態來存儲信息的。

http://www.sgrtvu.net.cn/jx_data/lg_data/czs/hbyy/xt1.htm
這里有基本答案````
把XT1改成XTX就可以看到相關的答案

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726