能夠支持加法和減法的加法器和支持加法和減法的方法
【專(zhuān)利摘要】公開(kāi)一種能夠支持加法和減法的加法器和支持加法和減法的方法。在一個(gè)示例中,加法器支持最大n比特?cái)?shù)據(jù)類(lèi)型的減法運(yùn)算,并且包括:多個(gè)第一加法區(qū)域,每個(gè)第一加法區(qū)域由預(yù)定單位數(shù)量的比特形成,并且被配置為接收多條輸入的操作數(shù)據(jù);一個(gè)或更多個(gè)第二加法區(qū)域,每個(gè)第二加法區(qū)域形成在所述多個(gè)第一加法區(qū)域之間,并且被配置為基于操作數(shù)據(jù)的類(lèi)型和運(yùn)算類(lèi)型接收多條控制數(shù)據(jù)。
【專(zhuān)利說(shuō)明】能夠支持加法和減法的加法器和支持加法和減法的方法
[0001]本申請(qǐng)要求于2013年I月28日提交到韓國(guó)知識(shí)產(chǎn)局的第10-2013-0009328號(hào)韓國(guó)專(zhuān)利申請(qǐng)的優(yōu)先權(quán),該申請(qǐng)的全部公開(kāi)為了所有目的通過(guò)引用包含于此。
【技術(shù)領(lǐng)域】
[0002]以下描述涉及一種支持多種數(shù)據(jù)類(lèi)型的加法器以及通過(guò)控制進(jìn)位傳送來(lái)支持多種數(shù)據(jù)類(lèi)型的加法和減法運(yùn)算的方法。
【背景技術(shù)】
[0003]對(duì)處理器提供矢量運(yùn)算能力為多媒體應(yīng)用領(lǐng)域帶來(lái)了重大的性能改進(jìn)。一般的矢量運(yùn)算器提供一次同時(shí)處理各種數(shù)據(jù)的能力;然而,因?yàn)樾枰煌倪\(yùn)算器來(lái)響應(yīng)各種數(shù)據(jù),所以矢量運(yùn)算器需要很大。為了解決這一問(wèn)題,能夠使用最小數(shù)據(jù)長(zhǎng)度來(lái)連接、共享和同時(shí)處理許多算術(shù)運(yùn)算符的結(jié)構(gòu)被用于支持各種數(shù)據(jù)類(lèi)型。此時(shí),使用考慮用于加法或減法運(yùn)算的進(jìn)位傳送的選擇進(jìn)位加法器,通常,選擇進(jìn)位加法器使用復(fù)雜的控制信號(hào)和多個(gè)數(shù)據(jù)選擇器來(lái)共享每種類(lèi)型的運(yùn)算,這降低了整體效率和處理速度。
【發(fā)明內(nèi)容】
[0004]在一個(gè)總的方面,一種能夠支持多達(dá)η比特?cái)?shù)據(jù)的加法和減法的加法器可包括:多個(gè)第一加法區(qū)域,每個(gè)第一加法區(qū)域由預(yù)定單位數(shù)量的比特形成,并且被配置為接收多條輸入的操作數(shù)據(jù);一個(gè)或更多個(gè)第二加法區(qū)域,每個(gè)第二加法區(qū)域形成在所述多個(gè)第一加法區(qū)域之間,并且被配置為基于操作數(shù)據(jù)的類(lèi)型和運(yùn)算類(lèi)型接收多條控制數(shù)據(jù)。
[0005]所述預(yù)定單位數(shù)量可小于作為加法器能夠處理運(yùn)算的最大比特?cái)?shù)的η。
[0006]所述多條輸入的操作數(shù)據(jù)可根據(jù)操作數(shù)據(jù)類(lèi)型,以預(yù)定比特為單位被輸入到一個(gè)或更多個(gè)第一加法區(qū)域。
[0007]所述加法器可基于運(yùn)算類(lèi)型選擇性地反轉(zhuǎn)或不反轉(zhuǎn)所述多條輸入的操作數(shù)據(jù)中的在后輸入的操作數(shù)據(jù),然后將所得的數(shù)據(jù)輸入到所述多個(gè)第一加法區(qū)域。
[0008]所述多條控制數(shù)據(jù)可控制數(shù)據(jù)控制進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域或者阻止進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域,或者如果運(yùn)算類(lèi)型是減法,則所述多條控制數(shù)據(jù)可加上用于取二進(jìn)制補(bǔ)碼的值“ I”。
[0009]當(dāng)一條操作數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入在前的第一加法區(qū)域和在后的第一加法區(qū)域時(shí),被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于傳送進(jìn)位信號(hào)的比特值[0,1]或[1,0]。
[0010]如果運(yùn)算類(lèi)型是加法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于阻止進(jìn)位信號(hào)的比特值[0,0]。
[0011]如果運(yùn)算類(lèi)型是減法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于加上用于取二進(jìn)制補(bǔ)碼的值“I”的比特值[1,1]。
[0012]此外,所述加法器還可包括:一個(gè)或更多個(gè)第二數(shù)據(jù)選擇器,基于被輸入到在后的第一加法區(qū)域和在前的第一加法區(qū)域的操作數(shù)據(jù)的類(lèi)型以及運(yùn)算類(lèi)型,選擇性地將所述多條控制數(shù)據(jù)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域。
[0013]在另一個(gè)總的方面,一種通過(guò)使用能夠支持多達(dá)η比特?cái)?shù)據(jù)的加法和減法的加法器來(lái)支持多種數(shù)據(jù)類(lèi)型的加法和減法的方法可包括:將多條操作數(shù)據(jù)輸入到加法器中的多個(gè)第一加法區(qū)域,每個(gè)第一加法區(qū)域由預(yù)定單位數(shù)量的比特形成;基于操作數(shù)據(jù)的類(lèi)型和運(yùn)算類(lèi)型將多條控制數(shù)據(jù)輸入到一個(gè)或更多個(gè)第二加法區(qū)域,每個(gè)第二加法區(qū)域形成在所述多個(gè)第一加法區(qū)域之間。
[0014]所述預(yù)定單位數(shù)量可小于作為加法器能夠處理的最大比特?cái)?shù)的η。
[0015]多條輸入的操作數(shù)據(jù)可根據(jù)操作數(shù)據(jù)類(lèi)型,以預(yù)定比特為單位被輸入到一個(gè)或更多個(gè)第一加法區(qū)域。
[0016]輸入多條操作數(shù)據(jù)的步驟還可包括:基于運(yùn)算類(lèi)型,通過(guò)數(shù)據(jù)選擇器選擇性地反轉(zhuǎn)或不反轉(zhuǎn)多條輸入的操作數(shù)據(jù)中的在后輸入的操作數(shù)據(jù),然后將所得的數(shù)據(jù)輸入到所述多個(gè)第一加法區(qū)域。
[0017]所述多條控制數(shù)據(jù)可控制進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域或者阻止進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域,或者如果運(yùn)算類(lèi)型是減法,則所述多條控制數(shù)據(jù)可加上用于取二進(jìn)制補(bǔ)碼的值“ I”。
[0018]當(dāng)一條操作數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入在前的第一加法區(qū)域和在后的第一加法區(qū)域時(shí),被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于傳送進(jìn)位信號(hào)的比特值[0,1]或[1,0]。
[0019]如果運(yùn)算類(lèi)型是加法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于阻止進(jìn)位信號(hào)的比特值[0,0]。
[0020]如果運(yùn)算類(lèi)型是減法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)可以是用于加上用于取二進(jìn)制補(bǔ)碼的值“I”的比特值[1,1]。
[0021]輸入多條控制數(shù)據(jù)的步驟可基于被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域的操作數(shù)據(jù)的類(lèi)型以及運(yùn)算類(lèi)型,通過(guò)數(shù)據(jù)選擇器選擇性地將所述多條控制數(shù)據(jù)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域。
[0022]其他特點(diǎn)和多個(gè)方面從以下詳細(xì)描述、附圖和權(quán)利要求可以是清楚的。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0023]圖1A和圖1B是示出一般的選擇進(jìn)位加法器的示圖。
[0024]圖2是示出根據(jù)本發(fā)明的加法器的示例的示圖。
[0025]圖3是輸入到加法器的第二加法區(qū)域的控制數(shù)據(jù)的示例。
[0026]圖4Α至圖4D是示出加法器的加法運(yùn)算和減法運(yùn)算的示例。
[0027]圖5是示出支持多種數(shù)據(jù)類(lèi)型的減法運(yùn)算的方法的示例的流程圖。
[0028]貫穿附圖和詳細(xì)描述,除非另外描述,否則相同的附圖標(biāo)號(hào)將被理解為表示相同的元件、特征和結(jié)構(gòu)。為了清楚、例示和方便,這些元件的相對(duì)大小和描述可被夸大?!揪唧w實(shí)施方式】
[0029]提供以下描述以幫助讀者獲得對(duì)這里描述的方法、設(shè)備和/或系統(tǒng)的全面理解。因此,這里描述的方法、設(shè)備和/或系統(tǒng)的各種改變、修改和等同物將被推薦給本領(lǐng)域普通技術(shù)人員。此外,為了增加清晰和簡(jiǎn)明,公知功能和結(jié)構(gòu)的描述可被省略。
[0030]以下,將參照附圖描述能夠支持多種數(shù)據(jù)類(lèi)型的加法器以及使用所述加法器的支持多種類(lèi)型的加法和減法運(yùn)算的方法。
[0031]圖1A和圖1B是示出一般的選擇進(jìn)位加法器的示圖。
[0032]圖1A是示出支持多達(dá)32比特的一般的選擇進(jìn)位加法器的示例的示圖,該加法器通過(guò)并聯(lián)連接四個(gè)加法器111、112、113和114來(lái)支持多種數(shù)據(jù)類(lèi)型(例如,8比特、16比特和32比特)的加法運(yùn)算。在該示例中,如示出加法器114的圖1B所示,加法器111、112、113和114中的每個(gè)加法器可包括9比特雙加法器114_&和114_b,以預(yù)先考慮用于在減法處理中針對(duì)反轉(zhuǎn)輸入加值“I”的進(jìn)位。
[0033]此外,一般的選擇進(jìn)位加法器可包括:數(shù)據(jù)選擇器121、122、123和124,用于針對(duì)輸入到各個(gè)加法器111、112、113和114的第二數(shù)據(jù),根據(jù)運(yùn)算類(lèi)型選擇反轉(zhuǎn)輸入或非反轉(zhuǎn)輸入;選擇進(jìn)位數(shù)據(jù)選擇器131、132、133和134,用于選擇從各個(gè)加法器111、112、113和114輸出的兩個(gè)結(jié)果(不包括進(jìn)位和包括進(jìn)位)之一;進(jìn)位傳送數(shù)據(jù)選擇器141、142和143,用于將進(jìn)位從在后的加法器111、112和113分別傳送到在前的加法器112、113和114。
[0034]例如,當(dāng)針對(duì)16比特?cái)?shù)據(jù)執(zhí)行加法運(yùn)算時(shí),數(shù)據(jù)i0_3和il_3被輸入到第一加法器111,數(shù)據(jù)i0_2和il_2被輸入到第二加法器112。通過(guò)選擇不包括進(jìn)位的結(jié)果或者包括進(jìn)位的結(jié)果,第一加法器111使用內(nèi)部的雙加法器輸出數(shù)據(jù)o0_3和ol_3,并且第二加法器112輸出數(shù)據(jù)o0_2和ol_2。
[0035]第一選擇進(jìn)位數(shù)據(jù)選擇器131從自第一加法器111輸出的結(jié)果選擇不包括進(jìn)位的數(shù)據(jù)o0_3,并將數(shù)據(jù)o0_3輸出為第一加法器111的加法結(jié)果z3。第一進(jìn)位傳送數(shù)據(jù)選擇器141選擇值O或第一加法器111的加法結(jié)果z3的最高比特值,并確定是否將進(jìn)位傳送到第二加法器112。
[0036]第二選擇進(jìn)位數(shù)據(jù)選擇器132根據(jù)輸入到第一進(jìn)位傳送數(shù)據(jù)選擇器141的值,選擇從第二加法器112輸出的結(jié)果之一,即,不包括進(jìn)位的數(shù)據(jù)o0_2和包括進(jìn)位的數(shù)據(jù)ol_2之一,并將選擇的數(shù)據(jù)輸出為其加法運(yùn)算結(jié)果z2。
[0037]這樣,一般的選擇進(jìn)位加法器包括多個(gè)加法器111、112、113和114,以支持多種數(shù)據(jù)類(lèi)型的運(yùn)算,多個(gè)加法器111、112、113和114中的每個(gè)加法器包括并聯(lián)的加法器,以預(yù)先考慮進(jìn)位,因此,一般的選擇進(jìn)位加法器占用多個(gè)區(qū)域。此外,因?yàn)閿?shù)據(jù)應(yīng)該經(jīng)過(guò)用于進(jìn)位傳送的多個(gè)數(shù)據(jù)選擇器,所以控制變得復(fù)雜,并且出現(xiàn)運(yùn)算延遲。
[0038]圖2是示出根據(jù)本發(fā)明的加法器的示例的示圖。
[0039]參照?qǐng)D2,加法器200可包括:單個(gè)加法單元210,加法單元210可包括以預(yù)定數(shù)量的比特為單位的多個(gè)第一加法區(qū)域211、212、213和214,以在最大數(shù)據(jù)長(zhǎng)度內(nèi)支持各種數(shù)據(jù)類(lèi)型的運(yùn)算;一個(gè)或更多個(gè)第二加法區(qū)域221、222和223,每個(gè)第二加法區(qū)域設(shè)置在兩個(gè)鄰近的第一加法區(qū)域之間,并且控制數(shù)據(jù)基于運(yùn)算類(lèi)型和操作數(shù)據(jù)類(lèi)型被輸入到每個(gè)第二加法區(qū)域。
[0040]圖2示出四個(gè)第一加法區(qū)域211、212、213和214以及在第一加法區(qū)域之間的第二加法區(qū)域221、222和223。然而,第一加法區(qū)域的數(shù)量可根據(jù)最大可支持的數(shù)據(jù)類(lèi)型、運(yùn)算的最小數(shù)據(jù)處理單元等而增加。
[0041]例如,第一加法區(qū)域211、212、213和214中的每個(gè)可被分成運(yùn)算的最小數(shù)據(jù)處理單元,并且如果最小數(shù)據(jù)處理單元是8比特,則最大32比特的數(shù)據(jù)類(lèi)型的運(yùn)算可通過(guò)四個(gè)第一加法區(qū)域211、212、213和214來(lái)執(zhí)行。根據(jù)輸入的操作數(shù)據(jù)的類(lèi)型,可執(zhí)行用于諸如8比特、16比特、24比特和32比特的數(shù)據(jù)類(lèi)型的運(yùn)算。
[0042]操作數(shù)據(jù)根據(jù)數(shù)據(jù)類(lèi)型以預(yù)定比特(m比特)為單位被輸入到一個(gè)或更多個(gè)第一加法區(qū)域211、212、213和214,并且通過(guò)每個(gè)第一加法區(qū)域?qū)Σ僮鲾?shù)據(jù)執(zhí)行加法。在這種情況下,根據(jù)操作數(shù)據(jù)類(lèi)型,多于兩對(duì)操作數(shù)據(jù)可被同時(shí)輸入到第一加法區(qū)域211、212、213和 214。
[0043]例如,如果預(yù)定比特(m比特)是8比特并且操作數(shù)據(jù)類(lèi)型是16比特,則操作數(shù)據(jù)可被分成8比特單元,并且被輸入到兩個(gè)第一加法區(qū)域211和212。在這種情況下,另外的一對(duì)16比特操作數(shù)據(jù)可被分成8比特單元,并被輸入到兩個(gè)第一加法區(qū)域213和214,從而可同時(shí)執(zhí)行兩對(duì)或更多對(duì)數(shù)據(jù)的加法運(yùn)算。
[0044]此外,加法器200可支持減法運(yùn)算。通過(guò)反轉(zhuǎn)作為第二輸入的操作數(shù)據(jù),然后對(duì)第二輸入操作數(shù)據(jù)執(zhí)行加法,并加上用于取二進(jìn)制補(bǔ)碼的值“ I ”,來(lái)執(zhí)行減法運(yùn)算。為了支持這種減法運(yùn)算,加法器200還可包括與各個(gè)第一加法區(qū)域211、212、213和214相應(yīng)的第一數(shù)據(jù)選擇器231、232、233和234。第一數(shù)據(jù)選擇器231、232、233和234可根據(jù)將被執(zhí)行的運(yùn)算的類(lèi)型,選擇性地反轉(zhuǎn)或不反轉(zhuǎn)在后輸入的操作數(shù)據(jù),并將所得的操作數(shù)據(jù)輸入到相應(yīng)的第一加法區(qū)域211、212、213和214。例如,如果運(yùn)算類(lèi)型是加法,則第一數(shù)據(jù)選擇器231、232、233和234可反轉(zhuǎn)在后的操作數(shù)據(jù),然后將所得的數(shù)據(jù)輸入到相應(yīng)的第一加法區(qū)域 211、212、213 和 214。
[0045]第二加法區(qū)域221、222和223可在每個(gè)第一加法區(qū)域211、212、213和214之間由I比特來(lái)形成,并且可控制在后的第一加法區(qū)域到在前的第一加法區(qū)域中出現(xiàn)的進(jìn)位信號(hào)或者用于執(zhí)行減法運(yùn)算的進(jìn)位信號(hào)的傳遞或阻止,加上用于取二進(jìn)制補(bǔ)碼的值“I”的控制數(shù)據(jù)可被輸入到第二加法區(qū)域221、222和223。
[0046]圖3是輸入到加法器的第二加法區(qū)域的控制數(shù)據(jù)的示例。輸入到加法器的第二加法區(qū)域221、222和223的控制數(shù)據(jù)可以是控制數(shù)據(jù)[0,I]、[1,O]、[0,O]和[1,1]之一。
[0047]例如,如果一個(gè)操作數(shù)據(jù)被分成多個(gè)段并且所述多個(gè)段被分別輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,更具體地講,如果圖2的第一加法區(qū)域211、212、213和214中的每個(gè)由8比特形成并且16比特操作數(shù)據(jù)被分成兩個(gè)段,這兩個(gè)段被輸入到在前的第一加法區(qū)域212和在后的第一加法區(qū)域211兩者,則可將比特值[0,1]或[1,0]輸入到第一加法區(qū)域212和211之間的第二加法區(qū)域221,以傳遞在后的第一加法區(qū)域211的加法運(yùn)算處理中出現(xiàn)的進(jìn)位信號(hào)。
[0048]對(duì)于另一示例,當(dāng)不同的操作數(shù)據(jù)被同時(shí)輸入到在后的第一加法區(qū)域和在前的第一加法區(qū)域時(shí),在加法運(yùn)算的情況下,可將比特值[0,0]輸入到在后的第一加法區(qū)域和在前的第一加法區(qū)域之間的第二加法區(qū)域,以阻止進(jìn)位信號(hào),在減法運(yùn)算的情況下,可將比特值[1,1]輸入到第二加法區(qū)域,以加上用于取二進(jìn)制補(bǔ)碼的值“I”。
[0049]例如,如果16比特的第一操作數(shù)據(jù)被分成多個(gè)段并且所述多個(gè)段被分別輸入到兩個(gè)第一加法區(qū)域211和212,16比特的第二操作數(shù)據(jù)被分成多個(gè)段并且所述多個(gè)段被分別輸入到兩個(gè)第一加法區(qū)域213和214時(shí),在加法運(yùn)算的情況下,可將比特值[0,0]輸入到已輸入第一操作數(shù)據(jù)的第一加法區(qū)域212和已輸入第二操作數(shù)據(jù)的第一加法區(qū)域213之間的第二加法區(qū)域222,以防止進(jìn)位被傳送。在運(yùn)算類(lèi)型是減法運(yùn)算的情況下,可將比特值[1,I]輸入到第二加法區(qū)域222,以加上值“I”。
[0050]如圖2所示,加法器200還可包括基于操作數(shù)據(jù)類(lèi)型和與第二加法區(qū)域221、222和223中的每個(gè)相應(yīng)的運(yùn)算類(lèi)型來(lái)選擇性地輸入控制數(shù)據(jù)的第二數(shù)據(jù)選擇器241、242和243。例如,根據(jù)諸如加法運(yùn)算或減法運(yùn)算的運(yùn)算類(lèi)型以及輸入到與第二加法區(qū)域221相鄰的第一加法區(qū)域211和212的操作數(shù)據(jù)類(lèi)型(B卩,是一個(gè)數(shù)據(jù)被分成多個(gè)段并且所述多個(gè)段被分別輸入到第一數(shù)據(jù)選擇器231和232,還是兩個(gè)彼此不同的數(shù)據(jù)被分別輸入到第一數(shù)據(jù)選擇器231和232),第二數(shù)據(jù)選擇器241選擇性地輸入值O或I。
[0051]圖4A、圖4B、圖4C和圖4D是示出加法器的加法運(yùn)算和減法運(yùn)算的示例的示圖。為了便于描述,假設(shè)加法器200包括四個(gè)第一加法區(qū)域211、212、213和214以及三個(gè)I比特的第二加法區(qū)域221、222和223,其中,每個(gè)第一加法區(qū)域具有2比特的長(zhǎng)度。
[0052]圖4A示出同時(shí)執(zhí)行第一操作數(shù)據(jù)al和bl的加法運(yùn)算以及第二操作數(shù)據(jù)a2和b2的加法運(yùn)算的示例。
[0053]因?yàn)槊總€(gè)輸入的操作數(shù)據(jù)類(lèi)型是2比特,所以第一操作數(shù)據(jù)al和bl被依次輸入到在前的第一加法區(qū)域212。此時(shí),因?yàn)檫\(yùn)算類(lèi)型是加法運(yùn)算,所以第一數(shù)據(jù)選擇器232輸入未反轉(zhuǎn)的原始第二數(shù)據(jù)bl,在第一操作數(shù)據(jù)al和bl中,第二數(shù)據(jù)bl被在后輸入到在前的第一加法區(qū)域212。類(lèi)似地,第二操作數(shù)據(jù)a2和b2被輸入到在后的第一加法區(qū)域211,并且因?yàn)槭羌臃ㄟ\(yùn)算,所以第一數(shù)據(jù)選擇器231將未反轉(zhuǎn)的第二數(shù)據(jù)b2輸入到在后的第一加法區(qū)域211。
[0054]此外,比特值[0,0]的控制數(shù)據(jù)被輸入到第一加法區(qū)域211和212之間的第二加法區(qū)域221,以阻止在后的第一加法區(qū)域211中出現(xiàn)的進(jìn)位信號(hào)被傳送。因?yàn)榉謩e被輸入到均與第二加法區(qū)域221相鄰的在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的每條數(shù)據(jù)是兩條不同的數(shù)據(jù),并且運(yùn)算類(lèi)型是加法類(lèi)型,所以與第二加法區(qū)域221相應(yīng)的第二數(shù)據(jù)選擇器241選擇性地將值O和O依次輸入到第二加法區(qū)域221。
[0055]在后的第一加法區(qū)域211執(zhí)行第一操作數(shù)據(jù)的加法運(yùn)算,然后輸出“00”作為結(jié)果,并產(chǎn)生進(jìn)位信號(hào)“ I ”。進(jìn)位信號(hào)被傳送到第二加法區(qū)域221,第二加法區(qū)域221考慮進(jìn)位信號(hào)將所有的輸入控制信號(hào)相加并輸出結(jié)果“1”,而不向在前的第一加法區(qū)域產(chǎn)生進(jìn)位信號(hào)。因?yàn)闆](méi)有進(jìn)位信號(hào)從第二加法區(qū)域221被傳送,所以在前的第一加法區(qū)域212將“11”輸出為加法運(yùn)算的結(jié)果。最終,忽略來(lái)自第二加法區(qū)域221的結(jié)果,而僅獲取在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的結(jié)果,并且隨后可獲取第一操作數(shù)據(jù)的加法運(yùn)算結(jié)果“ 11 ”和第二操作數(shù)據(jù)的加法運(yùn)算結(jié)果“00 ”。
[0056]圖4B示出執(zhí)行包括4比特?cái)?shù)據(jù)類(lèi)型的操作數(shù)據(jù)a和b的加法運(yùn)算的示圖。
[0057]輸入的操作數(shù)據(jù)類(lèi)型是4比特,并且以2比特的形式被分別輸入到在后的第一加法區(qū)域211和在前的第一加法區(qū)域212。此時(shí),因?yàn)檫\(yùn)算類(lèi)型是加法運(yùn)算,所以分別與在后的第一加法區(qū)域211和在前的第一加法區(qū)域212相應(yīng)的第一數(shù)據(jù)選擇器231和232輸入第一操作數(shù)據(jù)a和b中的稍后被輸入的未反轉(zhuǎn)的第二數(shù)據(jù)b。
[0058]用于傳送在后的第一加法區(qū)域211中出現(xiàn)的進(jìn)位信號(hào)的控制信號(hào)[1,0]被輸入到在后的第一加法區(qū)域211和在前的第一加法區(qū)域212之間的第二加法區(qū)域221。因?yàn)檩斎氲骄c第二加法區(qū)域221相鄰的在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的數(shù)據(jù)來(lái)自一個(gè)數(shù)據(jù),并且運(yùn)算類(lèi)型是加法運(yùn)算,所以與第二加法區(qū)域221相應(yīng)的第二數(shù)據(jù)選擇器241選擇性地將值I和O依次輸入到第二加法區(qū)域221。
[0059]在后的第一加法區(qū)域211將輸入的操作數(shù)據(jù)相加,然后輸出結(jié)果“00”,并產(chǎn)生進(jìn)位信號(hào)“I”。進(jìn)位信號(hào)被傳送到第二加法區(qū)域221,第二加法區(qū)域221考慮進(jìn)位信號(hào)將輸入控制信號(hào)相加,然后輸出結(jié)果“0”,并產(chǎn)生進(jìn)位信號(hào)“I”。在前的第一加法區(qū)域212基于從第二加法區(qū)域221傳送的進(jìn)位信號(hào)將輸入的數(shù)據(jù)相加,然后輸出結(jié)果“00”作為加法運(yùn)算的結(jié)果。最終,忽略第二加法區(qū)域221的結(jié)果,并且獲取從在后的第一加法區(qū)域211和在前的第一加法區(qū)域212接收的結(jié)果,因此可獲得操作數(shù)據(jù)的加法運(yùn)算結(jié)果“0000”。
[0060]圖4C是示出同時(shí)執(zhí)行第一操作數(shù)據(jù)al和a2以及第二操作數(shù)據(jù)a2和b2的加法運(yùn)算的示例的示圖。
[0061]與圖4A類(lèi)似,因?yàn)槊總€(gè)操作數(shù)據(jù)的類(lèi)型是2比特,所以第一操作數(shù)據(jù)al和a2以及第二操作數(shù)據(jù)a2和b2中的每個(gè)被分別輸入到在后的第一加法區(qū)域211和在前的第一加法區(qū)域212。這里,運(yùn)算類(lèi)型是減法運(yùn)算,所以第一數(shù)據(jù)選擇器231和232反轉(zhuǎn)在后輸入的第二數(shù)據(jù)bl和b2,并將反轉(zhuǎn)的第二數(shù)據(jù)bl和b2輸入到相應(yīng)的在后的第一加法區(qū)域211和在前的第一加法區(qū)域212。
[0062]因?yàn)楸惠斎氲骄c第二加法區(qū)域221相鄰的在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的每條數(shù)據(jù)是兩條不同的數(shù)據(jù),并且運(yùn)算類(lèi)型是減法,所以第二數(shù)據(jù)選擇器241將控制數(shù)據(jù)[1,1]輸入到相應(yīng)的第二加法區(qū)域221,以將值“I”與第一加法區(qū)域212的結(jié)果相加。此時(shí),在后的第一加法區(qū)域211還執(zhí)行減法運(yùn)算,從而得到將被加到在后的第一加法區(qū)域211的值“I”被輸入。
[0063]考慮到被輸入的值“1”,在后的第一加法區(qū)域211將在后的第一加法區(qū)域211中的所有第一操作數(shù)據(jù)相加,并輸出結(jié)果“10”,然后產(chǎn)生進(jìn)位信號(hào)“I”。進(jìn)位信號(hào)被傳送到第二加法區(qū)域221,然后第二加法區(qū)域221考慮輸入的控制數(shù)據(jù)[1,1]和進(jìn)位信號(hào),并輸出結(jié)果“ I ”,然后產(chǎn)生進(jìn)位信號(hào)“ I ”。考慮到從第二加法區(qū)域221傳送的進(jìn)位信號(hào),在前的第一加法區(qū)域212輸出加法結(jié)果“11”。最終,忽略第二加法區(qū)域221的結(jié)果,并且僅獲取在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的結(jié)果作為最終結(jié)果,因此獲得第一操作數(shù)據(jù)al和a2的減法結(jié)果“II”以及第二操作數(shù)據(jù)a2和b2的減法結(jié)果“10”。
[0064]圖4D是示出執(zhí)行4比特?cái)?shù)據(jù)類(lèi)型的操作數(shù)據(jù)a和b的減法運(yùn)算的示例的示圖。
[0065]操作數(shù)據(jù)類(lèi)型是4比特,并且以2比特的形式被分別輸入到在后的第一加法區(qū)域211和在前的第一加法區(qū)域212。這里,因?yàn)檫\(yùn)算類(lèi)型是減法運(yùn)算,所以與在后的第一加法區(qū)域211和在前的第一加法區(qū)域212相應(yīng)的第一數(shù)據(jù)選擇器231和232反轉(zhuǎn)第一操作數(shù)據(jù)a和b中的在后輸入的第二數(shù)據(jù)b,然后將反轉(zhuǎn)的第二數(shù)據(jù)b輸入到在后的第一加法區(qū)域211和在前的第一加法區(qū)域212。
[0066]因?yàn)楸惠斎氲骄c第二加法區(qū)域221相鄰的在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的數(shù)據(jù)本來(lái)是一條數(shù)據(jù),所以第二數(shù)據(jù)選擇器241將控制數(shù)據(jù)[1,0]輸入到第二加法區(qū)域221。此時(shí),獲取另外的輸入“1”,以將用于取二進(jìn)制補(bǔ)碼的值“I”與在后的第一加法區(qū)域211相加。
[0067]在后的第一加法區(qū)域211將操作數(shù)據(jù)與另外的輸入“I”相加,輸出結(jié)果“10”并產(chǎn)生進(jìn)位信號(hào)“I”。進(jìn)位信號(hào)被傳送到第二加法區(qū)域221,第二加法區(qū)域221考慮進(jìn)位信號(hào)將輸入的控制數(shù)據(jù)[1,0]相加,然后輸出結(jié)果“O”并產(chǎn)生進(jìn)位信號(hào)“I”。在前的第一加法區(qū)域212將從第二加法區(qū)域221傳送的進(jìn)位信號(hào)與輸入數(shù)據(jù)相加,并輸出加法結(jié)果“11”。最終,忽略第二加法區(qū)域221的結(jié)果,僅獲取在后的第一加法區(qū)域211和在前的第一加法區(qū)域212的結(jié)果作為最終結(jié)果,并且可獲得操作數(shù)據(jù)的減法運(yùn)算結(jié)果“1110”。
[0068]如這里的示例所示,加法器200可不需要多個(gè)選擇進(jìn)位數(shù)據(jù)選擇器,并且可不需要并聯(lián)連接多個(gè)加法器以支持各種數(shù)據(jù)類(lèi)型,而是能夠通過(guò)單個(gè)加法器來(lái)支持多種數(shù)據(jù)類(lèi)型,從而可增加處理性能和一定程度的效率。
[0069]圖5是示出支持多種數(shù)據(jù)類(lèi)型的減法運(yùn)算的方法的示例的流程圖。以下描述使用如圖2所示的加法器200的支持多種數(shù)據(jù)類(lèi)型的加法運(yùn)算和減法運(yùn)算的方法的示例。
[0070]首先,在511,加法器200以預(yù)定比特單元將操作數(shù)據(jù)的第一數(shù)據(jù)輸入到第一加法區(qū)域211、212、213和214。根據(jù)數(shù)據(jù)類(lèi)型,操作數(shù)據(jù)可被輸入到一個(gè)第一加法區(qū)域,或者可被分成多個(gè)段,并且多個(gè)數(shù)據(jù)段可被輸入到第一加法區(qū)域的兩個(gè)或更多個(gè)。
[0071]然后,在512,加法器200的數(shù)據(jù)選擇器231、232、233和234確定運(yùn)算類(lèi)型,如果運(yùn)算類(lèi)型不是減法運(yùn)算,則在513,數(shù)據(jù)選擇器231、232、233和234不反轉(zhuǎn)操作數(shù)據(jù)的第二數(shù)據(jù),并輸入原始的第二數(shù)據(jù);然而,如果運(yùn)算類(lèi)型是減法運(yùn)算,則在514,數(shù)據(jù)選擇器231、232,233和234反轉(zhuǎn)第二數(shù)據(jù),并輸入反轉(zhuǎn)的第二數(shù)據(jù)。
[0072]然后,在515,加法器的第二數(shù)據(jù)選擇器241、242和243檢查被輸入到與相應(yīng)的第二加法區(qū)域221、222和223中的每個(gè)相鄰的第一加法區(qū)域211、212、213和214的操作數(shù)據(jù),并且在516,確定操作數(shù)據(jù)類(lèi)型是否大于預(yù)定比特,從而操作數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入相鄰的第一加法區(qū)域211、212、213和214。
[0073]作為操作516的確定結(jié)果,如果一個(gè)數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入,則在517,用于將在后的第一加法區(qū)域中產(chǎn)生的進(jìn)位信號(hào)傳送到在前的第一加法區(qū)域的控制數(shù)據(jù)比特[1,0]或[0,1]可被輸入到在后的第一加法區(qū)域和在前的第一加法區(qū)域之間的第二加法區(qū)域517。
[0074]然而,如果輸入兩條不同的數(shù)據(jù),則在518,確定運(yùn)算類(lèi)型,如果運(yùn)算類(lèi)型是減法運(yùn)算,則在519,將用于將值“I”與在前的第一加法區(qū)域的加法結(jié)果相加的控制數(shù)據(jù)[1,1]被輸入到第二加法區(qū)域。此外,如果在操作518,運(yùn)算類(lèi)型是加法運(yùn)算,則在520,可輸入控制數(shù)據(jù)[0,O],以防止在后的第一加法區(qū)域的進(jìn)位信號(hào)被傳送到在前的第一加法區(qū)域。
[0075]在加法器200使用輸入到第一加法區(qū)域和第二加法區(qū)域的數(shù)據(jù)執(zhí)行加法運(yùn)算之后,加法器200忽略第二加法區(qū)域的輸出結(jié)果,僅獲取第一加法區(qū)域的結(jié)果,并最后獲得加法運(yùn)算和減法運(yùn)算的結(jié)果。
[0076]上述方法和/或操作可被記錄、存儲(chǔ)或固定在一個(gè)或更多個(gè)包括程序指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述程序指令由計(jì)算機(jī)執(zhí)行,從而使得處理器執(zhí)行所述程序指令。所述介質(zhì)還可包括單獨(dú)的數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等,或者還可包括與程序指令結(jié)合的數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例包括磁介質(zhì)(諸如硬盤(pán)、軟盤(pán)和磁帶)、光學(xué)介質(zhì)(諸如⑶ROM盤(pán)和DVD)、磁光介質(zhì)(諸如光盤(pán))和專(zhuān)門(mén)配置為存儲(chǔ)和執(zhí)行程序指令的硬件裝置(諸如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、閃存等)。程序指令的示例包括諸如由編譯器產(chǎn)生的機(jī)器代碼和包含可由計(jì)算機(jī)使用解釋器執(zhí)行的高級(jí)代碼的文件。描述的硬件裝置可被配置為用作一個(gè)或更多軟件模塊,以執(zhí)行上述操作和方法,反之亦然。此外,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以分布在通過(guò)網(wǎng)絡(luò)連接的計(jì)算機(jī)系統(tǒng)中,并且計(jì)算機(jī)可讀代碼或程序指令可以以分散方式被存儲(chǔ)和執(zhí)行。
[0077]以上已經(jīng)描述了多個(gè)示例。然而,應(yīng)該理解,可進(jìn)行各種修改。例如,如果描述的技術(shù)以不同的次序執(zhí)行和/或如果描述的系統(tǒng)、架構(gòu)、裝置或電路中的組件以不同的方式組合和/或由其他組件或它們的等同物替代或補(bǔ)充,則可實(shí)現(xiàn)適當(dāng)?shù)慕Y(jié)果。因此,其他實(shí)施方式落入權(quán)利要求的范圍之內(nèi)。
【權(quán)利要求】
1.一種能夠支持多達(dá)η比特?cái)?shù)據(jù)的加法和減法的加法器,所述加法器包括: 多個(gè)第一加法區(qū)域,每個(gè)第一加法區(qū)域由預(yù)定單位數(shù)量的比特形成,并且被配置為接收多條輸入的操作數(shù)據(jù); 一個(gè)或更多個(gè)第二加法區(qū)域,每個(gè)第二加法區(qū)域形成在所述多個(gè)第一加法區(qū)域之間,并且被配置為基于操作數(shù)據(jù)的類(lèi)型和運(yùn)算類(lèi)型接收多條控制數(shù)據(jù)。
2.如權(quán)利要求1所述的加法器,其中,所述預(yù)定單位數(shù)量小于作為加法器能夠處理運(yùn)算的最大比特?cái)?shù)的η。
3.如權(quán)利要求1所述的加法器,其中,所述多條輸入的操作數(shù)據(jù)根據(jù)操作數(shù)據(jù)類(lèi)型,以預(yù)定比特為單位被輸入到一個(gè)或更多個(gè)第一加法區(qū)域。
4.如權(quán)利要求1所述的加法器,還包括: 多個(gè)第一數(shù)據(jù)選擇器,被配置為基于運(yùn)算類(lèi)型選擇性地反轉(zhuǎn)或不反轉(zhuǎn)所述多條輸入的操作數(shù)據(jù)中的在后輸入的操作數(shù)據(jù),然后將所得的數(shù)據(jù)輸入到所述多個(gè)第一加法區(qū)域。
5.如權(quán)利要求1所述的加法器,其中,所述多條控制數(shù)據(jù)控制進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域或者阻止進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域,或者如果運(yùn)算類(lèi)型是減法,則所述多條控制數(shù)據(jù)加上用于取二進(jìn)制補(bǔ)碼的值“1”。
6.如權(quán)利要求5所述的加法器,其中,當(dāng)一條操作數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入在前的第一加法區(qū)域和在后的第一加法區(qū)域時(shí),被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于傳送進(jìn)位信號(hào)的比特[O,I]或[1,0]。
7.如權(quán)利要求5所述的加法器,其中,如果運(yùn)算類(lèi)型是加法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于阻止進(jìn)位信號(hào)的比特[O,O] O
8.如權(quán)利要求5所述的加法器,其中,如果運(yùn)算類(lèi)型是減法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于加上用于取二進(jìn)制補(bǔ)碼的值“I”的比特[1,1]。
9.如權(quán)利要求1所述的加法器,還包括: 一個(gè)或更多個(gè)第二數(shù)據(jù)選擇器,被配置為基于被輸入到在后的第一加法區(qū)域和在前的第一加法區(qū)域的操作數(shù)據(jù)的類(lèi)型以及運(yùn)算類(lèi)型,選擇性地將所述多條控制數(shù)據(jù)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域。
10.一種通過(guò)使用能夠支持多達(dá)η比特?cái)?shù)據(jù)的加法和減法的加法器來(lái)支持多種數(shù)據(jù)類(lèi)型的加法和減法的方法,所述方法包括: 將多條操作數(shù)據(jù)輸入到加法器中的多個(gè)第一加法區(qū)域,每個(gè)第一加法區(qū)域由預(yù)定單位數(shù)量的比特形成; 基于操作數(shù)據(jù)的類(lèi)型和運(yùn)算類(lèi)型將多條控制數(shù)據(jù)輸入到一個(gè)或更多個(gè)第二加法區(qū)域,每個(gè)第二加法區(qū)域形成在所述多個(gè)第一加法區(qū)域之間。
11.如權(quán)利要求10所述的方法,其中,所述預(yù)定單位數(shù)量小于作為加法器能夠處理的最大比特?cái)?shù)的η。
12.如權(quán)利要求10所述的方法,其中,多條輸入的操作數(shù)據(jù)根據(jù)操作數(shù)據(jù)類(lèi)型,以預(yù)定比特為單位被輸入到一個(gè)或更多個(gè)第一加法區(qū)域。
13.如權(quán)利要求10所述的方法,其中,輸入多條操作數(shù)據(jù)的步驟還包括: 基于運(yùn)算類(lèi)型,通過(guò)數(shù)據(jù)選擇器選擇性地反轉(zhuǎn)或不反轉(zhuǎn)多條輸入的操作數(shù)據(jù)中的在后輸入的操作數(shù)據(jù),然后將所得的數(shù)據(jù)輸入到所述多個(gè)第一加法區(qū)域。
14.如權(quán)利要求10所述的方法,其中,所述多條控制數(shù)據(jù)控制進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域或者阻止進(jìn)位信號(hào)從在后的第一加法區(qū)域傳送到在前的第一加法區(qū)域,或者如果運(yùn)算類(lèi)型是減法,則所述多條控制數(shù)據(jù)加上用于取二進(jìn)制補(bǔ)碼的值“I”。
15.如權(quán)利要求14所述的方法,其中,當(dāng)一條操作數(shù)據(jù)被分成兩個(gè)段,并且數(shù)據(jù)段被分別輸入在前的第一加法區(qū)域和在后的第一加法區(qū)域時(shí),被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于傳送進(jìn)位信號(hào)的比特[0,1]或[1,0]。
16.如權(quán)利要求14所述的方法,其中,如果運(yùn)算類(lèi)型是加法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于阻止進(jìn)位信號(hào)的比特[0,O]。
17.如權(quán)利要求14所述的方法,其中,如果運(yùn)算類(lèi)型是減法并且兩條不同的操作數(shù)據(jù)被同時(shí)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域,則被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域的控制數(shù)據(jù)是用于加上用于取二進(jìn)制補(bǔ)碼的值“1”的比特[1,1]。
18.如權(quán)利要求10所述的方法,其中,輸入多條控制數(shù)據(jù)的步驟基于被輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域的操作數(shù)據(jù)的類(lèi)型以及運(yùn)算類(lèi)型,通過(guò)數(shù)據(jù)選擇器選擇性地將所述多條控制數(shù)據(jù)輸入到在前的第一加法區(qū)域和在后的第一加法區(qū)域之間的第二加法區(qū)域。
【文檔編號(hào)】G06F7/50GK103970503SQ201410041976
【公開(kāi)日】2014年8月6日 申請(qǐng)日期:2014年1月28日 優(yōu)先權(quán)日:2013年1月28日
【發(fā)明者】俞炯碩, 金碩鎮(zhèn) 申請(qǐng)人:三星電子株式會(huì)社