存儲器與處理器製作原理
❶ 存儲器的原理是什麼
存儲器講述工作原理及作用
介紹
存儲器(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中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。
❷ CPU工作原理
CPU的運行原理就是:
1、取指令:CPU的控制器從內存讀取一條指令並放入指令寄存器。指令的格式一般是這個樣子滴:操作碼就是匯編語言里的mov,add,jmp等符號碼;操作數地址說明該指令需要的操作數所在的地方,是在內存里還是在CPU的內部寄存器里。
2、指令解碼(解碼):指令寄存器中的指令經過解碼,決定該指令應進行何種操作(就是指令里的操作碼)、操作數在哪裡(操作數的地址)。
3、執行指令(寫回),以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進CPU內部的暫存器,以供隨後指令快速存取。
4、 修改指令計數器,決定下一條指令的地址。
(2)存儲器與處理器製作原理擴展閱讀:
CPU的主要功能:
1、處理指令:這是指控製程序中指令的執行順序。程序中的各指令之間是有嚴格順序的,必須嚴格按程序規定的順序執行,才能保證計算機系統工作的正確性。
2、執行操作:一條指令的功能往往是由計算機中的部件執行一系列的操作來實現的。CPU要根據指令的功能,產生相應的操作控制信號,發給相應的部件,從而控制這些部件按指令的要求進行動作。
3、控制時間;時間控制就是對各種操作實施時間上的定時。在一條指令的執行過程中,在什麼時間做什麼操作均應受到嚴格的控制。只有這樣,計算機才能有條不紊地工作。
4、處理數據:即對數據進行算術運算和邏輯運算,或進行其他的信息處理。
❸ 存儲器與CPU的工作關系,請詳細說明一下
CPU是加工線,內存是中轉倉庫(保存待加工和半成品件),硬碟是進出廠總庫,理解了嗎?
數據存儲在硬碟上,然後讀入內存等待CPU進行調取和運算,CPU將運算結果返回內存中,進程結束後內存中數據進行轉存或保存到硬碟上。
❹ cpu的基本結構及其工作原理
1、CPU的外形及結構
CPU是整個計算機系統的核心部件,外部結構如下圖所示。CPU看上去非常簡單,是一個矩形片狀物體。其中間凸起部分是CPU核心,它一般是一片指甲大小的、薄薄的硅晶片,在這塊小小的矽片上,密布著數以千萬計的晶體管,它們相互配合協調,完成各種復雜的運算和操作。為幫助散熱,一般在CPU的核心上都加裝一個金屬封裝殼,金屬封裝殼周圍是CPU基板,它將CPU內部的信號引接到CPU針腳上。基板的背面有許多密密麻麻的鍍金針腳,它是CPU與外部電路連接的通道。
2、CPU的組成部分
CPU內部主要由運算器、控制器和寄存器組組成,如下圖所示。
運算器用來對數據進行各種算術運算和邏輯運算。控制器是CPU的指揮中心,它能對計算機指令進行分析,產生各種控制型信號。寄存器組用來臨時存放參加運算的數據和計算的中間結果。
3、CPU的工作原理
CPU的工作原理就像一個工廠對產品的加工過程:進人工廠的原料(程序指令),經過物資部門(控制器)的調度分配,被送往生產線(運算器),生產出成品(寄存器組)後,再存儲在倉庫(內存)中,最後等著拿到市場上去賣(交由應用程序使用)。這個過程看起來相當長,實際上只是一瞬間發生的事情。也可以這樣理解CPU只執行三種基本的操作,分別是讀出數據、處理數據和往內存寫數據。
現在,主流CPU還是Intel和AMD兩家的天下。無論是高端還是低端,兩大品牌都有著全線的產品。具體型號及產品可自行網路,這里不做過多介紹。
4、CPU常用術語
4.1.主頻
衡量CPU速度快慢的一個重要指標就是CPU的工作頻率,也叫做CPU的主頻,主頻亦稱為內頻。主頻就是CPU的時鍾頻率,它控制著CPU工作節拍,主頻越高,CPU工作節拍就越快,運算速度也就越高。主頻通常用一秒鍾內處理器所能發出電子脈沖數來測定,計量單位一般為MHz或GHz。目前P4的主頻達3GHz以上,IBM公司已研製出速度高達110GHz。
4.2.外頻
CPU跟外部(即系統匯流排)接觸溝通的頻率稱為外頻。外頻是由主板提供,CPU以這個頻率跟系統其他的配件進行溝通,因此,外頻亦稱為系統匯流排頻率或前端匯流排速度(FSB)。早期CPU內部與外部的工作頻率都相同,後來主頻要比外頻快。現在PⅢ的外頻為133 MHz,P4的外頻可採用高達800MHz的外頻。
4.3.倍頻
CPU的倍頻,即倍頻系數。它足指CPU主頻和外頻之間存在著一個比值關系,這個比值就是倍頻系數。所以,主頻和外頻、倍頻三者的關系是:主頻=外頻×倍頻
4.4.超頻
外頻和倍頻都可以根據CPU參數通過主板跳線或程序來設置,從而設定CPU主頻。通過適當提高外頻或倍頻,有些CPU的主頻可以超過它的標稱工作頻率,這就是習慣上稱的「超頻」。超頻可以在一定程度上提高系統的性能,但是超頻會導致CPU的功耗增加,使CPU工作溫度升高,甚至損壞CPU。
4.5.一級緩存(L1 Cache)
一級緩存也稱L1高速緩存,它封裝在CPU晶元內部的高速緩存,用於暫時存儲CPU運算時的部分指令和數據,存取速度與CPU主頻相近。內置的L1高速緩存的容量和結構對CPU的性能影響較大,一級緩存容量越大,則CPU處理速度就會越快,對應的CPU價格也就越高。
4.6.二級緩存(L2 Cache)
二級緩存亦稱L2高速緩存,指CPU外部的高速緩存。像一級緩存一樣,二級緩存越大,則CPU處理速度就越快,整台計算機性能也就越好。一級緩存和二級緩存都位於CPU和內存之間,用於緩解高速CPU與慢速內存速度匹配問題。
4.7、超線程技術
超線程技術是Intel的創新設計,就是在一個處理器中放人兩個邏輯處理單元,讓多線程的應用程序能夠並行處理多項任務,提高CPU的運行效率。
❺ 計算機的存儲程序工作原理是什麼
計算機的基本原理是:
存儲程序和程序控制。
預先要把指揮計算機如何進行操作的指令序列(稱為程序)和原始數據通過輸入設備輸送到計算機內存貯器中。
每一條指令中明確規定了計算機從哪個地址取數,進行什麼操作,然後送到什麼地址去等步驟。
1計算機在運行時,先從內存中取出第一條指令,通過控制器的解碼,按指令的要求,從存儲器中取出數據進行指定的運算和邏輯操作等加工,然後再按地址把結果送到內存中去。
2接下來,再取出第二條指令,在控制器的指揮下完成規定操作。依此進行下去。直至遇到停止指令。
3程序與數據一樣存貯,按程序編排的順序,一步一步地取出指令,自動地完成指令規定的操作是計算機最基本的工作原理。
4這一原理最初是由美籍匈牙利數學家馮.諾依曼於1945年提出來的,故稱為馮.諾依曼原理。
❻ 目前計算機使用的處理器和存儲器晶元主要是什麼電路
目前計算機使用的處理器和存儲器晶元主要是VLSI超大規模集成電路。
超大規模集成電路( Very Large Scale Integration Circuit,VLSI)是一種將大量晶體管組合到單一晶元的集成電路,其集成度大於大規模集成電路。
集成的晶體管數在不同的標准中有所不同。從1970年代開始,隨著復雜的半導體以及通信技術的發展,集成電路的研究、發展也逐步展開。
計算機里的控制核心微處理器就是超大規模集成電路的最典型實例,超大規模集成電路設計( VLSI design),尤其是數字集成電路,通常採用電子設計自動化的方式進行,已經成為計算機工程的重要分支之一。
(6)存儲器與處理器製作原理擴展閱讀:
世界上超大規模集成電路廠(Integrated Circuit, 簡稱IC,台灣稱之為晶圓廠)主要集中分布於美國、日本、西歐、新加坡及台灣等少數發達國家和地區,其中台灣地區佔有舉足輕重的地位。
但由於近年來台灣地區歷經地震、金融危機、政府更迭等一系列事件影響,使得本來就存在資源匱乏、市場狹小、人心浮動的台灣島更加動盪不安,於是就引發了一場晶圓廠外遷的風潮。而具有幅員遼闊、資源充足、巨大潛在市場、充沛的人力資源供給等方面優勢的祖國大陸當然順理成章地成為了其首選的遷往地。
❼ cpu和內存的工作原理
內存工作原理:
內存帶寬一般取決於內存頻率,而匯流排帶寬最好和內存帶寬保持一致。內存帶寬超過匯流排帶寬的話,不超頻的情況下,那麼也只能按匯流排帶寬來傳輸數據。那麼在這種情況下,內存的頻率是否有變化?
比如:1.假設有一塊匯流排頻率為800MHZ,並且支持1066MHZ內存的主板上插一根1066MHZ的內存條,(CPU匯流排800)那麼內存帶寬最多隻有6.4G/S,而其頻率仍然是1066?還是只有800了?
2.如果在一塊匯流排頻率為1066的主板上(CPU匯流排1066)組2根667內存雙通道,那麼其內存帶寬為8.5G/S,而其內存頻率是2個667還是2個533?
另外,現在的DDR3號稱雖然延遲時序比DDR2要多,但絕對延遲值卻比DDR2要小,因為要將內存運行頻率計算在內。那麼問題就來了:DDR3的絕對延遲值是在其運行頻率100%發揮的前提下的結果,如果內存頻率受到瓶頸限制的話,其絕對延遲值還是這么低嗎?比如:匯流排頻率為800MHZ,主板支持的情況下,配一根DDR3 1066MHZ的內存,其絕對延遲值是變大了,還是不變?
CPU的原始工作模式
在了解CPU工作原理之前,我們先簡單談談CPU是如何生產出來的。CPU是在特別純凈的硅材料上製造的。一個CPU晶元包含上百萬個精巧的晶體管。人們在一塊指甲蓋大小的矽片上,用化學的方法蝕刻或光刻出晶體管。因此,從這個意義上說,CPU正是由晶體管組合而成的。簡單而言,晶體管就是微型電子開關,它們是構建CPU的基石,你可以把一個晶體管當作一個電燈開關,它們有個操作位,分別代表兩種狀態:ON(開)和OFF(關)。這一開一關就相當於晶體管的連通與斷開,而這兩種狀態正好與二進制中的基礎狀態「0」和「1」對應!這樣,計算機就具備了處理信息的能力。
但你不要以為,只有簡單的「0」和「1」兩種狀態的晶體管的原理很簡單,其實它們的發展是經過科學家們多年的辛苦研究得來的。在晶體管之前,計算機依靠速度緩慢、低效率的真空電子管和機械開關來處理信息。後來,科研人員把兩個晶體管放置到一個硅晶體中,這樣便創作出第一個集成電路,再後來才有了微處理器。
看到這里,你一定想知道,晶體管是如何利用「0」和「1」這兩種電子信號來執行指令和處理數據的呢?其實,所有電子設備都有自己的電路和開關,電子在電路中流動或斷開,完全由開關來控制,如果你將開關設置為OFF,電子將停止流動,如果你再將其設置為ON,電子又會繼續流動。晶體管的這種ON與OFF的切換只由電子信號控制,我們可以將晶體管稱之為二進制設備。這樣,晶體管的ON狀態用「1」來表示,而OFF狀態則用「0」來表示,就可以組成最簡單的二進制數。眾多晶體管產生的多個「1」與「0」的特殊次序和模式能代表不同的情況,將其定義為字母、數字、顏色和圖形。舉個例子,十進位中的1在二進位模式時也是「1」,2在二進位模式時是「10」,3是「11」,4是「100」,5是「101」,6是「110」等等,依此類推,這就組成了計算機工作採用的二進制語言和數據。成組的晶體管聯合起來可以存儲數值,也可以進行邏輯運算和數字運算。加上石英時鍾的控制,晶體管組就像一部復雜的機器那樣同步地執行它們的功能。
CPU的內部結構
現在我們已經大概知道CPU是負責些什麼事情,但是具體由哪些部件負責處理數據和執行程序呢?
1.算術邏輯單元ALU(Arithmetic Logic Unit)
ALU是運算器的核心。它是以全加器為基礎,輔之以移位寄存器及相應控制邏輯組合而成的電路,在控制信號的作用下可完成加、減、乘、除四則運算和各種邏輯運算。就像剛才提到的,這里就相當於工廠中的生產線,負責運算數據。
2.寄存器組 RS(Register Set或Registers)
RS實質上是CPU中暫時存放數據的地方,裡面保存著那些等待處理的數據,或已經處理過的數據,CPU訪問寄存器所用的時間要比訪問內存的時間短。採用寄存器,可以減少CPU訪問內存的次數,從而提高了CPU的工作速度。但因為受到晶元面積和集成度所限,寄存器組的容量不可能很大。寄存器組可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,分別寄存相應的數據。而通用寄存器用途廣泛並可由程序員規定其用途。通用寄存器的數目因微處理器而異。
3.控制單元(Control Unit)
正如工廠的物流分配部門,控制單元是整個CPU的指揮控制中心,由指令寄存器IR(Instruction Register)、指令解碼器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三個部件組成,對協調整個電腦有序工作極為重要。它根據用戶預先編好的程序,依次從存儲器中取出各條指令,放在指令寄存器IR中,通過指令解碼(分析)確定應該進行什麼操作,然後通過操作控制器OC,按確定的時序,向相應的部件發出微操作控制信號。操作控制器OC中主要包括節拍脈沖發生器、控制矩陣、時鍾脈沖發生器、復位電路和啟停電路等控制邏輯。
4.匯流排(Bus)
就像工廠中各部位之間的聯系渠道,匯流排實際上是一組導線,是各種公共信號線的集合,用於作為電腦中所有各組成部分傳輸信息共同使用的「公路」。直接和CPU相連的匯流排可稱為局部匯流排。其中包括: 數據匯流排DB(Data Bus)、地址匯流排AB(Address Bus) 、控制匯流排CB(Control Bus)。其中,數據匯流排用來傳輸數據信息;地址匯流排用於傳送CPU發出的地址信息;控制匯流排用來傳送控制信號、時序信號和狀態信息等。
CPU的工作流程
由晶體管組成的CPU是作為處理數據和執行程序的核心,其英文全稱是:Central Processing Unit,即中央處理器。首先,CPU的內部結構可以分為控制單元,邏輯運算單元和存儲單元(包括內部匯流排及緩沖器)三大部分。CPU的工作原理就像一個工廠對產品的加工過程:進入工廠的原料(程序指令),經過物資分配部門(控制單元)的調度分配,被送往生產線(邏輯運算單元),生產出成品(處理後的數據)後,再存儲在倉庫(存儲單元)中,最後等著拿到市場上去賣(交由應用程序使用)。在這個過程中,我們注意到從控制單元開始,CPU就開始了正式的工作,中間的過程是通過邏輯運算單元來進行運算處理,交到存儲單元代表工作的結束。
數據與指令在CPU中的運行
剛才已經為大家介紹了CPU的部件及基本原理情況,現在,我們來看看數據是怎樣在CPU中運行的。我們知道,數據從輸入設備流經內存,等待CPU的處理,這些將要處理的信息是按位元組存儲的,也就是以8位二進制數或8比特為1個單元存儲,這些信息可以是數據或指令。數據可以是二進製表示的字元、數字或顏色等等。而指令告訴CPU對數據執行哪些操作,比如完成加法、減法或移位運算。
我們假設在內存中的數據是最簡單的原始數據。首先,指令指針(Instruction Pointer)會通知CPU,將要執行的指令放置在內存中的存儲位置。因為內存中的每個存儲單元都有編號(稱為地址),可以根據這些地址把數據取出,通過地址匯流排送到控制單元中,指令解碼器從指令寄存器IR中拿來指令,翻譯成CPU可以執行的形式,然後決定完成該指令需要哪些必要的操作,它將告訴算術邏輯單元(ALU)什麼時候計算,告訴指令讀取器什麼時候獲取數值,告訴指令解碼器什麼時候翻譯指令等等。
假如數據被送往算術邏輯單元,數據將會執行指令中規定的算術運算和其他各種運算。當數據處理完畢後,將回到寄存器中,通過不同的指令將數據繼續運行或者通過DB匯流排送到數據緩存器中。
基本上,CPU就是這樣去執行讀出數據、處理數據和往內存寫數據3項基本工作。但在通常情況下,一條指令可以包含按明確順序執行的許多操作,CPU的工作就是執行這些指令,完成一條指令後,CPU的控制單元又將告訴指令讀取器從內存中讀取下一條指令來執行。這個過程不斷快速地重復,快速地執行一條又一條指令,產生你在顯示器上所看到的結果。我們很容易想到,在處理這么多指令和數據的同時,由於數據轉移時差和CPU處理時差,肯定會出現混亂處理的情況。為了保證每個操作準時發生,CPU需要一個時鍾,時鍾控制著CPU所執行的每一個動作。時鍾就像一個節拍器,它不停地發出脈沖,決定CPU的步調和處理時間,這就是我們所熟悉的CPU的標稱速度,也稱為主頻。主頻數值越高,表明CPU的工作速度越快。
如何提高CPU工作效率
既然CPU的主要工作是執行指令和處理數據,那麼工作效率將成為CPU的最主要內容,因此,各CPU廠商也盡力使CPU處理數據的速度更快。
根據CPU的內部運算結構,一些製造廠商在CPU內增加了另一個算術邏輯單元(ALU),或者是另外再設置一個處理非常大和非常小的數據浮點運算單元(Floating Point Unit,FPU),這樣就大大加快了數據運算的速度。
而在執行效率方面,一些廠商通過流水線方式或以幾乎並行工作的方式執行指令的方法來提高指令的執行速度。剛才我們提到,指令的執行需要許多獨立的操作,諸如取指令和解碼等。最初CPU在執行下一條指令之前必須全部執行完上一條指令,而現在則由分布式的電路各自執行操作。也就是說,當這部分的電路完成了一件工作後,第二件工作立即占據了該電路,這樣就大大增加了執行方面的效率。
另外,為了讓指令與指令之間的連接更加准確,現在的CPU通常會採用多種預測方式來控制指令更高效率地執行。
❽ 敘述微型計算機中的多級存儲體系以及工作原理
多級存儲體系
多級存儲結構構成的存儲體系是一個整體。從CPU看來,這個整體的速度接近於Cache和寄存器的操作速度、容量是輔存(或海量存儲器)的容量,每位價格接近於輔存的位價格。從而較好地解決了存儲器中速度、容量、價格三者之間的矛盾,滿足了計算機系統的應用需要。
工作原理
存儲器的層次結構能夠成功的關鍵在於處理器訪問存儲器的頻率遞減。在執行程序期間,處理器的指令存儲訪問和數據存儲訪問呈現簇狀,典型的程序包括許多迭代循環和子程序,一旦程序進入一個循環或子程序執行,就會重復訪問一個小范圍的指令集合。同理,對表和數組的操作涉及到存取一簇數據,經過很長一段時間,程序訪問的簇會改變,但在較短的時間內,處理器主要訪問存儲器中固定的簇。
因此,可以通過層次組織數據,使得隨著組織層次的遞減,各層次的訪問比例也 依次遞減。以二級存儲器為例,讓第二級存儲器包含所有的指令和數據,程序當前的訪問簇暫時存放在第一級存儲器中。有時第一級存儲器中的某個簇要放到第二級存儲器中,以便為新的簇進入第一級存儲器讓出空間。
❾ 簡述SRAM,DRAM型存儲器的工作原理
個人電腦的主要結構:
顯示器
主機板
CPU
(微處理器)
主要儲存器
(記憶體)
擴充卡
電源供應器
光碟機
次要儲存器
(硬碟)
鍵盤
滑鼠
盡管計算機技術自20世紀40年代第一台電子通用計算機誕生以來以來有了令人目眩的飛速發展,但是今天計算機仍然基本上採用的是存儲程序結構,即馮·諾伊曼結構。這個結構實現了實用化的通用計算機。
存儲程序結構間將一台計算機描述成四個主要部分:算術邏輯單元(ALU),控制電路,存儲器,以及輸入輸出設備(I/O)。這些部件通過一組一組的排線連接(特別地,當一組線被用於多種不同意圖的數據傳輸時又被稱為匯流排),並且由一個時鍾來驅動(當然某些其他事件也可能驅動控制電路)。
概念上講,一部計算機的存儲器可以被視為一組「細胞」單元。每一個「細胞」都有一個編號,稱為地址;又都可以存儲一個較小的定長信息。這個信息既可以是指令(告訴計算機去做什麼),也可以是數據(指令的處理對象)。原則上,每一個「細胞」都是可以存儲二者之任一的。
算術邏輯單元(ALU)可以被稱作計算機的大腦。它可以做兩類運算:第一類是算術運算,比如對兩個數字進行加減法。算術運算部件的功能在ALU中是十分有限的,事實上,一些ALU根本不支持電路級的乘法和除法運算(由是使用者只能通過編程進行乘除法運算)。第二類是比較運算,即給定兩個數,ALU對其進行比較以確定哪個更大一些。
輸入輸出系統是計算機從外部世界接收信息和向外部世界反饋運算結果的手段。對於一台標準的個人電腦,輸入設備主要有鍵盤和滑鼠,輸出設備則是顯示器,列印機以及其他許多後文將要討論的可連接到計算機上的I/O設備。
控制系統將以上計算機各部分聯系起來。它的功能是從存儲器和輸入輸出設備中讀取指令和數據,對指令進行解碼,並向ALU交付符合指令要求的正確輸入,告知ALU對這些數據做那些運算並將結果數據返回到何處。控制系統中一個重要組件就是一個用來保持跟蹤當前指令所在地址的計數器。通常這個計數器隨著指令的執行而累加,但有時如果指令指示進行跳轉則不依此規則。
20世紀80年代以來ALU和控制單元(二者合成中央處理器,CPU)逐漸被整合到一塊集成電路上,稱作微處理器。這類計算機的工作模式十分直觀:在一個時鍾周期內,計算機先從存儲器中獲取指令和數據,然後執行指令,存儲數據,再獲取下一條指令。這個過程被反復執行,直至得到一個終止指令。
由控制器解釋,運算器執行的指令集是一個精心定義的數目十分有限的簡單指令集合。一般可以分為四類:1)、數據移動(如:將一個數值從存儲單元A拷貝到存儲單元B)2)、數邏運算(如:計算存儲單元A與存儲單元B之和,結果返回存儲單元C)3)、條件驗證(如:如果存儲單元A內數值為100,則下一條指令地址為存儲單元F)4)、指令序列改易(如:下一條指令地址為存儲單元F)
指令如同數據一樣在計算機內部是以二進制來表示的。比如說,10110000就是一條Intel
x86系列微處理器的拷貝指令代碼。某一個計算機所支持的指令集就是該計算機的機器語言。因此,使用流行的機器語言將會使既成軟體在一台新計算機上運行得更加容易。所以對於那些機型商業化軟體開發的人來說,它們通常只會關注一種或幾種不同的機器語言。
更加強大的小型計算機,大型計算機和伺服器可能會與上述計算機有所不同。它們通常將任務分擔給不同的CPU來執行。今天,微處理器和多核個人電腦也在朝這個方向發展。
超級計算機通常有著與基本的存儲程序計算機顯著區別的體系結構。它們通常由者數以千計的CPU,不過這些設計似乎只對特定任務有用。在各種計算機中,還有一些微控制器採用令程序和數據分離的哈佛架構(Harvard
architecture)。