存儲和服務器的三大件②

存儲和服務器的三大件數據庫

從底層原理實現角度來看,存儲和服務器的物理硬件本質都是三大件:CPU、內存和I/O的組合運用。小程序

2、服務器對於三大件的組合運用

從電腦的角度看,服務器也是電腦,只是比普通的電腦更復雜更先進而已。服務器的誕生,是爲了處理企業級的應用,使工做協同性變得更高。因此服務器和家用的電腦相比,最重要的一點就是要穩定、安全、少出錯。服務器上面運行的應用程序、數據庫對於企業來講是很是重要的,因此服務器級別的內存、硬盤、網卡、CPU等等的性能和穩定性,理論上來講會比普通電腦要高出一些。因此服務器CPU、內存、硬盤、網卡等配件均進行了技術升級,使之更加安全穩定。可是其針對CPU、內存及I/O設備的組合運用並沒有區別。在高端的服務器中,因爲支持多路CPU、內存及I/O設備,所以其組合運用方式會更加複雜。安全

1.系統總線組合階段

在系統總線組合階段,經過系統總線將CPU芯片、內存和I/O設備鏈接起來,實現相互間的通信和協同工做,實現了最原始的組合運用,也實現了最基礎的計算功能。服務器

服務器或者電腦從最開始的架構設計之初,針對CPU、內存及I/O設備的組合運用是最粗暴簡單的,其經過一條系統總線將CPU、內存及I/O設備鏈接起來,CPU、內存及I/O設備的通信必須經過系統總線進行傳輸和同步,因爲設備之間的差別性,在這個簡單的數字系統中,爲了確保內部全部硬件單元可以協同快速工做,CPU架構工程師們就設計了一套時鐘信號與系統同步進行操做,由CPU來決定其餘設備工做在什麼頻率上,保證全部的設備都在同步的模式下面工做。在這樣的模式下,全部的設備都會被限定在一個被全部設備所能承受的通用時鐘頻率上面,即產生所謂的"互鎖"效應,木桶原理告訴咱們,這種狀況下系統的總體性能會被最低頻率的設備拉低。架構

下圖顯示了最開始的計算機系統的基本框圖。它由CPU,內存(RAM)和許多I/O設備組成。全部這些都經過系統總線鏈接。CPU執行存儲在內存中的指令。這些指令能夠從內存或I/O設備中讀取數據,並能夠操做這些數據,以及將結果數據寫入內存或I/O設備中。ide

clip_image002

這種體系結構的計算機第一次怎麼啓動,由於內存中並不存在啓動代碼。爲了解決系統總線直連計算機的啓動問題,最開始的解決方案是使用一個前面板(The front panel)來控制計算機的啓動過程,以後才採用ROM方式來控制計算機的啓動。性能

前面板架構設計圖:操作系統

clip_image004

前面板的設計原理是,經過在一個金屬面板上添加帶有指示燈、撥動開關和按鈕的設備,這些設備經過導線和總線相鏈接,而後使用一行燈來表示一個或多個硬件寄存器的內容,並容許在機器中止時直接讀取內容。在計算機第一次啓動時,經過前面板進行啓動引導,一般須要執行一系列複雜的操做。首先操做員須要將具備包含一系列短引導指令的程序指令使用前面板的切換開關手動輸入其中。第一步須要設置「地址」信息,並經過設置地址的開關將二進制形式的地址表示信息數據輸入進去,前面板上會存在專門的二進制數字按鈕,好比DEC PDP-8或MITS Altair 8800的二進制數字在前面板上分組爲三個,每組燈或開關表明0到7之間的單個八進制數字。接下來,操做員將設置地址的「值」,經過「值」的開關而後輸入用於該地址的值。而後操做員將設置引導程序的起始地址,並啓動「RUN」開關開始執行程序。引導程序一般從打孔的紙帶讀取和加載程序,並最終將計算機運行起來。架構設計

前面板能夠控制內存控制器、CPU寄存器合其餘I/O設備的寄存器地址,用戶能夠設置要檢查或更改的寄存器地址,將新數據寫入寄存器位置,而且可復位、啓動和中止CPU。大多數前面板提供了一種讀取和寫入單個CPU寄存器的方法,在經過前面板輸入指令的狀況下,CPU會一次一個指令地逐步執行程序。設計

下圖展現了System/360 Model 91的前面板實物圖(圖片來自維基百科)

clip_image006

在20世紀50年代後期,計算機是一臺至關龐大且昂貴的機器。它的成本在當時遠遠高於豪華轎車甚至是房子,並且一個面積龐大盡是開關和燈的前面板也相對地增長了計算機的成本。當計算機通電時,CPU還沒有運行,操做員可使用前面板在沒有CPU幫助的狀況下讀取和寫入內存的內容。當合適的程序存儲到內存中,操做員將前面板開關設置到RUN位置時,CPU就會開始運行。1975年以前製造的大多數計算機都有這樣的前面板。

每次計算機上電時,操做員都必須將引導程序輸入內存,該內存將從I/O設備(例如讀卡器,磁帶或磁盤)讀取一些數據。加載的數據造成一個小程序,而後加載更多數據,直到加載整個操做系統或應用程序。根據當時的電子計算機架構和I/O設備的類型,這些指令大概有數十條指令數的規模,每次機器上電時都必須逐位輸入。

爲了解決繁瑣的計算機系統啓動問題,內存須要使用非易失性存儲介質,保存位於內存中的啓動代碼數據,確保關機狀態下啓動指令仍然存儲在內存中。當CPU啓動時,計算機就開始從內存中明肯定義的位置讀取並執行指令。從20世紀50年代後期到20世紀70年代早期,大多數計算機使用核心存儲器來存儲內存數據,這種存儲是非易失性的。即當咱們啓動計算機時,內存仍然包含上次使用機器時存儲的內容。

系統啓動以後,爲了更進一步解決前面板後續的I/O設備初始化和操做繁瑣的問題,有些計算機設計們向CPU添加了邏輯,這樣CPU就能夠本身從I/O設備中加載啓動代碼,而不須要內存中的任何指令。操做員只需按下正確的按鈕,便可從正確的設備中選擇自動啓動加載代碼和運行I/O設備。

當計算機的硬件成本由於科技的進步和工藝製做的提高而變得更加便宜時,費用昂貴、面積龐大且明顯不友好的前面板就成爲了急需解決的問題,此外,內存的保存特性使得內存的容量沒法知足系統的需求,擴充容量就會形成成本居高不下。所以架構師們就設計出了ROM(只讀存儲器)以及CRT(顯像管)用於替代前面板的功能,並使用大容量的內存元器件,將計算機運行所必需的程序放到ROM中。在20世紀70年代末和80年代初,除了一些早期微型計算機仍然有一個前面板外,絕大多數微型計算機都已經更換到ROM和CRT。

ROM的做用是:當計算機通電時,CPU開始從明肯定義的地址執行指令,該地址指向只讀存儲器(ROM),以下圖所示。ROM中的程序控制計算機啓動的功能。

clip_image008

ROM內部的數據是在ROM的製造工序中,在工廠裏用特殊的方法燒錄進去的,其中的內容只能讀不能改,一旦燒錄進去,用戶只能驗證寫入的數據是否正確,不能再做任何修改。若是發現數據有錯誤,則只有捨棄不用,從新訂作一份。ROM解決了前面板啓動電子計算機繁瑣的問題,使得計算機的啓動變得便捷許多,可是,這樣也存在着弊端。因爲ROM定義了計算機內部元件的寄存器地址及啓動地址信息等內容,計算機的功能就不在僅由其硬件決定,並且由存儲在其ROM中的程序決定。簡單來講就是ROM限制了計算機的特定規格。

ROM中軟件的範圍在計算機系統之間差別很大。在某些機器中,ROM只是將軟盤的第一個扇區加載到內存中,而後加載CPU跳轉到內存中的這段程序去運行。剛加載的程序會將操做系統從軟盤加載到內存。若是軟盤中沒有合適的系統盤,計算機就徹底沒法啓動了,會提示找不到啓動文件。另外一方面,若是ROM可將硬盤的啓動扇區加載到內存中並從這段程序運行,從而加載硬盤上的操做系統。在許多計算機中,ROM中的程序肯定了計算機能夠作什麼以及以以什麼方式作事。通常來講內存大小一般很是有限,若是將重要程序(或操做系統)存儲在ROM中意味着能夠爲應用程序或數據提供更多內存空間,此外也能夠加速操做系統的啓動速度。基於這樣的設計和理念,有些計算機就在ROM中嵌入了很是有限的固件,這些計算機在ROM上有大量程序,包括操做系統,這樣的計算機將操做系統及功能實現均燒錄在了ROM中。

從今天計算機的組件來看,組成計算機的每一個組件均包含了芯片、內存及I/O這三部分核心的基礎元件。其中大部分模塊或組件的操做系統均燒錄在了組件自身的ROM中,ROM有些組件獨立,有些組件和內存及芯片等徹底集成在同一個芯片模組中。

相關文章
相關標籤/搜索