- 相關(guān)推薦
計(jì)算機(jī)組成原理是什么
計(jì)算機(jī)組成指的是系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn),包括機(jī)器機(jī)內(nèi)的數(shù)據(jù)流和控制流的組成及邏輯設(shè)計(jì)等。計(jì)算機(jī)由什么組成的,有什么原理呢?下面小編為大家分析一下!
【計(jì)算機(jī)性能指標(biāo)】
計(jì)算機(jī)的性能指標(biāo)主要是CPU性能指標(biāo)、存儲(chǔ)器性能指標(biāo)和I/O吞吐率。
處理機(jī)字長(zhǎng):是指處理機(jī)運(yùn)算器中一次能夠完成二進(jìn)制運(yùn)算的位數(shù)。
總線寬度:一般指CPU中運(yùn)算器與存儲(chǔ)器之間進(jìn)行互連的內(nèi)部總線二進(jìn)制位數(shù)。
存儲(chǔ)器帶寬:?jiǎn)挝粫r(shí)間內(nèi)從存儲(chǔ)器讀出事物二進(jìn)制數(shù)信息量,一般用字節(jié)數(shù)/秒表示。
主頻/時(shí)鐘周期:CPU的工作節(jié)拍受主時(shí)鐘控制,主時(shí)鐘不斷產(chǎn)生固定頻率的時(shí)鐘,主時(shí)鐘的頻率(f)叫CPU的主頻。主頻的倒數(shù)稱為CPU的周期(T)。
CPI:表示每條指令周期數(shù),即執(zhí)行一般程序所占用的CPU時(shí)間,
CPU執(zhí)行時(shí)間=CPU時(shí)鐘周期數(shù)xCPU時(shí)鐘周期
MIPS:表示平均每秒執(zhí)行多少百萬(wàn)條定點(diǎn)指令數(shù),
FLOPS:表示每秒執(zhí)行浮點(diǎn)操作的次數(shù),用來衡量機(jī)器浮點(diǎn)操作的性能。
FLOPS=程序中的浮點(diǎn)操作次數(shù)/程序執(zhí)行時(shí)間(s)
【定點(diǎn)數(shù)的表示和運(yùn)算】
一個(gè)定點(diǎn)數(shù)由符號(hào)位和數(shù)值域兩部分組成。按小數(shù)點(diǎn)位置不同,定點(diǎn)數(shù)有純小數(shù)和純整數(shù)兩種表示方法。在定點(diǎn)計(jì)算機(jī)中,兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:乘積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得到,而乘積的數(shù)值部分則是兩個(gè)正數(shù)相乘之積。兩個(gè)原碼表示的數(shù)相除時(shí),商的符號(hào)位由兩數(shù)的符號(hào)按位相加求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。
【算數(shù)邏輯單元ALU】
為運(yùn)算器構(gòu)造的簡(jiǎn)單性,運(yùn)算方法中算數(shù)運(yùn)算通常采用補(bǔ)碼加、減法,原碼乘除法或補(bǔ)碼乘除法。為了運(yùn)算器的高速性和控制的簡(jiǎn)單性,采用了先行進(jìn)位、陣列乘除法、流水線等并行技術(shù)措施。ALU不僅具有多種算術(shù)運(yùn)算和邏輯運(yùn)算的功能,而且具有先行進(jìn)位邏輯,從而能實(shí)現(xiàn)高速運(yùn)算。
【存儲(chǔ)器的分類】
按存儲(chǔ)介質(zhì),用半導(dǎo)體器件組成的存儲(chǔ)器稱為半導(dǎo)體存儲(chǔ)器,用磁性材料做成的存儲(chǔ)器稱為磁表面存儲(chǔ)器;作為存儲(chǔ)介質(zhì)的基本要求,必須有兩個(gè)明顯區(qū)別的物理狀態(tài),分別用來表示二進(jìn)制的代碼0和1。另一方面,存儲(chǔ)器的存取速度又取決于這種物理狀態(tài)的改變速度。
按存取方式,存儲(chǔ)器中任何存儲(chǔ)單元的內(nèi)容都能被隨機(jī)存取,且存取時(shí)間和存儲(chǔ)單元的位置無(wú)關(guān)的存儲(chǔ)器稱為隨機(jī)存儲(chǔ)器,存儲(chǔ)器只能按某種順序來存取,即存取時(shí)間和存儲(chǔ)單元的物理位置有關(guān)的存儲(chǔ)器稱為順序存儲(chǔ)器;半導(dǎo)體存儲(chǔ)器是隨機(jī)存儲(chǔ)器,RAM和ROM都是采用隨機(jī)存取的方式進(jìn)行信息訪問,磁帶存儲(chǔ)器是順序存儲(chǔ)器。
按信息易失性,斷電后信息消失的存儲(chǔ)器稱為易失性存儲(chǔ)器,斷電后仍能保存信息的存儲(chǔ)器稱為非易失性存儲(chǔ)器;半導(dǎo)體讀寫存儲(chǔ)器RAM是易失性存儲(chǔ)器,ROM是非易失性存儲(chǔ)器,磁性材料做成的存儲(chǔ)器是非易失性存儲(chǔ)器。
按存儲(chǔ)內(nèi)容可變性,有些半導(dǎo)體存儲(chǔ)器存儲(chǔ)的內(nèi)容是固定不變的,即只能讀出而不能寫入,這種半導(dǎo)體存儲(chǔ)器稱為只讀存儲(chǔ)器(ROM),既能讀出又能寫入的半導(dǎo)體存儲(chǔ)器稱為隨機(jī)讀寫存儲(chǔ)器(RAM);
按系統(tǒng)中的作用,可分為內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器;又可分為主存儲(chǔ)器、高速緩沖存儲(chǔ)器、輔助存儲(chǔ)器、控制存儲(chǔ)器;半導(dǎo)體存儲(chǔ)器是內(nèi)部存儲(chǔ)器,磁盤是外部存儲(chǔ)器,又是輔助存儲(chǔ)器。
【存儲(chǔ)器的層次化結(jié)構(gòu)】
目前在計(jì)算機(jī)系統(tǒng)中,通常采用多級(jí)存儲(chǔ)器體系結(jié)構(gòu),即使用高級(jí)緩沖存儲(chǔ)器(cache)、主存儲(chǔ)器和外存儲(chǔ)器。CPU能直接訪問的存儲(chǔ)器稱為內(nèi)存儲(chǔ)器,它包括cache和主存儲(chǔ)器。CPU不能直接訪問外存儲(chǔ)器,外存儲(chǔ)器的信息必須調(diào)入內(nèi)存儲(chǔ)器后才能為CPU進(jìn)行處理。cache是計(jì)算機(jī)系統(tǒng)中的一個(gè)高速小容量半導(dǎo)體存儲(chǔ)器,在計(jì)算機(jī)中利用cache來高速存取指令和數(shù)據(jù)。cache的工作原理基于程序運(yùn)行中具有的空間局部性和時(shí)間局部性特征。cache能高速地向CPU提供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲(chǔ)器,由高速的SRAM組成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),因而對(duì)程序員是透明的。與主存容量相比。cache的容量很小,它保存的內(nèi)容只是主存內(nèi)容的一個(gè)子集,且cache與主存的數(shù)據(jù)交換是以塊為單位。主存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)的主要存儲(chǔ)器,由MOS半導(dǎo)體存儲(chǔ)器組成,用來存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù),能和cache交換數(shù)據(jù)和指令。外存儲(chǔ)器是大容量輔助存儲(chǔ)器,通常用來存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫(kù)。
存儲(chǔ)器的技術(shù)指標(biāo)有存儲(chǔ)容量、存取時(shí)間、存儲(chǔ)周期、存儲(chǔ)器帶寬。存取時(shí)間、存儲(chǔ)周期、存儲(chǔ)器帶寬三個(gè)概念反映了主存的速度指標(biāo)。
存取時(shí)間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時(shí)間。通常取寫操作時(shí)間等于讀操作時(shí)間,故稱為存儲(chǔ)器存取時(shí)間,存取時(shí)間又稱存儲(chǔ)器訪問時(shí)間。
存儲(chǔ)周期:指連續(xù)兩次讀操作所需間隔的最小時(shí)間。通常,存儲(chǔ)周期略大于存取時(shí)間。
“位(bit)”是電子計(jì)算機(jī)中最小的數(shù)據(jù)單位,每一位的狀態(tài)只能是0或1。8個(gè)二進(jìn)制位構(gòu)成一個(gè)“字節(jié)(Byte)”,字節(jié)是儲(chǔ)存空間的基本計(jì)量單位,一個(gè)字節(jié)可以儲(chǔ)存一個(gè)英文字母,2個(gè)字節(jié)可以儲(chǔ)存一個(gè)漢子!白帧庇扇舾勺止(jié)構(gòu)成,字的位數(shù)叫作字長(zhǎng),不同檔次的機(jī)器有不同的字長(zhǎng)。存儲(chǔ)器的基本單位字節(jié)的長(zhǎng)度是8 bit。表示主存容量的常用單位字節(jié)B,是基本單位。此外還有KB、MB、GB、TB。一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)元,均可以存儲(chǔ)一位二進(jìn)制代碼。這個(gè)二進(jìn)制代碼位是存儲(chǔ)器中最小的存儲(chǔ)單位,稱為存儲(chǔ)位元。
所有的SRAM的特征是用一個(gè)鎖存器(觸發(fā)器)作為存儲(chǔ)元,觸發(fā)器具有兩個(gè)穩(wěn)定的狀態(tài),只要直流供電電源一直加在這個(gè)記憶電路上,它就無(wú)限期地保持記憶的1或0狀態(tài);如果電源斷電,那么存儲(chǔ)的數(shù)據(jù)(1或0)就會(huì)丟失。SRAM是易失性存儲(chǔ)器。半導(dǎo)體靜態(tài)存儲(chǔ)器 SRAM 的存儲(chǔ)原理是依靠雙穩(wěn)態(tài)電路。SRAM存儲(chǔ)器的存儲(chǔ)元是一個(gè)觸發(fā)器,它具有兩個(gè)穩(wěn)定的狀態(tài)。SRAM的優(yōu)點(diǎn)是存取速度快,但存儲(chǔ)容量不如DRAM大。動(dòng)態(tài)MOS隨機(jī)讀寫存儲(chǔ)器DRAM的存儲(chǔ)容量極大,通常用作計(jì)算機(jī)的主存儲(chǔ)器。主存也可以用SRAM實(shí)現(xiàn),只是成本高。與SRAM相比,DRAM成本低、功耗低,但需要刷新。動(dòng)態(tài)RAM存儲(chǔ)信息依靠的是電容。DRAM存儲(chǔ)器的存儲(chǔ)元是由一個(gè)MOS晶體管和電容器組成的記憶電路,其中MOS晶體管作為開關(guān)使用,而所存儲(chǔ)的信息1或0則是由電容器上的電荷量來體現(xiàn)--當(dāng)電容器充滿電荷時(shí),代表儲(chǔ)存了1,當(dāng)電容器放電沒有電荷時(shí),代表存儲(chǔ)了0。讀出過程也是刷新過程。輸入緩沖期與輸出緩沖器總是互鎖的。這是因?yàn)樽x操作和寫操作是互斥的,不會(huì)同時(shí)發(fā)生。與SRAM不同的是:DRAM增加了行地址鎖存器和列地址鎖存器,增加了刷新計(jì)數(shù)器和相應(yīng)的控制電路。DRAM比SRAM集成度更高。DRAM讀出后必須刷新,而未讀寫的存儲(chǔ)元也要定期刷新,而且要按行刷新,所以刷新計(jì)數(shù)器的長(zhǎng)度等于行地址鎖存器。DRAM存儲(chǔ)位元是基于電容器上的電荷量存儲(chǔ),這個(gè)電荷量隨著時(shí)間和溫度而減少,因此必須定期地刷新,以保持它們?cè)瓉碛洃浀男畔。DRAM是易失性存儲(chǔ)器。一次讀操作會(huì)自動(dòng)地刷新選中行中的所有存儲(chǔ)位元。然而通常情況下,人們不能準(zhǔn)確地預(yù)知讀操作出現(xiàn)的頻率,因此無(wú)法阻止數(shù)據(jù)丟失。在這種情況下,必須對(duì)DRAM進(jìn)行定期刷新。DRAM使用電容存儲(chǔ),所以必須隔一段時(shí)間刷新(refresh)一次,如果存儲(chǔ)單元沒有被刷新,存儲(chǔ)的信息就會(huì)丟失。DRAM存儲(chǔ)器有讀周期、寫周期和刷新周期,刷新周期比讀/寫周期有更高的優(yōu)先權(quán)。DRAM存儲(chǔ)器需要逐行進(jìn)行定時(shí)刷新,以使不因存儲(chǔ)信息的電容漏電而造成信息丟失。另外,DRAM芯片的讀出是一種破壞性讀出,因此在讀取之后要立即按讀出信息予以充電再生。動(dòng)態(tài)MOS隨機(jī)讀寫存儲(chǔ)器DRAM的存儲(chǔ)容量極大,通常用作計(jì)算機(jī)的主存儲(chǔ)器。SRAM和DRAM都是隨機(jī)讀寫存儲(chǔ)器,它們的特點(diǎn)是數(shù)據(jù)可讀可寫。ROM叫作只讀存儲(chǔ)器,在它工作時(shí)只能讀出,不能寫入,其中存儲(chǔ)的原始數(shù)據(jù)必須在它工作以前寫入。FLASH叫作閃存存儲(chǔ)器,是高密度非易失性的讀/寫存儲(chǔ)器,高密度意味著它具有巨大比特?cái)?shù)目的存儲(chǔ)容量,非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長(zhǎng)期保存。FLASH存儲(chǔ)元是在EPROM存儲(chǔ)元基礎(chǔ)上發(fā)展起來的。閃存存儲(chǔ)器有三個(gè)主要的基本操作,它們是編程操作、讀取操作和擦除操作?删幊蘎OM有PROM、EPROM、EEPROM。其中,PROM是一次性編程。EPROM叫作光擦除可編程只讀存儲(chǔ)器,它的存儲(chǔ)內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時(shí)將原存儲(chǔ)內(nèi)容抹去,再寫入新的內(nèi)容。EEPROM叫作電擦除可編程只讀存儲(chǔ)器,其儲(chǔ)存元是一個(gè)具有兩個(gè)柵極的NMOS管,這種存儲(chǔ)器在出廠時(shí),存儲(chǔ)器內(nèi)容為全“1”狀態(tài)。使用時(shí),可根據(jù)要求把某些存儲(chǔ)元寫“0”。EPROM是可改寫的,但它不能用作為隨機(jī)存儲(chǔ)器用。
【主存儲(chǔ)器與CPU的連接】
主儲(chǔ)存器和CPU之間增加cache的目的是解決CPU和主存之間的速度匹配問題。程序和數(shù)據(jù)存儲(chǔ)在主存中,主存通常采用多體交叉存儲(chǔ)器,以提高訪問速度。cache是一個(gè)高速緩沖存儲(chǔ)器,用以彌補(bǔ)主存和CPU速度上的差異。指令部件本身又構(gòu)成一個(gè)流水線,它由取指令、指令譯碼、計(jì)算操作數(shù)地址、取操作數(shù)等幾個(gè)過程段組成。指令隊(duì)伍是一個(gè)先進(jìn)先出(FIFO)的寄存器棧,用于存放經(jīng)過譯碼的指令和取來的操作數(shù)。它也是由若干個(gè)過程段組成的流水線。執(zhí)行部件可以具有多個(gè)算數(shù)邏輯運(yùn)算部件,這些部件本身又用流水線方式構(gòu)成。為了使存儲(chǔ)器的存取時(shí)間能與流水線的其他各過程段的速度匹配,一般采用多體交叉存儲(chǔ)器。執(zhí)行段的速度匹配問題,通常采用并行的運(yùn)算部件以及部件流水線的工作方式來解決。一般采用的方法包括:將執(zhí)行部件分為定點(diǎn)執(zhí)行部件和浮點(diǎn)執(zhí)行部件兩個(gè)可并行執(zhí)行的部分,分別處理定點(diǎn)運(yùn)算指令和浮點(diǎn)運(yùn)算指令;在浮點(diǎn)執(zhí)行部件中,又有浮點(diǎn)加法部件和浮點(diǎn)乘/除部件,它們也可以同時(shí)執(zhí)行不同的指令;浮點(diǎn)運(yùn)算部件都以流水線方式工作。所謂資源相關(guān),是指多條指令進(jìn)入流水線后在同一機(jī)器時(shí)鐘周期內(nèi)爭(zhēng)用同一個(gè)功能部件所發(fā)生的沖突。在一個(gè)程序中,如果必須等前一條指令 執(zhí)行完畢后,才能執(zhí)行后一條指令,那么這兩條指令就是數(shù)據(jù)相關(guān)的。為了解決數(shù)據(jù)相關(guān)沖突,流水CPU的運(yùn)算器中特意設(shè)置若干運(yùn)算結(jié)果緩沖寄存器,暫時(shí)保留運(yùn)算結(jié)果,以便于后繼指令直接使用,這稱為“向前”或定向傳送技術(shù)?刂葡嚓P(guān)沖突是由轉(zhuǎn)移指令引起的。當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果,可能為順序取下條指令;也可能轉(zhuǎn)移到新的目標(biāo)地址取指令,從而使流水線發(fā)生斷流。為了減小轉(zhuǎn)移指令對(duì)流水線性能的影響,常采用以下兩種轉(zhuǎn)移處理技術(shù):由編譯程序重排指令序列來實(shí)現(xiàn)的延遲轉(zhuǎn)移法、硬件方法來實(shí)現(xiàn)的轉(zhuǎn)移預(yù)測(cè)法。
【雙口RAM和多模塊存儲(chǔ)器】
雙端口存儲(chǔ)器采用空間并行技術(shù),能進(jìn)行高速讀/寫操作。雙端口存儲(chǔ)器提供了兩個(gè)相互獨(dú)立的讀寫電路,可以對(duì)存儲(chǔ)器中任意位置上的數(shù)據(jù)進(jìn)行獨(dú)立的存取操作。事實(shí)上雙端口存儲(chǔ)器也可以由DRAM構(gòu)成。當(dāng)兩個(gè)端口的地址不相同時(shí),在兩個(gè)端口上進(jìn)行讀寫操作,一定不會(huì)發(fā)生沖突。當(dāng)兩個(gè)端口同時(shí)存取存儲(chǔ)器同一存儲(chǔ)單元時(shí),便發(fā)生沖突。總之,當(dāng)兩個(gè)端口均為開放狀態(tài)且存取地址相同時(shí),發(fā)生讀寫沖突。
一個(gè)由若干模塊組成的主存儲(chǔ)器是線性編址的,這些地址在各模塊中的安排方式有兩種:一種是順序方式,一種是交叉方式。從定性分析,對(duì)連續(xù)字的成塊傳送,交叉方式的存儲(chǔ)器可以實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲(chǔ)器的帶寬,由于CPU的速度比主存快,假如能同時(shí)從主存取出n條指令,這必然會(huì)提高機(jī)器的運(yùn)行速度。多模塊交叉存儲(chǔ)器是一種并行存儲(chǔ)器結(jié)構(gòu)。
【高速緩沖存儲(chǔ)器(cache)】
cache是一種高速緩沖存儲(chǔ)器,是為了解決CPU和主存之間速度不匹配而采用的一項(xiàng)重要技術(shù)。其原理基于程序運(yùn)行中具有的空間局部性和時(shí)間局部性特征。cache能高速地向CPU提供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲(chǔ)器,由高速的SRAM組成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),因而對(duì)程序員是透明的。當(dāng)前隨著半導(dǎo)體器件集成度的進(jìn)一步提高,cache已放入到CPU中,其工作速度接近于CPU的速度,從而能組成兩級(jí)以上的cache系統(tǒng)。cache除包含SRAM外,還要有控制邏輯。若cache在CPU芯片外,它的控制邏輯一般與主存控制邏輯合成在一起,成為主存/cache控制器;若cache在CPU內(nèi),則由CPU提供它的控制邏輯。CPU與cache之間的數(shù)據(jù)交換是以字為單位,而cache與主存之間的數(shù)據(jù)交換是以塊為單位。一個(gè)塊由若干字組成,是定長(zhǎng)的。當(dāng)CPU讀取內(nèi)存中一個(gè)字時(shí),便發(fā)出此字的內(nèi)存地址到cache和主存。此時(shí)cache控制邏輯依據(jù)地址判斷此字是否在cache中:若是,此字立即傳送給CPU;若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時(shí),把含有這個(gè)字的整個(gè)數(shù)據(jù)塊從主存讀出送到cache中。從CPU看,增加一個(gè)cache的目的,就是在性能上使主存的平均讀出時(shí)間盡可能接近c(diǎn)ache的讀出時(shí)間。為了達(dá)到這個(gè)目的,在所有的存儲(chǔ)器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1.由于程序訪問的局部性,實(shí)現(xiàn)這個(gè)目標(biāo)是可能的。運(yùn)算器由算數(shù)邏輯單元(ALU)、通用寄存器、數(shù)據(jù)緩沖寄存器DR和狀態(tài)條件寄存器PSW組成,它是數(shù)據(jù)加工處理部件。運(yùn)算器接受控制器的命令而進(jìn)行動(dòng)作,即運(yùn)算器所進(jìn)行的全部操作都是由控制器發(fā)出的控制信號(hào)來指揮的,所以它是執(zhí)行部件。運(yùn)算器有兩個(gè)主要功能:
(1)執(zhí)行所有的算數(shù)運(yùn)算;
(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較。
通常,一個(gè)算數(shù)操作產(chǎn)生一個(gè)運(yùn)算結(jié)果,而一個(gè)邏輯操作則產(chǎn)生一個(gè)判決。
與主存容量相比,cache的容量很小,它保存的內(nèi)容只是主存內(nèi)容的一個(gè)子集,且cache與主存的數(shù)據(jù)交換是以塊為單位。為了把主存塊放到cache中,必須應(yīng)用某種方法把主存地址定為到cache中,稱做地址映射!坝成洹钡奈锢砗x是確定位置的對(duì)應(yīng)關(guān)系,并用硬件來實(shí)現(xiàn)。這樣當(dāng)CPU訪問存儲(chǔ)器時(shí),它所給出的一個(gè)字的內(nèi)存地址會(huì)自動(dòng)變換成cache的地址。由于采用硬件,這個(gè)地址變換過程很快,軟件人員絲毫感覺不到cache的存在,這種特性成為cache的透明性。地址映射方式有全相聯(lián)方式、直接方式和組相聯(lián)方式三種。在全相聯(lián)映射中,將主存中一個(gè)塊的地址(塊號(hào))與塊的內(nèi)容(字)一起存于cache的行中,其中塊地址存于cache行的標(biāo)記部分中。這種帶全部塊地址一起保存的方法,可使主存的一個(gè)塊直接拷貝到cache中的任意一行上。全相聯(lián)映射方式的檢索過程:CPU訪存指令指定了一個(gè)內(nèi)存地址(包括主存和cache),為了快速檢,指令中的塊號(hào)與cache中所有行的標(biāo)記同時(shí)在比較器中進(jìn)行比較。如果塊號(hào)命中,則按字地址從cache中讀取一個(gè)字;如果塊號(hào)未命中,則按內(nèi)存地址從主存中讀取這個(gè)字。在全相聯(lián)cache中,全部標(biāo)記用一個(gè)相聯(lián)存儲(chǔ)器來實(shí)現(xiàn),全部數(shù)據(jù)用一個(gè)普通RAM來實(shí)現(xiàn)。全相聯(lián)方式的主要缺點(diǎn)是比較器電路難于設(shè)計(jì)和實(shí)現(xiàn),因此只適合于小容量cache采用。直接映射方式也是一種多對(duì)一的映射關(guān)系,但一個(gè)主存塊只能拷貝到cache的一個(gè)特定行位置上去。直接映射方式的優(yōu)點(diǎn)是硬件簡(jiǎn)單,成本低。缺點(diǎn)是每個(gè)主存塊只有一個(gè)固定的行位置可存放,如果塊號(hào)相距m整數(shù)倍的兩個(gè)塊存于同一cache行時(shí),就要發(fā)生沖突。發(fā)生沖突時(shí)就要將原先存入的行換出去,但很可能過一段時(shí)間又要換入。頻繁的置換會(huì)使cache的效率下降。因此直接映射方式適合于需要大容量cache的場(chǎng)合,更多的行數(shù)可以減小沖突的機(jī)會(huì)。采用直接映射時(shí),cache無(wú)需考慮替換問題。從存放位置的靈活性和命中率來看,全相聯(lián)映射方式為優(yōu);從比較器電路簡(jiǎn)單及硬件投資來說,直接映射方式為佳。組相聯(lián)映射方式將cache分成u組,每組v行,主存塊存放到哪個(gè)組是固定的,至于存到該組哪一行是靈活的。組相聯(lián)映射方式的比較器電路容易設(shè)計(jì)和實(shí)現(xiàn),而塊在組中的排放又有一定的靈活性,使沖突減少。全相聯(lián)映射方式和組相聯(lián)映射方式速度較低,通常適合于小容量cache。
cache工作原理要求它盡量保存最新數(shù)據(jù)。當(dāng)一個(gè)新的主存塊需要拷貝到cache,而允許存放此塊的行位置都被其他主存塊占滿時(shí),就要產(chǎn)生替換。對(duì)直接映射方式來說,因一個(gè)主存塊只有一個(gè)特定的行位置可存放,所以只要把此特定位置上的原主存塊換出cache即可。對(duì)全相聯(lián)和組相聯(lián)cache來說,就要允許存放新主存塊的若干特定行中選取一行換出。cache的替換全部靠硬件實(shí)現(xiàn)。
如何選取就涉及替換策略,又稱替換算法,硬件實(shí)現(xiàn)的常用算法主要有以下三種:
1)近期最少使用(LRU)算法:將近期內(nèi)長(zhǎng)久未被訪問的行換出;
2)最不經(jīng)常使用(LFU)算法:將一段時(shí)間內(nèi)被訪問次數(shù)最少的那行數(shù)據(jù)換出;
3)隨機(jī)替換:實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選出一行換出即可。
在Cache替換算法中,近期最少使用法比較正確地利用了程序訪存局部性原理,替換出近期用得最少的存儲(chǔ)塊,命中率較高,是一種比較好的替換算法;隨機(jī)法是隨機(jī)地確定替換的存儲(chǔ)單元,先進(jìn)先出法是替換最早調(diào)入的存儲(chǔ)單元,它們都沒有根據(jù)程序訪存局部性原理,命中率較低;而后進(jìn)先出法不是cache所使用的替換算法,此法在堆棧存儲(chǔ)結(jié)構(gòu)中使用。
【虛擬存儲(chǔ)器】
常用的虛擬存儲(chǔ)系統(tǒng)由主存-輔存兩級(jí)存儲(chǔ)器組成,其中輔存是大容量的磁表面存儲(chǔ)器。在虛擬存儲(chǔ)器中,主存的內(nèi)容只是輔存的一部分內(nèi)容。虛擬存儲(chǔ)系統(tǒng)是為了提高存儲(chǔ)系統(tǒng)的性能價(jià)格比而構(gòu)造的分層存儲(chǔ)體系,力圖使存儲(chǔ)系統(tǒng)的性能接近高速存儲(chǔ)器,而價(jià)格和容量接近低速存儲(chǔ)器。虛擬存儲(chǔ)利用了程序運(yùn)行時(shí)的局部性原理把最近常用的信息塊從相對(duì)慢速而大容量的存儲(chǔ)器調(diào)入相對(duì)高速而小容量的存儲(chǔ)器。虛擬存儲(chǔ)主要是解決存儲(chǔ)容量問題,另外還包括存儲(chǔ)管理、主存分配和存儲(chǔ)保護(hù)等方面。虛存所依賴的輔存與CPU之間不存在直接的數(shù)據(jù)通路,當(dāng)主存不命中時(shí)只能通過調(diào)頁(yè)解決,CPU最終還是要訪問主存。虛存管理由軟件(操作系統(tǒng))和硬件共同完成,由于軟件的介入,虛存對(duì)實(shí)現(xiàn)存儲(chǔ)管理的系統(tǒng)程序員不透明,而只對(duì)應(yīng)用程序員透明(段式和段頁(yè)式管理對(duì)應(yīng)用程序員“半透明”)。主存未命中時(shí)系統(tǒng)的性能損失要遠(yuǎn)大于cache未命中時(shí)的損失。
【虛擬內(nèi)存管理】
虛存機(jī)制也要解決一些關(guān)鍵問題:
(1)調(diào)度問題:決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)入主存;
(2)地址映射問題:在訪問主存時(shí)把虛地址變?yōu)橹鞔嫖锢淼刂,在訪問輔存時(shí)把虛地址變?yōu)檩o存的物理地址,以便換頁(yè);
(3)替換問題:解決哪些程序和數(shù)據(jù)應(yīng)被調(diào)出主存;虛擬存儲(chǔ)器的替換算法與cache的替換算法類似,有FIFO算法、LRU算法、LFU算法,虛擬存儲(chǔ)器的替換有操作系統(tǒng)的支持.
(4)更新問題:確保主存和輔存的一致性。虛擬存儲(chǔ)器分為頁(yè)式、段式、段頁(yè)式三種。
頁(yè)式虛擬存儲(chǔ)系統(tǒng)中,虛地址空間被分成等長(zhǎng)大小的頁(yè),稱為邏輯頁(yè);主存空間也被分成同樣大小的頁(yè),稱為物理頁(yè)。相應(yīng)地,虛地址分為兩個(gè)字段:高字段為邏輯頁(yè)號(hào),低字段為頁(yè)內(nèi)地址(偏移量);實(shí)存地址也分為兩個(gè)字段:高字段為物理頁(yè)號(hào),低字段為頁(yè)內(nèi)地址。通過頁(yè)表可以把虛地址(邏輯地址)轉(zhuǎn)換成物理地址。在大多數(shù)系統(tǒng)中,每個(gè)進(jìn)程對(duì)應(yīng)一個(gè)頁(yè)表,F(xiàn)代的中央處理機(jī)通常有專門的硬件支持地址變換。每個(gè)進(jìn)程所需的頁(yè)數(shù)并不固定,所以頁(yè)表的長(zhǎng)度是可變的,因此通常的實(shí)現(xiàn)方法是把頁(yè)表的基地址保存在寄存器中,而頁(yè)表本身則放在主存中。由于虛地址空間可以很大,因而每個(gè)進(jìn)程的頁(yè)表有可能非常長(zhǎng)。由于頁(yè)表通常在主存中,因而即使邏輯頁(yè)已經(jīng)在主存中,也要至少訪問兩次物理存儲(chǔ)器才能實(shí)現(xiàn)一次訪存,這將使虛擬存儲(chǔ)器的存取時(shí)間加倍。為了避免對(duì)主存訪問次數(shù)的增多,可以對(duì)頁(yè)表本身實(shí)行二級(jí)緩存,把頁(yè)表中的最活躍部分存放在高速存儲(chǔ)器中。這個(gè)專用于頁(yè)表緩存的高速存儲(chǔ)部件通常稱為轉(zhuǎn)換后援緩沖器(TLB),又稱快表。而保存在主存中的完整頁(yè)表則稱為慢表?毂淼淖饔檬羌涌斓刂忿D(zhuǎn)換。TLB的作用和與主存與CPU之間的cache作用相似,通常由相聯(lián)存儲(chǔ)器實(shí)現(xiàn),容量比慢表小得多,存儲(chǔ)慢表中部分信息的副本,可以完成硬件高速檢索操作。地址轉(zhuǎn)換時(shí),根據(jù)邏輯頁(yè)號(hào)同時(shí)查快表和慢表,當(dāng)在快表中有此邏輯號(hào)時(shí),就能很快地找到對(duì)應(yīng)的物理頁(yè)號(hào)。根據(jù)程序的局部性原理,多數(shù)虛擬存儲(chǔ)器訪問都將通過TLB進(jìn)行,從而有效降低訪存的時(shí)間延遲。由于TLB的緩沖過程與cache的緩沖過程是獨(dú)立的,所以在每次存儲(chǔ)器訪問過程中有可能要經(jīng)歷多次變換。
計(jì)算機(jī)硬件組成
一、電源
電源是電腦最重要的部件,相當(dāng)于人體的心臟,向所有的零部件輸送血液,是電腦各部分的正常工作的基本保證。沒有了“電”,所有其它的硬件都無(wú)法發(fā)揮出一絲作用。許多故障往往就是由電源引起的,所以,給電腦配備一臺(tái)有足夠功率、精工細(xì)作、高品質(zhì)的電源是微機(jī)正常運(yùn)行的前提。
二、CPU
CPU是電腦硬件系統(tǒng)的核心,是Central Processing Unit的縮寫,譯為中央處理器。是采用具有運(yùn)算器和控制器功能的大規(guī)模集成電路工藝制成的芯片的微處理器。微處理器在微機(jī)中起著最重要的作用,是微機(jī)的“大腦”、“司令部”,神經(jīng)中樞,構(gòu)成了整個(gè)系統(tǒng)的控制中心,對(duì)各部件進(jìn)行統(tǒng)一協(xié)調(diào)和控制。CPU安裝在主板上,但上面壓有很大的散熱器和專用風(fēng)扇,所以平時(shí)是看不到的。
三、主板
主板是電腦中最重要的部件之一,是整個(gè)電腦工作的基礎(chǔ),也可以說是微機(jī)的主體。也許可以作這樣的比喻:主板是猶如人的缺損的軀體,必須把“心臟”電源接上,它才能血液流通,把“腦”CPU裝進(jìn)顱殼,它才能思維和指揮,主機(jī)箱所有的重要硬件如同人的各部分器官,都要直接插上主板或同主板連接,才能發(fā)揮作用。直接插在主板上的硬件有:CPU、內(nèi)存條、顯卡、聲卡、網(wǎng)卡等等。直接同主板連接的硬件有:機(jī)箱電源、硬盤、光驅(qū)、軟驅(qū)和外設(shè)件鍵盤、鼠標(biāo)等等。顯示器是通過顯卡與主板相連的。由于提高微機(jī)的集成化,設(shè)計(jì)人員可以把顯卡、聲卡、網(wǎng)卡等融入主板,如果采用集成顯卡,顯示器直接同主板連接。
四、內(nèi)存
內(nèi)存是主板上的存儲(chǔ)部件。在電腦里,CPU直接與內(nèi)存溝通,用來存儲(chǔ)數(shù)據(jù),存放當(dāng)前正在使用的(即執(zhí)行中)的數(shù)據(jù)和程序。它的物理實(shí)質(zhì)就是一組或多組具備數(shù)據(jù)輸入輸出和數(shù)據(jù)存儲(chǔ)功能的集成電路。內(nèi)存只用于暫時(shí)存放程序和數(shù)據(jù),一旦關(guān)閉電源或發(fā)生斷電,其中的程序和數(shù)據(jù)就會(huì)丟失。應(yīng)當(dāng)指出,外存通常是指磁性介質(zhì)或光盤,像硬盤,軟盤,磁帶,CD等硬件,它們能長(zhǎng)期保存信息,并且不依賴于電來保存信息。
五、硬盤
硬盤是電腦最重要的外存儲(chǔ)器,與其他記錄介質(zhì)相比,它的速度快、容量大,成為計(jì)算機(jī)中最重要的存儲(chǔ)設(shè)備。分機(jī)械硬盤和固態(tài)硬盤(SSD)。
六、顯卡
顯卡全稱是顯示器適配卡,現(xiàn)在的顯卡都是3D圖形加速卡,它是連接主機(jī)與顯示器的接口卡。
顯卡的作用是將主機(jī)的輸出信息轉(zhuǎn)換成字符、圖形和顏色等信息,傳送到顯示器上顯示。
七、聲卡
聲卡是多媒體電腦的主要部件之一,它包含記錄和播放聲音所需的硬件。
八、網(wǎng)卡
網(wǎng)絡(luò)接口卡,又稱網(wǎng)絡(luò)適配器,簡(jiǎn)稱網(wǎng)卡。網(wǎng)卡用于實(shí)現(xiàn)聯(lián)網(wǎng)計(jì)算機(jī)和網(wǎng)絡(luò)電纜之間的物理連接,為計(jì)算機(jī)之間相互通信提供一條物理通道,并通過這條通道進(jìn)行高速數(shù)據(jù)傳輸。分為有線和無(wú)線兩種。
九、軟驅(qū)和軟盤
軟盤驅(qū)動(dòng)器是電腦早期一個(gè)不可缺少的部件,在必要的時(shí)候,它可以為我們啟動(dòng)計(jì)算機(jī),還能用它來傳遞和備份一些比較小的文件。由于軟盤容量小,容易出錯(cuò),可靠性差,所以現(xiàn)在基本已經(jīng)淘汰。
十、光驅(qū)和光盤
光盤驅(qū)動(dòng)器,是一個(gè)結(jié)合光學(xué)、機(jī)械及電子技術(shù)的產(chǎn)品。不同類型的光驅(qū)有不同的作用,從本質(zhì)上來說,所有的光驅(qū)都有讀取外部數(shù)據(jù)(光盤)的功能,只不過讀取的格式和附加的功能不一樣而已。目前,光驅(qū)可分為CD-ROM驅(qū)動(dòng)器、DVD光驅(qū)(DVD-ROM)、康寶(COMBO)和刻錄機(jī)等。
十一、機(jī)箱
機(jī)箱作為電腦配件中的一部分,它起的主要作用是放置和固定各電腦配件,起到一個(gè)承托和保護(hù)作用。此外,電腦機(jī)箱具有屏蔽電磁輻射的重要作用。
十二、鍵盤
鍵盤是最常用也是最主要的輸入設(shè)備,通過鍵盤,可以將英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)等輸入到計(jì)算機(jī)中,從而向計(jì)算機(jī)發(fā)出命令、輸入數(shù)據(jù)等。
十三、鼠標(biāo)
鼠標(biāo)的標(biāo)準(zhǔn)稱呼應(yīng)該是“鼠標(biāo)器”,英文名“Mouse”,鼠標(biāo)的使用是為了使計(jì)算機(jī)的操作更加簡(jiǎn)便,來代替鍵盤繁瑣的指令。鼠標(biāo)按其工作原理的不同可以分為機(jī)械鼠標(biāo)和光電鼠標(biāo)。
十四、顯示器
顯示器(display)通常也被稱為監(jiān)視器。顯示器是屬于電腦的I/O設(shè)備,即輸入輸出設(shè)備。它是一種將一定的電子文件通過特定的傳輸設(shè)備顯示到屏幕上再反射到人眼的顯示工具。
將上面所有的硬件設(shè)備通過各種連接線連接到一起,一臺(tái)電腦就呈現(xiàn)在你面前了。當(dāng)然了有些設(shè)備并不是電腦組成的必須品,例如光驅(qū)、軟驅(qū)等可以不安裝;還有一些設(shè)備可以選主板集成的,例如:顯卡、聲卡、網(wǎng)卡等。另外還有一些設(shè)備幾乎都用的到,例如音響、麥克風(fēng)、攝像頭等,可以根據(jù)自己實(shí)際需要有所增減。
【計(jì)算機(jī)組成原理是什么】相關(guān)文章:
計(jì)算機(jī)的組成原理09-28
計(jì)算機(jī)組成原理考研考試前的臨門一腳08-15
計(jì)算機(jī)考研專業(yè)課考試知識(shí)點(diǎn)分析:組成原理08-15
3D打印原理是什么09-14
冬病夏治的原理是什么09-04
計(jì)算機(jī)組成典型試題及答案06-09
計(jì)算機(jī)軟硬件系統(tǒng)的組成09-23