成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

虛擬化技術分析:動態地址轉換

云計算 虛擬化
從硬件的角度來看,此時的System/360 Model 67并沒有提供虛擬化設備的支持,是CP-67虛擬機管理程序自己提供了所需的虛擬化。然而CP-67并不能虛擬化主內存,它還是需要Model 67的協助來完成。

盡管虛擬化在主機上是很成熟的技術,我們最近還是經常聽聞有關該技術的討論。早在1967年,CP-67虛擬機管理程序就已經支持虛擬機和虛擬化系統鏡像。在這個虛擬機管理程序下,整個磁盤可以被虛擬為多個小型磁盤。例如像讀卡器、打卡機和打印機等單元記錄設備,甚至無需實際物理設備存在就能被虛擬出來。從硬件的角度來看,此時的System/360 Model 67并沒有提供虛擬化設備的支持,是CP-67虛擬機管理程序自己提供了所需的虛擬化。然而CP-67并不能虛擬化主內存,它還是需要Model 67的協助來完成。

System/360 Model 67可以借助CP-67創建的表,來實施動態地址轉換(DAT)。通過這種方式,虛擬機中一個特定內存塊可以被映射到實際內存中的任意塊。實際內存中非連續的內存塊在虛擬機中可能就是連續的。更有趣的是,“虛擬內存”中的塊有可能并不映射到實際內存中。相反,它會被CP-67映射到磁盤上的數據塊,這個數據塊只有在被引用時才讀入真實的內存數據。這樣的設計使得客戶操作系統認為數據一直在內存中。這便所謂的分頁技術,同時也是虛擬化技術的基礎。今天的z/os系統正是利用這種機制隔離不同的應用和程序。

[[232822]]

轉譯后備緩沖區(TLB)提供了實用性

動態地址轉換是一個偉大的想法,但如果每次訪問內存中指令或者操作數地址,都需要進行地址轉換,那這個時間花費是不可接受的。大多數大型機的指令涉及多個地址,如果沒有突破性的創新,動態地址轉換反而會降低機器運行效率。這時出現了讓動態地址轉換依舊可用的創新,那就是轉譯后備緩沖區(TLB)。TLB是一種可以記錄并快速訪問前一次轉譯結果的結構。

在這里我們不會太深入講解TLB的工程設計,但仍有幾點需要留意。TLB是一個二維數組,其內容就是一系列的條目。如圖1-01所示,它是長度為32個條目,寬度為4個條目的TLB。每個條目包含一個已被轉譯的虛擬地址和一個真實地址。使用索引和內容可尋址存儲器,我們可以從TLB中獲得正確的先前轉譯。如果先前轉譯并沒有在TLB中,其它電子元件就會讀取內存中的表并進行轉換,然后將結果寫入到TLB的相應列中,以備后續使用。

使用大型的TLB是非常有用的,這樣就能最小化內存中表的訪問。然而不幸的是,大型電子電路的速度訪問會非常緩慢,因為信號必須在更大的結構中傳播更遠的距離。此外,內容尋址存儲器所需的電路數增長是非線性的。所以TLB一般來說都比較小。幸運的是我們已經有一些技術可以提升有效容量,因此無需使用很大的TLB。

圖1-01 一級TLB

***化TLB的容量

起初,單一的TLB可用于轉譯指令地址和操作數地址。但同時也有兩個地方需要轉譯,那就是指令提取邏輯和操作數訪問邏輯。一個能有效增加容量的方法是使用兩套TLB,一個用于處理指令地址,另一個用于處理操作數地址。處理指令的TLB一般物理位置上臨近指令存取邏輯,處理數據的則被放置在操作數地址邏輯附近。即使這樣的設計需要額外邏輯來維護這兩個TLB的交互,但這個額外花銷是值得的,因為它帶來了效率的提升。

另外可做的是增加TLB的層級,這些額外增加的層級可以是大容量和低速度的設備,因為它們僅會在小型高速TLB未***時使用。這種添加層級的方法已被用于處理器高速緩存幾十年了。每個次級層次都容量更大,同時需要更多的周期來訪問。為此IBM工程師用非線性的方式實現了二級轉譯后備緩沖區(TLB2)。在內存中的DAT表并不再是線性表,而是更復雜的多層結構(如圖2-01所示)。例如在雙層表中,***級表稱為段表,它包含內存映射到二級表的入口;二級表稱為頁面表,它包含256個用于映射4K內存的條目。

圖2-01 存儲中的DAT表結構

現代的z系統處理器的TLB2有兩種類型的條目(如圖2-02所示),大小為1MB的段和大小為4K的頁。當轉譯在***層TLB(TLB1)中找不到時,TLB2就會搜索4KB頁條目所提供的轉譯。如果沒有找到,TLB2就會在段條目中搜索包含待轉譯的地址。如果這個條目被找到,就不會再使用內存中表的轉譯,因為對應的頁表可以直接被訪問,而無需訪問存儲器中的段表。因此如使用TLB2,額外的轉譯可以通過訪問內存中的表來實現,至少減少了這些訪問的次數。

圖2-02 二級TLB的結構

增加TLB有效容量的另一種方法是支持更大的頁面,使得僅需要較少的條目就能覆蓋給定的虛擬地址。在z系統的處理器中,這個特性得到了支持。首先在Z10的處理器上,TLB1會繼續支持4KB的條目,但TLB2可以容納1MB的頁條目。這些1MB的頁條目可以無需訪問內存中的表來創建TLB1所需的4KB條目。在z196處理器中,TLB1已經可以支持1MB的頁條目。在這個處理器中,添加了特殊的數據TLB1用于1MB頁條目的處理,同時指令TLB1也被增強用于支持4KB和1MB兩個頁條目。在zEC12還引入了2GB頁條目的支持。在這種結構下,有一個小型的數據TLB1持有一些2GB的頁條目,而一些非常大的頁條目被用作DB2緩沖區域和JAVA堆的有效映射。

虛擬化的創新還在繼續

本文的簡介并沒有談到z/VM虛擬機支持客戶機的虛擬內存。為了實現這種功能,z系統的處理器支持兩層的轉譯。首先,客戶機的虛擬地址被轉譯成客戶機的實際地址。但是客戶機的真實地址是主機端的虛擬地址,它需要轉譯成主機的真實地址。在這里我們不會就本話題做進一步探討,僅僅有一點提醒大家注意,那便是兩層轉譯涉及到許多表的訪問,因為客戶表的轉譯還涉及到額外的主機轉譯。還有許多更復雜的操作在z系統硬件上實現,這種實現使得對上層操作是透明的。

責任編輯:武曉燕 來源: IBM
相關推薦

2009-12-21 11:19:10

路由器NAT設置

2009-07-24 19:57:29

Citrix虛擬化服務器虛擬化

2012-07-16 10:09:10

2018-01-26 07:53:46

數據脫敏數據安全信息安全

2011-04-07 10:16:12

虛擬化技術成本

2009-05-14 19:18:54

虛擬化災備服務器

2013-10-17 09:44:24

VMwarre vSp虛擬化

2013-03-18 10:12:25

存儲虛擬化虛擬化技術

2022-06-09 09:54:45

編譯軟件開發

2019-04-16 16:23:29

GPU虛擬化CPU

2013-08-01 11:31:50

存儲虛擬化虛擬化

2015-04-17 10:48:49

Docker虛擬化

2009-04-14 19:39:55

虛擬化NovellIT

2009-04-14 22:23:12

LinuxNovell虛擬化

2012-04-06 11:09:36

戴爾

2018-07-11 15:21:25

GPU虛擬化技術

2015-09-18 09:33:03

2010-09-09 14:14:22

2020-02-17 15:06:41

DHCPIP動態地址

2009-06-10 18:12:38

Equinox動態化OSGi動態化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线播放一区二区 | 欧美日韩中文国产一区发布 | 日韩成人精品视频 | 欧美久久久网站 | 久久不卡视频 | 亚洲区一区二 | 少妇精品亚洲一区二区成人 | 久久久久久久久久久丰满 | 玖玖玖在线观看 | 欧美亚洲第一区 | 人人cao| 国产精品一区二区无线 | 91精品国产91久久久久久丝袜 | 日韩免费 | 久久er精品 | 久久中文字幕一区 | 欧美日韩在线观看视频网站 | 午夜激情视频 | 亚洲一区国产精品 | 91文字幕巨乱亚洲香蕉 | 岛国毛片| 国产免费一区二区 | 精品一区二区三区免费视频 | 日日久| 一级午夜aaa免费看三区 | 国产精品久久久久久52avav | 亚洲精品久久久久国产 | 亚洲精品视频免费观看 | 国产精品视频97 | 在线观看欧美一区 | 日本久久黄色 | 久久综合伊人 | 久久精品国产一区二区三区不卡 | 色吊丝2| 亚洲一区二区三区桃乃木香奈 | 黄色片在线 | 国产ts人妖系列高潮 | zzzwww在线看片免费 | 日韩和的一区二区 | 看av在线 | 好好的日在线视频 |