TW202110106A - 具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器 - Google Patents

具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器 Download PDF

Info

Publication number
TW202110106A
TW202110106A TW109117362A TW109117362A TW202110106A TW 202110106 A TW202110106 A TW 202110106A TW 109117362 A TW109117362 A TW 109117362A TW 109117362 A TW109117362 A TW 109117362A TW 202110106 A TW202110106 A TW 202110106A
Authority
TW
Taiwan
Prior art keywords
differential link
signal receiver
signal
patent application
circuit
Prior art date
Application number
TW109117362A
Other languages
English (en)
Other versions
TWI754288B (zh
Inventor
宋三全
尼可拉 內多維奇
Original Assignee
美商輝達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商輝達公司 filed Critical 美商輝達公司
Publication of TW202110106A publication Critical patent/TW202110106A/zh
Application granted granted Critical
Publication of TWI754288B publication Critical patent/TWI754288B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45179Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using MOSFET transistors as the active amplifying circuit
    • H03F3/45183Long tailed pairs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45179Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using MOSFET transistors as the active amplifying circuit
    • H03F3/45197Pl types
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45179Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using MOSFET transistors as the active amplifying circuit
    • H03F3/4521Complementary long tailed pairs having parallel inputs and being supplied in parallel
    • H03F3/45215Non-folded cascode stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018507Interface arrangements
    • H03K19/018521Interface arrangements of complementary type, e.g. CMOS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • H04L25/0276Arrangements for coupling common mode signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45296Indexing scheme relating to differential amplifiers the AAC comprising one or more discrete capacitive elements, e.g. a transistor coupled as capacitor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45352Indexing scheme relating to differential amplifiers the AAC comprising a combination of a plurality of transistors, e.g. Darlington coupled transistors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45702Indexing scheme relating to differential amplifiers the LC comprising two resistors

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

本發明提供一種信號收發器包括一信號發射器,其驅動該信號發射器之一供應電壓與該供應電壓之小部分之間的一第一差動鏈路,並驅動該供應電壓之該小部分與一參考接地之間的一第二差動鏈路。該信號收發器亦包括一信號接收器,其中該第一差動鏈路耦合到一NMOS電晶體之一閘極節點及一PMOS電晶體之一源極節點;並且該第二差動鏈路耦合到該NMOS電晶體之一源極節點及該PMOS電晶體之一閘極節點。

Description

具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器
在現代深度學習應用中,不同積體電路之間的資料交換可能以每條資料道(lane)每秒高達數百億位元的速率發生,且能量消耗在每位元微微焦耳之範圍內。此高頻率下的通道衰減導致符碼間干擾(Inter-symbol interference,ISI),其限制該通訊速度並需求更多功率進行補償。在本說明書中,「符碼間干擾」意指一通訊符號與其他發生干擾的信號失真形式。
為減輕這些影響,可利用各種等化架構,例如信號發射器預強調、多級(multi-stage)信號接收器連續時間線性等化(Continuous-time linear equalization,CTLE)、及多階(multi-tap)信號接收器決策反饋等化(Decision feedback equalization,DFE),從而導致設計複雜度及高功率消耗。
因此,本領域亟需低功率且低複雜度信號收發器設計,且相較於習知方法而具有顯著等化能力、較大峰值增益、較高峰值頻率、及較少信號接收器雜訊。第一圖之放大器增益圖100描述峰值增益和峰值頻率之範例。
【簡述】
一種用於差動高速鏈路之雙電壓源(Dual-rail)信號收發器前端藉由改良信號雜訊比以減少符碼間干擾(ISI)。在本說明書中,「雙電壓源」(dual-rail)意指發信號裝置,其中使用在兩信號導體之間具有固定共模漂移(Common mode offset)的差動電壓輸送資料。換言之,該共模本身在雙電壓源路徑上不是固定,而是該共模漂移在雙電壓源之間是固定。相較之下,差動對意指具有固定共模的差動發信號。在發射器(信號發射器)端,利用三 個開關(1)在VDD(供應電壓)與VDD/2(或該供應電壓之某其他小部分)之間驅動該差動通道之一第一鏈路(該高信號差動鏈路),及(2)在VDD/2(或該供應電壓之某其他小部分)與參考接地(Reference ground,GND)之間驅動一第二鏈路(該低信號差動鏈路)。在本說明書中,「低信號差動鏈路」(Low-signal differential link)意指差動對具有的共模電壓低於另一者之差動鏈路。在本說明書中,「共模電壓」(Common mode voltage)意指差動對之兩個差動鏈路共同的信號屬性。在本說明書中,「高信號差動鏈路」(High-signal differential link)意指差動對中具有的共模電壓高於另一差動鏈路的差動鏈路。該信號接收器包含(1)一NMOS電晶體,其閘極耦合到該高信號差動鏈路且源極耦合到該低信號差動鏈路;及(2)一PMOS電晶體,其源極耦合到該高信號差動鏈路且閘極耦合到該低信號差動鏈路。在本說明書中,「差動鏈路」(Differential link)意指差動對之一導線。因此,相較於習知差動對信號接收器前端,該全差動信號施加於該信號發射器和信號接收器裝置兩者,從而提供具優勢(如6dB)增益。再者,該信號接收器裝置雜訊具優勢退化(如高達6dB),從而產生優於習知方法的總體(如12dB)信號雜訊比改良。該信號接收器輸出可透過反相器進行位準移位,然後施加進一步峰值,或可在透過習知感測放大器施加限幅(Slicing)之前利用交流(Alternating current,AC)耦合電路。在本說明書中,「感測放大器」(Sense amplifier)意指一種構成感測來自差動對的小電壓差值並將該小差值放大成可透過後續電路識別的邏輯位準的電路。或者,可利用雙電壓源感測放大器直接限幅該信號接收器輸出。
100:放大器增益圖
200:差動鏈路
202:NMOS電晶體
204:汲極節點電阻性元件
206、304:電流源
300:源極退化
302:退化電阻性元件
304:記憶體裝置
400、500:雙電壓源信號接收器前端
402:PMOS電晶體
404:NMOS電晶體
406:NMOS電晶體汲極節點電阻性元件
408:PMOS電晶體源極節點電阻性元件
410:PMOS電晶體汲極節點電阻性元件
412:NMOS電晶體源極節點電阻性元件
502:顯式或對稱有效電感電路
504、506:恆定電流源
600:雙電壓源信號收發器
601:輸入資料
602:發射器開關
604:差動鏈路
606:低雜訊信號接收器
700、702、800:電壓位準漂移電路
900、902、1000、1002:峰值電路
1100:交流(AC)耦合電壓位準漂移電路
1102:電阻性元件反饋
1104:耦合電容性元件
1106、1202、1502:感測放大器
1108、1500:有效電感電路
1200、1300、1400:雙電壓源感測放大器
1302:電流注入電路
1402:校正邏輯
1404、1406:數位類比轉換器(DAC)
1504:PMOS電晶體型有效電感電路
1506:NMOS電晶體型有效電感電路
1600:平行處理單元(PPU)
1602:互連
1604:記憶體
1606:輸入/輸出(I/O)單元
1608:NVLink;高速NVLink
1610:前端單元
1612、1904:排程器單元
1614:任務分配單元
1616:集線器
1618:矩陣開關(XBar)
1700:一般處理叢集(GPC)
1702:指令管線管理器
1704:前光柵操作單元(PROP)
1706:資料處理叢集(DPC)
1708:光柵引擎
1710:M管線控制器(MPC)
1712:繪圖元素引擎
1714:任務分配矩陣開關(WDX)
1716:記憶體管理單元(MMU)
1800:記憶體劃分單元
1802:光柵操作(ROP)
1804:二階(L2)快取
1806:記憶體介面
1900:可編程串流多處理器(SM)
1902:指令快取
1906:分派
1908:暫存器堆
1910:處理核心;核心
1912:特殊功能單元(SFU)
1914:載入/儲存單元(LSU)
1916:互連網路
1918:共用記憶體/一階(L1)快取
2000:處理系統
2002:開關
2004:平行處理模組
2006:中央處理單元(CPU)
2100:示範處理系統
2102:網路介面
2104:主記憶體
2106:顯示裝置
2108:輸入裝置
2110:通訊匯流排
2200:繪圖處理指令管線
2202:輸入資料
2204:輸出資料
2206:資料組合
2208:頂點著色
2210:繪圖元素組合
2212:幾何著色
2214:視埠縮放、踢除及剪裁(SCC)
2216:光柵化
2218:片段著色
2220:光柵操作
為容易標識對任何特定元件或動作之討論,參考號碼中最高有效的一或多個位數意指其中最先引用該元件的圖號。
第一圖例示根據一具體實施例的放大器增益圖100。
第二圖例示根據一具體實施例的習知差動鏈路200。
第三圖例示根據一具體實施例之具有源極退化300的習知差動鏈路。
第四圖例示根據一具體實施例的雙電壓源信號接收器前端 400。
第五圖例示根據一具體實施例的雙電壓源信號接收器前端500。
第六圖例示根據一具體實施例的雙電壓源信號收發器600。
第七圖例示根據一具體實施例之具有電壓位準漂移電路700的信號接收器。
第八圖例示根據另一具體實施例之具有電壓位準漂移電路800的信號接收器。
第九圖例示根據一具體實施例之具有電壓位準漂移電路和峰值電路900的信號接收器。
第十圖例示根據另一具體實施例之具有電壓位準漂移電路和峰值電路1000的信號接收器。
第十一圖例示根據一具體實施例的交流耦合電壓位準漂移電路1100。
第十二圖例示根據一具體實施例之具有雙電壓源感測放大器1200的信號接收器。
第十三圖例示根據一具體實施例的詳細雙電壓源感測放大器1300。
第十四圖例示根據一具體實施例之具有校正的雙電壓源感測放大器1400。
第十五圖例示根據一具體實施例之具有有效電感電路1500的信號接收器。
第十六圖例示根據一具體實施例的平行處理單元1600。
第十七圖例示根據一具體實施例的GPC 1700。
第十八圖例示根據一具體實施例的記憶體劃分單元1800。
第十九圖例示根據一具體實施例的可編程SM 1900。
第二十圖例示根據一具體實施例的處理系統2000。
第二十一圖例示根據一具體實施例的示範處理系統2100。
第二十二圖例示根據一具體實施例的繪圖處理指令管線 2200。
習知NMOS型差動對呈現從汲極節點流到源極節點的雜訊電流in。隨著該源極節點電壓提高,所得到量值in/2之電流從該源極節點流到該汲極節點,其中量值in/2電流之另一電流流過該汲極節點電阻性元件rd。此雜訊電流在該輸出電壓Vno下產生量值inrd之雜訊電壓。在該電路輸出處,從兩個NMOS裝置生成的信號雜訊比如下式所示
Figure 109117362-A0202-12-0004-1
其中gm係該等NMOS裝置之跨導(transconductance)。第二圖例示包括NMOS電晶體202和汲極節點電阻性元件204的習知差動鏈路200。
可利用源極節點退化設計,其中電阻性元件的數值為2Rs(其中Rs代表該源極節點電阻),其中從輸入電壓Vin到輸出電壓Vno的信號增益如下式所示
Figure 109117362-A0202-12-0004-2
該輸出電壓由gmrdvin給定,且該輸出電壓雜訊分量如下式所示
Figure 109117362-A0202-12-0004-3
因此,在該電路輸出處,從兩個NMOS裝置生成的信號雜 訊比相同於方程式1所示。
第三圖例示習知差動鏈路,其中源極退化300在該等NMOS電晶體202之該等源極節點處利用退化電阻性元件302。該等理想電流源304之每一者藉由第二圖中的習知差動鏈路200之理想電流源206之電流之1/2建模。在進一步分析後,在該電路輸出處,從兩個NMOS裝置生成的信號雜訊比顯示為相同於方程式1所示。
第四圖例示一具體實施例中的雙電壓源信號接收器前端400,其包含一PMOS電晶體402、一NMOS電晶體404、一NMOS電晶體汲極節點電阻性元件406、一PMOS電晶體源極節點電阻性元件408、一PMOS電晶體汲極節點電阻性元件410、及一NMOS電晶體源極節點電阻性元件412。
第四圖之改良信號接收器前端利用雙電壓源設計,其中高信號差動鏈路耦合到NMOS電晶體之閘極節點及PMOS電晶體之源極節點,而該低信號差動鏈路耦合到該PMOS電晶體之閘極節點及該NMOS電晶體之源極節點。此設計之差動輸出電壓是2gmrdvin,其係習知差動對之兩倍。該差動電壓輸出雜訊分量如下式所示
Figure 109117362-A0202-12-0005-4
假設2gmrs=1,則該接收器處的雜訊減少一半。這可產生優於習知方法的12dB信號雜訊比改良。
在該電源(VDD)雜訊主導的各實作中,可利用例如第五圖中所示的雙電壓源信號接收器前端500具體實施例。雙電壓源信號接收器前端500之輸入到輸出特性實質上等同於雙電壓源信號接收器前端400。然而,以恆定電流源504取代NMOS電晶體汲極節點電阻性元件406,並以恆定電流源506取代PMOS電晶體汲極節點電阻性元件410。若該等電流源Id之每個之輸出阻抗大於rd許多,則該電源或接地小信號(雜訊)大致相等分散到該等兩個輸出差動鏈路。因此,該單端供應雜訊在該放大器輸出處 轉換成差動雜訊,且若後續(下一級)電路具有高共模排斥(rejection)(其已習知且相對較容易達成),則將排斥該供應雜訊。透過將該阻抗r1實施為顯性(Explicit)或對稱有效電感電路502可進一步改良。
為支援該信號接收器前端之高信號雜訊比對,可利用信號發射器驅動具有兩個不同共模電壓(例如在一鏈路(N)上為¾VDD且在另一鏈路(P)上為¼VDD)的差動鏈路。在一實作中,對於位元「0」,TXN上拉至VDD且TXP下拉至GND,而對於位元「1」,TXN和TXP一起拉曳。在一些具體實施例中,可利用信號接收器終端器(terminator)電阻性元件2RRX在該接收器處提供該等差動鏈路604之間的阻抗匹配。此電阻性元件可省略,例如若1/2gm等於50。信號發射器終端器電阻性元件RTM可能代表該源極節點電阻性元件rs。第六圖例示根據這些設計特徵的雙電壓源信號收發器600之具體實施例,其包括發射器開關602、差動鏈路604、及一低雜訊信號接收器606(藉由包含一很高源極電阻rs(如rs=無限大)的布局(Topology)描述)。
更普遍是,在該信號發射器端,該等差動鏈路之一在高於另一差動鏈路的電壓位準下切換以產生位元。在一具體實施例中,該高信號差動鏈路在½VDD與VDD之間切換以產生位元,而該低信號差動鏈路在½VDD與參考接地之間切換以產生位元。在該信號接收器端,該高信號差動鏈路耦合到NMOS電晶體之閘極節點及PMOS電晶體之源極節點,而該低信號差動鏈路耦合到該NMOS電晶體之源極節點及該PMOS電晶體之閘極節點。所以,直流電從該信號發射器電源流過該高信號差動鏈路,到該信號接收器PMOS電晶體及該信號接收器參考接地。直流電亦從該信號接收器電源流過該信號接收器NMOS電晶體,然後到該信號發射器參考接地。
為產生該所接收到位元,可在接著的階段中利用電壓位準漂移電路或感測放大器。在本說明書中,「電壓位準漂移電路」(voltage level-shifting circuit)意指可改變信號之電壓位準的電路。在一些具體實施例中,可利用具有分開輸入的反相器作為該電壓位準漂移電路。在一具體實施例中,該高輸入軌Vin n和高輸出軌VOPH控制該信號接收器之NMOS電晶體,且該低輸入軌Vin p和低輸出軌VONL控制該信號接收器之PMOS電晶 體。這以較高功率消耗為代價提供較高增益及較寬頻寬。第七圖例示根據此方法具有電壓位準漂移電路700具體實施例的信號接收器,其包括低雜訊信號接收器606和電壓位準漂移電路702。或者,可能施加高軌以控制該等PMOS電晶體,並將低軌施加於消耗較少電流的該等NMOS電晶體,其中信號增益和頻寬相對較小。此後者替代例將該等共模(CM)輸出電壓位準Vmp和Vmn彼此拉近,並可利用附加機制使其實質上等同。第八圖例示根據此後者方法具有電壓位準漂移電路800具體實施例的信號接收器,其包括低雜訊信號接收器606和電壓位準漂移電路702。
為引用峰值,可利用具有反饋電阻性元件RNFB、旁路(shunt)電容性元件CSHUNT、及正反饋電容性元件CPFB的反相器。峰值意指在該信號收發器之所需操作頻率範圍內,該所收回(recovered)位元之振幅/增益提升(該信號眼之加寬)。該反相器輸入耦合到該電壓位準漂移電路之該等輸出節點Vmp和Vmn。該等反相器交叉耦合,且每個包含電阻性和電容性反饋元件。在直流電下,假設該反相器輸入和輸出之直流操作點為VDD/2且該反相器之輸入阻抗為1/(gmp+gmn),則沒有電流通過RNFB,其中gmp和gmn分別係每個反相器中所利用的PMOS電晶體和NMOS電晶體之跨導。在交流電流,該反相器輸出旁路到GND,且該輸入阻抗變成RNFB。因此,達成(gmp+gmn)RNFB之峰值增益。該正反饋電容性元件CPFB藉由較低峰值頻率進一步改良該峰值增益。第九圖例示在一具體實施例中具有電壓位準漂移電路和峰值電路900的信號接收器,其包括低雜訊信號接收器606、電壓位準漂移電路702、及峰值電路902。
可利用峰值電路1002之替代具體實施例產生與峰值電路902相同的直流和交流增益(參見第十圖之具有電壓位準漂移電路和峰值電路1000的信號接收器)。然而,此具體實施例導致更多雜訊,因為來自峰值電路1002的雜訊電流直接注入到該等輸出節點Vmp和Vmn
一交流耦合電壓位準漂移電路可用作為一輸出濾波器,以藉由具有電阻性反饋的反相器重建該直流電。一耦合電容性元件可利用,其具有經過選擇可實現該實作所需長度之0和1之序列的電容。該原始低頻率信號可濾除並重建該全新低頻率信號,此導致附加雜訊並減少該信號雜 訊比。根據這些特徵的交流耦合電壓位準漂移電路1100之具體實施例在第十一圖中顯示,其包括具有電阻性元件反饋1102、耦合電容性元件1104的該等反相器,及一感測放大器1106。兩差動鏈路可利用有效電感,例如所述的有效電感電路1108。
在一具體實施例中,利用差動感測放大器,並隨著由時脈信號驅動而在預設模式和評估模式兩者下操作。在該預設模式下,該等輸出VON和VOP之每一者設定為½VDD。在該評估模式下,將該高信號差動鏈路輸入VOPL與其低通版本VOPL_FLT比較,並將該高信號差動鏈路輸入VOPH與其低通版本VOPH_FLT比較。舉例來說,若VOPL>VOPL_FLT且VONL<VONL_FLT,則VOP和VON分別設置成VDD和GND。電流注入電路(Current bleeding circuit)可用來進一步減少該輸入相關雜訊(Input referred noise)。在本說明書中,「電流注入電路」意指可將電流排出另一電路的電路。具有利用此感測放大器1202的雙電壓源感測放大器1200的信號接收器之具體實施例在第十二圖中例示。一具體實施例中的雙電壓源感測放大器1300在第十三圖中更詳細例示,其包括可利用的電流注入電路1302。
該差動感測放大器亦可透過重複使用漂移補償迴路(loop)(現代串行鏈路中常見的電路)實施。在此方法中,修改該感測放大器以使可控制參考電壓能夠下拉和上拉差動對,並在校正期間關閉迴路以收斂至校正目標,例如以接收相等數量之邏輯零和一,正如在一般校正架構中所進行。除了此習知演算法以外,該校正演算法亦產生互補式下拉和上拉校正代碼或模擬電壓。該等校正代碼或電壓藉由從該感測放大器產生的任何新增漂移,用作該等輸入電壓之該等平均值。利用這些設計特徵的雙電壓源感測放大器1400之具體實施例在第十四圖中例示,其包括校正邏輯1402、用於VON的數位類比轉換器(Digital-to-analog Converter,DAC)1404、及用於VOP的數位類比轉換器1406。
舉例來說,在校正期間,雙電壓源感測放大器1400之該等輸入可能分別連接到3VDD/4和VDD/4並掃描(sweep)該校正配置,以使VON/VOP對於該等輸入之50%為1且對於該等輸入之50%為0。
一PMOS電晶體型有效電感電路可用來將Vin n拉高,且 NMOS電晶體型有效電感電路可用來將Vin p拉低,以使該輸入NMOS電晶體和PMOS電晶體始終導通(ON)。在本說明書中,「有效電感電路」(Active inductive circuit)意指使用電晶體和電容器實施以達成電感性阻抗的電感電路。這使得該信號接收器之輸入阻抗在整個大範圍輸入電壓內維持相對恆定。然而,另一有效電感電路可用於使該信號接收器載入(Load)以提供峰值(參見第五圖)。電容器可部署在該PMOS型有效電感電路周圍並以VDD為參考,以降低供應雜訊之影響。第十五圖例示根據這些設計特徵之具有有效電感電路1500的信號接收器之具體實施例,其包括一感測放大器1502、PMOS電晶體型有效電感電路1504、及NMOS電晶體型有效電感電路1506。
在描述連同利用繪圖處理單元的系統所使用的該等所揭示具體實施例時,下列說明可能使用如下所示的一些英文縮寫字:
˙「DPC」意指「資料處理叢集」(Data Processing Clusters);
˙「GPC」意指「一般處理叢集」(General Processing Cluster);
˙「I/O」意指「輸入/輸出」(Input/Output);
˙「L1快取」意指「一階快取」(Level one cache);
˙「L2快取」意指「二階快取」(Level two cache);
˙「LSU」意指「載入/儲存單元」(Load/Store Unit);
˙「MMU」意指「記憶體管理單元」(Memory Management Unit);
˙「MPC」意指「M管線控制器」(M-pipe Controller);
˙「PPU」意指「平行處理單元」(Parallel Processing Unit);
˙「PROP」意指「前光柵操作單元」(Pre-raster Operations Unit);
˙「ROP」意指「光柵操作」(Raster Operations);
˙「SFU」意指「特殊功能單元」(Special Function Unit);
˙「SM」意指「串流多處理器」(Streaming Multiprocessor);
˙「視埠SCC」意指「視埠縮放、踢除及剪裁」(Viewport Scale,Cull,and Clip);
˙「WDX」意指「任務分配矩陣開關」(Work Distribution Crossbar);及
˙「XBar」意指「矩陣開關」(crossbar)。
平行處理單元
該等所揭示電路之各具體實施例可用於繪圖處理單元、或繪圖處理單元與通用或專用處理器、或前述任一者與資料通訊網路(矩陣開關1618、NVLink 1608等)之間的通訊。從下列圖式和說明,將明白本發明之具體實施例的應用。
第十六圖例示根據具體實施例的平行處理單元1600。在一具體實施例中,平行處理單元1600係實施在一或多個積體電路裝置上的多執行緒處理器(Multi-threaded processor)。平行處理單元1600係設計成平行處理許多執行緒的延遲隱藏架構。執行緒(如執行之執行緒)係構成由平行處理單元1600執行的指令集之實例化。在一具體實施例中,平行處理單元1600係一構成實施供處理三維(Three-dimensional,3D)繪圖資料的繪圖繪圖管線(Graphics rendering pipeline)之繪圖處理單元(Graphics processing unit,GPU),以產生用於顯示在液晶顯示器(Liquid crystal display,LCD)裝置等顯示裝置上的二維(two-dimensional,2D)影像資料。在其他各具體實施例中,可利用平行處理單元1600進行通用操作。儘管本說明書為了例示性目的而提供一示範平行處理器,但應深切注意,闡述此處理器僅為了例示性目的,並可採用任何處理器補充及/或代換。
一或多個平行處理單元1600模組可能構成加速數千次之高性能操作(High Performance Computing,HPC)、資料中心、及機器學習應用。平行處理單元1600可構成加速眾多深度學習系統和應用,其包括自走式車輛平台、深度學習、高準確度言語、影像、及文字辨識系統、智慧視訊分析、分子模擬、藥物開發、疾病診斷、天氣預測、大數據分析、天文學、分子動力學模擬、金融模型化、機器人技術、工廠自動化、即時語言翻譯、線上搜尋最佳化、及個人化使用者推薦,及其類似物。
如第十六圖中所示,平行處理單元1600包括一I/O單元1606、一前端單元1610、一排程器單元1612、一任務分配單元1614、一集線器1616、一矩陣開關1618、一或多個GPC 1700模組、及一或多個記憶體劃分單元1800模組。平行處理單元1600可經由一或多個高速NVLink 1608互連連接到主機處理器或其他平行處理單元1600模組。平行處理單元 1600可經由互連1602連接到主機處理器或其他周邊裝置。平行處理單元1600亦可能連接到包含若干記憶體1604裝置的局部記憶體。在一具體實施例中,該局部記憶體可包含若干動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)裝置。該等DRAM裝置可構成高頻寬記憶體(High-bandwidth Memory,HBM)子系統,其中每個裝置內堆疊多個DRAM晶粒。
NVLink 1608互連使得系統成可塑性並包括結合一或多個中央處理單元(CPU)的一或多個平行處理單元1600模組,支援該等平行處理單元1600模組與CPU之間的快取一致性(coherence),及CPU主控。資料及/或命令可透過NVLink 1608通過集線器1616發射往/返於平行處理單元1600之其他單元,例如一或多個複製引擎、視訊編碼器、視訊解碼器、電源管理單元等(未明確顯示)。NVLink 1608將在第二十圖中更詳細說明。
I/O單元1606構成藉由互連1602從主機處理器(未顯示)發射和接收通訊(如命令、資料等)。I/O單元1606可經由互連1602或通過一或多個中間裝置(如記憶體橋)直接與該主機處理器通訊。在一具體實施例中,I/O單元1606可經由互連1602而與一或多個其他處理器(如一或多個平行處理單元1600模組)通訊。在一具體實施例中,I/O單元1606實施用於藉由PCIe匯流排通訊的快速周邊組件互連(Peripheral Component Interconnect Express,PCIe)介面,且該互連1602係PCIe匯流排。在替代性具體實施例中,I/O單元1606可實施用於與外部裝置通訊的其他類型之已習知介面。
I/O單元1606解碼經由互連1602接收的封包。在一具體實施例中,該等封包代表構成使平行處理單元1600執行各種操作的命令。I/O單元1606可按指定的命令將該等經過解碼命令發送到平行處理單元1600之各種其他單元。舉例來說,可將一些命令發送到前端單元1610。可將其他命令發送到集線器1616或平行處理單元1600之其他單元,例如一或多個複製引擎、視訊編碼器、視訊解碼器、電源管理單元等(未明確顯示)。換言之,I/O單元1606構成在平行處理單元1600之該等各種邏輯單元之間和之中決定通訊路由。
在一具體實施例中,由該主機處理器執行的程式在緩衝區(其將工作負載(Workload)提供給用於處理的平行處理單元1600)中編碼命令流。工作負載可包含數個指令、及將透過該等指令處理的資料。該緩衝區係記憶體中可由該主機處理器和平行處理單元1600兩者存取(如讀取/寫入)的區域。舉例來說,I/O單元1606可能構成存取經由藉由互連1602發射的記憶體請求連接到互連1602的系統記憶體中的緩衝區。在一具體實施例中,該主機處理器將該命令流寫入該緩衝區,然後將指向該命令流之起始的指標發送到平行處理單元1600。前端單元1610接收指向一或多個命令流的指標。前端單元1610管理該等一或多個串流,從而從該等串流讀取命令,並將命令轉送到平行處理單元1600之該等各種單元。
前端單元1610耦合到排程器單元1612,其構成該等各種GPC 1700模組以處理該等一或多個串流所定義的任務。該排程器單元1612構成追蹤有關所述排程器單元1612所管理該等各種任務的狀態資訊。該狀態可指出將任務分派給哪個GPC 1700、該任務是否有效或無效、有關該任務的優先程度等。排程器單元1612管理在該等一或多個GPC 1700模組上的複數個任務執行。
排程器單元1612耦合到任務分配單元1614,其構成分派(Dispatch)用於在該等GPC 1700模組上執行的任務。任務分配單元1614可追蹤從排程器單元1612接收的若干所排程任務。在一具體實施例中,任務分配單元1614管理用於該等GPC 1700模組之每一者的待處理(pending)任務池(Pool)和有效任務池。該待處理任務池可包含若干時槽(Slot)(如32個時槽),其內含經過分派將透過特定GPC 1700處理的任務。該有效任務池可包含若干時槽(如4個時槽),其用於正透過該等GPC 1700模組有效處理的任務。隨著GPC 1700完成任務之執行,將該任務從用於GPC 1700的有效任務池逐出,並針對在GPC 1700上執行而選擇和排程來自該待處理任務池的其他任務之一者。若有效任務已在GPC 1700上閒置(如正等候解決資料相依性時),則可將該有效任務從GPC 1700逐出並返回該待處理任務池,同時針對在GPC 1700上執行而選擇和排程該待處理任務池中的另一任務。
任務分配單元1614經由矩陣開關1618與該等一或多個 GPC 1700模組通訊。矩陣開關1618係將平行處理單元1600之許多單元耦合到平行處理單元1600之其他單元的互連網路。舉例來說,矩陣開關1618可構成將任務分配單元1614耦合到特定GPC1700。儘管未明確顯示,但平行處理單元1600之一或多個其他單元亦可經由集線器1616連接到矩陣開關1618。
該等任務由排程器單元1612管理,並由任務分配單元1614分送到GPC1700。GPC 1700構成處理該任務,並產生結果。該等結果可由GPC 1700內的其他任務使用、經由矩陣開關1618路由到不同GPC 1700,或儲存在記憶體1604中。該等結果可經由該等記憶體劃分單元1800模組(其實施用於往/返記憶體1604讀取和寫入資料的記憶體介面)寫入記憶體1604。該等結果可經由NVLink 1608發送到另一平行處理單元1600或CPU。在一具體實施例中,平行處理單元1600包括數量U個記憶體劃分單元1800模組,其等於耦合到平行處理單元1600的分離且相異記憶體1604裝置之數量。記憶體劃分單元1800將在第十八圖更詳細說明。
在一具體實施例中,主機處理器執行驅動程式內核,其實施使得在該主機處理器上執行的一或多個應用能夠為了在平行處理單元1600上執行而排程操作的應用程式介面(Application programming interface,API)。在一具體實施例中,多個操作應用程式由平行處理單元1600同時執行,且平行處理單元1600針對該等多個操作應用程式提供隔離、服務品質(Quality of Service,QoS)、及獨立位址空間。應用程式可產生指令(如API呼叫),其使該驅動程式內核產生用於由平行處理單元1600執行的一或多個任務。該驅動程式內核將任務輸出到將透過平行處理單元1600處理的一或多個串流。每個任務可包含一或多個群組的相關執行緒,其在本說明書中稱為執行緒束(Warp)。在一具體實施例中,執行緒束包含32個可平行執行的相關執行緒。協作執行緒可指包括指令以執行該任務的複數個執行緒,並可通過共用記憶體交換資料。執行緒和協作執行緒將在第十九圖更詳細說明。
根據具體實施例,第十七圖例示第十六圖之平行處理單元1600之GPC 1700。如第十七圖中所示,每個GPC 1700包括數個用於處理 任務的硬體單元。在一具體實施例中,每個GPC 1700包括一指令管線管理器1702、一PROP 1704、一光柵引擎1708、一WDX 1714、一MMU 1716、及一或多個DPC 1706。將明白,替代第十七圖所示該等單元或除此以外,第十七圖之GPC 1700可包括其他硬體單元。
在一具體實施例中,GPC 1700之操作由指令管線管理器1702控制。指令管線管理器1702管理用於處理分配到GPC 1700的任務的該等一或多個DPC 1706模組之組態。在一具體實施例中,指令管線管理器1702可建構該等一或多個DPC 1706模組之至少一者,以實施繪圖繪圖指令管線之至少一部分。舉例來說,一DPC 1706可構成在可編程SM 1900上執行頂點著色器程式。指令管線管理器1702亦可構成將從任務分配單元1614接收的封包路由到GPC 1700內的該等適當邏輯單元。舉例來說,可將一些封包路由到PROP 1704及/或光柵引擎1708中的固定功能硬體單元,而可將其他封包路由到用於透過繪圖元素(Primitive)引擎1712或可編程SM 1900處理的該等DPC 1706模組。在一具體實施例中,指令管線管理器1702可構成該等一或多個DPC 1706模組之至少一者,以實施神經網路模型及/或操作指令管線。
PROP 1704構成將光柵引擎1708和該等DPC 1706模組所產生的資料路由到光柵操作(Raster Operation,ROP)單元,結合第十八圖更詳細說明。PROP 1704亦可構成為了顏色混合而進行最佳化、組織像素資料、進行位址轉譯、及其類似物。
光柵引擎1708包括若干固定功能硬體單元,其構成進行各種光柵操作。在一具體實施例中,光柵引擎1708包括一設置引擎、一粗略光柵引擎、一踢除引擎、一剪裁引擎、一精細光柵引擎、及一色塊(Tile)聯合引擎。該設置引擎接收經過變換頂點,並產生與該等頂點所定義幾何繪圖元素相關聯的平面方程式。將該等平面方程式發送到該粗略光柵引擎,以產生用於該繪圖元素的涵率資訊(如用於色塊的x、y涵蓋遮罩(Mask))。將該粗略光柵引擎之輸出發送到該踢除引擎(其中踢除有關z測試失敗的繪圖元素之片段),並發送到剪裁引擎(其中剪裁位在視體(Viewing frustum)外部的片段)。可將經過剪裁和踢除的那些片段傳遞到該精細光柵引擎,以基 於該設定引擎所產生的該等平面方程式產生該等像素片段之屬性。光柵引擎1708之輸出包含多個片段,其將例如透過實施在DPC 1706內的片段著色器處理。
包括在GPC 1700中的每個DPC 1706包括一MPC 1710、一繪圖元素引擎1712、及一或多個可編程SM 1900模組。MPC 1710控制DPC 1706之操作,從而將從指令管線管理器1702接收的封包路由到DPC 1706中的該等適當單元。舉例來說,可將與頂點相關聯的封包路由到繪圖元素引擎1712,其構成提取(fetch)與來自記憶體1604的頂點相關聯的頂點屬性。相對而言,可將有關著色器程式的封包發送到可編程SM 1900。
可編程SM 1900包含一可程式設計串流處理器,其構成處理若干執行緒所代表的任務。每個可編程SM 1900為多執行緒,並構成並行執行來自特定執行緒群組的複數個執行緒(如32個執行緒)。在一具體實施例中,可編程SM 1900實施單指令多資料(Single-Instruction,Multiple-Data,SIMD)架構,其中執行緒群組(如一執行緒束)中的每個執行緒構成基於相同指令集處理不同資料集。該執行緒群組中的所有執行緒執行相同指令。在另一具體實施例中,可編程SM 1900實施單指令多執行緒(Single-Instruction,Multiple Thread,SIMT)架構,其中執行緒群組中的每個執行緒構成基於相同指令集處理不同資料集,但其中允許該執行緒群組中的個別執行緒在執行期間發散。在一具體實施例中,程式計數器、呼叫堆疊、及執行狀態針對每個執行緒束而維持,從而當該執行緒束內的執行緒分離時,實現執行緒束之間的並行及執行緒束內的串列執行。在另一具體實施例中,程式計數器、呼叫堆疊、及執行狀態針對每個個別執行緒而維持,從而在執行緒束內和之間實現所有執行緒之間的相等並行。當執行狀態為了每個個別執行緒而維持時,執行相同指令的執行緒可針對最大效率而收斂並平行執行。可編程SM 1900將在下面第十九圖更詳細說明。
MMU 1716提供GPC 1700與記憶體劃分單元1800之間的介面。MMU 1716可提供虛擬位址之轉譯為實體位址、記憶體保護、及記憶體請求之仲裁。在一具體實施例中,MMU 1716提供用於在記憶體1604中進行虛擬位址之轉譯為實體位址的一或多個轉譯後備緩衝區(Translation Lookaside Buffers,TLBs)。
根據一具體實施例,第十八圖例示第十六圖之平行處理單元1600之記憶體劃分單元1800。如第十八圖中所示,記憶體劃分單元1800包括一ROP 1802、一L2快取1804、一記憶體介面1806。記憶體介面1806耦合到記憶體1604。記憶體介面1806可為了高速資料傳輸而實施32、64、128、1024位元資料匯流排,或其類似物。在一具體實施例中,平行處理單元1600併入U個記憶體介面1806模組,每對記憶體劃分單元1800模組有一記憶體介面1806,其中每對記憶體劃分單元1800模組連接到一對應記憶體1604裝置。舉例來說,平行處理單元1600可連接到多達Y個記憶體1604裝置,例如高頻寬記憶體堆疊或繪圖雙倍資料速率的版本5的同步動態隨機存取記憶體(Graphics double-data-rate,version 5,synchronous dynamic random access memory,GDDR5 SDRAM)、或其他類型之持續儲存器。
在一具體實施例中,記憶體介面1806實施HBM2記憶體介面,且Y等於U的一半。在一具體實施例中,該等HBM2記憶體堆疊位在與平行處理單元1600相同的實體封裝上,從而提供與習知GDDR5 SDRAM系統相比可觀的功率和面積節省。在一具體實施例中,每個HBM2堆疊包括四個記憶體晶粒,且Y等於4,其中HBM2堆疊每個晶粒包括兩個128位元通道,總共8個通道及1024位元之資料匯流排寬度。
在一具體實施例中,記憶體1604支援單錯更正雙錯偵測(Single-Error Correcting Double-Error Detecting,SECDED)錯誤校正碼(Error Correction Code,ECC),以保護資料。ECC為了操作對資料毀損敏感的應用而提供較高可靠度。在平行處理單元1600模組處理非常大型資料集及/或長時間執行應用程式的大規模叢集操作環境中,可靠度尤其重要。
在一具體實施例中,平行處理單元1600實施多級記憶體階層。在一具體實施例中,記憶體劃分單元1800支援統一記憶體(Unified memory)以提供用於CPU和平行處理單元1600記憶體的單統一虛擬位址空間,從而實現虛擬記憶體系統之間的資料共用。在一具體實施例中,追蹤平行處理單元1600存取位在其他處理器上的記憶體之頻率,以確保將記憶體頁移到正更加頻繁存取該等頁的平行處理單元1600之實體記憶體。在一 具體實施例中,NVLink 1608支援位址轉譯服務,從而允許平行處理單元1600直接存取CPU之分頁表(Page table),並由平行處理單元1600提供對CPU記憶體的完全存取。
在一具體實施例中,複製引擎在多個平行處理單元1600模組之間或在平行處理單元1600模組與CPU之間傳輸資料。該等複製引擎可為了未映射至該等分頁表中的位址而產生分頁錯誤(Page fault)。然後,記憶體劃分單元1800可服務該等分頁錯誤,從而將該等位址映射至該頁面表中,之後該複製引擎可進行該傳輸。在習知系統中,為了多個處理器之間的多個複製引擎操作而將記憶體固定(如不可分頁),從而實質上減少該可用記憶體。藉由硬體分頁錯誤,可將位址傳遞到該等複製引擎而無需擔心該等記憶體頁是否駐留,且該複製處理透通。
來自記憶體1604或其他系統記憶體的資料可由記憶體劃分單元1800提取,並儲存在位在晶片上並在該等各種GPC 1700模組之間共用的L2快取1804中。如所示,每個記憶體劃分單元1800包括有關一對應記憶體1604裝置的L2快取1804之一部分。然後,可在該等GPC 1700模組內的各種單元中實施較低階快取。舉例來說,該等可編程SM 1900模組之每一者可實施L1快取。該L1快取係專用於特定可編程SM 1900的專用記憶體。可提取來自L2快取1804的資料,並將其儲存在用於在該等可編程SM 1900模組之該等功能單元中處理的該等L1快取之每一者。L2快取1804耦合到記憶體介面1806和矩陣開關1618。
ROP 1802執行有關像素顏色的繪圖光柵操作,例如顏色壓縮、像素混合、及其類似物。ROP 1802亦結合光柵引擎1708實施深度測試,以從光柵引擎1708之踢除引擎接收有關像素片段的取樣位置之深度。將該深度與對照有關該片段的取樣位置之深度緩衝區中的對應深度進行測試。若該片段通過針對該取樣位置的深度測試,則ROP 1802更新該深度緩衝區並將該深度測試之結果發送到光柵引擎1708。將可瞭解,記憶體劃分單元1800模組之數量可不同於GPC 1700模組之數量,因此,每個ROP 1802可耦合到該等GPC 1700模組之每一者。ROP 1802追蹤從該等不同GPC 1700模組接收的封包,並判定哪個GPC 1700(即ROP 1802所產生的結果 所路由到者)通過矩陣開關1618。儘管ROP 1802包括在第十八圖所示的記憶體劃分單元1800內,但在其他具體實施例中,ROP 1802可在記憶體劃分單元1800之外部。舉例來說,ROP 1802可駐留在GPC 1700或另一單元中。
根據具體實施例,第十九圖例示第十七圖之可編程SM 1900。如第十九圖中所示,可編程SM 1900包括一指令快取1902、一或多個排程器單元1904模組(如,例如排程器單元1612)、一暫存器堆1908、一或多個處理核心1910模組、一或多個SFU 1912模組、一或多個LSU 1914模組、一互連網路1916、及一共用記憶體/L1快取1918。
如前述,任務分配單元1614分派用於在平行處理單元1600之該等GPC 1700模組上執行的任務。將該等任務分配到GPC 1700內的特定DPC 1706,且若該任務與著色器程式相關聯,則可將該任務分配到可編程SM 1900。排程器單元1612從任務分配單元1614接收該等任務,並管理用於分派給可編程SM 1900的一或多個執行緒區塊的指令排程。排程器單元1904排程用於作為平行執行緒之執行緒束執行的執行緒區塊,其中每個執行緒區塊分配至少一執行緒束。在一具體實施例中,每個執行緒束執行32個執行緒。排程器單元1904可能管理複數個不同執行緒區塊,從而在每個時脈週期期間將該等執行緒束分配到該等不同執行緒區塊,然後將來自該等複數個不同協作群組的指令分派到該等各種功能單元(如核心1910模組、SFU 1912模組、及LSU 1914模組)。
協作群組係用於組織通訊執行緒(其讓開發人員能夠表達執行緒正在通訊的精細度)之群組的編程模型,從而實現更豐富、更有效平行分解之表達。協作啟動API支援用於平行演算法之執行的執行緒區塊之間的同步。習知編程模型提供用於同步協作執行緒的單一簡單構造:橫跨執行緒區塊之所有執行緒(如syncthreads( )函式)的屏障。然而,程式設計師通常希望以較小執行緒區塊精細度定義執行緒之群組並在該等所定義群組內同步,以實現形式為集體群組範圍功能介面的較高性能、設計靈活性、及軟體重複使用。
協作群組讓程式設計師能夠以子區塊(如小到單一執行緒) 和多區塊精細度明確定義執行緒之群組,並進行集體操作,例如在協作群組中的該等執行緒上同步。該編程模型支援橫跨軟體邊界的無障礙組成(Clean composition),以使程式庫(Library)和公用函式(Utility function)可在其局部背景內安全同步,而無需作出關於收斂的假設。協作群組繪圖元素實現協作平行性(Parallelism)之新模式,其包括生產者消費者平行性、機會主義平行性、及橫跨執行緒區塊之整個網格的總體同步。
分派1906單元構成在排程器單元1904內,以將指令發送到該等功能單元之一或多者。在一具體實施例中,排程器單元1904包括兩個分派1906單元,其使來自相同執行緒束的兩不同指令能夠在每個時脈週期期間進行分派。在替代性具體實施例中,每個排程器單元1904可包括一單一分派1906單元或附加分派1906單元。
每個可編程SM 1900包括一暫存器堆(Register file)1908,其提供一組用於可編程SM 1900之該等功能單元的暫存器。在一具體實施例中,在該等功能單元之每個之間劃分暫存器堆1908,使得每個功能單元分配暫存器堆1908之專用部分。在另一具體實施例中,在由可編程SM 1900執行的該等不同執行緒束之間劃分暫存器堆1908。暫存器堆1908提供用於連接到該等功能單元之該等資料路徑的操作元(Operand)的暫時儲存器。
每個可編程SM 1900包含L個處理核心1910模組。在一具體實施例中,可編程SM 1900包括大量(如128等)相異處理核心1910模組。每個核心1910可包括一完全指令管線、單精確度、雙倍精確度、及/或混合精確度處理單元,其包括一浮點算術邏輯單元和一整數算術邏輯單元。在一具體實施例中,該等浮點算術邏輯單元實施浮點算術之IEEE 754-2008標準。在一具體實施例中,處理核心1910模組包括64個單精確度(32位元)浮點核心、64個整數核心、32個雙倍精確度(64位元)浮點核心、及8個張量核心(Tensor core)。
張量核心構成進行矩陣操作,且在一具體實施例中,一或多個張量核心包括在該等核心1910模組中。特別是,該等張量核心構成進行深度學習矩陣算術,例如用於神經網路訓練和推論的捲積(Convolution)操作。在一具體實施例中,每個張量核心在4×4矩陣上操作,並進行矩陣乘 算和累加操作D=A'B+C,其中A、B、C、及D係4×4矩陣。
在一具體實施例中,該等矩陣乘算輸入A和B為16位元浮點矩陣,而該等累加矩陣C和D可為16位元浮點或32位元浮點矩陣。張量核心對具有32位元浮點累加的16位元浮點輸入資料進行操作。該16位元浮點乘算需要64次操作並產生完全精確度乘積,其隨後使用具有用於4x4x4矩陣乘算的其他中間乘積的32位元浮點加法進行累加。在實作上,使用張量核心進行由這些較小要素構成的較大的二維或較高維度的矩陣操作。API(例如CUDA 9 C++ API)揭露專用矩陣載入、矩陣乘算和累加、及矩陣儲存操作,以有效使用來自CUDA-C++程式的張量核心。在該CUDA階級處,該執行緒束階級介面假設跨越該執行緒束之所有32個執行緒的16x16大小矩陣。
每個可編程SM 1900亦包含執行特殊功能(如屬性評估、互反平方根、及其類似物)的M個SFU 1912模組。在一具體實施例中,該等SFU 1912模組可包括一構成遍歷一階層式樹狀資料結構的樹狀走訪單元(Tree traversal unit)。在一具體實施例中,該等SFU 1912模組可包括紋理單元,其構成進行紋理映射過濾操作。在一具體實施例中,該等紋理單元構成從記憶體1604載入紋理映射(如圖素(Texel)之2D陣列)並取樣該等紋理映射,以生成用於在由可編程SM 1900執行的著色器程式中使用的所取樣紋理值。在一具體實施例中,該等紋理映射儲存在共用記憶體/L1快取1918中。該等紋理單元使用MIP映射(Mip-map)(如細節不同階級之紋理映射)實施紋理操作(例如過濾操作)。在一具體實施例中,每個可編程SM 1900包括兩個紋理單元。
每個可編程SM 1900亦包含N個LSU 1914模組,其在共用記憶體/L1快取1918與暫存器堆1908之間實施載入和儲存操作。每個可編程SM 1900包括一互連網路1916,其將該等功能單元之每一者連接到暫存器堆1908,並將LSU 1914連接到暫存器堆1908和共用記憶體/L1快取1918。在一具體實施例中,互連網路1916係矩陣開關,其可構成將該等功能單元之任一者連接到暫存器堆1908中的該等暫存器之任一者,並將該等LSU 1914模組連接到暫存器堆1908及共用記憶體/L1快取1918中的記憶 體位置。
共用記憶體/L1快取1918係晶片上記憶體之陣列,其允許可編程SM 1900與繪圖元素引擎1712之間以及可編程SM 1900中的執行緒之間的資料儲存和通訊。在一具體實施例中,共用記憶體/L1快取1918包含128KB之儲存容量,並在從可編程SM 1900到記憶體劃分單元1800的路徑中。可使用共用記憶體/L1快取1918快取讀取和寫入。共用記憶體/L1快取1918、L2快取1804、及記憶體1604之一或多者為備份儲存。
將資料快取和共用記憶體功能組合到單一記憶體區塊中,為兩類型之記憶體存取提供最佳整體性能。該容量可由未使用共用記憶體的程式用作快取。舉例來說,若共用記憶體構成使用該容量之一半,則紋理和載入/儲存操作可使用該剩餘容量。共用記憶體/L1快取1918內的整合使得共用記憶體/L1快取1918能夠用作用於串流資料的高傳輸量管道,而同時向頻繁重複使用的資料提供高頻寬且低延遲存取。
當針對通用平行操作而建構時,可使用比繪圖處理更簡單的配置。具體而言,繞過第十六圖中所示該等固定功能繪圖處理單元,從而建立更簡單許多的編程模型。在該通用平行操作配置中,任務分配單元1614直接將執行緒之區塊分派和分散給該等DPC 1706模組。區塊中的該等執行緒執行相同程式,從而使用該計算中的獨特執行緒ID確保每個執行緒產生獨特結果、使用可編程SM 1900執行該程式並進行計算、使用共用記憶體/L1快取1918在執行緒之間進行通訊,並使用LSU 1914通過共用記憶體/L1快取1918和記憶體劃分單元1800讀取和寫入總體記憶體。當針對通用平行操作而建構時,可編程SM 1900亦可寫入排程器單元1612可用於在該等DPC 1706模組上啟動新操作的命令。
平行處理單元1600可包括在桌上型電腦、膝上型電腦、平板電腦、伺服器、超級電腦、智慧型手機(如無線、手持式裝置)、個人數位助理(Personal Digital Assistant,PDA)、數位相機、車輛、頭戴式顯示器、手持式電子裝置、及其類似物中。在一具體實施例中,平行處理單元1600體現在單一半導體基板上。在另一具體實施例中,平行處理單元1600與一或多個其他裝置(例如附加平行處理單元1600模組、記憶體1604、精簡指 令集電腦(Reduced Instruction Set Computer,RISC)CPU、記憶體管理單元(Memory Management Unit,MMU)、數位類比轉換器(DAC)、及其類似物)一起包括在單晶片系統(System-on-a-chip,SoC)中。
在一具體實施例中,可在包括一或多個記憶體裝置304的繪圖卡上包括平行處理單元1600。該繪圖卡可構成介接在桌上型電腦之主機板上的PCIe插槽。在又另一具體實施例中,平行處理單元1600可為包括在該主機板之晶片組中的整合式繪圖處理單元(Integrated Graphics Processing Unit,iGPU)或平行處理器。
示範操作系統
隨著開發人員在應用程式(例如人工智慧操作)中揭露和充分運用更多平行性,在各種產業中使用具有多個GPU和CPU的系統。具有數萬個以上操作節點的高性能GPU加速系統部署在資料中心、研究設施、及超級電腦中,以解決越來越大的問題。隨著該等高性能系統內的處理裝置之數量增加,該等通訊和資料傳輸機制需要縮放以支援該所增加的頻寬。
根據具體實施例,第二十圖係使用第十六圖之平行處理單元1600實施的處理系統2000之概念圖。處理系統2000每個包括一CPU 2006、開關2002、及多個平行處理單元1600模組,以及各自記憶體1604模組。NVLink 1608提供該等平行處理單元1600模組之每一者之間的高速通訊鏈路。儘管在第二十圖中例示特定數量之NVLink 1608和互連1602連接,但到每個平行處理單元1600和CPU 2006的連接之數量可能變化。開關2002介接在互連1602與CPU 2006之間。該等平行處理單元1600模組、記憶體1604模組、及NVLink 1608連接可能置放在單一半導體平台上,以形成平行處理模組2004。在一具體實施例中,開關2002支援兩或多個協定,以介接在各種不同的連接及/或鏈路之間。
在另一具體實施例(未顯示)中,NVLink 1608提供該等平行處理單元1600模組之每一者與CPU 2006之間的一或多個高速通訊鏈路,且開關2002介接在互連1602與該等平行處理單元1600模組之每一者之間。該等平行處理單元1600模組、記憶體1604模組、及互連1602可置放 在單一半導體平台上,以形成平行處理模組2004。在又另一具體實施例(未顯示)中,互連1602提供該等平行處理單元1600模組之每一者與CPU 2006之間的一或多個通訊鏈路,且開關2002使用NVLink 1608介接在該等平行處理單元1600模組之間,以在該等平行處理單元1600模組之間提供一或多個高速通訊鏈路。在另一具體實施例(未顯示)中,NVLink 1608通過開關2002提供該等平行處理單元1600模組與CPU 2006之間的一或多個高速通訊鏈路。在又另一具體實施例(未顯示)中,互連1602直接提供該等平行處理單元1600模組之每一者之間的一或多個通訊鏈路。該等NVLink 1608高速通訊鏈路之一或多個可使用與NVLink 1608相同的協定,實施為實體NVLink互連或擇一實施為晶片上或晶粒上互連。
在本發明說明之環境下,單一半導體平台可意指在晶粒或晶片上製造的基底單一半導體型積體電路。應注意,術語單一半導體平台亦可意指可連接性提高的多晶片模組,其模擬晶片上操作並在利用習知匯流排實作方面進行可觀改良。當然,該等各種電路或裝置亦可能根據該使用者之該等需求分離或以半導體平台之各種組合放置。或者,平行處理模組2004可實施為電路板基板,且該等平行處理單元1600模組及/或記憶體1604模組之每一者可為封裝裝置。在一具體實施例中,CPU 2006、開關2002、及平行處理模組2004置放在單一半導體平台上。
在一具體實施例中,每個NVLink 1608之發信率為200至250億位元/秒,且每個平行處理單元1600包括六個NVLink 1608介面(如第二十圖中所示,針對每個平行處理單元1600而包括五個NVLink 1608介面)。每個NVLink 1608在每個方向上提供250億位元組/秒之資料傳輸速率,其中六個鏈路提供3000億位元組/秒。當CPU 2006亦包括一或多個NVLink 1608介面時,NVLink 1608可專門用於如第二十圖中所示的PPU對PPU通訊,或PPU對PPU與PPU對CPU之一些組合。
在一具體實施例中,NVLink 1608允許從CPU 2006到每個平行處理單元1600模組之記憶體1604的直接載入/儲存/原子(atomic)存取。在一具體實施例中,NVLink 1608支援一致性操作,從而允許從該等記憶體1604模組讀取的資料儲存在CPU 2006之快取階層中,從而減少CPU 2006之快取存取延遲。在一具體實施例中,NVLink 1608包括對位址轉譯服務(Address Translation Services,ATS)的支援,從而允許平行處理單元1600直接存取CPU 2006內的分頁表。NVLink 1608之一或多個亦可構成在低功耗模式下操作。
第二十一圖例示可實施該等各種先前具體實施例的各種架構及/或功能之示範處理系統2100。如所示,提供包括連接到通訊匯流排2110的至少一CPU 2006的示範處理系統2100。通訊匯流排2110可使用任何合適協定實施,例如周邊組件互連(Peripheral Component Interconnect,PCI)、快速周邊組件互連(PCI-Express)、加速繪圖埠(Accelerated Graphics Port,AGP)、超傳輸標準(HyperTransport)、或任何其他匯流排或點對點通訊協定。示範處理系統2100亦包括一主記憶體2104。控制邏輯(軟體)和資料儲存在可能採取隨機存取記憶體(RAM)之形式的主記憶體2104中。
示範處理系統2100亦包括輸入裝置2108、平行處理模組2004、及顯示裝置2106,如習知陰極射線管(Cathode Ray Tube,CRT)、液晶顯示器(Liquid Crystal Display,LCD)、發光二極體(Light Emitting Diode,LED)、電漿顯示器、或其類似物。使用者輸入可從該等輸入裝置2108接收,如鍵盤、滑鼠、觸控板、麥克風、及其類似物。前述模組及/或裝置之每一者甚至可能置放在單一半導體平台上,以形成示範處理系統2100。或者,該等各種模組亦可能根據該使用者之該等需求分離或以半導體平台之各種組合放置。
此外,示範處理系統2100可能通過用於通訊用途的網路介面2102耦合到網路(如電信網路、區域網路(Local Area Network,LAN)、無線網路、廣域網路(Wide Area Network,WAN)(例如網際網路)、同級間網路、有線網路、或其類似物)。
示範處理系統2100亦可包括一輔助儲存器(未顯示)。該輔助儲存器包括例如一硬碟機及/或一可拆卸儲存磁碟機,其代表一軟式磁碟機、一磁帶機、一光碟機、數位影音光碟(Digital Versatile Disk,DVD)機、記錄裝置、通用串列匯流排(Universal Serial Bus,USB)快閃記憶體。該可拆卸儲存磁碟機以已習知方式寫入可拆卸儲存單元及/或從其讀取。
電腦程式或電腦控制邏輯演算法可儲存在主記憶體2104及/或該輔助儲存器中。當執行此電腦程式時,使得示範處理系統2100能夠進行各種功能。主記憶體2104、該儲存器、及/或任何其他儲存器為電腦可讀取媒體之可能範例。
該等各種先前圖示之架構及/或功能可實施在一般電腦系統、電路板系統、專用於娛樂用途的遊戲機系統、特定應用系統、及/或任何其他所需系統之背景中。舉例來說,示範處理系統2100可能採取桌上型電腦、膝上型電腦、平板電腦、伺服器、超級電腦、智慧型手機(如無線、手持式裝置)、個人數位助理(PDA)、數位相機、車輛、頭戴式顯示器、手持式電子裝置、行動電話裝置、電視、操作站、遊戲機、嵌入式系統、及/或任何其他類型之邏輯之形式。
儘管以上已說明各種具體實施例,但應可理解其僅舉例呈現而不是限制。因此,較佳具體實施例之廣度與範疇不應受限於該等前述示範具體實施例任一者,而應僅根據文後申請專利範圍及其等同申請項的定義。
繪圖處理指令管線
根據具體實施例,第二十一圖為透過第十六圖之平行處理單元1600實施的繪圖處理指令管線2200之概念圖。在一具體實施例中,平行處理單元1600包含一繪圖處理單元(GPU)。平行處理單元1600構成接收指定用於處理繪圖資料的著色器程式的命令。繪圖資料可定義為繪圖元素集,例如點、線、三角形、四邊形、三角形條帶、及其類似物。通常,繪圖元素包括資料,其指定用於該繪圖元素(如在模型空間座標系統中)以及與該繪圖元素之每個頂點相關聯的屬性的若干頂點。平行處理單元1600可構成處理該等繪圖繪圖元素,以產生訊框緩衝區(如用於該顯示器之該等像素之每個的像素資料)。
應用程式將用於場景的模型資料(例如,一組頂點和屬性)寫入記憶體(諸如系統記憶體或記憶體1604)。該模型資料定義可在顯示器上看見的該等物件之每一者。然後,該應用程式向該驅動程式內核進行請求繪圖和顯示該模型資料的API呼叫。該驅動程式內核讀取該模型資料並將 命令寫入該等一或多個串流,以進行可處理該模型資料的操作。該等命令可能參考將在包括一頂點著色器、輪廓著色器、定域著色器、幾何著色器、及一像素著色器之一或多個的平行處理單元1600之該等可編程SM 1900模組上實施的不同著色器程式。舉例來說,該等SM 1900模組之一或多者可構成執行處理該模型資料所定義若干頂點的頂點著色器程式。在一具體實施例中,該等不同可編程SM 1900模組可構成並行執行不同著色器程式。舉例來說,可編程SM 1900模組之第一子集可構成執行頂點著色器程式,而SM 1900模組之第二子集可構成執行像素著色器程式。可編程SM 1900模組之第一子集處理頂點資料以生成經過處理頂點資料,並將該經過處理頂點資料寫入L2快取1804及/或記憶體1604。在該經過處理頂點資料光柵化(如在螢幕空間中從三維資料變換為二維資料)以生成片段資料之後,可編程SM 1900模組之第二子集執行像素著色器以生成經過處理片段資料,然後將其與其他經過處理片段資料混合並寫入記憶體1604中的訊框緩衝區。該頂點著色器程式和像素著色器程式可並行執行,從而以指令管線方式處理來自相同場景的不同資料,直到用於該場景的所有模型資料已繪製到該訊框緩衝區為止。然後,將該訊框緩衝區之該等內容發送到顯示控制器以顯示在顯示裝置上。
繪圖處理指令管線2200為實施以從3D幾何資料產生2D電腦產出影像的該等處理步驟之摘要流程圖。如所熟知,指令管線架構可透過將該操作分成複數階段更有效進行長延遲操作,其中每個階段之輸出耦合到下一連續階段之輸入。因此,繪圖處理指令管線2200接收從繪圖處理指令管線2200之一階段發送到下一階段以產生輸出資料2204的輸入資料601。在一具體實施例中,繪圖處理指令管線2200可能代表OpenGL® API所定義的繪圖處理指令管線。繪圖處理指令管線2200可作為選項而在該等先前圖示及/或任何後續圖示之功能和架構之背景下實施。
如第二十二圖中所示,繪圖處理指令管線2200包含一指令管線架構,其包括若干階段。該等階段包括但不限於一資料組合2206階段、一頂點著色2208階段、一繪圖元素組合2210階段、一幾何著色2212階段、一視埠SCC 2214階段、一光柵化2216階段、一片段著色2218階段、及一 光柵操作2220階段。在一具體實施例中,輸入資料2202包含命令,其構成該等處理單元以實施該等繪圖處理指令管線2200之多個階段,及將透過該等階段處理的幾何繪圖元素(如點、線、三角形、四邊形、三角形條帶、或扇形等)。輸出資料2204可包含像素資料(如顏色資料),其複製到一記憶體中的一訊框緩衝區或其他類型之表面資料結構中。
資料組合2206階段接收指定用於高階(High-order)表面、繪圖元素、及其類似物的頂點資料的輸入資料2202。資料組合2206階段例如透過從該主機處理器(其包括一指向記憶體中的緩衝區之指標)接收命令並從該緩衝區讀取該頂點資料,在暫時儲存器或佇列中收集該頂點資料。然後,將該頂點資料發送到頂點著色2208階段供處理。
頂點著色2208階段透過對該等頂點之每一者進行一次操作集(如頂點著色器或程式)處理頂點資料。可將頂點例如指定為與一或多個頂點屬性(如顏色、紋理座標、表面法線等)相關聯的4座標向量(如<x,y,z,w>)。頂點著色2208階段可操縱個別頂點屬性,例如位置、顏色、紋理座標、及其類似物。換言之,頂點著色2208階段對該等頂點座標或有關頂點的其他頂點屬性進行操作。此操作普遍包括變亮(lighting)操作(如修改頂點之顏色屬性)和變換操作(如修改頂點之座標空間)。舉例來說,可使用物件座標空間中的座標指定頂點,其透過將該等座標乘以矩陣(其將該等座標從該物件座標空間轉譯為世界空間或正規化裝置座標(Normalized-device-coordinate,NCD)空間)進行變換。頂點著色2208階段產生發送到繪圖元素組合2210階段的經過變換頂點資料。
繪圖元素組合2210階段收集頂點著色2208階段所輸出的頂點,並將該等頂點群組為用於透過幾何著色2212階段處理的幾何繪圖元素。舉例來說,繪圖元素組合2210階段可構成將每三個連續頂點群組為用於傳輸到幾何著色2212階段的幾何繪圖元素(如三角形)。在一些具體實施例中,可對連續幾何繪圖元素重複使用指定頂點(如三角形條帶中的兩個連續三角形可共用兩個頂點)。繪圖元素組合2210階段將幾何繪圖元素(如一組相關聯頂點)發送到幾何著色2212階段。
幾何著色2212階段透過對該等幾何繪圖元素進行操作集 (如幾何著色器或程式)處理幾何繪圖元素。曲線細分(tessellation)操作可從每個幾何繪圖元素產生一或多個幾何繪圖元素。換言之,幾何著色2212階段可將每個幾何繪圖元素細分成用於透過繪圖處理指令管線2200其餘部分處理的兩個或多個幾何繪圖元素之更精細網格。幾何著色2212階段將幾何繪圖元素發送到視埠SCC 2214階段。
在一具體實施例中,繪圖處理指令管線2200可在串流多處理器內操作,且頂點著色2208階段、繪圖元素組合2210階段、幾何著色2212階段、片段著色2218階段、及/或與其相關聯的硬體/軟體可順序進行處理操作。一旦該順序處理操作完成,在一具體實施例中,視埠SCC 2214階段即可利用該資料。在一具體實施例中,可將透過繪圖處理指令管線2200中的該等階段之一或多個處理的繪圖元素資料寫入快取(如L1快取、頂點快取等)。在這種情況下,在一具體實施例中,視埠SCC 2214階段可存取該快取中的資料。在一具體實施例中,視埠SCC 2214階段和光柵化2216階段實施為固定功能電路。
視埠SCC 2214階段進行該等幾何繪圖元素之視埠縮放、踢除及剪裁。所要繪圖到的每個表面與摘要攝影機位置相關聯。該攝影機位置代表正看著該場景的觀看者之位置,並定義封圍該場景之該等物件的視體。該視體可包括一觀看平面、一後側平面、及四個剪裁平面。可踢除(如廢除)完全在該視體外部的任何幾何繪圖元素,因為該幾何繪圖元素將無助於該最後所繪圖場景。可能剪裁(如變換為封圍在該視體內的新幾何繪圖元素)部分在該視體內部且部分在該視體外部的任何幾何繪圖元素。再者,可基於該視體之深度縮放每個幾何繪圖元素。然後,將所有潛在可看見的幾何繪圖元素發送到光柵化2216階段。
光柵化2216階段將該等3D幾何繪圖元素轉換為2D片段(如能夠用於顯示等)。光柵化2216階段可構成利用該等幾何繪圖元素之該等頂點設置平面方程式集,從其可內插各種屬性。光柵化2216階段可亦計算用於複數個像素(其指出該像素之一或多個取樣位置是否截切該幾何繪圖元素)的涵蓋遮罩。在一具體實施例中,亦可進行z測試以判定該幾何繪圖元素是否受到已光柵化的其他幾何繪圖元素阻斷。光柵化2216階段產生發送到 片段著色2218階段的片段資料(如有關每個所涵蓋像素之特定取樣位置的內插頂點屬性)。
片段著色2218階段透過對該等片段之每一者進行一組操作(如片段著色器或程式)處理片段資料。片段著色2218階段可例如透過進行變亮操作或使用該片段之內插紋理座標取樣紋理映射,產生該片段之像素資料(如顏色值)。片段著色2218階段產生發送到光柵操作2220階段的像素資料。
光柵操作2220階段可對該像素資料進行各種操工,例如進行阿法(alpha)測試、模板測試,及將該像素資料與對應於與該像素相關聯的其他片段的其他像素資料混合。當光柵操作2220階段已完成處理該像素資料(如輸出資料2204)時,可將該像素資料寫入著色目標物,例如訊框緩衝區、顏色緩衝區、或其類似物。
將明白,除了前述該等階段之一或多者以外或替代其,可將一或多個附加階段包括在繪圖處理指令管線2200中。摘要繪圖處理指令管線之各種實作可實施不同階段。再者,在一些具體實施例中,可從該繪圖處理指令管線排除前述該等階段之一或多個(例如幾何著色2212階段)。其他類型之繪圖處理指令管線認為是在本發明之範疇內。再者,可透過繪圖處理器(例如平行處理單元1600)內的一或多個專用硬體單元實施繪圖處理指令管線2200之該等階段之任一者。可透過可程式設計硬體單元(例如平行處理單元1600之可編程SM 1900)實施繪圖處理指令管線2200之其他階段。
繪圖處理指令管線2200可經由主機處理器(例如CPU)所執行的應用程式實施。在一具體實施例中,裝置驅動程式可實施應用程式設計介面(API),其定義可由應用利用以便產生用於顯示的繪圖資料的各種功能。該裝置驅動程式係軟體程式,其包括複數個用於控制平行處理單元1600之操作的指令。該API為程式設計師提供摘要,以讓程式設計師利用專用繪圖硬體(例如平行處理單元1600)產生該繪圖資料,而無需該程式設計師利用平行處理單元1600之指定指令集。該應用程式可包括一API呼叫,其路由到用於平行處理單元1600的裝置驅動程式。該裝置驅動程式隨著該API呼叫以解譯該API呼叫並進行各種操作。在一些實例中,該裝置驅動 程式可透過在該CPU上執行指令進行操作。在其他實例中,該裝置驅動程式可至少部分透過利用該CPU與平行處理單元1600之間的輸入/輸出介面,在平行處理單元1600上啟動操作以進行操作。在一具體實施例中,該裝置驅動程式構成利用平行處理單元1600之硬體實施繪圖處理指令管線2200。
各種程式可在平行處理單元1600內執行,以實施繪圖處理指令管線2200之各種階段。舉例來說,該裝置驅動程式可在平行處理單元1600上啟動內核,以在一可編程SM 1900(或多個可編程SM 1900模組)上進行頂點著色2208階段。該裝置驅動程式(或由平行處理單元1600執行的初始內核)亦可在平行處理單元1600上啟動其他內核,以進行繪圖處理指令管線2200之其他階段,例如幾何著色2212階段和片段著色2218階段。此外,可在固定單元硬體(例如實施在平行處理單元1600內的光柵化器或資料組合器(Assembler))上實施繪圖處理指令管線2200之一些該等階段。將明白,可在透過可編程SM 1900上的後續內核處理之前,透過一或多個介於其間的固定功能硬體單元處理來自一內核的結果。
可在使用反映前述操作或功能的名詞或名詞用語意指可在邏輯中實施本說明書說明的各種邏輯功能操作。舉例來說,可由「關聯器」(Associator)或「相關器」(Correlator)執行相關聯操作。同樣地,可由「開關」執行切換、由「選擇器」執行選擇、依此類推。
本說明書使用「邏輯」來表示機器記憶體電路、非暫時性機器可讀取媒體、及/或電路,其藉由其材料及/或材料能量建構包含控制及/或程序信號、及/或設定和數值(例如電阻、阻抗、電容、電感、電流/電壓額定值等),可將其施加以影響一裝置之操作。磁性媒體、電子電路、電氣和光學記憶體(揮發性和非揮發性兩者)、及韌體為邏輯之範例。邏輯具體而言排除純信號或軟體本身(然而並未排除包含軟體及由此形成標的之建構的機器記憶體)。
在本發明內,可將不同實體(可將其各種各樣稱為「單元」(Unit)、「電路」(Circuit)、其他組件等)說明或主張為「構成」進行一或多個任務或操作。本說明書使用此構想(構成[進行一或多個任務]的[實體])意指 結構(即電子電路等的實體)。更具體而言,使用此構想指出將此結構配置成在操作期間進行該等一或多個任務。即使並非目前正在操作的結構,但仍可將該結構說成「構成」進行一些任務。「構成將權責(Credit)分派給複數個處理器核心的權責分派電路」意欲涵蓋例如具有在操作期間進行此功能的電路的積體電路,即使所討論的積體電路目前並未使用(如未連接電源)。因此,說明或陳述為「構成」進行一些任務的實體意指實體事物,例如儲存可執行以實施該任務等的程式指令的裝置、電路、記憶體。本說明書並未使用此用語意指無形事物。
該用語「構成」不欲意指「可構成」。舉例來說,未經編程的場可程式閘陣列(FPGA)視為「構成」進行一些指定功能,儘管其可能「可構成」在編程之後進行該功能。
在文後申請專利範圍中陳述「構成」進行一或多個任務的結構,明確不欲為了該主張要素而援用美國專利法35 U.S.C.§ 112(f)規定。因此,本申請案中的申請專利範圍(其除此以外並未包括「用於」[進行一功能]構造的該等「構件」)不應根據美國專利法35 U.S.C.§ 112(f)規定加以解譯。
如本說明書的使用,用語「基於」用來說明影響判定的一或多個因素。此用語並未排除附加因素可能影響該判定的可能性。亦即,判定可能僅基於指定因素,或基於該等指定因素以及其他未指定因素。考慮該用語「基於B以判定A」。此用語指定B為用於判定A或影響A之判定的因素。此用語並未排除A之判定亦可能基於某其他因素,例如C。此用語亦意欲涵蓋僅基於B以判定A的具體實施例。如本說明書的使用,用語「基於」與該用語「至少部分基於」同義。
如本說明書的使用,該用語「響應」說明觸發效應的一或多個因素。此用語並未排除附加因素可能影響或除此以外觸發該效應的可能性。亦即,效應可能僅響應那些因素,或可能響應該等指定因素及其他未指定因素。考慮該用語「響應B以進行A」。此用語指定B是觸發進行A的因素。此用語並未排除進行A亦可能亦響應某其他因素,例如C。此用語亦意欲涵蓋僅響應B以進行A的具體實施例。
如本說明書的使用,除非另外聲明,否則序詞「第一」、「第 二」等作為元件名稱前面序號標示,而未隱含任何類型之排序(如空間、時間、邏輯等)。舉例來說,在具有八個暫存器的暫存器堆中,可使用該等用語「第一暫存器」和「第二暫存器」意指該等八個暫存器之任兩者,而非例如僅僅邏輯暫存器0和1。
當使用在申請專利範圍時,用語「或」作為兼或(Inclusive or)而非作為互斥或(exclusive or)。舉例來說,用語「x、y、或z之至少一者」意指x、y、及z之任一者、以及其任何組合。
因此已詳細說明各例示性具體實施例,將可明白修飾例和變化例,而不悖離如所主張本發明之範疇。
400:雙電壓源信號接收器前端
402:PMOS電晶體
404:NMOS電晶體
406:NMOS電晶體汲極節點電阻性元件
408:PMOS電晶體源極節點電阻性元件
410:PMOS電晶體汲極節點電阻性元件
412:NMOS電晶體源極節點電阻性元件

Claims (20)

  1. 一種信號收發器包含:
    一信號發射器,其包含:
    一第一差動鏈路,其構成具一第一共模電壓,該第一差動鏈路耦合到該信號發射器之一供應電壓與該供應電壓之一小部分之間的一第一開關;及
    一第二差動鏈路,其構成具一第二共模電壓,該第二差動鏈路構成到該供應電壓之該小部分與一參考接地之間的一第二開關;
    一信號接收器,其包含:
    該第一差動鏈路,其耦合到一NMOS電晶體之一閘極節點及一PMOS電晶體之一源極節點;及
    該第二差動鏈路,其耦合到該NMOS電晶體之一源極節點及該PMOS電晶體之一閘極節點。
  2. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一有效電感電路,以將該第一差動鏈路上的一電壓拉向該供應電壓。
  3. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一有效電感電路,以將該第二差動鏈路上的一電壓拉向該參考接地。
  4. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一當作負載的有效電感電路。
  5. 如申請專利範圍第1項之信號收發器,其更包含一交流(AC)耦合電壓位準漂移電路。
  6. 如申請專利範圍第5項之信號收發器,該電壓位準漂移電路包含一第一反相器,其在該第一差動鏈路上具有電阻性元件反饋;及一第二反相器,其在該第二差動鏈路上具有電阻性元件反饋。
  7. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一電壓位準漂移電路,其包含至少一NMOS電晶體,其由該第一差動鏈路驅動;及至少一PMOS電晶體,其由該第二差動鏈路驅動。
  8. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一電壓位 準漂移電路,其包含至少一PMOS電晶體,其由該第一差動鏈路驅動;及至少一NMOS電晶體,其由該第二差動鏈路驅動。
  9. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一峰值電路,其包含複數交叉耦合反相器,其每一者包含電阻性和電容性反饋。
  10. 如申請專利範圍第1項之信號收發器,該信號接收器更包含一含有感測放大器的限幅電路。
  11. 一種信號接收器包含:
    一第一差動鏈路,其構成具一第一共模電壓;
    一第二差動鏈路,其構成具一第二共模電壓;及
    該第一差動鏈路和該第二差動鏈路交叉耦合在一NMOS電晶體之一閘極節點與一PMOS電晶體之一閘極節點之間。
  12. 如申請專利範圍第11項之信號接收器,該第一差動鏈路耦合到該NMOS電晶體之該閘極節點及該PMOS電晶體之一源極節點。
  13. 如申請專利範圍第11項之信號接收器,該第二差動鏈路耦合到該PMOS電晶體之該閘極節點及該NMOS電晶體之一源極節點。
  14. 如申請專利範圍第11項之信號接收器,其更包含一第一輸出差動鏈路,其耦合到該NMOS電晶體之一汲極節點;及一第二輸出差動鏈路,其耦合到該PMOS電晶體之一汲極節點。
  15. 如申請專利範圍第14項之信號接收器,其更包含一有效電感電路,其耦合在該第一輸出差動鏈路與該第二輸出差動鏈路之間。
  16. 如申請專利範圍第14項之信號接收器,其更包含一電壓位準漂移電路,其耦合在該第一輸出差動鏈路與該第二輸出差動鏈路之間。
  17. 如申請專利範圍第16項之信號接收器,該電壓位準漂移電路更耦合到該第一差動鏈路和該第二差動鏈路。
  18. 一種信號收發器包含:
    一信號發射器,其包含:
    一第一差動鏈路,其構成具一第一共模電壓,該第一差動鏈路可在該信號發射器之供應電壓與該供應電壓之一半之間的電壓位準下操作;及
    一第二差動鏈路,其構成具一第二共模電壓,該第二差動鏈路可在該供應電壓之一半與參考接地之間操作;
    一信號接收器,其構成摘取在該第一差動鏈路上的一第一電壓位準與該第二差動鏈路上的一第二電壓位準之間作為一差值通訊的一位元值。
  19. 如申請專利範圍第18項之信號收發器,該信號接收器更包含一電壓位準漂移電路,其後接著一峰值電路。
  20. 如申請專利範圍第18項之信號收發器,該信號接收器利用一感測放大器作為一用於該位元值的限幅電路。
TW109117362A 2019-05-30 2020-05-25 具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器 TWI754288B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/427,138 US10581645B1 (en) 2019-05-30 2019-05-30 Dual-rail transceiver with improved signal-to-noise ratio for differential high-speed links
US16/427138 2019-05-30

Publications (2)

Publication Number Publication Date
TW202110106A true TW202110106A (zh) 2021-03-01
TWI754288B TWI754288B (zh) 2022-02-01

Family

ID=69645534

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109117362A TWI754288B (zh) 2019-05-30 2020-05-25 具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器

Country Status (2)

Country Link
US (1) US10581645B1 (zh)
TW (1) TWI754288B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US11442795B2 (en) 2018-09-11 2022-09-13 Nvidia Corp. Convergence among concurrently executing threads
US10820057B2 (en) 2018-11-07 2020-10-27 Nvidia Corp. Scalable light-weight protocols for wire-speed packet ordering
US11108704B2 (en) 2018-12-04 2021-08-31 Nvidia Corp. Use of stashing buffers to improve the efficiency of crossbar switches
US11934867B2 (en) 2020-07-23 2024-03-19 Nvidia Corp. Techniques for divergent thread group execution scheduling
CN113014246B (zh) * 2021-02-20 2022-02-22 广东省科学院半导体研究所 电压电平移位器和电子设备
US11770215B2 (en) 2022-02-17 2023-09-26 Nvidia Corp. Transceiver system with end-to-end reliability and ordering protocols

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033496A1 (en) * 1995-04-21 1996-10-24 Advanced Micro Devices, Inc. Reference for cmos memory cell having pmos and nmos transistors with a common floating gate
US5646901A (en) 1996-03-26 1997-07-08 Advanced Micro Devices, Inc. CMOS memory cell with tunneling during program and erase through the NMOS and PMOS transistors and a pass gate separating the NMOS and PMOS transistors
US6316969B1 (en) * 1999-02-26 2001-11-13 Micron Technology, Inc. Differential receivers in a CMOS process
ATE466402T1 (de) 2000-08-03 2010-05-15 Broadcom Corp Gleichtaktrückkopplungsschaltung mit geschalteten kapazitäten für einen summenstromfreien differenzverstärker
US7058121B1 (en) 2001-11-20 2006-06-06 Silicon Image Logic gates including diode-connected metal-oxide-semiconductor field-effect transistors (MOSFETS) to control input threshold voltage levels and switching transients of output logic signals
CN100576725C (zh) * 2004-04-20 2009-12-30 Nxp股份有限公司 提供差分输出信号的差分接收机和方法
US7119600B2 (en) * 2004-04-20 2006-10-10 Taiwan Semiconductor Manufacturing Co., Ltd. Wide common mode high-speed differential receiver using thin and thick gate oxide MOSFETS in deep-submicron technology
US7164291B2 (en) 2004-08-11 2007-01-16 Texas Instruments Incorporated Integrated header switch with low-leakage PMOS and high-leakage NMOS transistors
US7221190B2 (en) 2005-03-14 2007-05-22 Texas Instruments Incorporated Differential comparator with extended common mode voltage range
US7652535B2 (en) 2006-09-12 2010-01-26 Stmicroelectronics Pvt. Ltd. Continuous time common mode feedback circuit, system, and method
TWI323573B (en) 2006-11-22 2010-04-11 Ind Tech Res Inst Differential bidirectional transceiver
US7821327B2 (en) 2008-08-02 2010-10-26 Lsi Corporation High voltage input receiver using low voltage transistors
US9606948B2 (en) * 2012-12-05 2017-03-28 Texas Instruments Incorporated CAN bus edge timing control for dominant-to-recessive transitions
US9191001B2 (en) 2013-12-20 2015-11-17 Cirrus Logic, Inc. Transistor devices operating with switching voltages higher than a nominal voltage of the transistor
TWI599165B (zh) * 2016-10-13 2017-09-11 智原科技股份有限公司 可變增益放大器

Also Published As

Publication number Publication date
US10581645B1 (en) 2020-03-03
TWI754288B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
TWI754288B (zh) 具有差動高速鏈路之改良信號雜訊比的雙電壓源收發器
US20210097346A1 (en) Generation of synthetic images for training a neural network model
US11106261B2 (en) Optimal operating point estimator for hardware operating under a shared power/thermal constraint
US20190087985A1 (en) Differentiable rendering pipeline for inverse graphics
US20230419611A1 (en) Reducing level of detail of a polygon mesh to decrease a complexity of rendered geometry within a scene
US11651194B2 (en) Layout parasitics and device parameter prediction using graph neural networks
US11327900B2 (en) Securing memory accesses in a virtualized environment
US11336476B2 (en) Scalable in-network computation for massively-parallel shared-memory processors
US20210158155A1 (en) Average power estimation using graph neural networks
US10916252B2 (en) Accelerated data transfer for latency reduction and real-time processing
US20200285618A1 (en) Decompression techniques for processing compressed data suitable for artificial neural networks
US11847733B2 (en) Performance of ray-traced shadow creation within a scene
CN112288619A (zh) 用于在渲染图形时预加载纹理的技术
US11476852B2 (en) Glitch-free multiplexer
US10915445B2 (en) Coherent caching of data for high bandwidth scaling
US11936507B2 (en) CMOS signaling front end for extra short reach links
US10979176B1 (en) Codebook to reduce error growth arising from channel errors
US11847737B2 (en) Temporal denoiser quality in dynamic scenes
US11809989B2 (en) Preventing glitch propagation