<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM硬件RISC與軟件設(shè)計(jì)簡單化

          ARM硬件RISC與軟件設(shè)計(jì)簡單化

          作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
          硬件的RISC和CISC設(shè)計(jì)從很久以前就一直并存,不存在哪個(gè)淘汰哪個(gè),各自有自己的適用場(chǎng)合。

          本文引用地址:http://www.ex-cimer.com/article/201611/317429.htm

          CISC使用豐富的指令集,指令功能多,可以訪問寄存器/內(nèi)存等,CPU強(qiáng)大,成就了x86的Intel等。

          RISC使用精簡的指令集,指令盡可能使用相同的長度簡化執(zhí)行,計(jì)算在寄存器內(nèi),只使用LOAD/STORE與內(nèi)存交換數(shù)據(jù)。CPU能耗低,成就了ARM等在嵌入式系統(tǒng)和手機(jī)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ù)庫接口豐富,功能強(qiáng)大,Oracle/IBM/MS都有重量級(jí)的產(chǎn)品。

          鍵值數(shù)據(jù)庫最簡單的就Get/Set兩個(gè)接口,類似于LOAD/STORE,現(xiàn)在互聯(lián)網(wǎng)公司也用的很多,如BerkeleyDB/MongoDB/CouchDB/等。

          CISC和關(guān)系數(shù)據(jù)庫的需求,在于有許多的用戶需要豐富的接口,使用方便,簡化上層的編程。

          RICS和鍵值數(shù)據(jù)庫的需求,在于許多對(duì)性能要求很高的場(chǎng)合,比如高負(fù)載,高并發(fā),大數(shù)據(jù)量,或者高實(shí)時(shí)性。在這種情況下,設(shè)計(jì)肯定要盡量簡單,指令要少,把一切復(fù)雜的東西都交到上層處理。

          小結(jié):對(duì)軟件設(shè)計(jì),在設(shè)計(jì)的時(shí)候,需要把性能要求高的地方,盡量簡化,比如盡量把多線程并發(fā)處理,數(shù)據(jù)庫訪問等,放在核心的幾個(gè)類中,把這幾個(gè)類認(rèn)真調(diào)試給其它類使用,其它類不要處理多線程等,但是可以把這些服務(wù)類“Service”做豐富,方便處理客戶的復(fù)雜需求。相當(dāng)于后臺(tái)是RISC設(shè)計(jì),前臺(tái)是CISC設(shè)計(jì)。性能穩(wěn)定,功能強(qiáng)大,童叟無欺。

          后記:記得以前MySQL數(shù)據(jù)庫后臺(tái)是用鍵值數(shù)據(jù)庫,且可以切換不同的鍵值數(shù)據(jù)庫?,F(xiàn)在Intel在PC的CPU很強(qiáng)大,也許以后會(huì)出PC的CPU,后臺(tái)是類似ARM的RISC設(shè)計(jì),前面包裝成一個(gè)CISC處理器。



          關(guān)鍵詞: ARM硬件RISC軟件設(shè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();