MAXQ RISC架構將高性能和低功耗與各種復雜的模擬功能相結合。
MAXQ?架構簡介
如今,微控制器系統設計人員在為項目選擇微控制器時有無數種選擇——8位、16位、RISC、CISC或介于兩者之間。通常,在選擇過程中會考慮許多標準。這些可能包括價格、性能、功耗、代碼密度、開發時間,甚至是未來的遷移路徑替代方案。使選擇過程復雜化,對一個標準的嚴格要求通常會影響其他領域的選擇。一個應用中的關鍵因素在另一個應用中可能并不重要。因此,沒有一種微控制器適用于所有項目。但要取得成功,現代微控制器必須在所考慮的許多領域表現出色。
當世界知名的模擬芯片制造商Maxim Integrated與業界領先的高性能微控制器供應商Dallas Semiconductor聯手時,創造了將卓越的模擬功能與領先的微控制器集成的機會。這種合作關系的一個成果是MAXQ RISC架構,這是一種新的微控制器內核,結合了高性能和低功耗以及各種復雜的模擬功能。
將復雜的模擬電路與高性能數字模塊集成時,工作環境應盡可能保持安靜和無噪聲。然而,微控制器內核數字電路中發生的時鐘和開關會將噪聲注入敏感的模擬部分。這就是混合信號設計人員面臨的困難:實現高微控制器性能,同時將可能影響敏感模擬電路的時鐘噪聲降至最低。
MAXQ架構通過智能時鐘管理和利用來降低噪聲。這意味著MAXQ內核只支持那些需要隨時時鐘的電路,從而降低了功耗,為模擬集成提供了最佳的安靜環境。此外,MAXQ架構在每個時鐘上執行許多功能,以最大限度地提高其性能。本文概述了MAXQ架構,并重點介紹了其競爭優勢。
不浪費周期時鐘
MAXQ架構旨在實現高性能功率比。生成高效機器的第一個必要條件是最大限度地利用時鐘周期來執行用戶代碼。
MAXQ實現高利用率的最基本途徑是單周期指令執行。單周期指令執行通過增加指令帶寬從而提高性能和/或通過降低時鐘頻率的能力降低功耗,使最終用戶受益。所有MAXQ指令在單個時鐘周期內執行,但跳遠/長調用和某些擴展寄存器訪問除外。雖然許多RISC微控制器聲稱支持單周期執行,但這通常適用于一小部分指令或尋址模式。使用MAXQ,單周期執行是常態。
其次,MAXQ架構提高了時鐘周期利用率,因為它不需要指令流水線(許多RISC微控制器通用)來實現單周期工作。MAXQ指令解碼和執行硬件非常簡單(時序也非常快),這些操作與程序獲取本身進入相同的時鐘周期,對最大工作頻率的影響最小。為了說明消除指令流水線的好處,請考慮從流水線執行的通用RISC CPU。當程序分支發生時,CPU 使用一個或多個時鐘周期(取決于管道深度)將程序提取轉移到目標分支地址,并丟棄已獲取的指令。顯然,使用時鐘周期丟棄指令而不是執行指令是浪費和不可取的,因為它會降低性能并增加功耗。雖然該操作對用戶來說是不希望的,但 CPU 為重新加載管道而竊取的時鐘是體系結構的產物,并且是不可避免的。MAXQ架構區別于其他8位和16位RISC微控制器,提供單周期執行,無需指令流水線(以及隨之而來的浪費時鐘周期)。
MAXQ指令字
MAXQ指令字是獨一無二的,因為只有一條經典意義上的指令,即“MOVE”指令。“MOVE”指令的源操作數和目標操作數是創建指令和內存訪問以及觸發硬件操作的基礎。剖析16位MAXQ指令字只能顯示兩個元件:7位目標字段和8位源字段以及源格式位。源格式位在編碼為 0 時允許將任何即時或文本字節值(即 #00h-#FFh)作為源操作數提供。在寄存器初始化例程和執行ALU操作期間,對單個指令字內任何直接字節源的無限制支持可能非常有價值。非文字源和目標可能性細分為較小的組或模塊。圖1所示為16位MAXQ指令字。
圖1.MAXQ指令字很簡單,但功能非常強大。
所有機器指令都簡化為傳輸操作的源操作數和目標操作數。這些操作數可用于選擇物理MAXQ器件寄存器。這種類型的轉移是最基本且很容易想象的。然而,在MAXQ機器中,源操作數和目的操作數與物理寄存器并不嚴格關聯。
MAXQ架構在執行間接存儲器訪問時使用相同的源到目標傳輸結構。某些目標和/或源編碼被標識為物理存儲器(如堆棧、累加器陣列和數據存儲器)的間接訪問門戶。這些間接內存訪問入口使用物理指針寄存器來定義用于訪問的相應內存地址位置。例如,間接訪問數據存儲器的一種方法是使用“@DP[0]”操作數。當分別用作源或目標時,此操作數觸發對數據指針 0 (DP[0]) 寄存器尋址的數據存儲器位置的間接讀取或寫入訪問。
MAXQ架構還使用特殊的目的和/或源編碼來觸發底層硬件操作。這種觸發機制是創建隱式鏈接到某些資源的MAXQ指令的基礎。例如,數學運算(ADD、SUB、ADDC 和 SUBB)作為特殊的目標編碼實現,這些編碼隱式針對其中一個工作累加器,僅由用戶提供源操作數。條件跳轉隱式以指令指針 (IP) 為目標進行修改,并作為可評估的每個狀態條件的單獨目標編碼實現。
間接內存訪問和底層硬件操作觸發器盡可能組合在一起,以創建新的源/目標操作數,這提供了雙重優勢。數據指針的自動遞增/遞減間接訪問助記符演示了這種組合。當使用 DP[0] 從數據存儲器讀取時,用戶可以分別使用“@DP[0]++”或“@DP[0]--”源操作數在讀取操作之后選擇遞增或遞減指針。
MAXQ指令字具有許多優點。指令字包含模塊化分組的源和目標操作數,允許簡單快速的指令解碼硬件,并限制那些不參與傳輸的模塊的信號切換,從而降低動態功耗和噪聲。指令字使用其完整的 16 位來指定源和目標操作數,從而為物理寄存器、間接內存訪問和硬件觸發的操作產生豐富的地址空間。最終,將豐富的源/目標地址空間與對源目標組合的最小限制耦合,從而產生高度正交的計算機。
MAXQ系統亮點
MAXQ系統不僅提供了當今微控制器用戶所期望的基本硬件資源和能力,而且還增強了這些資源并增加了新的功能,以擴展器件的功能和實用性。雖然記錄所有MAXQ系統資源是不可行的,但這里將討論一些資源。
工作蓄能器
到目前為止,MAXQ架構已作為一個整體進行處理。然而,MAXQ10和MAXQ20這兩個略有不同的版本將在最初的MAXQ產品系列中實現。MAXQ10和MAXQ20選項的主要區別在于工作累加器的標準寬度和支持算術單元(ALU)。MAXQ10支持8位(字節寬)累加器和ALU操作,MAXQ20支持16位(字寬)累加器和ALU操作。MAXQ器件至少配備16個蓄能器,根據應用的不同,可有多達16個蓄能器。在源/目標傳輸映射中,這些累加器位于系統寄存器模塊中,每個累加器都可以作為 A[n] 直接訪問,其中 n 對應于它們各自的索引。因此,配備0個累加器的MAXQ器件將包含累加器A[1],A[14]...A[15]和A[16]。任何一個累加器都可以被指定為活動累加器,并通過 Acc 助記符間接訪問,方法是將累加器指針寄存器 AP 設置為其特定索引(即 Acc = A[AP])。AP寄存器僅實現向累加器陣列提供二進制解碼所需的位數,因此在具有<>個累加器的MAXQ器件中需要<>位。所有 ALU 操作都隱式指定活動累加器作為正在執行的操作的目標。以“ADDC src”指令為例。此指令始終在活動累加器、進位標志和指定的源 (src) 操作數之間執行加法操作。豐富的位操作和移位/旋轉指令圍繞著有源累加器。
附加硬件附加到累加器指針,以加快對累加器文件的有序和可預測訪問。累加器-指針控制 (APC) 寄存器提供用于復位 AP 以及簡化累加器指針寄存器上的遞增、遞減和模運算的位。
處理器狀態標志 (PSF) 寄存器包含五個狀態標志,這些標志與活動累加器狀態和 ALU 操作具有特殊含義。這些是 (C)arry、(Z)ero、(S)ign、(E)qual 和 (OV)erflow status 標志。可以評估其中一些標志以執行條件跳轉和返回。PSF 寄存器還提供兩個額外的通用標志(GF1 和 GF0),以滿足用戶軟件需求。
專用硬件堆棧
MAXQ架構包含一個專用的硬件堆棧。任何MAXQ器件的堆棧深度都取決于產品。專用硬件堆棧具有兩個明顯的優勢。首先,它允許保留數據存儲器以供其他應用程序使用,而不是被堆棧消耗,其次,它支持快速PUSH/POP操作,因為存在專用的讀/寫端口,不需要與數據存儲器共享。如果硬件堆棧深度不足以滿足所需的上下文存儲,則數據指針的類似堆棧的操作(寫入的前遞增/遞減,讀取的后遞增/遞減)非常適合在數據存儲器中創建軟件堆棧。
靈活的中斷架構
MAXQ10和MAXQ20支持單個用戶可配置的中斷矢量地址寄存器。該方案允許根據用戶偏好放置中斷標識和服務例程。任何中斷源都沒有自然優先級。除了正常的單個和全局中斷使能和標志外,在模塊級別還提供屏蔽和識別標志。單個源啟用、模塊到全局級別的屏蔽和中斷源的優先級由用戶代碼控制。所述中斷支撐結構可以是有利的。首先,沒有未使用的代碼空間。對于每個源具有專用中斷向量地址的微控制器,通常不能這樣說,因為與未使用的中斷向量相關的代碼空間通常未使用。其次,用戶加強了對啟用哪些中斷和中斷優先級的控制。
硬件環路計數器可減少開銷
MAXQ架構實現DJNZ指令,可與兩個16位環路計數器(LC[0]或LC[1])寄存器中的任何一個配合使用。在單時鐘周期中,“DJNZ LC[n],src”指令遞減環路計數器寄存器,如果計數器未達到0,則有條件地將程序執行分支到指定地址。對于競爭RISC微控制器,更新計數器寄存器和測試環路終止條件通常是兩個獨立的操作。在MAXQ中合并這兩個動作意味著微控制器應用代碼中常見的軟件環路需要更少的代碼和周期開銷來管理環路計數器。單周期、DJNZ 觸發的環路計數器遞減和條件分支操作完全遵循我們最大化時鐘周期利用率的目標。
增強的數據指針
MAXQ配備三個16位數據指針(DP[0]、DP[1]和BP[Offs])。所有三個數據指針均可通過數據指針控制(DPC)寄存器中的字/字節選擇(WBSn)寄存器位單獨配置為字或字節訪問模式。所有三個數據存儲器指針都支持單周期間接內存訪問,寫入操作具有前遞增/遞減,讀取操作的遞增/遞減后。其中一個數據指針,幀指針 (FP=BP[Offs]),由 16 位基指針 (BP) 寄存器和 8 位偏移 (Offs) 寄存器的無符號加法組合生成。這種類型的指針對于 C 編譯器開發工具尤其重要,更具體地說,在處理堆棧幀時。
具有馮·諾依曼優勢的哈佛記憶架構
MAXQ架構采用哈佛存儲器結構,其中程序和數據存儲器總線是分開的,因此可以在同一時鐘周期內同時訪問指令字和數據字。這種存儲器組織方式對于實現最大性能并支持訪問數據存儲器的指令的單周期執行是必要的。使用馮諾依曼存儲器接口的微控制器會遇到與在訪問程序存儲器、數據存儲器、I/O和外設之間共享總線帶寬相關的性能瓶頸。
馮·諾依曼存儲器架構的擁護者認為,無法訪問程序空間作為數據存儲器,反之亦然是一個弱點。具有可訪問性可以簡化常量存儲、查找表以及系統內或應用程序內編程替代方案。針對這一弱點的MAXQ架構解決方案是插入存儲器管理單元(MMU)和固定實用程序ROM,提供邏輯存儲器映射和固定實用程序代碼例程,以支持在系統編程和所需的訪問模式。
集中訪問資源
MAXQ架構的另一個重要特性是存在一個傳輸映射,其中包含所有資源的接入點。將其稱為傳輸映射而不是簡單的寄存器映射的原因是MAXQ架構所基于的傳遞觸發概念。
傳輸映射分為 16 個模塊。每個模塊中有 32 個索引或單獨的接入點。應該再次強調的是,這些接入點可用于對寄存器的直接讀/寫訪問,但它們也可用于間接訪問存儲器或觸發硬件操作。在 16 個模塊中,前 0 個模塊 (M5–M6) 分配給特定于設備的外設功能。這在傳輸映射中為外設寄存器和訪問提供了大量空間(32 x 192 = 10 個位置)。這些模塊基于特定的MAXQ器件選項,填充寄存器以實現數字I/O、定時器、串行端口、硬件乘法器、LCD驅動器、ADC和在線調試器等功能。最后6個模塊(M15-M2)保留用于MAXQ系統功能。系統模塊包含對MAXQ系統工作至關重要的寄存器,例如用于看門狗、系統時鐘和中斷控制的寄存器。系統模塊還包含工作累加器文件、數據指針和源/目標編碼,用于觸發間接內存訪問和/或特殊機器操作。基本系統寄存器空間在MAXQ器件選項中盡可能通用。圖<>給出了MAXQ源和目的傳輸圖示例。
圖2.所有MAXQ資源都可以通過中央傳輸圖訪問。
前綴寄存器模塊是MAXQ架構的一個特性,值得特別提及。存在單個前綴寄存器,其中數據(默認值 = 00h)用于需要它的傳輸操作。此前綴寄存器在加載時將數據保存一個時鐘周期,然后返回到 00h 狀態。索引 (n) 必須伴隨前綴寄存器 (PFX[n]) 選擇。由于傳輸映射中有 16 個模塊和每個模塊 32 個索引,因此無法使用單指令字中可用的源/目標編碼位直接訪問某些位置。模塊中的后 16 個源索引和后 24 個目標索引都是如此。前綴寄存器通過打開對這些位置的訪問窗口來解決此問題,該窗口持續一個周期。加載 PFX[n] 寄存器時,其索引 “n” 為緊隨其后的指令提供高階源位和目標位,其中 n = dds。在這方面,前綴寄存器模塊是一種手段,通過它可以提供額外的解碼位來訪問擴展(和/或受保護)寄存器。需要加載前綴寄存器的操作和訪問由匯編程序自動生成,不需要由用戶手動編碼。前綴寄存器模塊還可用于在寫入 16 位目標時連接源字節。盡管前綴寄存器對用戶是透明的,但前綴寄存器正好以這種方式用于跳轉和調用 16 位絕對地址。對于那些對MAXQ架構未來增強感興趣的人,前綴寄存器模塊為MAXQ指令集擴展或擴展到當前未使用的系統模塊空間提供了一種無縫機制。
總之,任何MAXQ器件上的完整傳輸映射都包含為該器件定義的所有系統和外設寄存器。同一映射提供數據存儲器、堆棧存儲器和累加器陣列的間接訪問點。該圖包含觸發MAXQ機器指令和底層操作的接入點,以及在未來MAXQ系列中簡單擴展指令集的機制。將所有資源的訪問點聚合到一個中央傳輸映射中,源到目標傳輸機會的數量非常大。集中式訪問還簡化了時鐘分配,僅對那些需要時鐘的資源。這促進了非常安靜的環境(因此MAXQ中的“Q”),這在集成模擬外設時是有利的。MAXQ架構允許外設功能的最大模塊化和便攜性。此策略有意采用,以配合快速的產品開發周期和最終用戶不斷變化的外圍設備要求,從而提高靈活性和重用性。外設功能的模塊化使得在為某些市場或應用創建新的MAXQ器件時,最大限度地減少了復制、添加或刪除標準MAXQ外設模塊所需的設計時間。
結論
MAXQ架構是當今微控制器行業的真正創新。MAXQ利用傳輸觸發架構實現高帶寬、高效率和高正交性的目標。此外,MAXQ系統和外設資源的模塊化組織有助于優化編譯器,并允許模塊的可移植性,以快速創建新的MAXQ導數。展望未來,MAXQ架構內置指令集擴展機制,適用于下一代產品。這些令人信服的優勢使MAXQ架構成為現有和未來項目的理想解決方案,因為無論項目的選擇標準如何,它都不可避免地排名靠前。
-
微控制器
+關注
關注
48文章
7646瀏覽量
151883 -
芯片
+關注
關注
456文章
51155瀏覽量
426299 -
RISC
+關注
關注
6文章
465瀏覽量
83813
發布評論請先 登錄
相關推薦
評論