操作的指令,所述指令對存儲于核心數(shù)據(jù)寄存器中的多個操作數(shù)進(jìn)行操作,其中所述指令利用由所述指令隱式尋址的額外CPU寄存器,從而允許在不違背處理器指令集架構(gòu)的約束的情況下實(shí)施SMD架構(gòu)。
2.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以: 針對符號對的4個可能解譯中的每一者計(jì)算一組成本;以及 將這些成本打包為單個32位字,所述字可被索引為4字節(jié)字段。
3.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以利用一個CPU寄存器中的一對或多對2位字段來選擇性地從至少另一寄存器存取一對或多對子字段。
4.根據(jù)權(quán)利要求3所述的處理器,其中所述轉(zhuǎn)變成本涉及針對狀態(tài)的分支轉(zhuǎn)變和分支成本。
5.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以由存儲在存儲器中的連續(xù)位置中的8位字段來表示所有狀態(tài)的經(jīng)規(guī)格化累積狀態(tài)成本,使得每一 32位存儲器字含有與4個連續(xù)可能狀態(tài)相關(guān)聯(lián)的成本。
6.根據(jù)權(quán)利要求5所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以使用每符號2個位的經(jīng)打包結(jié)構(gòu)來表示與每一潛在狀態(tài)相關(guān)聯(lián)的有效路徑轉(zhuǎn)變符號,其中所述處理器經(jīng)配置以在CPU存儲器中組織所述有效路徑轉(zhuǎn)變符號,使得每一相繼地址保持表示用于對應(yīng)于2個連續(xù)32位存儲器位置中所表示的8個當(dāng)前狀態(tài)的O和I數(shù)據(jù)位的有效符號的狀態(tài)轉(zhuǎn)變符號。
7.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以: 在循環(huán)的8個迭代中處理64個狀態(tài),其中每一迭代處理8個連續(xù)當(dāng)前狀態(tài), 關(guān)聯(lián)在一個32位核心寄存器中表示為循環(huán)不變量的狀態(tài)符號解譯成本,以及 轉(zhuǎn)變第二寄存器中用于所述循環(huán)的信息。
8.根據(jù)權(quán)利要求7所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以通過改變存儲在寄存器中的值,生成用于源和目的地狀態(tài)成本位置的地址和相關(guān)聯(lián)的轉(zhuǎn)變信息。
9.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以: 同時執(zhí)行一個或多個加-比-選操作;以及 針對可存儲于多個目的地寄存器中的適當(dāng)狀態(tài),更新相關(guān)狀態(tài)成本字段。
10.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以使用相同指令同時執(zhí)行對用于所述循環(huán)的最低累積成本狀態(tài)的計(jì)算。
11.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以使用相同指令同時計(jì)算用于所述循環(huán)的最低成本狀態(tài)結(jié)果是否大于預(yù)定閾值。
12.根據(jù)權(quán)利要求1所述的處理器,其中所述處理器進(jìn)一步經(jīng)配置以使用相同指令在存儲所計(jì)算的狀態(tài)成本之前從所計(jì)算的狀態(tài)成本中減去預(yù)定閾值。
13.根據(jù)權(quán)利要求1所述的處理器,其中閾值被表示為2的冪,且所述處理器進(jìn)一步經(jīng)配置以通過基于狀態(tài)旗標(biāo)將相關(guān)聯(lián)的位掩蔽為O來執(zhí)行減法,所述狀態(tài)旗標(biāo)可存儲在CPU寄存器中。
14.一種用于解碼經(jīng)卷積編碼的數(shù)據(jù)的處理器,其包括指令擴(kuò)展,所述指令擴(kuò)展經(jīng)配置以實(shí)施: 追溯操作,其中在一對核心CPU寄存器中表示追溯歷史,且指令能夠基于追溯狀態(tài)而特定地設(shè)定或清除所述追溯歷史中的位;及 對將要在所述指令的每一操作時設(shè)定或清除的位的索引進(jìn)行計(jì)數(shù)。
15.根據(jù)權(quán)利要求14所述的處理器,其中CPU寄存器字段自動地由相同指令更新以指示所述追溯歷史中的有效位的數(shù)目。
16.一種用于解碼經(jīng)卷積編碼的數(shù)據(jù)的處理器,其包含 基于追溯狀態(tài)和系統(tǒng)存儲器中的數(shù)據(jù)結(jié)構(gòu)的地址的虛幻寄存器,其中所述寄存器返回用于將要讀取的下一 32位追溯歷史字的正確地址; 其中所述虛幻寄存器由CPU用作地址寄存器以用于間接加載;且 所述地址隨當(dāng)前追溯狀態(tài)和追溯樣本索引而變。
17.—種用于解碼經(jīng)卷積編碼的數(shù)據(jù)的處理器,所述處理器經(jīng)布置以執(zhí)行指令而進(jìn)行以下操作: 以表示所發(fā)射數(shù)據(jù)的正確位次序檢索追溯數(shù)據(jù)的最舊位的;且檢測所述追溯數(shù)據(jù)的最舊位是否已由當(dāng)前步驟改變,如果檢測到所述最舊位已由所述當(dāng)前步驟改變,則在與先前值會聚時設(shè)定旗標(biāo)以終止檢索; 其中從所述追溯數(shù)據(jù)返回的字段的地址由追溯控制寄存器隱式確定。
18.一種用于解碼經(jīng)卷積編碼的數(shù)據(jù)的處理器,所述處理器經(jīng)配置以: 執(zhí)行用以消耗來自追溯數(shù)據(jù)的若干位的指令; 檢測所述追溯數(shù)據(jù)是否已由當(dāng)前步驟改變,如果檢測到所述追溯數(shù)據(jù)已由所述當(dāng)前步驟改變,則在與先前值會聚時設(shè)定旗標(biāo)以終止消耗;以及自動地更新追溯控制寄存器的追溯計(jì)數(shù)字段。
19.一種用于基于由多個無線電定位信標(biāo)接收的信號而確定地理位置的GNSS接收器,所述GNSS接收器包括定位衛(wèi)星,其中所述信號中所含有的一些數(shù)據(jù)根據(jù)卷積碼而經(jīng)編碼,且其中所述接收器包括針對解碼經(jīng)卷積編碼的數(shù)據(jù)而優(yōu)化的處理器,所述處理器經(jīng)配置以: 將轉(zhuǎn)變成本設(shè)置為處于范圍O到M內(nèi)的非負(fù)值,其中M為在K個步驟中獲得的最大成本,其中K為所述經(jīng)卷積編碼的數(shù)據(jù)中的存儲器位的數(shù)目;以及 為每個累積路徑成本分配N個位,其中(2~(K+1)*M)-1 < 2~N-1, 且其中所述處理器進(jìn)一步經(jīng)配置以用虛幻寄存器擴(kuò)展所述處理器的寄存器集合,所述虛幻寄存器在由指令尋址時返回根據(jù)信號和/或未由所述指令顯式尋址的寄存器而計(jì)算的值,其中所述處理器經(jīng)配置以執(zhí)行含有用以解碼所述卷積碼的特殊指令的軟件程序。
20.根據(jù)權(quán)利要求19所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以: 針對符號對的4個可能解譯中的每一者計(jì)算一組成本;以及 將這些成本打包為單個32位字,所述字可被索引為4字節(jié)字段。
21.根據(jù)權(quán)利要求19所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以利用一個CPU寄存器中的一對或多對2位字段來選擇性地從至少另一寄存器存取一對或多對子字段。
22.根據(jù)權(quán)利要求21所述的接收器,其中所述轉(zhuǎn)變成本涉及針對狀態(tài)的分支轉(zhuǎn)變和分支成本。
23.根據(jù)權(quán)利要求19所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以由存儲在存儲器中的連續(xù)位置中的8位字段來表示所有狀態(tài)的經(jīng)規(guī)格化累積狀態(tài)成本,使得每一 32位存儲器字含有與4個連續(xù)可能狀態(tài)相關(guān)聯(lián)的成本。
24.根據(jù)權(quán)利要求23所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以使用每符號2個位的經(jīng)打包結(jié)構(gòu)來表示與每一潛在狀態(tài)相關(guān)聯(lián)的有效路徑轉(zhuǎn)變符號,其中所述處理器經(jīng)配置以在CPU存儲器中組織所述有效路徑轉(zhuǎn)變符號,使得每一相繼地址保持表示用于對應(yīng)于2個連續(xù)32位存儲器位置中所表示的8個當(dāng)前狀態(tài)的O和I數(shù)據(jù)位的有效符號的狀態(tài)轉(zhuǎn)變符號。
25.根據(jù)權(quán)利要求19所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以: 在循環(huán)的8個迭代中處理64個狀態(tài),其中每一迭代處理8個連續(xù)當(dāng)前狀態(tài), 關(guān)聯(lián)在一個32位核心寄存器中表示為循環(huán)不變量的狀態(tài)符號解譯成本,以及 轉(zhuǎn)變第二寄存器中用于所述循環(huán)的信息。
26.根據(jù)權(quán)利要求25所述的接收器,其中所述處理器進(jìn)一步經(jīng)配置以通過改變存儲在寄存器中的值,生成用于源和目的地狀態(tài)成本位置的地址和相關(guān)聯(lián)的轉(zhuǎn)變信息。
27.根據(jù)權(quán)利要求19所述的接收器,其中所述特殊指令中的至少一些指令包括用以同時實(shí)施維特比解碼算法的加-比-選操作的指令,所述指令對多個核心數(shù)據(jù)寄存器進(jìn)行操作且利用經(jīng)隱式尋址的額外核心CPU寄存器。
28.根據(jù)權(quán)利要求27所述的接收器,其中所述指令針對所述維特比解碼算法的維特比循環(huán)同時執(zhí)行對最低累積成本狀態(tài)的計(jì)算。
29.根據(jù)權(quán)利要求19所述的接收器,其中所述指令包括自動地基于維特比引擎中的寄存器的加載和存儲來在核心寄存器或狀態(tài)寄存器中設(shè)定旗標(biāo),其中這些旗標(biāo)指示維特比操作是否部分完成,從而使得所述處理器能夠確定當(dāng)在上下文改變時存儲/恢復(fù)所述CPU_寄存器時所述維特比引擎是否在使用中。
30.根據(jù)權(quán)利要求19所述的接收器,其進(jìn)一步包含基于所述維特比算法的追溯狀態(tài)和系統(tǒng)存儲器中的數(shù)據(jù)結(jié)構(gòu)的地址的虛幻寄存器,其中所述寄存器返回用于將要讀取的下一32位追溯歷史字的正確地址,其中所述虛幻寄存器可由所述CPU用作地址寄存器以用于間接加載,且所述地址隨當(dāng)前追溯狀態(tài)和追溯樣本索引而變。
【專利摘要】本申請涉及優(yōu)化的維特比解碼器和全球?qū)Ш叫l(wèi)星系統(tǒng)接收器。本發(fā)明提供一種維特比解碼器,其基于在處理器中實(shí)施的特殊指令集,所述指令集使得所述維特比解碼器能夠在不顯著增加硬件復(fù)雜性的情況下以低得多的CPU負(fù)荷來處置維特比處理。通過謹(jǐn)慎地應(yīng)用SV導(dǎo)航特有的適當(dāng)設(shè)計(jì)約束并分析維特比算法,可實(shí)現(xiàn)用于有效地將維特比加速邏輯嵌入到GNSS芯片組中的優(yōu)化架構(gòu)。
【IPC分類】H03M13-41, H03M13-00
【公開號】CN104601181
【申請?zhí)枴緾N201410714995
【發(fā)明人】菲爾·揚(yáng)
【申請人】高通股份有限公司
【公開日】2015年5月6日
【申請日】2008年10月27日
【公告號】CN101889401A, CN101889401B, EP2220771A2, US8621335, US20100299583, WO2009053490A2, WO2009053490A3, WO2009053490A9