超標量處理器11-Alpha21264 處理器

1. 簡介

21264處理器是一款4-way,亂序執行的超標量處理器,采用0.35um的CMOS工藝,工作電壓是2.2V, 工作頻率是466-667MHz; 處理器能支持60條指令,也即ROB的深度是60; Load/Store指令也采取亂序執行, 總共7級流水。I-CACHE和D-CACHE都是采用2路組相連,64KB
截屏2025-06-07 18.05.05.png
2級取指,1級rename, 1級issue, 1級read register file, 1級執行,1級寫回,共7級流水。

2. 取指

第一級訪問I-CACHE: 根據PC值讀I-CACHE, 得到一組cache set(也即兩個cache line), data+tag
第二級根據PC中的tag判斷是否hit, 然后選出正確的data(instruction)送到譯碼器和rename模塊。
同時將PC值送到分支預測器中,預測下一拍的PC值。這里的預測分為line/way預測和分支預測,line/way預測指的是根據PC值,預測出我們需要的inst位于cacheline中哪個way(圖中的successor way), 以及對應的PC值(圖中的index)。這里的預測地址(BTB)直接放到了I-CACHE中
缺點是每條cacheline都包括line/way的預測信息,但是很多cache line中其實沒有分支指令,從而造成了浪費。并且當一條cacheline被替換時,對應的line/way預測信息就被清除了,但獨立的BTB和cacheline 就沒有關系。
截屏2025-06-07 18.45.38.png
分支預測采用局部分支預測和全局分支預測競爭的的方式預測方向
截屏2025-06-07 18.53.54.png

3. 寄存器重命名

使用統一的PRF進行寄存器重命名,其中mapq的深度和ROB的深度是一致的,表示流水線最多可以執行多少條指令。下圖中的save map stage是checkpoint,用來做恢復用的,也是80個entry。我理解map contert-addressable memories 是用來處理uop個數超過限制的,4條指令,每條指令最多兩個source, 所以最多8個source, 有些指令在這個周期處理不了,需要留到下個周期。register scoreboard 是確定src 和dst atag,然后發送請求給arbiter, 請求分配若干個ptag, 并將atag和ptag的對應關系記錄下來。
截屏2025-06-08 12.09.11.png

4. 發射

包括兩個發射隊列,整數和浮點發射隊列,整數發射隊列有20個entry, 被4個執行單元共享;浮點有15個entry, 被2個執行單元共享
截屏2025-06-08 12.24.26.png

5. 執行單元

截屏2025-06-08 12.33.54.png
截屏2025-06-08 12.33.54.png

6. 提交

一條指令執行完之后并不會馬上離開流水線,而是會等到它之前的所有指令都執行完成之后,才會離開ROB,此時它的結果才可以更新處理器的狀態, 并對外界可見
如果一條指令在即將離開流水先后發生了異常,那么需要刷掉流水線中這條指令后的所有指令,rename, issueq, rob, pipeline中的都得刷掉。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86905.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86905.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86905.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring 中 Bean 的生命周期

一、什么是 Bean 生命周期? Spring 中的 Bean 生命周期是指一個 Bean 從 被容器創建到 最終銷毀 所經歷的一系列過程。 它體現了 Spring IOC 容器在管理 Bean 實例時所執行的各個鉤子流程,包括初始化、依賴注入、增強處理、銷毀等多個環節。 二、Bean 生…

C++ 中 std::string 與 QString 的深度剖析

在 C 編程領域,std::string 和 QString 是兩種廣泛應用的字符串類型,它們在設計理念、功能特性以及適用場景上都呈現出鮮明的特點。本文將從多個維度對這兩種字符串類型進行深度剖析,并詳細闡述它們之間的相互轉化方法。 std::string 是 C 標…

不止于“修補”:我如何用Adobe AI重塑設計與視頻敘事流程

最近我深度體驗了一把來自英國Parvis School of Economics and Music的Adobe正版教育訂閱,在把玩PhotoShop、Premiere Pro這些“老伙計”的新功能時,的確挖到了一些寶藏,覺得非常有必要與大家說道說道。首先得聊聊這個訂閱給我的直觀感受&…

重頭開始學ROS(5)---阿克曼底盤的URDF建模與Gazebo控制(使用Xacro優化)

阿克曼底盤的URDF建模與Gazebo控制(使用Xacro優化) 阿克曼底盤建模 建模 我們使用后輪驅動,前輪轉向的阿克曼底盤模型。 那么對于后輪只需進行正常的continous joint連接即可 對于前輪,有兩個自由度,旋轉和轉向&…

RabbitMq中啟用NIO

? 所屬類 com.rabbitmq.client.ConnectionFactory🧠 使用背景 RabbitMQ Java 客戶端默認使用傳統的 阻塞 I/O (java.net.Socket) 實現。如果你希望: 更好地控制 線程數獲得更好的 并發性能降低 每個連接的線程占用在高并發連接或消費者數量較多的系統…

[Dify]-基礎篇2- 如何注冊并快速上手 Dify 平臺

在生成式 AI 應用開發新時代,如何快速搭建一個高效、可維護、易上線的 AI 工具,是每位開發者關注的核心。Dify,正是為此而生的一站式平臺。本篇將以新手視角,帶你從注冊賬號、配置環境,到構建應用、部署上線,手把手完成你的第一個 AI 項目。 注冊并設置工作環境 1. 賬號…

Java面試寶典:基礎七

153. 如何實現對象克隆? 答: 對象克隆有兩種主要方式: 淺克隆:實現Cloneable接口并重寫Object.clone() class Person implements Cloneable {String name;Car car; // 引用類型@Override

spring-security原理與應用系列:requestMatchers和authorizeRequests

目錄 簡單示例 WebSecurityConfig requestMatchers ???????requestMatchers ???????antMatchers ???????chainRequestMatchers ???????setMatchers ???????requestMatcher ???????WebSecurity ???????performBuild…

Bessel位勢方程求解步驟

問題 考慮偏微分方程(PDE): ? Δ u u f , x ∈ R n , -\Delta u u f, \quad x \in \mathbb{R}^n, ?Δuuf,x∈Rn, 其中 f ∈ L 2 ( R n ) f \in L^2(\mathbb{R}^n) f∈L2(Rn)。這是一個線性橢圓型方程,稱為 Bessel 位勢方…

if __name__ == ‘__main__‘:

基本概念 if __name__ __main__: 是一個條件判斷語句,用于確定當前模塊是作為主程序運行,還是被其他模塊導入。 __name__ 變量 __name__ 是Python的一個內置變量,表示當前模塊的名稱當一個模塊被直接運行時,__name__ 的值會被…

淺談Apache HttpClient的相關配置和使用

Apache HttpClient是由Apache軟件基金會維護的一款開源HTTP客戶端庫,對比最基礎的 HttpURLConnection 而言,它的優勢時支持連接池管理,攔截器(Interceptor)機制,同步/異步請求支持等能力。 在使用這個組件時&#xff…

【Teensy】在ArduinoIDE中配置Teensy4.1

1.文件——首選項 在其他開發板管理器地址這里添加: https://www.pjrc.com/teensy/package_teensy_index.json 點擊確定! 2.安裝Teensy(for Arduino IDE…) 按照圖中1,2,3操作!可以選擇上一個版本(不使用最…

企業自建云概念解讀|私有云、專有云、混合云、分布式云、企業云

隨著云計算技術逐漸成熟,越來越多的企業開始在本地數據中心自行搭建云平臺,滿足數據合規、業務性能與連續性、節約成本等多方面的需求。不過,面對多種多樣的自建云產品,不少用戶會有類似的疑問:自建云等于私有云嗎&…

反彈 Shell 升級為全交互終端的兩種高效方法

目錄 ?? 升級反彈 Shell 為全交互終端:兩種高效方法 ??? 方法 1:利用 Python pty.spawn 創建偽終端 ?? 操作步驟

Hyper-YOLO: When Visual Object Detection Meets Hypergraph Computation論文精讀(逐段解析)

Hyper-YOLO: When Visual Object Detection Meets Hypergraph Computation論文精讀(逐段解析) 論文地址:https://arxiv.org/abs/2408.04804 CVPR 2024 Yifan Feng, Jiangang Huang, Shaoyi Du, Senior Member, IEEE, Shihui Ying, Jun-Hai Y…

Windows 下配置多個 GitHub 賬號的 SSH Key

Windows 下配置多個 GitHub 賬號的 SSH Key 假設你有以下兩個 SSH key 文件: 第一個賬號:id_rsa(默認)第二個賬號:id_rsa_github ? 步驟:在 Windows 上配置多個 GitHub 賬號 SSH Key 1?? 打開 SSH 配…

技術選型:時序數據庫(三)

IoTDB vs InfluxDB vs TDengine 時序數據庫橫評對比。 從 架構設計、性能、功能、生態、適用場景 等維度,對三款時序數據庫進行深度對比,助您精準選型。 一、核心架構對比 數據庫 存儲模型 數據模型 擴展性 Apache IoTDB 分層存儲(TsFi…

電子電路原理第十九章(非線性運算放大器電路的應用)

單片集成運算放大器價格便宜、用途廣泛且性能可靠。它們不僅可以用于線性電路,如電壓放大器、電流源和有源濾波器,而且可以用于非線性電路,如比較器、波形生成器和有源二極管電路。非線性運放電路的輸出通常與輸入信號的波形不同,這是因為運放在輸入周期的某個時間段內達到…

FPGA實現CameraLink視頻解碼轉SDI輸出,基于LVDS+GTX架構,提供2套工程源碼和技術支持

目錄 1、前言工程概述免責聲明 2、CameraLink協議理論學習3、相關方案推薦我已有的所有工程源碼總目錄----方便你快速找到自己喜歡的項目FPGA實現CameraLink視頻編解碼方案本博已有的 SDI 編解碼方案 4、工程詳細設計方案工程設計原理框圖輸入CameraLink相機LVDS視頻解碼模塊LV…

戶外人像要怎么拍 ?

前言: ” 接上篇,培養你的眼力 - 攝影構圖,本文是整理自《美國紐約攝影學院 攝影教材》,第三單元 - 第9課 - 自然光,課后習題及解答。“ 1. 正面光產生無深淺反差的平面感覺。 理解這題,首先得明白什么是…