下載提醒:《人工智慧晶片技術深度分析》採用圖文並茂,深入淺出,內容包括人工智慧晶片概述、人工智慧晶片關鍵技術、GPU晶片技術分析、FPGA晶片技術分析、ASIC晶片技術分析、類腦晶片分析、人工智慧晶片專利分析、人工智慧晶片全球市場分析、人工智慧晶片在國內發展情況等7個章節。
知識全解系列
(持續更新中…)
資料中心網路知識全解(PPT)
人工智慧基礎知識全解(含實踐)
CPU基礎知識全解(PPT)
GPU基礎知識全解(PPT)
一、CISC 指令集
本文來自“浙江圖靈算力研究院:RISC-V晶片產業發展報告(2024)”,CISC 是指複雜指令系統計算機(Complex Instruction Set Computer)。隨著計算機系統的複雜,要求計算機指令系統的構造能使計算機的整體效能更快更穩定。最初,人們採用的最佳化方法是透過設定一些功能複雜的指令,把一些原來由軟體實現的、常用的功能改用硬體的指令系統實現,以此來提高計算機的執行速度,這種計算機系統就被稱為複雜指令系統計算機,簡稱 CISC。
(1)CISC 指令集主要特點
為了支援複雜指令集,CISC 通常包括一個複雜的資料通路和一個微程式控制器。微程式控制器由一個微程式存儲器、一個微程式計數器(MicroPC)和地址選擇邏輯構成。
在微程式儲存器中的每一個字都表示一個控制字,並且包含了一個時鐘週期內所有資料通路控制訊號的值。這就意味著控制字中的每一位表示一個數據通路控制線的值。例如,它可以用於載入暫存器或者選擇 ALU 中的一個操作。
此外每個處理器指令都由一系列的控制字組成。當從記憶體中取出這樣的一條指令時,首先把它放在指令暫存器中,然後地址選擇邏輯再根據他來確定微程式儲存器中相應的控制字順序起始地址。當把該起始地址放入 MicroPC 中後,就從微程式記憶體中找到相應的控制字,並利用它在資料通路中把資料從一個暫存器傳送到另一個暫存器。
由於MicroPC 中的地址併發遞增來指向下一個控制字,因此對於序列中的每個控制器都會重複一遍這一步驟。最終,當執行完最後一個控制字時,就從記憶體中取出一條新的指令,整個過程會重複進行。由此可見,控制字的數量及時鐘周期的數目對於每一條指令都可以是不同的。因此在 CISC 中很難實現指令流水操作。另外,速度相對較慢的微程式存儲器需要一個較長的時鐘週期。由於指令流水和短的時鐘週期都是快速執行程式的必要條件,因此 CISC 體系結構對於高效處理器略有挑戰。
CISC 指令集主要具有以下特點。一是指令系統複雜。指令數較多,一般大於 100 條。定址方式和指令格式較多,一般大於 4 種。二是絕大多數指令需要多個機器時鐘週期才能執行完畢。三是各種指令都可以訪問儲存器。
(2)CISC 指令集主要問題
一是 CISC 中各種指令的使用頻度相差很懸殊,大量的統計數字表明,大約有 20%的指令使用頻度比較高,佔據了 80%的處理機時間。換句話說,有 80%的指令只在 20%的處理機執行時間內才被用到。
二是 VLSI 的整合度迅速提高,使得生產單晶片處理機成為可能。在單晶片處理機內,希望採用規整的硬佈線控制邏輯,不希望用微程式。而在 CISC 處理機中,大量使用微程式技術以實現複雜的指令系統,給 VLSI 工藝造成很大困難。
三是雖然複雜指令簡化了目標程式,縮小了高階語言與機器指令之間的語義差距,然而增加了硬體的複雜程度,會使指令的執行週期大大加大,從而有可能使整個程式的執行時間反而增加。
二、RISC 指令集
RISC 是指精簡指令系統計算機(Reduced Instruction Set Computer),是在 20 世紀 80 年代發展起來的,其基本思想是儘量簡化計算機指令功能,只保留那些功能簡單、能在一個節拍內執行完成的指令,而把較複雜的功能用一段子程式來實現。
(1)RISC 指令集主要特點
RISC 處理器所設計的指令系統應使流水線處理能高效率執行,並使最佳化編譯器能生成最佳化程式碼。RISC 為使流水線高效率執行,應具有下述特徵:(1)簡單而統一格式的指令譯碼;(2)大部分指令可以單週期執行完成;(3)只有 LOAD 和 STORE 指令可以訪問儲存器;(4)簡單的定址方式;(5)採用延遲轉移技術;(6)採用 LOAD 延遲技術。
RISC 為使最佳化編譯器便於生成最佳化程式碼,應具有下述特徵:(1)三地址指令格式;(2)較多的暫存器;(3)對稱的指令格式。
RISC 的關鍵技術包括:一是延時轉移技術。在轉移指令之後插入了一條有效的指令,而轉移指令好像被延遲執行了,因此,把這種技術稱為延遲轉移技術。採用指令延遲轉移技術時,指令系列的調整由編譯器自動進行,一般不需要人來干預。
二是指令取消技術。採用指令延時技術,遇到條件轉移指令時,調整指令系列非常困難,在許多情況下找不到可以用來調整的指令。有些 RISC 處理機採用指令取消技術,在使用指令取消技術的處理機中,所有轉移指令和資料變換指令都可以決定下面待執行的指令是否應該取消。如果指令被取消,其效果相當於執行了一條空操作指令,不影響程式的執行環境。
三是重疊暫存器視窗技術。基本思想是在處理機中設定一個數量比較大的暫存器堆,並把它劃分成很多視窗。每個過程使用其中相鄰的三個視窗和一個公共的視窗,而在這些視窗中有一個視窗是與前一個過程共用,還有一個視窗是與下一個過程共用的。
與前一過程共用的視窗可以用來存放前一過程傳送給本過程的引數,同時也存放本過程傳送給前一過程的計算結果。
(2)RISC 指令集主要問題
RISC 的主要問題是編譯後生成的目的碼較長,佔用了較多的儲存器空間。但由於半導體整合技術的發展,使得 RAM 晶片整合度不斷提高和成本不斷下降,目的碼較長已不成為主要問題。RISC 技術存在另一個潛在缺點是對編譯器要求較高,除了常規最佳化方法外,還要進行指令順序排程,甚至能替代通常流水線中所需的硬體聯鎖功能。
(二)主流指令集架構(ISA)介紹
1、X86 架構
基於 CISC(複雜指令集)的 X86 架構是一種為了便於程式設計和提高儲存器訪問效率的晶片設計體系,包括兩大主要特點:一是使用微程式碼,指令集可以直接在微程式碼儲存器裡執行,新設計的處理器,只需增加較少的電晶體電路就可以執行同樣的指令集,也可以很快地編寫新的指令集程式;二是擁有龐大的指令集,X86 擁有包括雙運算元格式、暫存器到暫存器、暫存器到儲存器以及儲存器到暫存器的多種指令型別,為實現複雜操作,微處理器除向程式設計師提供類似各種暫存器和機器指令功能外,還透過存於只讀存儲器(ROM)中的微程式來實現極強的功能,微處理器在分析完每一條指令之後執行一系列初級指令運算來完成所需的功能。
相較 RISC(精簡指令集)體系,X86 指令體系也有其缺點。
一是通用暫存器規模小,X86 指令集只有 8 個通用寄存器,CPU 大多數時間是在訪問儲存器中的資料,影響整個系統的執行速度。而 RISC 系統往往具有非常多的通用寄存器,並採用了重疊暫存器視窗和暫存器堆等技術,使寄存器資源得到充分的利用。
二是解碼器影響效能表現,解碼器的作用是把長度不定的 X86 指令轉換為長度固定的類似於 RISC 的指令,並交給 RISC 核心。解碼分為硬體解碼和微解碼,對於簡單的 X86 指令只要硬體解碼即可,速度較快,而遇到複雜的 X86 指令則需要進行微解碼,並把它分成若干條簡單指令,速度較慢且很複雜。
三是 X86 指令集定址範圍小,約束使用者需要。四是 X86 的複雜指令集單個指令長度不同,運算能力強大,不過相對來說結構複雜,影響執行效率。相反,ARM 的精簡指令集單個指令長度固定,只包含使用頻率最高的少量指令,效能一般但結構簡單,執行效率穩定。
2、ARM 架構
ARM 精簡指令集是為了提高處理器執行速度而設計的晶片體系,它的關鍵技術在於流水線操作即在一個時鐘周期裡完成多條指令。相較複雜指令集 CISC 而言,以 RISC為架構體系的 ARM 指令集的指令格式統一、種類少、定址方式少。簡單的指令意味著相應硬體線路可以儘量做到最佳化,從而提高執行速率,但因為指令集的精簡,所以許多工作必須組合簡單的指令,而針對複雜組合的工作便需要由編譯程式來執行。而 CISC 體系的 X86 指令集因為硬體所提供的指令集較多,所以許多工作都能夠以一個或是數個指令來代替,編譯的工作因而減少了許多。
ARM 指令集架構的主要特點:一是體積小、低功耗、低成本、高效能;二是大量使用暫存器且大多數資料操作都在暫存器中完成,指令執行速度更快;三是定址方式靈活簡單,執行效率高;四是指令長度固定,可透過多流水線方式提高處理效率。
3、MIPS 架構
MIPS 是高效精簡指令集計算機體系結構中的一種,是較為純正的 RISC 指令集,與 ARM 架構相比,MIPS 的優勢主要有五點:一是早於 ARM 支援 64 位指令和操作;二是MIPS 有專門的除法器,可以執行除法指令;三是 MIPS 的核心暫存器比 ARM 多一倍,在同樣的效能下 MIPS 的功耗會比 ARM 更低,同樣功耗下效能比 ARM 更高;四是MIPS 指令比 ARM 稍微多一些,執行部分運算更為靈活;五是 MIPS 在架構授權方面更為開放,允許授權商自行更改設計,如更多核的設計。
同時,MIPS 架構也存在一些不足之處:一是 MIPS 的記憶體地址起始有問題,這導致了 MIPS 在記憶體和 cache 的支持方面都有限制,即 MIPS 單核心無法面對高容量記憶體配置;
二是 MIPS 技術演進方向是並行執行緒,類似 Intel 的超執行緒,而 ARM 發展方向是物理多核,從目前核心移動裝置的發展趨勢來看物理多核佔據了上風;三是 MIPS 雖然結構更加簡單,但是執行指令流水線週期遠不如 ARM 高效;四是MIPS 學院派發展風格導致其商業程序遠遠滯後於 ARM,當 ARM 與高通、蘋果、NVIDIA 等晶片設計公司合作大舉進攻移動終端的時候,MIPS 還停留在高畫質盒子、印表機等小眾市場產品中;五是 MIPS 自身系統的軟體平臺也較為落後,應用軟體與 ARM 體系相比要少很多。
4、POWER 架構
(1)POWER 架構技術概況
POWER 架構是由 IBM 設計的一種 RISC 處理器架構,全稱為“Performance Optimization With Enhanced RISC”。POWER 在大型機領域獨具優勢,並且歷代 POWER 處理器都在技術突破上獨領風騷。POWER1 一經推出,便成為當時最強大的伺服器處理器,與當時 HP 的 PA-RISC、Sun 的Sparc、Intel 的 486 等 RISC 處理器不同,POWER1 進行了功能劃分,實現了超標量計算的能力。它還有單獨的浮點暫存器,可適應從低端到高階的 UNIX 工作站。POWER3是全球首款 64 位架構處理器,開始應用銅晶片和 SOI(絕緣體上矽)技術。直至 POWER7依然追求最高效能,不僅具備亂序執行、智慧執行緒等技術,還實現了 SMP(對稱多處理技術)的硬體一致性處理。
在高階伺服器領域,POWER 的大規模 SMP 系統性能大幅超越 X86。POWER 系統在硬體層面的可靠性、可用性、可維護性(RAS)方面明顯強於 X86 系統。Intel 只提供處理器,整機需要廠商自己設計,因此,大多中小廠商依靠Intel 的公版方案做白牌整機方案,這與 IBM 從晶片開始設計的整機方案無法相比。此外,POWER 機器使用 AIX 操作系統(IBM 為 POWER 專門開發的類 UNIX 作業系統),在系統穩定性、軟體方案整合度(例如備份軟體、叢集檔案系統等)、廠商技術支援能力等方面強於開放平臺,非常適合關鍵性應用行業。
(2)IBM 開放 POWER 架構
由於基於 POWER 架構晶片的 IBM 伺服器業務在 Intel X86 架構伺服器業務的衝擊下,無論是營收還是市場份額均處在大幅下滑狀態。為了分攤成本,2013 年 8 月,在POWER8 釋出之後,IBM 決定向外部開發者開放 POWER晶片架構,允許第三方企業對這一產品進行改進,促成了OpenPOWER 基金會(聯盟)成立。隨著 IBM 於 2014 年初將其 X86 伺服器業務出售給聯想之後,POWER 系列(晶片及伺服器)僅為 IBM 尚具硬體業務的主攻方向。
POWER 的開放與 X86 相比有三個特點。一是 POWER的開放程度遠遠高於 Intel 的 X86 架構,Intel 暫時是不可能開放其核心技術的。在開源 POWER 生態圈,IBM 跟合作夥伴的合作從最底層的晶片開始,有非常豐富多樣的合作模式,可以形成多種生態系統。二是可實現差異化的高性能產品。X86 系統競爭已經非常激烈,而且同質化現象嚴重。
IBM 提供特殊的 API 讓使用者為特定負載定製有特殊 I/O 的處理器。三是可協助應用遷移。在開源 POWER 之前,IBM就與合作伙伴開始力推各種新老應用向 POWER Linux 的遷移 。



免責申明:本號聚焦相關技術分享,內容觀點不代表本號立場,可追溯內容均註明來源,釋出文章若存在版權等問題,請留言聯絡刪除,謝謝。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(44本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
全店內容持續更新,現下單“架構師技術全店資料打包彙總(全)”一起傳送“伺服器基礎知識全解(終極版)”和“儲存系統基礎知識全解(終極版)”pdf及ppt版本,後續可享全店內容更新“免費”贈閱,價格僅收259元(原總價499元)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取“架構師技術全店資料打包彙總(全)”電子書資料詳情。

