發布日期:2022-04-20 點擊率:120
協處理器(coprocessor),一種芯片,用于減輕系統微處理器的特定處理任務。協處理器,這是一種協助中央處理器完成其無法執行或執行效率、效果低下的處理工作而開發和應用的處理器。這種中央處理器無法執行的工作有很多,比如設備間的信號傳輸、接入設備的管理等;而執行效率、效果低下的有圖形處理、聲頻處理等。為了進行這些處理,各種輔助處理器就誕生了。需要說明的是,由于現在的計算機中,整數運算器與浮點運算器已經集成在一起,因此浮點處理器已經不算是輔助處理器。而內建于CPU中的協處理器,同樣不算是輔助處理器,除非它是獨立存在。
例如,數學協處理器可以控制數字處理;圖形協處理器可以處理視頻繪制。例如,intel pentium 微處理器就包括內置的數學協處理器。
內核相連協處理器可以附屬于ARM處理器。一個協處理器通過擴展指令集或提供配置寄存器來擴展內核處理功能。一個或多個協處理器可以通過協處理器接口與ARM內核相連。
協處理器可以通過一組專門的、提供load-store類型接口的ARM指令來訪問。例如協處理器15(CP15),ARM處理器使用協處理器15的寄存器來控制cache、TCM和存儲器管理。
協處理器也能通過提供一組專門的新指令來擴展指令集。例如,有一組專門的指令可以添加到標準ARM指令集中,以處理向量浮點(VFP)運算。這些新指令是在ARM流水線的譯碼階段被處理的。如果在譯碼階段發現是一條協處理器指令,則把它送給相應的協處理器。如果該協處理器不存在,或不認識這條指令,則ARM認為發生了未定義指令異常。這也使得編程者可以用軟件來仿真協處理器的行為(使用未定義指令異常服務子程序)。
協處理器80x87的內部結構如圖1所示。它可分為二個主要部分:控制部件(CU)和數值執行部件(NEU)。控制部件(CU)把協處理器接到CPU的系統總線上,協處理器和CPU都監視正在執行的指令流。如果當前將要執行的指令是協處理器指令(即:ESCape指令),那么,協處理器會自動執行它,否則,該指令將交給CPU來執行。數值執行部件(NEU)復制執行所有的協處理器指令,它有一個用8個80位的寄存器組成的堆棧,該堆棧用于以擴展精度的浮點數據格式來存放數學指令的操作數和運算結果。在協處理器指令的執行過程中,要么指定該堆棧寄存器中的數據,要么使用壓棧/出棧機制來從棧頂存放或讀取數據。在NEU部件中,還有一些記錄協處理器工作狀態的寄存器,如:狀態寄存器、控制寄存器、標記寄存器和異常指針寄存器等。有關這些寄存器的作用將在后面給予分別介紹。
2006年,AGEIA宣布了PhysX物理加速卡, PhysX被設計來處理那些耗時復雜的物理計算。2008年,Nvidia收購了AGEIA,NVIDIA將PhysX物理引擎,利用CUDA技術,由顯示核心加速運算。2008年,Khronos Group發布OpenCL,這是一個通用語言,支持ATI/AMD和Nvidia的GPU。2012年,Intel宣布Intel Xeon Phi協處理器。2013年,蘋果在iPhone 5s上首次推出了M7運動協處理器。
下一篇: PLC、DCS、FCS三大控
上一篇: 圖形協處理器概述