❶ 計算機的內存和外存的區別是什麼
轉載:
處理速度:內存快,外存慢. 存儲容量:內存小,外存大. 斷電後:內存RAM中的信息丟失,外存中的信息不丟失.
什麼是內存
什麼是內存呢?在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存),輔助存儲器又稱外存儲器(簡稱外存)。外存通常是磁性介質或光碟,像硬碟,軟盤,磁帶,CD等,能長期保存信息,並且不依賴於電來保存信息,但是由機械部件帶動,速度與CPU相比就顯得慢的多。內存指的就是主板上的存儲部件,是CPU直接與之溝通,並用其存儲數據的部件,存放當前正在使用的(即執行中)的數據和程序,它的物理實質就是一組或多組具備數據輸入輸出和數據存儲功能的集成電路,內存只用於暫時存放程序和數據,一旦關閉電源或發生斷電,其中的程序和數據就會丟失。
既然內存是用來存放當前正在使用的(即執行中)的數據和程序,那麼它是怎麼工作的呢?我們平常所提到的計算機的內存指的是動態內存(即DRAM),動態內存中所謂的「動態」,指的是當我們將數據寫入DRAM後,經過一段時間,數據會丟失,因此需要一個額外設電路進行內存刷新操作。具體的工作過程是這樣的:一個DRAM的存儲單元存儲的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,代表1的電容會放電,代表0的電容會吸收電荷,這就是數據丟失的原因;刷新操作定期對電容進行檢查,若電量大於滿電量的1/2,則認為其代表1,並把電容充滿電;若電量小於1/2,則認為其代表0,並把電容放電,藉此來保持數據的連續性。
從一有計算機開始,就有內存。內存發展到今天也經歷了很多次的技術改進,從最早的DRAM一直到FPMDRAM、EDODRAM、SDRAM等,內存的速度一直在提高且容量也在不斷的增加。今天,伺服器主要使用的是什麼樣的內存呢?目前,IA架構的伺服器普遍使用的是REG ISTEREDECCSDRAM,下一期我們將詳細介紹這一全新的內存技術及它給伺服器帶來的獨特的技術優勢。
外存包括一些老的軟盤、現在的優盤以及不怎麼常用的CD卡,MMC卡,CF卡,移動硬碟,光碟等。
軟盤是一個非常老的外部存儲盤,容量1.44M,讀寫速度慢,現已淘汰,除非特別情況下,沒有什麼人再用這個軟盤了;優盤,現在較為流行,容量從最當初的8M發展到現在的G級,現在流行的是128M-512M容量,讀取速度比優盤快好多,尤其是USB2.0介面的優盤;CD卡,MMC卡,CF卡,應用方面很多,數碼相機,MP4,數字DV等等,都用這個卡,速度也有快有慢之分,如果想讓電腦讀取這些卡的數據,一般需要一個多功能讀卡器,現在我見過最多的有32合1讀卡器;光碟是最常見的,這里不需要多說,需要光碟驅動器讀取,移動硬碟是最省錢的外部存儲器,與上面讀寫的外存卡相比,普通20G的也不過區區幾百元,採用USB2.0,速度非常快,缺點就是抗震遠不如上述幾種外存
❷ 計算機區別於其他計算機工具的主要特點是能存儲程序和數據嗎
其他計算機工具也有
1、運算速度快
2、計算精度高
3、具有記憶能力
不過一般的計算機工具僅僅是計算能力,而計算機不僅僅具有計算機工具具有的所有功能,還有能儲存並運行程序,聯網,數據互換等,現在的計算機可以看成是一個多媒體工具。
你要是說計算機區別於其他計算機工具的主要特點是能存儲程序和數據也算對,只是不全面。
❸ 指令和數據都存於存儲器中,計算機如何區分它們
計算機區分指令和數據有以下2種方法:
1、通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。
2、通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。
存儲器中的每段存儲空間都會有一個地址,每個指令都包括一段操作數和一段空間地址,cpu會根據操作數去處理地址所指的數據。
一般計算機先讀取存儲器最開始的內容(這一部分是指令),然後載入操作系統(先是LOADER)後由操作系統對硬碟文件系統結構(即是數據)以判斷其他數據和指令的位置
(3)數據存儲與計算機的區別擴展閱讀:
構成存儲器的存儲介質,存儲元,它可存儲一個二進制代碼。由若干個存儲元組成一個存儲單元,然後再由許多存儲單元組成一個存儲器。一個存儲器包含許多存儲單元,每個存儲單元可存放一個位元組(按位元組編址)。
每個存儲單元的位置都有一個編號,即地址,一般用十六進製表示。一個存儲器中所有存儲單元可存放數據的總和稱為它的存儲容量。
假設一個存儲器的地址碼由20位二進制數(即5位十六進制數)組成,則可表示2的20次方,即1M個存儲單元地址。每個存儲單元存放一個位元組,則該存儲器的存儲容量為1MB。
動態存儲器每片只有一條輸入數據線,而地址引腳只有8條。為了形成64K地址,必須在系統地址匯流排和晶元地址引線之間專門設計一個地址形成電路。
使系統地址匯流排信號能分時地加到8個地址的引腳上,藉助晶元內部的行鎖存器、列鎖存器和解碼電路選定晶元內的存儲單元,鎖存信號也靠著外部地址電路產生。
當要從DRAM晶元中讀出數據時,CPU首先將行地址加在A0-A7上,而後送出RAS鎖存信號,該信號的下降沿將地址鎖存在晶元內部。接著將列地址加到晶元的A0-A7上,再送CAS鎖存信號,也是在信號的下降沿將列地址鎖存在晶元內部。然後保持WE=1,則在CAS有效期間數據輸出並保持。
當需要把數據寫入晶元時,行列地址先後將RAS和CAS鎖存在晶元內部,然後,WE有效,加上要寫入的數據,則將該數據寫入選中的存貯單元。
由於電容不可能長期保持電荷不變,必須定時對動態存儲電路的各存儲單元執行重讀操作,以保持電荷穩定,這個過程稱為動態存儲器刷新。
PC/XT機中DRAM的刷新是利用DMA實現的。首先應用可編程定時器8253的計數器1,每隔1⒌12μs產生一次DMA請求,該請求加在DMA控制器的0通道上。當DMA控制器0通道的請求得到響應時,DMA控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。
參考資料來源:網路-存儲器
❹ 靜態數據與動態數據的區別在計算機內存中的存儲方式有何不同各有什麼缺點
一般認為在c中分為這幾個存儲區
1棧 - 有編譯器自動分配釋放
2堆 - 一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收
3全局區(靜態區),全局變數和靜態變數的存儲是放在一塊的,初始化的全局變數和靜態變數在一塊區域,未初始化的全局變數和未初始化的靜態變數在相鄰的另一塊區域。程序結束釋放
4文字常量區--專門放常量的地方,比如字元串常量。 - 程序結束釋放
5代碼區 存放程序代碼
在函數體中定義的變數通常是在棧上,用malloc, calloc, realloc等分配內存的函數分
配得到的就是在堆上。在所有函數體外定義的是全局量,加了static修飾符後不管在哪
里都存放在全局區(靜態區),在所有函數體外定義的static變數表示在該文件中有效,
不能extern到別的文件用,在函數體內定義的static表示只在該函數體內有效。另外,
函數中的"adgfdf"這樣的字元串存放在常量區。
=====================================================================
針對你的題目,動態數據存放在堆區或棧區 而靜態數據存放在全局區(靜態區)
特點:動態數據 由系統自動分配內存或由程序員自主分配
系統自動分配的存放在棧區 一般包括局部變數 函數參數等等
程序員自主分配的存放在堆區 又malloc new等實現
它的生存期是變數的作用域 不是整個程序
靜態數據 存放在靜態區 和全局變數一個區 它的生存期是整個程序
❺ 指令和數據都存於存儲器中,計算機如何區分它們
解:計算機區分指令和數據有以下2種方法:
通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。
通過地址來源區分,由pc提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。
❻ 計算機的內存條存儲和硬碟存儲有什麼區別
內存是解決CPU和硬碟之間的速度匹配而加在記算機中,這樣是為了提高計算機運行速度,所以內存斷電後數據會丟失。而硬碟主要用來存儲數據用的,斷電後數據不會丟失。
❼ 計算機存儲器可分為哪幾類它們的主要區別是什麼
計算機存儲器可分為內存和外存兩大類。
內存和外存的區別:
1、兩者在性質上不同:
外儲存器是指除計算機內存及CPU緩存以外的儲存器,此類儲存器一般斷電後仍然能保存數據。常見的外存儲器有硬碟、軟盤、光碟、U盤等。
內存是指計算機中重要的部件之一,它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。
2、兩者在信息的存儲上不同:
在電腦執行完作業以後,內存這個存儲設備是不用存儲任何信息的。因此在內存里沒有任何的信息的,無法在內存里找到所需要的內容。不可能保存在內存條上的。
而保存的信息只能保存U盤、軟盤等外部存儲器上的。同時外部存儲器容量大而且攜帶方便,可以隨時找到自已想要的存儲信息。
3、兩者的運行速度不同:
外部存儲器能夠長期保存數據,交換速度相對較慢,而內存的交換速度非常快,但不能永久保存文件,斷電文件消失。
內存僅僅是作為一個臨時存儲設備,在計算數據或執行程序時,是一個臨時的存儲記憶設備。在日常生活中,不適合做長期存儲設備,因此使用時間受到了限制。
(7)數據存儲與計算機的區別擴展閱讀:
內存的工作速度和存儲容量對系統的整體性能、系統所能解決問題的規模和效率都有很大的影響。內存是採用大規模集成電路製成的半導體存儲器,可分為隨機存取存儲器RAM和只讀存儲器ROM兩種。
RAM中的信息可隨機地讀出或寫入,但信息不能持久保存,一旦關機(斷電)後,RAM中的信息不再保存。隨機存取存儲器所採用的存儲單元工作原理的不同又分為靜態隨機存儲器SRAM和靜態隨機存儲器DRAM。
SRAM採用穩態電路(如觸發器)作為存儲單元,在正常工作狀態下信息存入,能夠穩定保持,可供多次讀取,存取速度比DRAM快,但因單元電路比較復雜,集成度比DRAM低,價格也較高。
❽ 如果數據和程序都存儲在內存中計算機怎麼區別他們(盡快給答案啊)
一般認為在c中分為這幾個存儲區
1棧 - 有編譯器自動分配釋放
2堆 - 一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收
3全局區(靜態區),全局變數和靜態變數的存儲是放在一塊的,初始化的全局變數和靜態變數在一塊區域,未初始化的全局變數和未初始化的靜態變數在相鄰的另一塊區域。程序結束釋放
4文字常量區--專門放常量的地方,比如字元串常量。 - 程序結束釋放
5代碼區 存放程序代碼
在函數體中定義的變數通常是在棧上,用malloc, calloc, realloc等分配內存的函數分
配得到的就是在堆上。在所有函數體外定義的是全局量,加了static修飾符後不管在哪
里都存放在全局區(靜態區),在所有函數體外定義的static變數表示在該文件中有效,
不能extern到別的文件用,在函數體內定義的static表示只在該函數體內有效。另外,
函數中的"adgfdf"這樣的字元串存放在常量區。
=====================================================================
針對你的題目,動態數據存放在堆區或棧區 而靜態數據存放在全局區(靜態區)
特點:動態數據 由系統自動分配內存或由程序員自主分配
系統自動分配的存放在棧區 一般包括局部變數 函數參數等等
程序員自主分配的存放在堆區 又malloc new等實現
它的生存期是變數的作用域 不是整個程序
靜態數據 存放在靜態區 和全局變數一個區 它的生存期是整個程序