首页
/
每日頭條
/
科技
/
常規存儲器和虛拟存儲器
常規存儲器和虛拟存儲器
更新时间:2024-07-25 01:21:59

常規存儲器和虛拟存儲器?到目前為止,在對系統的研究中,我們依賴于一個簡單的計算機系統模型,CPU執行指令,而存儲器系統為CPU存放指令和數據在簡單模型中,存儲器系統是一個線性的字節數組,而CPU能夠在一個常數時間内訪問每個存儲器位置雖然迄今為止這都是一個有效的模型,但是它沒有反映現代系統實際工作的方式,現在小編就來說說關于常規存儲器和虛拟存儲器?下面内容希望能幫助到你,我們來一起看看吧!

常規存儲器和虛拟存儲器(存儲器層次結構)1

常規存儲器和虛拟存儲器

到目前為止,在對系統的研究中,我們依賴于一個簡單的計算機系統模型,CPU執行指令,而存儲器系統為CPU存放指令和數據。在簡單模型中,存儲器系統是一個線性的字節數組,而CPU能夠在一個常數時間内訪問每個存儲器位置。雖然迄今為止這都是一個有效的模型,但是它沒有反映現代系統實際工作的方式。

實際上,存儲器系統(memory system)是一個具有不同容量、成本和訪問時間的存儲設備的層次結構。CPU寄存器保存着最常用的數據。靠近CPU的小的、快速的高速緩存存儲器(cache memory)作為一部分存儲在相對慢速的主存儲器(main memory,簡稱主存)中的數據和指令的緩沖區域。主存暫時存放存儲在容量較大的、慢速磁盤上的數據,而這些磁盤常常又作為存儲在通過網絡連接的其他機器的磁盤或磁帶上的數據的緩沖區域。

存儲器層次結構是可行的,這是因為與下一個更低層次的存儲設備相比來說,一個編寫良好的程序傾向于更頻繁地訪問某一個層次上的存儲設備。所以,下一層的存儲設備可以更慢速一點,也因此可以更大,每個位更便宜。整體效果是一個大的存儲器池,其成本與層次結構底層最便宜的存儲設備相當,但是卻以接近于層次結構頂部存儲設備的高速率向程序提供數據。

作為一個程序員,你需要理解存儲器層次結構,因為它對應用程序的性能有着巨大的影響。如果你的程序需要的數據是存儲在CPU寄存器中的,那麼在指令的執行期間,在零個周期内就能訪問到它們。如果存儲在高速緩存中,需要1~30個周期。如果存儲在主存中,需要50~200個周期。而如果存儲在磁盤上,需要大約幾千萬個周期!

這裡就是計算機系統中一個基本而持久的思想:如果你理解了系統是如何将數據在存儲器層次結構中上上下下移動的,那麼你就可以編寫你的應用程序,使得它們的數據項存儲在層次結構中較高的地方,在那裡CPU能更快地訪問到它們。

這個思想圍繞着計算機程序的一個稱為局部性(locality)的基本屬性。具有良好局部性的程序傾向于一次又一次地訪問相同的數據項集合,或是傾向于訪問鄰近的數據項集合。具有良好局部性的程序比局部性差的程序更多地傾向于從存儲器層次結構中較高層次處訪問數據項,因此運行得更快。例如,不同的矩陣乘法核心程序執行相同數量的算術操作,但是有不同程度的局部性,它們的運行時間可以相差20倍!

在本章中,我們會看看基本的存儲技術(SRAM存儲器、DRAM存儲器、ROM存儲器和旋轉的和固态的硬盤)并描述它們是如何被組織成層次結構的。特别地,我們将注意力集中在高速緩存存儲器上,它是作為CPU和主存之間的緩存區域,因為它們對應用程序性能的影響最大。我們向你展示如何分析C程序的局部性,而且我們還介紹改進你的程序中局部性的技術你還會學到一種描繪某台機器上存儲器層次結構的性能的有趣方法,稱為“存儲器山”(memory mountain),它給出的讀訪問時間是局部性的一個函數。

6.1 存儲技術

計算機技術的成功很大程度上源自于存儲技術的巨大進步。早期的計算機隻有幾千字節的随機訪問存儲器。最早的IBM PC甚至沒有硬盤。1982年引入的IBM PC-XT有10M字節的磁盤,到2010年,主流機器已有150000倍于PC-XT的磁盤存儲,而且磁盤的容量以每兩年加倍的度增長。

6.1.1随機訪問存儲器

随機訪問存儲器(Random-Acces Memory,RAM)分為兩類:靜态的和動态的。靜态RAM(SRAM)比動态RAM(DRAM)更快,但也貴得多。SRAM用來作為高速緩存存儲器,既可以在CPU芯片上,也可以在片下。DRAM用來作為主存以及圖形系統的幀緩沖區,典型地,一個桌面系統的SRAM不會超過幾兆字節,是DRAM卻有幾百或幾千兆字節。

1.靜态RAM

SRAM将每個位存儲在一個雙穩态的(bistable)存儲器單元裡。每個單元是用一個六晶體管電路來實現的。這個電路有這樣一個屬性,它可以無限期地保持在兩個不同的電壓配置(confguration)或狀态(state)之一。其他任何狀态都是不穩定的———從不穩定狀态開始,電路會迅速地轉移到兩個穩定狀态中的一個。這樣一個存儲器單元類似于圖6-1中畫出的倒轉的鐘擺。

當鐘擺傾斜到最左邊或最右邊時,它是穩定的。在其他任何位置,鐘擺都會倒向一邊或另一邊。原則上,鐘擺也能在垂直的位置無限期地保持平衡,但是這個狀态是亞穩态的(metastable)——最細微的擾動也能使它倒下,而且—日倒下就水元不會再恢複到垂直的位置。

由于SRAM存儲器單元的雙穩态特性,隻要有電,它就會永遠地保持它的值。即使有幹擾,例如電子噪音,來擾亂電壓,當幹擾消除時,電路就會恢複到穩定值。

倒轉的鐘擺

2.動态RAM

DRAM将每個位存儲為對一個電容的充電。這個電容非常小,通常隻有大約30毫微微法拉

tamtofarad)——30×10-15法拉。不過,回想一下法拉是一個非常大的計量單位。DRAM存儲可以制造得非常密集——每個單元由一個電容和一個訪問晶體管組成。但是,與SRAM不同,DRAM存儲器單元對幹擾非常敏感。當電容的電壓被擾亂之後,它就永遠不會恢複了。暴露在光線下會導緻電容電壓改變。實際上,數碼照相機和攝像機中的傳感器本質上就是DRAM單元的庫列。

很多原因會導緻漏電,使得DRAM單元在10~100毫秒時間内失去電荷。幸運的是,計算機運行的時鐘周期是以納秒來衡量的,這個保持時間相當地長。存儲器系統必須周期性地通過讀出,然後重寫來刷新存儲器的每一位。有些系統也使用糾錯碼,其中計算機的字會被多編碼幾個位(例如,32位的字可能用38位來編碼),這樣一來,電路可以發現并糾正一個字中任何單個的錯誤位。

圖6-2 總結了SRAM和DRAM存儲器的特性。隻要有供電,SRAM就會保持不變。與DRAM不同,它不需要刷新。SRAM的存取比DRAM快。SRAM對諸如光和電噪聲這樣的幹擾不敏感,代價是SRAM單元比DRAM單元使用更多的晶體管,因而密集度低,而且更貴,功耗更大。

DRAM和SRAM存儲器的特性

3.傳統的DRAM

DRAM芯片中的單元(位)被分成d個超單元(supercell),每個超單元都由w個DRAM單元組成。一個dxw的DRAM總共存儲了dw位信息。超單元被組織成一個r行c列的長方形陣列,這裡rc=d。每個超單元有形如(i,j)的地址,這裡i表示行,而j表示列。

例如,圖6-3展示的是一個16×8的DRAM芯片的組織,有d=16個超單元,每個超單元有w=8位,r=4行,c=4列。帶陰影的方框表示地址(2,1)處的超單元。信息通過稱為引腳(pin)的外部連接器流人和流出芯片。每個引腳攜帶一個1位的信号。圖6-3給出了兩組引腳:8個data引腳,它們能傳送一個字節到芯片或從芯片傳出一個字節,以及2個addr引腳,它們攜帶2位的行和列超單元地址。其他攜帶控制信息的引腳沒有顯示出來。

一個128位16*8的DRAM芯片高級視圖

旁注:關于術語的注釋

存儲領域從來沒有為DRAM的陣列元素确定一個标準的名字。計算機構架師傾向于稱之為“單元”(cell),使這個術語具有DRAM存儲單元之意。電路設計者傾向于稱之為“字”(word),使之具有主存一個字之意。為了避免混淆,我們采用了無歧義的術語“超單元”(supercell)。

每個DRAM芯片被連接到某個稱為存儲控制器的電路,這個電路可以一次傳送w位到每個DRAM芯片或一次從每個DRAM芯片傳出w位。為了讀出超單元(i,j)的内容,存儲控制器将行地址i發送到DRAM,然後是列地址j。DRAM把超單元(i,)的内容發回給控制器作為響應。行地址i稱為RAS(Row Access Strobe,行訪問選通脈沖)請求。列地址稱為CAS(ColumnAccess Strobe,列訪問選通脈沖)請求。注意RAS和CAS請求共享相同的DRAM地址引腳。

例如,要從圖6-3中16×8的DRAM中讀出超單元(2,1),存儲控制器發送行地址2,如圖6-4a所示。DRAM的響應是将行2的整個内容都拷貝到一個内部行緩沖區。接下來,存儲控制器發送列地址1,如圖6-4b所示。DRAM的響應是從行緩沖區拷貝出超單元(2,1)中的8位,并把它們發送到存儲控制器。

電路設計者将DRAM組織成二維陣列而不是線性數組的一個原因是降低芯片上地址引腳的數量。例如,如果示例的128位DRAM被組織成一個16個超單元的線性數組,地址為0~15,那麼芯片會需要4個地址引腳而不是2個。二維陣列組織的缺點是必須分兩步發送地址,這增加了訪問時間。

讀一個DRAM超單元的内容

4.存儲器模塊

DRAM芯片包裝在存儲器模塊(memory module)中,它是插到主闆的擴展槽上的。常見的包裝包括168個引腳的雙列直插存儲器模塊(Dual Inline Memory Module,DIMM),它以64位為塊傳送數據到存儲控制器和從存儲控制器傳出數據,還包括72個引腳的單列直插存儲器模塊(Single Inline Memory Module,SIMM),它以32位為塊傳送數據。

圖6-5展示了一個存儲器模塊的基本思想。示例模塊用8個64Mbit的8M×8的DRAM芯片,總共存儲64MB(兆字節),這8個芯片編号為0~7。每個超單元存儲主存的一個字節,而用相應超單元地址為(i,j)的8個超單元來表示主存中字節地址A處的64位雙字。在圖6-5中示例中,DRAM0存儲第一個(低位)字節,DRAM1存儲下一個字節,依此類推。

要取出存儲器地址A處的一個64位雙字,存儲控制器将A轉換成一個超單元地址(i,),并将它發送到存儲器模塊,然後存儲器模塊再将i和j廣播到每個DRAM。作為響應,每個DRAM輸出它的(i,)超單元的8位内容。模塊中的電路收集這些輸出,并把它們合并成一個64位雙字,再返回給存儲控制器。

通過将多個存儲器模塊連接到存儲控制器,能夠聚合主存。在這種情況下,當控制器收到一個地址A時,控制器選擇包含A的模塊k,将A轉換成它的(i,j)的形式,并将(i.j)發送到模塊k。

6.非易失性存儲器

如果斷電,DRAM和SRAM會丢失它們的信息,從這個意義上說,它們是易失的(volatile)。另一方面,非易失性存儲器(nonvolatile memoy)即使是在關電後,也仍然保存着它們的信息。在有很多種非易失性存儲器。由于曆史原因,雖然ROM中有的類型既可以讀也可以寫,但是它們整體上都稱為隻讀存儲器(Read-Only Memory,ROM)。ROM是以它們能夠被重編程(寫)的次數和對它們進行重編程所用的機制來區分的。

PROM(Programmable ROM,可編程ROM)隻能被編程一次。PROM的每個存儲器單元有一種熔絲(fuse),它隻能用高電流熔斷一次。

可擦寫可編程ROM(Erasable Programmable ROM,EPROM)有一個透明的石英窗口,允許光到達存儲單元。紫外線光照射過窗口,EPROM單元就被清除為0。對EPROM編程是通過使用一種把1寫入EPROM的特殊設備來完成的。EPROM能夠被擦除和重編程的次數的數量級可達1000次,但是它不需要一個物理上獨立的編程設備,因此可以直接在印制電路卡上編程。EEPROM能夠被編程的次數的數量級可以達到10的5次方次。

閃存(flsh memory)是一類非易失性存儲器,基于EEPROM,它已經成為了一種重要的存儲技術。閃存到處都是,為大量的電子設備提供快速而持久的非易失性存儲,包括數碼相機、手機、音樂播放器、PDA和筆記本、台式機以及服務器計算機系統。在6.1.3節中,我們會仔細研究一種新型的基于閃存的磁盤驅動器,稱為固态硬盤(Solid State Disk,SSD),它能提供相對于傳統旋轉磁盤更快速、更強健和更低能耗的選擇。

存儲在ROM設備中的程序通常稱為固件(firmware)。當一個計算機系統通電以後,它會運行存儲在ROM中的固件。一些系統在固件中提供了少量基本的輸入和輸出函數——例如,PC的BIOS(基本輸入/輸出系統)例程。複雜的設備,像圖形卡和磁盤驅動控制器,也依賴固件翻譯來自CPU的I/O(輸入/輸出)請求。

7.訪問主存

數據流通過稱為總線(bus)的共享電子電路在處理器和DRAM主存之間來來回回。每次CPU和主存之間的數據傳送都是通過一系列步驟來完成的,這些步驟稱為總線事務(bustransaction)。讀事務(read transaction)從主存傳送數據到CPU。寫事務(write transaction)從總線是一組并行的導線,能攜帶址址、數據和控制信号。取決于總線的設計,數據和地址信CPU傳送數據到主存。

總線是一組并行的導線,能夠帶地址、數據和控制信号。取決于總線的設計,數據和地址信号可以共享同一組導線,也可以使用不同的。同時,兩個以上的設備也能共享同一根總線。控制線攜帶的信号會同步事務,并标識出當前正在被執行的事務的類型。例如,當前關注的這個事務是到主存的嗎?還是到諸如磁盤控制器這樣的其他I/O設備?這個事務是讀還是寫?總線上的信息是地址還是數據項?

圖6-6展示了一個示例計算機系統的配置。主要部件是CPU芯片、我們将稱為I/O橋(I/O bridge)的芯片組(其中包括存儲控制器),以及組成主存的DRAM存儲器模塊。這些部件由一對總線連接起來,其中一條總線是系統總線(system bus),它連接CPU和I/O橋,另一條總線是存儲器總線(memory bus),它連接I/O橋和主存。

I/O橋将系統總線的電子信号翻譯成存儲器總線的電子信号。正如我們看到的那樣,I/O橋也将系統總線和存儲器總線連接到I/O總線,像磁盤和圖形卡這樣的I/O設備共享I/O總線。不過現在,我們将注意力集中在存儲器總線上。

典型的連接CPU和主存的總線結構

6.1.2磁盤存儲

磁盤是廣為應用的保存大量數據的存儲設備,存儲數據的數量級可以達到幾百到幾千千兆字節,而基于RAM的存儲器隻能有幾百或幾千兆字節。不過,從磁盤上讀信息的時間為毫秒級,

從DRAM讀比從磁盤讀快10萬倍,從SRAM讀比從磁盤讀快100萬倍。

1.磁盤構造

磁盤是由盤片(platter)構成的。每個盤片有兩面或者稱為表面(surface),表面覆蓋着磁性記錄材料。盤片中央有一個可以旋轉的主軸(spindle),它使得盤片以固定的旋轉速率(rotational rate)旅轉,通常是5400~15 000轉每分鐘(Revolution Per Minute,RPM)。/磁盤通常包含一個或多個這樣的盤片,并封裝在一個密封的容器内。

圖6-9a展示了一個典型的磁盤表面的結構。每個表面是由一組稱為磁道(track)的同心圓組成的。每個磁道被劃分為一組扇區(sector)。每個扇區包含相等數量的數據位(通常是512字節),這些數據編碼在扇區上的磁性材料中。扇區之間由一些間隙(gap)分隔開,這些間隙中不存儲數據位。間隙存儲用來标識扇區的格式化位。

磁盤是由一個或多個疊放在一起的盤片組成的,它們被封裝在一個密封的包裝裡,如圖6-9b所示。整個裝置通常稱為磁盤驅動器(disk drive),我們通常簡稱為磁盤(disk)。有時,我們會稱磁盤為旋轉磁盤(rotating disk),以使之區别于基于閃存的國态硬盤(SSD),SSD是沒有移動的部分的。

磁盤構造

4.連接到I/O設備

像圖形卡、監視器、鼠标、鍵盤和磁盤這樣的輸入/輸出(I/O)設備,都是通過VO總線,例如Intel的外圍設備互連(Peripheral Component Interconnect,PCI)總線連接到CPU和主存的系統總線和存儲器總線是與CPU相關的,與它們不同,諸如PCI這樣的I/O總線設計成與底層CPU無關。例如,PC和Mac都可以使用PCI總線。圖6-11展示了一個典型的I/O總線結構(以PCI為模型),它連接了CPU、主存和I/O設備。

雖然I/O總線比系統總線和存儲器總線慢,但是它可以容納種類繁多的第三方I/O設備。例如,在圖6-11中,有三個不同類型的設備連接到總線。

·通用串行總線(Universal Serial Bus,USB)控制器是一個連接到USB總線的設備的中轉機構,USB總線是一個廣泛使用的标準,連接各種外圍I/O設備,包括鍵盤、鼠标、調制解調器、數碼相機、遊戲操縱杆、打印機、外部磁盤驅動器和固态硬盤。USB2.0總線的最大帶寬為60MB/s。USB3.0總線的最大帶寬為600MB/s。

·圖形卡(或适配器)包含硬件和軟件邏輯,它們負責代表CPU在顯示器上畫像素。

·主機總線适配器将一個或多個磁盤連接到I/O總線,使用的是一個特别的主機總線接口定義的通信協議。兩個最常用的這樣的磁盤接口是SCSI(讀作“scuzzy”)和SATA(讀作“satuh”)。SCSI磁盤通常比SATA驅動器更快但是也更貴。SCSI主機總線适配器(通常稱為SCSI控制器)可以支持多個磁盤驅動器,與SATA适配器不同,它隻能支持一個驅動器。其他的設備,例如網絡适配器,可以通過将适配器插入到主闆上空的擴展槽中,從而連接到/O總線,這些插槽提供了到總線的直接電路連接。

總線結構示例,它連接CPU、主存和I/O設備

5.訪問磁盤

雖然詳細描述IO設備是如何工作的以及如何對它們進行編程超出了我們讨論的範圍,但是我們可以給你一個概要的描述。例如,圖6-12總結了當CPU從磁盤讀數據時發生的步驟。

CPU使用一種稱為存儲器映射I/O(memory-mapped I/O)的技術來向VO設備發出命令(見圖6-12a)。在使用存儲器映射I/O的系統中,地址空間中有一塊地址是為與VO設備通信保留的,每個這樣的地址稱為一個IV/O端口(IV/Oport)。當一個設備連接到總線時,它與一個或多個端口相關聯(或它被映射到一個或多個端口)。

讀一個磁盤扇區

6.1.3固态硬盤

固态硬盤(Solid State Disk,SSD)是一種基于閃存的存儲技術(參見6.1.1節),在某些情況下是傳統旋轉磁盤的極有吸引力的替代産品。圖6-15展示了它的基本思想。SSD包插到IO總線上标準硬盤插槽(通常是USB或SATA)中,行為就和其他硬盤一樣,處理來自CPU的讀寫邏輯磁盤塊的請求。一個SSD包由一個或多個閃存芯片和閃存翻譯層(flash translation layer)組成,閃存芯片替代傳統旋轉磁盤中的機械驅動器,而閃存翻譯層是一個硬件/固件設備,扮演與磁盤控制器相同的角色,将對邏輯塊的請求翻譯成對底層物理設備的訪問。

一個典型的固态硬盤的性能特性

SSD有着與旋轉磁盤不同的性能特性。如圖6-16所示,順序讀和寫(CPU按順序訪問邏輯磁盤塊)性能相當,順序讀比順序寫稍微快一點。不過,當按照随機順序訪問邏輯塊時,寫比讀慢一個數量級。

随機讀和寫的性能差别是由底層閃存基本屬性決定的。如圖6-15所示,一個閃存由B個塊的序列組成,每個塊由P頁組成。通常,頁的大小是512~4KB,塊是由32~128頁組成的,快的大小為16~512KB。數據是以頁為單位讀寫的。隻有在一頁所屬的塊整個枚接除之後,才能寫這一頁(通常是指該塊中的所有位都被設置為1)。不過,一且一個塊被接除了,塊中每個頁都可以不需要再進行擦除就寫一次。在大約進行100000次重複寫之後,塊就會磨拐壞。一旦一個塊磨損壞之後,就不能再使用了。

随機寫很慢,有兩個原因。首先,擦除塊需要相對較長的時間,Ims級的,比訪問頁所需時間要高一個多數量級。其次,如果寫操作試圖修改一個包含已經有數據(也就是不全為1)的頁p.那麼這個塊中所有帶有用數據的頁都必須被拷貝到一個新(擦除過的)塊,然後才能進行對頁p的寫。制造商在已經閃存翻譯層中實現了複雜的邏輯,試圖抵消擦寫塊的高昂代價,最小化内部寫的次數,但是随機寫的性能不太可能能夠和讀一樣好。

比起旋轉磁盤,SSD有很多優點。它們由半導體存儲器構成,沒有移動的部件,因而随機訪時間比旋轉磁盤要快,能耗更低,同時也更結實。不過,也有一些缺點。首先,因為反複寫之後閃存塊會磨損,所以SSD也容易磨損。閃存翻譯層中的平均磨損(wear leveling)邏輯試圖通過将擦除平均分布在所有的塊上來最大化每個塊的壽命,但是最基本的限制還是沒變。其次,SSD每字節比旋轉磁盤貴大約100倍,因此常用的存儲容量是旋轉磁盤的1%。不過,随着SSD變得越來越受歡迎,它的價格下降得非常快,而兩者的價格差也在減少。

在移動音樂設備中,SSD已經完全取代了旋轉磁盤,在筆記本電腦中也越來越多地作為硬盤的替代品,甚至在台式機和服務器中也開始出現了。雖然旋轉磁盤還是會繼續存在,但是顯然,SSD是一項重要的新的存儲技術。

練習題6.6

正如我們已經看到的,SSD的一個潛在的缺陷是底層閃存會磨損。例如,一個主要的制造商保證他們的SSD能夠經得起1PB(1015字節)的随機寫。給定這樣的假設,根據下面的工作負載,估計圖6-16中的SSD的壽命(以年為單位):

A.順序寫的最糟情況:以170MB/s(該設備的平均順序寫吞吐量)的速度持續地寫SSD。

B.随機寫的最糟情況:以14MB/s(該設備的平均随機寫吞吐量)的速度持續地寫SSD。

C.平均情況:以20GB/天(某些計算機制造商在他們的移動計算機工作負載模拟測試中假設的平均每天寫速率)的速度寫SSD。

6.1.4存儲技術趨勢

從我們對存儲技術的讨論中,可以總結出幾個很重要的思想。

不同的存儲技術有不同的價格和性能折中,SRAM比DRAM快一點,而DRAM比磁盤要快很多。另一方面,快速存儲總是比慢速存儲要貴的。SRAM每字節的造價比DRAM高,DRAM的造價又比磁盤高得多。SSD位于DRAM和旋轉磁盤之間。

不同存儲技術的價格和性能屬性以截然不同的速率變化着。圖6-17總結了從1980年以來的存儲技術的價格和性能屬性,最早的PC是在那一年提出的。這些數字是從以前的貿易雜志中和Web上挑選出來的。雖然它們是從非正式的調查中得到的,但是這些數字還是能揭示出一些有趣的趨勢的。

自從1980年以來,SRAM技術的成本和性能基本上是以相同的速度改善的。訪問時間下降了大約200倍,而每兆字節的成本下降了300倍(見圖6-17a)。不過,DRAM和磁盤的變化趨勢更大,而且更不一緻。DRAM每兆字節的成本下降了130000倍(超過了五個數量級),而DRAM的訪問時間隻下降了大約10倍(見圖6-17b)。磁盤技術有和DRAM相同的趨勢,甚至變化更大。從1980年以來,磁盤存儲的每兆字節成本暴跌了1000000倍(超過了六個數量級),但是訪問時間提高得很慢,隻有30倍左右(見圖6-15c)。這些驚人的長期趨勢突出了存儲器和磁盤技術的一個基本事實:增加密度(從而降低成本)比降低訪問時間更容易。

DRAM和磁盤的性能滞後于CPU的性能。正如我們在圖6-17d中看到的那樣,從1980年到2010年,CPU周期時間提高了2500倍。如果我們看有效周期時間(effective cycle time)定義為一個單獨的CPU(處理器)的周期時間除以它的處理器核數,那麼從1980年到2010年的提高還要大一些,為10000倍。CPU性能曲線在2003年附近的突然變化反映的是多核處理器的出現(參見後面的解釋),在這個分割點之後,單個核的周期時間實際上增加了一點點,然後又開始下降,不過比以前的速度要慢一些。

注意,雖然SRAM的性能滞後于CPU的性能,但是SRAM的性能還是在保持增長。然而,DRAM和磁盤性能與CPU性能之間的差距實際上是在加大的。直到2003年左右多核處理器的出現,這個性能差距都是延遲的一個函數,DRAM和磁盤的訪問時間比單個處理器的周期時間提高得更慢。不過,随着多核的出現,這個性能越來越成為了一個吞吐量的函數,多個處理器核并發地向DRAM和磁盤發請求。

圖6-18清楚地表面了各種趨勢,以半對數為比例(semi-log scale),畫出了圖6-17中的訪問時間和周期時間。

存儲與處理器技術發展趨勢

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved