TW561399B - Math coprocessor - Google Patents

Math coprocessor Download PDF

Info

Publication number
TW561399B
TW561399B TW090112103A TW90112103A TW561399B TW 561399 B TW561399 B TW 561399B TW 090112103 A TW090112103 A TW 090112103A TW 90112103 A TW90112103 A TW 90112103A TW 561399 B TW561399 B TW 561399B
Authority
TW
Taiwan
Prior art keywords
bit
register
bits
multiplier
patent application
Prior art date
Application number
TW090112103A
Other languages
English (en)
Inventor
Gregory Allen North
Murli Ganeshan
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Application granted granted Critical
Publication of TW561399B publication Critical patent/TW561399B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Nonlinear Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Advance Control (AREA)

Description

561399 ___ B7五、發明説明(速度時,必須相當地省電。此外,此裝置必須具有大的定 址空間來彈性地支持一些可能的記憶體架構及大小。 1盟_概述 根據本發明原理的一項具體實施例中,本發明發表一種 包括-乘法累積器單元的算數共處理器,該法累積器單元 具有-乘法器陣列,用以選擇性乘第一及第二運算元,該 第-及第二運算元具有選自包括浮點及整數資料型別的資 料型別。包括-加法器,用以選擇性執行第三與第四運算 元的加法及減法運算。該第三與第四運算元係由乘法器電 路選自-组關聯來源暫存器内容、來自於乘法器陣列16〇3 的,料輸出及來自於加法器祕的資料輸出,以將該第三 與第四運算元選擇性傳送至該加法器的輸入。 在本算數共處理咨的許多優點特色之中,乘法器-累積 器單元將執行浮點及整數算數運算。另外,算數共處理 可執行洋點數或整數的單精準浮點數(Single)及雙精度浮 數(Double)算數運算。此外,算數共處理器指令集支援 算數運算包括:整數轉浮點轉換、單精準轉雙精度轉換 左右移位、絕對値及相反。麗式簡簟抵戒 爲了更瞭解本發明及其優點,請參考配合附圖説明的 細説明,其中: 圖1顯示具體化本發明原理的微處理器架構的單晶片 統; 圖2顯示較佳微處理器核心的方塊圖; 頁 訂 器 的
詳 系 本紙張尺度標準(CNS ) ( 210 x 297公釐 561399 A7 B7 五、發明説明(3 ) 圖3 A顯示DMA引擎的更詳細功能方塊圖; 圖3B顯示所選LSFR的更詳細功能方塊圖; (請先閲讀背面之注意事項再填寫本頁) 圖3C顯示強調連接至DMA引擎之測試介面控制器(TIC) 線束的詳細方塊圖, 圖4A顯示光柵/繪圖引擎之繪圖部份的功能方塊圖; 圖4 B顯示包含於較佳繪圖引擎測試組態中之電路的圖 式; 圖4C顯示描繪該光柵/繪圖引擎之光柵引擎部份的進一 步祥細方塊圖; 圖4D顯示使用TIC線束來測試光柵引擎之各種主要方 塊的組態; 圖5 A設定示範性TYPE II乙太網路訊框/封包格式來達 到討論乙太網路MAC的目的; 圖5B —般説明經由該乙太網路MAC的傳輸處理; 圖5C顯示用以解説使用於乙太網路MAC之較佳載波服 從程序的狀態圖; 圖5D顯示使用於該乙太網路MAC之雜湊遽波器的原理 方塊圖; 圖5E顯示較佳接收描述符號格式與訊框片段鏈; 圖5F顯示接收狀態佇列的較佳格式; 圖5G顯示流經該乙太網路的接收資料; 圖5H顯示於該乙太網路接收處理期間硬體與軟體間的 互動; 圖51顯示在接收到4個訊框之後的該接收仵列之示範性 -6 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 經濟部中央標準局員工消費合作社印裝 561399 A7 B7 五、發明説明(4 ) 狀態; 圖5 J顯示較佳接收訊框預處理程序; 圖5K顯示較佳傳輸描述符號格式及示範性資料片段; 圖5L顯示乙太網路傳輸的示範性特定案例,其中一訊 框係由三個片段來傳送; 圖5M顯示該乙太網路傳輸狀態佇列格式; 圖5N顯示通用乙太網路傳送流程; 圖50顯示於該乙太網路接收處理期間硬體與軟體間的 互動; 圖6 A顯示4線式觸控螢幕原理圖; 圖6B顯示5線式觸控螢幕原理圖; 圖6C顯示7線式觸控螢幕原理圖; 圖6D顯示8線式觸控螢幕原理圖; 圖6E顯示於偵測螢幕觸控處理序期間,8線式觸控螢 幕的原理圖; 圖6F顯示於取樣X及Y信號處理序期間,8線式觸控 螢幕的原理圖; 圖6G顯示橫跨Y軸及X端子來驅動一電壓,及對一反 韻信號取樣的組態; 圖6H顯示連至A/D轉換器之所有輸入線皆放電到接地 的系統組態; 圖61 (包含61-A及6I-B )顯示用以解説解碼觸控螢幕輸 入項之較佳方法的運作流程圖; 圖6J顯示7線式觸控螢幕具體實施例的觸控偵測組態; 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消費合作社印装 發明説明(5 圖6K顯示於γ軸掃描處理岸 原理圖; ㈣…序期間,7線式觸控勞幕的
圖6L顯示於X軸掃描處理序期間,7線式觸 原理圖; J
圖6M顯示於線路放電處理序期間,7線式觸 原理圖; J 圖6N (包含㈣及_)顯示掃描該觸控營幕的較佳 心序’並參考圖6N的阻抗掃描方塊圖來決㈣控位置; 圖60顯示使用5線式裝置作爲範例之低功率運作期間 的典型系統組態; 圖6P顯示用以決定電池電壓的示範性系統組態; 圖6Q顯不較佳具體實施例之觸控式控制器tic線束連 接的圖式; 圖7顯示適用於中斷控制器的較佳位元切片(bitslice)電 路; 圖8A顯7F 7F範性16位元計時器,其可在該通用計時器 方塊中找到; 圖8B顯示示範性32位元計時器,其可在該通用計時器 方塊中找到; 圖8C顯示计時器方塊TIC線束連接的功能方塊圖; 圖9A顯示該鍵盤掃描電路的功能方塊圖; 圖9B (包含9B-A及9B-B )顯示示範性8列8行键盤,目 的在於説明該鍵盤掃描電路; 圖9C顯示爲鍵盤掃描方塊連接到該TIC線束的功能方 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁}
561399 A7 B7 五、發明説明(6 ) 塊圖; 圖10A顯示透過EEPROM/I2C介面胳玄姑、杰y 、 对系V、充連接至外部 EEPROM ό勺示範性連接; 圖10Β顯示較佳EEPROM/I2C介面中之時脈與資料之間 的最小時序關係; 圖11A顯示較佳雙重編碼解碼(codec)序列介面; 圖11B顯示中心迴路’其中該迴路從傳輸緩衝器處開 始,並在接收緩衝器處結束; 圖11C顯示示範性類比中心迴路,其中該迴路係在該類 比領域中開始及結束; 圖12顯示強調連接到該看門狗計時器的測試介面控制 器(TIC)線束之圖式; 圖13顯示系統較佳具體實施例中所包含之算數共處理 器的高階功能方塊圖; 圖14顯示包括整數/浮點比較器(FCMP)方塊之主要資料 處理方塊的詳細原理圖; 圖15 (包括圖15A及15B )顯示浮點加法器(FADD)的詳細 原理圖; 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 圖16(包括圖16A及16B)顯示具有積分加法器之整數/ 浮點乘法器暨乘累積器(MMAC)的詳細原理圖; 圖17 (包括17A至171)顯示指令解碼暨運算元擷取階段 的流程圖,其中會將現行指令解碼,並將運算元載入至來 源暫存杏;以及 圖18 (包括18A至18E )顯示用以説明MMAC中示範性積 -9- 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇>< 297公產) 經濟部中央標隼局員工消費合作社印製 561399 A7 B7 五、發明説明(7 ) 分運算的流程圖。 較佳具體實施例詳細説明 藉由參考附圖的圖1至18,將可更瞭解本發明原理及 其優點,其中相同的數字代表相同的零件。 圖1A顯示具體化本發明原理的微處理器架構的單晶片 系統100。系統100爲一通用處理裝置,其適合用於一些 需要小的裝置尺寸及低功率消耗的一些高效能個人及商用 資訊處理系統。除此之外,系統1〇〇可應用在個人攜帶式 裝置中,例如一掌上型放音機,可攜式網路裝置,及個人 數位助理,像是可攜式銷售點終端機的商用可攜式裝置, 以及智慧型週邊設備,電信裝置及小型電腦。 在較佳具體實施例中,系統100係根據ARM 920T微處理 器核心101,透過一 AMBA高速匯流排(AHB或週邊匯流排 高速匯流排)102及一 AMBA先進週邊匯流排(APB) 103連結 一組晶片上週邊裝置來運作。下文中將進一步討論周邊裝 置。圖2顯示微處理器核心101的方塊圖;特定的細節見 於英國Cambridge, ARM公司的ARM 920T資料表,其以引 用方式併入本文中。此外,還可向 ARM公司取得 AHB 102及APB 103的詳細規格,該規格也以引用方式併 入本文中。 下文中詳細説明功能方塊104至130以及微處理器核心 101,其最好是使用三態緩衝來耦合到匯流排102及103。 圖1B顯示較佳三態實施的概念圖。此處,每個來自一給 定源方塊(101 、 104至130)的輸出(資料、位址或控制信 -10- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消費合作社印製 561399 A7 ---—____B7 五、發明説明(8 ) --- )1都是藉由一單一導體132經由一三態緩衝器133耦 合到一個或一個以上對應目的地方塊(101、104至130)的 輸入。允許源方塊驅動給定匯流排1〇2/1〇3 ,而其餘源方 塊的輸出則保持在三態或高阻抗狀態。因此,冑了避免碰 撞,啓動或撤銷該源方塊輸出的時序非常關鍵。 在較佳具體實施例中,目前的匯流排主控可授與權利給 所選源万塊,以驅動匯流排達給定的週期數。會將閒置週 期插入到每組資訊的起始,以允許從前一週期開始,自目 勺也(i L )裝置傳回回應資訊。在新匯流排主控取得匯流 排控制權之前也會插入一閒置週期。在此閒置週期期間, 最好不要在匯流排上驅動位址及控制信號,除了必要的傳 輸控制信號以外。 三態緩衝器方式的優點大體上優於諸如多工傳輸及邏輯 閘之類的其他匯流排介面技術。除此之外,三態方式需要 較少的邏輯來實施。此外,可節省晶粒面積,有助於降低 裝置的整體成本。 如圖2所示,微處理器核心i(n包含一精簡指令集計算 (RISC)處理器及一個或一個以上共處理器,其共同示於方 塊200中。在此具體實施例中,可用的快取區包含指令快 取區201及資料快取區202。同樣地,其使用獨立的指令 及資料MMU 203及204。修改虛擬位址(IMVA)、指令實體 位址(IPA)及指令資料(ID)匯流排的指令皆爲32位元寬。 同樣地,修改虛擬位址(DMVA)、資料實體位址(DpA)及資 料(DD)匯流排的資料皆爲32位元寬。實體位址與資料係 -π - 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇>< 297^釐) 1 (請先閱讀背面之注意事項再填寫本頁)
經濟部中央標隼局員工消費合作社印製 561399 A7 B7 五、發明説明(9 ) 透過AMBA匯流排介面205交換到AHB匯流排102·。於處 理器核心運作期間,寫入緩衝器206允許透過介面205以 平行方式交換資料。來自資料快取區202的資料可透過寫 回實體位址(PTAG) RAM 207來輸出。 系統開機ROM 104係從高速匯流排101運作,並控制用 以運作系統100之程式碼外部來源的選擇。在較佳具體實 施例中,開始ROM 101包含16 KB的遮罩程式記憶體。該 外部來源可能是(例如)快閃記憶體。依據開始啓動選項, 可直接從外部快閃記憶體來執行程式碼。或者,透過 UARTl或PCMCIA (皆於下文中討論)將載入器程式下載至 SDRAM 〇此載入器程式依序經由UART1、PCMCIA、USB 或IrDA連接埠或乙太網路介面來下載完整的作業系統影 像,並且通常會將作業系統影像儲存於快閃記憶體中。此 外,在較佳具體實施例中,開機ROM程式碼不能啓動微 處理器記憶體管理單元(MMU)。因此,該載入器程式係從 實體位址運作,並管理初始化記憶頁表及啓動MMU及快 取區的工作。 多重通道直接記憶體存取(DMA)引擎105也由高速匯流 排102操作。圖3A顯示DMA引擎的更詳細功能方塊圖。 在所示的具體實施例中,DMA引擎105包含8個處理路徑 300至307,其對應於8個通道0至7。每個DMA路徑均 可根據來源及目的地位址以獨立方式程式化。會經由16 位位元寬的請求匯流排301接收來自於請求裝置(如下文 中所討論的UART )的資源請求。然後,藉由設定對應 -12- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁)
561399 經濟部中央標準局員工消费合作社印裝 A7 _ _ B7五、發明説明(10 ) DMA控制暫存器313中的位元,將連接至資源匯流排3〇8 的各種資源與給定通道結合。8通道型仲裁器3〇9及多工 器310負貴解析同時記憶體存取請求。此外,DMA引擎 105包含4個線性反饋移位暫存器(LSFR) 314至317,用以 執行CRC錯誤校正。 一般而言,DMA運作以下列方式展開。在較佳具體實 施例中考慮任何的D Μ A運作,其必須認知到該AHB具有 適用於位址及資料的管道架構,並任何DMA通道都可產 生内邵請求到AHB匯流排主控311,以存取到ahB匯流排 102。當授予匯流排存取權時,仲裁器3〇9選擇匯流排所 服務的通道。 在先前的匯流排週期期間,該選擇的通道在驅動於該匯 流排上的來源位置位址處開始其存取。在前一週期,如果 DMA引擎105不是匯流排主控,則會插入匯流排閒置週 期,以避免位址匯流排爭先問題。所有的通道共用相同的 資料儲存區及重新導向邏輯312 ;因此,於讀取週期期 間’仲裁器30·9將多工器310鎖定在目前的通道,使得在 下一個匯泥排週期期間,相同的通道可以用一個寫入週期 來芫成其存取。該順序通常以下列方式進行:當前一個匯 流排週期結束時,DMA引擎105即處於備妥狀態。然後, 該資料讀取週期即執行,並且將自記憶體擷取的資料内部 儲存於暫時儲存暫存器(方塊312)。根據所傳入之資料的 寬度’该資料暫存器儲存一接收的單一 32位元字組、一 接收的16位元半字組(其被複製以產生一 32位元字組), _ - 13· 本紙^^度適i國國家標準(CNS )八‘格(210X297公董)----- (請先閲讀背面之注意事項再填寫本頁)
561399 經濟部中央標準局員工消費合作社印裝 A7 -------
五、發明説明(U 儲存所傳入的位元组,其已經過複製四次產生―32位元 字組。 同時,會在匯流排上驅動寫入位址。當需要避免資料爭 先時,匯泥排王控311會插入匯流排間置週期。一旦在匯 流排上驅動寫入位址,即釋放鎖定在作用中通道的仲裁 者:在該寫入週期期間,單一 32位元字組、兩個16位元 半字組或4個位元組都是作爲32位元字組被寫入在匯流 排上。半字組及位元組的位址對準係由該受控裝置來執 行。當執行寫入週期時,會在匯流排上驅動下一個讀取位 址。 DMA通运300至307係設定在暫存器中。針對每個通 道,將定義32位元源位址指標及32位元目的地位址指標 以汉定傳輸。孩源及基位址係根據指派給每個通道的一組 遞增及遞減控制位元來遞增或遞減(如果將通道的遞增及 遞減位元設定爲相同的數値,則該位址仍維持相同)。位 址指標係根據傳輸寬度而以不同的量來遞增或遞減。組態 暫存器也會針對32位元字組、1δ位元半字組或位元組以 及給定傳輸的長度定義來控制傳輸字組寬度。 DMA傳輸可爲同步或非同步。每當藉由設定啓用位元 以授予DMA通道對AHB102的存取權時,會藉由軟體來起 始非同步傳輸。清除該啓用位元來暫停該非同步傳輸。同 步的傳輸係由來自於資源匯流排308的DMA請求所起始, 例如序列通道傳輸或接收緩衝器。於同步傳輸期間,當將 啓用位元置「丨」時,則DMA通道會在要求線路處於作 -14- — ----- Μ氏張尺度國國家標準(CNS ) A4規格(21〇><297公餐 (請先閱讀背面之注意事項再填寫本頁)
、1T
561399 A7 B7 五、發明説明(12 ) 用中並且其具有匯流排控制權時傳輸資料。 DMA引擎進一步包含4個1 6/32位元可程式LSFR 314至 317,用以根據包含 CRC-16、CRC-CCITT (SDLC、X25、 XMODEM)及反向CRC-CCITT的通用CRC演算法來計算 CRC。在所示的具體實施例中,LFSR 314至317係耦合到 DMA通道0至3 ,並對應地標示爲CRC0至CRC3。該 LFSR 314至317可專屬於其各自的DMA通道,或由任何匯 流排主控經由AHB暫存器介面327及組態暫存器328以獨 立方式使用。每個CRC計算器都可能是連接到其各自 DMA通道的硬體,以允許「經由」CRC產生器DMA。 圖3B顯示所選LSFR 314至317的更詳細功能方塊圖。 LSFR包含輸入移位暫存器318、16/32位元LFSR 319、多 項式除法器320及計數器321。於程式規則期間,移位暫 存器318的移位模式係選自8、16及32位元模式,並且所 選的LSFR大小爲16或32位位元寬。除法器320所使用的 多項式係根據所使用的CRC演算法來選擇。處理序係藉由 寫入LSRF 319的種子値來初始化。 然後,透過移位暫存器318輸入CRC IN來輸入8 、16 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 或32位元格式的資料。在該32及16位元移位模式中,該 資料流通常是位元組的字組或半字組倍數。如果不是的 話,會在起始時使用32或16位元移位模式,然後針對剩 餘的位元組移位切換到8位元模式。一旦將資料寫入到移 位暫存器318,在CRC OUT連接埠可取得所產生的資料及 /或可寫入新資料之前,分別就8 、 16或32位元模式而 -15- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 五、發明説明(13 ) 言,會有9、17或3 3匯流排時脈的延遲。下文中將配合 乙太網路MAC 107以進一步詳細説明CRC處理。 在預設的優先序架構之下,假設DMA通道對應於請求 REQ 〇至7 ’通道0具有最高優先序,通道1爲次高,依 此類推到通道7 (其具有最低的優先序)。此優先序架構 可在暫存器中重新程式規劃,其中,一個以上通道可具有 相同的優先序,其在當層次具有目前最高的優先序時回歸 到預設的架構。 仲裁器309的循環移位支援優先序層次的旋轉,以及當 兩個或兩個以上通道具有相同的優先序層次時在一給定優 先序層次中的優先移位。在整體旋轉的狀況中,只要未將 該匯流排授予通道,或如果已將匯流排授予給通道但尚未 鎖足仲裁器,就會以循環方式變更與每個優先序數値關聯 的優先序’以響應HCLK。在設定爲相同層次的通道之 間,如果未將該匯流排授予通道,或如果已將匯流排授予 給通道但尚未鎖定仲裁器,則會使用HCLK定期變更優先 序。兩種方式可結合使用以最佳化效能。儘管如此,仍然 會將最低優先序數値指派給最關鍵的通道。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 圖3C顯示測試介面控制器(TIC)線束的詳細方塊圖,其 係連接到測試DMA引擎。測試介面通常示於圖3A的方塊 322中。測试係經由AHB介面暫存器及對應多工器集 來實施。可個別或平行測試各種次方塊,例如通道 J至J〇7、CRC產生器3U至317及仲裁器309。輸入信 號係寫入到文字輸入剌激暫存器324或從輸出捕獲暫存器 ----^. -16- 561399 A7 B7 五、發明説明(14 以反價,並在測試中經由多工$ 325傳送到該方塊。對 應的測試輸出係自_測試輸出捕獲暫存H 326來讀取。 琢先栅/緣圖引擎方塊1〇6的緣圖引擎通常從處理器核心 1〇1卸載緣圖處理工作,並離開高速匯流# 102運作而成 爲匯流排主把或暫在哭為. 塥存态又k。除此(外,繪圖引擎執行矩 形方塊填滿’ Bressingham畫線及像素級距料製。緣圖引 擎1〇6透過位元方塊傳輸來進行資料傳輸(BitBLT類似於上 迷的DMA傳輸)。0 4A顯示緣圖引擎1〇6引擎的功能方塊 圖。 如上文所述,AHB介面401以匯流排主控或暫存器受控 模式連騎圖引擎1G6與高速匯流排1〇2。當其爲匯流排 主H ’ a !會圖引擎可存取該系、统1〇〇記憶區的所有使用 者可存取區域’其包含但不限於,可用的緣圖及視訊記憶 體。其優點是允許區塊儲存區位於系統記憶體中的任何地 万,例如字形或位元圖顯示資料的區塊儲存區。像素係依 據裝置獨立位元對映(Devlce Independent Bitmap)標準格 組織,其可儲存成每個像素}、4、8、16或24位元的 任一種。 經濟部中央標準局員工消费合作社印製 資 具 圖 (請先閲讀背面之注意事項再填寫本頁) 貝料路徑402執行遮罩運算,例如像素位元平面倒轉, 像素位元平面相加,及像素位元平面相減。會在該繪圖 料路杈的後端提供透明邏輯以供背景保留使用。在較佳六 體實施例中,會先執行遮罩邏輯運算,接著是目的地邏輯 組合,然後根據來源透明描述來取代目的地像素。線路 樣電路同時支援Bressingham及像素級距線繪製。 -17- 本紙張尺度通用中國國家標準(CNS ) A4· ( 21GX297公釐 經濟部中央標準局員工消費合作社印繁 561399 五、發明説明(15 ) 該繪圖引擎位址路徑4ΓΠ —人& 〇3包含實施這些線繪製的X及γ 雙向遞增電路。針對區堍遥μ . , ^ Λ 丁匕鬼運作,會程式規劃一組暫存器以 定義該來源區塊的寬度及目的地區塊的寬度及高度。當將 非壓縮來源像素傳送到相同大小並具有相同的起始像素的 目的地區I時目的地區塊寬度係相同於該來源區塊寬 度。額外的暫存器以線長度來定義了來源及目的地區塊的 記憶體組織,用以指示來源資料是否是壓縮資料,並且以 每個像素位元數來定義像素深度,及計數遞增方向。 也可使用測試介面控制器(TIC)來測試繪圖引擎。圖犯 顯示包含於較佳緣圖引擎測試組態中之電路的圖式。類似 於DMA測試線束,該繪圖引擎測試線束係經由AHB受控 介面暫存器404來控制。將測試向量窝入到測試輸入刺激 暫存器405,然後由多工器傷切換到緣圖引擎資料路徑 (其通常藉由方塊407户斤示)及/或綠圖引擎位址路徑(其通 常藉由方塊408所示)。於測試期間,也可使用多工器4〇6 經由緣圖路徑來傳送像素模式側頻段信號。然後,將所產 生的輸出資料保存於測試輸出捕獲暫存器4〇9中,接著可 、’二由^工器406來反饋,或經由匯流排主控電路在高 速匯流排102上傳輸。 光柵/繪圖引擎106的光柵引擎部份可驅動類比CRT或 數位LCD,其包含非交錯平面型面板及雙重掃描裝置。其 也支援視需要連接NTSC編碼器。光柵引擎最好也處理 DIB格式的像素,雖然那些資料並不一定是壓縮線路架 構。像素可能是標準4、8、16或24 bpp格式的任何一 本紙張尺度適用中國國家標準(CNS )八4^格(210X297公餐 (請先閱讀背面之注意事項再填寫本頁)
561399 B7 ___ 五、發明説明(16 ) 種。 光柵引擎也包含專屬AMB A視訊匯流排主控/傳輸介面 411,其連接光柵引擎與高速匯流排102。再者.,光柵引 擎透過專屬的DMA連接埠而連接到DRAM控制器,以允 许直接k $己丨思體項取視訊影像,並載入到視訊資料路徑 412内的視訊FIFO。 視訊FIFO通常維持從影像記憶體(視訊訊框緩衝器)至 視訊輸出電路的視訊資料流,而不會遲滞。視訊訊框緩衝 器可能位於主要記憶體中或位於專屬視訊記憶體區域中 (其可说在1己憶體映射中的任何地方指定)。一般而言,當 FIFO小於半滿時,會從視訊訊框緩衝器讀出資料,直到 FIFO填滿爲止,此時會暫停視訊資料擷取。一旦fif〇再 次低於半滿時,該處理即自動重複,而自訊框緩衝器擷取 更多資料。 經濟部中央標準局員工消费合作社印聚 (請先閲讀背面之注意事項再填寫本頁) 視訊資料路徑412額外包含閃爍控制邏輯、灰階產生 器、游標產生邏輯及一對彩色查詢表。將一個查詢表插入 到該視訊管道中,而其它查詢表則是透過匯流排1〇2來更 新。多工器選用來自於彩色查詢表、灰階產生器、游標邏 輯及閃燦控制邏輯的像素資料。視訊資料路徑412的輸出 段最好包含YCrCb編碼器,用以連接NTSC編碼器與輸出 移位邏輯,如此可允許在每個時脈移位多重像素。 光柵引擎也具體化硬體游標產生電路,其係以專屬游標 AMB A匯流排主控及獨立游標位址計數器爲基礎。因此, 該游標可儲存在結合高速匯流排1〇2的可用記憶體空間中 -19- 本紙張尺度適财ϋϋ家橾準(CNS ) (21Gx 297公羡) ' —-- 561399 A7 B7 五、發明説明(17 ) 的任何位置。游標大小、位置及色彩皆可暫存器·程式規 劃。 光柵.引擎包含電路413,其產生驅動顯示器所需的垂直 與水平同步化與消隱(blanking)信號,以及像素時脈 SPCLK。當與外部電阻器及電容器一起使用時,也會產生 脈衝寬度調變亮度控制信號,用以產生DC亮度控制電壓 位準。 圖4D顯示使用1TIC線束來測試光柵引擎的各種主要方 塊。可經由過受控暫存器介面415自AMBA匯流器102載 入測試輸入刺激暫存器414。在該暫存器内容的控制之 下,多工器417選擇性地將側頻段輸入信號或來自測試輸 出捕獲暫存器416的反饋耦合至所選區塊或測試中的區 塊。 經濟部中央標隼局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 在較佳具體實施例中,也會在AMBA匯流排102上提供 乙太網路MAC 107。乙太網路MAC 107支援依據乙太網路 /ISO/IEC 8802-3通訊協定來與外部裝置通訊。依據此通訊 協定,會採用「通話前先聽」機制,因爲每次只有單一共 用媒體上的一個裝置可傳輸。此存取方法通常稱之爲具碰 撞债測型載波感應多向近接(Carrier Sense Multiple Access with Collision Detection ; CSMA/CD ) 〇 每個工作站監控其接 收器是否有載波活動。當偵測到活動時,該媒體即處於忙 碌狀態,因此該工站台要求該媒體等待直到不再偵測到載 波。 圖5A設定示範性TYPE II乙太網路訊框/封包格式,下 -20- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 經濟部中央標準局員工消費合作杜印製 561399 A7 _______ B7 五、發明説明(18 ) 文中的説明係以此格式爲基礎。 圖5β顯示傳輸處理序500,主要程序爲載波服從、退 回、封包傳輸、EOF傳輸及SQE測試。 從步驟501開始,傳輸位於傳輸裝置先進先出記憶體中 的下一個訊框。於步驟502,執行載波服從程序。 圖5C的狀態圖顯示較佳載波服從程序5200。請注意, 雖然此程序僅能自Interframe Gap (IFG)完成狀態5201離 開,但是載波服從程序可從任何一個描述狀態來進入。在 本圖中,「CRS」爲載波感應狀態,其中邏輯〇代表未债 測到載波,而邏輯1代表一載波存在(感應到)狀態。 基於討論目的而假設,於步驟5201,該程序目前處於 IFG完成狀態。當感應到線路忙碌中時,該CRS値由〇改 變到1,並且於步驟5202,該程序等待CRS値被清除。一 旦该線路可供使用時’即將CRS値清除爲零,依據藉由設 定暫存器對應位元的選擇,其起始了一部份或兩部份延 遲。 如果選擇兩部份延遲,則會於步驟52〇3起始對應於2/3 全《^週期的6.4一^延遲。如果於此64"“期間(^8回 到邏輯1(即該線路成爲忙碌中),則該程序即回到線路恰 碌狀態(步驟5202);否則該程序進行到步驟52〇4,其中= 入對應於1/3全IFG週期的第二固定32psec延遲。於步驟〜 5204,當3.2 psec計時器完成時,該程序即回到完成 狀態 5201。 70 如果選擇一部份延遲,則會於步驟52〇5插入對應於全 -21 - 本紙浪尺度適用中國國家標準(CNS ) A4規格(2\〇X291^y~~_________ (請先閱讀背面之注意事項再填寫本頁)
561399 A7 B7 五、發明説明(19 ) IFG週期的9.6 psec延遲。當此延遲到期時,該程序即回到 步驟5201。 兩部份延遲非常適合連至1 OBASE-2或1 〇BASE_5的 AUI連接。如果延遲處理序僅允許IFG計時器來完成,其 即有可能產生短IFG。兩部份延遲防止短IFG。該兩部份 延遲的缺點在於該兩部份延遲通常較長。 於步驟502結束載波服從程序之後,於步驟503開始在 媒體實際傳輸資料(圖5B )。該傳輸係以步驟504的完整訊 框(ECF)指示項的傳輸結束而結束,或是於步驟505中的一 狀悲報告的後續傳輸或碰撞而結束。有兩種碰撞:正常碰 撞(發生在該封包的前512位元内),及延後碰撞(發生在前 512位元之後)。在任一種碰撞類形中,於步驟5〇6,MAC 引擎最好傳送32位元擁塞序列並停止傳輸。 於步驟507,決定是否該碰撞爲延後。如果發生延後碰 撞事件,於步驟508報告適當的傳輸狀態,並且傳輸暫停 而不會重新嘗試。如果發生正常碰撞,於步骤509中決定 是否已發生最大數目的正常碰撞,如果是的話,即中止傳 輸,並於步驟510報告適當的傳輸狀態。可允許的碰撞數 量係由設定在暫存器中的位元來決定,其基本上爲16或 1 。如果未發生最大碰撞數量時,於步驟511觸發退回計 時器,之後,處理序回到載波服從程序(步驟502)。 退回計時器數値係使用ISO/IEC標準或修正退回演算法 來計算,如主機所選擇。該標準或「截去二元値指數退 回」演算法通常係根據下列公式:〇<—r<2k ,其中r爲隨 -22- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁)
、1T
經濟部中央標準局員工消費合作社印製 561399 A7 B7 五、發明説明(20 ) 機i數,其代表在嘗試其它傳輸之前等待的時槽數量,其 I時槽等於512位元(51.2msec),最小値(η,ι〇),而U 第η個重新傳輸嘗試。每個前三個傳輸碰撞之後,修正退 回演算法會遞增延遲:0<—Γ〈一 2k,其中k=最小値(η,ι〇), 但不小於3,而η爲第η個重新傳輸嘗試。修正演算法優 於標準演算法的優點在於,其可降低有關任何傳輸嘗試的 多重碰撞機率,雖然修正的演算法的確延長了取得存取到 該傳輸媒體所需要的最大時間。 主機也可藉由設定暫存器中的位元來暫止該退回步驟。 在此情況下,該發射器會在開始傳輸之前等待該IFG。 清再次注意,就延後碰撞而言,會中止傳輸並且不會實施 退回。 於傳輸期間,乙太網路MAC將訊框檢查序列(FCS)附加 至封包中,如圖5A所示。當啓用時,會使用標準32位元 FCS ’並執行標準CRC計算來產生錯誤旗標及關聯的中 斷’視需要而定。基於參考,CRC的標準多項式爲: 〇(Χ)=Χ32+Χ26+Χ26+χ、Χ、χ12+χ11+χ1()+χ8+χ7+χ5+χ4+χ2+χ+ι 經濟部中央標準局員工消费合作社印装 (請先閲讀背面之注意事項再填寫本頁) 乙太網路MAC 107執行兩種目的地位址篩選形式,即完 整筛選,其中會檢查位址是否確實相符及雜湊,其中會檢 查位址否包含於群組中。此外,在Pr〇miscu〇us模式,當於 暫存器中啓用時,會接收所有的目的地位址。 在較佳具體實施例中,提供四個可程式規劃完整位址篩 選器’以及適用於廣播説框的「合一篩選器」。可使用暫 存器來控制是否使用特殊篩選器,其以四個篩選器共用同 -23- 本紙張尺度適用中國國家標準(CNS ) A4規格(210x 297公缝) 561399 A7 B7 五、發明説明(21 ) ~~ 一位址空間。第一篩選器最好係用來篩選正常乙太·網路位 址,以及用來偵測遠端換醒訊框,並視需要來暫停(流程 控制)訊框。接著,第二篩選器通常係用來辨識暫停訊 框,也可將之程式規劃以對應到MAC控制訊框的多點廣 播位址。第三及第四篩選器最妤提供額外的選擇性位址匹 配功能,例如,作爲額外的個別位址或多點廣播位址篩選 器。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁} 圖5D頦示雜湊篩選器的原理方塊圖。一般而言,雜湊 篩選器爲64位元邏輯(多點廣播)位址篩選器,其藉由 邏輯執行目的地位址(DA)雜湊篩選。CRC邏輯512起始 CRC計算,其開始於目前訊框的第一個位元(即da的第一 位位元,其中DA是不含前導碼的封包,如圖5八所示)。 CRC邏輯512包含32位元移位暫存器,其具有特定的位元 互斥(XOR)反饋支線分接頭(TAp)。將整個DA移位至crc 邏輯512之後,會將該CRC邏輯512内容的6個最有效位 元係鎖定至6位元雜湊暫存器(HR) 513中。雜湊暫存器513 内容係透過6位元轉64位元解碼器514來傳送。雜湊表 515中一次出現一位來自於解碼器之料位位元的每個位 元。雜湊表的輸出決定DA是否已傳送該雜湊篩選器;當 爲眞時,DA已通過雖湊篩選,而當爲假時,該da雜湊篩 選失敗。 每當接收良好訊框通過雜湊篩選時,雜湊篩選器513的 輸出會以雜凑表索引呈現。接收良好訊框係決定爲不含 CRC錯誤的訊框,其長度正確(64<長度<1518)。藉由設定 -24- 本紙張尺度適用中國國家標準(CNsT^^( ζ1〇><297公趁]------- 經 濟 部 中 央 橾 準 員 工 消 費 合 作 社 印 製 61399 五、發明説明(22 ) 暫存器位元,即可接受通過雜湊篩選的任何接收多.點廣播 訊框。多點廣播訊框是具有IAfopi的訊框。如果設定第 暫存态位元,則會接受具有任何個別位址訊框並且通過 雜湊篩選的訊框。個別位址訊框是具有IA[〇]=〇的訊框。 對於要傳送IAHashA的訊框而言,其必須使IA[〇]=〇並傳送 雜湊。 乙太網路MAC 107藉由傳輸及接收暫停訊框來提供流程 控制的特殊支援。暫停訊框是用來定義發射器停止傳送訊 框之時間長度的控制訊框。傳送暫停訊框藉此減少遠端工 作站所傳送的資料量。在適當的時間週期,MAC可偵測 接收暫停訊框,並自動地停止其發射器。爲了解譯成暫停 訊框:(1)目的地位址必須可被前兩個完整位址篩選器的 其中一個所接受;(2)類形攔位必須符合於流程控制格式 暫存器中程式規劃的類型;(3)訊框的下兩個位元組(mac 控制微運算程式碼(MAC Control 〇pcode))必須等於零;以 及,(4)訊框是具有良好CRC的合法長度。如果接受爲暫 停訊框,則會將暫停時間欄位傳遞至流程控制計時器暫存 器。該暫停訊框可依需要傳送至主CPU或丟棄。 當偵測到接收擁塞時,乙太網路MAC 107可將暫停訊框 傳送至遠端工作站,並建立本機接收器釋放資源的時間。 由於可能有許多的訊框佇列於發射器中,並且本機發射器 可能會自行暫停,因而提供另一種方法以允許傳送暫停訊 框。具體而言,藉由設定傳送控制暫存器中的傳送暫停位 元,可在最早的機會時傳送暫停訊框。此會在目前的傳輸 -25- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公慶) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消费合作社印製 561399 A7 B7 五、發明説明(23 ) ~ ~' 訊框完成之後緊接著發生。如果暫停本機發射器,·則仍然 會傳送暫停訊框,並且於訊框傳輸期間仍然會遞增暫停計 時器。爲了符合標準,必須在全雙工鏈結上傳送暫停訊 框。MAC並未強制此做法,而是由該驅動器決定。如果 在半雙工鏈結上傳送暫停訊框,則會受到正常半雙工碰撞 規則及重試嘗試所支配。 乙太網路MAC 107包含接收描述符號處理器,用以管理 接收資料訊框。具體而言,主機透過位於主機記憶體中連 續it間的環形接收描述符號仵列,將描述符號傳送至接收 描述符號處理器。乙太網路MAC 107透過位於主機記憶體 中的极形接收狀態佇列來傳回狀態資訊。有兩個獨立仔列 支援脈衝_傳輸,用以降低匯流排使用及等待時間。這些 佇列的位置及特性(如長度)係設定在暫存器中。 每個接收描述符號係由定義資料緩衝器輸入項的兩個雙 重罕組所組成。第一雙重字組包含資料緩衝器位址及攔 位’用以定義緩衝器長度、緩衝器索引及訊框未開始(N〇t Start of Frame)位元(其由該主機在未開始新訊框時所設 足,例如,當鏈接訊框片段時)。會使用接收描述符號加 入佇列暫存器(RxDEq)來處理描述符號的使用控制,其中 「加入佇列」代表將描述符號加入至現有佇列末端的動 作。爲了加入佇列查詢接收描述符號,CPU會將一些可用 的描述符號寫入至rxDEq暫存器,並且自動將數量與現 有可用佇列輸入數量相加。當MAC將描述符號讀入至其 本機儲存區(内部緩衝器)時,會從總數減去所讀取的數 -26- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局員工消费合作社印裝 561399 A7 _B7 五、發明説明(24 ) 量。CPU可從RxDEQ 1買取留在仔列中之未讀取有效描述 付號的總數。圖5E顯示較佳接收描述符號格式與訊框分 段鏈。 乙太網路MAC 107使用接收狀態仵列將狀態訊息傳送至 主機。通常係由係由乙太網路MAC 107將接收狀態輸入項 寫入至位於^喊末知、緩衝备末端或訊框末端的彳宁列。一 般而1: ’最好在完成給定資料傳輸之後才寫入狀態訊息。 接收狀態訊息也可由兩個雙重字組來形成。第一雙重字組 包含用以指示接收錯誤狀態的欄位,除此之外還有緩衝器 末端及/或訊框末端指示項器、位址比對及雜湊表索引。 第二雙重字組包含接收訊框處理位元欄位、對應到狀態輸 入項的緩衝器索引及訊框長度識別項。 CPU使用接收狀態加入仔列暫存器將自由狀態位置傳送 至該乙太網路MAC。爲了簡化此項處理序,CPU會寫入 可供此加入佇列暫存器使用的額外自由狀態位置數量。 MAC將額外計數與前一可用輸入項計數相加,以決定可用· 的接收狀態輸入項總數。當MAC將狀態訊息寫入至佇列 中時,會從總數減去寫入的數量。 圖5 F顯示接收狀態佇列的較佳格式。 流經乙太網路MAC 107的接收資料係參考圖5G來説 明,如下列表格所示: -27- I紙張又度適用中國國家標準(CNS )八4胁〇χ297公羞) (請先閱讀背面之注意事項再填寫本頁) 訂
561399 五、發明説明(25 2. 6. 王機驅動咨516初始化位於接收描述器佇列522中的給定接收 描述符號數量。 驅動的516使用接收描述符號的額外數量來設定暫存器襴位 RxDeq ^ 理器517將描述符號擷取至内部FIF0 將下一接收資料緩衝器位址從接收描述符號暫存器518載入至 器517的接收緩衝器現行位址暫存器中。 接收訊框 MAC引擎107將訊框資料傳送至處理器517的接收資料
FIFO (請先閱讀背面之注意事項再填寫本頁) b*. -—------------ 訂 接收描述符號處理器將訊框資料儲存於系統記憶體520中(步驟 C Λ -rt ^ _ 8· 遭卞框狀入至接收狀態佇列521 ; RxSeq遞減 9· t果符合則中斷驅動器516 10. 11. 12. 13. 竺-亨森位於狀態佇列521中的接收訊框處理位元 驅動杏516將所處理的輸入項數目寫入至狀態佇列,以供 經濟部中央標準局員工消费合作社印製 放時使用。 在驅動咨516自堆疊取回的所使用接收緩衝器之後,該驅動器 可重複步驟2。 接收錯誤係分類成硬錯誤及軟錯誤。軟錯誤代表未成功 接收訊框:此種錯誤必須由主機驅動器來解決。軟錯誤包 括:CRC錯誤、接收器溢出、訊框太長或訊框太短。硬錯 -28- 本紙张尺度適用中國81豕標準(CNS〉A4規格(210 X297公董) 561399 A7 B7 五、發明説明U ) 誤爲可靠度導致的錯誤,其包含AHB匯流排存取錯誤、同 位元錯决(當啓用時)、系統錯决及主把或目標中止。硬錯 誤停止接收活動’並且需要主機干預才能恢復。 圖5H顯示於接收處理期間硬體與軟體間的互動。開始 時,於步骤523重置軟體,並且於步驟524中硬體處於閒 置模式。於步骤525,軟體初始化接收描述符號及狀態仔 列,並且於步驟526,將額外的描述符號與狀態輸入項加 入至對應佇列。於步驟527中,由硬體载入描述符號,而 於步驟528接收第一個訊框。 於步驟529,將額外描述符號寫入到彳宁列中。將傳輸狀 態佇列中的對應輸入項寫入至第一訊框末端(步驟530 )。 於步驟531,由硬體載入額外的描述符號,而於步驟532 接收另一個資料訊框。於步驟533,由主機處理位於接收 狀態彳宁列中的下一狀態輸入項,而由主機構成額外可用的 輸入項。 經濟部中央標準局員工消费合作社印11 (請先閱讀背面之注意事項再填寫本頁) 此處理序通常以類似的方式繼續進行,於步驟534 ,使 用硬體更新狀態佇列,並於步驟535,載入新的描述符 號。於步驟536,軟體將額外的描述符號加入至描述符號 佇列,於步驟537,處於來自狀態佇列的狀態輸入項,然 後釋放輸入項。 圖51顯示在接收到4個訊框之後的接收佇列之示範示狀 態。第一訊框僅使用資料緩衝器〇 ,並具有兩個關聯的狀 態輸入項。第一狀態輸入項(狀態0 )係用來接收一接收標 題,而第二狀態輸入項(狀態1 )係用來接收訊框/緩衝器 -29- 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 經濟部中央標準局員工消費合作社印製 561399 A7 -----—__— B7 五、發明説明(27 ) 的末端’這兩個狀態輸入項都是指到資料緩衝器〇的起 ^ 邊第一訊框佔用兩個緩衝器(資料緩衝器1及2 ),並 且與二個狀態輸入項(2、3及4 )關聯。狀態2輸入項係 用於忒接收標題’狀態3輸入項用於緩衝器1指示項的末 端(例如,緩衝器大小大於訊框大小),以及狀態4輸入項 用於訊框/緩衝器指示項的末端。下兩個訊框皆佔用一個 貝料緩衝器,並且每個均需要一個狀態輸入項。(此可能 疋針對短訊框的情況,其中不會超過標題大小或緩衝器大 小)。其結果爲可能其依據通訊資料量類形及所選擇的選 項’以不同於描述符號佇列的速度來使用狀態佇列。 圖5 J顯示接收訊框預處理程序。首先,依據目的地位 址(DA)篩選器540,在將訊框傳送至下一層或丟棄訊框。 然後,套用接受遮罩541。訊框係在該訊框資料被帶入並 經過该晶片時所接收。未傳送該接收遮罩的訊框即被丟 棄。中斷(IE)遮罩542決定是否要導致中斷。 傳輸描述符號係經由環形傳輸描述符號佇列從Cpu傳送 到MAC。該佇列的位置及大小係在主機初始化時藉由將 仔列位置及大小寫入至暫存器中的方式來設定。加入仔列 描述符號爲將描述符號加入現有仔列的處理序,並且藉由 將額外描述符號數量寫入至傳輸描述符號加入佇列暫存器 來達到。會將寫入値與前一値相加以維持運行總數,當 MAC讀取描述符號時,總數即遞減。藉由讀取加入佇列暫 存器即可取得運行總數。請注意,可藉由一個以上描述符 號來描述訊框,其中最終的描述符號包含E〇f位元,並且 -30- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公廣) (請先閲讀背面之注意事項再填寫本頁) ίβφ, ,1Τ ^61399 五、發明説明(π ) 不需要一次供應訊框的所有描述符號。 圖汉顯示較佳傳輸描述符號格式及示範性資料片段。 傳輸為述付5虎最好是由兩個雙重字組所組成。第—個雙重 字組包含該傳輸緩衝器位址指標。第二雙重字组包含訊框 t二末端,以及用以使用主機來追蹤傳輸缓衝器的傳輸 缓衝咨索引。第二字組也包含用以終止具有不良crc之訊 一々中止汛框位元,以及用以代表位於傳輸缓衝器中之位 元組計數的緩衝器長度攔位。 圖5L顯示訊框係由三個片段來傳送的特定案例。在硬 體已獲取媒體並傳輸前導碼之後,就會輸入片段〇、工、 2而達到總共446個位元組(3^38^^)。由於已清除位於 第一訊框片段中的CRC位元,所以硬體會附加4位元組 CRC,使整個訊框長度爲43〇位元組。最後,依據正常乙 太網路程序來傳送訊框末端指示項。 經濟部中央標準局員工消費合作社印繁 傳輸狀態佇列係用來將傳輸狀態訊息從乙太網路MAc 107傳送至主機。狀態佇列最好也是位於相鄰記憶體空間 中的環形佇列。該佇列的位置及大小係在主機初始化時藉 由將佇列位置及大小寫入至暫存器中的方式來設定。圖 5M顯不傳輸狀態佇列格式。一般而言,每個傳輸訊框會 寄送個狀悲輸入項,而不論該訊框所使用的傳輸描述符 號數量。較佳輸入項包含傳輸訊框處理位元、無錯誤傳輸 位元、訊框中止暨CRS損失位元、視窗外位元、低於估計 暨過量碰撞位元、代表碰撞次數的攔位以及傳輸緩衝器索 引。 -31 - 本紙張又度適用中國S家樣準(CNS〉八4胁(210父297公董1 ' "~" 561399 五、發明説明( A7 B7 29 圖5N及下列表格顯示一般傳輸流程:
驅動杂5U將頦外輸入項數量寫入至傳輸描述符號加入佇列 _CIxDEQ)^^|| 544 〇 '----- 4. 印片上傳知描述符號處理器自暫存器擷取描述符號資 訊。
)·驅動器543 ^^里傳輸狀態 11. " ------- (請先閲讀背面之注意事項再填寫本頁)
、1T 經濟部中央標隼局員工消费合作社印製 昱動器543 口該通訊協定堆疊已完成彳 傳輸錯誤狀分類成硬錯誤及軟 成功傳輸訊框,並需要由主機驅動器進行非失誤性復原 軟錯誤包括··過度碰撞,SQE錯誤(如果連接到 硬錯誤通常與可靠度問題有關,諸如AHB錯誤、同位元錯 誤(當啓用時)、系統錯誤及主控及目標中止。 曰 硬錯誤會造成描述器處理器暫停運作,該主機有機會來 決定該錯誤的原因,並且重新初始化及重新啓動匯流^主
-32- 561399 A7 B7 五、發明綱(30 ) 一 控運作。大多數的軟錯誤並不會造成訊框處理運作暫時, 並且該描述符號處理器僅標示該錯誤,並繼續進行到下一 個訊框。例外狀況在於傳輸低於預期,其中位元低於中止 條件,其造成要選擇繼續進到下一個訊框或暫停傳輸訊框 處理。藉由暫停傳輸訊框處理,使CPU能夠重重置傳輸描 述符號處理咨暫存器,以指向失效訊框的開始並重新初始 化。此會導演乙太網路MAC 107來重新嘗試傳送失效訊 框’接著藉此允許維持訊框傳輸的順序。 圖50顯示於傳輸處理期間硬體與軟體間的互動。開始 時,於步驟550重置軟體,並且於步驟551中硬體處於間 置模式。於步驟552,軟體初始化傳輸描述符號及狀態侍 列’並且於步驟553,將傳輸描述符號計數寫入至暫存器 中。於步驟554中,由硬體讀取描述符號,接著於步驟 555自系統讀出資料。然後於步驟556,傳送第一訊框。 經濟部中央標準局員工消費合作社印装 (請先閱讀背面之注意事項再填寫本頁) 於步驟557,更新暫存器中的傳輸描述符號計數。在傳 輸第一訊框期間,於步驟558中,自佇列讀取額外的傳輸 描述符號,接著於步驟559自系統記憶體讀出資料。在第 一訊框的末端,將傳輸狀態中的對應輸入項寫入至傳輸狀 悲佇列(步骤560 )。於步驟561,由硬體讀取額外的資 料’而於步驟562傳輸另一個資料訊框。於步驟563,由 主機處理位於傳輸狀態佇列中的下一狀態輸入項,而由主 機構成額外可用的輸入項。 此處理序通,常以類似的方式繼續進行,於步驟564,使 用硬體自佇列讀取描述符號,並於步驟565讀取新的資 -33- 本紙張尺度適用中國國家標準(CNS ) M規格(2ΐ〇χ297公董) 561399 A7 B7 五、發明説明(31 ) 料。於步驟566,軟體將額外的描述符號加入至描述符號 佇列,於步驟567,處於來自狀態佇列的狀態輸入項,然 後釋放輸入項。於步驟568,將狀態輸入項寫入到狀態佇 列中。 關於乙太網路MAC 107,中斷與晶片上狀態或晶片外狀 態關聯,晶片外狀態是已傳送到傳輸或接收狀態佇列的狀 態。任何未完成中斷事件的狀態都可透過兩個不同的暫存 器位址來取得(中斷狀態保留及中斷狀態清除)。 讀取中斷狀態保留攔位不會影響設定在該暫存器中的位 元;其可由寫回一位元到任何的位元位置來明確地清除。 此允許CPU橫跨多重常式中來處理中斷事件,僅清除其已 處理該對應事件的位元。 當讀取中斷狀態清除時,會移除所有未完成事件的狀 態。此提供一快速的機制,讓CPU用一次讀取就中能夠接 收所有的未完成事件,而不會造成額外的10個週期,這 是明確清除事件時通常所需。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 在AHB 102外運作的SDRAM介面108最好係以ARM PL090 SDRAM控制器及一组關聯组態暫存器爲基礎。在所 示的具體實施例中,SDRAM介面108與SDRAM控制器及 PCMCIA介面一起共用位址匯流排、資料匯流排以及DQMn 信號,這是藉由外部匯流排介面電路依據固定優先序機制 進行仲裁(其中優先序由高到低的順序爲SDRAM 、 S R Μ 、PCMCIA及TIC)。最好使用方形脈衝串來執行所 有的SDRAM存取。 -34- 本紙張尺度適用中國國家標準(CNS)A4規格(210X 297公釐) 561399 A7 B7 五、發明説明(32 ) SRAM介面(方塊109 )最好以ARM PL090靜態記·憶體控 制器爲基礎。此外,SDRAM介面支援可程規劃基位址及 8個外部晶片選擇暨關聯遮罩暫存器。其可支援混合3 2 位元、16位元及8位元裝置。 方塊109額外包含限受控V2.1符合PCMCIA PCCard介 面,其係在高速匯流排102之外運作。PCCard介面與該靜 態記憶體介面、動態記憶體介面及該測試介面控制器一起 共用外部資料及位址匯流排。會透過外部匯流排介面(EBI) 單元來完成介於這些方塊與外部資源之間的仲裁。一旦授 予外部匯流排存取權,PCCard介面即控制匯流排,直到 完成目前的資料傳輸。 經濟部中央標隼局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 在較佳具體實施例中,PCCard介面包含以ARM靜態記 憶體控制器爲基礎的控制器,用以控制PCCard存取系統 記憶體、I/O及屬性位址空間。在所使用的動態位址大小 中,傳送資料寬度符合目標資料I/O寬度。再者,在此具 體實施例中,會執行多重介面卡存取,以完成讀取或寫入 介面卡操作的必要匯流排傳輸。例如,在將字組寫入到8 位元PCCard期間,該PCCard介面執行4次介面卡寫入。 或者,使用雙重介面卡寫入以執行將半字組寫入至8位元 介面卡,使用雙重介面卡寫入將字組寫入到16位元介面 卡,依此類推。 系統初始化程式碼透過對應的暫存器組來設定PCCard 介面。這些暫存器的其中三個被用來控制存取記憶體、 I/O及屬性位址空間。另一個暫存器係用來控制卡偵測及 -35· 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 B7 五、發明説明(33 ) 中斷,第5個暫存器控制一般介面運作。在預設的狀態 中,會將這些暫存器設定爲相容於最慢PCCard及最快匯 流排速度的時序需求。此外,讀取及寫入運作的等待狀態 可程式規劃使其介於1與31個AHB 102時脈(HCLK)週期範 圍内(讀取及寫入脈衝的持續時間是等待狀態加上3個 AHB時脈週期的數目)。 在較佳具體實施例中,外部位址緩衝器及資料匯流排收 發器係用來構成PCMCIA PCCard規格。此外,在較佳具體 實施例中,會使用外部開關模組來控制PCCard電源供 應。一般而言,在韌體控制之下,該PCCard介面決定是 否有PCCard存在。如果有插入介面卡,則會向處理器發 出中斷,且韌體詢問PCCard介面以決定PCCard電源供應 的適當切換。 當PCCard偵測接腳針及晶片重置時發生狀態改變時也 會產生中斷。具體而言,如果晶片重置時沒有介面卡存 在,則不會產生中斷,如果有介面卡存在,則會產生中 斷。 PCCard介面最好是使用三態緩衝器來與關聯PCCard插 經濟部中央標準局員工消费合作社印製 (請先閲讀背面之注意事項再填寫本頁) 槽進行通訊。 JTAG/TIC 介面 110 支援符合於 IEEE Std. 1149.1-1990 ## 游試遠#萃及逢##游袭#的測試。測試介面控制器支援 位於高速匯流排102上各種方塊的晶片上測試。在較佳具 體實施例中,通過介面110的測試係依據ARM 920T處理器 101的規格。具體而言,當介面的TIC部件使用ARM測試 -36- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 B7 五、發明説明(34 ) (請先閲讀背面之注意事項再填寫本頁) 介面控制器時,介面的JTAG部件會利用ARM Multi-ICE電 路内模擬器,其爲AMBA匯流排102上的匯流排主控,並 且允許晶片外測試裝置存取AMB A週邊裝置。 USB控制器111最好是設定供三個根集線器連接埠使 用,並包含整合式收發器。此具體實施例符合第1版USB 開放式主控制器介面(Open Host Controller Interface)規格。 LCD DAC介面112提供類比DC電壓以驅動LCD對比控 制,其最是由梯狀電阻所產生。DAC最好是64級距數位 轉類比轉換器。 橋接器113連接高速匯流排102與相對較低速的AMBA 週邊匯流排(APB) 103。橋接器113爲高速匯流排102上的 受控者,並且是週邊匯流排103上的唯一主控者,用以於 週邊裝置存取期間驅動位址、資料及控制信號。當橋接器 113本身不包含暫存器時,其針對週邊匯流排103上的所 有週邊裝置進行暫存器選擇。較佳系統記憶體映射如下所 示。 經濟部中央標準局員工消费合作社印製 -37- 本紙張尺度適用中國國家標準(CNS〉A4規格(210X 297公釐) 561399 A7 B7 五、發明説明(35 ) 表格3 起點 終點 大小 使用方式 〇〇〇〇一〇〇〇〇 0000—3FFF: 16K 内部ROM記憶體(低重映射) 0000 4000 1FFF FFFF: 255.984Meg 外部ROM記憶體(低重映生^ 〇〇〇〇一〇〇〇〇 1FFFJFFFF: 256Meg 外部DRAM記憶體(高重 20〇〇一〇〇〇〇 7FFF一FFFF: 1.5G 外部 SRAM/Flash/ROMie^jl^ 80〇〇一〇〇〇〇 87FF—FFFF: 128Meg 記憶體映射AHB控制暫 8800—0000 8FFFJFFFF: 128Meg 記憶體映射APB控制暫存^_ 90〇〇一〇〇〇〇 9FFF—FFFF: 256Meg 保留 __^ A000—0000 A3FF—FFFF: 64Meg PCMCIA記憶體空間 ___一 A400-0000 A7FF 一 FFFF: 64Meg PCMCIA I/O 空間 _ A8〇〇一〇〇〇〇 ABFF 一FFFF: 64Meg PCMCIA屬性空間 __一 AC〇〇一〇〇〇〇 AFFF—FFFF: 64Meg 翌_^- B0〇〇一〇〇〇〇 FFFF—FFFF: 1.25G 外部 SRAM/Flash/ROM 記性 (請先閲讀背面之注意事項鼻填寫本 b#.
IT 經濟部中央標隼局員工消费合作社印製 類比觸控螢幕介面114執行4-、5-、7-及8-線式類比 電阻觸控螢幕的硬體掃描。圖6A至6D顯示4-線、5-線、 7-線及8-線式觸控螢幕的示範性原理圖。在每個例子中, 當壓下該觸控螢幕上的某一點時,前後導電層即接觸炎構 成阻抗接點。在4-線及8-線版本中,識別接觸點的方式 爲,先從X+及X-端子經由匯流條601b及601d來驅動X 層上的電壓,並測量γ+及/或Y-端子上的電壓,然後在 X+及X-端予上測量在γ平面之Y+及Y-端子上所驅動的 電壓。比較兩個測量結果與預定校準電壓以決定位置。8 線版本包括SX及SY線,以提供反饋到關聯的類比轉數位 -38 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 經濟部中央標準局員工消费合作社印製 A7 五、發明説明(36 ; 轉類比轉換器,以作爲測量參考。 在5-線及7_線具體實施例中,在v+和V-端子及Ζ+Λ端 子上所供應的固定電壓是用來切換X及γ軸。會取樣位 於接帝(Wiper)端子上的信號以讀取位置資料。線觸控螢 幕包含連至關聯類比轉數位轉換器的參考反饋線。 圖6E至6F顯示連至8-線式觸控螢幕之典型電路連接的 電子原理圖。一組28個開關(SWO至SW27)取樣位於連至 類比轉數位轉換器603之輸入的觸控螢幕端子上的電壓。 (實際上的開關位置係設定於暫存器中的位元,但爲了簡 化討論,電路運作將就開關狀態來説明)。在圖6E中,電 路正在處理偵測螢幕觸控的處理序。在圖6F中,會參考 SX反饋線上的電壓以取樣橫跨螢幕X軸與γ端子所驅動 的電壓。相對地,在圖6G中,會參考SY反饋線上的電壓 以取樣橫跨螢幕Y抽與X端子所驅動的電壓。圖6H顯示 連至A/D轉換器603之所有輸入線皆放電到接地的組態。 將配合圖61的運作流程圖來進一步説明這些狀態。 4線觸控螢幕的電路類似於上述8線裝置的電腦,除了 該A/D參考電壓位於内邵以外。此外,4線裝置中未使用 SX及SY輸入及關聯開關。 用以掃描琢觸控榮幕及決定接觸位置的較佳程序6〇〇係 參考圖61的流i程圖及圖6N的電阻掃描方塊圖來説明。在 初始化時,會載入暫存器,並且控制狀態機器622啓動。 於步驟601 ,掃描X軸以偵測觸控(例如,請參閲圖 6 E)。相對的X及Y軸係定義在軟體中。接著於步驟 -39- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁} 訂
經濟部中央標準局員工消費合作社印製 561399 A7 ____ B7 五、發明説明(37 ) 602 ’將所有的A/D輸入線放電(例如,使用圖6JJ的組 態)。於步骤603,將電壓供應至χ軸。就示範性8線式 觸控螢幕而言,於V+端子確立vdd,於V-端子確立接 地,並將SX+及SX-端子設定爲A/D參考電壓。於步驟 604中,插入延遲以利於穩定。 於步驟605,依據組態暫存器的狀態而定,採取* 、 8、16或32取樣。每個樣本都會與暫存器623及624中設 足的最大値及最小値比較,以決定取樣値的範圍(在比較 期間’所凋整的儲存最大値與最小値是介於它們之間的數 値)。然後於步驟606,採用最大値及最小値之間的差 値’並比較持續暫存器625中所設定的最大誤差値。如果 超過最大誤差,就會丟棄結果,而程序回到步驟6〇1 (藉 此來移除不良的取樣點)。否則,會將累積器/移位暫存器 626中所保存的運行値(running value)除以所採用的取樣數 量,而來計算其平均値。 如果於步驟607未傳送出X中斷旗標,則於步驟608, 採用平均値(新X )與暫存器627最後有效X新値之間的差 値,並比較暫存器629中所儲存的最小値。如果其低於此 最小値時,則將該線路放電並開始γ掃描。否則,於步驟 609 ’比較暫存器63〇中的最大値。如果該計算値高於所 儲存的最大値,則假設該接觸移動太遠,因此該按键無 效。在此情況下,於步驟611設定X新中斷未決旗標,以 在後續掃描中略過步驟608,而採用最後有效χ新値做爲 Χ位置値°然後,處理回到步驟601以進行新取樣。 -40- 本紙張尺度適用中國國家榡準(CNS ) Α4規格(21〇Χ29<7公釐) (請先閱讀背面之注意事項再填寫本頁)
561399 經濟部中央標準局員工消費合作杜印製 Α7 Β7 五、發明説明(38 ) 另一方面,如果平均値(新X)與最後X値之間的差値低 於所儲存的最大値,則於步驟610設定X中斷旗標,並且 採用平均値作爲X値,而且開始線路放電。 然後,透過執行步驟613至620來識別該Y位置即,其 基本上與上述關於該X位置決定的步驟相同,唯一的差別 現在所採用的資料係對應於γ軸。圖6N中額外的暫存器 631至633支援γ掃描運作。基於簡潔,不再重複這些步 驟的細節。 於步驟621決定X中斷是否處於未決狀態,並且當同時 設足X及Y中斷旗標時,則會採用現行儲存的X及γ値 作爲位置資料,並對主機產生中斷。 圖6 J至6M顯示7線式觸控螢幕裝置的介面。5線版本 相似,除了 A/D參考電壓係在a/D轉換器内部產生以外。 在這兩個具體實施例中,V+及丨均爲靜態線線,而Z+/_ 及Z-/+線係用於在X及γ軸之間切換。於sV+及sV_供應 A/D參考電壓。圖6J顯示觸控偵測組態,圖6K至6M分別 顯於Y軸掃描、X軸掃描及線路放電期間的示範例組 於較低功率運作期間,有助於暫止觸控螢幕掃描電路。 在此情況下,當暫止觸控螢幕控制器時,會將觸控壓下信 號限制中斷邏輯内。此例的基本架構係示於圖6〇,其使 用該5線式裝置做爲範例。 可額外使用類比開關602以測量晶片電池電壓及類似的 輸入。圖ό P顯示用以決定電池電壓的示範性組態。 -41 - 本紙張尺度適用中國國家標準(CNS〉八4規格(210Χ 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂
經濟部中央標準局員工消费合作社印製 561399 A7 ___ B7 五、發明説明(39 ) 圖6Q頻示較佳具體實施例之觸控式控制器tic線束 635。違測5式線束經由APB暫存器介面636與高速匯流排 102連接。在測試模式中’測試輸入刺激暫存器637控制 類比轉數位取樣貧料的側頻段信號的輸入,以及功率下降 觸控偵測及非作用中狀態。會透過輸出捕獲暫存器638來 讀取中斷、類比切換控制信號及A/D轉換器的輸出。 相容中斷控制器115也在週邊匯流排1 〇3之外運作,並 最多可管理64個中斷。中斷係定義在軟體中,以產生中 斷請求(IRQ)或快速中斷請求(FIqs)到處理器核心1〇1。此 外,提供32層次硬體優先序架構以輔助IRQ向量及FIQ向 量的兩個層次。額外功能包含能夠改變輸入中斷的作用中 狀態極性,以及能夠選擇性觸發電壓位準的上升或下降邊 緣的中斷。 孩中斷暫存器的簡單識別接著用來參考。開始時,請注 意所有的中斷共用同一輸入,然後以獨立方式遮罩並映射 爲IRQ或FIQ。最好使用所選基位址的固定移位來存取這 些暫存器,其由匯流排橋接器113中的解碼器所決定。 在遮罩之前,中斷原始狀態暫存器辨識作用中的中斷, 並且在遮罩之後,中斷狀態暫存器辨識作用中的中斷。中 斷啓用/啓用設定暫存器係用來選擇性啓用中斷,並且當 凟取時,傳回各種中斷來源的遮罩値。中斷啓用清除暫存 器係用於清除中斷啓用暫存器中的位元。程式規劃型IRQ 中斷暫存器設定或清除程式規劃中斷。 下列表格概述較佳具體實施例中可用的中斷: (請先閲讀背面之注意事項再填寫本頁) b#
561399
B 五、發明説明(40 ) 經濟部中央標準局員工消費合作社印製 表格4 中斷 名稱 類型 來源 説明 位元0 未使用 限位準 GND 使用者定義 位元1 PROGINT 限位準 内部 軟體程式規劃型中斷 位元2 COMMRX 限位準 ARM核心 處理器除錯序列埠RX中斷 位元3 COMMTX 限位準 ARM核心 處理器除錯序列埠TX中斷 位元4 INT_CT[0] 限位準 計時器 計時器1中斷 位元5 INT_CT[1] 限位準 計時器 計時器2中斷 位元6至8 INT_CT[4:2] 限位準 計時器 計時器5至3中斷 位元9 ΓΝΤ—RTC 限位準 RTC 即時時脈中斷 位元10 UARTRXINT1 限位準 UART1 UART1接收緩衝器中斷 位元11 UARTTXTNTl 限位準 UART1 UART1傳輸緩衝器中斷 位元12 UARTRXINT2 限位準 UART2 UART2接收緩衝器中斷 位元13 UARTTX1NT2 限位準 UART2 UART2傳輸緩衝器中斷 位元14 UARTRXINT3 限位準 UART3 UART3接收緩衝器中斷 位元15 UARTTXINT3 限位準 UART3 UART3傳輸緩衝器中斷 位元16 INTKEY 限位準 按鍵 按鍵掃描控制器中斷 位元17 INT—TOUCH 限位準 觸控 觸控掃描控制器中斷 位元18 INTGRA 限位準 GRAPHICS 繪圖控制器中斷 位元19 INTCIA 限位準 PCCARD PCCard中斷信號 位元20 INT—VERT 限位準 RASTER 訊框計數器的垂直啓動 位元28_21 INT—DMA[7:0] 限位準 DMA DMA通道中斷 位元29 INTJRDA 限位準 UART2 KDA組合中斷 (請先閲讀背面之注意事項再填寫本頁) «»# 訂 -43- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29?公釐) 561399
A B 五、發明説明(4〖) 經濟部中央標準局員工消費合作社印製 中斷 名稱 類型 來源 説明 位元30 INT—USB 限位準 USB USB主控制器中斷 位元31 INTJMAC 限位準 MAC 10/100乙太網路MAC中斷 位元35至32 INT_1[3:0] 邊緣或位準 外部 外部中斷3至0 位元36 INT_PROG 邊緣或位準 RASTER 光柵訊^匡内的程式規劃中斷 位元37 CLK1HZ 邊緣或位準 RTC 即時時脈中斷 位元38 V—CSYNC 邊緣或位準 RASTER 垂直同步信號 位元39 VCSYNC 邊緣或位準 RASTER 垂直SYNC 位元40 INT一AC97 限位準 AC97 AC97連接埠中斷 位元41 INTSSPORX 限位準 SP10 SPI連接埠0接收中斷 位元42 INTSSPOTDC 限位準 SP10 SPI連接埠0傳輸中斷 位元43 INT_SSP1RX 限位準 SP11 SPI連接埠1接收中斷 位元44 INT—SSPirX: 限位準 SP11 SPI連接埠1傳輸中斷 位元45 INT_GPI0 限位準 GPIO 組合GPIO中斷 位元46 INT一CU 限位準 CU 客户單元例外狀況中斷 位元47 INT一MMC 限位準 MMC MMC組合中斷 位元48 INT_UART1 限位準 UART1 UART1組合中斷 位元49 1NTUART2 限位準 UART2 UART2組合中斷 位元50 INT_UART3 限位準 UART3 UART3組合中斷 位元51 INT_SP10 限位準 SP10 SPI連接埠0組合中斷 位元52 INTSPU 限位準 SP11 SPI連接埠1組合中斷 位元53 INTJ2C 限位準 12C 12C時脈輸入中斷 位元54_63 未使用 限位準 GfND 未指定 (請先閲讀背面之注意事項再填寫本頁) b# 訂 -44- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 B7 經濟部中央標準局員工消費合作社印裝 五、發明説明(42 每個中斷都會結合位元切片(bit slice)電路,如圖· 7所示 的電路700。在此電路中,p〇LARITY (極性)信號允許將 接收中斷之作用中狀態的極性反向。邊緣偵測電路7〇ι係 包含於對應於外部中斷以及於顯示訊框垂直起點所發出之 中斷的位元切片(bit slice)電路。來自於對應遮罩暫存器的 FIQ及IRQ返罩位元負責控制位元切片sHce)輸出的組 合’以產生要送至微處理器的FIQ及IRQ。 方塊117包含4個16位元及2個32位元時間間隔計時 器’以及40位元時戳除錯計時器。圖8A顯示示範性16位 元計時器801 ’其包含ι6位元向下計數器8〇2及8位元預 換算器(prescaler) 803。此外,5位元全域預換算器係提供 給整個電路方塊。負載暫存器8〇4係設定爲初始計時器 値,並在週期性操作期間維持重新載入値。在控制暫存器 805中的欄位係用於啓用、模式選擇及預換算組態。 圖8 B顯示其中一個32位元計時器8〇6。此計時器係係 32位元向下計數器807及8位元預換算器808爲基礎。32 位元計時器也共用5位元全域預換算器。還包含負載及控 制暫存器809至810,類似於上述者。此外,32位元計時 器包含比較暫存器811及比較器812。此比較器電路在預 先選擇的計時器數値時可用於觸發中斷。 方塊1 17的時間間隔計時器的運作可參考下表來説明: -45- 本紙張尺度適用中國國家標準(CNS ) A4規格(21 Οχ 297公廣 (請先閱讀背面之注意事項再填寫本頁) b# 訂 561399 五 A7 B7 、發明説明) 經濟部中央標準局員工消费合作社印製 表格5 位址 名稱 軟體鎖定 類型 大小 説明 必要暫存器位置 計時器基礎 +0x00 Timer/Load 無 讀取/寫入 16位元 計時器1負載値暫 存器 計時器基礎 -K)x04 TIMER/VALUE 無 唯讀 16位元 計時器1計時器値 計時器基礎 +0x08 TIMER/CONTROL 無 讀取/寫入 8位元 計時器1控制暫存 器 計時器基礎 +0x0C TMER/CLEAR 無 唯寫入 NA 計時器1清除指令 計時器基礎 •Η)χ10 保留 保留 計時器基礎 +0x20 TIMER2LOAD 無 讀取/寫入 16位元 計時器2負載値暫 存器 計時器基礎 +0x24 TIMER2VALUE 無 唯讀 16位元 計時器2計時器値 計時器基礎 +0x28 TIMER2CONTROL 無 讀取/寫入 8位元 計時器2控制暫存 器 計時器基礎 -K)x2C TIMER2CLEAR 無 唯寫入 NA 計時器2清除指令 計時器基礎 +0X30 .保留 保留 擴充暫存器位置 -46- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂
561399
7 B 經濟部中央標準局員工消费合作社印製 五、發明説明(44 ) 位址 名稱 敕體鎖定 類型 大小 説明 計時器基礎 +0x14 GLOBAL— PRESCALE 無 讀取/寫入 5位元 全域預換算 計時器基礎 +0x18 TIMER3LOAD 無 讀取/寫入 16位元 計時器3負載値暫 存器. 計時器基礎 +0xlC TIMER3VALUE 無 唯讀 16位元 計時器3計時器値 計時器基礎 +0x34 TIMER3CONTROL 無 讀取/寫入 8位元 計時器3控制暫存 器 計時器基礎 +0x38 TIMER3CLEAR 無 唯寫入 NA 計時器3清除指令 計時器基礎 +Ox3C TIMER5COMPARE 無 謂取/寫入 32位元 比較値暫存器之計 時器5中斷 計時器基礎 40x40 TIMER4LOAD 無 讀取/寫入 16位元 計時器4負載値暫 存器 計時器基礎 +0x44 TIMER4VALUE 無 唯讀 16位元 計時器4計時器値 計時器基礎 +0x48 T1MER4CONTROL 無 讀取/寫入 8位元 計時器4控制暫存 器 計時器基礎 +Ox4C TIMER4CLEAR 無 唯寫入 NA 計時器4清除指令 計時器基礎 +0x50 TIMER5LOAD 無 讀取/寫入 16位元 計時器5負載値暫 存器 計時器基礎 :TIMER5VALUE 無 唯讀 16位元 計時器5計時器値 -47- (請先閲讀背面之注意事項再填寫本頁} b# 訂 本紙张尺度適用中國國家標準(CNS ) A4規格(210X29*7公釐) 561399 A7 B7 五 '發明説明(45 ) 位址 名稱 軟體鎖定 類型 大小 説明 Κ)χ54 計時器基礎 TEVDER5CONTROL 無 讀取/寫入 8位元 --- 計時器5控制暫存 +0x58 器 計時器基礎 T1MER5CLEAR 無 唯寫入 NA ~~--__ 計時器5清除指令 +Ox5C 計時器基礎 TIMESTAMP_LO 無 唯讀 32位元 時戳低位讀取暫存 +0x60 器 計時器基礎 TMESTAMP_HI 無 讀取8 32位元 時戳高位讀取暫存 +0x64 寫入1 器 計時器基礎 TMRTCR 無 讀取/寫入 5位元 計時器測試控制暫 +0x70 存器 計時器基礎 TMRTISR 無 讀取/寫入 7位元 計時器測試輸入刺 +0x74 暫存器 計時器基礎 TMRTOCR 無 唯讀 6位7G ---^ 計時器測試輸出捕 +0x78 獲暫存器 计時器基礎 TMRTCER 無 讀取/寫入 NA 計時器測試時脈啓 +0x80 至 OxBC 用暫存器 8位元預換算支援除1 、16或256 ,其依據是否使用 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 〇 、4或8預換算階。再者,時間間隔計時器皆可以自由 執行或定期模式下運作。在自由運行模式下,計時器在其 到達零時,即重新回到其最大値,並繼續向下計數。在定 期模式中,該計數器在到達零時重新從負載暫存器載入, 並在重新載人之後繼續遞減,除非有設定適當的控制位 -48 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) 561399 A7
五、發明説明(46 ) 元’在此例中該中斷持續進行直到被清除。 時戮除錯計時器爲40位元向上計數器,其以1MHZ時脈 計時,僅用於長期除錯。 (請先閲讀背面之注意事項再填寫本頁} 圖8C顯示計時器方塊TIC線束813的功能方塊圖,其透 過暫存务介面814自APB匯流排1〇3運作。時脈模式、重 置狀態、輸入多工器組態及時脈啓用都是透過暫存器介面 814來完成。測試輸入刺激暫存器815係用來控制計數及 預換算器承載。預換算器承載信號及中斷値皆在該測試輸 出捕獲暫存器816中觀察。 系統100包含鍵盤矩陣掃描電路118,其係自週邊匯流 排1〇3運作。在較佳具體實施例中,其支援最高到以8列 及8行排列的64鍵按键陣列,一次可壓下一個或兩個按 键及解碼。圖9A顯示此項具體實施例的功能方塊圖。基 於解説目的,圖9B顯示8列及8行鍵盤的實例。 預計數器901、行列計數器902及列解碼器903依列7至 列〇的順序壓下該列該鍵盤列線。同時,該行線行〇至行 7係被動地被拉高。行線的輸出係透過管道9〇4來傳送, 然後在掃描控制906的控制之下由行多工器9〇5來解碼。 經濟部中央標準局員工消费合作社印裝 因此,當壓下按鍵時,對應行的行線位準降至對應列線上 的低電壓。 機械式開關彈起係負責使用可程式化反彈計數器9〇7。 此計數器係設定爲於必須偵測同一键或按鍵對期間對應於 預選擇掃描數量的預先決定掃描計數。此計數係決定爲該 預期開關彈起的函數,及每個掃描的基本長度。例如,如 -49- I紙張尺度適用中國國家標準( CNS ) A4規格(210x^7公後) ' --- 561399 A7 B7 五、發明説明(48 ) 在硬體重置之後,晶片上狀態機器嘗試載入組態資料。 如果有EEPROM存在,則會將所傳回的前40個位元傳送到 10個組態暫存器。接著,EEPROM裝置存取主機處理器, 以經由控制暫存器進行讀取/寫入。如果EEPROM裝置不 存在,或如果前40個位元組的標題部份無效,則組態暫 存器會維持其現有的狀態。 如圖10A所示,該EECLK連接埠係用於提供序列時脈及 序列資料I/O的EEDAT連接埠。可藉由硬體重置來完成初 始化。在硬體重置時,硬體架構EEPROM控制器會執行下 列作業:(1)啓用EEPROM介面(切換EECLK接腳針的模 式);(2)傳送虛設(dummy)寫入以將位元組位址設爲0 ; (3) 開始自EEPROM連續讀取位元組;(4)檢查所載入簽章標 題,並且如果偵測到無效簽章時即中止;以及,(5)載入 固定位元組數量,於載入時將資料傳送到目標組態暫存 經濟部中央標準局員工消费合作社印製 (請先閱讀背面之注意事項再填寫本頁) 由硬體狀態機器產生初始化負載的資料暨時脈信號時 序。圖10B顯示較佳具體實施例之時脈與資料之間的最小 時序關係。資料線的狀態最好是僅在時脈線處於低位準对 才能改變。於時脈線處於高位準之時脈期間的資料線狀態 改變係用來指示開始及停止狀況。 寫入到外部EEPROM需要來自處理器101的支援,並透 過對應的處理器可存取組態介面暫存器來完成。 於典型EEPROM讀取存取序列期間,會先執行虛設 (dummy)寫入運作以產生開始狀況。接著,產生受控裝置 -51 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 B7 五、發明説明Uq ) 位址(包含裝置識別項及記憶組選擇位元)及零位元組位 址。系統100開始存取位元組位址零,並繼續地一次存取 一個位元組,直到偵測到中止狀況。 EEPROM/I2C方塊119也包含兩個專屬連接埠以供快閃 ROM程式規則電壓(FVPP)控制時使用,或者,可用於一般 用途的輸入/輸出。邏輯上,FVPP方塊電路及LED方塊 128完全一樣,但駐存在不同的基位址。LED介面128提 供專屬控制以驅動2個LED指示器。如果不使用LED, LED接腳針也可做爲一般用途輸入/輸出接腳針使用。 在系統1 00的較佳具體實施例中,會在週邊裝置匯流排 102上提供AC97/Inter-IC Sound (I2S)介面120。晶片上多工 器允許使用者選擇連至外部AC97編碼解碼器的連接或連 至外部I2S匯流排的連接。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 根據AC97規格,介面120包含用以接收來自於一個或兩 個外部AC97编碼解碼器之AC97位元時脈(ABITLCK)及序 列資料(ASD1, ASD12)的連接埠,以及用以傳輸同步信號 (ASYNC)、序列資料(ASDO)及重置信號(ARSTn)的連接 埠。一般而言,外部編碼解碼器產生位元時脈ABITCLK, 然後藉由介面120分割以產生同步信號ASYNC。ASYNC 發出每個音訊訊框開始的信號,在位元時脈上升邊緣時在 一 A C 9 7鏈路上傳輸資料,並且在位元時脈下降邊緣時的接 收末端進行取樣。 在較佳具體實施例中,介面120依據2.1版AC97規格來 支援雙重編碼解嗎器架構。圖11A顯示較佳雙重編碼解碼 -52- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標準局員工消費合作社印製 561399 A7 ----—___ B7_ 五、發明説明(50^ ^ ' -- 序列介面。序列資料係從對應的編碼解碼器對經由·輸入接 腳針ASDI和ASDI2以及對應的移位/資料格式器ιι〇ι及 1102來輸入。(如果僅使用一個編碼解碼器,該第二接腳 針可供擴充GPIO功能使用。)這兩個外部編碼解碼器透過 由移位/資料格式器1103所支援的單一資料輸出連接埠 ASDO來接收資料。 序列介面係由位於暫存器檔案1104中的一組暫存器所 控制。暫存姦檔案1104包含一組通用暫存器,通常係用來 設疋AC鏈結及AC鏈結暫存器,以設定連至兩個外部編碼 解碼器之每一個的每個特定鏈路組態。 介面120使用雙重緩衝器機制,以在AC97鏈路與系統記 憶體之間傳送資料。此配置包含4個32位元寬的接收緩 衝器1105及4個32位元寬的傳輸緩衝器11〇6,其具有用 以提供自系統記憶體至AC鏈路之路徑的傳輸緩衝器,以 及用以提供自AC鏈路至系統記憶體之路徑的接收緩衝 器。每個傳送及接收緩衝器都會結構時槽映射暫存器,用 以透過指定AC鏈路時槽來控制資料交換,以及用以定義 要配合對應承載量資料共同使用的資料格式轉換。這些交 換係藉由主機詢問或透過DMA控制器來控制。在詢問的 例子中,主機詢問關聯的緩衝器狀態暫存器,以決定是否 需要填給定的緩衝器,或可透過寫入及讀取來清空。在 DMA運作例子中,會將暫存器檔案11〇4中的緩衝器狀態 位元投送至DMA控制器1〇5,然後處理任何AC鏈路資料 请求’接著由糸統1 〇〇來初始化。 -53- 本紙張尺度適用中國國家標準(〇奶)八4«為(210/297公釐) (請先閲讀背面之注意事項再填寫本頁) b# 561399 _ A7 ~ ~— --~ 在,接崞時序暨控制邏輯11〇7及暫存器謂的控制之 资夕釭/貝料格式器1101至1103允許介面120支援多重 择I、、式例如,單耷迢資料可作爲16位元或20位元取 ::進行處理,其可在記憶體中來調整成正確。針對16 :一取饭,❺投送至AC鏈路時槽時會執行4位元向左移 ' 、ί 0 “ 7已取樣,會將每個Μ位元字組的2〇個l $ b 傳运至AC鏈路時槽。(在較佳具體實施例中,資料係以μ ^凡字組形成來儲存在系統記憶體中。)針對立體聲資 料,可將16位元向左及向右取樣可封裝成32位元字組, 並作爲單一單元進行處理。這些向左及向右取樣經過解封 裝义後,接著向左移位以來填入2〇位元AC鏈路時槽資料 欄位。因爲無法將20位元資料封裝成32位元字組,所以 互體聲20位元資料基本上係處理成兩個獨立的資料流。 經濟部中央標準局員工消費合作社印製 {請先閲讀背面之注意事項再填寫本頁) 在較佳具體實施例中,AC97介面12〇係橫跨Ac鏈路以 48 KHz固定訊框速率執行。當介面12〇接收到資料時,位 於時槽0的時槽有效標記位元代表接下來的時槽包含有效 取樣。然後,僅有來自具有有效時槽位元之時槽的取樣才 能被接收到接收緩衝器中。因此,藉由動態變更有效時槽 位元,即可動態控制來自於AC鏈路的資料輸入取樣頻 率。在貝料傳送到外部編碼解碼器期間,通常會採用按需 要結構。一般而言,於處理器核心101上所執行的軟體設 定用以指示作用中時槽的輸出時槽有效位元,然後,使用 固足取樣率,介面120的序列淳以48 KHz速率將取樣從傳 輸緩衝器傳送至鏈路上的有效時槽。 -54- 本紙張尺度適用中國國家標準(cnsTa4規格) ' -- 561399 A7 B7 五、發明説明(52 ) 多工器1108至1110支援並增強可在AC97相容編碼解碼 器上使用的迴路模式。圖11B顯示匯流排中心迴路,其中 該迴路從傳輸緩衝器1106處開始,並在接收緩衝器1105 處結束。圖11C顯示示範性類比中心迴路,其中該迴路係 在該類比領域中開始及結束。因此,這些迴路通常需要外 部類比測試設備,例如音訊精密系統2 (Audio Precision System 2) 〇 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 根據該I2S規格(Philips半導體),方塊120的I2S介面支 援數位音訊鏈路。此通訊協定運作於3線式介面之上,其 包含序列時脈線、序列資料線及字組選擇線。系統1〇〇 I2S 介面包含符合規格的發射器及接收器。在I2S匯流排規格 背景下,此介面可設定成主控或受控。當設定成I1S主控 時,介面產生序列時脈及字組選擇信號,並分別在 ABITCLK及SYNC接腳針上輸出之。此夕卜,當設定成主控 時,會以主控時脈信號來驅動ARSTn接腳針,通常是字組 選擇速率的256倍。當設定成I2S受控時,會將序列時脈及 字組選擇信號係分別作爲ABITCLK及ASYNC接腳針上的 輸入來接收。受控組態中並未使用主控時脈。對於主控或 受控組態而言,會以相同方式來處理序列資料。輸出資料 係在ASD0接腳針上驅動,而輸入資料則是在ASD1接腳針 上接收。 就I2S運作而言,ABITCLK接腳針係用來輸出序列時脈 SCLK,當介面120係做爲I2S主控時,ASYNC接腳針供 LRCLK使用,並且ARSTn接腳針係供主控時脈MCLK使用 -55- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 A7 B7 五、發明説明(53 ) (當介面120做爲I2S受控時不使用MCLK)。 在採用ARM 920T處理器核心的具體實施例中,其提供 一組一般用途輸入/輸出連接埠121。GPIO方塊121包含 16個單獨的可程式規劃I/O接腳針,其配置成兩個8位元 雙向連接埠。就兩個連接埠的每一個而言,其提供資料方 向暫存器及資料暫存器。資料方向暫存器允許將每個單獨 的接腳針组態成輸入或輸出。GPIO方塊進一步包含連至 週邊裝置匯流排的介面,其產生存取資料所需的讀取及寫 入控制信號。 除了標準GPIO功能以外,系統100中的GPIO方塊121 還包含增強功能。具體而言,已將中斷加入至GPIO接腳 針的每一個,以及用以啓用及遮罩中斷、狀態及測試控制 暫存器的暫存器。 、 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) SPI介面(同步序列介面)122可用於與外部類比轉數位 轉換器及/或數位化器進行通訊。在所示的具體實施例 中,其提供兩個SPI控制器(SPI0及SPI1),用以支援 Motorola SPI 格式、Texas Instruments SPI 格式及 National Semiconductor序列格式。SPI0連接埠可配合AC97接腳針進 行多工傳輸,或配合按鍵矩陣列接腳針進行多工傳輸。 系統100包含三個通用非同步接收傳送(UART)介面123 至125。這些非同步連接埠可用來與(例如)外部RS-232收 發器進行通訊。一般而言,UART 123至125的運作類似於 產業標準16C550 UART裝置。UART 123至125最好與週邊 裝置匯流排1 03來受控,並以最高到115.2 Kbits/sec的傳輸 -56- 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公釐) 561399 A7 B7 五、發明説明(Μ ) 率來運作。在較佳具體實施例中,UART 123至125係以可 向英國劍橋的A R Μ公司購買的ARM Prime Call UART設計 爲基礎。 除了傳統接收及傳送連接埠以外,UART 123 (UART1)也 可接收三個數據機控制信號CTS (清除傳送)、DSR (資料 設定備妥)及DCD (資料載波偵測)(外部數據機硬體產生 關聯的數據機控制信號RTSn、DTRn及RI)。此外, UART1包含HDLC發射器,用以依據HDLC通訊協定來執 行組訊框及位元填塞(bit stuffing)。位於UART1中的HDLC 接收器執行組訊框、位址比對、程式碼替換、CRC檢查以 及視需要在封包末端傳輸CRC總和。 UART2 (124)額夕卜包含IrDA (紅夕卜線資料協會)SIR通訊 協定處理階,用以驅動紅外線發光二極體(LED),並接收 來自於光二極體的資料。 UART3 (123)類似於UART1,除了該數據機控制連接埠 係硬體連線到被動狀態以外。 經濟部中央標準局員工消费合作社印製 (請先閲讀背面之注意事項再填寫本頁) 具有微調(Trim) 126的即時時脈(RTC)其允許32.768 KHz 晶體振盪器的軟體控制數位補償。其優點在於,軟體控制 數位補償允許於製造期間藉由自動測試設備以電子方式校 準振盪器,然後在現場調整。具體而言,在製造過程中會 _ 藉由調整1 Hz時脈頻率來決定振盪器補償値,其包含作爲 整數除法器的計數器預載入値,及要定期刪除之代表 32.768 KHz時脈週期數量的數値。然後,將補償値儲存於 快閃記憶體中。當於現場第一次啓用系統100時,會自記 -57- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 五、發明説明(55 ) 憶體擷取補償値,並用來控制振盪器頻率。 看π狗計時器電路129係以7位元計數器爲基礎,其牽 高有效位U用來觸發看n狗重£信號的產生。在較佳i 體實施例中,產生信號的方式如τ所示:時限/持續時間 =64/看門狗時脈頻率。針對_Ηζ時脈,時限與重置脈衝 持續時間均爲64/200=1 6〇毫秒。 爲了防止發生重置脈衝,軟體必須藉由重置計數器以定 期「啓動監視」,並防止啓動MSB。在較佳具體實施例 中’會藉由將微運算程式碼(0peGde)窝人至對應的看門狗 控制暫存器來重置計數器。在較佳具體實施例中,必須比 時限計算快至少2個時脈週期來「啓動」看門狗,用以指 示允許時脈同步化並負責信號交換延遲。 藉由將適當的微運算程式碼(0pc0de)窝入至看門狗控制 暫存器,即可用軟體來選擇性地啓用及暫止看門狗計時器 129 ^此外,可使用位於CSn⑴處的外部拉下電阻,用硬 體暫止此方塊。再者,可讀取看門狗計時器暫存器以決定 重置的原因。具體而言,暫存器中的位元指示重置狀況是 否是使用者重置、三鍵重置或開機重置或看門狗計時器逾 經濟部中央標準局員工消费合作社印製 期的結果。 圖12顯示經由測試介面控制器(TIC)線束12〇1來協調看 門狗計時器測試的圖式。APB暫存器介面中的暫存器12〇1 係經由週邊裝置匯流排103來與TIC通訊。具體而言,看 門狗控制暫存器係用來控制該輸入多工器、重置狀態及時 脈模式,而看門狗測試時脈啓用暫存器係用來產生於該暫 -58 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0·〆297公嫠) 經濟部中央標準局員工消费合作社印策 561399 A7 ^__— B7 五、發明— — --- 存态時脈測試模式所啓用的時脈。側頻段輸入信號·値係由 看門狗測試輸入剌激暫存器1203所控制。看門狗重置輸出 信號及看門狗計數器數値可在該看門狗監視測試輸出捕獲 暫存器1204處觀察到。 系統控制方塊130通常控制諸如硬體測試模式、時脈控 制、電源管理及系統組態管理之類的中心功能。 除了上述的JTAG測試以外,硬體測試模式可用來提供 進入替代系統開機常式的進入點,並支援自動測試設備的 特足測試。在這些特定的測試中,其爲該振盪器及pLL的 測試,其透過高速匯流排102由系統内部函數的測試介面 控制器(TIC)來測試,使用自動測試圖形產生的掃描測 試’觀祭測試’其可允許内部信號經由該列及欄接腳針到 键盤介面118來監視,驅動所有的浮點,驅動所有的高測 試及驅動所有的低測試,其可造成所有的輸出接腳針來輪 入一浮點,邏輯高或邏輯低狀態,及一 XOR樹狀測試, 其允許所有輸入啓用接腳針可連接到一 XOR樹。 系統100包含兩個鎖相迴路(PLL) 131,用以產生於裝置 運作期間所需的時脈及類似的時序信號。pLL 13ι係使用 系統控制時脈130内的暫存器進行組態。除此之外,會針 對每個PLL分開設定相乘率,其値決定了該參考時脈將相 乘的數罕,藉以產生PLL輸出時脈。此外,該將輸出時脈 可傳送到輸出接腳針以利於觀察,或完全略過給定PLL, 使輸出時脈變成參考時脈。 有關系統100中所使用的較佳時脈產生電路的更完整說 -59- 本紙張尺度適用中國@家標準(CNS ) A4規格(210^^in "^ (請先閲讀背面之注意事項再填寫本頁} 訂
561399 A7 _____B7 五、發明説明(58 ) 經濟部中央標準局員工消费合作社印¾ 表格6 Π)Ε接腳針 接腳針數 說明 CSOjti 1 晶片選擇具有基礎位址lfl)h的暫存器 CSljn 1 晶片選擇具有基礎位址3fl)h的暫存器 DA[2:0] 3 3位元二進位碼位址 DIOR—n/HDMARDY一η/ hstrobe 1 讀取裝置暫存器或資料連接埠的選通信號/ Ultra DMA資料輸入突波的流程控制信號/ UltraDMA資料輸出突波的流程控制信號/ DIOWn/STOP 1 寫入裝置暫存器或資料連接埠的選通信號/ 終oh UltraDMA 突波 DMAKC一n 1 DMA應答DMARQ以起始DMA傳輸 DASPjn 1 用以指示裝置作用中或裝置1存在的信號 DMARQ 1 DMA向該控制器或由該控制器請求DMA INTRQ 1 裝置中斷 IORDY/DDMARDY^n/ DSTROBE 1 取消延長任何主機讀取或寫入存取的主機 傳輸週期/ UltraDMA資料輸出突波的流程控制信號/ UltraDMA資料輸入突波的流程控制信號/ I0CS16一n 1 裝置指示其支援16位元I/O匯流排週期 PDIAG—n/CBLID—n 1 由裝置1確立以指示裝置0已完成診斷/ 纜線組裝類形識別項 DD[15:0] 16 控制器與裝置之間的16位元介面 在PIO模式中,一接腳針介面單元(Pin Interface Unit)處 理所有的運作。IDE主機使用任一方向之非資料及資料傳 (請先閲讀背面之注意事項再填寫本頁) -61 - 本紙張尺度適用中國國家榡準(CNS )八4規格(210X297公釐) 561399 A7 B7 五、發明説明(59 ) 輸的PIO模式。 針對DMA模式,最好透過前文中有關DMA引擎105的 其中一個DMACRC控制器來進行資料傳輸。再者,MDMA 及UDMA模式皆由該主機使用PIO運作來設定。一般而 言,DMACRC控制器執行DMA資料傳輸,其方式爲:(i) 請求AHB匯流排;(11)將來源資料讀入至本機緩衝器;及 (iii)請求經由高速匯流排102以寫入到目的地。就主機讀 取運作而言,DMA控制器嘗試保持輸入讀取緩衝器爲空 的,而就主機寫入而言,其嘗試保持該寫入緩衝器半滿。 典型的資料傳輸係送到系統動態記憶體,因此係經由 SDRAM控制器來完成。 於MDMA運作期間,會分別使用一對Dataln及DataOut 緩衝器以進行讀取及寫入運作。MDMA狀態機器設定該必 要的發信號,其包含將適當的請求傳送至DMA控制器。 在較佳具體實施例中,所有的資料傳輸皆爲32位元寬, 並使用兩個16位元寬的IDE介面資料傳輸來執行。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 於MDMA寫入期間,DMACRC將資料寫入至DataOut緩 衝器,然後狀態機器觸發寫入(DI0W)選通,並驅動位於資 料(DD)匯流排上的資料。於MDMA讀取期間,主機藉由讀 取選通(DIOR)閂鎖離開該資料匯流排的資料來填入Dataln 一 緩衝器,然後狀態機器將請求傳送至DMACRC控制器。當 DMACRC控制器自Dataln緩衝器讀出資料時即完成讀取操 作。 UDMA傳輸係透過一對32位元寬、12個輸入項深的緩 -62- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標隼局員工消费合作社印製 561399 A7 B7 五、發明説明(6〇 ) 衝器來執行,即一個輸入讀取緩衝器及一個輸出寫入緩衝 器。在較佳具體實施例中,這些是使用頭端及尾端指標設 定在記憶體中的環形緩衝器。MDMA狀態機器控制發信 號,其包含產生要傳送至DMA控制器的請求。 於UDMA寫入期間,當寫入緩衝器輸入項數量低於4 時,會傳送DMA請求以填入寫入緩衝器中的4個32位元 輸入項。UDMA狀態機器控制與外部主機裝置的信號交 換。就流程控制而言,IDE介面132暫時不確立控制信號 DDMARDY,並且主機控制選通HSTROBE的切換。 就讀取而言,當讀取緩衝器具有四個或四個以上輸入項 已填滿時,會向DMACRC提出DMA請求。在此情況下, 主機藉由暫時取消確立DDMARDY來控制流程控制,而介 面藉由控制信號DSTROBE的切換來控制流程控制。UDMA 狀態機器再次控制信號交換。 在較佳具體實施例中,會使用「乒乓球」機制來執行資 料傳輸,並提供「寬限」區域來負責當暫停的信號交換以 低於資料傳輸的速率要低的速率進入時的狀況。 UDMA狀態機器也處理傳輸終止,其可由系統100或耦 合至系統100的關聯ATAPI裝置來起始。不論那個裝置終 止交易,另一個裝置即接受終止請求,並停止傳輸。此 _ 外,會將16位元CRC結果傳送至該主機以進行檢查。如 上文所述,在開始傳輸時,會預先載入具有0x4ABA値的 CRC暫存器。 在較佳具體實施例中,系統100的所有方塊或子系統 -63- 本紙张尺度適用中國國家標準(CNS )八4%格(210X29?公釐) (請先閱讀背面之注意事項再填寫本頁) bt
、^T 經濟部中央標準局員工消费合作社印製 561399 A7 B7 五、發明説明(61 ) 101至132均是在單一積體電路晶片上製造而成。此可利 用像是0.25 μιη 、四層金屬製程來完成,雖然也可使用在 本技藝中所熟知的其它製程。在所示的具體實施例中,處 理器核心101係由2.5V標稱電源來運作,雖然在替代具體 實施例中降低電源。在所示具體實施例中,週邊裝置可由 3.3V電源來運作。在此具體實施例中,該處理器核心101 的標稱時脈速率爲200 MHz。 圖13顯示系統100較佳具體實施例中所包含之算數共處 理器1300的高階功能方塊圖。算數共處理器1300是數位 信號處理器(DSP),其配合微處理器核心101運作,並且包 括管道追蹤/控制電路1301、記分板1302及暫存器檔案 1303。主要資料處理方塊包括整數/浮點比較器(FCMP)方 塊1400 (如圖14所示)、浮點加法器(FADD) 1500 (如圖15 所示)以及具有積分加法器的整數/浮點乘法器暨乘法累積 器(MMAC) 1600 (如圖1 6所示)。 比較器1400、FADD 1500及MMAC 1600都是以五階段 (即,解碼暨運算元擷取、執行階段1至3及寫回)運作的 管線裝置。暫存器檔案1303及管線追蹤器1301直接由處 理器101 FCLK提供時脈(「快速時脈」),而加法器 1500、比較器1400及乘法器1600以同步於處理器101的方 一 式運作,但是以半FCLK頻率運作。因此,介於微處理器 暫存器、記憶體介面及算數共處理器暫存器之間的載入及 儲係以全FOLK速率執行,但是算數共處理器計算則是以 半FCLK速度(0PCLK)執行。在所示的具體實施例中,由 -64- 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇X29<7公釐) (請先閲讀背面之注意事項再填寫本頁) -bf.
、?T 561399
7 B 經濟部中央標準局員工消费合作社印製 五、發明説明(62 ) 於會完全記分暫存器檔案並且會連鎖管道,所以程·式設計 人員看不到五階段DSP管道;支援介於管道之間的轉遞, 以避免當必需在下一指令可使用指令結果之前,先將指令 結果寫回暫存器檔案時,會在管道中形成泡泡。 在下文的較佳具體實施例説明中,將下列資料型別視爲 微處理器1300所能使用的最小資料型別集: 表格7 速記法名稱 資料型別 位元數量 暫存器檔案 帶正負號重要性 偏誤指數 £32 單精準浮點 32 24 8 f64 雙精準浮點 64 53 11 acc 72位元擴充精確度 61 11 i32 32位元整數 32 32 i64 64位元整數 64 64 此外,圖8及9分別列出通過乘法器及加法器運算之每 種資料型的的週期計數及等待時間。請注意,每隔時脈週 期單精準浮點及32位元積分乘法運算產生一個結果,而 每隔四個時脈週期雙精準浮點及64位元積分乘法運算產 生一個結果。 -65- 本紙張尺度適用中國國家標準(CNS ) A4規格(21 OX 297公釐) (請先閱讀背面之注意事項再填寫本頁)
561399 A7 B7 五 、發明説明(63 ) 表格8 通過管道之週期計數/等待時間 f32 f64 Acc i32 i64 £32 1/5 f64 4/8 acc i32 1/5 i64 4/8 表格9 通過管道之週期計數/等待時間 f32 f64 acc i32 i64 f32 1/5 1/5 f64 1/5 1/5 acc 1/5 1/5 1/5 1/5 1/5 i32 1/5 1/5 i64 1/5 1/4 共處理器暫存器最好是由16個64位元一般用途暫存器 及四個72位元累積器所組成。基於指令編碼目的,會依 據16個實體一般用途暫存器中所儲存的資料型別來改變 一 其名稱,如圖10所示。 -66- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 561399 經濟部中央標準局員工消费合作社印裝 五、發明説明(μ 表格10 暫存器名稱 F[15;〇] 〇[15:〇] FX[15:〇] DX[15:〇] AX[3:〇] 資料型別 單精準浮點 雙精準浮點 32位元整數 64位元整數 72位元累積器内容 單精準浮點數係儲存在64位元實體暫存器的上半部; 在雙精度計算中使用單精準浮點數之前,必須先將單精準 浮點數明確晉升成雙精度。32位元整數係儲存在64位元 實體暫存器的下半部;因此,在64位元整數計算中可直 接使用32位元整數。 最後的共處理器暫存器是狀態/控制暫存器。附錄A提 供此暫存器的位元説明。 在以ARM V4T處理器核心架構爲基礎的較佳具體實施 例中’定義五個共處理器指令:CDP (Coprocessor Data Processing ;共處理器資料處理)、LDC ( Load Coprocessor ;載入共處理器)、STC ( Store Coprocessor ;儲存共處理 器)、MCR ( Move to Coprocessor from ARM Register ;從 ARM 暫存器移動至共處理器)以及MRC ( Move to ARM Register from Coprocessor ;從共處理器移動至ARM暫存器)。表格 11及15中列出這五個指令的格式。 -67- 本紙張尺度適用中國國家樣準(CNS ) A4規格(210X29?公釐) (請先閲讀背面之注意事項再填寫本頁) 561399
A
7 B 五、發明説明(65 )
表格11 31:28 27:24 23:22 21:20 19:16 15:12 11:8 7:5 4 3:0 cond 11 10 rsvd opcode 1 CRn CRd cp—num Opcode2 0 CRM 表格12 31:28 27:25 24 23 22 21 20 19:16 15:12 11:8 7:0 cond 11 0 P U N W 1 Rn CRd cp—num 8-bit一word一offset 表格13 31:28 27:25 24 23 22 21 20 19:16 15:12 11:8 7:0 cond 11 0 P U N W 0 Rn CRd cpjtmm 8-bit_word_offset (請先閲讀背面之注意事項再填寫本頁)
Γ—
表格14 31:28 27:24 23:22 21 20 19:16 15:12 11:8 7:5 4 3:0 cond 11 10 revd Opcode 1 0 CRn CRd cp一num Opcode2 1 CRM
表格15 31:28 27:24 23:22 21 20 19:16 15:12 11:8 7:5 4 3:0 cond 11 10 revd Opcode 1 1 CRn CRd cpjuun Opcode2 1 CRM 經濟部中央標準局員工消费合作社印裝 每個指令的位元3〗:28是標準ARM條件碼;表格16中提 供其解釋。請注意,條件碼所參考的狀態旗標101是微處 理器101的條件碼旗標(程式狀態暫存器的前四位位元)。 -68 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 561399 7 Β 經濟部中央標準局員工消费合作社印製 五、發明説明(66 ) 表格16 Opcode[31:28] 助記延伸 意義 狀態旗標狀態 0000 EQ 等於 設置Z 0001 NE 不等於 清除z 0010 CS/HS 設置進位/無正負號較 高或相同 設置C 0011 CC/LO 清除進位/無正負號較低 清除C 0100 MI 減號/負號 設置N 0101 PL 加號/正號或零 清除N 0110 VS 溢位 設置V 0111 VC 無溢位 清除V 1000 HI 無正負號較高 設置C並清除Z 1001 LS 無正負號較低或相同 清除C並設置Z 1010 GE 帶正負號大於或等於 設置N並設置V或清除N 並清除V(N=V) 1011 LT 帶正負號小於 設置N並清除V或清除N 並設置V(N!=V) 1100 GT 帶正負號大於 清除Z,並且設置N並設置V 或清除N並清除V(Z=0,N=V) 1101 LE 帶正負號小於或等於 設置Z,或設置N並清痊 V,並設置 V(Z=1,N!=V) 1110 AL 永遠(無條件) 1111 NV 決不 下列解釋前面所呈列之指令格式中的其他位元: (請先閱讀背面之注意事項再填寫本頁)
、1T -69- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐) 561399 A7 B7 五、發明説明(67 ) (1) opcodel : DSP共處理器定義的微運算程式碼 (opcode); (2) opcode2 : DSP共處理器定義的微運算程式碼 (opcode); (3) CRn : DSP共處理器定義的暫存器ID ; (4) CRd : DSP共處理器定義的暫存器ID ; (5) CRm : DSP共處理器定義的暫存器ID ; (6) Rn :指定ARM基位址暫存器。DSP共處理器會忽 略這些位元; (7) Rd :指定來源或目的地ARM暫存器。有些DSP共 處理器指令將這些位元解譯成共處理器定義的暫存 器ID ;大部份指令忽略這些位元; (8) cp-tium :共處理器號碼; (9) P :預索引(P=l)或後索引(P=0)定址。DSP共處理器 會忽略此位元; (10) U :指定是否要將所供應的8位元移位與基暫存器 相加(U=l)或自基暫存器減去(U=0)。DSP共處理器 會忽略此位元; 經濟部中央標隼局員工消费合作社印製 (請先閲讀背面之注意事項再填寫本頁) (11) N :指定涉及移動運算的資料型別寬度。(DSP共處 理器使用此位元來區別單精準浮點數/ 32位元整數 一 (N=0)及雙精準浮點數/ 64位元整數(N=l)); (12) W :指定是否要將已計算位址寫回至基暫存器(W=l) 或不寫回(W=0)。DSP共處理器會忽略此位元;以 及 -70- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 經濟部中央標準局員工消费合作社印製 561399 A7 B7 五、發明説明(68 ) (13) 8位元字組移位:位址計算中使用的移位。DSP共 處理器會忽略這些位元。 附錄B提供算數共處理器1300的較佳指令集。現在將 參考圖17的流程圖及圖14至16的原理圖,以解説算數共 處理器1300的浮點運算。還會進一步配合圖18來討論整 數運算。一般而言,通過五階段所進行的運算如下所示: (1) 於解碼及擷取運算元階段期間,將現行共處理器指 令解碼,並擷取來源運算元。 (2) 於執行階段1期間,於FCMP 1400中執行比較指 令,於MMAC 1600中開始乘法指令的乘法運算,以及於 FADD 1 500中開始加法(減法)指令的指數比較及演算 法; (3) 於執行階段2期間,於MMAC 1600中完成乘法指令 的尾數乘法運算及整數加法,以及於FADD 1500中完成 加法(減法)指令的加法及前導0/1偵測; (4) 於執行階段3期間,於MMAC或FADD 1500中完成 浮點數的正規化及捨入處理。於MMAC中完成整數飽 和;以及 (5) 於寫回階段,將結果寫回至暫存器檔案1303。 於圖17所示的實例中,會於步驟1 7 0 1發生指令解碼暨 運算元擷取階段,其中會將現行指令解碼,並將運算元載 入至來源暫存器。 MMAC、FCMP及FADD資料路徑具有共用的來源運算 源,但具有不同的來源暫存器:FCMP 1400及FADD 1500 -71 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標隼局員工消费合作社印製 561399 A7 B7 五、發明説明(69 ) (來源暫存器)結合AsrcO及BsrcO來源暫存器(「A及B」 來源暫存器),而MMAC結合XsrcO、YsrcO、BsrcO及 CsrcO來源暫存器(「X、Y、B及C」來源暫存器)。除 了暫存器BsrcO及CsrcO以外,所有的來源暫存器都是78 位元寬,並且包含下列攔位: 表格17 助憶鍵(Nemonic) 説明 dblMant 雙精確乘法旗標(1位元) dblExp 雙精確指數旗標(1位元) sign 浮點正負號(1位元) exp 浮點指數(11位位元) mant 浮點尾數或整數(64位位元) MMAC的BsrcO及CsrcO來源暫存器僅供整數計算使用, 並且是64位元寬。 下列爲程式碼説明於步驟1701如何自暫存器檔案載入 78位元來源暫存器。請注意,資料路徑之間所傳遞的運算 元已是78位元格式。 dblMant doubl e dblExp<-double sign<〜integer AND bit [63] exp〜integer AND (bit [62] & (double? bit [61··59]:〜bit [62]*3) & (double? bit [58:52] :bit [61:55])) OR integer AND () mant<"〜integer AND ("01” & (double? bit [51:0] -72- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁)
V 經濟部中央標隼局員工消费合作杜印策 561399 A7 B7 五、發明説明(7〇 )
:(bit [54:32] & zeros (29))) & zeros (10)) OR integer AND (bit [63:32] & (double? bit [31:0]: zeros (32))) 其中:n〜M是位元(Bitwise)補數運算子,n&”是位元字串 貼上(pasting)運算子,”?:”是C語言三元(Ternary)運算子 (用於指定多工(mux) ),"*n”指定藉由重複前一位元η次所 建立的位元字_,以及"zeros(n)"指定由η個零所組成的位 元字串。 於步驟1704,假設比較運算的指令呼叫。換言之,於 步驟1702不需要MMAC運算,於步驟1703也不需要浮點 加法(減法)運算。 就比較指令而言,會從暫存器檔案1303的運算元載入 來源暫存器AsrcO及BsrcO,或從浮點加法器1500或MMAC 1600轉遞運算元。於執行階段1期間發生比較運算。在本 範圍中,於步驟17〇5,64位元比較器1401 (圖14)以單一 時脈週期比較A與B來源暫存器的内容。在比較之前, 可採用任一方或兩方的運算元補償値。於步驟1706,於暫 存器1402中設定對應於微處理器核心101的旗標。 現在請考慮於步驟1703之已解碼指令呼叫浮點加法運 算的情況。在此情況下,會從暫存器1303載入或從MMAC 1600轉遞,以將運算元載入至A及B來源暫存器。於執行 階段1 ,由比較電路1501 (圖1 5 )比較A及B來源暫存器 的指數與加法所採用的通用指數,其最好大於二,並且與 「較大」的尾數關聯(步驟1707)。於步驟1708,藉由對 -73 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210 X297公釐) (請先閱讀背面之注意事項再填寫本頁) b#. 訂 經濟部中央標準局員工消费合作社印製 561399 A7 B7 五、發明説明(71 ) 齊電路1502中的向右移位來重新對齊具有較小指數之浮點 運算元的尾數,以產生「已對齊尾數」。此外,會計算來 自於A及B來源暫存器之正負號位元的負號。 MMAC及FADD中的指數偵測器包含下列爲程式碼所代 表的邏輯: expEQden◊〜(exp[10] OR (dblExp AND (exp[9] or exp [8] or exp[7])) or exp[6] OR exp[5] OR exp[4] OR exp[3] or exp[2] or exp[l] OR exp[0]) expEQmf^-(exp[10] AND (^dblExp OR (exp[9] AND exp[8] AND exp[7])) AND exp[6] AND exp[5] AND exp[4] AND exp[3] AND exp[2] AND exp[l] AND exp[0]) 此邏輯發出作爲反正規化(Denormal)的浮點零信號;其 唯一方式是將52位元偵測器加入至MMAC及FADD中。 現在,異動進行執行階段· 2。於步驟1709,55位元加 法器1503將外加至少一位最低有效位元和正負號擴充對齊 尾數的「較大」尾數與適當的正負號位元相加。於步驟 1710,電路1504採用二的補數,並且由偵測器1505負責 偵測前沿1/0。還會校正異動的正負號以防溢位。 於執行階段3,於步驟1711,依據前沿偵測結果,在電 路1506中將尾數正規化,並且於電路1507校正指數。於 步驟1712,電路1508將尾數四拾五入,並且藉由±1修改 指數。於步驟1713,由移位器1510將已四拾五入的尾數 -74- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁)
561399 A7 B7_____ 五、發明説明(72 ) 重新正規化。然後,於步驟1714,_鏈尾數及異'動正負 號。於步驟1715,將結果轉遞至MMAC 1600、浮點比較 器1400及/或轉遞至暫存器檔案1303。 接著,假設於步驟1702,已解碼指令導致MMAC運 算,於步骤1716,運算是浮點乘法運算。於解碼及擷取運 算元階段期間,依據如上文所述之配合加法運算的邏輯, 從暫存器檔案13〇3或從浮點加法器1500載入X來源(XsrcO) 及Y來源(YsrcO)暫存器。 於執行階段1,於步驟1717,閘極1601執行X與Y正 負號位元的互斥(XOR)運算,加法器1602計算X與Y指數 總和。首先,於步驟1718設定多工器以使Ppart=0 。此 外,於執行階段1期間,在32位元乘32位二的補數乘法 器陣列1603中的尾數乘法運算開始。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) MMAC 1600可執行兩個32位元浮點數的單精度乘法運 算’或兩個64位元浮點數的雙精度乘法運算(步驟ι719 ) 。請考慮第一種單精度乘法運算情況。在此情況下,於步 驟1720,在32位元乘32位二的補數乘法器陣列1603中將 帶正負號32位元X與γ尾數相乘。接著,於執行階段2 期間,72位元定點加法器1604將來自於乘法器陣列16〇3 的部份和及部份進位與暫存器ppartl的内容(目前設爲零) 相加(步驟丨721 )。於步骤m2,可由Μ位元移位暫存器 1605將相加結果向右移位。於步驟1723,於拾入電路16〇6 中將已移位結果捨入,藉由電路1607將指數調整士丨以作 爲捨入運算函式,並且藉由在電路1608中移位並在電路 -75- ^紙張尺度適用中國國家標準(CNS ) A4規格(210 X 297公董) """"~~ ----- 561399 A7 B7 五、發明説明(73 ) 1609中飽和,將尾數重新正規化。於步驟1724,串鏈指數 正負號及尾號,並且於步驟1725,將結果轉遞至FCMP 1400、FADD 1500及/或暫存器檔案1303。 現在請考慮步驟1719需要雙精度乘法運算的情況。雙 精度乘法運算處理序需要五個時序週期。首先,於步驟 1726,於乘法器陣列1603中將X來源及Y來源暫存器中 尾數的無正負號較低32位元相乘。此項步驟最好是使用 位於乘法器陣列輸入的多工器來執行。於步驟1727,定點 加法器1604將陣列的輸出與暫存器Ppartl的關聯進位位元 和内容(在第一時序週期係設爲零)相加。 於步驟1728,選擇加法器1604的輸出、向右移位32位 元、正負號擴充作爲Ppartl的新値。然後,於步驟1729, 將來自於X來源暫存器的無正負號較低32位元與來自於 Y來源暫存器的無正負號較高32位元相乘。於步驟 1730,將來自於乘法器陣列的輸出(包括進位位元)Ppartl 的内容相加。於步驟1731,選擇來自於加法器1604的72 位元輸出作爲新的Ppartl内容。 然後,於步驟1732,在X來源暫存器中的帶正負號較 高32尾數位元與Y來源暫存器中的無正負號較低32尾數 位元之間執行下一個乘法運算。然後,於步驟1733,將乘 法運算結果(包括進位位元)Ppartl相加。於步驟1734,選 擇Ppartl的新値作爲自加法器1604向右移位32位元所輸出 的總和。於步驟1735,在乘法陣列中發生最後的乘法運 -76- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 561399 A7 B7 五、發明説明(74 ) 算,其中將來自於X來源暫存器的帶正負號較高,32尾數 位兀與來自於Y來源暫存器的帶正負號較高3 2尾數位元 (請先閎讀背面之注意事項再填寫本頁} 相乘。然後,於步驟1736,將乘法運算結果(包括進位位 元)相加。 接下來繼續進行的雙精度應用程序與步驟1722至1725 的單精度應用程序相同,其中加法器輸出會選擇性經過移 位、捨入、飽和及重新正規化,然後轉遞至浮點加法器或 浮點比較器,或轉遞至暫存器檔案,以進行額外運算。 浮點單元也執行一些指令,以決定浮點運算元絕對値、 使浮點運算元相反、將整數轉換作浮點形式,以及將雙精 度運算元轉換成單精度運算元。在較佳具體實施例,中,執 行這些運算的方式如下。 於步驟1737,決定浮點絕對値運算。於步驟ms,輸 入對應的信號NaN (Not a Number ;不是一個數字)。然 後,於步驟1739及1740,設置無效旗標,並將正負號位 元設爲零。接著程序跳至步驟丨725,將尾數及指數與新正 負號_鍵。 經濟部中央標準局員工消费合作社印装 於步驟1 741針對浮點相反運算,於步驟1742輸入信號 NaN。於步骤1743設置無效旗標,並且於步驟1744將正負 號位元反向。然後,程序跳至步驟1725。 若要於步驟1745將整數轉換成浮點値,請先決定運算 元疋否是32位元或是64位元整數(步骤1746 )。就是32位 元整數而言,於步驟1747,將運算元正負號擴充成64位 元。於步驟 1748至1084 ,設定起始移指數(biased -77- 本紙張尺度適用中國國家標準(CNS〉A4規格(210X297公廣) 經濟部中央標準局員工消费合作社印製 561399 A7 --- -B7 五、發明説明TJTi — exponent)。於步驟丨749,採用提供給加法器的第一運算元 (〇pl)作爲64位元値,採用加法器第二運算元(〇pt2)作爲 零。程序跳至步驟1710,就如上文所述之浮點加法運算的 方式將這兩個運算元相加。 於步驟1751,解説將雙精度至單精度運算的執行。先 決疋尾數是否太大或太小,如果「是」,則設置對應的旗 標(步驟1752 )。於步驟1752,將輸入運算元處理成單精 度。程序再次跳至步驟1735。 最後,於步驟丨75丨,如果已解碼指令未叫用(inv〇ke)雙 精度轉單精度轉換,則於步驟1754將896値與値數相加, 並於步驟1755,將尾數的29位最低有效立元設爲零,然 後轉遞新値。 圖18顯示用以説明MMAC 16〇〇中示範性整數運算的流 程圖。於步骤1801 ,假設已解碼指令呼叫加法或減法運 算。於所示的具體貫施例中,MMAC 1600可執行64位元 雙精度或位元單精度算數運算。於步驟18〇2針對U位 元運算,然後於步驟18〇3,將來自於B及c來源暫存器 (CsrcO及BsixO)的32位正負號擴充整數多工傳輸至?2位 70疋點加法器16〇4的輸入。針對64位元加法或減法,將 B及C來源暫存器的64位元内容切換至加法器16〇4的輸 入。於步骤1 8〇6發生加法或減法運算。 然後於步驟1807,可由移位器16〇5將加法器16〇4的直 接結果向左或向右移位。於步骤18〇8,可將加法(減法)結 果經過飽和及捨入,於步驟18〇9,將結果轉遞至浮點加 C請先閲讀背面之注意事項再填寫本頁j
-78- 561399 經濟部中央標準局員工消费合作社印製 Α7 Β7 五、發明説明(76 ) 器、浮點比較器及/或暫存器檔案。 接著,請考慮於步驟1801已解碼指令呼叫乘法運算的 情況。就整數乘法運算而言,MMAC 1000可運算32位元 或64位元資料。先假設於步驟1810處理32位元運算元。 於步骤ίδιο設定多工器,以將零載入至暫存器Ppart。 然後於步驟1812,在二的補數乘法器陣列1603中將帶正 負號32位元X與γ整數相乘。然後於步驟1813,定點加 法器16〇4將來自於乘法器陣列的總和及進位位元與暫存器 Ppartl的内容相加。 在如本文附錄B所提供的較佳具體實施例中,可於同一 指令週期期間執行32位元運算元的額外運算。所提供的 指令是位元整數相乘-相加、32位元整數相乘-相減、 32位元整數相乘·相加結果至累積器、32位元整數相乘_ 相減結果至累積器、32位元整數相乘·相加至累積器,以 及來自於累積备指令的32位元整數相乘-相減。圖i8中的 步驟1814至1817代表這些運算。 於步驟1814及1815,發生32位元加法或減法運算。暫 存器中加法的來源可能是累積器161〇 (圖16)的其中一 個,或是C或B來源暫存器的其中一個。於步驟i8i6, 將所需的指令儲存於累積器中,於步驟1817發生累積。因 此,程序可跳至㈣18G7i刪,其中可將結果選擇性 經過移位及/或飽和及捨入缺体絲、麻 4又心入,然後轉遞至暫存器檔案或轉 遞至算數共處理器内的另一個功能單元。 就步.丨丨來18丨0的64位元敗料金土,落常 、 |上%正数乘法運异而言,將零載入至 -79- &張尺度適用中晒家標準(CNS -- (請先閲讀背面之注意事項再填寫本頁)
561399 經濟部中央標準局員工消費合作社印製 A7 五、發明説明(77 暫存器Ppart (步驟Ιδίδ)。於步驟1819,於乘法器陣列中 將無正負號較低32位元X及Y整數相乘,並於步驟182〇 將Psuml、Pcarryl結果與ppart内容相加。接著,將加法 器1604的輸出向右移位32位元,並成爲暫存器ppart的新 値(步驟1821 )。 於步驟1822,於乘法器陣列中將來自於χ來源暫存器 的無正負號較低32位元整數與來自於γ來源暫存器的無 正負號較高32位元整數相乘。然後於步驟1823,於定點 加法器中將結果Psuml與暫存器ppartl的進位位元和内容 相加。於步驟1824,載入至暫存器ppartl的新値是加法器 的輸出。 接著於步驟1825,將來自於χ來源暫存器的帶正負號 較高32位元與來自於Y來源暫存器的無正負號較低32位 元相乘。於步驟1826,將部份和及部份進位與暫存器 Ppartl的内容相加。於步驟1827,將加法器的輸出向右移 位32位元,並成爲儲存於暫存器Ppanl中的新値。 最後於步骤1828,將來自於χ來源暫存器的帶正負號 較高32位元與來自於Y來源暫存器的帶正負號較高32位 元相乘。於步驟I829,將結果Psuml及Pcarryl與暫存器 Ppartl的内容相加。然後,透過執行階段3來處理結果(亦 即,步骤1807至1809 )。 在處理器核心101係以ARM 920T裝置爲基礎的較佳具 體實施例中,會經由包裝(wrap)基礎ARM共處理器載入/ 儲存及執行指令的聚集爲指令來實現算數共處理器(DSp) -80 - 本紙張尺度適用中國國家標準(CNS ) A4g ( 210X297公缝) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消费合作社印裝 561399 A7 __B7_ 五、發明説明(78 ) 的組合語言程式設計。ARM SDT 2.50組合語言、GNU工 具集的氣體(gas)组合語言及 Microsoft/BSquare Windows CE 組合語言均支援這些聚集。支援DSP的C/C++編譯器適用 於DSP指令集的浮點子集,並且經由可呼叫C的組合語言 來提供存取整數MAC單元。支援算數共處理器的其中一 個最佳 C/C++ 編譯器是 Cygnus Solutions 的 GNUPro/EGCS/gcc 編譯器。 雖然本文中參考具體實施例來解説本發明,但是這些説 明不應視爲限制本發明。在參考本發明的説明之後,相關 技藝人士應明白所發表之具體實施例的各種修改以及本發 明的替代具體實施例。熟知技藝人士應可瞭解到所揭示的 觀念及特定的具體實施例可立即做爲一基礎來修正或設計 其它的結構,以達到與本發明相同的目的。熟知技藝人士 應明白此類的同等建構不會脱離如隨附之申請專利範例所 提出的本發明範®壽與精神。 因此,其可暸解到,申請專利範圍將涵蓋屬於本發明眞 實範圍内的任何此類修改或具體實施例。
附錄A
DSPSC 預設値·· 0x00000000 定義:DSP狀態/控制 位元定義: DAID [2:0] DSP 架構 ID (DSP Architecture ID)。針對整體 DSP共處理器架構修訂版(末來修訂版可支援 -81 - ^紙張尺度適用中國國家標準(CNS ) A4規格(210X29*7公釐) ^ (請先閲讀背面之注意事項再填寫本頁) 、π 561399 經濟部中央標隼局員工消费合作社印製 A7 B7五、發明説明(79 ) 多重MAC單元)將會遞增此項唯讀値·,專用 000=第一架構。 HVID[2:0] 硬體版本 ID (Hardware Version ID)。每當 DAID[2:0]所命名的架構硬體實作變更時,將 會遞增此項唯讀値,通常會響應除錯來完成。 000=第一版本。 V 溢位旗標(Overflow Flag)。指示整數運算溢 位。 0 =無溢位(重置預設値)。 1 =溢位。 RM[1:0] 捨入模式(Rounding Mode)。選擇 IEEE 754 捨入 模式。 00=捨入至最接近的値(重置預設値)。 01=捨入至0。 1 0=捨入至-〇〇。 11=捨入至+〇〇。 IXE 啓用不精確捕捉(Inexact Trap Enable)。啓用/暫 止軟體捕捉IEEE 754不精確例外狀況。 0=暫止軟體捕捉不精確例外狀況(重置預設 値)。 1 =啓用軟體捕捉不精確例外狀況。 UFE 啓用下溢捕捉(Underflow Trap Enable)。啓用/暫 止軟體捕捉IEEE 754下溢例外狀況。 0=暫止軟體捕捉下溢例外狀況(重置預設 -82- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) bf. 訂
經濟部中央標準局員工消費合作社印製 561399 A7 B7 五、發明説明(8〇 ) 値)。 1=啓用軟體捕捉下溢例外狀況。 OFE 啓用溢位捕捉(Overflow Trap Enable)。啓用/暫 止軟體捕捉IEEE 754溢位例外狀況。 0=暫止軟體捕捉溢位例外狀況(重置預設 値)。 1=啓用軟體捕捉溢位例外狀況。 DZE 啓用除數爲零捕捉(Divide By Zero Trap Enable) 。啓用/暫止軟體捕捉IEEE 754除數爲零例外 狀況。 0=暫止軟體捕捉除數爲零例外狀況(重置預設 値)。 1=啓用軟體捕捉除數爲零例外狀況。 IOE 啓用無效運算子捕捉(Invalid Operator Trap
Enable)。啓用/暫止軟體捕捉IEEE 754無效運 算子例外狀況。 0=暫止軟體捕捉無效運算子例外狀況(重置預 設値)。 1=啓用軟體捕捉無效運算子例外狀況。 IX 不精確(Inexact)。當發生ffiEE 754不精確例外 _ 狀況時所設定的狀態位元(無論是否啓用軟體 捕捉不精確例外狀況)。寫入「1」至此位置 會清除狀態位元。 0=未偵測到不精確例外狀況(重置預設値)。 -83 - 本紙張尺度適用中國國家標準(CNS ) A4g ( 210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
經濟部中央標準局員工消費合作社印裝 561399 A7 B7 ___ 五、發明説明(81 ) 寫入Γ 0」至此位置會被忽略。 偵測到不精確例外狀況。寫入r 1」至此 位置以清除。 UF 下溢(Underflow)。當發生IEEE 754下溢例外狀 況時所設定的狀態位元(無論是否啓用軟體捕 捉下溢例外狀況)。寫入Γ 1」至此位置會清 除狀態位元。 0==未偵測到下溢例外狀況(重置預設値)。窝 入「0」至此位置會被忽略。 1=偵測到下溢例外狀況。寫入Γ 1」至此位 置以清除。 〇F 溢位(Overflow)。當發生IEEE 754溢位例外狀 況時所設定的狀態位元(無論是否啓用軟體捕 捉溢位例外狀況)。窝入Γ 1」至此位置會清 除狀態位元。 〇=未偵測到溢位例外狀況(重置預設値)。窝 入「〇」至此位置會被忽略。 1=偵測到溢位例外狀況。寫入Γ 1」至此位 置以清除。 DZ 除數爲零(Divide By Zero)。當發生IEEE 754除 數爲零例外狀況時所設定的狀態位元(無論是 否啓用軟體捕捉除數爲零例外狀況)。寫入 「1」至此位置會清除狀態位元。 〇=未偵測到除數爲零例外狀況(重置預設 -84 - 本紙張尺度適用中國國家標準(CNS〉A4規格(210X297公缝〉 (請先閱讀背面之注意事項再填寫本頁) 訂
561399 A7 B7 經濟部中央標準局員工消费合作社印«. 五、發明説明U ) 値)。寫入「〇」至此位置會被忽略。 1=偵'測到除數爲零例外狀況。寫入「i」至 此位置以清除。 10 無效運算子(Invalid Operator)。當發生 IEEE 754 無效運算子例外狀況時所設定的狀態位元(無 論是否啓用軟體捕捉無效運算子例外狀況)。 寫入「1」至此位置會清除狀態位元。 〇=未偵測到無效運算子例外狀況(重置預設 値)。寫入Γ 〇」至此位置會被忽略。 1 =偵測到無效運算子例外狀況。寫入Γ 1」 至此位置以清除。 附錄B 指令集 備註: 1 ) 指定編碼中色彩較暗的攔位指出DSP共處理器會忽略 這些位元。 2 ) 每個指令助記符號的<cond>部份代表標準ARM條件 助記符號延伸(請參閱表格15第二欄)。 3 ) 共處理器號碼4與單精度與雙精度浮點數關聯。 4 ) 共處理器號碼5與32位元與64位元整數關聯。 5 ) 共處理器號碼6與累積器與DSPSC暫存器關聯。 -85- 本紙張尺度適用中國國家標準(CNS〉A4規格(210、χ297公釐) (請先閱讀背面之注意事項再填寫本頁)

Claims (1)

  1. 561399 第090112103號專利申請案 中文申請專利範圍替換本(92年6月) As Β8 C8 D8
    六、申請專利範菌 1· 一種算數共處理器,包括: 一乘法器-累積器單元,包括: 煩讀委員明示 .f f αϋ之 ^'正本有無&^^.:“: ^ 一乘法器陣列,用以選擇性乘第一及第二運算 兀,琢第一及第二運算元具有選自包括浮點及整數資 料型別的資料型別; 一加法器,用以選擇性執行第三與第四運算元的 加法及減法運算;以及 乘法器電路’用以將該第三與第四運算元選擇性 I f 傳迗至孩加法器的輸入,該乘法器電路會從一組關聯 來源暫存器、來自於該乘法器陣列的資料輸出及來自 於戎加法器的資料輸出等内容中選取該第三與第四運 算元。 2.如申請專利範圍第1項之共處理器,其中該第三及第 四運算元包括整數。 3·如申請專利範圍第1項之共處理器,其中該乘法器…系 積器單7L可於雙精度乘法運算期間運作,以執行下列 作業: 將來自於一第一來源暫存器的一無正負號第一組位 元與來自於一第二來源暫存器的一無正負號第一組位 元相乘,以產生一第一乘積及第一進位位元; 將該第一乘積和該第一進位位元與一第一内容相 加,以產生一第一總和; 將來自於該第一來源暫存器的該無正負號第一組位 兀與來自於該第二來源暫存器的—無正負 二組位 561399 修正補充 A8 B8 C8 D8 六
    。之 申請專利範圍 元相乘,以產生一第二乘積及第二進位位元; 將該第二乘積和該進位位元與該第一總和相加,以 產生一第二總和; 將來自於該第一來源暫存器的一帶正負號第二組位 元與來自於該第二來源暫存器的該無正負號第一組位 元相乘,以產生一第三乘積及進位位元; 將該第二總和及進位位元與該第三乘積相加,以產 生一第三總和; 將來自於該弟一來源暫存器的該帶正負號第二組位 元與來自於該第二來源暫存器的該帶正負號第二組位 元相乘,以產生一第四乘積;以及 將該第四乘積與該第三總和相加(該第三總和經過選 擇性移位),以產生一該第一來源暫存器與該第二來源 暫存器的内容乘積。 4.如申請專利範圍第3項之共處理器,其中來自於該第 一來源暫存器及該第二來源暫存器的第一組位元都包 括來自於該第一來源暫存器及該第二來源暫存器中所 儲存之整數的上一組位元。 5. 如申請專利範圍第3項之共處理器,其中來自於該第 一來源暫存器及該第二來源暫存器的第一組位元都包 括來自於該第一來源暫存器及該第二來源暫存器中所 儲存之尾數的上一組位元。 6. 如申請專利範圍第3項之共處理器,其中來自於該第 一來源暫存器及該第二來源暫存器的第二组位元都包 -2- 本紙張尺度適用中國國豕標準(CNS) A4規格(210 X 297公董) 561399 HVV丨丨
    六、申請專利範園 嗲煩 平讀 有 響r J. ¥ iL 括來自於該第—來源暫存器及該第二來源暫存器中所 儲存之整數的下一組位元。 如申請專利範圍第3項之共處理器,其中來自於該第 -來源暫存器及該第二來源暫存器的第二組位元都包 括來自於該第一來源暫存器及該第二來源暫存器中所 儲存之尾數的下一組位元。 8.如申清專利範圍第}項之共處理器,該共處理器進一 炎步,括-浮點比較器,用以選擇性比較在一組來源暫 存器中所呈現的運算元。 9·如申印專利範圍第1項之共處理器,該共處理器進一 步包括-浮點加法器,用以執行在一組來源暫存器中 所呈現之運算元的加法及減法運算。 1〇. 一種數位信號處理器,包括: 十乘法器-累積器,用以對擷取至一組來源暫存器的 ^算Γ選擇性執行整數和浮點乘法運算,以及整數加 μ — /予點加法器,用以對擷取至該組來源暫存器的運 算疋選擇性執行浮點加法運算;以及 車乂器,用以對擴取至該組來源暫存器的運算元 選擇性執行比較浮點運算。 u·如申請專利範圍第10項之數位信號處理器,其中 法器-累積器單元包括: 乘法器陣列,用以選擇性將浮點尾數與整數 乘; 297:i) 裝 6 5 3 'Λ心 修補 Q 1 6年 ABCD 六、申請專利範圍 — ^ 一走點加法器,用以對包括來自於該組來源暫存器 之整數的資料以及該乘法器陣列所產生的乘積選擇性 執行加法運算;以及 II 一包括一暫存器的累積器,用以累積該定點加法器 秦i 所產生的結果。 广厂:, f'+ί I2·如申請專利範圍第η項之數位信號處理器,其中該乘 . 法器-累積器單元包括一移位暫存器,用以將包括來自 欺,:1· | !於该組來源暫存器之運算元及該定點加法器所產生之 ; 結果的資料選擇性移位。 〆 ^ 13·如申請專利範圍第u項之數位信號處理器,其中該數 、“ 位彳a號處理器包括一配合一微處理器運作的算數共處 理器。 14.如申凊專利範圍第丨丨項之數位信號處理器,其中該數 位仏唬處理器包括一配合一精簡指令集電腦運作的共 處理器。 15·如申請專利範圍第u項之數位信號處理器,其中該乘 法器-累積器包括電路,用以將結果選擇性直接傳遞至 該浮點加法器,以防止管道泡泡。 16. 如申請專利範圍第u項之數位信號處理器,其中該浮 點加法器包括電路,用以將結果選擇性直接傳遞至該 乘法器-累積器,以防止管道泡泡。 17. 如申請專利範圍第n項之數位信號處理器,其中該乘 法器-累積器包括: 乘法器陣列,用以於一第一時脈週期期間該第 -4- 561399 〒·八修正
    申請專利範圍 一及第二運算元相乘; 煩讀委商:明二:, 嗲正^-有燕変π dl V -定點加法器’用以於一第二時 於該乘法器陣列的結果與—第三運算^加二將來自 二累:器暫存器,用以於該第二時脈週期期: 一孩加法器所輸出的總和。 啫存 18. Γ料Γ可用來執行整數及浮點運算之乘法器中執r 算數運算之方法,該方法包括下列步驟: T 響應一第一指令’執行一第一與第二帶正負號浮點 運异7^的單精度乘法運算,其包括下列子步驟: 將第一與第二運算元的指數相加; 於一乘法器陣列中將該等運算元之每一個的一帶 正負數尾數相乘,以產生一乘積及一進位位元; 使用一定點加法器將該部份乘積及進位位元與一 常數相加,以產生一中間結果; 選擇性捨入及重新正規化該中間結果;以及 響應一第二指令,執行第一與第二整數的單精度乘 法運算,其包括下列子步驟: 於一乘法器陣列中將該帶正負數第一及第二整數 相乘’以產生一乘積及一進位位元; 使用一定點加法器將該乘積及進位位元與一常數 相加,以產生一中間結果;以及 選擇性捨入及重新正規化該中間結果。 19. 如申請專利範圍第1 8項之方法,該方法進一步包括響 應一第三指令,執行該第一與第二浮點運算元之雙精 本紙張尺度適用中國國豕標準(CNS) Α4規格(210 X 297公爱)
    度乘法運算的步驟,其包括下列子步騾: 將第一與第二運算元的指數相加; 賣青 fek'm r? L、. 蠢.. ^'正本有無變更费^^:.: >#IL ,.ί 於該乘法器陣列中將該第一運算元尾數的無正自數 較低位元與㈣二運算元尾數的無正負數較低位元相 乘,以產生一第一部份乘積及一進位位元; 使用該足點加法器將該第一部份乘積及進位位元與 一常數相加,以產生一第一中間結果; 於泫乘法器陣列中將該第一運算元尾數的無正負數 較低位元與該第二運算元尾數的無正負數較高位元相 乘,以產生一第二部份乘積及第二進位位元; 藉由一所選移位計數,選擇性移位該第一中間結 果; 使用該定點加法器將該第二邵份乘積及第二進位位 元與該已移位第一中間結果相加,以產生一第二中間 結果, 於該乘法器陣列中將該第一運算元尾數的帶正負數 較高位元與該第二運算元尾數的無正負數較低位元相 乘,以產生一第三部份乘積及第三進位位元; 使用該定點加法器將該第三部份乘積及第三進位位 元與該第二中間結果相加,以產生一第三中間結果; 於該乘法器陣列中將該第一運算元尾數的帶正負數 較高位元與該第二運算元尾數的帶正負數較高位元相 乘,以產生一第四部份乘積及第四進位位元; 藉由一所選移位計數,選擇性移位該第三中間結 本紙張尺度適财_1橾準(CNS) A4規格(210 X 297公策) 561399j_____—:—_ % % A8 補充 S ——"· ------__J D8 、申請專利範圍 果; 煩讀委37 Jan. ¥ ί‘提之 使用該定點加法器將該第四部份乘積及第四進位位 元與該已移位第三中間結果相加,以產生一第四中間 結果;以及 選擇性捨入及重新正規化該第四中間結果,以產生 一最後乘積。 20.如申請專利範圍第18項之方法,該方法進一步包括執 [行該第一與第二帶正負號整數之雙精度乘法運算的步 驟,其包括下列子步驟: 於該乘法器陣列中將該第一及第二整數的無正負數 較低位元相乘,以產生一第一部份乘積及第一進位位 元; 使用該定點加法器將該第一部份乘積及第一進位位 元與一常數相加,以產生一第一中間結果; 於該乘法器陣列中將該第一整數的無正負數較低位 元與該第二整數的無正負數較高位元相乘,以產生一 第二乘積及第二進位位元; 藉由一所選移位計數,選擇性移位該第一中間結 果; 使用该走點加法器將該弟二部份乘積及進位位元與 該已移位第一中間結果相加,以產生一第二中間結 果; 於該乘法器陣列中將該第一整數的帶正負數較高位 元與該第一整數的無正負數較低位元相乘,以產生一 9— 9 3 11 6 5 92年 正¾修補一 A BCD 六、申請專利範園 伞、樣 有- it 上提 ,之 第三乘積及第三進位位元; 使用该足點加法器將該第二中間結果與該第三部份 乘積及第三進位位元相加,以產生一第三中間結果; 於該乘法器陣列中將該第一及第二整數的帶正負數 較高位元相乘,以產生一第四部份乘積及第四進位位 元; 藉由一所選移位計數以移位該第三中間結果; 使用該定點加法器將該已移位第三中間結果與該第 四邵份乘積及第四進位位元相加,以產生一第四中間 結果;以及 選擇性捨入及重新正規化該第四中間結果,以產生 一最後乘積。 21·如申請專利範圍第18項之方法,該方法進一步包括響 應一第三指令,於該乘法器中將該第一與第二整數相 加的步騾,其包括下列子步驟: 該第一與第二整數提供至構成該乘法器一部份之該 定點加法器的對應輸入;以及 使用該定點加法器將該第一及第二整數相加。 22·如申請專利範圍第丨8項之方法,該乘法器進一步包括 至少一累積器,並且該執行單精度乘法運算的步驟進 一步包括下列子步騾: 將一第三整數與該中間結果相加,以產生一總和; 將該總和儲存於該累積器中。 23.如申請專利範圍第丨8項之方法,該乘法器進一步包括
    561399 9¾ 6/ 11 申請專利範園 A8 B8 C8 D8 至少一累積器,並且嗜鈾h w 上且4執仃早精度乘法運算的步驟進 一步包括下列予步驟·· 將該中間結果減去一第- 乂云弟二整數,以產生一結果;以 JL' 本 i-: +· 修」 正, 及 將該結果儲存於該累積器中。 24·如申請專利範圍篦! R艰士、 t 图罘18項艾万法,該乘法器進一步包括 至V累積器並且该執行單精度乘法運算的步騾進 一步包括下列子步驟: 將該中間結果與一儲存於—累積器中的數值相加; 以及 將該相加子步驟的結果儲存於一累積器中。 25·如申請專利_ 18項之方法,該乘法器進一步包括 至少一累積器,並且該執行單精度乘法運算的步騾進 一步包括下列子步驟: 將該中間結果減去一儲存於一累積器中的數值;以 及 將該減法運算子步驟的結果儲存於一累積器中。 26. —種用以操作一處理器之方法,該處理器包括一乘法 器陣列、一定點加法器及一浮點加法器,該指令集包 括· 將第一與第二運算元相乘以響應一第—指令集,在 該乘法器陣列中會將該第一與第二運算元之每一個的 至少部份位元相乘,並且藉由該定點加法器將一乘法 運鼻結果與一弟三值相加; 本紙張尺度適用巾目g家標準(CNS) A4規格(21GX 297公董5 ' B - 以使用该定點加法器將第一與第二整數相加以考 應一第二指令集;以及 用以於該浮點加法器中將第一與第二浮點值相加6 響應一第三指令集。 27. 如申請專利範圍第%項之方法,其中該將第一與第二 運算元相乘包括: 使用該乘法器陣列及該定點加法器將第一與第二整 數運算元相乘以響應至少一指令;以及 使用該乘法器陣列及該定點加法器將第一與第二浮 點運算元相乘以響應至少一指令。 28. 如申請專利範圍第%項之方法,其中該第一指令集包 括: 執行該第一與第二運算元的雙精度乘法運算以響應 至少一指令;以及 日% 執行該第一與第二運算元的單精度乘法運 至少一指令。 音應 29·如申請專利範圍第26項之方法,進一步 你在第一與 弟二賀料型別之間轉換資料以響應一第四指令集 3〇·如申請專利範圍第26項之方法, ^ T藏弟—資料型別 匕括洋點資料,而該第一資料型別包括整點資料。 31·如申請專利範圍第26項之方法,其中該第一、次、,° 包括單精度資料’而該第一資料型別 貝別 料。 叉褙度資 32.如申請專利範圍第26項之方法, ' 括以一所451 -10- 561399 92· 6· ί 1 修正 年$ a4亡 補无 A8 B8 C8 D8 申請專利範圍 修頫 正請ί# 無Θ 變-I mi 准 予.4 修砂. 正·援 I? 方向將資料移位一所選位元數量以響應一第四指令 集。 33. 如申請專利範圍第26項之方法,進一步包括在一浮點 比較器電路中選擇性比較第一與第二浮點數以響應一 第四指令集。 34. 如申請專利範圍第26項之方法,進一步包括採用一所 選運算元的絕對值以響應一第四指令集。 35. 如申請專利範圍第26項之方法,進一步包括使一所選 運算元的值相反以響應一第四指令集。 11 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
TW090112103A 2000-06-09 2001-05-21 Math coprocessor TW561399B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/591,659 US6912557B1 (en) 2000-06-09 2000-06-09 Math coprocessor

Publications (1)

Publication Number Publication Date
TW561399B true TW561399B (en) 2003-11-11

Family

ID=24367355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090112103A TW561399B (en) 2000-06-09 2001-05-21 Math coprocessor

Country Status (4)

Country Link
US (2) US6912557B1 (zh)
AU (1) AU2001259389A1 (zh)
TW (1) TW561399B (zh)
WO (1) WO2001097007A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI391857B (zh) * 2006-02-02 2013-04-01 Ibm 處理非同步管線之資料快取失誤亂序之裝置及方法
TWI427305B (zh) * 2011-12-24 2014-02-21 Hon Hai Prec Ind Co Ltd Pci-e訊號測試裝置
TWI484392B (zh) * 2008-09-23 2015-05-11 Holtek Semiconductor Inc 觸碰面板的判讀方法與裝置
TWI575448B (zh) * 2014-03-26 2017-03-21 英特爾股份有限公司 三個來源運算元浮點加法處理器、方法、系統及指令
TWI599951B (zh) * 2014-12-24 2017-09-21 英特爾股份有限公司 用於融合乘法乘法指令的處理器、方法及系統
US11099814B2 (en) 2016-10-12 2021-08-24 Semiconductor Energy Laboratory Co., Ltd. Neural network semiconductor device and system using the same

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7304952B2 (en) * 2002-05-21 2007-12-04 Applied Micro Circuits Corporation Protocol-mapping network access device with user-provisionable wide area network flow control
EP1462934A1 (en) * 2003-03-29 2004-09-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for forwarding of results
US7373369B2 (en) * 2003-06-05 2008-05-13 International Business Machines Corporation Advanced execution of extended floating-point add operations in a narrow dataflow
CN100356342C (zh) * 2003-11-18 2007-12-19 株式会社瑞萨科技 信息处理装置
TWI240169B (en) * 2004-02-18 2005-09-21 Avermedia Tech Inc Audio-video signal transceiving processing device
US8190669B1 (en) 2004-10-20 2012-05-29 Nvidia Corporation Multipurpose arithmetic functional unit
US7428566B2 (en) * 2004-11-10 2008-09-23 Nvidia Corporation Multipurpose functional unit with multiply-add and format conversion pipeline
US7225323B2 (en) * 2004-11-10 2007-05-29 Nvidia Corporation Multi-purpose floating point and integer multiply-add functional unit with multiplication-comparison test addition and exponent pipelines
US7240184B2 (en) * 2004-11-10 2007-07-03 Nvidia Corporation Multipurpose functional unit with multiplication pipeline, addition pipeline, addition pipeline and logical test pipeline capable of performing integer multiply-add operations
US20060101244A1 (en) * 2004-11-10 2006-05-11 Nvidia Corporation Multipurpose functional unit with combined integer and floating-point multiply-add pipeline
US8037119B1 (en) 2006-02-21 2011-10-11 Nvidia Corporation Multipurpose functional unit with single-precision and double-precision operations
US20080147908A1 (en) * 2006-12-13 2008-06-19 Microchip Technology Incorporated Direct Memory Access Controller with Error Check
US8051123B1 (en) 2006-12-15 2011-11-01 Nvidia Corporation Multipurpose functional unit with double-precision and filtering operations
US7516302B2 (en) * 2006-12-19 2009-04-07 Arm Limited Efficient use of co-processor in platform independent instruction machine by controlling result transfer and translation and transfer timing of subsequent instruction based on instruction type for result forwarding
US8106914B2 (en) * 2007-12-07 2012-01-31 Nvidia Corporation Fused multiply-add functional unit
US7961734B2 (en) * 2008-09-30 2011-06-14 Juniper Networks, Inc. Methods and apparatus related to packet classification associated with a multi-stage switch
US8804950B1 (en) * 2008-09-30 2014-08-12 Juniper Networks, Inc. Methods and apparatus for producing a hash value based on a hash function
US8346828B2 (en) * 2008-10-14 2013-01-01 International Business Machines Corporation System and method for storing numbers in first and second formats in a register file
US8407275B2 (en) * 2008-10-22 2013-03-26 International Business Machines Corporation Fast floating point compare with slower backup for corner cases
US20100207669A1 (en) * 2009-02-19 2010-08-19 Ideacom Technology Corporation (Taiwan) Freqeuncy adjusting apparatus and the method therefor
KR20110072023A (ko) * 2009-12-22 2011-06-29 삼성전자주식회사 휴대 단말기의 프로세서 간 데이터 통신 방법 및 장치
US20110296437A1 (en) * 2010-05-28 2011-12-01 Devendra Raut Method and apparatus for lockless communication between cores in a multi-core processor
US8620983B2 (en) * 2011-01-05 2013-12-31 Via Technologies, Inc. Leading sign digit predictor for floating point near subtractor
US9046942B2 (en) * 2012-06-01 2015-06-02 Atmel Corporation Combined accumulator and maximum/minimum comparator
US10466269B2 (en) 2013-02-19 2019-11-05 Calamp Corp. Systems and methods for low latency 3-axis accelerometer calibration
US9678749B2 (en) * 2014-12-22 2017-06-13 Intel Corporation Instruction and logic for shift-sum multiplier
US9927862B2 (en) 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
US10214166B2 (en) * 2015-06-11 2019-02-26 Calamp Corp. Systems and methods for impact detection with noise attenuation of a sensor signal
JP2017199167A (ja) * 2016-04-27 2017-11-02 ルネサスエレクトロニクス株式会社 半導体装置
US10055909B2 (en) 2016-07-08 2018-08-21 Calamp Corp. Systems and methods for crash determination
US10395438B2 (en) 2016-08-19 2019-08-27 Calamp Corp. Systems and methods for crash determination with noise filtering
US10219117B2 (en) 2016-10-12 2019-02-26 Calamp Corp. Systems and methods for radio access interfaces
US10473750B2 (en) 2016-12-08 2019-11-12 Calamp Corp. Systems and methods for tracking multiple collocated assets
US10599421B2 (en) 2017-07-14 2020-03-24 Calamp Corp. Systems and methods for failsafe firmware upgrades
US20190141156A1 (en) 2017-11-06 2019-05-09 Calamp Corp. Systems and Methods for Dynamic Telematics Messaging
US20200104384A1 (en) * 2018-10-02 2020-04-02 Nutanix, Inc. Systems and methods for continuous trim commands for memory systems
US11281745B2 (en) 2019-08-16 2022-03-22 International Business Machines Corporation Half-precision floating-point arrays at low overhead
CN111420277A (zh) * 2020-04-09 2020-07-17 北京品驰医疗设备有限公司 植入式神经刺激设备
US11210104B1 (en) * 2020-09-11 2021-12-28 Apple Inc. Coprocessor context priority
US11640335B2 (en) * 2021-06-15 2023-05-02 Western Digital Technologies, Inc. Multiple function level reset management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3922536A (en) 1974-05-31 1975-11-25 Rca Corp Multionomial processor system
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
JPH061438B2 (ja) * 1984-04-26 1994-01-05 日本電気株式会社 倍精度乗算器
WO1990000287A1 (en) 1988-07-01 1990-01-11 Morton Steven G Intelligent floating-point memory
JPH0480867A (ja) * 1990-07-23 1992-03-13 Mitsubishi Electric Corp 演算回路
EP0645699A1 (en) 1993-09-29 1995-03-29 International Business Machines Corporation Fast multiply-add instruction sequence in a pipeline floating-point processor
US6247036B1 (en) 1996-01-22 2001-06-12 Infinite Technology Corp. Processor with reconfigurable arithmetic data path
KR100291383B1 (ko) 1996-11-18 2001-09-17 윤종용 디지털신호처리를위한명령을지원하는모듈계산장치및방법
US6233597B1 (en) * 1997-07-09 2001-05-15 Matsushita Electric Industrial Co., Ltd. Computing apparatus for double-precision multiplication
US6480872B1 (en) * 1999-01-21 2002-11-12 Sandcraft, Inc. Floating-point and integer multiply-add and multiply-accumulate
US6529928B1 (en) * 1999-03-23 2003-03-04 Silicon Graphics, Inc. Floating-point adder performing floating-point and integer operations

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI391857B (zh) * 2006-02-02 2013-04-01 Ibm 處理非同步管線之資料快取失誤亂序之裝置及方法
TWI484392B (zh) * 2008-09-23 2015-05-11 Holtek Semiconductor Inc 觸碰面板的判讀方法與裝置
TWI427305B (zh) * 2011-12-24 2014-02-21 Hon Hai Prec Ind Co Ltd Pci-e訊號測試裝置
TWI575448B (zh) * 2014-03-26 2017-03-21 英特爾股份有限公司 三個來源運算元浮點加法處理器、方法、系統及指令
US9785433B2 (en) 2014-03-26 2017-10-10 Intel Corporation Three source operand floating-point addition instruction with operand negation bits and intermediate and final result rounding
TWI599951B (zh) * 2014-12-24 2017-09-21 英特爾股份有限公司 用於融合乘法乘法指令的處理器、方法及系統
US11099814B2 (en) 2016-10-12 2021-08-24 Semiconductor Energy Laboratory Co., Ltd. Neural network semiconductor device and system using the same
TWI755428B (zh) * 2016-10-12 2022-02-21 日商半導體能源研究所股份有限公司 半導體裝置及使用該半導體裝置的系統
US11755286B2 (en) 2016-10-12 2023-09-12 Semiconductor Energy Laboratory Co., Ltd. Neural network semiconductor device and system using the same

Also Published As

Publication number Publication date
WO2001097007A3 (en) 2002-04-11
WO2001097007A2 (en) 2001-12-20
US7974996B1 (en) 2011-07-05
AU2001259389A1 (en) 2001-12-24
US6912557B1 (en) 2005-06-28

Similar Documents

Publication Publication Date Title
TW561399B (en) Math coprocessor
US6816750B1 (en) System-on-a-chip
US6779125B1 (en) Clock generator circuitry
US6948098B2 (en) Circuits and methods for debugging an embedded processor and systems using the same
US5481734A (en) Data processor having 2n bits width data bus for context switching function
US6603481B1 (en) Geometry processor capable of executing input/output and high speed geometry calculation processing in parallel
US6105119A (en) Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems
CA2074769C (en) Formula processor
US6629223B2 (en) Method and apparatus for accessing a memory core multiple times in a single clock cycle
EP0739517A1 (en) A massively miltiplexed superscalar harvard architecture computer
EP1215577A2 (en) Fault management and recovery based on task-ID
US20030093648A1 (en) Method and apparatus for interfacing a processor to a coprocessor
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
US6986028B2 (en) Repeat block with zero cycle overhead nesting
US20040073591A1 (en) Hardware extension for accelerating fractional integer division within 3D graphics and MP3 applications
US20120221838A1 (en) Software programmable hardware state machines
US6766440B1 (en) Microprocessor with conditional cross path stall to minimize CPU cycle time length
US6834338B1 (en) Microprocessor with branch-decrement instruction that provides a target and conditionally modifies a test register if the register meets a condition
TWI229288B (en) SOC capable of linking external bridge circuits for expanding functionality
US7039790B1 (en) Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit
WO2001097378A1 (en) Voltage level shifter
US20080288692A1 (en) Semiconductor integrated circuit device and microcomputer
Oh et al. AE32000: an embedded microprocessor core
Family TMS320 DSP
Controller BeyondBits

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees