TW200928967A - System and method of selectively accessing a register file - Google Patents
System and method of selectively accessing a register file Download PDFInfo
- Publication number
- TW200928967A TW200928967A TW097145014A TW97145014A TW200928967A TW 200928967 A TW200928967 A TW 200928967A TW 097145014 A TW097145014 A TW 097145014A TW 97145014 A TW97145014 A TW 97145014A TW 200928967 A TW200928967 A TW 200928967A
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- block
- register
- destination register
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 235000006040 Prunus persica var persica Nutrition 0.000 description 1
- 240000006413 Prunus persica var. persica Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
200928967 九、發明說明: 【發明所屬之技術領域】 本揭示案大體而言係關於一種選擇性地寫入至暫存器檔 案之系統及方法。 【先前技術】 ❹ 大體而t,現a的處理器經調適以執行多種數值計算。 具體言之,對運算元執行該等計算。在許多個例中,該等 運算元包括大量"〇"。舉例而言,在圖形處理中,每一運 算广可為六十四個位元’但六十四個位元之大部分可為 一些個例中’料相t大百分比之寫入操作而 。待寫入至暫存器之結果的上部位元(亦即’最高有效 位凡)可為"0"。因此,處理器可對所有位元執行數值計 算,但六十四個位元中之僅一部分(諸如六十四個位元中 之8個位元)導致不同於"〇”的值。然而,將結果(即使為,.〇·, 值結果)寫入至暫存器檔案消耗電力。 【發明内容】 在特疋實施例中,揭示一種方法’其包括識別待寫入至 ^的㈣存器之結果内的第一位元區塊。結果包括複數個 :’该複數個位元具有第—位元區塊及第二位元區塊。 αΓ而疋區塊具有"〇”值。該方法進一步包括將第二位元 不將第—位元區塊)選擇性地寫入至目的地暫存 定大:立元區塊及第二位元區塊中之每-者可為具有指 或對應於資料字或暫存器之_ 組或集合,且可對庙〆 θ σ刀的位兀之群 且了對應於任何數目之位元,諸如8個位元、 136378.doc 200928967 16個位疋、32個位元’或如可由效能目標、系統設計限制 或其他因素判定之任何其他數目之位元。 在另-特定實施例中,揭示一種電路裝置,其包括用於 處理指令及產生具有複數個位元之結果的執行單元。該電 «置亦包括用於儲存複數個位元中之選定位元的目的地 暫存器及能夠存取執行單元且能夠存取目的地暫存器之邏 輯電路。邏輯電路經調適以自執行單元接收結果且將非 "0"值資料位元區塊選擇性地寫入至目的地暫存器◎邏輯 ® 電路將識別值資料位元區塊及非"0"值資料位元區塊的 經編碼值儲存至控制暫存器。在說明性實施例中,經編碼 值可識別具有相應"〇"經編碼值之每一 ” 〇 ”值資料位元區 塊,且亦可識別包括具有相應"丨"值之至少一非"〇"值位元 的每一資料位元區塊。 在又一特定實施例中,揭示一種方法,其包括在處理器 之執行單元處產生待寫入至目的地暫存器之結果。結果包 參括複數個區組,其中複數個區組中之每一區組具有複數個 位元。該方法進一步包括:自複數個區組識別包含非,,〇" 值位元之一或多個區組;及將經識別之一或多個區組(而 不將複數個區組中之其他區組)選擇性地寫入至目的地暫 存器。 在又一特定實施例中,揭示一種處理器’其包括用於識 別待寫入至目的地暫存器之結果内的第一位元區塊的構 件。結果包括複數個位元,該複數個位元包括第一位元區 塊及第二位元區塊,其中第一位元區塊具有"〇”值。該處 136378.doc 200928967 理 器亦包括用於將表示第—位元區塊及第二位元區塊之經 編碼位元值提供至控制暫存器的構件。該處理器進一步包 括用於將第二位元區德雄 122塊選擇性地寫入至目的地暫存器之第 二部分,而不將第一位亓p·祕 位7°£塊寫入至目的地暫存器之第一 部分的構件。 由經調適㈣止將具有”G"值之區塊寫人至目的地暫存 器之電路裝置的實施例所提供之—特定優點為可減少整體
電力祕。藉由僅將非"〇"值位元區塊選擇性地寫入至暫 存器檔案,可減少暫存器檔案處歸因於長配線之切換期間 的電容效應之電力耗散。 提供另-特定優點在於可分割暫存器檔案以支援分率寬 度(fractiona丨_width)讀取及寫入操作。舉例而言可分割 具有32個位元之暫存器棺案以允許16個位元、8個位元/4 個位元等等之讀取及寫人操作。在此個例_,可將非 值資料區塊寫人至暫存器權案之敎部分,而不將"〇"值 資料區塊寫人至暫存器檔案。在此實例中,亦可存取暫存 器檔案之部分以自暫存器檔案讀取非"0"值部>,而不存 取暫存器擋案之其他部分。藉由分割暫存器檔案,控制單 π可跳過與值資料位元區塊相關之讀取/寫人操作 而節省電力。 在又一特定實施例中,提供一額外優點在於可在暫存器 標案内、在控制單元内或在電路裝置内之別處提供資料緩 衝器以根據位S遮罩而在資料緩衝器或鎖存器處選擇性地 儲存暫存器資料,以使得"〇"值資料區塊不儲存在資料緩 I36378.doc 200928967 衝器或鎖存器令(亦即,不自暫存器檔案 施例_,資料鎖存 )在特定實 可僅… 處於暫存器槽案之内部,且因此, 不更新用於健存1=對讀取啟用線供以電力。藉由
料鎖存器至執行單=區塊的資料鎖存器,減少自資 執仃早π所驅動之資料線的整體電力消耗。 審閱整個申請案之後,本 I 特徵將變得顯而易見,整個申7/:Γ 及 個申凊案包括以下部分:[圖式
β 5 、[實施方式]及[申請專利範圍]。 【實施方式】 圖1為包括"0"偵測電路及邏輯電路以選擇性地存取目的 地暫存器之電路裝置_之特定說明性實施例的方塊圖。 處系統1 00包括記憶體1 02,該記憶體1 〇2經調適以經由 匯流排介面104與指令快取記憶體1〇6及資料快取記憶體 112通仏。私令快取記憶體i 〇6藉由匯流排Η 〇耦接至序列 器114。處理系統丨〇〇亦可包括控制單元132,該控制單元 132具有監督控制暫存器134及整體控制暫存器136以儲存 可由序列器114内之控制邏輯存取來判定是否接受中斷(諸 如通用中斷116)之位元,且控制指令之執行。 在特定實施例中,指令快取記憶體1〇6經由複數個現行 指令暫存器而耦接至序列器114,該等現行指令暫存器可 搞接至匯流排110且與處理系統ι〇〇之特定線緒相關聯。在 特定實施例中,處理系統1〇〇為交錯式多線緒化處理器。 序列器114耦接至第一指令執行單元118、第二指令執行 單元120、第三指令執行單元ι22及第四指令執行單元 136378.doc -10· 200928967 I24。每一指令執行單元118、120、122及124可經由第二 匯流排128耦接至通用暫存器檔案126。通用暫存器檔案 126亦可經由第三匯流排13〇耦接至序列器ιΐ4、資料快取 記憶體112及記憶體1〇2。 第一執行單元118包括"〇"偵測邏輯電路138,且第二執 行單元120包括"〇"偵測邏輯電路14〇 ^在特定實施例中, ❹ 執行單元118、120、122及124中之每一者可包括.,〇,,價測 邏輯電路。在另―特定實施财,執行單元118、120、 122及U4中之任—或多者可包括""測邏輯電路。電路 裝置⑽亦包括邏輯電路142,該邏輯電路142㈣至第— 執行单元118及第二勤Μ. 1 ο π ρ 執仃單7L 120,且耦接至通用暫存器檔 案126通用暫存器檔案126包括具有第-部分146及第二 部分148之目的地暫存器144。在特定實例中,目的地暫存 器Μ4可為32位元暫存器檔案,其包括諸如第一部分…之 上部位元部分(亦即,最高有效位元部分)及諸如第二部分 148之下部位㈣分⑼即’最低有效位元部分)。在另一特 定實施例中’目的地暫存器144可包括四個8位元部分。 在特定實施財,第—執行單元118接收指令及計算待 t至目的地暫存器144之結果。結果包括多個位元,該 . <疋區塊及第二位元區塊。第一執行 元11 8内之"〇 "偵測邏輯 值(亦即,第-位元m 區塊具有"〇" 具有非”〇"射: 元為”0”)且第二位元區塊 ^ 即,第二位元區塊之至少—個位元為非"〇,· 订單凡118將結果及與判定相關聯之指示符提供至 136378.doc 200928967 邏輯電路142❶邏輯電路142將第二位元區塊選擇性地寫入 至目的地暫存器144之第二部分148(亦即,邏輯電路142將 第二位元區塊但不將第一位元區塊選擇性地寫入至目的地 暫存器144)。邏輯電路142亦產生表示第一位元區塊及第 二位元區塊的位元遮罩或經編碼資料值,且將位元遮罩提 供至控制單元132以用於儲存在整體控制暫存器U6處。 在特定實例中’邏輯電路142可自整體控制暫存器136擁 取位元遮罩,且利用位元遮罩自目的地暫存器144之第二 部分148擷取第二位元區塊及遮罩自目的地暫存器144之第 一部分140所擷取的資料。舉例而言,可對來自位元遮罩 之位元值及來自第一部分146之資料執行及(AND)運算 以重新產生第一位元區塊,第一位元區塊可與來自目的地 暫存器144之第二部分148的資料一起被提供至第一執行單 元11 8以用於執行指令。 在另一特定實例中,邏輯電路142可自整體控制暫存器 136擷取位元遮罩,且利用位元遮罩選擇性地啟用與目的 地暫存器144之第二部分148相關聯的讀取線,而不雙態觸 發與目的地暫存器144之第一部分146相關聯的讀取線。在 又一特定實例中’邏輯電路142可使用位元遮罩來藉由控 制至鎖存器之時脈輸入信號而選擇性地控制資料鎖存。舉 例而言,邏輯電路142可自整體控制暫存器136擷取位元遮 罩,且利用位元遮罩來選擇性地雙態觸發與耦接至第一部 为146之第一資料鎖存器相關聯的第一時脈或時脈輸入信 號,且選擇性地雙態觸發與粞接至第二部分148之第二資 136378.doc 12 200928967 料鎖存器相關聯的第二時脈或時脈輸入信號以將來自目的 地暫存器144之資料選擇性地鎖存至第一資料鎖存器或第 二資料鎖存器(諸如圖2中所說明之第一資料鎖存器232及 第二資料鎖存器234)中。 在特定實例中,邏輯電路142可與控制單元132協作以將 非”〇"值資料位元區塊選擇性地寫入至目的地暫存器144且 防止’,〇"值資料位元區塊被寫入至目的地暫存器144。藉由 選擇性地寫入非"〇"值資料位元區塊,而不寫入"〇"值資料 位元區塊’可減少歸因於暫存器寫入操作之電力祕。另 卜邏輯電4142可與控制單元132協作以控制讀取操作來 選擇性地自目的地暫存器144之部分146或148讀取資料, 而不讀取整個目的地暫存器14[在㈣實例中,藉由讀 取目的地暫存器!44之第一部分146,而不讀取其第二部分 可減少歸因於經由資料線自目的地暫存器⑷驅動資 料值之整體電力消耗。 ❹ ® 2為包括具有讀取/寫入選擇控制電路之執行單元以選 擇性地存取目的地暫存器之電路裝置200之特定說明性實 =的方塊圖。電路裝置2叫括執行單元202,其經由一 ^Γ,2ί)6與暫存器播案204通信。暫存器樓案204可包 括一或多個暫存器208 定實例中,暫户 212、214、216及218。在特 之目㈣*存器218為包括第_部分228及第二部分230 之目的地暫存器。第一 上邱邱八邛刀228可表不目的地暫存器218之 ㈣暫^之如下最^有效位元區塊)且第二部分23〇可表示目 卩部分(諸如最低有效位元區塊)。儘管將 136378.doc 200928967 目的地暫存器218說明為具有第一部分228及第二部分 230,但應理解,可將目的地暫存器21 8細分成任何數目之 部分。可由儲存在控制暫存器238中之位元遮罩(諸如位元 遮罩240)之一位元表示目的地暫存器218之每一部分。 執行單元202包括”0”偵測邏輯電路220以判定結果何時 包括鄰接之"〇"區塊。舉例而言,若結果為32位元結果, •則"〇"偵測邏輯電路220經調適以識別第一,,〇"區塊,諸如結 果内之4位元"0"區塊、8位元"〇"區塊或16位元"〇"區塊。結 β 果亦可包括具有非值的第二資料區塊。執行單元202經 調適以將第二資料區塊’而不將第一資料區塊選擇性地寫 入至暫存器檔案204之目的地暫存器218。在特定實例中, 執行單元202經調適以將第二資料區塊寫入至目的地暫存 器21 8之第二部分230。第一部分228在寫入操作期間可保 持不變。 電路裝置200亦包括鎖存器控制邏輯電路236、控制暫存 ❹ 器238及資料緩衝器’資料緩衝器包括第一正反器232及第 二正反器234 ’該第一正反器232及該第二正反器234經由 匯流排222耦接至執行單元202且經由匯流排224耦接至目 的地暫存器218。儘管第一正反器232及第二正反器234被 '說明為處於暫存器檔案204之外部,但應理解,(例如)正反 器232及234亦可處於暫存器檔案204之内部,藉此縮短將 目的地暫存器218連接至第一正反器232及第二正反器234 之配線的長度。減小在讀取或寫入操作期間被供以電力之 配線的長度可減少整體電力耗散。 136378.doc 200928967 在特定說明性實施例中’鎖存器控制邏輯電路236經調 適以自執行單元202偵測暫存器讀取操作且自與特定暫存 器(例如’目的地暫存器218)相關之控制暫存器238擷取位 元遮罩240。鎖存器控制邏輯電路236經調適以將第一時脈 信號242(其用於鎖存來自目的地暫存器21 8之第一部分228 的資料)選擇性地施加至第一正反器232,將第二時脈信號 244(其用於鎖存來自目的地暫存器218之第二部分23〇的資 料)選擇性地施加至第二正反器234,或其任一組合。在此 〇 冑例中,可自目的地暫存器218讀取資料,且基於位元遮 罩240在資料緩衝器(亦即,第一正反器232及第二正反器 234)處選擇性地俘獲資料。舉例而言,包括"〇1"值之位元 遮罩240可指示資料儲存在目的地暫存器218之下部部分 (例如,第二部分230)中,但可略去上部部分(例如,第一 部分228)中之資料。 在特定實例中,鎖存器控制邏輯電路236可在基於遮罩 ❹ 240之邏輯高位元雙態觸發第二時脈244的同時,利用遮罩 240之"〇"位元來以恆定位準保持第一時脈242之邏輯值。 因此,可回應於將電力冑供至與第二部分23()相_以 取線及回應於雙態觸發第二時脈信號244,而將目的地暫 存器218之第二部分23〇處所儲存之資料鎖存至第二正反器 234中。可將第二正反器234處之資料提供至執行單元 202,且第-正反器232可將"〇"值提供至執行單元搬以用 於在執行指令中使用。 在特定實施例中,資料緩衝器(亦即,第―正反器^及 I36378.doc 200928967 第一正反器234)可包括在暫存器檔案2〇4内。在另一特定 實施例中,資料緩衝器可處於暫存器檔案204之外部《在 第二特定實施例中,第一正反器232及第二正反器234可處 於控制單元内或執行單元搬内。藉由利用第—正反器232 以二正反器234以選擇性地鎖存資料,可在無額外讀取/ 寫入線且無對於可能自目的地暫存器之一部分讀取未知資 料之關注的情況下,自目的地暫存器218選擇性地擷取資 _冑存器控制邏輯電路236可包括於共用控制單元中且 可為多個執行單元提供選擇性的讀取/寫入功能性。 圖3為包括具有讀取/寫入選擇控制電路322之執行單元 3〇2以選擇性地存取暫存器(諸如目的地暫存11318)之電路 裝置300之第一特疋說明性實施例的方塊圖。執行單元 、呈由通?Μ日疋於306處之-或多個匯流排與暫存器播案3〇4 通信。暫存器檔案304包括暫存器3〇8、31〇、312、314及 316及目的地暫存器318。在此實例中,可提供第一線 藝 324及第二線326以允許執行單元3〇2選擇性地存取目的地 暫存器318之第一部分328及/或第二部分330。為了自第-部分328讀取資料,可雙態觸發第-線324。為了自第二部 分330讀取資料,可雙態觸發第二線似。為了自第一部分 328及第一 #刀330兩者讀取資料,可雙態觸發第—線 及第二線326兩者。 在特定實例中,執行單元3〇2產生包括複數個區組之結 果,其中每-區組包括多個位元。"〇,,偵測邏輯電路32〇經 調適以識別複數個區組中之具有,,〇"值的區組⑽ρ,經識 136378.doc -16 - 200928967 職組之所有位元等於,’〇”)。在特定實例中,區組表示位 疋(諸如32位元結果之四個位元、人個位元或十六個位元) 之區塊。執行單元302使用讀取/寫入選擇控制電路從以 將複數個區組中之非"〇"值區組選擇性地寫入至目的地暫 存器川之選定部分。舉例而言,"〇,測邏輯電路32〇可 ,别具有〇值的結果之位元之第一區組或區塊及具有不 #於"〇"之值的結果之位元之第二區組或區塊。執行單元 302利用讀取/寫入選擇控制電路以選擇性地啟動第二線 罾 326,而不啟動第-線似,以將第二區組選擇性地寫入至 目的地暫存器318之第二部分330 ,而不將第一區組寫入至 目的地暫存器318之第一部分328。 在另一特定實例中,第一線324及第二線326可用以存取 目的地暫存器3 i 8以選擇性地讀取第一部分328及第二部分 330中之一者或兩者。藉由選擇性地控制提供至第一線324 及第二線326之電力,可減少整體電力消耗。 ❹圖4為包括具有控制單元4〇6之電路裝置4〇2以選擇性地 存取暫存器檔案之部分之系統4〇〇的特定說明性實施例之 方塊圖。大體而言,電路裝置402包括資料單元404,該資 料單元404與控制單元406、與匯流排單元412及與接合轉 譯後備緩衝器(TLB)單元413通信。匯流排單元412與層級2 緊密耦接記憶體(TCM)/快取記憶體458通信。控制單元4〇6 亦與第一執行單元4〇8、第二執行單元41〇、指令單元414 及石夕内除錯器(ISDB)單元418通信。指令單元414與接合 TLB單元413及與ISDB單元418通信。電路裝置402亦包括 136378.doc 200928967 欺入式追蹤單元(EU)420及記憶體内建式自我測試(bist) 或可測試性設計(DFT)單元422。ISDB單元418、EU 420及 記憶體BIST單元422提供用於對在電路裝置4〇2處操作之軟 體進行測試及除錯的構件。 資料單元404包括含有可快取之資料的資料陣列424。在 特定實施例中,資料陣列424可為以16子陣列記憶體組排 列之多路資料陣列,其中每一組包括1 6路之1 6個集合。子 陣列内之每一記憶體位置經調適以儲存一個雙字或8個資 料位元組。在特定實例中,子陣列可含有2 5 6個雙字(亦 即’ 16x16資料位元資料單元404亦包括用以儲存與資 料快取記憶體相關聯之實體標記的標記陣列426 ^在特定 實施例中,標記陣列426為靜態隨機存取記憶體(SRA⑷。 Λ料單元404亦包括經調適以儲存與快取線相關聯之狀態 的狀態陣列428。在特定實例中,狀態陣列428回應於快取 a己憶體未命中事件而供應用於替代之快取記憶體路。資料 單元404亦包括通常執行載入及儲存操作之執行單元(槽 1)430及執行單元(槽2)432。資料單元404包括用以控制資 料單元404之操作的控制電路434。 大體而言,資料單元404與控制單元406通信以接收用於 在執行單元430及432處執行之指令。資料單元4〇4亦針對 匯流排服務請求與匯流排單元41 2通信且針對接合TLB主 記憶體單元轉譯與接合TLB單元413通信。 控制單元406包括暫存器槽案436及438、控制邏輯電路 440、中斷控制電路442、控制暫存器444及指令解碼器 136378.doc -18· 200928967 448。控制暫存器444可儲存遮罩446,其可包括兩個或兩 個以上位元,該等位元表示由執行單元4〇8或41〇提供至通 用暫存器436或438中之一者的結果之經編碼版本。大體而 言,控制單元406對來自指令單元(IU)414之線緒及請求指 7進行排程,且對其解碼並將其發布至三個執行單元:資 料單元404(分別為執行槽丨430及執行槽〇 432)、執行單元 408及執行單元41〇。控制單元4〇6收集結果及將結果選擇 性地寫入至暫存器檔案436及438。在特定實例中,控制邏 β 輯電路440經調適以接收結果及表示"0”值位元區塊及非”〇” 值位兀區塊的經編碼位元值。控制邏輯電路44〇經調適以 將非"0"值位元區塊(而不將"〇"值位元區塊)選擇性地寫入 至暫存器檔案,諸如暫存器檔案436(例如,丁〇通用暫存 器)。經編碼位元值可作為遮罩446(諸如位元遮罩)被儲存 在控制暫存器444内。 指令單元414包括指令轉譯後備緩衝器(ITLB)464、指令 ❹ 位址產生單元466、指令控制暫存器468、指令封包對準電 路470及指令快取記憶體472。指令單元(IU)414可為處理 器管線之前端,其負責自主記憶體或自指令快取記憶體 472取出指令且負責將所取出之指令提供至控制單元4〇6。 匯流排單元412包括匯流排佇列單元45〇、層級2標記陣 列454、非同步先進先出(FIFO)單元45^及層級2介面456。 層級2介面456與層級2 TCM/快取記憶體458通信。接合 TLB單元413包括控制暫存器460及接合TLB表(包括64 項)462。 136378.doc -19- 200928967 在特定說明性實施例中,控制單元概自執行單元430、 432、4〇8及410中之-者接收結果。控制單元406可偵測結 果内具有0值之位元區塊。舉例而言,控制單元概可债 測結果之具有均為,,〇"值之位元之最先的8個位元或最先的 16個位元(亦即,最高有效位元或上部位元)。在此個例 中’控制單元406可防止"〇"值位元至暫存器槽案436及438 之寫入操作。控制單元406可藉由產生表示全"0”區塊及具 冑非值之區塊的位元遮罩而對位元區塊進行編碼且 〇 可在控制暫存器444處儲存遮罩446。另外,控制單元4〇6 436^ 438 元值之位元區塊。 在特疋實例中,在接收到存取暫存器標案之請求後控 制單元傷即識別控制暫存器444處對應於特定暫存器播案 之相應遮罩446 〇控制單元4()6可利用遮罩桃來選擇性地 雙態觸發諸如暫存器標案436(例如,㈣用暫存器)之特 定暫存器㈣之讀取線以自選定暫存器讀取選定資料。在 特定實施財’㈣單元_可自^暫存H if取資料,
且可選擇性地對一或多個鎖存器電路(諸如圖2令所說明之 第正反器232及第一正反器234)進行計時以在緩衝器處 儲存所讀取資料。在特定實例中,可自暫存器槽案之一部 分讀取或寫入至暫存器樘宏夕 _ v 仔器檔案之一部分’而不自暫存器檔案 之另一部分讀取或寫人至暫存器檔案之另_部分。控制單 元4〇6可利用遮罩446來判定讀取暫存器㈣之哪-部分或 判定雙態觸發哪-資料鎖存器。在另一特定實施例中,控 136378.doc •20_ 200928967 制單元406可基於位元遮罩44 雙態觸發與暫存器檔案之所 要部分相關聯的位元線。 在特定說明性實施例中,勃并留—^ λ。 執仃單 7L 408、410、430及 432 包括"0"偵測邏輯電路,其可用 六'J用Μ s戠別具有,,〇,,值之位元區 塊。在另一特定實施例中,抟击 役制邏輯電路440經調適以偵 測值位元區塊,且控制自及至暫存器樓案436及438之 讀取/寫人操作以選擇性地存取暫存器槽案436及438 分。
圖5為選擇性地存取目的地暫存器之方法之特定說明性 實施例的流程圖。在502處,識別待由執行單元寫入至目 的地暫存器之結果内之第一位元區塊,其中結果包括複數 個位元,該複數個位元包括第一位元區塊及第二位元區 塊,且其中第-位元區塊具有,,〇"值。前進至5〇4,該方法 包括將第二位Α區塊(而不將第一I元區塊)選擇性地寫入 至目的地暫存器。在特定實例中,選擇性地寫人第二位元 區塊可包括雙態觸發與目的地暫存器相關聯的第二寫入啟 用線,以將資料鎖存至目的地暫存器之第二部分中,而不 雙態觸發與目的地暫存器之第—部分相關聯的第—寫入啟 用線。 移動至506,將經編碼位元值提供至控制暫存器,其中 經編碼位元值表示第一位元區塊及第二位元區塊。繼續進 行至508,藉由選擇性地存取對應於第二位元區塊的目的 地暫存器之一部分而自目的地暫存器擷取結果。進行至 510 ’該方法包括基於經編碼位元值而選擇性地遮罩结果 136378.doc 21 200928967 以載入第二位元區塊且載入自經編碼位元值中之至少一者 所導出的第三位元區塊。方法終止於512處。 在特定實例中,方法亦可包括基於來自控制暫存器之經 編碼位元值而將第二位元區塊自目的地暫存器選擇性地載 入至執行單元,且替代第一位元區塊而將具有值的第 二位元區塊提供至執行單元。可藉由替代自暫存器檔案之 一部分所擷取之資料而多工”〇"值來提供第三位元區塊。 在特定實施例中,來自位元遮罩之位元的”0"值可與自目 © 的地暫存器擷取之資料相乘以提供第三位元區塊。在特定 個例中,第三位元區塊可等於第一位元區塊。在另一特定 實例中,方法亦可包括使用來自控制暫存器之經編碼位元 值來遮罩對應於具有"0 "位元的第一位元區塊之目的地暫 存器的一部分。 在特定實例中,可藉由選擇性地啟動與含有第二位元區 塊之目的地暫存器之-部分相關聯的暫存器讀取啟用線而 ❹ 選擇性地存取目的地暫存器(例如,在508處)。在特定實施 例中,第一位元區塊包括16位元之資料,且第二位元區塊 包括16位元之資料。在又一特定實施例中第一位元區塊 包括8個位元,且第二位元區塊包括8個位元,且結果包括 第三位元區塊及第四位元區塊,其每一者包括8個位元。 圖6為存取目的地暫存器之方法之第二特定說明性實施 例的流程圖。在602處,在處理器之執行單元處產生待寫 入至目的地暫存器之結果’其中結果包括複數個區組,且 其中每一區組包括複數個位元。前進至6〇4,自複數個區 136378.doc -22- 200928967 組識別包括非"ο"值位元之一或多個區組。繼續進行至 606,方法包括將經識別之一或多個區組(而不將複數個區 組中之其他區組)選擇性地寫入至目的地暫存器。在特定 實施例中,選擇性地寫入經識別之一或多個區組包括選擇 性地雙態觸發與對應於經識別之一或多個區組之目的地暫 存器的一部分相關聯之寫入線。在特定實例中,藉由不雙 態觸發與目的地暫存器之其他部分相關聯之其他寫入線而 節省電力。
移動至608,產生位元遮罩 對應於複數個區組中之各別一者。進行至61〇,在位元遮 罩内之第-位置處將’,〇”值位元之區組編碼為"〇"值位元。 繼續進仃至612’在位兀遮罩内之第二位置處將包括非τ ίΓΓί區組編瑪為值位元。移動至614,在控制暫存 器處儲存位元料。方法終止於616處。 遮施例中’方法可包括產生位元遮罩,其中位元 每-位元對應於複數個區組中之各別一者 =罩之各別位置内將值位元之區組編碼為"。"位 了在位元遮罩之第-久丨 區組進行_。 第一各別位置内對非"〇"值位元之 實例中,方法包括啟動與目的从勒户装扣狀好 讀取線以自目的地暫存器續二目的地暫存器相關聯之 存器電路、4 A▲ 讀取資料,及選擇性地對第一鎖 分,對第m十時以基於位元遮罩而鎖存資料之第-部 料之第二::存器電路進行計時以基於位元遮罩而鎖存資 77或其任—組合。在特定實施例中,方法亦 136378.doc -23. 200928967 可包括將來自第一鎖存器電路及第二鎖存器電路之資料選 擇性地提供至執行單元。 圖7為自目的地暫存器選擇性地讀取資料之方法之特定 說明性實施例的流程圖。在7〇2處,啟動與目的地暫存器 才目關聯之讀取線以自目的地暫存器向第一鎖存器電路及第 ,鎖存器電路讀取資料。前進至7〇4,在控制暫存器之位 兀遮罩私不非"〇"值儲存在目的地暫存器之第一部分處 將第—時脈信號選擇性地施加至第-鎖存器電路。繼 續進行至706,在控制暫存器之位元遮罩指示非·•『值儲存 在目的地暫存器之第二部分處時,將第二時脈信號施加至 第,鎖存器電路。進行至期,將運算元自第一及第二鎖 存器電路提供至執行單^以用於執行指令。方法終止於 7 1 0 處。 =替代實施例中’可在通用暫存器内提供單獨的讀取線 及早獨的寫入線而提供區組控制以向目的地暫存器之第一 〇冑分㈣如最高有效位元部分’例如,32位元目的地暫存 器之最馬有效8位元部分或最高有效i 6位元部分)選擇性地 讀取資料。特定言之,可藉由選擇性地啟動第-或第二讀 取線或者第一或第二寫入線而讀取或寫入目的地暫存器之 上部部分及下部部分。在特定實例中’三十二位元目的地 暫存器可藉由啟動與目的地暫存器之上部16個位元相關聯 的第一讀取線及與目的地塹在 存器之下部16個位元相關聯的 第二讀取線而為可存取的。 圖8為包括經調適以選擇性地存取目的地暫存器之電路 I36378.doc -24- 200928967 之通信裝置800之說明性實施例的方塊圖。無線通信裝置 0〇括諸如數位信號處理器(DSP)之處理器810,其具有 執行單元864、通用暫存器⑽、邏輯電路請、控制暫存 器872及資料緩衝器m。邏輯電路㈣經調適以選擇性地 控制對通用暫存益⑽之存取。在特定實施例中,邏輯電 路870紅調適以在待寫人之資料具有"『值時防止至通用暫 存器868之寫入操作。邏輯電路87〇經調適以對與待寫入至 控制暫存器872之資料相關聯的遮罩進行編碼,且將資料 選擇性地寫入至通用暫存器_之目的地暫存器。在特定 實例中,邏輯電路87〇經調適以選擇性地雙態觸發與通用 暫存器868相關聯之寫入線及讀取線來寫入非"0”值及跳過 與τ值相關的寫入操作。在特定實例中,邏輯電路87〇亦 可存取通用暫存㈣8以自通用暫存器⑽選擇性地讀取資 枓。在特定實例中,邏輯電路87〇經調適以控制資料緩衝 器874來將非〇值資料位元區塊(而不將”〇,,值資料位元區 ❹ 塊)選擇性地鎖存至資料猱泳^ Μ _ 874中。在特定實施例中, 邏輯電路87G對應於圖1中所說明之邏輯電路142及控制單 =2。在另-料實施例中,邏輯電路㈣可對應於圖2 所說明之0”偵測邏輯電路22〇及鎖存器控制邏輯電路 36、圖3中所說明之伯測邏輯電路32〇及讀取/寫 :制電路I圖4中所說明之控制單元•或其任一: 無線通信裝置咖可包括數位信號處理器(Dsp)8i〇 具有執行單元864連同相關聯之邏輯電路87〇。邏輯電路 I36378.doc -25· 200928967 870可操作以選擇性地存取通用暫存器868來寫入非,,〇"值 資料區塊及讀取非"〇"值資料區塊。如關於圖1至圖7所描 述,邏輯電路870亦可操作以儲存表示包括"〇"值資料區塊 及非”0"值資料區塊的資料之經編碼版本之遮罩,且利用 所儲存遮罩來選擇性地掘取儲存在通用暫存器868處之資 料。無線通信裝置800亦包括對於DSP 810而言可存取之記 憶體832。 圖8亦展示耦接至數位信號處理器81〇且耦接至顯示器 ® 828之顯示器控制器826。編碼器/解碼器(c〇DEC)834亦可 辆接至數位信號處理器810。揚聲器836及麥克風838可耦 接至 CODEC 834。 圖8亦指示無線控制器84〇可耦接至數位信號處理器81〇 且耦接至無線天線842。在特定實施例中,輸入裝置83〇及 電源844耦接至晶片上系統822。此外,在特定實施例中, 如圖8中所說明,顯示器828、輸入裝置83〇、揚聲器幻卜 ❷ 麥克風838、無線天線842及電源844處於晶片上系統822之 外部。然而,每一者可耦接至晶片上系統822之組件,諸 如介面或控制器。 熟習此項技術者將進一步瞭解,可將結合本文中所揭示 <實施例而描述之各種說雜邏輯區塊、組態、模組、電 路及演算法步驟實施為電子硬體、電腦軟體或兩者之組 合。為了明確地說明硬體與軟體之此可互換性,各種說明 性組件、區塊、組態、模組、電路及步驟已在上文大體上 在力倉14方面付到了描述。該功能性是實施為硬體還是軟 136378.doc -26· 200928967 體視特疋應用及強加於整個系統之設計約束而定。熟習此 項技術者可針對每一特定應用以變化之方式實施所描述之 功能性,但該等實施決策不應被解釋為引起脫離本揭示案 之範疇。 結合本文中所揭示之實施例而描述之方法或演算法的步 驟可直接體現於硬體中、由處理器所執行之軟體模組中, 或兩者之組合中。軟體模組可駐留在RAM記憶體、快閃記 憶體、ROM記憶體、PR0M記憶體、eprom記憶體、 © EEPROM記憶體、暫存器、硬碟、抽取式碟片、CD-ROM 或此項技術中已知的任何其他形式之儲存媒體中。例示性 儲存媒體耦接至處理器,以使得處理器可自儲存媒體讀取 資訊且寫入資訊至儲存媒體。在替代案中,儲存媒體可與 處理器成一體式。處理器及儲存媒體可駐留於ASIC中。 ASIC可駐留於計算裝置或使用者終端機中。在替代案中, 處理器及儲存媒體可作為離散組件而駐留於計算裝置或使 用者終端機中。 提供所揭示實施例之先前描述以使任何熟習此項技術者 能夠製作或使用所揭示實施例。對此等實施例之各種修改 對於熟習此項技術者將顯而易見,且在不脫離本揭示案之 精神或範疇的情況下,本文中所界定之一般原理可應用於 其他實施例。因此,不意欲將本揭示案限制於本文中所展 不之實施例,而是將符合與如由以下申請專利範圍所界定 之原理及新穎特徵一致之最廣泛的可能範疇。 【圖式簡單說明】 136378.doc •27- 200928967 圖1為包括"ο”偵測電路及邏輯 地暫存器之電路劈…* 選擇性地存取目的 子器之電路裝置之特定說明性實施例的方塊ι 2為包括具有讀取/寫入選擇控制電路之執行單_、 擇性地存取目的地暫存器之電路裝置之特定說明性:= 的方塊圖; a性實施例 圖3為包括具有讀取/寫 擇性地存取目的地暫存器 施例的方塊圖; 入選擇控制電路之執行單 元以選 之電路裝置之第二特定說明性實
圖4為包括控制單元以選擇性地存取目的地暫存器之電 路裝置之特定說明性實施例的方塊圖; ° 圖5為選擇性地存取目的地暫存器之方法之特定說明性 實施例的流程圖; 圖6為存取目的地暫存器之方法之第二特定說明性實施 例的流程圖; 圖7為自目的地暫存器選擇性地讀取資料之方法之特定 說明性實施例的流程圖;且 圖8為包括經調適以選擇性地存取目的地暫存器之電路 之通彳§裝置之說明性實施例的方塊圖。 【主要元件符號說明】 100 電路裝置/處理系統 102 記憶體 104 匯流排介面 106 指令快取記憶體 110 匯流排 136378.doc •28· 200928967 112 資料快取記憶體 114 序列器 116 通用中斷 118 第一指令執行單元 120 第二指令執行單元 122 第三指令執行單元 124 第四指令執行單元 126 通用暫存器檔案 ❹ 128 第二匯流排 130 第三匯流排 132 控制單元 134 監督控制暫存器 136 整體控制暫存器 138 "〇"偵測邏輯電路 140 "〇”偵測邏輯電路 參 142 邏輯電路 144 目的地暫存器 146 第一部分 148 第二部分 200 電路裝置 202 執行單元 204 暫存器檔案 206 線 208 暫存器 136378.doc -29- 200928967 210 暫存器 212 暫存器 214 暫存器 216 暫存器 218 目的地暫存器 220 "〇”偵測邏輯電路 222 匯流排 224 匯流排 228 第一部分 230 第二部分 232 第一資料鎖存器/第一正反器 234 第二資料鎖存器/第二正反器 236 鎖存器控制邏輯電路 238 控制暫存器 240 位元遮罩 242 第一時脈信號 244 第二時脈信號 300 電路裝置 302 執行單元 304 暫存器檔案 306 匯流排 308 暫存器 310 暫存器 312 暫存器 136378.doc -30- 200928967 314 暫存器 316 暫存器 318 目的地暫存器 320 "0"偵測邏輯電路 322 讀取/寫入選擇控制電路 324 第一線 326 第二線 328 第一部分
330 第二部分 400 系統 402 電路裝置 404 資料單元 406 控制單元 408 第一執行單元 410 第二執行單元 412 匯流排單元 413 接合轉譯後備緩衝器(TLB)單元 414 指令單元(IU) 418 矽内除錯器(ISDB)單元 420 嵌入式追蹤單元(EU) 422 記憶體内建式自我測試(BIST)單元/可測試性 設計(DFT)單元 424 資料陣列 426 標記陣列 136378.doc -31 - 200928967 428 狀態陣列 430 執行單元/執行槽1 432 執行單元/執行槽0 434 控制電路 436 暫存器檔案/通用暫存器 438 暫存器檔案/通用暫存器 440 控制邏輯電路 442 中斷控制電路 444 控制暫存器 446 位元遮罩 448 指令解碼器 450 匯流排佇列單元 452 非同步先進先出(FIFO)單元 454 層級2標記陣列 456 層級2介面 參 458 層級2緊密耦接記憶體(TCM)/快取記憶體 460 控制暫存器 462 接合TLB表 464 指令轉譯後備緩衝器(ITLB) 466 指令位址產生單元 468 指令控制暫存器 470 指令封包對準電路 472 指令快取記憶體 800 通信裝置/無線通信裝置 136378.doc -32- 200928967 810 處理器/數位信號處理器 822 晶片上系統 826 顯示器控制器 828 顯示器 830 輸入裝置 832 記憶體 834 編碼器/解碼器(CODEC) 836 揚聲器 〇 838 麥克風 840 無線控制器 842 無線天線 844 電源 864 執行單元 868 通用暫存器 870 邏輯電路 872 控制暫存器 874 資料緩衝器 136378.doc -33-
Claims (1)
- 200928967 十、申請專利範® ·· 1 種方法’其包含: 5、一待Φ執行單元寫人至-目的地暫存器之一結果 第位元區塊,該結果包含複數個位元,該複數 個位元包括琴笛 ._ 一 括该第一位兀區塊及一第二位元區塊,該第— 位元區塊具有一 '·〇"值;及 s第一位元區塊選擇性地寫入至該目的地暫存器, ❹ 不將該第一位70區塊選擇性地寫入至該目的地暫存 器。 廿 「托項1之方法’其進一步包含將表示該第一位元區 鬼及該第—位π區塊之_經編碼位元值提供至一控 存器。 $ 3.如請求項2之方法,其進一步包含: 基於該經編碼位元值而將該第二位元區塊自該目的地 暫存器選擇性地載入至該執行單元;及 替代該第-位元區塊而將具有—,,G”值的—第三位元區 塊提供至該執行單元。 如'求項3之方法,其進一步包含使用來自該控制暫存 器之該經編碼位元值來遮罩對應於具有τ位元的該第一 位元區塊之該目的地暫存器的一部分。 ;青求項2之方法’其進一步包含選擇性地啟動—與含 有該第二位元區塊之該目的地暫存器之一部分相關聯的 暫存器讀取啟用線。 6,如請求項1之方法,其中選擇性地寫入該第二位元區塊 136378.doc 200928967 包含:雙態觸發-與該目的地暫存器相關聯之第二寫入 啟用線,以將資料鎖存至該目的地暫存器的—第二部分 中,而不雙態觸發-與該目的地暫存器之—第_部分相 關聯之第一寫入啟用線。 7. 如請求項6之方法,其中缔筮 Av-r- 该第一位兀區塊包含16位元之 資料且該第二位元區塊包含丨6位元之資料。 8. 士口請求項6之方法’其中該第一位元區塊包含_位元且 其中該第二位元區塊包含8個位元,該結果進一步包含 &括8位元之資料的一第三位元區塊及包括8位元之資料 的一第四位元區塊。 9. 一種電路裝置,其包含: -一執行單元,其詩處理指令及產生—包含複數個位 凡之結果; --目的地暫存器’其用於儲存該複數個位元之選定位一、輯電路’其能夠存取該執行單元且能夠存取該目 的地暫存器,該邏輯電路經調適以自該執行單元接收該 =且將非·,〇”值資料位元區塊選擇性地寫人至該目的地 子器’該邏輯電路進—步經調適以將-識別"〇,,值資料 位元區塊及該等非T值資料位元區塊的經編碼值储存至 一控制暫存器。 10·如請求項9之雷政_罢 ^ 電路裝置中該邏輯電路經調適以自該 控制暫存H摘取該經編碼值,且基於該經編碼值自該目 的地暫存器選擇性地讀取該等非"0"值資料位元區塊。 136378.doc 200928967 11. 12. ❹ 13. 14, ❹ 15. 16. I 3求項9之電路裝置,其進一步包含一暫存器檔案緩 • 該暫存器槽案緩衝器回應於該邏輯電路而選擇性 地鎖存自該目的地暫存器所讀取之非"〇"值資料位元區塊 且略去”〇"值資料位元區塊。 如請求項9之電路裝置’其中該目的地暫存器包括:一 第一寫入啟用線,其與該目的地暫存器之一第一部分相 關聯’以將資料選擇性地鎖存至該目的地暫存器之該第 一部分中;及一第二寫入啟用線,其與該目的地暫存器 之一第二部分相關聯,以將資料選擇性地鎖存至該目的 地暫存器之該第二部分中。 如叫求項12之電路裝置,其中該邏輯電路經調適以使用 該控制暫存器處之該經編碼值以選擇性地啟動該第一寫 入啟用線及該第二寫入啟用線十之至少一者。 如請求項9之電路裝置’其中該目的地暫存器包括:一 第一讀取啟用線,其與該目的地暫存器之一第一部分相 關聯,以在該目的地暫存器之該第一部分處選擇性地存 取資料;且包括—第二讀取啟用線,其與該目的地暫存 器之一第二部分相關聯,以自該目的地暫存器之該第二 部分選擇性地讀取資料。 如請求項14之電路裝置’其中該邏輯電路經調適以使用 該控制暫存器處之該經編碼值來選擇性地啟動該第一讀 取啟用線及該第二讀取啟用線中之至少一者。 一種方法,其包含: 在-處理器之-執行單元處產生一#寫入至一目的地 136378.doc 200928967 暫存器之結果’該結果包含複數個區組,該複數個區組 中之每一區組包含複數個位元; 自該複數個區組識別包含非”〇,’值位元之一或多個區 組;及 將經識別之該一或多個區組選擇性地寫入至該目的地 器而不將該複數個區組中之其他區組選擇性地寫 入至該目的地暫存器β 17. ❹ 18. ❹ 19. 如請求項16之方法,其進一步包含: 產生-位元遮罩,該位元遮罩内之每一位元對應於該 複數個區組中之一各別區組; 在該位元遮罩之一各別位置内將"〇"值位元之-區組編 碼為一 值位元;及 在該位元遮罩之一第二各別位置内將包含非值位元 之區組編瑪為一 "1"值位元。 如請求項17之方法,其進一步包含: 啟動一與該目的地暫存器相關聯之讀取線’以自該目 的地暫存器讀取資料; 對一第一鎖存器電路選擇性地計時,以基於該位元遮 罩而鎖存該資料之一第一部分;及 對第一鎖存器電路選擇性地計時,以基於該位元遮 罩而鎖存該資料之一第二部分。 如叫求項18之方法’其進一步包含將來自該第一鎖存器 電路及該第二鎖存器電路之資料選擇性地提供至該執行 單元。 136378.doc 200928967 2〇.如請求項16之方法’其中選擇性地寫入經識別之該—或 多個區組包含:選擇性地啟用—與對應於經識別之該一 或多個區組之該目的地暫存器之一部分相關 線。 21.如靖求項20之方法,其進一步包含藉由不雙態觸發與該 目的地暫存器之其他部分相關聯之其他寫入線而節省電 22 ❹ -種處理器,其包含: 用於識別待由一執行單元寫入至一目的地暫存器之一 結果内的一第—位元區塊之構件,該結果包含複數個位 元’該複數個位元包括兮笛 ._ 巴栝該第一位兀區塊及一第二位元區 塊該第一位元區塊具有一 值; 用於將-表不該第一位元區塊及該第二位元區塊之經 編石馬位元值提供至一控制暫存器的構件;及 用於將該第一位元區塊選擇性地寫入至該目的地暫存 第15刀,而不將該第一位元區塊寫入至該目的 地暫存器之一第一部分的構件。 23.如請求項22之處理器,其進一步包含: ;土於來自該控制暫存器之該經編碼位元值而將該 第二位元區塊自該目的地暫存器之該第二部分選擇性地 載入至該執行單元之構件;及 用於替代該第-位元區塊而將具有-"0"值的-第三位 疋區塊提供至該執行單元之構件。 24·如請求項22之處理器,其進―步包含㈣使用來自㈣ 136378.doc 200928967 制暫存器之該經總/ 器之該 、編碼位元值來遮罩該目的地暫存 第一部分的構件。 仔 25,如請求項22之處理器,其進—步包含用於選擇性地啟動 一與含有該第二位元區塊之該目的地暫存器的該第二部 分相關聯之暫存器讀取啟用線的構件。 〇-6 - 136378.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/943,190 US7979681B2 (en) | 2007-11-20 | 2007-11-20 | System and method of selectively accessing a register file |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200928967A true TW200928967A (en) | 2009-07-01 |
Family
ID=40260783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097145014A TW200928967A (en) | 2007-11-20 | 2008-11-20 | System and method of selectively accessing a register file |
Country Status (3)
Country | Link |
---|---|
US (1) | US7979681B2 (zh) |
TW (1) | TW200928967A (zh) |
WO (1) | WO2009067590A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100124B2 (en) | 2007-05-24 | 2015-08-04 | Federal Law Enforcement Development Services, Inc. | LED Light Fixture |
US8583897B2 (en) * | 2009-02-02 | 2013-11-12 | Arm Limited | Register file with circuitry for setting register entries to a predetermined value |
US8972701B2 (en) * | 2011-12-06 | 2015-03-03 | Arm Limited | Setting zero bits in architectural register for storing destination operand of smaller size based on corresponding zero flag attached to renamed physical register |
US9361027B1 (en) * | 2014-12-16 | 2016-06-07 | Texas Instruments Incorporated | System and method for fast modification of register content |
US9779465B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Apparatus and method for implementing power saving techniques when processing floating point values |
US10552934B2 (en) | 2016-07-01 | 2020-02-04 | Intel Corporation | Reducing memory latency in graphics operations |
US11144367B2 (en) | 2019-02-08 | 2021-10-12 | International Business Machines Corporation | Write power optimization for hardware employing pipe-based duplicate register files |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3454929A (en) * | 1966-03-25 | 1969-07-08 | Burroughs Corp | Computer edit system |
US4247891A (en) * | 1979-01-02 | 1981-01-27 | Honeywell Information Systems Inc. | Leading zero count formation |
US4276607A (en) * | 1979-04-09 | 1981-06-30 | Sperry Rand Corporation | Multiplier circuit which detects and skips over trailing zeros |
US4748575A (en) * | 1984-12-21 | 1988-05-31 | Zilog, Inc. | Circuit for detecting trailing zeros in numbers |
JPH0746310B2 (ja) * | 1987-06-30 | 1995-05-17 | 三菱電機株式会社 | 半導体論理回路 |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US6381622B1 (en) * | 1994-12-29 | 2002-04-30 | Via-Cyrix, Inc. | System and method of expediting bit scan instructions |
US6101590A (en) * | 1995-10-10 | 2000-08-08 | Micro Unity Systems Engineering, Inc. | Virtual memory system with local and global virtual address translation |
US5968165A (en) * | 1996-05-08 | 1999-10-19 | Microunity Systems Engineering, Inc. | System and method for minimizing the size of operands |
US6173300B1 (en) * | 1998-08-11 | 2001-01-09 | Advanced Micro Devices, Inc. | Method and circuit for determining leading or trailing zero count |
US6745336B1 (en) * | 1999-05-20 | 2004-06-01 | Princeton University | System and method of operand value based processor optimization by detecting a condition of pre-determined number of bits and selectively disabling pre-determined bit-fields by clock gating |
US6948051B2 (en) * | 2001-05-15 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width |
US6798364B2 (en) * | 2002-02-05 | 2004-09-28 | Intel Corporation | Method and apparatus for variable length coding |
US7917480B2 (en) * | 2004-08-13 | 2011-03-29 | Google Inc. | Document compression system and method for use with tokenspace repository |
TW200625097A (en) * | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
-
2007
- 2007-11-20 US US11/943,190 patent/US7979681B2/en not_active Expired - Fee Related
-
2008
- 2008-11-20 TW TW097145014A patent/TW200928967A/zh unknown
- 2008-11-20 WO PCT/US2008/084181 patent/WO2009067590A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US7979681B2 (en) | 2011-07-12 |
WO2009067590A1 (en) | 2009-05-28 |
US20090132793A1 (en) | 2009-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8145874B2 (en) | System and method of data forwarding within an execution unit | |
US8966232B2 (en) | Data processing system operable in single and multi-thread modes and having multiple caches and method of operation | |
TW200928967A (en) | System and method of selectively accessing a register file | |
Chen et al. | AOS: Adaptive overwrite scheme for energy-efficient MLC STT-RAM cache | |
TW548548B (en) | Store buffer which forwards data based on index and optional way match | |
TWI260541B (en) | System and method for linking speculative results of load operations to register values | |
TWI556161B (zh) | 用以實施監測寫入至一位址的指令之處理器、系統和方法 | |
US7617378B2 (en) | Multiprocessor system with retry-less TLBI protocol | |
TWI275102B (en) | Controller for instruction cache and instruction translation look-aside buffer, and method of controlling the same | |
US20110161632A1 (en) | Compiler assisted low power and high performance load handling | |
CN109508206B (zh) | 向较宽的寄存器进行依赖于模式的部分宽度加载的处理器、方法和系统 | |
US9329865B2 (en) | Context control and parameter passing within microcode based instruction routines | |
US20090106533A1 (en) | Data processing apparatus | |
KR20120014933A (ko) | 약하게 오더된 저장 시스템에서 메모리 장벽 커맨드들을 발행하기 위한 방법들 및 장치 | |
US8205032B2 (en) | Virtual machine control structure identification decoder | |
US9201792B2 (en) | Short circuit of probes in a chain | |
US20070260754A1 (en) | Hardware Assisted Exception for Software Miss Handling of an I/O Address Translation Cache Miss | |
CN103678112A (zh) | 用于处理观察点的数据处理器装置及其方法 | |
US9588770B2 (en) | Dynamic rename based register reconfiguration of a vector register file | |
US20200364055A1 (en) | Efficient load value prediction | |
US20040181626A1 (en) | Partial linearly tagged cache memory system | |
US7069411B1 (en) | Mapper circuit with backup capability | |
US11755333B2 (en) | Coprocessor prefetcher | |
CN109564510B (zh) | 用于在地址生成时间分配加载和存储队列的系统和方法 | |
TWI285841B (en) | Branch target buffer, branch target buffer memory array, branch prediction unit and processor with a function of branch instruction predictions |