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