[發(fā)明專(zhuān)利]一種堆棧計(jì)算機(jī)在審
| 申請(qǐng)?zhí)枺?/td> | 201910553732.6 | 申請(qǐng)日: | 2019-06-25 |
| 公開(kāi)(公告)號(hào): | CN112130899A | 公開(kāi)(公告)日: | 2020-12-25 |
| 發(fā)明(設(shè)計(jì))人: | 關(guān)寧 | 申請(qǐng)(專(zhuān)利權(quán))人: | 海寧先進(jìn)半導(dǎo)體與智能技術(shù)研究院 |
| 主分類(lèi)號(hào): | G06F9/30 | 分類(lèi)號(hào): | G06F9/30 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 314400 浙江省嘉興市海寧*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 堆棧 計(jì)算機(jī) | ||
1.一種堆棧計(jì)算機(jī),包括內(nèi)部控制狀態(tài)機(jī)(state)、程序計(jì)數(shù)寄存器(pc、npc_low、pc_hold、fetch_next)、棧指針寄存器(sp)、指令緩存寄存器(text、ins)、棧頂緩存寄存器(tos、tos_valid)、總線地址寄存器(addr)、總線數(shù)據(jù)寄存器(data),指令譯碼單元(skip_store、decode)、算術(shù)邏輯單元(alu)以及外部總線接口(bus)。
2.如狀態(tài)要求1所述的計(jì)算機(jī),其中:狀態(tài)控制器包括取指空閑(IDLE)、指令讀出(FETCH)、指令譯碼(DECODE)、指令執(zhí)行(EXECUTE)、地址生成(ADDR)、數(shù)據(jù)讀出(LOAD)、數(shù)據(jù)生成(DATA)、數(shù)據(jù)寫(xiě)入(STORE)等8個(gè)狀態(tài)。
3.如權(quán)利要求1所述的計(jì)算機(jī),其中:程序計(jì)數(shù)寄存器的低位部分具有不向高位進(jìn)位的自增功能,并在指令譯碼(DECODE)狀態(tài)時(shí)儲(chǔ)存自增結(jié)果到臨時(shí)寄存器(npc_low),該臨時(shí)寄存器和原來(lái)程序計(jì)數(shù)寄存器的高位共同構(gòu)成指向下一條待執(zhí)行指令的新程序計(jì)數(shù)器(npc),但新程序計(jì)數(shù)器只有在程序計(jì)數(shù)寄存器低位部分不全為1且當(dāng)前指令不是流程控制指令時(shí)才有效,可以在指令執(zhí)行(EXECUTE)狀態(tài)時(shí)加載到程序計(jì)數(shù)寄存器。
4.如權(quán)利要求3所述的計(jì)算機(jī),其中:如果程序計(jì)數(shù)寄存器低位部分全為1且當(dāng)前指令不是流程控制指令時(shí),則在指令執(zhí)行(EXECUTE)狀態(tài)時(shí)設(shè)置標(biāo)志位(fetch_next),讓狀態(tài)控制器在數(shù)據(jù)寫(xiě)入(STORE)狀態(tài)結(jié)束時(shí)跳轉(zhuǎn)到取指空閑(IDLE)而不是指令譯碼(DECODE),并讓程序計(jì)數(shù)寄存器在取指空閑(IDLE)狀態(tài)時(shí)加載算術(shù)邏輯單元的輸出。
5.如權(quán)利要求4所述的的計(jì)算機(jī),其中:標(biāo)志位(fetch_next)在狀態(tài)控制器處于取指空閑(IDLE)時(shí)清零。
6.如權(quán)利要求3所述的計(jì)算機(jī),其中:如果當(dāng)前指令是流程控制指令,則當(dāng)狀態(tài)控制器處于數(shù)據(jù)寫(xiě)入(STORE)狀態(tài)時(shí),讓程序計(jì)數(shù)寄存器加載算術(shù)邏輯單元的輸出,讓狀態(tài)控制器在數(shù)據(jù)寫(xiě)入(STORE)狀態(tài)結(jié)束時(shí)跳轉(zhuǎn)到取指空閑(IDLE)而不是指令譯碼(DECODE),并設(shè)置標(biāo)志位(pc_hold)使程序計(jì)數(shù)寄存器在取指空閑(IDLE)狀態(tài)時(shí)不再改變。
7.如權(quán)利要求6所述的計(jì)算機(jī),其中:標(biāo)志位(pc_hold)在狀態(tài)控制器處于取指空閑(IDLE)時(shí)清零。
8.如權(quán)利要求1所述的計(jì)算機(jī),其中:棧指針寄存器不具備自增、自減功能,而是依照當(dāng)前指令在指令執(zhí)行(EXECUTE)狀態(tài)加載算術(shù)邏輯單元輸出、加載棧頂緩存寄存器或外部總線數(shù)據(jù),如果當(dāng)前指令需要執(zhí)行兩次出棧操作,則在數(shù)據(jù)讀取(LOAD)狀態(tài)下再加載一次算術(shù)邏輯單元輸出。
9.如權(quán)利要求1所述的計(jì)算機(jī),其中:指令緩存寄存器(text)緩存了與總線位寬相等的操作指令,并使用程序計(jì)數(shù)寄存器的低位部分選擇當(dāng)前指令(ins)送到指令譯碼單元。
10.如權(quán)利要求1所述的計(jì)算機(jī),其中:棧頂緩存寄存器(tos)緩存了棧頂操作數(shù),并通過(guò)標(biāo)志位(tos_valid)表示棧頂緩存寄存器中的內(nèi)容是否有效,如當(dāng)前指令直接設(shè)置了棧指針寄存器或僅執(zhí)行了出棧操作,則在指令執(zhí)行(EXECUTE)狀態(tài)將該標(biāo)志位置0,反之將將該標(biāo)志位置1。
11.如權(quán)利要求1所述的計(jì)算機(jī),其中:如棧頂緩存標(biāo)志位(tos_valid)無(wú)效,則棧頂緩存寄存器在指令執(zhí)行(EXECUTE)狀態(tài)加載外部總線數(shù)據(jù),反之則在數(shù)據(jù)寫(xiě)入(STORE)狀態(tài)加載總線數(shù)據(jù)寄存器,以確保棧頂緩存寄存器的內(nèi)容與內(nèi)存中的棧頂匹配。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于海寧先進(jìn)半導(dǎo)體與智能技術(shù)研究院,未經(jīng)海寧先進(jìn)半導(dǎo)體與智能技術(shù)研究院許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910553732.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 雙桌面遠(yuǎn)程控制系統(tǒng)及方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 雙計(jì)算機(jī)系統(tǒng)
- 制導(dǎo)雷達(dá)計(jì)算機(jī)系統(tǒng)
- 一種服務(wù)部署方法及裝置
- 一種計(jì)算機(jī)集成系統(tǒng)及故障自動(dòng)切換方法
- 一種計(jì)算機(jī)信息安全監(jiān)控系統(tǒng)
- 混合型量子計(jì)算機(jī)架構(gòu)及其執(zhí)行計(jì)算任務(wù)的方法





