Version 1, last updated by fellong at February 26, 2008 13:47 UTC

CISC and RISC:

  以單晶片微控器來說,8051 及 PIC 是各具代表性的 MCU,8051 為 CISC(複雜指令集)架構而 PIC 為 RISC(精簡指令集)架構。以傳統的 8051 來說,若執行下面一段程式,在 MCU 內部的相對動作如下圖所示。他的特色就是等到另一個指令完成整個動作後,再執行下一個指令,有些指令是 12T!所以,他的指令設計就可以很複雜,做完一個指令再執行另一個指令,他的缺點就是慢。

 sub r3, r4 ->r10
 add r10, 3 ->r11

圖片

  對 RISC 而言,指令就精簡多了,並且利用 pipeline 的設計觀念來提高工作頻率,下圖是以五層 pipeline 的設計為例,我們很明顯的可以發現,在某一個時間軸上,就有可能同時存在指令 Fetch、Decode、執行、...,所以執行效能很明顯的提升了。PIC 就是這一種架構,它是 4T 執行一個指令的架構。

圖片

  綜合以上所說,我們瞭解到目前常見的 8051 與 PIC 的差異性,8051 的指令很多也很好用,相對的 PIC 的指令就少得可憐。PIC 的指令執行速度比 8051 快,但由於指令少而且 PIC 常因為要切換 Registers Bank,還得加一大堆切換 Bank 的指令,所以程式空間會長的很快!

Instructions Comparison:

  FPPA 的 PDK80CXX 是一個全新的 MCU 系列產品,基本上是 RISC 架構,但指令結合了8051與 PIC 的優點,下圖所示為FPPA PDK80CXX、8051 and PIC 部份指令的比較,是在單一個指令集中,可以完成的動作!PIC 的指令少得可憐,基本上下列運算它都需要兩個或兩個以上的指令才能完成!

圖片

  FPPA PDK80CXX 的指令就豐富多了,有99個指令,包括了 8051 常用的指令,當然 FPPA 在指令設計上有許多獨特且優越的地方,例如 (1) wait0、wait1 是用來等待事件發生的指令,除了可以避免不斷的 polling 外,也可以降低對事件的反應時間。(2)delay 這個指令的目的是不用寫迴圈就可以完成 Delay 的動作,除了可以精準掌握時間外,也可以有效減少程式長度。(3)由於 FPPA是多核心架構,指令也包含各個核心互相控制的機制,pushw pcN、popw pcN 就是可用來直接控制另一個 FPP unit 之程式執行。(4)在間接記憶體存取指令,所有記憶體都可以拿來當 index使用,比 8051 的一、二個 DPTR 方便多了。FPPA 的指令分佈如下所示:

99 Powerful and Patented Instructions
— Data Transfer
‧mov、xch、idxm、pushw、popw
where pushw pcN and popw pcN are defined to control the PC of other FPP units
— Arithmetic Operation
‧add、addc、sub、subc、inc、dec、clear 、mul
where mul is a 1T operation
— Shift Operation
‧sr、src、sl、slc、swap
— Logic Operation
‧and、or、xor、not、neg、comp
— Bit Operation
‧set1、set0、tog、swapc
where swapc is defined to output the carry to the assigned pin
— Conditional Operation
‧ceqsn、t0sn、t1sn、izsn、dzsn、wait1、wait0
where wait1/wait0 are used to detect event
— System Control
‧call、goto、icall、igoto、ret、wdrst、nop、delay
where delay is used to insert some clocks

Performance Comparison:

另外,很重要的是 FPPA 的所有指令都是 1T(除了查表指令是 2T),這讓程式設計者在 timing 的計算更容易,當然也讓單晶片在較低的工作頻率下,卻能夠擁有較高的性能。下圖是 FPPA PDK80CXX 與一些常見微控制器在指令以及性能的比較表:

圖片

Characteristic Comparison:

  在電氣特性的表現上,PDK80CXX 雖然內含八核心,但是在耗電、抗干擾的表現上似乎又更勝一籌,下圖是在電氣特性上的比較表。

圖片

  ESD 與 Latch-up 的能力是產品能否達到工業規格的基本要求,下圖是國內專業廠的測試報告,ESD 是達到 8KV 的水準,Latch-up 也是超過 400volts 的水準。FPPA 在系統抗干擾能力上,除了產品本身優異的抗干擾能力外,在系統應用上可以挪出一 FPP unit 來監控整個系統,讓系統更穩定。

圖片