ARM硬件RISC與軟件設計簡單化
CISC使用豐富的指令集,指令功能多,可以訪問寄存器/內存等,CPU強大,成就了x86的Intel等。
RISC使用精簡的指令集,指令盡可能使用相同的長度簡化執行,計算在寄存器內,只使用LOAD/STORE與內存交換數據。CPU能耗低,成就了ARM等在嵌入式系統和手機CPU。
如果把CISC/RISC與軟件行業比較,比較像數據庫的關系數據庫(RDBMS)和鍵值數據庫(KVDB/NoSQL)。
關系數據庫和鍵值數據庫很久以來一直并存。
關系數據庫接口豐富,功能強大,Oracle/IBM/MS都有重量級的產品。
鍵值數據庫最簡單的就Get/Set兩個接口,類似于LOAD/STORE,現在互聯網公司也用的很多,如BerkeleyDB/MongoDB/CouchDB/等。
CISC和關系數據庫的需求,在于有許多的用戶需要豐富的接口,使用方便,簡化上層的編程。
RICS和鍵值數據庫的需求,在于許多對性能要求很高的場合,比如高負載,高并發,大數據量,或者高實時性。在這種情況下,設計肯定要盡量簡單,指令要少,把一切復雜的東西都交到上層處理。
小結:對軟件設計,在設計的時候,需要把性能要求高的地方,盡量簡化,比如盡量把多線程并發處理,數據庫訪問等,放在核心的幾個類中,把這幾個類認真調試給其它類使用,其它類不要處理多線程等,但是可以把這些服務類“Service”做豐富,方便處理客戶的復雜需求。相當于后臺是RISC設計,前臺是CISC設計。性能穩定,功能強大,童叟無欺。
后記:記得以前MySQL數據庫后臺是用鍵值數據庫,且可以切換不同的鍵值數據庫。現在Intel在PC的CPU很強大,也許以后會出PC的CPU,后臺是類似ARM的RISC設計,前面包裝成一個CISC處理器。


評論