Ⅰ 雙埠存儲器是一種( ). 選項: a,並行存儲器 b, 串列存儲器 c, 相聯存儲器 d多模塊交叉存儲器
a
雙埠存儲器、多模塊交叉存儲器、相聯存儲器這三個都是解決cpu和主存速度不匹配的方法,它們都是並行存儲器。
Ⅱ 什麼是指計算機一次能並行存取
隨著計算機應用領域的不斷擴大,處理的信息量越來越多,並且現代計算機的I/O設備也在不斷增加,因此,提高訪存的速度已經成為了迫不及待的任務。於是就出現了並行存儲器。
在介紹並行存儲器之前,先來介紹一個概念:
**存儲器的帶寬:表示單位時間內存儲器存取的信息量,可用字/秒或者位/秒錶示。是衡量數據傳輸率的重要技術指標。**存儲器的帶寬是決定了以存儲器為中心的機器獲得信息的速度。可以通過下面的幾種方式提高:
1.縮短存取周期
2.增加存儲字長
3.增加存儲體
雙口RAM
為了提高CPU訪問存儲體的速度,可以採用雙埠的存儲器,多模塊存儲器等技術,它們同屬於並行技術。前者為空間並行,後者為時間並行。
多模塊存儲器
我們還可以從時間上並行並行存取。我們知道CUP的速度要比存儲器要快,如果我們同時從存儲器中取出幾條指令,那麼我們就可以充分利用CPU資源,提高運行效率。
多體並行存儲器
由多體模塊構成,每個模塊都有相同的容量和存取速度,有獨立的讀寫控制電路,地址寄存器和數據寄存器。
多體並行存儲器分為高位交叉編址和低位交叉編址兩種。
高位交叉編址
當程序按體內地址順序存放,即一個體存滿之後,再存入下一個體時,這種方式稱為順序存儲,
低位交叉編址
對應於高位交叉編址,低位交叉編址指的是將程序連續存放在相鄰體中,又稱交叉存儲。
訪存沖突
但是低位交叉存儲可能導致訪存沖突,當訪存地址在相鄰的四次訪存中,出現在同一存儲塊內,就會發生訪存沖突。
兩種並行存儲器的訪問時間
設存儲器的模塊數為n,存取周期為T,匯流排傳輸周期為i,當採用流水線方式存取的時候,:
若採用高位交叉編址,那麼連續讀取n個位元組所需的時間t1為: t1 = nT
若採用低位交叉編址,那麼連續讀取n個位元組所需的時間t2為:t2 = T +(n - 1 )i
存儲器的交叉模塊數 m >= T/i
Ⅲ 什麼是單,雙埠存儲器
顯示存儲器按讀取數據的方式可分為單埠存儲器和雙埠存儲器。單埠存儲器就是:顯示存儲器從顯示晶元接受數據和向數/模轉換電路傳輸數據都使用同一個埠,它在同一時刻只能執行一項操作,例如當顯示晶元完成對顯存的寫操作後,數/模轉換電路才能從顯存中得到數據,這樣一來數據的寫和傳輸就無法同時進行,限定了顯存的帶寬。在高解析度和色深的環境下,就會影響加速卡的速度。雙埠存儲器就是在顯存中增加了一個埠,它可以在從顯示晶元中得到數據的同時向數/模轉換電路輸送數據,提高了顯示帶寬。這種形式的顯示存儲器價格高,多用在圖形處理工作站上。
Ⅳ 主存儲器常採用並行存儲器的目的
主存儲器常採用並行存儲器的目的是通過並行主存儲器和設置Cache來提高速度。
雙埠存儲器和多體交叉存儲器屬於並行存儲器。
目前通常採用多級存儲器體系結構,有高速緩沖存儲器、主存儲器、外存儲器。
Ⅳ 計算機組成原理是什麼
計算機組成原理是什麼
計算機組成指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。計算機由什麼組成的,有什麼原理呢?下面我為大家分析一下!
【計算機性能指標】
計算機的性能指標主要是CPU性能指標、存儲器性能指標和I/O吞吐率。
處理機字長:是指處理機運算器中一次能夠完成二進制運算的位數。
匯流排寬度:一般指CPU中運算器與存儲器之間進行互連的內部匯流排二進制位數。
存儲器帶寬:單位時間內從存儲器讀出事物二進制數信息量,一般用位元組數/秒錶示。
主頻/時鍾周期:CPU的工作節拍受主時鍾控制,主時鍾不斷產生固定頻率的時鍾,主時鍾的頻率(f)叫CPU的主頻。主頻的倒數稱為CPU的周期(T)。
CPI:表示每條指令周期數,即執行一般程序所佔用的CPU時間,
CPU執行時間=CPU時鍾周期數*CPU時鍾周期
MIPS:表示平均每秒執行多少百萬條定點指令數,
FLOPS:表示每秒執行浮點操作的次數,用來衡量機器浮點操作的性能。
FLOPS=程序中的浮點操作次數/程序執行時間(s)
【定點數的表示和運算】
一個定點數由符號位和數值域兩部分組成。按小數點位置不同,定點數有純小數和純整數兩種表示方法。在定點計算機中,兩個原碼表示的數相乘的運算規則是:乘積的符號位由兩數的符號位按異或運算得到,而乘積的數值部分則是兩個正數相乘之積。兩個原碼表示的數相除時,商的符號位由兩數的符號按位相加求得,商的數值部分由兩數的數值部分相除求得。
【算數邏輯單元ALU】
為運算器構造的簡單性,運算方法中算數運算通常採用補碼加、減法,原碼乘除法或補碼乘除法。為了運算器的高速性和控制的簡單性,採用了先行進位、陣列乘除法、流水線等並行技術措施。ALU不僅具有多種算術運算和邏輯運算的功能,而且具有先行進位邏輯,從而能實現高速運算。
【存儲器的分類】
按存儲介質,用半導體器件組成的存儲器稱為半導體存儲器,用磁性材料做成的存儲器稱為磁表面存儲器;作為存儲介質的基本要求,必須有兩個明顯區別的物理狀態,分別用來表示二進制的代碼0和1。另一方面,存儲器的存取速度又取決於這種物理狀態的改變速度。
按存取方式,存儲器中任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的位置無關的存儲器稱為隨機存儲器,存儲器只能按某種順序來存取,即存取時間和存儲單元的物理位置有關的存儲器稱為順序存儲器;半導體存儲器是隨機存儲器,RAM和ROM都是採用隨機存取的方式進行信息訪問,磁帶存儲器是順序存儲器。
按信息易失性,斷電後信息消失的存儲器稱為易失性存儲器,斷電後仍能保存信息的存儲器稱為非易失性存儲器;半導體讀寫存儲器RAM是易失性存儲器,ROM是非易失性存儲器,磁性材料做成的存儲器是非易失性存儲器。
按存儲內容可變性,有些半導體存儲器存儲的內容是固定不變的,即只能讀出而不能寫入,這種半導體存儲器稱為只讀存儲器(ROM),既能讀出又能寫入的半導體存儲器稱為隨機讀寫存儲器(RAM);
按系統中的作用,可分為內部存儲器、外部存儲器;又可分為主存儲器、高速緩沖存儲器、輔助存儲器、控制存儲器;半導體存儲器是內部存儲器,磁碟是外部存儲器,又是輔助存儲器。
【存儲器的層次化結構】
目前在計算機系統中,通常採用多級存儲器體系結構,即使用高級緩沖存儲器(cache)、主存儲器和外存儲器。CPU能直接訪問的存儲器稱為內存儲器,它包括cache和主存儲器。CPU不能直接訪問外存儲器,外存儲器的信息必須調入內存儲器後才能為CPU進行處理。cache是計算機系統中的一個高速小容量半導體存儲器,在計算機中利用cache來高速存取指令和數據。cache的工作原理基於程序運行中具有的空間局部性和時間局部性特徵。cache能高速地向CPU提供指令和數據,從而加快了程序的執行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬體實現,因而對程序員是透明的。與主存容量相比。cache的容量很小,它保存的內容只是主存內容的一個子集,且cache與主存的數據交換是以塊為單位。主存儲器是計算機系統的主要存儲器,由MOS半導體存儲器組成,用來存放計算機運行期間的大量程序和數據,能和cache交換數據和指令。外存儲器是大容量輔助存儲器,通常用來存放系統程序和大型數據文件及資料庫。
存儲器的技術指標有存儲容量、存取時間、存儲周期、存儲器帶寬。存取時間、存儲周期、存儲器帶寬三個概念反映了主存的速度指標。
存取時間:指一次讀操作命令發出到該操作完成,將數據讀出到數據匯流排上所經歷的時間。通常取寫操作時間等於讀操作時間,故稱為存儲器存取時間,存取時間又稱存儲器訪問時間。
存儲周期:指連續兩次讀操作所需間隔的最小時間。通常,存儲周期略大於存取時間。
“位(bit)”是電子計算機中最小的數據單位,每一位的狀態只能是0或1。8個二進制位構成一個“位元組(Byte)”,位元組是儲存空間的基本計量單位,一個位元組可以儲存一個英文字母,2個位元組可以儲存一個漢子。“字”由若干位元組構成,字的位數叫作字長,不同檔次的機器有不同的字長。存儲器的基本單位位元組的長度是8 bit。表示主存容量的常用單位位元組B,是基本單位。此外還有KB、MB、GB、TB。一個雙穩態半導體電路或一個CMOS晶體管或磁性材料的存儲元,均可以存儲一位二進制代碼。這個二進制代碼位是存儲器中最小的存儲單位,稱為存儲位元。
所有的SRAM的特徵是用一個鎖存器(觸發器)作為存儲元,觸發器具有兩個穩定的狀態,只要直流供電電源一直加在這個記憶電路上,它就無限期地保持記憶的1或0狀態;如果電源斷電,那麼存儲的數據(1或0)就會丟失。SRAM是易失性存儲器。半導體靜態存儲器 SRAM 的存儲原理是依靠雙穩態電路。SRAM存儲器的存儲元是一個觸發器,它具有兩個穩定的狀態。SRAM的優點是存取速度快,但存儲容量不如DRAM大。動態MOS隨機讀寫存儲器DRAM的存儲容量極大,通常用作計算機的主存儲器。主存也可以用SRAM實現,只是成本高。與SRAM相比,DRAM成本低、功耗低,但需要刷新。動態RAM存儲信息依靠的是電容。DRAM存儲器的存儲元是由一個MOS晶體管和電容器組成的記憶電路,其中MOS晶體管作為開關使用,而所存儲的信息1或0則是由電容器上的電荷量來體現--當電容器充滿電荷時,代表儲存了1,當電容器放電沒有電荷時,代表存儲了0。讀出過程也是刷新過程。輸入緩沖期與輸出緩沖器總是互鎖的。這是因為讀操作和寫操作是互斥的,不會同時發生。與SRAM不同的是:DRAM增加了行地址鎖存器和列地址鎖存器,增加了刷新計數器和相應的控制電路。DRAM比SRAM集成度更高。DRAM讀出後必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數器的長度等於行地址鎖存器。DRAM存儲位元是基於電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的信息。DRAM是易失性存儲器。一次讀操作會自動地刷新選中行中的所有存儲位元。然而通常情況下,人們不能准確地預知讀操作出現的頻率,因此無法阻止數據丟失。在這種情況下,必須對DRAM進行定期刷新。DRAM使用電容存儲,所以必須隔一段時間刷新(refresh)一次,如果存儲單元沒有被刷新,存儲的信息就會丟失。DRAM存儲器有讀周期、寫周期和刷新周期,刷新周期比讀/寫周期有更高的優先權。DRAM存儲器需要逐行進行定時刷新,以使不因存儲信息的電容漏電而造成信息丟失。另外,DRAM晶元的讀出是一種破壞性讀出,因此在讀取之後要立即按讀出信息予以充電再生。動態MOS隨機讀寫存儲器DRAM的存儲容量極大,通常用作計算機的主存儲器。SRAM和DRAM都是隨機讀寫存儲器,它們的特點是數據可讀可寫。ROM叫作只讀存儲器,在它工作時只能讀出,不能寫入,其中存儲的原始數據必須在它工作以前寫入。FLASH叫作快閃記憶體存儲器,是高密度非易失性的讀/寫存儲器,高密度意味著它具有巨大比特數目的存儲容量,非易失性意味著存放的數據在沒有電源的情況下可以長期保存。FLASH存儲元是在EPROM存儲元基礎上發展起來的。快閃記憶體存儲器有三個主要的基本操作,它們是編程操作、讀取操作和擦除操作。可編程ROM有PROM、EPROM、EEPROM。其中,PROM是一次性編程。EPROM叫作光擦除可編程只讀存儲器,它的存儲內容可以根據需要寫入,當需要更新時將原存儲內容抹去,再寫入新的內容。EEPROM叫作電擦除可編程只讀存儲器,其儲存元是一個具有兩個柵極的NMOS管,這種存儲器在出廠時,存儲器內容為全“1”狀態。使用時,可根據要求把某些存儲元寫“0”。EPROM是可改寫的,但它不能用作為隨機存儲器用。
【主存儲器與CPU的連接】
主儲存器和CPU之間增加cache的目的是解決CPU和主存之間的`速度匹配問題。程序和數據存儲在主存中,主存通常採用多體交叉存儲器,以提高訪問速度。cache是一個高速緩沖存儲器,用以彌補主存和CPU速度上的差異。指令部件本身又構成一個流水線,它由取指令、指令解碼、計算操作數地址、取操作數等幾個過程段組成。指令隊伍是一個先進先出(FIFO)的寄存器棧,用於存放經過解碼的指令和取來的操作數。它也是由若干個過程段組成的流水線。執行部件可以具有多個算數邏輯運算部件,這些部件本身又用流水線方式構成。為了使存儲器的存取時間能與流水線的其他各過程段的速度匹配,一般採用多體交叉存儲器。執行段的速度匹配問題,通常採用並行的運算部件以及部件流水線的工作方式來解決。一般採用的方法包括:將執行部件分為定點執行部件和浮點執行部件兩個可並行執行的部分,分別處理定點運算指令和浮點運算指令;在浮點執行部件中,又有浮點加法部件和浮點乘/除部件,它們也可以同時執行不同的指令;浮點運算部件都以流水線方式工作。所謂資源相關,是指多條指令進入流水線後在同一機器時鍾周期內爭用同一個功能部件所發生的沖突。在一個程序中,如果必須等前一條指令 執行完畢後,才能執行後一條指令,那麼這兩條指令就是數據相關的。為了解決數據相關沖突,流水CPU的運算器中特意設置若干運算結果緩沖寄存器,暫時保留運算結果,以便於後繼指令直接使用,這稱為“向前”或定向傳送技術。控制相關沖突是由轉移指令引起的。當執行轉移指令時,依據轉移條件的產生結果,可能為順序取下條指令;也可能轉移到新的目標地址取指令,從而使流水線發生斷流。為了減小轉移指令對流水線性能的影響,常採用以下兩種轉移處理技術:由編譯程序重排指令序列來實現的延遲轉移法、硬體方法來實現的轉移預測法。
【雙口RAM和多模塊存儲器】
雙埠存儲器採用空間並行技術,能進行高速讀/寫操作。雙埠存儲器提供了兩個相互獨立的讀寫電路,可以對存儲器中任意位置上的數據進行獨立的存取操作。事實上雙埠存儲器也可以由DRAM構成。當兩個埠的地址不相同時,在兩個埠上進行讀寫操作,一定不會發生沖突。當兩個埠同時存取存儲器同一存儲單元時,便發生沖突。總之,當兩個埠均為開放狀態且存取地址相同時,發生讀寫沖突。
一個由若干模塊組成的主存儲器是線性編址的,這些地址在各模塊中的安排方式有兩種:一種是順序方式,一種是交叉方式。從定性分析,對連續字的成塊傳送,交叉方式的存儲器可以實現多模塊流水式並行存取,大大提高存儲器的帶寬,由於CPU的速度比主存快,假如能同時從主存取出n條指令,這必然會提高機器的運行速度。多模塊交叉存儲器是一種並行存儲器結構。
【高速緩沖存儲器(cache)】
cache是一種高速緩沖存儲器,是為了解決CPU和主存之間速度不匹配而採用的一項重要技術。其原理基於程序運行中具有的空間局部性和時間局部性特徵。cache能高速地向CPU提供指令和數據,從而加快了程序的執行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬體實現,因而對程序員是透明的。當前隨著半導體器件集成度的進一步提高,cache已放入到CPU中,其工作速度接近於CPU的速度,從而能組成兩級以上的cache系統。cache除包含SRAM外,還要有控制邏輯。若cache在CPU晶元外,它的控制邏輯一般與主存控制邏輯合成在一起,成為主存/cache控制器;若cache在CPU內,則由CPU提供它的控制邏輯。CPU與cache之間的數據交換是以字為單位,而cache與主存之間的數據交換是以塊為單位。一個塊由若干字組成,是定長的。當CPU讀取內存中一個字時,便發出此字的內存地址到cache和主存。此時cache控制邏輯依據地址判斷此字是否在cache中:若是,此字立即傳送給CPU;若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數據塊從主存讀出送到cache中。從CPU看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應占很高的比例,即cache的命中率應接近於1.由於程序訪問的局部性,實現這個目標是可能的。運算器由算數邏輯單元(ALU)、通用寄存器、數據緩沖寄存器DR和狀態條件寄存器PSW組成,它是數據加工處理部件。運算器接受控制器的命令而進行動作,即運算器所進行的全部操作都是由控制器發出的控制信號來指揮的,所以它是執行部件。運算器有兩個主要功能:(1)執行所有的算數運算;(2)執行所有的邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。通常,一個算數操作產生一個運算結果,而一個邏輯操作則產生一個判決。
與主存容量相比,cache的容量很小,它保存的內容只是主存內容的一個子集,且cache與主存的數據交換是以塊為單位。為了把主存塊放到cache中,必須應用某種方法把主存地址定為到cache中,稱做地址映射。“映射”的物理含義是確定位置的對應關系,並用硬體來實現。這樣當CPU訪問存儲器時,它所給出的一個字的內存地址會自動變換成cache的地址。由於採用硬體,這個地址變換過程很快,軟體人員絲毫感覺不到cache的存在,這種特性成為cache的透明性。地址映射方式有全相聯方式、直接方式和組相聯方式三種。在全相聯映射中,將主存中一個塊的地址(塊號)與塊的內容(字)一起存於cache的行中,其中塊地址存於cache行的標記部分中。這種帶全部塊地址一起保存的方法,可使主存的一個塊直接拷貝到cache中的任意一行上。全相聯映射方式的檢索過程:CPU訪存指令指定了一個內存地址(包括主存和cache),為了快速檢,指令中的塊號與cache中所有行的標記同時在比較器中進行比較。如果塊號命中,則按字地址從cache中讀取一個字;如果塊號未命中,則按內存地址從主存中讀取這個字。在全相聯cache中,全部標記用一個相聯存儲器來實現,全部數據用一個普通RAM來實現。全相聯方式的主要缺點是比較器電路難於設計和實現,因此只適合於小容量cache採用。直接映射方式也是一種多對一的映射關系,但一個主存塊只能拷貝到cache的一個特定行位置上去。直接映射方式的優點是硬體簡單,成本低。缺點是每個主存塊只有一個固定的行位置可存放,如果塊號相距m整數倍的兩個塊存於同一cache行時,就要發生沖突。發生沖突時就要將原先存入的行換出去,但很可能過一段時間又要換入。頻繁的置換會使cache的效率下降。因此直接映射方式適合於需要大容量cache的場合,更多的行數可以減小沖突的機會。採用直接映射時,cache無需考慮替換問題。從存放位置的靈活性和命中率來看,全相聯映射方式為優;從比較器電路簡單及硬體投資來說,直接映射方式為佳。組相聯映射方式將cache分成u組,每組v行,主存塊存放到哪個組是固定的,至於存到該組哪一行是靈活的。組相聯映射方式的比較器電路容易設計和實現,而塊在組中的排放又有一定的靈活性,使沖突減少。全相聯映射方式和組相聯映射方式速度較低,通常適合於小容量cache。
cache工作原理要求它盡量保存最新數據。當一個新的主存塊需要拷貝到cache,而允許存放此塊的行位置都被其他主存塊占滿時,就要產生替換。對直接映射方式來說,因一個主存塊只有一個特定的行位置可存放,所以只要把此特定位置上的原主存塊換出cache即可。對全相聯和組相聯cache來說,就要允許存放新主存塊的若干特定行中選取一行換出。cache的替換全部靠硬體實現。
如何選取就涉及替換策略,又稱替換演算法,硬體實現的常用演算法主要有以下三種:1)近期最少使用(LRU)演算法:將近期內長久未被訪問的行換出;2)最不經常使用(LFU)演算法:將一段時間內被訪問次數最少的那行數據換出;3)隨機替換:實際上是不要什麼演算法,從特定的行位置中隨機地選出一行換出即可。在Cache替換演算法中,近期最少使用法比較正確地利用了程序訪存局部性原理,替換出近期用得最少的存儲塊,命中率較高,是一種比較好的替換演算法;隨機法是隨機地確定替換的存儲單元,先進先出法是替換最早調入的存儲單元,它們都沒有根據程序訪存局部性原理,命中率較低;而後進先出法不是cache所使用的替換演算法,此法在堆棧存儲結構中使用。
【虛擬存儲器】
常用的虛擬存儲系統由主存-輔存兩級存儲器組成,其中輔存是大容量的磁表面存儲器。在虛擬存儲器中,主存的內容只是輔存的一部分內容。虛擬存儲系統是為了提高存儲系統的性能價格比而構造的分層存儲體系,力圖使存儲系統的性能接近高速存儲器,而價格和容量接近低速存儲器。虛擬存儲利用了程序運行時的局部性原理把最近常用的信息塊從相對慢速而大容量的存儲器調入相對高速而小容量的存儲器。虛擬存儲主要是解決存儲容量問題,另外還包括存儲管理、主存分配和存儲保護等方面。虛存所依賴的輔存與CPU之間不存在直接的數據通路,當主存不命中時只能通過調頁解決,CPU最終還是要訪問主存。虛存管理由軟體(操作系統)和硬體共同完成,由於軟體的介入,虛存對實現存儲管理的系統程序員不透明,而只對應用程序員透明(段式和段頁式管理對應用程序員“半透明”)。主存未命中時系統的性能損失要遠大於cache未命中時的損失。
【虛擬內存管理】
虛存機制也要解決一些關鍵問題:(1)調度問題:決定哪些程序和數據應被調入主存;(2)地址映射問題:在訪問主存時把虛地址變為主存物理地址,在訪問輔存時把虛地址變為輔存的物理地址,以便換頁;(3)替換問題:解決哪些程序和數據應被調出主存;虛擬存儲器的替換演算法與cache的替換演算法類似,有FIFO演算法、LRU演算法、LFU演算法,虛擬存儲器的替換有操作系統的支持(4)更新問題:確保主存和輔存的一致性。虛擬存儲器分為頁式、段式、段頁式三種。
頁式虛擬存儲系統中,虛地址空間被分成等長大小的頁,稱為邏輯頁;主存空間也被分成同樣大小的頁,稱為物理頁。相應地,虛地址分為兩個欄位:高欄位為邏輯頁號,低欄位為頁內地址(偏移量);實存地址也分為兩個欄位:高欄位為物理頁號,低欄位為頁內地址。通過頁表可以把虛地址(邏輯地址)轉換成物理地址。在大多數系統中,每個進程對應一個頁表。現代的中央處理機通常有專門的硬體支持地址變換。每個進程所需的頁數並不固定,所以頁表的長度是可變的,因此通常的實現方法是把頁表的基地址保存在寄存器中,而頁表本身則放在主存中。由於虛地址空間可以很大,因而每個進程的頁表有可能非常長。由於頁表通常在主存中,因而即使邏輯頁已經在主存中,也要至少訪問兩次物理存儲器才能實現一次訪存,這將使虛擬存儲器的存取時間加倍。為了避免對主存訪問次數的增多,可以對頁表本身實行二級緩存,把頁表中的最活躍部分存放在高速存儲器中。這個專用於頁表緩存的高速存儲部件通常稱為轉換後援緩沖器(TLB),又稱快表。而保存在主存中的完整頁表則稱為慢表。快表的作用是加快地址轉換。TLB的作用和與主存與CPU之間的cache作用相似,通常由相聯存儲器實現,容量比慢表小得多,存儲慢表中部分信息的副本,可以完成硬體高速檢索操作。地址轉換時,根據邏輯頁號同時查快表和慢表,當在快表中有此邏輯號時,就能很快地找到對應的物理頁號。根據程序的局部性原理,多數虛擬存儲器訪問都將通過TLB進行,從而有效降低訪存的時間延遲。由於TLB的緩沖過程與cache的緩沖過程是獨立的,所以在每次存儲器訪問過程中有可能要經歷多次變換。
;Ⅵ 雙口RAM的簡介
雙口RAM 是在一個SRAM 存儲器上具有兩套完全獨立的數據線、地址線和讀寫控制線,並允許兩個獨立的系統同時對該存儲器進行隨機性的訪問。即共享式多埠存儲器。
雙口RAM最大的特點是存儲數據共享。一個存儲器配備兩套獨立的地址、數據和控制線,允許兩個獨立的CPU或控制器同時非同步地訪問存儲單元。因為數據共享,就必須存在訪問仲裁控制。內部仲裁邏輯控制提供以下功能:對同一地址單元訪問的時序控制;存儲單元數據塊的訪問許可權分配;信令交換邏輯(例如中斷信號)等。
雙口RAM可用於提高RAM的吞吐率,適用於作於實時的數據緩存。
Ⅶ 雙埠存儲器和多模塊交叉存儲器屬於( )存儲器結構。前者採用( )技術,後者採用( )技術。
雙埠存儲器和多模塊交叉存儲器屬於並行存儲器
前者採用空間並行技術,後者採用時間並行技術。
Ⅷ 什麼是雙口SRAM
IDT70V9289是IDT公司新推出的一款高速同步雙口靜態存儲器(SRAM),可實現不同傳輸方式的雙路高速數據流的無損傳輸。
真正的雙埠存儲器,完全同步操作
3.5ns時鍾建立時間,0ns保持時間(所有控制、數據和地址輸入)
具有數據輸入、地址和控制寄存器
·存儲容量達1024kbit(64k×16bit);
Ⅸ FIFO和雙口RAM有什麼區別
在測控、儀器儀表、語音信號處理和圖像通信領域中往往需要多處理器分工完成數字信號處理(DSP)演算法和與外部系統的通信、控制、數據採集和人機介面功能。在多機系統中,CPU之間的通信常採用以下幾種方式:(1)串列通信。這種方式相對簡單,由於受到波特率的限制,在不同檔次單片機之間需要通信業務大的場合得不到很好的通信效果。(2)並行通信。利用CPU的I/O功能在CPU之間增加緩沖器或鎖存器實現雙機通信。通信性能較串列通信有所提高,但仍然得不到理想的效果。(3)利用共享式存儲器實現。DMA方式就是其中的一種,能夠達到數據的高速傳輸,但不能同時訪問存儲器,CPU必須等待匯流排,而且有些CPU不支持DMA功能。另一種是利用多埠存儲器,雙口RAM和FIFO是常用的兩種多埠的存儲器,允許多CPU同時訪問存儲器,大大提高了通信效率,而且對CPU沒有過多的要求,特別適合異種CPU之間非同步高速系統中。因此,受到硬體設計者的青睞。
雙口RAM是常見的共享式多埠存儲器,以圖1所示通用雙口靜態RAM為例來說明雙口RAM的工作原理和仲裁邏輯控制。雙口RAM最大的特點是存儲數據共享。圖1中,一個存儲器配備兩套獨立的地址、數據和控制線,允許兩個獨立的CPU或控制器同時非同步地訪問存儲單元。既然數據共享,就必須存在訪問仲裁控制。內部仲裁邏輯控制提供以下功能:對同一地址單元訪問的時序控制;存儲單元數據塊的訪問許可權分配;信令交換邏輯(例如中斷信號)等。
FIFO(First In First Out)全稱是先進先出的存儲器。先進先出也是FIFO的主要特點。
FIFO只允許兩端一個寫,一個讀,因此FIFO是一種半共享式存儲器。在雙機系統中,只允許一個CPU往FIFO寫數據,另一個CPU從FIFO讀數據。而且,只要注意標志輸出,空指示不寫,滿指示不讀,就不會發生寫入數據丟失和讀出數據無效。
本文介紹了以雙口RAM和FIFO為例,利用多埠存儲器設計多機系統。現對雙口RA幾FIFO比較如下:(1)FIFO的仲裁控制簡單,但其容量不如雙口RAM。由於先進先出的特點,特別適合數據緩沖和突發傳送數據。某些晶元的內部就集成小容量FIFO,例如,DSP的同步串口就集成兩個FIFO,用於接收和發送數據緩沖。雙口RAM的仲裁邏輯比FIFO復雜,但其容量較
大。由於存儲數據完全共享,適用於雙機系統的全局存儲器和大容量數據存儲共享,例如大容量磁碟的數據緩存可採用雙口RAM。(2)FIFO只給外部提供一個讀和一個寫信號,因此CPU用一個I/O地址便可讀或寫FIFO,使硬體趨於簡單,給編程也帶來一些方便,但CPU不能對FIFO內部的存儲器進行定址。雙口RAM由於有兩套地址線,使硬體較FIFO復雜,但允許CPU訪問內部存儲單元,因此CPU之間可以自己定主和分配數據塊以及數據單元,使軟體設計更加靈活。
在異種機系統設計中,利用雙口RAM和FIFO能夠實時、快速、靈活和方便地進行相互通信,得到滿意的效果。
Ⅹ 簡述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)。