淺識計算機組成與結構

2021-10-04 10:50:44 字數 4840 閱讀 9486

ca的邊界是「程式設計師可見的機器屬性」,其中程式設計師特指機器語言的程式設計師,如組合語言等層面的語言。這些屬性(如指令集,記憶體,中斷等硬體層面較高的構建特性)會直接影響到程式的邏輯執行。

cod是「體系結構的邏輯實現」。其上邊界是軟體,下邊界是硬體。邏輯實現是程式設計師可見的各種硬體細節如硬體層面的資料流、控制流、邏輯設計,內部個事件的控制方式,內部研究計算機構成(運算、cpu,儲存等)。

區別舉例:計算機是否有乘法指令是體系結構設計的問題。而這條指令是由特定的乘法單元實現,還是通過重複使用系統的加法單元來實現,則是組成的問題。

虛擬機器(virtual machine)指通過軟體模擬的具有完整硬體系統功能的、執行在乙個完全隔離環境中的完整計算機系統。虛擬機器是軟體層面上模擬的乙個計算機。作業系統和各種語言結合就是虛擬機器了。機器語言是軟硬體的分界,而上緊接著是os。也就是說作業系統把下面的硬體層面上的遮蔽了,其上均為軟體層面。所以os及以上均劃入「虛擬機器」。

虛擬化主要解決硬體資源彈性分配和整合問題。

虛擬化的原理:虛擬化有兩種實現方法:1.hypervisor和vmm。第一種是在硬體上搭建乙個hypervisor,再在其上模擬多個作業系統。第二種是實體機本身有個os,在os上搭建hypervisor,在其上模擬多個虛擬機器。hypervisor是乙個管理中間層軟體,執行在系統和硬體之間,可以讓多個os共享一套硬體,具有管理、部署、規劃虛擬機器硬體的功能,且和虛擬機器一起執行,並且相互不為影響。當執行時會分配給每台虛擬機器指定的cpu、memory、i/o等硬體資源,並載入guest os。當然,虛擬機器裡的操作同樣也是由其來接收再**給硬體。

容器化原理:在典型作業系統上執行乙個更輕薄容器引擎,直接將應用和其依賴的內庫和配置等打包封裝,一起交付給使用者。

兩者的區別:容器技術是後於虛擬化技術出現的。如果說虛擬化技術的出現主要是為了解決硬體資源彈性調配和隔離的問題,那麼容器技術解決的是應用開發、測試和部署等提公升效率的問題,也就是解決軟體模組封裝的問題。

risc-v:risc-v(讀作「risc-five」)是基於精簡指令集計算(risc)原理建立的開放指令集架構(isa),v表示為第五代risc(精簡指令集計算機),表示此前已經四代risc處理器原型晶元。完全開源,免費,可以根據具體場景選擇適合的指令集的指令集架構。且架構簡單,易於移植,模組化設計,有完整的工具鏈,有社群貢獻和大量的開發者貢獻。

1.【基於risc-v的開源微控制器系統】:

2.【bottlerocket】:

3.【picorv32-尺寸優化的risc-v cpu】:

4.【risc-v cpu核心】:

1. ocp大會上,老牌電信運營商at&t和sk都提出sdi的概念。他們使用基於英特爾至強處理器的伺服器平台+開源的linux系統,來解決傳統asic、dsp和fpga難以解決的靈活性問題。他們提出的sdn/nfv在靈活性和易用性上較傳統網路裝置有巨大的提公升,而且靈活的部署擴充套件能力也更符合雲計算時代網路快速部署和調整的需求,同時sdn/nfv的應用降低了大規模業務部署時的複雜度。從電信運營商和公有雲提供商的角度來看,未來的sdn/nfv方案將由開放的x86標準伺服器+開源linux環境來構建,具有系統開源、易構建,介面標準化等特點。自從2023年英特爾推出整合記憶體控制器的snb架構處理器平台後,**等關鍵的網路評估效能追上了傳統網路裝置使用的asic晶元,x86的強計算能力也成為開源linux平台的天然合作夥伴。基於開放x86標準伺服器和開源linux的平台具備了開源特性和標準介面的優勢,英特爾也推出了dpdk來優化網路效能和虛擬化應用,大量網路廠商從2023年後就在這個開放開源基礎平台上,來構造高效能、可程式設計、低成本的sdn架構。伴隨x86平台的發展,業界逐漸流行使用雙路至強伺服器來作為sdn/nfv的平台,而從2023年到今天的6年時間裡,面向企業應用領域的至強處理器系列從雙路8核(雙路的英特爾至強5600產品家族)快速發展到最新一代的至強處理器e5 v4的雙路44核88執行緒的高效能計算平台。一台伺服器從最初只能支援幾台虛擬主機,到今天商業化的公有雲平台上可以在一台物理主機上提供100臺的虛擬主機,這期間,雲計算的進步依賴於基於英特爾至強處理器平台的發展。

雲計算帶來的sdn,sdn大規模應用之一是公有雲資料中心,隨著公有雲規模的擴張,對於sdn的需求也持續上公升,虛擬主機數量今年來的增長讓傳統網路裝置在管控上捉襟見肘。從某種角度講,1000臺以下虛擬雲主機依然佔據目前雲計算的絕大多數,管理方便、調整靈活的x86+linux開源平台的sdn成為這類公有雲/私有雲首選的網路平台。在全新的至強e5 v4平台的支援下,一台雙路的物理伺服器可以具備多達44核88執行緒(使用e5 v4 2699處理器),所支援的記憶體也達到了1.5tb,這就為在一台物理主機上執行超過100臺虛擬主機提供了基礎,那麼對於大規模部署雲計算的資料中心而言,sdn裝置的效能和靈活性在這裡就成為雲計算網路是否能勝任的關鍵。

強調效能的nfv,sdn源於資料中心,而nfv則是由電信運營商提出的方案。電信運營商的每一次轉型都帶來大量的機會,今天的運營商趨向提供越來越多的網路服務,這些複雜化的網路服務需要大量的專有硬體來支撐,但是隨著網路服務的細分和變化,傳統的網路硬體裝置帶來了大量裝置投入,背後是資本和能耗的挑戰,可是使用者端的驅動模式隨時會帶來新的應用,顯然這不是乙個單純依靠硬體就能完成的任務。nfv就是用標準計算平台的虛擬化網路技術來解決多種網路應用如何融合資料中心的技術,利用高效能的x86伺服器、交換機等資料中心的裝置,使用開源軟體自定義網路功能,應用於資料業務應用。在基於最新的英特爾至強處理器e5 v4產品的伺服器平台中,利用dpdk技術,可以提供25倍於上一代x86資料報處理能力,而這一切都是免費、開源的,全面支援虛擬化應用。同傳統軟體**商習慣於用軟體來解決一切問題不同,英特爾更擅長將軟硬體統籌考慮,硬體擅長的事情移交給硬體完成,而軟體只需要使用乙個api來驅動硬體裝置介面,這就是軟體定義,硬體加速的原力。相比sdn的高度靈活和可管理特性,nfv則更看重效能和應用能力。

sdn對裝置硬體需求較低,往往配備單塊10gb網絡卡就可以滿足需求;而nfv承載著運營商的業務,對計算效能、記憶體容量,特別是網路吞吐能力都有極高的要求,現在電信執行商業務中的nfv裝置往往都有4塊以上的10gb網絡卡**在一起,甚至有運營商在積極推動100gb網絡卡在nfv裝置中的應用,而這些都是英特爾至強e5 v4 + dpdk大展身手的領域。

當雲計算基於開放的x86+開源的系統,在軟、硬體一體化應用的道路上提供了hybrid模式的時候,軟體定義、硬體驅動的雲計算新時代就揭開了新的篇章。

2.軟體定義衛星硬體模組化設計研究:軟體定義衛星是以軟體為手段,將傳統衛星上由分系統實現的通訊、載荷等功能軟體化,便於通過軟體實現衛星的在軌重構,適應不同的任務需求。軟體定義衛星的設計理念是將衛星硬體和衛星軟體剝離。設計模組化的衛星硬體,可以有助於實現軟體定義衛星的快速整合與裝配,為衛星的產品模組化生產、靈活性配置、快速響應任務需求和軟體公升級提供支撐。針對軟體定義衛星的特點,首先對衛星硬體開展了模組化功能分解設計,並在此基礎上對衛星硬體必備的結構和電子學進行了模組化設計研究.

3.軟體定義有線通訊系統的硬體電路設計:為了適應部隊資訊化的通訊需求,在分析有線通訊系統組成的基礎上,設計了有線通訊系統的硬體電路。硬體電路主要包括協議處理、調製解調、模數轉換、功率放大和接收檢測等功能部分。通過軟體驗證表明該電路可滿足有線通訊的要求,該硬體電路通過搭載不同的軟體可實現靈活、多樣的有線通訊系統.

4.基於 fpga的軟體定義協議無關解析器:隨著資訊科技的繁榮發展,著各種功能的異構網路層出不窮,異構融合網路成為下一代網路發展的必然趨勢。實現異構網路之間的通訊,網路**裝置必不可少。傳統的**裝置僅支援固定的協議配置,缺乏可擴充套件性,無法支援新的網路協議。針對這種情況,提出了一種基於fpga的軟體定義協議無關解析器,通過軟體定**析流程,給予解析器靈活可程式設計的特性,無須對硬體裝置進行更改即可完成對多種協議資料報的解析並提取出資料報**所需的關鍵資訊。通過高效能fpga平台對解析器進行了實現,並進行了硬體資源開銷和效能的評估。實驗結果表明,可以完成多種異構網路協議的快速解析,得到完整的解析資料.

按照摩爾定律,當**不變時,積體電路上可容納的元器件的數目,約每隔18-24個月便會增加一倍,效能也將提公升一倍。換言之,每一美元所能買到的電腦效能,將每隔18-24個月翻一倍以上。這一定律揭示了資訊科技進步的速度。但是隨著發展,cpu的效能也逐漸到達瓶頸,積體電路規模會達到極限,即便現在的晶元已經達到nm級別,但是工藝已經趨於極限,未來提公升的空間有限.設計人員無法再創造出可以實現更高指令級並行性的cpu架構,電晶體數每年增長50%,但cpu的效能每年僅增長10%。我認為相比較於cpu,未來的應用場景應該更多在於gpu.2023年,nvidia發布了tesla v100計算卡,單卡可提供120 tflops的tensor效能,而在每個sxm2格式上由8塊telsa v100組成,提供960 tflops tensor計算效能,利用到nvidia nvlink高速互聯技術建立混合型立體網格架構,用這樣的一台伺服器就可以替換掉160臺雙路cpu的伺服器或者4個機架,每台v100伺服器相比同等效能的cpu伺服器可節省約50萬美元.cpu的計算能力發展到今天,進步的速度逐步放慢是必然的, 此時gpu強大的平行計算能力就逐漸顯現出來了,gpu發展可以彌補cpu的不足,加強高強度計算負載,是面向ai等未來應用場景最理想的方案。而且晶元國產化的出現將成為我國雲計算突破的契機,在雲計算時代都是由大量地段x86伺服器堆積而成,不再追求單個cpu計算速度.而且隨著自主可控市場成熟,國產晶元,雲計算,高效能計算必然走向一體化.

隨著ai計算的發展,新的架構會被設計出來,傳統的馮諾依曼會受到挑戰,圖靈架構同樣如此.新的模擬計算機(神經形態)快速的進步,晶元上的神經網路也發展迅速.隨著新神經網路的成熟,每個人都會認同可程式設計性和靈活性的重要性。神經元計算會成為主流.

未來的晶元,我覺得gpu的發展前景優於cpu.且隨著ai的發展會出現新的架構方式,可能取代傳統的馮諾依曼和圖靈架構.神經網路的神經元計算可能發展成為主流,不再單純依賴於cpu,而是快速發展gpu,平行計算.雲計算的出現,也進一步擺脫了對cpu的依賴,大量低端伺服器的堆積同樣可以處理大量資料.目前晶元的國產化,降低了晶元成本,所以我覺得近幾年以雲計算,大資料發展為趨勢.

計算機組成與結構基礎

1.暫存器,cache,記憶體 暫存器是 處理器內的組成部份。它跟cpu有關。速度比記憶體快100倍左右。暫存器嵌在cpu中,記憶體單獨插在主機板上.所以cpu從暫存器獲得資料要比記憶體快 在c語言中register儲存型別的變數是放在暫存器中的.暫存器是cpu為了運算,必須要有的臨時存放資料的器件...

計算機組成與系統結構

馮諾依曼體系結構 1.採用 儲存程式 工作方式 2.計算機由運算器 控制器 儲存器 輸入裝置和輸出裝置5個基本部件組成 3.儲存器不僅可以能儲存資料,而且可以存放指令,形式上資料和指令沒有區別,但計算機應能區分他們 4.計算機內部以二進位制形式表示指令和資料 每條指令由資料碼和位址碼兩個部分組成,操...

計算機組成原理與結構

計算機硬體能直接執行的是 機器語言 完整的計算機系統通常包括 硬體系統和軟體系統 計算機的字長與運算精確度密切相關,字長越長,資料位越多,小數或浮點數表示時能提高精確度 關於計算機系統層次結構的描述中 低層使用者對硬體的透明性比高層使用者要低 指令集架構層是軟 硬體間的介面 低層 執行效率比高層 執...