關於易符技術

1. 何謂易符系統晶片技術(eForth SOC Technology)?

2. 何謂可伸縮的中央處理器架構 (Scalable CPU Archtecture)?

3. 何謂中文CPU(CCPU),與一般 CPU 有何差別?

4. 易符的 eCore 和 eE32-1 有何關係?

5. 易核(eCore)的架構有何特色?

6. 易核(eCore)的指令集有多簡單?

7. 何謂『單晶中文系統引擎』 (eForth Chinese SOC Engine)?

8. eE32-1 提供哪些工具軟體?

 

關於使用者及應用

1. eE32-1 有哪些的發展方法與工具?

2. 易符如何支援使用者開發應用的工作?

3. 中文字形晶片 與 中文引擎 的應用有何差別?

4. 如果我不需要中文,我可不可以拿掉?

5. 如果我不需要eForth OS,我可不可以拿掉?

 

關於 Forth 與 eForth

0. 台灣符式協會的由來?

1. 什麼是 FORTH ?

2. eForth 與 Forth 有何差別 ?

3. 什麼是 FORTH 引擎(FORTH晶片)?

4. 要如何看待 FORTH ?

5. 要如何學習 FORTH?

6. 如何取得 eForth 的技術資源? 


關於易符技術

 

1. 何謂易符系統晶片技術 (eForth SOC Technology)?

就是 eCore+eOS+eSOC+eFontbase
也就是:
易核(eCore)
+ 易符晶片作業系統(eForth On-Chip OS--eOS)
+ 易符SOC發展平台 (eForth SoC Platform--eSOC)
+ 易符中文字庫 (eForth Chinese Fontbase--eFontbase)
所構成的中文SOC整合技術

  back to top

 

2. 何謂可伸縮的中央處理器架構 (Scalable CPU Architecture)?

eCore 指令集為6-BIT寬度的指令格式,可以用在 16/24/32/64 CPU 核心的設計•eSOC設計平台,可以有相同的指令集及作業系統下,同時支援各種CPU位元寬度•而eOS仍為透通•此一架構就是可伸縮的中央處理器架構•

 back to top

 

3. 何謂中文CPU(CCPU),與一般 CPU 有何差別?

一般CPU是從英文的ASCII電腦的角度設計CPU,中文CPU從中文需求的角度來建構CPU•中文CPU有幾個:

1) 中文字碼處理:
現代中文字碼以4-BYTE為基數
並應該涵蓋可以承載世界各國語文UNICODE,因此32位元為其基數•

2) 中文字型筆畫的硬體支援:
中文筆畫為中文輸出的基本要件,因此由CPU內建硬體支援•以點陣及 TRUE-TYPE的中文支援,需要耗費龐大的記憶體及運算資源(MIPS),才能擁有基本的中文
力•因此,到目前為止除了 PC、PDA、手機及專業的中文電子字典外,一般的儀器設備家用電器都沒有或僅能支援有限的中文的顯示,主要是成本太高的緣故•中文CPU配合上易符字庫,可以降低數位中文裝置的進入門檻,促進低階數位中文裝置的普遍化•

3) 內建中文字庫及動態組字的字庫擴充功能:
低成本的中文字庫,為數位中文裝置普遍化的重要前提,易符字庫承襲了台灣中央研究院中文研究的成果,並加以工程化及商品化,因此擁有既權威而又完整的中文文字資料庫•易符字庫同時具有動態組字的功能,對於不在字庫內的字仍可以動態合成,因此不再有缺字的問題•所以,易符字庫也叫做易符無限字庫•

這樣為中文電腦做最佳化的 CPU 就中文CPU了•

 back to top

 

4. 易符的 eCore 和 eE32-1 有何關係?

eCore 是 eP16/eP24/eP32/eP64幾種核心的總稱•eE32-1 是易符智慧科技的第一顆通用型中文系統晶片,內建有 eForth晶片作業系統、中文加速器、易符中文字庫、RAM、OTP、IO、RS232、SPI、IIC等 IO支援,為單晶中文系統主要部份•eE32-1 只要加上鍵盤與LCD銀幕,其實就是一部完整的小型中文電腦了•

 back to top

 

5. 易核(eCore)的架構有何特色?

真實機器的核心
eCore 是 eForth虛擬機器(eForth Virtual Machine)的底層硬體,加上更高階的eForth OS 就是一部最有效率的eForth真實機器(eForth Real Machine).

back to top

 

兩個堆疊
eCore 有兩個堆疊,一個是傳統的回返堆疊(retrun stack)另一個是FORTH特有的資料堆疊(Data Stack).
6-Bit 寬的精簡指令碼提供必要的核心指令以及選擇性的加強指令,使得
16/24/32/64位元的CPU可以在統一的硬體架構與作業系統下完成 .

 back to top

 

6. 易核(eCore)的指令集有多簡單?(下載 eP32_CoreP32_Core)

一共僅32個指令左右(各 MODEL稍有差異),有CPU常識的人都可以在10分鐘的解說後,運用這些指令•以下為 易核的指令集:

指令      資料堆疊變化         解說
----           -------------                -----------
ADD
        ( n n -- n )                 Pop S and add it to T.
AND
        ( n n -- n )                 Pop S and AND it to T.
BC            ( n -- )                      Branch on Carry, low-level primitive only
BRA
         ( -- )                         Branch on Zero, primitive of IF/WHILE/UNTIL
CALL
      ( -- )                         Call subroutine
COM        ( n n -- n )
                 Complement all bits in T
DIV                                          Division step, primitive foe division
DROP       ( n -- )                      Pop T.
DUP         ( n -- n n )                 Duplicate T.
LDI          ( n n -- n )                 Push in-line literal to T.
LDX         ( -- n )                      Push memory X to T. primitive of @
LDXP
       ( -- n )                      Push memory X to T. Increment X. primitive of @+
MUL                                        Multiplication step. primitive of *
NEXT                                       Loop back if R none zero, R decremnet 1, else pop R and step out of the loop
NOP
         ( -- )                        Do nothing.
OVER       ( m n -- m n m )        Duplicate S.
POP          ( -- n )                      Pop R to push T. Forth R>
PUSH       ( n -- )                       Pop T to push R. Forth >R
RET         ( -- )                          Return from subroutine. Forth EXIT
SHL         ( n -- n )                    Shift T left 1 bit. Forth 2*
SHR         ( n -- n )                    Shift T right 1 bit. Froth 2/
STX         ( n -- )                       Pop T to memory address X. primitive of !
STXP       ( n -- )                       Pop T to memory X. Increment X. primitive !+
TX           ( n -- )                       Pop T to X. primitive of @ !
XOR        ( n n -- n )                  Pop S and Exclusive OR it to T.
XT           ( -- n )                       Push X to T. primitive of @
!

 back to top

 

7. 何謂『單晶中文系統引擎』 (eForth Chinese SOC Engine)?

易符核心(eCore) 內附『易符晶片作業系統(eForth On-chip OS)、內建中文字庫、內建的 RAM 內建的RS232、GPIO等IO就是一個完整的中文電腦引擎了•此一晶片可接受程式的輸入,並可編譯及解譯程式,並執行輸入輸出的控制及儲存的功能•只要在這引擎之上,加大量儲存的FLASH/EEPROM/RAM(選擇性的),或再加上銀幕和鍵盤(也是選擇性的),就是一部功能強大的中文電腦了•

 back to top

 

8. eE32-1 提供哪些工具軟體?

eE32-1 是 eForth 真實機器(eForth Real Machine)的核心內建有包含了COMPILEReForth OS 的編譯器模式(COMPILE)就是 CPU 的高階 ASSEMBLER,這種互動式的完全開環境,就是eSOC應用開發環境•這種 ASSEMBLER 到 OS 之間無接縫的高度整合是 eFORTH的一大特點,這也使得易符單晶中文電腦引擎的應用開發工作,在極精簡的裝備下便可有效進行•這一特性對於中文電腦應用的普遍化有關鍵的作用•

back to top


關於使用者及應用

 

1. eE32-1 有哪些的發展方法與工具?

易符提供裝有外裝RAM/EEPROM/SDRAM/FLASH等資源的易符單晶中文系統模組一號(eCSOCM-1)

A. 基本工具:
用 WINDOWS HYPER-TERM 連線開發因為 eE32-1 已經是一部精簡的電腦了,在 IBM PC 的 RS232 連線的 HYPER-TERM 模式下,便可接受程式的輸入/DOWNLOAD並進行測試,進行基本的開發工作•
此一模式在工作現場,進行測試與偵錯等維護時,更會顯現出易符單晶系統架構簡單而強大的效益•

B. 易符SOC開發平台 (eSOC PLATFORM):
這是一個高整合度的工作平台•透過 IBMPC 上的整合開發環境,對於編輯、編譯、除錯及檔案資料的管理均可在 WIDOWS 的工作環境下得到充分有效的發揮•此
發平台在桌面開發期間,非常的方便•
eE32-1 本身在極少的外加資源的情況下,系統開發的工作便可展開•開發設計工作可在最簡易最低成本的情況下進行,這是eForth SOC 無人能出其右的特質•這樣的特質,在當你必須離開實驗桌面,在現場解決問題時,或你必須面對及時的互動時(如通訊),你就會體驗到簡單彈性所帶來的優美與活力•開發驗證完成後只要將程式碼燒到 OTP ROM便可以作成最終的產品零件了•

 back to top

 

2. 易符如何支援使用者開發應用的工作?

易符除提供『單晶中文系統模組』,可從以下幾個途徑取得支援:

a. 中文晶片討論區可以討論 http://www.eforth.com.tw/php/phpbb2/index.php

b. 直接尋求易符的協助

公司 03-666-3322

陳昌江 (AJ, 阿江) 0931-849127 ajchen@eforth.com.tw

吳建佳 (WUJA 阿佳) 0920-884-707 [email protected]

丁陳漢蓀 Dr. C. H. Ting [email protected]

關於 FORTH 可以尋求:

http://www.eforth.com.tw
其中易符學苑有丁陳老師20年來龐大的FORTH資料

http://www.figtaiwan.org  
台灣FIG 有許多FORTH同好,你可以向他們請益或交換心得•

每個月都會在一個禮拜六的9:00-12:00 在中原大學 醫工系 5F 電腦教室聚會會議形式為自由發表一些FORTH的成果或心得•都是免會參加,請注意 www.figtaiwan.org 的消息或主登錄email便的收到開會通知•
秘書長    陳爽  0920-714-028  email:  
[email protected]

 back to top

 

3. 中文字形晶片 與 中文引擎 的應用有何差別?

中文晶片 為單一功能的字形產生晶片,用以支援一些因為成本、記憶體空間不足或運算能力不足的小型系統取得完整的字形•中文引擎 則為內建有中文字形產生器及種IO週邊支的通用型控制器•只要只要加上鍵盤與LCD銀幕,其實就是一部完整的小型中文電腦了•例如放上字典的資料檔,其實就已經一部字典了•

 back to top

 

4. 如果我不需要中文,我可不可以拿掉?

可以•中文字庫佔的記憶體甚,在OTP板的eE32-1中可以拿掉中文移做其他用途•

 back to top

 

5. 如果我不需要eForth OS,我可不可以拿掉?

可以但內建的 eForth on-chip OS 只有 5 KBYTE,幾乎是不需要成本•除非有特殊的目的,否則拿掉 eForth OS 就必須重新建構開發測試的平台,以現在腦力及管理成本勝於硬體成本的年代,一般的USER並不是好的辦法•

back to top


關於 Forth 與 eForth

 

0. 台灣符式協會的由來 ?

緣起

1981年丁陳漢蓀博士帶著 System Guide to Fig-Forth, FORTH-79 回國在陽明醫學院任座教授,並召集昔日的學生傳講 FORTH 系統的精義,於是漸漸形成

台灣的符式(FORTH)協會,在每月第四禮拜六下午定期聚會這是FORTH協會的由來

會地點

聚會地點從早期的陽明醫學院開始到台灣工業技術學院(現台科大)再轉到中央研究院,其中90年代全球的 FIG 熱潮逐漸歸於平靜,台灣的FIG 活動也不甚熱絡,直到2000年丁陳老師偕同 Forth 同好加入易碼科技旋繼成立易符智慧科技(eForth Technology Inc.)之時, 台灣 FIG 因為eForth 晶片計劃的出現活動漸漸恢復昔日的熱絡為了方便新竹會員的方便,於是聚會地點在蔡育秀老師的協助下,改到中原大學 醫工系 5F 電腦教室至今

 back to top

 

1. 什麼是 FORTH ?

FORTH 是一種與電腦交談的語言,當直接在終端機控制台模式 (TERMINAL CONSOLE MODE)是互動的解譯器(INTERPRETER)模式,但當這交談進入編譯(COMPILER)模時(也就是定義一個新字--新的副程式),它就是一個編譯器了,直到定義結束,才又回到交談解譯模式•

FORTH也是一個精簡的作業系統,並且是一個精簡可以延伸的作業系統,因此,資源有限的單晶電腦上,特別能顯現他的優異特質•FORTH 具有兩個堆疊,一個是傳統的回返堆疊(retrun stack)另一個是FORTH特有的資料堆疊(Data Stack).

FORTH 的核心是一個虛擬機器(Virtual Machine),在一般微處理機上的 FORTH都是把 CPU 包裹成FORTH虛擬機器(FORTH Virtual Machine)的核心,然後將FORTH 的高階業程式碼移植上去• 而 FORTH 引擎(晶片),就是以硬體直接運行這個FORTH虛擬機器的核心及內建必要的核心指令還有選擇性的加強指令•

 back to top

 

2. eForth 與 Forth 有何差別 ?

eForth 是 Forth 的一種版本•就像 LINUX 和 UNIX 之間的關係一般•eForth OS 的指令集有幾個指令與 ANSI FORTH有差別,eForth 是為崁入式應用做最佳化,但若需標準ANSI FORTH 只要再加寫幾個字便可轉換•最明顯的差別是 ANSI FORTH 有 DO .. LOOP 而 eForth 則僅提供 FOR .. NEXT,這是因為 DO..LOOP 的硬體難以有效實現,FOR ..NEXT 則精簡而有效率•因此並不鼓勵 DO..LOOP的使用•如果為了程式碼移植(PORTING)方便,USER 可自行加上 DO..LOOP 字集•這種不受限制的彈性與活力也是FORTH的一個特質•

 back to top

 

3. 什麼是 FORTH 引擎(FORTH晶片)?

FORTH 引擎晶片,就是 FORTH 虛擬機器(FORTH Virtual Machine--FVM)的真實機器(Forth Real Machine -- RVM)• 也就是以硬體直接運行這個FORTH機器的核心,及內建必要的核心指令,通常還會內建一些選擇性的加強指令•

 back to top

 

4. 要如何看待 FORTH ?

看待 FORTH

FORTH 是一個經歷了30長期焠鍊的電腦語言,一種與電腦交談、教電腦如何工作、控制周邊以及探查電腦及其周邊的一套方法•因為不需要其他作業系統或電腦語的支援,便可以獨立運作,因此,他同時也被認為是一個電腦作業系統•

由於它的精簡與彈性,使得FORTH運用的境界,繫乎於使用者的知識與經驗•因為非常的精簡,因此入門並不困難,然而隨著使用者的知識與經驗的累積,使用者會不斷的發現,隱藏在這一系統之後的豐富智慧•這一種特性,造就了FORTH 的使用者不同於一般電腦語言使用者的特殊氣質•一般電腦語言的使用者,看待撰寫程式語言為『工作』,工作就是一種必須去完成的責任,甚至是交差了事的事,但FORTH的程式師,對程式的設計卻有很強烈的『創作』性質,因為這個語言把彈性的空間留給了程式師•就像把畫筆及顏料交給畫家一般•我們也可以這樣比喻,一般語言像是健身房裡的健身器材,種類繁多目的明顯,要練就哪一塊肌肉就用哪一台機器,而FORTH就像一套少林拳法,透過不斷的操練,熟練這一套拳法,就可以闖蕩電腦武林,行俠仗義快意恩仇了•這也是為什麼我們常開玩笑說易符像是一個『電腦少林寺』的原因•

 back to top

 

5. 要如何學習 FORTH?

就像打拳,FORTH的每一個招式,看是簡單,但真能融會貫通,卻是有大用•任何技能,若不能付諸實踐,就難以不斷突破精進,因此學習 FORTH 除了在PC 就一套軟的工夫外,拿起硬體來做真正有用的東西,會有更大的樂趣與成就感•

在 IBMPC 上 以 FORTH 軟學習 FORTH:

IBM PC 上的 Win32Forth, 或易符公司的 WeForth 是一個簡單的容易開始•WeForth 是由易符公司以ASM撰寫的 Windows版的eForth,因此與 eE32-1 單晶中文電腦有透通移植性•WeForth 的程式除了 PC IO 相關的功能必須在eE32-1重調外,程式碼(SOURCE CODE)是互通的•

在單晶中文系統模組學習與展應用:

向易符公司買一套 『易符單晶中文系統模組一號(eCSOCM-1)』開始做自己真正的崁入式系統的應用•你將會訝異,用單晶中文電腦模組來做你要的東西,竟是這麼地易!contact: www.eforth.com.tw

學 FORTH 要起頭了解並不難,但要能持續有成,最好是要選擇一個好題目,從這些題目的實踐過程中,熟練eFORTH方法和技巧,進而體驗以FORTH程式創作的精義,享受那種與電腦諧共舞的樂趣與成就感•畢竟做出有用的東西,就是一種最有效最具體的學習方法•

 back to top

 

6. 如何取得 eForth 的技術資源?

關於 FORTH 可以尋求:

www.eforth.com.tw
易符學苑有丁陳老師龐大的FORTH資料

www.figtaiwan.org
台灣FIG 有許多FORTH同好可以向他們請益或可以交換心得•每個月都會在一個禮拜六的9:00-12:00 在中原大學 醫工系 5F 電腦教室聚會會議形式為自由發表一些FORTH的成果或心得•都
免會參加,請注意 www.figtaiwan.org 的消息或主動登錄email便的收到開會通知•會長 陳爽 0920-714-028 [email protected]

易符公司提供有『單晶中文系統模組』,可從以下幾途徑取得支援:

a. 中文晶片討論區可以討論

b. 直接尋求易符的協助

公司 03-666-3322

陳昌江 (AJ, 阿江) 0931-849127 ajchen@eforth.com.tw

吳建佳 (WUJA 阿佳) 0920-884-707 [email protected]

丁陳漢蓀 Dr. C. H. Ting [email protected]

back to top