專(zhuān)利名稱(chēng):?jiǎn)沃芷谕瓿扇我馕灰莆坏囊莆徊考闹谱鞣椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于計(jì)算機(jī)或其它數(shù)據(jù)處理裝置中的移位部件,更具體地說(shuō),本發(fā)明涉及一種可以在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位寄存器。
在寄存器中移動(dòng)數(shù)據(jù)的功能是數(shù)據(jù)處理系統(tǒng)中最基本的要求之一。移動(dòng)數(shù)據(jù)可以完成許多工作,例如完成串并行數(shù)據(jù)轉(zhuǎn)換或并串行數(shù)據(jù)轉(zhuǎn)換等等。
圖1表示了一種現(xiàn)有技術(shù)中的移位寄存器的示意圖。該移位寄存器由八個(gè)觸發(fā)器構(gòu)成,可以進(jìn)行八位數(shù)據(jù)(Z0,Z1,……Z7)的單向循環(huán)寄位。從圖中可以看出,每個(gè)觸發(fā)器的D端作為串行數(shù)據(jù)的輸入端,Q端作為輸出端,八個(gè)觸發(fā)器依次連接。所有觸發(fā)器的CLK端都與一個(gè)時(shí)鐘信號(hào)相連接。結(jié)果,每個(gè)時(shí)鐘脈沖到來(lái)時(shí),每個(gè)觸發(fā)器的狀態(tài)就發(fā)生變化,變成它左面的一個(gè)觸發(fā)器的狀態(tài)。當(dāng)然,如果對(duì)圖1中的基本移位寄存器進(jìn)行一些改動(dòng),還可以構(gòu)成能完成較復(fù)雜的移位功能的移位寄存器,但是它們都是每個(gè)時(shí)鐘脈沖到來(lái)才能進(jìn)行一位的移位操作。
本發(fā)明的目的是提供一種可以在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,為了完成此目的,該移位部件包括多個(gè)選通部件,選通部件的個(gè)數(shù)等于待移位數(shù)據(jù)的位數(shù);每個(gè)選通部件具有一個(gè)輸出位,該輸出位與待移位的數(shù)據(jù)中的某一位相對(duì)應(yīng);每個(gè)選通部件具有多個(gè)輸入位,該輸入位的位數(shù)與待移位的數(shù)據(jù)的位數(shù)相對(duì)應(yīng),待移位的數(shù)據(jù)的每一位都分別與各個(gè)選通部件的輸入位的相應(yīng)位相對(duì)應(yīng);上述移位部件還包括一個(gè)譯碼部件,它將計(jì)算機(jī)指令中有關(guān)移位的信號(hào)進(jìn)行譯碼,從而產(chǎn)生出各個(gè)選通部件的移位控制信號(hào),所述的移位控制信號(hào)與所述的選通部件的控制信號(hào)輸入端相連接,在此信號(hào)的控制下,移位部件可以對(duì)待移位數(shù)據(jù)進(jìn)行任意位的移位操作。
下面是對(duì)附圖的簡(jiǎn)要說(shuō)明圖1是現(xiàn)有技術(shù)中的一種基本的移位寄存器;
圖2是一個(gè)待移位的數(shù)據(jù)的示意圖;
圖3a~圖3k是對(duì)各種形式的移位結(jié)果的說(shuō)明;
圖4是表示本發(fā)明原理的示意圖;
圖5是本發(fā)明的移位部件的的一個(gè)選通部件的原理圖;
圖6是本發(fā)明的移位部件的一個(gè)實(shí)施例的示意圖。
下面參照附圖,對(duì)本發(fā)明的移位部件的一個(gè)實(shí)施例進(jìn)行說(shuō)明。需要提及的是,雖然在本說(shuō)明書(shū)中給出了一個(gè)具體的實(shí)施例,同時(shí)也給出了附圖所示的結(jié)構(gòu),但是本領(lǐng)域的一般技術(shù)人員完全可以根據(jù)本發(fā)明所揭示的構(gòu)思進(jìn)行改型,從而產(chǎn)生出不同于本實(shí)施例的結(jié)構(gòu)和參數(shù)。例如,本實(shí)施例說(shuō)明的是一個(gè)八位移位部件,但根據(jù)其構(gòu)思,人們可以做出十六位,三十二位或更多位的移位部件,因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)當(dāng)由本發(fā)明的權(quán)利要求書(shū)確定。
現(xiàn)有技術(shù)中的移位部件采用的是串行觸發(fā)移位的機(jī)理,而本發(fā)明提出的單一時(shí)鐘周期完成移動(dòng)任意位的多位移位器的基本思想是采用數(shù)據(jù)選通的方式。
圖1表示了一個(gè)待移位的八位數(shù)據(jù),每一位分別標(biāo)作Z7、Z6Z5、Z4、Z3、Z2、Z1、Z。移位操作的方式可做如下劃分。
填“0”移位在移位后留下的空位上填充“0”。
循環(huán)移位將數(shù)據(jù)看作一個(gè)首尾相接的數(shù)據(jù)環(huán)來(lái)進(jìn)行移位操作,即移動(dòng)數(shù)據(jù)后留下的空位以相鄰移出的數(shù)據(jù)填充。
以上的方式還包括下列情況算術(shù)移位帶有符號(hào)位的移位。即在移位時(shí)僅對(duì)非符號(hào)位進(jìn)行操作,而符號(hào)位保持不變,一般最左端兩位被規(guī)定為符號(hào)位。
邏輯移位不帶符號(hào)位的移位,整個(gè)數(shù)據(jù)均參加移位操作。
對(duì)應(yīng)上述每種移位方式又分別有左移和右移兩種操作。另外,移位器還應(yīng)具有正常傳輸,反碼傳輸和清零功能。
圖3a至圖3R是圖2中所示數(shù)據(jù)分別按上述移位方式移動(dòng)一位后的結(jié)果,其中圖3a表示了填“0”邏輯左移;圖3b表示了填“0”邏輯右移;圖3C表示了填“0”算術(shù)左移;圖3d表示了填“0”算術(shù)右移;圖3e表示了循環(huán)邏輯左移;圖3f表示了循環(huán)邏輯右移;圖3g表示了循環(huán)算術(shù)左移;圖3h表示了循環(huán)算術(shù)右移;圖3i表示了正常傳輸;圖3j表示了反碼傳輸;圖3k表示了清零操作。
比較以上各圖中所示的移位后的結(jié)果與移位前的數(shù)據(jù)可以看出,移位后所得的各位數(shù)據(jù)只是在Z7至Z0與“0”這幾個(gè)數(shù)據(jù)之間進(jìn)行選擇的結(jié)果,這一點(diǎn)便是本發(fā)明的重要基礎(chǔ)。
為了進(jìn)行簡(jiǎn)單明確的說(shuō)明,下面以Zn這一位數(shù)據(jù)為例進(jìn)行說(shuō)明,其中的n可以是0、1、2,……7。
圖4是對(duì)Zn進(jìn)行移位的說(shuō)明。如圖所示,這一位數(shù)據(jù)有一個(gè)選通部件,它的輸出Zosn表示移位輸出,它的輸入可以有Zn+1、Zn、Zn-1、ZnB。當(dāng)執(zhí)行左移操作時(shí),使Zosn=Zn-1;執(zhí)行右移操作時(shí),使Zosn=Zn+1;正常傳輸時(shí),使Zosn=Zn;反碼傳輸時(shí),使Zosn=ZnB。
按照以上的原理,便可以推演出圖5所示的本發(fā)明移位部件中一個(gè)數(shù)據(jù)移位選通部件的原理圖。該選通部件具有一個(gè)輸出端Zosn和7個(gè)輸入端Z0至Z7。計(jì)算機(jī)發(fā)出的指令經(jīng)一個(gè)譯碼部件譯碼后,形成選通部件的控制信號(hào)送入選通部件。此處所述的指令是MIsc體系計(jì)算機(jī)特有的一種長(zhǎng)指令或超長(zhǎng)指令,移位操作指令只占該超長(zhǎng)指令中的一部分,根據(jù)指令中包含的移位方式和移位位數(shù)的信息,控制信號(hào)在Z0至Z7中送出一個(gè)信號(hào),送至Zosn輸出端。對(duì)于八位移位寄存器而言,只要做出八個(gè)如此的選通部件,把它們組合在一起便可以構(gòu)成單周期任意移位的移位部件。
圖6給出了一個(gè)八位移位部件,它是由八個(gè)圖5所示的選通部件構(gòu)成的,每個(gè)選通部件都是由門(mén)電路組成。
現(xiàn)以圖6中的選通部件1為例進(jìn)行說(shuō)明。選通部件1中的Z0至Z7為輸入的八位待移位數(shù)據(jù),Zos1~8為移位后的輸出信號(hào)。FFF為反碼輸出信號(hào),當(dāng)它是1(或0)時(shí),則輸出原碼的移位結(jié)果;當(dāng)它是0(或1)時(shí),輸出反碼的移位結(jié)果。CLE為清零信號(hào),當(dāng)它為1(或0)時(shí),輸出為0;當(dāng)它為0(或1)時(shí),輸出移位結(jié)果。圖6中的C(1,0)至C(1,7)是第一迭通部件的移位控制信號(hào),圖6中的Cij(i是選通部件的編號(hào),j等于0、1、2……7)是各選通部件的移位控制信號(hào),它們是經(jīng)對(duì)指令進(jìn)行譯碼后得到的。由于譯碼是一般的技術(shù),故在此不多加敘述。根據(jù)圖6可以看出,每個(gè)選通部件的輸出端Zos1~8可以按照選通控制信號(hào)的控制,在一個(gè)時(shí)鐘脈沖周期同時(shí)選擇得到Z0至Z7中的任何一位信號(hào),從而實(shí)現(xiàn)了單周期任意位的移位操作。
本發(fā)明的移位部件可以是用于計(jì)算機(jī)系統(tǒng)中的一個(gè)部件,但它又具有相對(duì)的獨(dú)立性,可以構(gòu)成獨(dú)立的運(yùn)行器件,從而用于各種不同的環(huán)境和場(chǎng)合。
權(quán)利要求
1.一種在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述的移位部件包括多個(gè)選能部件,選通部件的個(gè)數(shù)等于待移位的數(shù)據(jù)的位數(shù);每個(gè)選通部件具有一個(gè)輸出位,該輸出位與待移位的數(shù)據(jù)中的某一位相對(duì)應(yīng);每個(gè)選通部件具有多個(gè)輸入位,該輸入位的位數(shù)與待移位的數(shù)據(jù)的位數(shù)相對(duì)應(yīng),待移位的數(shù)據(jù)的每一位都分別與各個(gè)選通部件的輸入位的相應(yīng)位相對(duì)應(yīng);上述移位部件還包括一個(gè)譯碼部件,它將計(jì)算機(jī)指令中有關(guān)移位的信號(hào)部分進(jìn)行譯碼,從而產(chǎn)生出各個(gè)選通部件的移位控制信號(hào),所述的移位控制信號(hào)與所述的選通部件的控制信號(hào)輸入端相連接,在此信號(hào)的控制下,移位部件可以對(duì)待移位數(shù)據(jù)進(jìn)行任意位的移位操作。
2.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述的選通部件的個(gè)數(shù)等于八,以便對(duì)八位數(shù)據(jù)進(jìn)行任意位的移位操作。
3.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述的選通部件的個(gè)數(shù)等于十六,以便對(duì)十六位數(shù)據(jù)進(jìn)行任意位的移位操作。
4.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述的選通部件的個(gè)數(shù)等于三十二,以便對(duì)三十二位數(shù)據(jù)進(jìn)行任意位的移位操作。
5.如權(quán)利要求2、3、4中任意一項(xiàng)中所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于將大于或等于二的移位部件結(jié)合起來(lái),形成更多位的移位部件。
6.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于每個(gè)選通部件是由門(mén)電路組合而成。
7.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述選通部件的控制信號(hào)中包含一個(gè)反碼控制信號(hào),當(dāng)它為第一狀態(tài)時(shí),選通部件輸出原碼移位結(jié)果;當(dāng)它為第二狀態(tài)時(shí),選通部件輸出反碼移位結(jié)果。
8.如權(quán)利要求1所述的在單周期內(nèi)完成對(duì)數(shù)據(jù)進(jìn)行任意位移位操作的移位部件,其特征在于所述選通部件的控制信號(hào)中包含一個(gè)清零信號(hào),當(dāng)它為第一狀態(tài)時(shí),選通部件輸出為零;當(dāng)它為第二狀態(tài)時(shí),選通部件輸出移位的結(jié)果。
全文摘要
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,對(duì)計(jì)算機(jī)部件提出了一些更高的要求。傳統(tǒng)的移位寄存器只能在每個(gè)時(shí)鐘周期完成一位的移位操作,這便限制住了計(jì)算機(jī)技術(shù)的進(jìn)一步發(fā)展。本發(fā)明提供了一種克服這一限制的移位部件,它可以在單個(gè)周期對(duì)數(shù)據(jù)進(jìn)行任何位的移位操作。
文檔編號(hào)G11C19/28GK1055833SQ91103198
公開(kāi)日1991年10月30日 申請(qǐng)日期1991年5月17日 優(yōu)先權(quán)日1991年5月17日
發(fā)明者劉大力 申請(qǐng)人:北京大興多思軟件有限公司