[發(fā)明專利]高效能復(fù)雜指令譯碼的微處理器有效
| 申請(qǐng)?zhí)枺?/td> | 202010541581.5 | 申請(qǐng)日: | 2020-06-15 |
| 公開(kāi)(公告)號(hào): | CN111679856B | 公開(kāi)(公告)日: | 2023-09-08 |
| 發(fā)明(設(shè)計(jì))人: | 管應(yīng)炳;司徒加旻;黃振華 | 申請(qǐng)(專利權(quán))人: | 上海兆芯集成電路股份有限公司 |
| 主分類號(hào): | G06F9/22 | 分類號(hào): | G06F9/22 |
| 代理公司: | 北京市柳沈律師事務(wù)所 11105 | 代理人: | 徐協(xié)成 |
| 地址: | 201203 上海市浦東新*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 高效能 復(fù)雜 指令 譯碼 微處理器 | ||
本申請(qǐng)?zhí)岢鲆环N高效能復(fù)雜指令譯碼的微處理器。一微處理器包括一指令隊(duì)列、一指令譯碼器、一譯碼控制電路以及一擴(kuò)位譯碼控制電路。該指令譯碼器耦接該指令隊(duì)列,且包括一復(fù)雜指令譯碼器。該微處理器的流水線寬度為n,且該復(fù)雜指令譯碼器包括k個(gè)子譯碼器,k大于n。該譯碼控制電路在該指令隊(duì)列的第一個(gè)存儲(chǔ)格彈出一復(fù)雜指令時(shí),判斷該復(fù)雜指令的一微指令數(shù)量。該擴(kuò)位譯碼控制電路在該微指令數(shù)量大于n、且不超過(guò)k時(shí),輸出一暫停信號(hào)至該指令隊(duì)列,令該指令隊(duì)列暫停彈出指令,直至該復(fù)雜指令譯碼器完成該復(fù)雜指令的譯碼。
技術(shù)領(lǐng)域
本申請(qǐng)涉及微處理器架構(gòu),特別涉及復(fù)雜指令譯碼。
背景技術(shù)
微處理器通常以只讀存儲(chǔ)器(ROM)存儲(chǔ)復(fù)雜指令的微碼,期以節(jié)省譯碼器硬件成本。但只讀存儲(chǔ)器的存取仍有一定的時(shí)間成本:陷入(trap)微碼讀取需承擔(dān)陷入延時(shí)。如何高效應(yīng)付復(fù)雜指令陷入延時(shí)為本技術(shù)領(lǐng)域一項(xiàng)重要課題。
發(fā)明內(nèi)容
本申請(qǐng)以復(fù)雜指令譯碼器的硬件擴(kuò)位減少陷入微碼讀取的機(jī)會(huì)。
根據(jù)本申請(qǐng)一種實(shí)施方式實(shí)現(xiàn)的一微處理器包括一指令隊(duì)列以及一指令譯碼器。該指令譯碼器耦接該指令隊(duì)列,且包括一復(fù)雜指令譯碼器。該微處理器的流水線寬度為n,且該復(fù)雜指令譯碼器包括k個(gè)子譯碼器,k大于n。該微處理器還包括一譯碼控制電路以及一擴(kuò)位譯碼控制電路。該譯碼控制電路在該指令隊(duì)列的第一個(gè)存儲(chǔ)格彈出一復(fù)雜指令時(shí),判斷該復(fù)雜指令的一微指令數(shù)量。該擴(kuò)位譯碼控制電路在該微指令數(shù)量大于n、且不超過(guò)k時(shí),輸出一暫停信號(hào)至該指令隊(duì)列,令該指令隊(duì)列暫停彈出指令,直至該復(fù)雜指令譯碼器完成該復(fù)雜指令的譯碼。
上述k個(gè)子譯碼器中,每n個(gè)子譯碼器可為一組,不同組運(yùn)作的周期不同。
一種實(shí)施方式中,該指令譯碼器還包括(n-1)個(gè)簡(jiǎn)單指令譯碼器。該指令隊(duì)列的第一至第n個(gè)存儲(chǔ)格彈出n條簡(jiǎn)單指令時(shí),該復(fù)雜指令譯碼器的第一個(gè)子譯碼器、以及上述(n-1)個(gè)簡(jiǎn)單指令譯碼器在同一周期運(yùn)作。
一種實(shí)施方式中,該微處理器還包括一第一多工器,具有第一至第n個(gè)輸入端分別耦接該復(fù)雜指令譯碼器的第一至第n個(gè)子譯碼器,且具有第(n+1)至第(2n-1)個(gè)輸入端耦接上述(n-1)個(gè)簡(jiǎn)單指令譯碼器。該第一多工器更具有第一至第n個(gè)輸出端。
一種實(shí)施方式中,該指令隊(duì)列的第一個(gè)存儲(chǔ)格彈出一復(fù)雜指令時(shí),該譯碼控制電路令該第一多工器選擇該第一多工器的上述第一至第n個(gè)輸入端所接收內(nèi)容由該第一多工器的上述第一至第n個(gè)輸出端輸出。該指令隊(duì)列的第一個(gè)存儲(chǔ)格彈出一簡(jiǎn)單指令時(shí),該譯碼控制電路令該第一多工器的第一個(gè)輸入端所接收的內(nèi)容由該第一多工器的第一個(gè)輸出端輸出,但不選擇該第一多工器的第二至第n個(gè)輸入端所接收的內(nèi)容由該第一多工器的第二至第n個(gè)輸出端輸出。
一種實(shí)施方式中,該微處理器還包括一第二多工器,具有第一至第n個(gè)輸入端分別耦接該第一多工器的上述第一至第n個(gè)輸出端,且具有第(n+1)至第2n個(gè)輸入端分別耦接該復(fù)雜指令譯碼器的第(n+1)至第2n個(gè)子譯碼器。該第二多工器更具有第一至第n個(gè)輸出端。
一種實(shí)施方式中,該微處理器還包括一暫存器。該暫存器由該擴(kuò)位譯碼控制電路填寫。該暫存器初始為一第一值。根據(jù)存儲(chǔ)該第一值的該暫存器,該第二多工器的上述第一至第n個(gè)輸入端所接收的內(nèi)容由該第二多工器的上述第一至第n個(gè)輸出端輸出。該第一個(gè)存儲(chǔ)格彈出一復(fù)雜指令、且該復(fù)雜指令的一微指令數(shù)量大于n、且不超過(guò)k時(shí),該擴(kuò)位譯碼控制電路令該暫存器在接續(xù)一第一周期的一第二周期為一第二值。根據(jù)存儲(chǔ)該第二值的該暫存器,該第二多工器上述第(n+1)至第2n個(gè)輸入端所接收的內(nèi)容由該第二多工器的上述第一至第n個(gè)輸出端輸出。
一種實(shí)施方式中,該微處理器還包括一微碼控制器,具有一存儲(chǔ)器。該存儲(chǔ)器存儲(chǔ)微指令數(shù)量超過(guò)k的復(fù)雜指令的微碼。該指令譯碼器還包括一陷入決定電路。該第一個(gè)存儲(chǔ)格彈出的一復(fù)雜指令的微指令數(shù)量不超過(guò)k時(shí),該陷入決定電路略去操作該微碼控制器進(jìn)行陷入微碼讀取。
一種實(shí)施方式中,k為2n。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海兆芯集成電路股份有限公司,未經(jīng)上海兆芯集成電路股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010541581.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。





