當前位置:首頁 » 服務存儲 » 存儲器的功能地址都相同
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲器的功能地址都相同

發布時間: 2022-09-09 06:34:15

① 計算機的存儲器主要功能是什麼

計算機存儲器的功能:

計算機存儲器根據控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。具體解釋如下:

內儲存器直接與CPU相連接,儲存容量較小,但速度快,用來存放當前運行程序的指令和數據,並直接與CPU交換信息。

外儲存器是內儲存器的擴充。它儲存容量大,價格低,但儲存速度慢,一般用來存放大量暫時不用的程序,數據和中間結果,需要時,可成批的與內存進行信息交換。外存只能與內存交換信息,不能被計算機系統的其他部件直接訪問

(1)存儲器的功能地址都相同擴展閱讀

存儲器分為內存儲器與外存儲器,簡稱內存與外存。內存儲器又常稱為主存儲器(簡稱主存),屬於主機的組成部分;外存儲器又常稱為輔助存儲器(簡稱輔存),屬於外部設備。CPU不能像訪問內存那樣,直接訪問外存,外存要與CPU或I/O設備進行數據傳輸,必須通過內存進行。在80386以上的高檔微機中,還配置了高速緩沖存儲器(cache),這時內存包括主存與高速緩存兩部分。對於低檔微機,主存即為內存。

計算機中,存儲器容量以位元組(Byte,簡寫為B)為基本單位,一個位元組由8個二進制位(bit)組成。存儲容量的表示單位除了位元組以外,還有KB、MB、GB、TB(可分別簡稱為K、M、G、T,例如,128MB可簡稱為128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。

② 存儲單元的存儲單元

在計算機中最小的信息單位是bit,也就是一個二進制位,8個bit組成一個Byte,也就是位元組。一個存儲單元可以存儲一個位元組,也就是8個二進制位。計算機的存儲器容量是以位元組為最小單位來計算的,對於一個有128個存儲單元的存儲器,可以說它的容量為128位元組。如果有一個1KB的存儲器則它有1024個存儲單元,它的編號為從0-1023。存儲器被劃分成了若干個存儲單元,每個存儲單元都是從0開始順序編號,如一個存儲器有128個存儲單元,則它的編號就是從0-127。
存儲地址一般用十六進制數表示,而每一個存儲器地址中又存放著一組二進制(或十六進制)表示的數,通常稱為該地址的內容。值得注意的是,存儲單元的地址和地址中的內容兩者是不一樣的。前者是存儲單元的編號,表示存儲器總的一個位置,而後者表示這個位置里存放的數據。正如一個是房間號碼,一個是房間里住的人一樣。
存放一個機器字的存儲單元,通常稱為字存儲單元,相應的單元地址叫字地址。而存放一個位元組的單元,稱為位元組存儲單元,相應的地址稱為位元組地址。如果計算機中可以編址的最小單元是字存儲單元,則該計算機稱為按字定址的計算機。如果計算機中可編址的最小單位是位元組,則該計算機稱為按位元組定址的計算機。如果機器字長等於存儲器單元的位數,一個機器字可以包含數個位元組,所以一個存儲單元也可以包含數個能夠單獨編址的位元組地址。例如一個16位二進制的字存儲單元可存放兩個位元組,可以按字地址定址,也可以按位元組地址定址。當用位元組地址定址時,16位的存儲單元占兩個位元組地址。

③ 存儲器的原理是什麼

存儲器講述工作原理及作用

介紹

存儲器(Memory)是現代信息技術中用於保存信息的記憶設備。其概念很廣,有很多層次,在數字系統中,只要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在系統中,具有實物形式的存儲設備也叫存儲器,如內存條、TF卡等。計算機中全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。它根據控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。計算機中的存儲器按用途存儲器可分為主存儲器(內存)和輔助存儲器(外存),也有分為外部存儲器和內部存儲器的分類方法。外存通常是磁性介質或光碟等,能長期保存信息。內存指主板上的存儲部件,用來存放當前正在執行的數據和程序,但僅用於暫時存放程序和數據,關閉電源或斷電,數據會丟失。

2.按存取方式分類

(1)隨機存儲器(RAM):如果存儲器中任何存儲單元的內容都能被隨機存取,且存取時間與存儲單元的物理位置無關,則這種存儲器稱為隨機存儲器(RAM)。RAM主要用來存放各種輸入/輸出的程序、數據、中間運算結果以及存放與外界交換的信息和做堆棧用。隨機存儲器主要充當高速緩沖存儲器和主存儲器。

(2)串列訪問存儲器(SAS):如果存儲器只能按某種順序來存取,也就是說,存取時間與存儲單元的物理位置有關,則這種存儲器稱為串列訪問存儲器。串列存儲器又可分為順序存取存儲器(SAM)和直接存取存儲器(DAM)。順序存取存儲器是完全的串列訪問存儲器,如磁帶,信息以順序的方式從存儲介質的始端開始寫入(或讀出);直接存取存儲器是部分串列訪問存儲器,如磁碟存儲器,它介於順序存取和隨機存取之間。

(3)只讀存儲器(ROM):只讀存儲器是一種對其內容只能讀不能寫入的存儲器,即預先一次寫入的存儲器。通常用來存放固定不變的信息。如經常用作微程序控制存儲器。目前已有可重寫的只讀存儲器。常見的有掩模ROM(MROM),可擦除可編程ROM(EPROM),電可擦除可編程ROM(EEPROM).ROM的電路比RAM的簡單、集成度高,成本低,且是一種非易失性存儲器,計算機常把一些管理、監控程序、成熟的用戶程序放在ROM中。

3.按信息的可保存性分類

非永久記憶的存儲器:斷電後信息就消失的存儲器,如半導體讀/寫存儲器RAM。

永久性記憶的存儲器:斷電後仍能保存信息的存儲器,如磁性材料做成的存儲器以及半導體ROM。

4.按在計算機系統中的作用分

根據存儲器在計算機系統中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,目前通常採用多級存儲器體系結構,即使用高速緩沖存儲器、主存儲器和外存儲器。

能力影響

從寫命令轉換到讀命令,在某個時間訪問某個地址,以及刷新數據等操作都要求數據匯流排在一定時間內保持休止狀態,這樣就不能充分利用存儲器通道。此外,寬並行匯流排和DRAM內核預取都經常導致不必要的大數據量存取。在指定的時間段內,存儲器控制器能存取的有用數據稱為有效數據速率,這很大程度上取決於系統的特定應用。有效數據速率隨著時間而變化,常低於峰值數據速率。在某些系統中,有效數據速率可下降到峰值速率的10%以下。

通常,這些系統受益於那些能產生更高有效數據速率的存儲器技術的變化。在CPU方面存在類似的現象,最近幾年諸如AMD和 TRANSMETA等公司已經指出,在測量基於CPU的系統的性能時,時鍾頻率不是唯一的要素。存儲器技術已經很成熟,峰值速率和有效數據速率或許並不比以前匹配的更好。盡管峰值速率依然是存儲器技術最重要的參數之一,但其他結構參數也可以極大地影響存儲器系統的性能。

影響有效數據速率的參數

有幾類影響有效數據速率的參數,其一是導致數據匯流排進入若干周期的停止狀態。在這類參數中,匯流排轉換、行周期時間、CAS延時以及RAS到CAS的延時(tRCD)引發系統結構中的大部分延遲問題。

匯流排轉換本身會在數據通道上產生非常長的停止時間。以GDDR3系統為例,該系統對存儲器的開放頁不斷寫入數據。在這期間,存儲器系統的有效數據速率與其峰值速率相當。不過,假設100個時鍾周期中,存儲器控制器從讀轉換到寫。由於這個轉換需要6個時鍾周期,有效的數據速率下降到峰值速率的 94%。在這100個時鍾周期中,如果存儲器控制器將匯流排從寫轉換到讀的話,將會丟失更多的時鍾周期。這種存儲器技術在從寫轉換到讀時需要15個空閑周期,這會將有效數據速率進一步降低到峰值速率的79%。表1顯示出針幾種高性能存儲器技術類似的計算結果。

顯然,所有的存儲器技術並不相同。需要很多匯流排轉換的系統設計師可以選用諸如XDR、RDRAM或者DDR2這些更高效的技術來提升性能。另一方面,如果系統能將處理事務分組成非常長的讀寫序列,那麼匯流排轉換對有效帶寬的影響最小。不過,其他的增加延遲現象,例如庫(bank)沖突會降低有效帶寬,對性能產生負面影響。

DRAM技術要求庫的頁或行在存取之前開放。一旦開放,在一個最小周期時間,即行周期時間(tRC)結束之前,同一個庫中的不同頁不能開放。對存儲器開放庫的不同頁存取被稱為分頁遺漏,這會導致與任何tRC間隔未滿足部分相關的延遲。對於還沒有開放足夠周期以滿足tRC間隙的庫而言,分頁遺漏被稱為庫沖突。而tRC決定了庫沖突延遲時間的長短,在給定的DRAM上可用的庫數量直接影響庫沖突產生的頻率。

大多數存儲器技術有4個或者8個庫,在數十個時鍾周期具有tRC值。在隨機負載情況下,那些具有8個庫的內核比具有4個庫的內核所發生的庫沖突更少。盡管tRC與庫數量之間的相互影響很復雜,但是其累計影響可用多種方法量化。

存儲器讀事務處理

考慮三種簡單的存儲器讀事務處理情況。第一種情況,存儲器控制器發出每個事務處理,該事務處理與前一個事務處理產生一個庫沖突。控制器必須在打開一個頁和打開後續頁之間等待一個tRC時間,這樣增加了與頁循環相關的最大延遲時間。在這種情況下的有效數據速率很大程度上決定於I/O,並主要受限於DRAM內核電路。最大的庫沖突頻率將有效帶寬削減到當前最高端存儲器技術峰值的20%到30%。

在第二種情況下,每個事務處理都以隨機產生的地址為目標。此時,產生庫沖突的機會取決於很多因素,包括tRC和存儲器內核中庫數量之間的相互作用。tRC值越小,開放頁循環地越快,導致庫沖突的損失越小。此外,存儲器技術具有的庫越多,隨機地址存取庫沖突的機率就越小。

第三種情況,每個事務處理就是一次頁命中,在開放頁中定址不同的列地址。控制器不必訪問關閉頁,允許完全利用匯流排,這樣就得到一種理想的情況,即有效數據速率等於峰值速率。

第一種和第三種情況都涉及到簡單的計算,隨機情況受其他的特性影響,這些特性沒有包括在DRAM或者存儲器介面中。存儲器控制器仲裁和排隊會極大地改善庫沖突頻率,因為更有可能出現不產生沖突的事務處理,而不是那些導致庫沖突的事務處理。

然而,增加存儲器隊列深度未必增加不同存儲器技術之間的相對有效數據速率。例如,即使增加存儲器控制隊列深度,XDR的有效數據速率也比 GDDR3高20%。存在這種增量主要是因為XDR具有更高的庫數量以及更低的tRC值。一般而言,更短的tRC間隔、更多的庫數量以及更大的控制器隊列能產生更高的有效帶寬。

實際上,很多效率限制現象是與行存取粒度相關的問題。tRC約束本質上要求存儲器控制器從新開放的行中存取一定量的數據,以確保數據管線保持充滿。事實上,為保持數據匯流排無中斷地運行,在開放一個行之後,只須讀取很少量的數據,即使不需要額外的數據。

另外一種減少存儲器系統有效帶寬的主要特性被歸類到列存取粒度范疇,它規定了每次讀寫操作必須傳輸的數據量。與之相反,行存取粒度規定每個行激活(一般指每個RAS的CAS操作)需要多少單獨的讀寫操作。列存取粒度對有效數據速率具有不易於量化的巨大影響。因為它規定一個讀或寫操作中需要傳輸的最小數據量,列存取粒度給那些一次只需要很少數據量的系統帶來了問題。例如,一個需要來自兩列各8位元組的16位元組存取粒度系統,必須讀取總共32位元組以存取兩個位置。因為只需要32個位元組中的16個位元組,系統的有效數據速率降低到峰值速率的50%。匯流排帶寬和脈沖時間長度這兩個結構參數規定了存儲器系統的存取粒度。

匯流排帶寬是指連接存儲器控制器和存儲器件之間的數據線數量。它設定最小的存取粒度,因為對於一個指定的存儲器事務處理,每條數據線必須至少傳遞一個數據位。而脈沖時間長度則規定對於指定的事務處理,每條數據線必須傳遞的位數量。每個事務處理中的每條數據線只傳一個數據位的存儲技術,其脈沖時間長度為1。總的列存取粒度很簡單:列存取粒度=匯流排寬度×脈沖時間長度。

很多系統架構僅僅通過增加DRAM器件和存儲匯流排帶寬就能增加存儲系統的可用帶寬。畢竟,如果4個400MHz數據速率的連接可實現 1.6GHz的總峰值帶寬,那麼8個連接將得到3.2GHz。增加一個DRAM器件,電路板上的連線以及ASIC的管腳就會增多,總峰值帶寬相應地倍增。

首要的是,架構師希望完全利用峰值帶寬,這已經達到他們通過物理設計存儲器匯流排所能達到的最大值。具有256位甚或512位存儲匯流排的圖形控制器已並不鮮見,這種控制器需要1,000個,甚至更多的管腳。封裝設計師、ASIC底層規劃工程師以及電路板設計工程師不能找到採用便宜的、商業上可行的方法來對這么多信號進行布線的矽片區域。僅僅增加匯流排寬度來獲得更高的峰值數據速率,會導致因為列存取粒度限制而降低有效帶寬。

假設某個特定存儲技術的脈沖時間長度等於1,對於一個存儲器處理,512位寬系統的存取粒度為512位(或者64位元組)。如果控制器只需要一小段數據,那麼剩下的數據就被浪費掉,這就降低了系統的有效數據速率。例如,只需要存儲系統32位元組數據的控制器將浪費剩餘的32位元組,進而導致有效的數據速率等於50%的峰值速率。這些計算都假定脈沖時間長度為1。隨著存儲器介面數據速率增加的趨勢,大多數新技術的最低脈沖時間長度都大於1。

選擇技巧

存儲器的類型將決定整個嵌入式系統的操作和性能,因此存儲器的選擇是一個非常重要的決策。無論系統是採用電池供電還是由市電供電,應用需求將決定存儲器的類型(易失性或非易失性)以及使用目的(存儲代碼、數據或者兩者兼有)。另外,在選擇過程中,存儲器的尺寸和成本也是需要考慮的重要因素。對於較小的系統,微控制器自帶的存儲器就有可能滿足系統要求,而較大的系統可能要求增加外部存儲器。為嵌入式系統選擇存儲器類型時,需要考慮一些設計參數,包括微控制器的選擇、電壓范圍、電池壽命、讀寫速度、存儲器尺寸、存儲器的特性、擦除/寫入的耐久性以及系統總成本。

選擇存儲器時應遵循的基本原則

1、內部存儲器與外部存儲器

一般情況下,當確定了存儲程序代碼和數據所需要的存儲空間之後,設計工程師將決定是採用內部存儲器還是外部存儲器。通常情況下,內部存儲器的性價比最高但靈活性最低,因此設計工程師必須確定對存儲的需求將來是否會增長,以及是否有某種途徑可以升級到代碼空間更大的微控制器。基於成本考慮,人們通常選擇能滿足應用要求的存儲器容量最小的微控制器,因此在預測代碼規模的時候要必須特別小心,因為代碼規模增大可能要求更換微控制器。目前市場上存在各種規模的外部存儲器器件,我們很容易通過增加存儲器來適應代碼規模的增加。有時這意味著以封裝尺寸相同但容量更大的存儲器替代現有的存儲器,或者在匯流排上增加存儲器。即使微控制器帶有內部存儲器,也可以通過增加外部串列EEPROM或快閃記憶體來滿足系統對非易失性存儲器的需求。

2、引導存儲器

在較大的微控制器系統或基於處理器的系統中,設計工程師可以利用引導代碼進行初始化。應用本身通常決定了是否需要引導代碼,以及是否需要專門的引導存儲器。例如,如果沒有外部的定址匯流排或串列引導介面,通常使用內部存儲器,而不需要專門的引導器件。但在一些沒有內部程序存儲器的系統中,初始化是操作代碼的一部分,因此所有代碼都將駐留在同一個外部程序存儲器中。某些微控制器既有內部存儲器也有外部定址匯流排,在這種情況下,引導代碼將駐留在內部存儲器中,而操作代碼在外部存儲器中。這很可能是最安全的方法,因為改變操作代碼時不會出現意外地修改引導代碼。在所有情況下,引導存儲器都必須是非易失性存儲器。

可以使用任何類型的存儲器來滿足嵌入式系統的要求,但終端應用和總成本要求通常是影響我們做出決策的主要因素。有時,把幾個類型的存儲器結合起來使用能更好地滿足應用系統的要求。例如,一些PDA設計同時使用易失性存儲器和非易失性存儲器作為程序存儲器和數據存儲器。把永久的程序保存在非易失性ROM中,而把由用戶下載的程序和數據存儲在有電池支持的易失性DRAM中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。

④ 存儲器擴展時,什麼叫地址空間不連續和地址重疊現象

採用部分解碼時,未用的地址線,可以隨意取1、取0。

那麼,對於某個存儲單元來說,就可用多個地址號碼來選中。

即:一個存儲器晶元,佔用了一個以上的地址空間。

這種現象,並不是【地址重疊】。Alfg5 的答案,是錯誤的。

另外,如果未用的地址線,是高位地址線,且都取0,

那麼,由部分解碼所形成的地址空間,也是連續的。


那麼,什麼是地址重疊呢?

不同的存儲晶元,具有同一個地址空間,這才是【地址重疊】。

採用線選法擴展存儲空間,才會有【地址重疊】的現象。

使用重疊的地址,就可令多塊晶元,同時寫入讀出。

那麼,重疊的地址,就是不可用的。

因此,可用的地址,就是不連續的。


在 51 單片機中,有許多地址重疊的現象,比如:

程序存儲器、數據存儲器的地址都是 0000~FFFFH。

特殊功能寄存器和高128B 的片內 RAM,地址,也重疊了。

位地址,也是重復使用了相同的地址號碼。

還有,八個寄存器 R0~R7,卻佔用了 32 個存儲單元。

就是說:

【地址重疊】是指:同一個地址空間,涉及到了不同的存儲區域。

而不是Alfg5 所答的:不同的地址,選通同一存儲單元。

搞清楚了基本概念,求可用的地址,以及,分析不可用的重疊地址,就不是難事了。

⑤ 單片機的程序存儲器和數據存儲器共處同一地址空間為什麼不會發生匯流排沖突

組8個單元,復位後的寄存器是第0組。能被8整除的都可以進行位定址。EA:片內外程序存儲器片選端,ALE:地址鎖存使用,PSEN:片外程序存儲器讀允許信號,1個機器周期是12個時鍾周期,1個指令周期是1、2、4個機器周期。1/10US,P0-P3,口的不同之處在與:P0口沒有上拉電阻,其餘的都有上拉電阻,外電路不用加上拉電阻。在作為輸入口時要向埠寫1,防止讀入的數據錯誤。
2、地址相同,但是,使用的指令不同,MOVC,MOVX。P3口的第二功能很豐富:串列口RX,TX、外部中斷INT0,INT1、定時記數器T0,T1、讀寫WR,RD。一個是位地址,一個是位元組地址,採用訪問的指令不同,7C在位地址定址區的2F中,PSW記錄累加器A的狀態,CY,AC,OV等,具體是第7位進位或者借位時,CY=1,反之為0,第3位進位或者借位時,AC=1反之為0,當運算結果不對時,OV=1。
3、那是程序的總入口地址,中斷地址入口。說白了,就是即可以輸入又可以輸出的口叫雙向口,P0-P3:復位時,為FFH。定址方式:直接、間接、立即、寄存器、變址、位定址。內部低128位定址,和整個256位元組定址。
4、DA A的作用是緊跟著加法後面的指令,用與十進制調整。MOV A,80H,XCH A,90H,MOV 80H,A。算術運算利用CY,OV判斷結果是否正確。如果CY=1,說明減數小,與此同時OV=1,說明正數減去負數得負數的情況。依次類推。

以上是部分內容回答。
由於時間關系先到此吧,後續再補上!

⑥ 存儲器主要用來

存儲器單元實際上是時序邏輯電路的一種。按存儲器的使用類型可分為只讀存儲器(ROM)和隨機存取存儲器(RAM),兩者的功能有較大的區別,因此在描述上也有所不同
存儲器是許多存儲單元的集合,按單元號順序排列。每個單元由若干三進制位構成,以表示存儲單元中存放的數值,這種結構和數組的結構非常相似,故在VHDL語言中,通常由數組描述存儲器

存儲器是用來存儲程序和各種數據信息的記憶部件。存儲器可分為主存儲器(簡稱主存或內存)和輔助存儲器(簡稱輔存或外存)兩大類。和CPU直接交換信息的是主存。
主存的工作方式是按存儲單元的地址存放或讀取各類信息,統稱訪問存儲器。主存中匯集存儲單元的載體稱為存儲體,存儲體中每個單元能夠存放一串二進制碼表示的信息,該信息的總位數稱為一個存儲單元的字長。存儲單元的地址與存儲在其中的信息是一一對應的,單元地址只有一個,固定不變,而存儲在其中的信息是可以更換的。
指示每個單元的二進制編碼稱為地址碼。尋找某個單元時,先要給出它的地址碼。暫存這個地址碼的寄存器叫存儲器地址寄存器(MAR)。為可存放從主存的存儲單元內取出的信息或准備存入某存儲單元的信息,還要設置一個存儲器數據寄存器(MDR)。

計算機的存儲器可分成內存儲器和外存儲器。內存儲器在程序執行期間被計算機頻繁地使用,並且在一個指令周期期間是可直接訪問的。外存儲器要求計算機從一個外貯藏裝置例如磁帶或磁碟中讀取信息。這與學生在課堂上做筆記相類似。如果學生沒有看筆記就知道內容,信息就被存儲在「內存儲器」中。如果學生必須查閱筆記,那麼信息就在「外存儲器」中

⑦ 存儲器和寄存器分別有哪些

寄存器和存儲器的區別有以下幾點:

1、存儲器功能:存放指令和數據,並能由中央處理器(CPU)直接隨機存取。

2、寄存器功能:可將寄存器內的數據執行算術及邏輯運算;存於寄存器內的地址可用來指向內存的某個位置,即定址;可以用來讀寫數據到電腦的周邊設備。

3、寄存器的速度比主存儲器的速度要快很多,由於寄存器的容量有限,所以將不需要操作的數據存放在主存儲器中,主存儲器中的數據必須放入寄存器材能夠進行操作。

4、簡單地說:寄存器是操作數據的地方,存儲器是存放數據的地方。

5、寄存器結構通常是指基本RS觸發器派生D觸發器,是由一些與非門的結構、總體集成在CPU、讀寫速度與CPU的速度運行基本匹配,但由於性能優越,所以貴,一般好的CPU只有幾MB二級緩存,一級緩存。

6,CPU的內存,通常指的是硬碟,U盤和其他設備可以節省電源切斷後,數據的能力是一般比較大,缺點是讀寫速度非常緩慢,普通機械硬碟讀寫速度通常是大約50mb/S。內存和寄存器是用於慢速內存讀寫的多層存儲機制。

⑧ 寄存器和存儲器的區別

1、存儲器在CPU外,一般指硬碟,U盤等可以在切斷電源後保存資料的設備,容量一般比較大,缺點是讀寫速度都很慢,普通的機械硬碟讀寫速度一般是50MB/S左右。

內存和寄存器就是為了解決存儲器讀寫速度慢而產生的多級存儲機制,從20世紀50年代開始,磁芯存儲器曾一度成為主存的主要存儲介質,但從20世紀70年代開始,逐步被半導體存儲器所取代,目前的計算機都是用半導體存儲器。現在的DDR2內存的讀寫速度一般為6~8GB/S,跟機器性能也有關系。

2、寄存器(又稱緩存)一般是指由基本的RS觸發器結構衍生出來的D觸發,就是一些與非門構成的結構,一般整合在CPU內,其讀寫速度跟CPU的運行速度基本匹配,但因為性能優越,所以造價昂貴,一般好的CPU也就只有幾MB的2級緩存,1級緩存更小。使用寄存器可以縮短至零長度、節省存儲空間,提高指令的執行速度。

3、不同的寄存器有不同的作用,如:通用寄存器(GR)用以存放操作數、操作數的地址或中間結果;指令寄存器(IR)用以存放當前正在執行的指令,以便在指令執行的過程中,控制完成一條指令的全部功能。

CPU計算時,先預先把要用的數據從硬碟讀到內存,然後再把即將要用的數據讀到寄存器。最理想的情況就是CPU所有的數據都能從寄存器里讀到,這樣讀寫速度就快,如果寄存器里沒有要用的數據,就要從內存甚至硬碟裡面讀,那樣讀寫數據占的時間就比CPU運算的時間還多的多。

所以評價一款CPU的性能除了頻率,緩存也是很重要的指標。

(8)存儲器的功能地址都相同擴展閱讀:

cpu的組成:

CPU的根本任務就是執行指令,對計算機來說最終都是一串由「0」和「1」組成的序列。CPU從邏輯上可以劃分成3個模塊,分別是控制單元、運算單元和存儲單元,這三部分由CPU內部匯流排連接起來。

1、控制單元

控制單元是整個CPU的指揮控制中心,由指令寄存器IR(Instruction Register)、指令解碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,對協調整個電腦有序工作極為重要。

它根據用戶預先編好的程序,依次從存儲器中取出各條指令,放在指令寄存器IR中,通過指令解碼(分析)確定應該進行什麼操作,然後通過操作控制器OC,按確定的時序,向相應的部件發出微操作控制信號。

操作控制器OC中主要包括節拍脈沖發生器、控制矩陣、時鍾脈沖發生器、復位電路和啟停電路等控制邏輯。

2、運算單元

是運算器的核心。可以執行算術運算(包括加減乘數等基本運算及其附加運算)和邏輯運算(包括移位、邏輯測試或兩個值比較)。相對控制單元而言,運算器接受控制單元的命令而進行動作,即運算單元所進行的全部操作都是由控制單元發出的控制信號來指揮的,所以它是執行部件。

3、存儲單元

包括CPU片內緩存和寄存器組,是CPU中暫時存放數據的地方,裡面保存著那些等待處理的數據,或已經處理過的數據,CPU訪問寄存器所用的時間要比訪問內存的時間短。

採用寄存器,可以減少CPU訪問內存的次數,從而提高了CPU的工作速度。

但因為受到晶元面積和集成度所限,寄存器組的容量不可能很大。寄存器組可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,分別寄存相應的數據。

而通用寄存器用途廣泛並可由程序員規定其用途,通用寄存器的數目因微處理器而異。這個是我們以後要介紹這個重點,這里先提一下。

⑨ 定義數據段如下,畫出數據存儲示意圖,並說明該數據段共有多少個位元組單元。

所謂內部數據存儲器就是集成在單片機內部的數據存儲器,因為單片機的內部的數據匯流排是8位的,所以其定址范圍只有00H~FFH。而這段內存也分為兩部分:00H~7FH:直接定址區: 也叫DATA區。C語言中在定義變數的時候,加上data這個關鍵字修飾的話,那麼這個變數就存在這個區域。這個區域可以進行直接定址。例如 MOV A, 30H;把30H單元裡面的內容復制到A中。 這段區域比較復雜,00H~1FH這段區域是通用寄存器(R0~R7)組所佔的區域。你可能覺得很奇怪,R0~R7隻有八個位元組,而這段區域有32個位元組。其實這個段區域是分為四組,每組8個位元組。而程序在同一時刻所用到的R0~R7隻是占這四組中的一組。其他的24個位元組是當作普通內存在使用的。而使用那一組是由PSW寄存器中的RS0和RS1兩位來決定的。 可能你會覺得設計這單片機的人不是找抽嗎,沒事搞的那麼復雜干什麼。其實設計者這樣設計是有目的的。在中斷的時候,這個設計就非常方便了。在進中斷的時候,要做現場的保護,就是把一些在主程序中用到的寄存器同時又在中斷中用到,這樣的寄存器就必須保護,防止數據丟失。例如在主程序中用到了R0~R7,在中斷中也用到了R0~R7,不這樣設計的話就得一個一個寄存器去入棧,然後再一個一個的出棧。麻煩的很。而有這樣的分組設計,只需在進中斷的時候,把PSW入棧,再改變PSW的RS0和RS1兩位的值,用不同的寄存器組。然後在中斷結束的時候,把PSW出棧就可以了。這樣就方便很多。 20H~2FH,叫位定址區,這個區域的16個位元組可以進行位定址。C語言中定義的位變數就分配在這個區域。 30H~7FH:普通 的內存。80H~FFH:這段地址也糾結。如果單片機是51的話還好理解,因為51單片機內存只有128個位元組,而這段地址是特殊功能寄存器的地址。如果是52單片機的話就糾結啦,52單片機內部數據存儲器有256個位元組,00H~7FH只有128個啊,而80H~FFH是特殊功能器的地址啊,那麼還有128個位元組的地址怎麼編排呢?和特殊功能器共用地址?那會不會在訪問內存的時候改變了特殊功能器的值啊,改變了的話程序會出問題的?這是每個初學者都有這樣的疑問。其實特殊功能寄存器的確和後面128個位元組的內存是共用相同的地址的。但是他們都有自己的物理地址,就像兩個人同名樣的,雖然名字相同,但不是同一個人。而區分的方法就是利用不同的定址方式,特殊功能寄存器有直接定址,內存用間接定址。例如:MOV R0, 0E0H;直接定址,把累加器A中的值復制到R0中。MOV R1,#0E0HMOV R0,@R1間接定址,把地址為E0H的內存單元裡面數復制到R0中。間接定址只能用R0或R1作為地址指針。 外部數據存儲器,也就是外部擴展的寄存器。以前的外部存儲器都是掛在單片機外面的(現在的外部存儲器都集成在單片機內部了,但是訪問的方式還是沒改變。只是不佔用IO口了),用單片機的P0口和P2口來連接外部存儲器。P0口作為訪問外部存儲器地址的低八位和數據口,P2口作為地址的高八位。程序訪問外部數據存儲器,必須用DPTR或者R0和R1做為地址指針,用MOVX指令。在外部存儲器的地址小於100H的時候,可以用R0和R1作為地址指針來訪問外部存儲器。例如:MOV R0,#30HMOVX A,@R0這段程序就是把地址為30H 的外部存儲器的數據復制到A中。 所以外部存儲器的00H~FFH也叫pdata區。同樣在C語言中,用pdata關鍵字修飾的變數存在該區域。外部存儲器所有的區域都可以用DPTR作為指針來訪問。例如:;地址小於8位MOV DPTR,#0030HMOVX A,@DPTR;地址大於8位MOV DPTR,#3000HMOVX A,@DPTR所以外部存儲器所有區域叫xdata區,在C語言中,有xdata修飾的變數就存在該區域。內部數存和外部數存有些地址是重疊的,但是它們在空間上不重疊。也就是有自己獨立的物理空間。利用不同的定址方式從而來區分他們。程序存儲器也就是只讀存儲器。在程序運行過程中只能對它進行讀,但是不能寫。對它的寫只能利用一些特殊的方式,例如把你在電腦裡面寫好程序,通過下載器下載到單片機裡面。而在程序中對它的讀也得用DPTR做為指針來訪問,並且用MOVC指令。由於老的51單片機內部集成的程序存儲器空間比較小,所以有時候需要外擴程序存儲器。但是內部程序存儲器和外部程序存儲器不能共存,只能用其中的一個。有單片機的EA管教來決定,EA為高時,內部。EA為低時,外部。

⑩ 特殊情況下 允許不同的存儲單元具有相同的地址對嗎

每一個存儲單元都有一一對應的地址