在某一實(shí)施例中,披露了一種用于在一個(gè)擴(kuò)展的重置中保持處理器的指令讀取請(qǐng)求的方法。在該處理器經(jīng)歷重置時(shí),禁止讀取請(qǐng)求。在重置完成后,在加載指令存儲(chǔ)器時(shí)仍保持禁止讀取請(qǐng)求。在加載指令存儲(chǔ)器完成后,激活讀取請(qǐng)求。(*該技術(shù)在2021年保護(hù)過(guò)期,可自由使用*)
【技術(shù)實(shí)現(xiàn)步驟摘要】
背景本專利技術(shù)關(guān)于可編程處理器。一個(gè)可編程處理器(如用于計(jì)算機(jī)或數(shù)字信號(hào)處理系統(tǒng)的微處理器)一般包含保存可由處理器執(zhí)行的指令的存儲(chǔ)器。而且,該處理器一般支持重置操作,即處理器被初始化成某種已知狀態(tài)。例如,當(dāng)處理器被加電時(shí),就使用了一次重置。在重置操作中,該保存指令的存儲(chǔ)器一般被重置成某種已知狀態(tài),導(dǎo)致存儲(chǔ)在該存儲(chǔ)器內(nèi)指令的丟失。附圖描述附圖說(shuō)明圖1是一幅圖解一個(gè)流水線可編程處理器的實(shí)例的框表。圖2是一幅信號(hào)時(shí)間安排圖表。圖3是一幅重置邏輯的圖表。圖4是一幅圖解一個(gè)執(zhí)行流水線的實(shí)例示意圖。圖5是一幅圖解一個(gè)用于擴(kuò)展重置的處理器流程圖。專利技術(shù)詳細(xì)描述圖1是一幅圖解一個(gè)可編程處理器10的框圖,該處理器有一個(gè)執(zhí)行流水線14、一個(gè)控制單元12和指令存儲(chǔ)器16。指令存儲(chǔ)器16保存將由流水線14所執(zhí)行的指令。指令存儲(chǔ)器16(在圖1中示出成包含在處理器10內(nèi))也可以是處理器10外部的。控制單元12控制通過(guò)流水線14的指令和數(shù)據(jù)流。例如,在一個(gè)指令的處理中,控制單位12可以控制流水線14的多個(gè)部件解碼指令并正確地執(zhí)行相應(yīng)的操作。控制單元12還可以管理指令存儲(chǔ)器16,并一般還可以執(zhí)行其他功能。指令存儲(chǔ)器16一般包含易失存儲(chǔ)器,如靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)。在圖1中示出為處理器10外部的存儲(chǔ)器20可以包括非易失存儲(chǔ)器元件,如閃存、只讀存儲(chǔ)器或軟盤。存儲(chǔ)器20也可以包含在處理器10之內(nèi)。流水線14直接存取26指令存儲(chǔ)器16,使指令從指令存儲(chǔ)器16直接發(fā)送到流水線14,而無(wú)須控制單元12干涉。當(dāng)流水線14讀取一個(gè)指令時(shí),流水線14嘗試在指令存儲(chǔ)器16中找到該指令。下面所描述的技術(shù)允許指令存儲(chǔ)器16在指令讀取開始前加載指令。有時(shí),處理器10經(jīng)歷一次重置。重置將流水線14設(shè)置成某個(gè)規(guī)定的狀態(tài)。當(dāng)處理器10經(jīng)歷一次重置時(shí),指令存儲(chǔ)器16同樣經(jīng)歷一次重置。重置可能導(dǎo)致存儲(chǔ)在指令存儲(chǔ)器16中的指令的丟失。指令可以通過(guò)將指令從存儲(chǔ)器20加載到指令存儲(chǔ)器16中而恢復(fù)到指令存儲(chǔ)器16中。通常指令通過(guò)直接存儲(chǔ)器存取(DMA)28的方式從存儲(chǔ)器20加載到指令存儲(chǔ)器16。流水線14在重置時(shí)不從指令存儲(chǔ)器16中讀取新的指令,但可以在重置之后準(zhǔn)備好從指令存儲(chǔ)器16中讀取指令。但是,在重置之后讀取指令可能是沒(méi)有效率的,因?yàn)橹噶畈⒉晃挥谧钚轮刂玫闹噶畲鎯?chǔ)器16中,而這些指令必須從存儲(chǔ)器20獲取。下面所描述的技術(shù)通過(guò)暫停指令讀取直至指令存儲(chǔ)器16加載完成,提高了效率。在圖1中,控制單元12包含重置邏輯18。重置邏輯18也可以是與控制單元12分離的。當(dāng)處理器10進(jìn)入一次重置時(shí),就設(shè)置了一個(gè)指示重置正在進(jìn)行的標(biāo)志位,并將其存儲(chǔ)在一個(gè)存儲(chǔ)器元件(如一個(gè)寄存器)中。這個(gè)標(biāo)志位(將在下面以“Reset_Signal”50來(lái)更詳細(xì)地討論)在處理器10的重置終止時(shí)清除。如在圖1中所示,Reset_Signal 50是一個(gè)處理器10外部生成的重置信號(hào),并可能來(lái)自如某個(gè)事件控制器或與處理器10合作的另一處理器。Reset_Signal 50可能產(chǎn)生自如某個(gè)與處理器10合作的系統(tǒng)的一般重置。雖然在圖1中未示出,但Reset_Signal 50可以有別于提供給處理器10的重置信號(hào)(這將啟動(dòng)一個(gè)重置服務(wù)過(guò)程)。Reset_Signal 50是由重置邏輯18接收的。重置邏輯18還接收一個(gè)信號(hào)30,指示將加載入指令存儲(chǔ)器16的指令。信號(hào)30將在下面以“IM_Init”信號(hào)30來(lái)討論。重置邏輯18的輸出是一個(gè)下面以“Ext_Reset_Signal”24來(lái)討論的擴(kuò)展重置信號(hào),該信號(hào)控制通過(guò)流水線14對(duì)指令存儲(chǔ)器16的讀取請(qǐng)求。當(dāng)設(shè)置Ext_Reset_Signal 24時(shí),讀取請(qǐng)求被掛起,而當(dāng)清除Ext_Reset_Signal 24時(shí),讀取請(qǐng)求開始。圖2示出了一幅時(shí)間安排圖表。當(dāng)處理器10放置在普通重置模式中時(shí),如參照行52所指出的那樣,聲明Reset_Signal 50,指示處理器10是在普通重置模式。當(dāng)處理器10完成重置操作時(shí),如參照行54所指出的那樣,清除Reset_Signal 50。如果指令存儲(chǔ)器16將加載,則設(shè)置IM_Init 30。當(dāng)重置操作完成(54)后,加載指令存儲(chǔ)器16(55)。IM_Init 30保持設(shè)置,直至指令存儲(chǔ)器16的加載完成,而后如參照行56所指出的那樣,清除IM_Init 30。平常,流水線14準(zhǔn)備在重置操作完成(54)后立即讀取指令。當(dāng)流水線14準(zhǔn)備讀取指令時(shí),通常指令存儲(chǔ)器16還未準(zhǔn)備好,并將始終未準(zhǔn)備好,直至指令從存儲(chǔ)器20加載。例如,當(dāng)指令存儲(chǔ)器16由SRAM組成時(shí),一般不能由流水線14讀取指令,直至該指令加載入指令存儲(chǔ)器16。通過(guò)以擴(kuò)展了的重置信號(hào)Ext_Reset_Signal 24控制對(duì)指令存儲(chǔ)器16的讀取請(qǐng)求,在處理器10正重置且指令存儲(chǔ)器16正加載時(shí),掛起讀取請(qǐng)求。當(dāng)設(shè)置Reset_Signal 50時(shí),設(shè)置Ext_Reset_Signal 24(52),而當(dāng)清除IM_Init 30時(shí),清除Ext_Reset_Signal24(56)。當(dāng)清除Ext_Reset_Signal 24(56)時(shí),開始對(duì)指令存儲(chǔ)器16的讀取請(qǐng)求。圖3圖解了重置邏輯18的一個(gè)實(shí)施例。在圖3中所示的邏輯是示例性的,并非意圖限制本專利技術(shù)的范圍。重置邏輯18的輸出Ext_Reset_Signal 24通過(guò)按聲明Ext_Reset_Signal 24的時(shí)間長(zhǎng)短掛起讀取請(qǐng)求來(lái)控制流水線14的讀取請(qǐng)求。重置邏輯18的輸入是Reset_Signal 50和IM_Init 30。當(dāng)處理器10開始重置操作時(shí),聲明Reset_Signal 50。Reset_Signal 50存儲(chǔ)在一個(gè)存儲(chǔ)器元件(如寄存器60)中。按處理器10在普通重置模式中的時(shí)間長(zhǎng)短,聲明Reset_Signal 50。當(dāng)處理器10完成重置操作且普通重置模式結(jié)束時(shí),清除Reset_Signal 50。“或”門62確保將聲明Ext_Reset_Signal 24,而流水線14將不讀取指令,至少直至Reset_Signal 50清除。“或”門62進(jìn)一步確保當(dāng)指令存儲(chǔ)器16在普通模式后加載時(shí),仍將聲明Ext_Reset_Signal 24,直至加載完成。當(dāng)不希望指令存儲(chǔ)器16加載(即未聲明IM_Init 30)時(shí),Ext_Reset_Signal 24接著Reset_Signal 50,因而流水線14不進(jìn)入某個(gè)擴(kuò)展了的重置狀態(tài)。但是,當(dāng)聲明IM_Init 30且聲明Reset_Signal 50時(shí),在清除Reset_Signal 50前,Ext_Reset_Signal 24并不接著Reset_Signal 50,并將不清除,直至IM_Init 30清除。當(dāng)聲明IM_Init 30且聲明Reset_Signal 50時(shí),IM_Init 30對(duì)Ext Reset_Signal24沒(méi)有直接影響。下沿檢測(cè)器64感知Reset_Signal 50,并且生成一個(gè)低電壓輸出74,直至清除Reset_Signal 50。當(dāng)清除Reset_Signal 50時(shí),下沿檢測(cè)器64為一個(gè)時(shí)鐘周期產(chǎn)生一個(gè)高電壓信號(hào)74。高電壓信號(hào)74和已聲明的IM_Init信號(hào)30引起來(lái)自“與”門76的一個(gè)高電壓信號(hào)70,該信號(hào)又依次引起“或”本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種用于重置處理器的方法,其特征在于,包括: 進(jìn)入某種重置模式; 加載與該處理器相關(guān)聯(lián)的指令存儲(chǔ)器;以及 掛起指令讀取,直至該指令存儲(chǔ)器加載完成。
【技術(shù)特征摘要】
...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:RP辛格,CP羅思,R科拉戈特拉,JG雷維利亞,
申請(qǐng)(專利權(quán))人:英特爾公司,模擬設(shè)備股份有限公司,
類型:發(fā)明
國(guó)別省市:US[美國(guó)]
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。