[發(fā)明專利]處理器、物理寄存器管理方法及電子裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202111031336.0 | 申請(qǐng)日: | 2021-09-03 |
| 公開(公告)號(hào): | CN113626205B | 公開(公告)日: | 2023-05-12 |
| 發(fā)明(設(shè)計(jì))人: | 于亞軒 | 申請(qǐng)(專利權(quán))人: | 海光信息技術(shù)股份有限公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50 |
| 代理公司: | 北京市柳沈律師事務(wù)所 11105 | 代理人: | 彭久云 |
| 地址: | 300392 天津市華苑產(chǎn)業(yè)區(qū)*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 處理器 物理 寄存器 管理 方法 電子 裝置 | ||
本公開的實(shí)施例提供了處理器、物理寄存器管理方法及電子裝置。該處理器處包括:多個(gè)物理寄存器,被配置為被運(yùn)行在處理器上的多個(gè)線程復(fù)用;以及線程信息存儲(chǔ)裝置,被配置為記錄多個(gè)物理寄存器與多個(gè)線程的對(duì)應(yīng)關(guān)系。通過利用線程信息存儲(chǔ)裝置來記錄物理寄存器和線程之間的對(duì)應(yīng)關(guān)系,在硬件出現(xiàn)故障或其他原因?qū)е碌奈锢砑拇嫫魈?hào)被錯(cuò)誤廣播時(shí),可以及時(shí)實(shí)現(xiàn)糾錯(cuò),從而避免后續(xù)的系列錯(cuò)誤并保證處理器正常工作。
技術(shù)領(lǐng)域
本公開的實(shí)施例涉及一種處理器、物理寄存器管理方法及電子裝置。
背景技術(shù)
CPU多線程被稱為SMT(Simultaneous?multithreading),多線程可以通過復(fù)制處理器上的結(jié)構(gòu)狀態(tài),讓同一個(gè)處理器上的多個(gè)線程同步執(zhí)行并共享處理器的資源。為了實(shí)現(xiàn)處理器亂序執(zhí)行,通常是對(duì)物理寄存器進(jìn)行寄存器重命名來將指令中的邏輯寄存器映射到物理寄存器。現(xiàn)在的處理器中的物理寄存器被多線程復(fù)用時(shí),很容易出現(xiàn)錯(cuò)誤。例如,線程A釋放了物理寄存器prn1之后,物理寄存器prn1被重新分配給線程B,如果在線程A釋放了物理寄存器prn1之后,線程A由于例如硬件錯(cuò)誤又廣播了prn1的物理寄存器號(hào),就會(huì)造成線程B認(rèn)為物理寄存器prn1的數(shù)據(jù)已經(jīng)準(zhǔn)備好了而實(shí)際上此時(shí)的物理寄存器prn1的數(shù)據(jù)并未準(zhǔn)備好,從而出現(xiàn)錯(cuò)誤。面對(duì)這種錯(cuò)誤,現(xiàn)有技術(shù)的常規(guī)思路是,由處理器硬件識(shí)別線程A已經(jīng)了物理寄存器prn1并阻止線程A廣播其物理寄存器號(hào)。但在實(shí)際應(yīng)用或?qū)嶋H電路設(shè)計(jì)中,利用處理器硬件來實(shí)現(xiàn)上述思路不僅實(shí)現(xiàn)困難并且還容易出錯(cuò)。例如,新分配的指令同時(shí)選擇了相同的物理寄存器、或新分配的指令在被它的生產(chǎn)者下發(fā)之前就被提前下發(fā)等。
發(fā)明內(nèi)容
本公開至少一個(gè)實(shí)施例提供一種處理器,包括:多個(gè)物理寄存器,被配置為被運(yùn)行在所述處理器上的多個(gè)線程復(fù)用;以及線程信息存儲(chǔ)裝置,被配置為記錄所述多個(gè)物理寄存器與所述多個(gè)線程的對(duì)應(yīng)關(guān)系。
例如,在本公開一實(shí)施例提供的處理器中,其中,所述對(duì)應(yīng)關(guān)系為表征當(dāng)前所述多個(gè)物理寄存器中每個(gè)物理寄存器是否被分配給所述多個(gè)線程之一的對(duì)應(yīng)關(guān)系。
例如,在本公開一實(shí)施例提供的處理器中,所述處理器還包括控制器,其中,所述控制器被配置為,響應(yīng)于所述多個(gè)物理寄存器中的一個(gè)物理寄存器被分配給所述多個(gè)線程中的一個(gè)線程和/或響應(yīng)于所述多個(gè)物理寄存器中的一個(gè)物理寄存器被釋放,修改所述線程信息存儲(chǔ)裝置中的所述對(duì)應(yīng)關(guān)系。
例如,在本公開一實(shí)施例提供的處理器中,其中,所述控制器還被配置為,響應(yīng)于所述多個(gè)物理寄存器中的第一被選擇物理寄存器被分配給所述多個(gè)線程中的第一線程且所述第一線程將所述第一被選擇物理寄存器設(shè)為無效,在所述線程信息存儲(chǔ)裝置中與所述第一被選擇物理寄存器對(duì)應(yīng)的項(xiàng)記錄所述第一線程的第一線程號(hào)。
例如,在本公開一實(shí)施例提供的處理器中,其中,所述控制器還被配置為,響應(yīng)于針對(duì)所述第一被選擇物理寄存器的廣播操作,獲取所述多個(gè)線程中發(fā)起所述廣播操作的第二線程的第二線程號(hào),獲取所述線程信息存儲(chǔ)裝置中與所述第一被選擇物理寄存器對(duì)應(yīng)的項(xiàng)中記錄的第一線程號(hào);響應(yīng)于所述第二線程號(hào)與所述第一線程號(hào)相同,確定所述廣播操作為有效廣播操作;響應(yīng)于所述第二線程號(hào)與所述第一線程號(hào)不同,確定所述廣播操作為無效廣播操作。
例如,在本公開一實(shí)施例提供的處理器中,其中,所述控制器還被配置為記錄所述無效廣播操作以及發(fā)起所述無效廣播操作的第二線程的第二線程號(hào)。
例如,在本公開一實(shí)施例提供的處理器中,其中,所述控制器還被配置為響應(yīng)于確定所述廣播操作為無效廣播操作以及所述第二線程號(hào),阻止所述第二線程將數(shù)據(jù)寫入所述第一被選擇物理寄存器。
本公開至少一個(gè)實(shí)施例提供一種物理寄存器管理方法,包括:使多個(gè)物理寄存器被運(yùn)行在處理器上的多個(gè)線程復(fù)用;以及使用線程信息存儲(chǔ)裝置記錄所述多個(gè)物理寄存器與所述多個(gè)線程的對(duì)應(yīng)關(guān)系。
例如,在本公開一實(shí)施例提供的方法中,其中,所述對(duì)應(yīng)關(guān)系為表征當(dāng)前所述多個(gè)物理寄存器中每個(gè)物理寄存器是否被分配給所述多個(gè)線程之一的對(duì)應(yīng)關(guān)系。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于海光信息技術(shù)股份有限公司,未經(jīng)海光信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111031336.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。





