硬科技:RISC諸神的黃昏系列 HP的PA-RISC (中)

2022.05.20 02:59PM
照片中提到了TIT TII、hp、5180-7362 REV B,跟JTB公司有關,包含了巴黎、PA-RISC、精簡指令集計算機、惠普、指令集架構

PA-RISC既然被公認是一個「保守的RISC指令集架構 (Conservative RISC)」,那麼科科們也就不得不了解一下這個RISC指令集究竟「保守」在哪裡。

我們先回顧Spectrum (光譜) 初版的開發時程:

  • 1981年:HP開始組織人力研究全新的指令集架構,統計並分析IBM 370大型主機 (Mainframe) 的應用程式行為模式,也「理所當然」的選擇走向RISC指令集架構。

  • 1982年初:HP實驗室完成指令集架構定義與相對應的虛擬記憶體系統。

  • 1983年4月:開始實做第一個TTL (Transistor-Transistor Logic,電晶體邏輯) 實驗樣品。

  • 1984年7月:完整的處理器樣品交付給軟體開發團隊。

  • 1985年:完成實驗室的原型系統,並在將其主要思想發表在當年的HP Journal第八期上,中心精神是 “Beyond RISC”。(坦白講,這樣稱呼將一個處處充滿老派色彩的RISC讓人有點滿臉黑直線)

  • 1986年:正式公開產品原型機,並正式命名為PA-RISC。PA是 “Precision Architecture” 的縮寫,意謂「精確架構」。

照片中提到了Beyond RISC: High-Precision Architecture、An introduction to scaling, complexity, and HP's new、computer architecture.,包含了文獻、寫作、紙、手寫、文獻

問題就來了,PA-RISC的指令集架構設計到底是「精確」在哪些地方?

HP的研究團隊將當時的計算機結構分成以下四個種類:傳統的von Neumann電腦、透過微碼實做指令的CISC、前者補上快取記憶體 (先驅者是IBM System/360 Model 85,計算機工業史上第一台有快取記憶體的電腦)、以及HP倡議的 “Havard Architecture (雖然此名詞的原意是連指令資料的主記憶體都分而治之,不限於快取記憶體)”。

照片中提到了Control、Data、Path,包含了數、產品設計、產品、設計、線

照理說,快取記憶體的存在對於軟體來說是「透明」的,但是PA-RISC前身Spectrum研發團隊最終決定「讓快取記憶體和TLB (Translation Lookaside Buffer,轉譯後備緩衝區,用來加速虛擬位址與實體位址轉換的小型快取記憶體)」可由軟體手段讓作業系統對其進行精密的控制,這也是「精確 (Precision)」的由來。

那麼PA-RISC是如何「精確控制」快取記憶體的行為?藉由Cache Hint (快取暗示),記憶體載入 (Load) 與回存 (Store) 指令具有2位元用來「暗示」該快取資料的特性,如空間區域性和時間區域性、或著根本就不值得浪費快取記憶體空間等等,「指導」高階語言編譯器該怎麼排程某些指令,這種「軟硬兼備」的編譯器最佳化技術,後來也陸續出現在眾多後繼的新型指令集,包含預定用來取代PA-RISC的IA-64 (Itanium) 與在嵌入式應用大放異彩的RISC-V。

照片中提到了Table 5-8. Load Instruction Cache Control Hints、Table 5-9. Store Instruction Cache Control Hints、Completer Description,包含了數、線、字形、數、圖

如科科對閱讀原文有興趣,可好好的欣賞一下1986年HP Journal第8期上。對PA-RISC總體介紹中的這個關鍵段落:A cache should not be hidden (快取記憶體不應該被隱藏)。

照片中提到了A cache should not be hidden.、The efficiency of the storage hierarchy is crucial to any、high-performance machine, since storage is intrinsically,包含了阿爾巴尼亞語語錄、手寫、文本、字形、文獻

相較於Sample is beautiful的傳統RISC指令集設計準則,HP的PA-RISC可謂Simple, but not simple (盡可能簡單,但又不能太簡單)。只不過,PA-RISC會變成「最CISC的RISC (如果不考慮64位元前的ARM的話)」那又是令一段截然不同的故事了。

2 則回應