色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MAXQ指令集架構與RISC競爭對手的基準比較

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-03-01 18:00 ? 次閱讀

本文將MAXQ指令集與競爭微控制器進行比較,包括PIC16CXXX(中端器件)、AVR和MSP430。下表詳細介紹了每個指令集和體系結構的優缺點。我們將使用選定的代碼算法和操作來判斷代碼密度和代碼性能。最后一節介紹并重點介紹了每個代碼示例的MIPS(每秒數百萬條指令)/mA比率。

MAXQ指令集概述

MAXQ指令集建立在傳遞-觸發概念之上。指令字僅由源操作數和目標操作數組成。雖然這些源和目標操作數可能表示物理寄存器,但編碼也可以表示數據存儲器、堆棧存儲器和工作累加器的間接訪問點,和/或可能隱式觸發硬件操作。特定MAXQ器件的源和目的編碼在與MAXQ器件相關的MAXQ用戶指南中定義。雖然有些源和目的編碼可能是特定于器件的,例如指定用于外設硬件功能的編碼,但某些固定編碼用于構建MAXQ基本指令集。圖1給出了MAXQ指令字和指令集助記符。

poYBAGP_Ii6AHAKNAAASv67vG9o431.gif

記憶 描述 記憶 描述
位操作 邏輯
MOVE C, #0/#1 清除/設置進位 AND 邏輯和
CPL C 補體進位 OR 邏輯或
AND Acc. 邏輯和帶累加器位的進位 XOR 邏輯異或
OR Acc. 邏輯或帶累加器位的進位 CPL, NEG One's, Two's Complement
XOR Acc. 帶累加器位的邏輯異或進位 SLA, SLA2, SLA4 算術左移 1,2,4
MOVE C, Acc. 移動累加器鉆頭進行攜帶 SRA, SRA2, SRA4 算術右移 1,2,4
MOVE Acc.,C 將進位移至累加器鉆頭 SR 邏輯右移
MOVE C, src. 移動寄存器位進行攜帶 RR, RRC 旋轉右進位(防/進)獨占
MOVE dst., #0/#1 清除/設置寄存器位 RL, RLC 旋轉左攜帶(防/入)獨占
數學 數據傳輸
ADD, ADDC 添加進位(防/入)獨占 XCHN 交換累加器數據半字節
DJNZ LC[n], src 減去進位(前/內)排除 XCH(MAXQ20) 交換累加器數據字節
流量控制和分支 MOVE dst, src 將源移動到目標
JUMP {C/NC/Z/NZ/E/NE/S} 跳躍 - 無條件或有條件,相對或絕對 PUSH/POP 推/彈出堆棧
DJNZ LC[n], src 遞減計數器,跳躍不為零 POPI 彈出堆棧并啟用中斷 (INS<0)
CALL 調用 - 相對或絕對 其他
RET {C/NC/Z/NZ/S} 返回 - 無條件或有條件 NOP 無操作
RETI {C/NC/Z/NZ/S} 從中斷返回 - 無條件或有條件 CMP 與蓄能器比較

圖1.MAXQ指令字所示的源到目的地傳輸產生一個小但非常強大的指令集。

國際海底管理局 強度 弱點
AVR 32個通用工作寄存器(累加器)
數據指針是直接可尋址工作寄存器的一部分;允許對高/低指針字節進行輕松屏蔽和位操作。
從指針讀取 + 位移(0 到 63 字節位移)
堆棧僅受內部 RAM 限制(沒有 RAM 的 90S1200 除外,則堆棧深度 = 3)
單周期操作
相對跳躍 ±2k(雙周期)
所有AVR都有數據EEPROM
設置/清除每個狀態寄存器標志的明確說明;大量位操作指令
分離的間向量
流水線指令提取
超過 32 個注冊,負載 (LD)/存儲 (ST) 開銷成為 LD/ST 的一個因素 @X,Y,Z = 兩個周期,LPM = 3 個周期
減少了對文字操作的支持/范圍(沒有ADDC,EORI;只有CPI,ORI,ANDI,SUBI,SBCI,LDI在R16-R31上的工作)
無旋轉指令,不包括攜帶
條件跳躍范圍僅 +63/-64(雙周期)
呼叫/重新/重新輸入 = 四個周期
圖16CXXX 源,編碼為 ALU 操作的目標位
直接數據訪問(符號尋址模式)可以產生密集的代碼,有利于數據疊加
時鐘內核導致執行速度差
流水線指令提取
訪問上層數據存儲器組需要分頁 (RP1:0銀行選擇)
需要間接數據訪問 INDF、FSR 寄存器
無法直接加載W(累加器)
無 ADDC, SUBB
堆棧深度 = 8
沒有相對跳轉/分支 - 只有絕對跳躍(CALL,GOTO)或條件跳躍(BTFSx)
用于代碼存儲器讀取的 RETLW = 浪費的代碼空間,并且不允許代碼空間的 CRC
CALL/GOTO/RET/RETFIE/RETW 都需要八個時鐘周期(兩個指令周期)
單中斷向量

MAXQ與其他指令集架構的比較

可以嘗試將MAXQ指令助記符與其他架構的指令助記符進行比較,但這種分析既困難又不合理,因為每個指令集都是圍繞特定的器件資源和尋址模式構建的。因此,指令集和器件架構(指令周期、存儲器模型、寄存器集、尋址模式等)是不可分割的,必須一起考慮。表1總結了所比較的指令集架構的優缺點。

代碼示例

比較指令集架構的最佳方法是定義一組任務并編寫代碼來執行這些任務。以下各節描述了要執行的某些任務,并總結了每個指令集體系結構的代碼密度和性能結果。第一個例程的示例代碼包含在文檔中,而隨后的例程將僅用圖形和文本進行匯總。Maxim可根據要求提供與每組統計數據對應的代碼例程。

國際海底管理局 強度 弱點
MSP430 廣泛的源,目標尋址模式在操作碼中編碼 - 可以產生密集代碼
16 位內部路徑
內部存儲器可作為字或字節訪問
常量發電機 (CG) 用于 -1, 0, 1, 2, 4, 8
單周期操作
堆棧僅受內部 RAM 限制
條件/相對跳轉目標范圍 = ±512(雙周期)
單獨的中斷向量,自動清除單源標志
馮·諾依曼記憶圖+精心設計的尋址模式=多個周期。唯一的單周期指令是那些專門處理Rn的指令。 外設寄存器訪問 = 三到六個周期
CG不支持的文字需要額外的單詞
目標操作數不能注冊間接或注冊間接自動增量
寄存器間接不支持自動遞減
符號尋址限制了重用代碼例程的能力
MAXQ 系統和外設寄存器可作為同一邏輯存儲器空間中的源或目標進行訪問,從而實現最快的數據傳輸
單循環運行,無流水線
單周期條件跳轉(+127/-128)或雙周期絕對跳轉(0-65,535)
單周期呼叫/重新/重新輸入
自動遞減環路計數器寄存器消除了維護計數器時通常浪費的開銷
累加器(工作寄存器)文件的自動遞增/遞減/模控制
每個數據指針的可選字或字節訪問模式
可前綴的操作代碼允許簡單的指令集擴展或增強方法
主動累加器始終是 ALU 操作的隱式目標
單端口、同步、SRAM 數據存儲器要求在使用前激活(選擇)數據指針
默認堆棧深度 = 16,但是,數據指針硬件非常適合在數據存儲器中實現軟堆棧

內存副本 (MemCpy64)

存儲器復制示例演示了微控制器間接操作數據存儲器塊的能力。任務是將 64 個字節從數據存儲器源位置復制到不重疊的數據存儲器目標。以下頁面提供了每個微控制器的代碼例程,以及匯總復制操作的周期計數和字節計數的圖表。這些例程假定在復制操作之前已經定義了指針和字節計數,并且要復制的字節在存儲器中是字對齊的,因此可以使用MSP430和MAXQ20的字訪問模式。

;======================================AVR======================================
; ramsize=r16       ;size of block to be copied
; Z-pointer=r30:r31     ;src pointer
; Y-pointer=r28:r29     ;dst pointer
; USES:
; ramtemp=r1      ;temporary storage register
loop:           ; cycles
  ld ramtemp,Z+       ; 2 @src => temp
  st Y+,ramtemp       ; 2 temp => @dst
  dec ramsize       ; 1
  brne loop       ; 2/1
  ret         ; 4/5
          ;---------
          ;(7*bytecount) + return - 1(last brne isn't taken).
; WORD COUNT = 5 ; CYCLE COUNT = 451>

;=====================================MAXQ10====================================
; DP[0] ; src pointer (default WBS0=0)
; DP[1] ; (dst-1) pointer (default WBS1=0)
; LC[0] ; byte count (Loop Counter)
loop:         ;words & cycles
  move DP[0], DP[0]     ; 1 implicit DP[0] pointer selection
  move @++DP[1],@DP[0]++  ; 1
  djnz LC[0], loop    ; 1
  ret       ; 1
        ;----------
        ; 4 / (3*bytecount) +1
; WORD COUNT = 4 ; CYCLE COUNT = 193

;====================================MAXQ20=====================================
; Assuming bytes are word aligned (like MSP430 code) for comparison
; DP[0] ; src pointer (default WBS0=1)
; DP[1] ; (dst-1) pointer (default WBS1=1)
; LC[0] ; byte count / 2 (Loop Counter)
loop:       ;words/cycles
  move DP[0], DP[0]     ; 1 implicit DP[0] pointer selection
  move @++DP[1],@DP[0]++  ; 1
  djnz LC[0], loop    ; 1
  ret       ; 1
        ;----------
        ; 4 / (3*bytecount/2) +1
; WORD COUNT = 4 ; CYCLE COUNT = 97

;====================================MSP430=====================================
; MSP430 has a 16-bit data bus
; assuming bytes are word aligned, only requires (blocksize/2 transfers).
; R4  ;src pointer
; R5  ;dst pointer
; R6  ;size of block to copy
loop:         ;words/cycles
  mov @R4+, 0(R5)     ;2 / 5 @src++ => dst
  add #2, R5    ;1 / 1 const generator makes this 1/1
  decd.b R6     ;1 / 1 really sub #2, R6
  jz loop       ;1 / 2
  ret       ;1 / 3
        ;----------
        ;6 / (9*(bytecount/2)) + return
; WORD COUNT = 6 ; CYCLE COUNT = 291

;===================================PIC16CXXX===================================
; a   ; src pointer base
; b   ; dst pointer base
; i   ; byte count held in reg file
; USES:
; temp  ; temp data storage
loop:         ; cycles
  decf i, W     ; 1 i-- => W
  addlw a       ; 1 (a+i--) => W starting at end
  movwf FSR     ; 1 W => FSR
  movfw INDF    ; 1 W <= @FSR get data
  movwf temp    ; 1 W => temp
  movlw (b-a)     ; 1 diff in dest-src
  addwf FSR, F    ; 1 (b+i--) => W
  movfw temp    ; 1 temp => W
  movwf INDF    ; 1 W => @FSR store data
  decfsz i, F     ; 2/1 i--
  goto loop     ; 2
  return      ; 2
        ;----------
        ;11 / (12*bytecount) +1 (ret instead of goto, +1 on decfsz)
; WORD COUNT = 12 ; CYCLE COUNT = 769 (*4clks/inst cycle = 3076)

pYYBAGP_Ii-AEsnhAABH8hNvuoA157.gif

MAXQ器件提供最佳的代碼密度,在執行速度方面是明顯的贏家。MAXQ10執行復制操作的速度比MAXQ20慢,因為它對數據指針使用默認的字節訪問模式。對于MAXQ10應用,如果認為執行速度比代碼密度更重要,并且要復制的數據存儲器是字對齊的(MSP430和MAXQ20示例已經假設),則可以對源和目標數據指針使用字訪問模式。啟用字模式允許將MAXQ10復制環路切成兩半,但需要額外的指令來啟用/禁用字訪問模式。MAXQ器件相對于競爭產品所表現出的壓倒性性能優勢可歸因于以下架構優勢:

1. 無流水線 - 分支不會像其他設備那樣產生刷新指令預取的開銷。
2. 自動遞減循環計數器 - 減輕了手動執行此操作的需要。
3. 哈佛內存映射 - 程序和數據不共享相同的物理空間,允許同時獲取程序和數據訪問。
4. 預遞增/遞減間接目標指針 - 簡化并加快目標指針的前進速度。這是 MSP430 的一個弱點,它使用 0(R5) 表示@R5,然后必須使用另一條指令推進該目標指針。

存儲器復制示例中所示的MAXQ優勢轉化為類似的增益,適用于需要在數據存儲器中進行頻繁輸入/輸出緩沖的應用。在性能方面,最接近的競爭對手是 MSP430。例如,可能需要數據存儲器緩沖,假設我們有一個MSP430器件,該器件配備了具有16位輸出寄存器的ADC外設。將數據從外設輸出寄存器傳輸到數據存儲器并遞增指針以準備下一個ADC輸出樣本,可以使用如下代碼進行處理:

                                                ; words/cycles
      mov.w       &ADAT,0(R14)                  ; 3 / 6              Store output word
                    incd.w R14                  ; 1 / 1              Increment pointer
                                                ; 4 / 7

在MAXQ20上,相同的傳遞操作如下所示:

    move        @++DP[0], ADCOUT              ; 1 / 1

氣泡排序(氣泡排序))

冒泡排序例程不僅展示了有效訪問數據存儲器的能力,而且還在數據字節之間執行算術和/或比較運算,并有條件地對字節進行重新排序。代碼例程對 32 個數據存儲器字節進行排序,以便它們按升序或降序排列。周期計數假定字節重新排序大約有一半時間是相鄰字節比較的結果。下圖總結了每個微控制器上排序操作的周期計數和字節計數。

poYBAGP_IjCAL9JMAABEFdv4L-0154.gif

MAXQ器件再次產生最佳的碼密度,是以下領域的明顯贏家。 執行速度。MAXQ的優勢可以歸因于存儲器復制示例中討論的相同架構優勢。

十六進制到 ASCII 轉換 (十六進制2Asc)

此轉換例程測試微控制器的算術和邏輯運算范圍。它還在轉換和擴展單個字節中包含的數據時測試它們對文本字節數據的支持。周期計數表示一個平均值,假設每個半字節可以是 16 個十六進制值之一 - 0 到 9,Ato F。下圖總結了每個微控制器上轉換操作的周期計數和字節計數。

poYBAGP_IjCACgZfAABJr8IFY_Y676.gif

對于這個測試例程,AVR需要的字更少,因為它的工作寄存器可以直接訪問,而MAXQ最有效的方法需要手動更新累加器指針。MSP 代碼密度受到影響,因為它缺少操作半字節的操作,并且常量生成器不支持的文本 (#nnnnh) 必須用單獨的單詞進行編碼。MAXQ器件和Atmel AVR在性能方面取得了類似的結果,而其他器件則落后。MSP430 的性能受到執行操作的額外碼字的影響。

算術右移 2 個位置(向右)

此例程演示了微控制器支持 16 位字數據存儲器訪問和 ALU 操作的能力。所需的操作是以算術方式移位(即保留最高有效位)駐留在數據存儲器中的 16 位字。假設字駐留在數據存儲器的前 256 個字節中,并在存儲器中對齊,以便由具有該功能的微控制器進行字尋址。下圖總結了每個微控制器上移位操作的周期計數和字節計數。

支持16位ALU操作的微控制器MAXQ20和MSP430提供 代碼密度明顯提高。除PIC外,所有8位計算機都需要至少兩倍的代碼字數才能完成相同的算術移位。MAXQ20提供最佳性能,MAXQ10雖然僅支持8位ALU操作,但性能接近16位MSP430。

pYYBAGP_IjGADEUkAABGo7O4zfU063.gif

MAXQ20和MSP430表現出更高的ODE密度,因為它們能夠比16位機器更有效地處理8位數據。但是,每種方法都以略有不同的方式這樣做。MAXQ20將要移位的16位字傳輸到工作寄存器(累加器),在那里可以使用多位算術移位。MSP430 使用寄存器間接尋址模式 (RRA @R5) 執行單位算術移位運算,并且不會從其存儲器位置顯式傳輸字。在提供更高性能的同時,當20位字的算術移位可以使用多位算術移位操作碼(SRA430、SRA16、SLA2、SLA4)時,MAXQ2可以提供與MSP4相同或更好的碼密度。

位爆炸端口引腳(位爆炸)

此示例測試指令集體系結構通過直接位操作或通過移位/旋轉分解字節并將各個位發送到端口引腳(“位敲擊”)的能力。端口引腳輸出分別表示時鐘和數據,要求數據在時鐘的上升沿必須有效。由于代碼直接操作端口引腳,因此此測試還演示了訪問I/O端口寄存器的難易程度。下圖總結了每個微控制器上端口位爆炸操作的周期計數和字節計數。

pYYBAGP_IjKAREeVAABO3OQOPZc149.gif

MAXQ器件顯然是性能最好的器件。由于底層 4 周期內核架構,PIC 性能在這里受到限制(與其他示例一樣)。MSP430的性能較差,可歸因于其馮諾依曼存儲器架構和需要使用絕對尋址來訪問端口輸出寄存器。

在碼密度方面,MAXQ和PIC具有相同的字數。然而,PIC在RISC機器中優于MAXQ,因為它的14位程序字與MAXQ的16位程序字相比。MSP430代碼密度受到影響,因為它必須使用至少兩個字來訪問具有絕對尋址模式(即和寄存器)的外設寄存器,或者當使用常量生成器無法減少的文字(例如,#3h)時。

MSP430訪問其外設寄存器的方法值得進一步評論。微控制器的主要職責是以某種方式與外界接口。因此,它必須控制、監視和處理 I/O 引腳上發生的活動。如果微控制器嵌入很少的外設硬件模塊,則此活動的負擔留給軟件。要使軟件執行任何有意義的操作,它必須讀取和寫入端口引腳。在 MSP430 上,這些端口引腳寄存器駐留在需要使用絕對訪問模式的外設寄存器空間中。現在考慮一個具有豐富“智能”外設的微控制器。毫無疑問,在使用片上專用硬件執行必要功能的過程中,必須配置、控制和訪問更多的外設寄存器。在 MSP430 上,這些寄存器位于需要使用絕對訪問模式的外設寄存器空間中。因此,與 MSP430 絕對尋址模式相關的代碼密度和性能損失是無法逃避的。

“MIPS/mA”指標

功耗通常是選擇處理器或內核架構的重要因素。給定系統的總體功耗取決于許多因素,例如電源電壓和工作頻率,以及盡可能使用低功耗模式的能力。降低電源電壓和/或工作頻率,以及頻繁使用低功耗模式,可以大大降低系統總功耗。雖然給定微控制器的最小電源電壓在很大程度上取決于器件制造工藝技術,但降低工作頻率和使用低功耗模式的能力在很大程度上取決于系統設計人員可以確定的應用要求。MIPS/mA指標提供了一種簡單的方法來評估微控制器的代碼效率,同時考慮有功電流消耗。應選擇通用電源電壓,以便在不同器件之間創建有意義的MIPS/mA比較。對于即將到來的比較,假設為3V電源電壓。為了考慮所比較的指令集架構(即AVR、MSP430、PIC16、MAXQ)的差異和效率,還需要為生成的每個代碼示例生成單獨的MIPS/mA比率。

poYBAGP_IjOAAyRiAAAQpoCJA_w174.gif

圖2.這個IccActive與MHz的例子說明了靜態和動態電流增加的影響。

為了確定MIPS/mA比率的“mA”部分,我們檢查了器件的數據手冊。大多數微控制器供應商都規定了與器件最大工作頻率相關的典型和最大有功電流。假設靜態(DC)電流非常小,這些數據點允許得出典型和最大mA/MHz近似值,用于在任何時鐘頻率下外推有功電流。如果供應商提供有功電流與溫度/頻率特性數據,則可以相對于特定系統環境條件更好地量化和定義mA/MHz比。否則,我們必須簡單地依靠離散數據點和我們對非常小的靜態電流的假設。靜態(DC)電流的增加會改變mA與MHz特性曲線的起點,從而限制系統設計人員在降低時鐘頻率(降低動態電流)時看到的總增益。圖2給出了一個IccActive vs. MHz圖示例。表2比較了各種內核的mA/MHz數字,并引用了信息來源。當以后的計算中需要此術語時,將使用每個架構的突出顯示的 mA/MHz 數。

pYYBAGP_IjSAcb04AAAU6RhdX8s873.gif

圖3.MAXQ架構通過每條指令在一個時鐘上執行幾乎所有指令來實現高MIPS性能比。

MIPS/mA 指標的“MIPS”部分用于量化性能差異。我們將首先給出圖3中MIPS的簡單公式。

在評估給定架構的MIPS時,每條指令的時鐘數(CPI)非常重要。例如,Microchip PIC等架構要求每個指令周期有多個時鐘。此外,架構通常需要多個指令周期來執行某些指令,或者在執行跳轉/分支時需要周期來刷新指令管道。在比較架構時,MIPS的平均性能通常遠低于峰值性能(MIPS),并且因指令組合而異。

裝置 典型毫安/兆赫 最大毫安/兆赫
PIC16C55X 0.7 1.25 PIC16C55X 數據表:DC 表 10.1, D010 (Vcc= 3V, 2兆赫);XT 或 RC
PIC16C62X 0.7 1.25 PIC16C62X 數據表:DC 表 12.1, D010 (Vcc= 3V, 2兆赫);XT 或 RC
圖16LC71 0.35 0.625 PIC16C71X 數據表:DC 表 15.2, D010 (Vcc= 3V, 4兆赫);XT 或 RC
PIC16F62X 0.15 0.175 PIC16F62X 數據表:DC 表 17.1, D010 (Vcc= 3V, 4MHz)
PIC16LF870/1 0.15 0.5 PIC16F870/1 數據表:DC 表 14.1, D010 (Vcc= 3V, 4兆赫);XT 或 RC
AT90S1200 0.33 0.75 AT90S1200 數據手冊:EC 表 (3V, 4MHz), 圖 38, 4mA/12MHz (典型值)
AT90S2313 0.50 0.75 AT90S2313 數據手冊:EC 表 (3V, 4MHz), 圖 57, 7.5mA/15MHz (典型值)
MSP430F1101 0.30 0.35 MSP430x11x1 數據表:直流規格 IccActive (Vcc= 3V, FMCLK = 1MHz)
MPS430C11X1 0.24 0.30 MSP430x11x1 數據表:直流規格 IccActive (Vcc= 3V, FMCLK = 1MHz)
MSP430Fx12x 0.30 0.35 MSP430x12x 數據表:直流規格 (V抄送= 3V, FMCLK = 1MHz, FACLK = 32kHz)
MAXQ10 0.30 模擬
MAXQ20 0.30 模擬

為了生成一個更有用的指標并生成一個值來幫助我們達到 MIPS/mA 目標指標,我們將 MIPS 除以 MHz。MIPS/MHz比率可以解釋為在單個時鐘中執行的平均指令數(對于給定的代碼示例)。使用MIPS/MHz數和之前計算的mA/MHz數,可以生成MIPS/mA比率。下表分別顯示了每個早期代碼例程比較的MIPS/MHz和MIPS/mA數字。

核心 MIPS/MHz
MemCpy64 BubbleSort Hex2Asc ShRight BitBang Peak
MAXQ10 1.00 0.99 1.00 1.00 1.00 1
MAXQ20 1.00 0.99 1.00 1.00 1.00 1
PIC 0.23 0.20 0.23 0.25 0.21 0.25
MSP 0.44 0.39 0.64 0.33 0.61 1
AVR 0.57 0.62 0.90 0.71 0.61 1
核心 微弱/毫安
MemCpy64 BubbleSort Hex2Asc ShRight BitBang
MAXQ10 3.33 3.30 3.33 3.33 3.33
MAXQ20 3.33 3.30 3.33 3.33 3.33
PIC 1.53 1.35 1.53 1.67 1.40
MSP 1.85 1.62 2.66 1.39 1.55
AVR 1.71 1.86 2.69 2.14 1.83

為了進一步分析,我們必須通過將MIPS/mA比率除以給定代碼樣本實際執行的指令數來考慮核心架構和指令集效率之間的差異。這種額外計算的基本原理是,執行三個單周期指令(最高MIPS/MHz比率= 1)實際上并不比一個3周期指令(MIPS/MHz比率= 0.33)好。盡管如此,由此產生的MIPS/mA比率卻大不相同。事實上,如果完成相同的任務,大多數人更喜歡一條指令而不是三條指令。通過將MIPS/mA比率除以執行的指令數,我們正在根據給定微控制器用于執行特定任務的指令組合調整MIPS/mA比率。結果值已規范化為最高性能值,如下表所示。

核心 標準化 (MIPS/mA)
MemCpy64 BubbleSort Hex2Asc ShRight BitBang
MAXQ10 0.50 1.00 1.00 0.40 1.00
MAXQ20 1.00 1.00 0.96 1.00 1.00
PIC 0.06 0.29 0.39 0.33 0.38
MSP 0.42 0.45 0.68 0.56 0.48
AVR 0.19 0.48 0.88 0.26 0.48

結論

歸一化的“MIPS/mA”指標為我們提供了 比較具有不同架構、指令集和電流消耗特性的微控制器。較高的歸一化“MIPS/mA”比通常可以產生以下一個或兩個好處:(1)可以降低系統時鐘頻率,以及(2)可以增加在低功耗或睡眠模式下花費的時間。這兩種可能性都有助于降低系統的整體功耗。或者,可以在保持給定電流/功率預算的同時實現更高的整體系統性能。無論優點如何,MAXQ架構產生的高MIPS/mA比都是效率的可靠指標。

審核編輯:郭婷


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7714

    瀏覽量

    152648
  • 寄存器
    +關注

    關注

    31

    文章

    5390

    瀏覽量

    121901
  • 存儲器
    +關注

    關注

    38

    文章

    7553

    瀏覽量

    164908
收藏 人收藏

    評論

    相關推薦

    淺談RISC-V指令集架構的來龍去脈

    最近和幾個行業內的朋友聊天,聊到了近兩年比較火的AI人工智能,并向我推薦了一款目前在小范圍內比較火的國產處理器,我查了一下該處理器是采用的開源RISC-V指令集
    的頭像 發表于 01-24 17:42 ?6418次閱讀

    現代處理器的主要指令集架構

    ? ?現代處理器的主要指令集架構(ISA)包括:x86指令集架構RISC指令集
    的頭像 發表于 12-11 09:55 ?4888次閱讀
    現代處理器的主要<b class='flag-5'>指令集</b><b class='flag-5'>架構</b>

    CISC(復雜指令集)與RISC(精簡指令集)的區別  

    Instruction Set Computers,復雜指令集計算)和RISC(Reduced Instruction Set Computers)是兩大類 主流的CPU指令集類型
    發表于 07-30 17:21

    RISC-V指令集的特點總結

    開源 定義:RISC-V 是完全開源的指令集架構(ISA),意味著任何人都可以查看、使用、修改以及分發其設計,而無需支付版權費用。 優勢:這種開源特性促進了全球性的創新和合作。 社區化 定義
    發表于 08-30 22:05

    RISC-V和arm指令集的對比分析

    RISC-V和ARM指令集是兩種不同的計算機指令集架構,它們在多個方面存在顯著的差異。以下是對這兩種指令集的詳細對比分析: 一、設計理念
    發表于 09-28 11:05

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架構。而RISC-V目標就是“成為一種完全開放的指令集
    發表于 11-30 23:30

    AMD擴展x86并行指令集

    為了減輕多核心處理器的編程工作,AMD已經出版了擴展其x86指令集的若干計劃中的第一份計劃。通過這個行動,AMD再次把它的規則用在了跟英特爾公司的競爭上,從而在技術上推進其CPU架構領先于它的最大
    發表于 07-26 07:34

    解讀CPU的組成指令集架構

    文章目錄腦圖視頻解讀CPU的組成指令集架構: 復雜指令集 (CISC) VS 精簡指令集RISC)X86
    發表于 07-30 06:20

    RISC-V指令集架構微控制器相關知識

    本系列痞子衡給大家介紹的是RISC-V指令集架構微控制器相關知識。  RISC-V指令集最早要追溯到2010年,是加州大學伯克利分校的一個研
    發表于 12-16 06:24

    精簡指令集架構RISC與復雜指令集架構CISC有何區別

    精簡指令集架構RISC是什么?復雜指令集架構CISC又是什么?精簡指令集
    發表于 12-23 10:02

    risc指令集是什么_有哪些

     RISC指令集是高性能CPU的發展方向。它與傳統的CISC(復雜指令集)相對。相比而言,RISC指令格式統一,種類
    發表于 12-19 11:55 ?2w次閱讀
    <b class='flag-5'>risc</b><b class='flag-5'>指令集</b>是什么_有哪些

    指令集架構與開源架構

    首先所有推崇RISC-V的文章都在說RISC-V架構簡單,功耗面積低,這其實跟以前夸MIPS沒什么不同。在CPU設計里,指令集是其中最簡單最基礎的一部分,可以說,采用
    的頭像 發表于 07-16 10:05 ?7401次閱讀

    簡單講講RISC-V指令集CPU的參數

    本次CPU采用32位RISC-V指令集架構(一代是自己瞎編指令集)。指令集就是程序指令的集合,指
    的頭像 發表于 08-07 14:55 ?3822次閱讀
    簡單講講<b class='flag-5'>RISC</b>-V<b class='flag-5'>指令集</b>CPU的參數

    一個基于精簡指令集原則的開源指令集架構RISC-V

    我們可以基于x86/ARM/ RISC-V指令集,進行處理器微架構設計和實現形成源代碼,并通過流片最終形成芯片產品。
    發表于 01-30 16:28 ?3121次閱讀

    復雜指令集和精簡指令集有什么區別

    的兩種主要指令集架構,它們在多個方面存在顯著的差異。以下是對這兩種指令集架構的詳細比較,涵蓋設計理念、
    的頭像 發表于 08-22 11:00 ?4334次閱讀
    主站蜘蛛池模板: 就去色一色 | 九九影院午夜理论片无码 | 无人区免费一二三四乱码 | 亚洲AV福利天堂一区二区三 | 久久精品AV一区二区无码 | 国产AV亚洲一区精午夜麻豆 | 国产激情一级毛片久久久 | 国产一区二区三区在线看片 | 少妇被阴内射XXXB少妇BB | 欧美ⅹxxxx18性欧美 | 亚洲日产2020乱码草莓毕 | 青青草原伊人 | 亚洲日韩中文字幕区 | 国产成人亚洲精品无广告 | 国产精品.XX视频.XXTV | 把内衣脱了把奶露出来 | 99国内偷揿国产精品人妻 | 国产树林野战在线播放 | 污污内射在线观看一区二区少妇 | 99视频在线免费观看 | 亚洲AV无码影院在线播放 | 亚洲日韩中文字幕日本有码 | 国产精品人妻无码久久久蜜桃臀 | 0855午夜福利伦理电影 | 国产精品三级在线观看 | 国产品无码一区二区三区在线 | 伸进同桌奶罩里摸她胸作文 | 国产亚洲精品久久77777 | 久久99精品视频 | 亚洲国产成人私人影院 | 这里只有精品在线视频 | 福利社影院| 老熟人老女人国产老太 | 久久婷婷五月免费综合色啪 | 国产精品禁18久久久夂久 | 国产精品免费久久久久影院 | 91精品国产高清久久久久久 | 国产精品丰满人妻AV麻豆 | www.三级| 久久视频精品38线视频在线观看 | 久久只精品99品免费久 |