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