TW200941341A - Peripheral module register access methods and apparatus - Google Patents

Peripheral module register access methods and apparatus Download PDF

Info

Publication number
TW200941341A
TW200941341A TW98103728A TW98103728A TW200941341A TW 200941341 A TW200941341 A TW 200941341A TW 98103728 A TW98103728 A TW 98103728A TW 98103728 A TW98103728 A TW 98103728A TW 200941341 A TW200941341 A TW 200941341A
Authority
TW
Taiwan
Prior art keywords
data
address
read
peripheral
bit
Prior art date
Application number
TW98103728A
Other languages
English (en)
Other versions
TWI484407B (zh
Inventor
Joseph C Circello
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200941341A publication Critical patent/TW200941341A/zh
Application granted granted Critical
Publication of TWI484407B publication Critical patent/TWI484407B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

200941341 六、發明說明: 【發明所屬之技術領域】 本發明標的之具體實施例係關於用於存取週邊模組之暫 存器的方法及裝置’且更特定言之係關於用於使一更高位 元寬度處理元件存取一週邊模組之一更低位元寬度資料暫 - 存器的方法及裝置。 -先前申請案之參考 此申請案已於2008年2月15日在美國提出申請,其專利 © 申請案號為12/032,286。 【先前技術】 典型處理架構包括一處理元件(例如,一處理器核 〜),其係調適成用以執行可導致資料在該處理器核心與 一週邊模組之一資料暫存器之間的傳送之軟體指令。在— 些情況下,一架構可包括一更高位元寬度處理器核心與具 有一更低位元寬度資料暫存器之一週邊模組。例如,一特 定處理架構可以係設計以包括一 32位元處理器核心,其可 執行用於將32位元資料值寫入至一週邊模組之一 8位元寬 寫入暫存器的軟體。在此—情況下,該軟體可將一 32位元 • t料值分解成四個8位元位元組,並可實料至該週邊模 组位址的一個位元組之四個連續寫入資料傳送。同樣,為 了以^位元寬讀取暫存器自週邊模组暫存器讀取1 位几貝料值’該軟體可實行各從該週邊模組位址的一個位 元組之四個連續讀取資料傳送,並可串連該四個位元組以 產生該32位元資料值。 137816.doc 200941341 每存取扣令消耗處理器核心循環,並因此實行多個存 取以便在一更高位元寬度處理器核心與具有一更低位元寬 度資料暫存器之一週邊模組之間傳送資料係固有地效率 低。然而,特定設計參數(例如,針對在新與更舊處理器 核心上執行的軟體之反向相容性及具有更低位元寬度資料 暫存器的週邊模組之相對較小的實體大小)繼續迫使架構 開發者將具有更低位元寬度資料暫存器之從屬週邊模組併 入具有更高位元寬度處理器核心的處理架構中。為了增加 處理架構效能,需要的係調適成用以致能在更高位元寬度 處理器核心與週邊模組之更低位元寬度資料暫存器之間的 更有效資料傳送之方法及裝置,其同時提供針對可在新與 更舊處理器核心上執行之軟體的反向相容性。 【實施方式】 本文中說明的具體實施例包括用於自各種類型之週邊模 組内的資料暫存器讀取資料及/或將資料寫入至該等資料 暫存器的方法及裝置。如下文將詳細說明,針對具有具備 一 y位元程式化模型資源(例如,一資料暫存器)與一 χ位元 處理元件(例如,一處理器核心)之一週邊模組的電子系統 (例如,一晶片)組態,其中χ大於y,可使用包括在該週邊 模組中映射至現有y位元程式化模型資源的額外父位元程式 化模型位置之一具體實施例來改良系統效能。例如,在其 中y=8且χ=32之一系統中,可依據其中藉由該週邊模組將 新的32位元位置映射至現有8位元程式化模型資源之一具 體實施例來藉由將該一或多個32位元位置包括於該週邊模 137816.doc 200941341 組之程式化模型内來在習知系統上獲得改良的週邊效能。
可以若干系統架構之任一者來實施該等各種具體實施 例,並且圖1說明依據一特定範例具體實施例之一電子系 統100的簡化方塊圖。如圖丨之範例具體實施例所說明,用 於存取-週邊模組内之資料暫存器的t子系統可包括作為 一處理7G件之一處理器核心(例如,處理器核心1〇2)。應明 白,其他電子系統具體實施例可包括其他類型之處理元 件’其中可將-「處理70件」定義為一可程式化硬體模 組,其係調適成用以執行起始該處理元件與一週邊模組之 間的資料傳送之軟體指令。例如,m件可以係選自 包括以下模組之一群組的硬體模組:一處理器核心、一非 核心處理70件、一直接記憶體存取(DMA)單元及/或可程式 化並係調適成用以執行起始該處理元件與—週邊模組之間 的資料傳送之軟體指令的其他硬體模組。因此,雖然本文 中的圖式與說明可能論述其中—電子系統包括—處理器核 心的具體實施例,但應明白該等具體實施例之範疇包括包 含其他類型之處理元件的電子系統。 現參考I與-特定範例具體實施例,電子系統⑽包括 一或多個處理器核心1〇2(或其他處理元件 匯流排控制㈣、一系統匯流排―、: 邊模組122、123、124、一週邊匯流排126、一中斷控制器 週邊模組134及/或-或多個記憶體區塊(例如 陣列1顺隨機存取記憶叫雖然電子系統1〇:= 為具有-單一處理器核心102,但在其他具體實施例中一 137816.doc 200941341 電子系統可包括多個處理器核心。此外,雖然說明三個週 邊模組122至124,但在其他具體實施例中一電子系統可具 有更多或更少週邊模組。 例如,在各種具體實施例中,處理器核心1 〇2可包括一 微控制器、微處理器或數位信號處理器(DSP)核心。處理 器核心102係一 X位元核心,其包括X位元寬暫存器。在各 種具體實施例中,處理器核心102可與X位元寬資料匯流排 或更寬位元寬度資料匯流排介接。在一特定具體實施例 中,處理器核心係一 32位元核心(即,χ=32),不過在其他 具體實施例中處理器核心1Ρ2可以係一 8位元、16位元、64 位元、128位元或其他位元寬度處理器核心。 處理器核心102係經由系統匯流排106、107可操作地麵 合至其他系統組件,該系統匯流排包括位址匯流排1〇8、 109、讀取資料匯流排110、nl及寫入資料匯流排丨12、 113。系統匯流排ι〇6、107係說明具有一處理器核心側ι〇6 與一記憶體區塊側107 ^在一具體實施例中,該系統匯流 排之處理器核心側106可通過系統匯流排控制器1〇4而無顯 著改變’並因此該處理器核心侧106與該記憶體區塊侧1〇7 可本質上相同地予以組態與操作。在另一具體實施例中, 該系統匯流排之處理器核心側106的組態及/或操作可能不 同於該記憶體區塊側107之組態及/或操作,並且該系統匯 流排控制器104可實施改變(例如’該系統匯流排控制器 104除了別的以外可實行至另一匯流排協定之一轉換及/或 改變操作頻率)。雖然該系統匯流排之處理器核心側1〇6與 137816.doc 200941341 記憶體區塊側107中的差異可能存在,但為便於說明,其 將係統稱為系統匯流排106、1 07 ’並亦可統稱相關聯於兩 個側的讀取、寫入及位址匯流排。在一具體實施例中,讀 取資料匯流排11 0、111與寫入資料匯流排丨丨2、1 13各係X 位元寬資料匯流排,不過在其他具體實施例中其可以係更 寬位元寬度資料匯流排。此外,系統匯流排丨〇6、1 〇7可包 括各種控制線(未說明),例如一讀取/寫入控制信號線(例 如,用以提供具有一讀取狀態與一寫入狀態之一讀取/寫 入信號)、一匯流排時脈線(例如,用以提供一系統匯流排 時脈信號)、一傳送大小信號線及/或一等待信號線(例如, 用以傳遞一匯流排傳送等待信號)。 處理器核心102係調適成用以執行軟體指令(例如,機器 可讀取碼),其除了別的以外可引起處理器核心i 〇2透過系 統匯流排106、107發佈資料存取請求(例如,讀取及/或寫 入請求)。發佈一資料存取請求包括處理器核心i 〇2在位址 匯流排108、109上提供一位址,其識別一記憶體區塊 150、152或一週邊模組122至124内之一位置。對於一寫入 類型之資料存取請求,處理器核心1〇2亦在系統匯流排 106、107之寫入資料匯流排112、113上提供一資料值。對 於一讀取類型之資料存取請求,處理器核心1〇2自系統匯 流排106、107之讀取資料匯流排110、;111讀取一資料值。 如稍後將更詳細地說明,具體實施例致能藉由處理器核心 102執行的軟體使用更少的存取指令(例如,寫入指令、讀 取指令及/或移動指令)來存取週邊模組122至124。因此, 137816.doc 200941341 可以比習知方法更有效的方式(例如,針對每位元組使用 更少的處理器循環)來實行此類存取。 系統匯流排控制器104係調適成用以管理透過系統匯流 排106、107在處理器核心1 〇2與各種類型之記憶體區塊之 間傳送的資料流。此等記憶體區塊可包括(例如)一快閃記 憶體陣列1.50(快閃記憶體)與一隨機存取記憶體 152(RAM),例如一靜態ram(SRAM)。此外或替代地,系 統100可包括諸如電可抹除可程式化rom(eeprom)之唯讀 記憶體(ROM)及/或其他類型之記憶體區塊。 在一具體實施例中,系統匯流排控制器i 〇4包括及/或操 作性地耦合至一週邊匯流排控制器12〇。週邊匯流排控制 器120係調適成用以在該x位元寬系統匯流排1〇6、1〇7與該 z位元寬週邊匯流排126之間提供一介面。更明確地說,週 邊匯流排控制器120係調適成用以管理該系統匯流排106、 1 〇7與各種類型之週邊模組122至124及/或操作性地耦合至 該週邊匯流排126之其他系統組件之間的資料流。系統匯 流排控制器104通常提供兩個基本功能。該第一功能包括 管理自談處理器核心102之存取的訊務流及將一資料傳送 請求「投送」至適當匯流排介面。例如,此可包括將一資 料傳送請求投送至與系統匯流排1 〇7介接的系統匯流排控 制器104内之邏輯’或將該資料傳送請求投送至週邊匯流 排控制器120。系統匯流排控制器1 〇4之第二功能包括實施 針對系統匯流排107之匯流排介面。同樣,週邊匯流排控 制器120實施針對週邊匯流排126之匯流排介面。在一具體 1378l6.doc 200941341 實施例中’週邊匯流排控制器102亦處理將自該處理器之乂 位元資料存取硬體分解成針對週邊匯流排126的一系列2位 元寬資料存取,其中Z少於X,如稍後將更詳細地說明。 週邊匯流排126係操作性地輕合於週邊匯流排控制器12〇 與週邊模組122至124之間。在一具體實施例中’週邊匯流 排1 26係一同步非多工匯流排,其包括一位址匯流排128、 一讀取資料匯流排1 30及一寫入資料匯流排132 ^在一替代 性具體實施例中,當作為雙向資料匯流排線來操作該等週 邊匯流排資料線時,可將該讀取資料匯流排23〇與該寫入 資料匯流排13 2實施為相同實體資料匯流排。在一具競實 施例中’讀取資料匯流排130與寫入資料匯流排132各係z 位元寬資料匯流排(即’讀取資料匯流排丨3 〇包括z個讀取 資料線,而寫入資料匯流排132包括z個寫入資料線)。週 邊匯流排126亦可包括各種控制線(未說明),例如一讀取/ 寫入控制信號線(例如’用以提供具有一讀取狀態與一寫 入狀態之一讀取/寫入信號)、一匯流排時脈線(例如,用以 提供一週邊匯流排時脈信號)、一傳送大小信號線及/或一 等待信號線(例如,用以傳遞一匯流排傳送等待信號)。 一或多個週邊模組122至124係操作性地連接至週邊匯流 排126。依據各種具體實施例,週邊模組122至124之至少 一者係調適成用以實行多位址暫存器映射,不過一些週邊 模組122至124可能並不係如此調適。如下文將更詳細說 明’ 「多位址暫存器映射」表示一週邊模組122至124將提 % 供於位址匯流排128上的多個位址(或自該等位址導出的位 137816.doc -10- 200941341 址偏移)映射至該週邊模組122至124内之一單—讀取及/或 寫入資料暫存器的能力。如本文中所使用,術語「位址偏 移」可表示-全位址、—全位址之一部分(例如,一位址 的最低有效位元之一或多者)或一位址之某一其他導出。 週邊模組122至124可包括(例如)選自一群組之任一或多個 週邊裝置’該群組(例如)包括但不限於:循環冗餘檢驗 (CRC)計算模組、核對和計算模組、串列週邊介面(㈣、 通用非同步接收器/發射器(UART)、計數器、計時器記 憶體控制器、顯示器控制器(例如,液 器)、使用者介面控制器(例如,鍵盤、 晶顯示器(LCD)控制 觸控螢幕及/或指示 器控制器)、中斷控制器及開機重設產生器。電子系統1〇〇 亦可包括各種其他週邊裝置,其可以或可以不併入本發明 標的之具體實施例。
中斷控制器週邊模組134亦係操作性地耦合至週邊匯流 排126。中斷控制器週邊模組134係調適成用以接收來自— 些或所有週邊模組122至124之中斷信號(未說明)並用以將 對應中斷信號經由-中斷線136提供至處理器核心1〇2的一 類型之週邊模組。 在各種替代性具體實施例中,電子系統i⑼可包括額外 的或與圖1中說明且上面淪述的該些組件不同的組件。例 如’電子系統100除了別的以外亦可包括—或多個時序 源、外部介面、通用輸入/輸出(Gpi〇)埠、類比介面、額 外或不同匯流排、電壓調整器及/或電力管理電路。在一 具體實施例巾’可將電子系統1〇〇實施為-晶片上系統 137816.doc 200941341 (SoC),其中各種系統組件係整合至一單一積體電路上。 在另一具體實施例中,可將電子系統1〇〇實施為一封裝中 系統(SiP) ’其中各種系統組件係整合至一起封裝於一單一 封裝中的多個積體電路上。在其他具體實施例中,可將各 種組件或組件集合整合至多個積體電路上並分別地封裝。 圖2說明依據一範例具體實施例的調適成用以實行多位 址暫存器映射之一週邊模組2〇〇(例如,圖i之週邊模組122
至124之一者)的簡化方塊圖。圖2之包括旨在提供各種具 體實施例之一般論述。實際上,可將具體實施例併入各種 組態之週邊模組中並具有各種功能性,並且稍後結合圖5 至7來說明一些特定範例。因此,圖2及其論述不具限制意 義0
Ab 月t» 週邊模組200包括週邊功能電路2〇2,其係可操作地耦合 至該至少一資料暫存器2〇4、2〇5、2〇6、2〇7之一或多者。 每次-資料值係寫入至一寫入資料暫存器2〇6、2〇7中時, 週邊功能電路202可在一隨後資料值係寫入至該寫入資料 暫存器206、207中之前處理或以其他方式消耗該資料。同 樣’每次週邊功能電㈣2將—資料值寫人至—讀取資料 暫存器204、205中時,週邊功能電路加可等待將一隨後 資料值寫入至該讀取資料暫存器2〇4、2〇5中直至已實行該 資料值之—外部讀取資料傳送。依據—具體實施例,週邊 功能電路皿將資料寫入至該至少一資料暫存器綱至2〇7 及/或自該至少-資料暫存器謝至撕讀取資料。週邊功 能電路202係、調適成用以實行該週邊模組2⑽之主要功 137816.doc •12· 200941341 其除了別的以外可包括資料傳送及/或計算功能。例如但 不經由限制,可將週邊功能電路2〇2調適成用以基於一或 多個寫入資料暫#器2〇6、2〇7中 <資料來實行一數學功能 並用以提供一或多個讀取資料暫存器2〇4、2〇5中之一結果 (例如,用以計算一循環冗餘檢驗(CRC)值)以將資料自一 寫入資料暫存器206、207傳送至一.讀取資料暫存器204、 2〇5 ’及/或用以實行若干其他主要功能之任一者。在一具 體實施例中,週邊模組2〇〇可包括一中斷請求產生器2〇3, 並且可將週邊功能電路202調適成用以引起中斷請求產生 器203在一週邊匯流排中斷信號線2〇9上產生一中斷信號。 例如但不經由限制,週邊功能電路2〇2可引起一中斷係在 資料(例如,一結果)係就緒以自一讀取資料暫存器2〇4、 205讀取時及/或在週邊功能電路2〇2係就緒以自一寫入資 料暫存器206、207提供資料時予以產生。 週邊模組200亦包括讀取/寫入信號介面23〇,其係調適 成用以偵測存在於一週邊匯流排讀取/寫入信號線232上之 一讀取/寫入信號的狀態。當該讀取/寫入信號指示一讀取 資料傳送並且位址解碼邏輯216已解碼對應於一讀取資料 暫存器204、205之一位址偏移時,週邊模組2〇〇可將對應 於該經解碼位址偏移之讀取資料暫存器204、205内的資料 傳送至週邊匯流排讀取資料線21〇(例如,圖丨之讀取資料 匯流排130)上。同樣,當該讀取/寫入信號指示一寫入資料 傳送並且位址解碼邏輯216已解碼對應於一寫入資料暫存 器206、207之一位址偏移時,週邊模組2〇〇可將存在於該 137816.doc •13· 200941341 j週邊匯流排寫人資料線214(例如,圖k寫人資料匯流 )上的貝料傳送精應於該經解碼位址偏移之寫入資 料暫存器206、207中。在—替代性具體實施例中,暫存器 04至207之任一或多者可具有一讀取資料暫存器與一寫入 —料暫存H兩者的作用(例如單—實體暫存器可具有 一讀取:寫入資料暫存器的作用)。在此-具體實施例中, 可將在Θ等讀取f料線21G與該等寫人資料線214之間的介 ®組合成-單-介面(而非兩個介面208、212,如所說 明)’並可依據該讀取/寫入資料信號的狀態來控制資料傳 送的方向(例如自該暫存器至該等讀取資料線或自該等寫 入資料線至該暫存H)。此外,在—具體實施财並如前 斤述s作為雙向資料匯流排線來操作該等週邊匯流排資 料線時彳將該等週邊匯流排讀取資料線2ι〇與該等週邊 匯流排寫入資料線214實施為相同實體線。 週邊模組200亦包括時脈產生器234,其係調適成用以接 • &來自-週邊匯流排時脈信號線236之一時脈信號,並用 以產生影響各種内部操作(例如,為進入或離開一暫存器 204至2〇7的資料提供時脈、實行—計算、解碼—位址或偏 移44)之時序的一或多個内部時脈。 週邊模組200亦可包括一或多個寫入資料暫存器、 207 ’其各係調適成用以接收並儲存藉由匯流排寫入線介 面212自該等週邊匯流排寫入資料線214傳送的資料。同 樣,週邊模組200亦可包括一或多個讀取資料暫存器2料、 2〇5,其各係調適成用以經由匯流排讀取線介面2〇8來儲存 137816.doc •14- 200941341 並提供資料至週邊匯流排讀取資料線21〇。在一具體實施 例中,暫存器204至207之至少—者係y位元寬暫㈣,其 中y少於x(即,該暫存器之位元寬度7少於圖1之處理元件 (例如,處理器核心、102)及/或系統匿流排106、107之位元 寬度小在-特定具體實施例中,暫存器204至207係8位 T寬暫存器(即’ y=8)’不過在其他具體實施例中,暫存 參 15 204至2G7之任—或多者可以係4位元、16位元、32位元 或其他位元寬度暫存器。 :圖2’說明的具體實施例中’週邊模組包括兩個讀 兩T(讀取低資料暫存器204與讀取高資料暫存器 1料=入資料暫存器(寫入低資料暫存器206與寫入 資料暫存器_、2〇5舆兩個寫mr包括兩個讀取 丄从 丹呵徊焉入貝料暫存器206、207,作 -他具體實施例中,—週邊模組可 取資料暫存器及/或寫入資 更多…的讀 具體實施例中,一週邊# ° , 一些其他
:器:-或多個寫入資料暫存器,但並 J 體實施例中,一__ 他具 /或-單-寫入資料暫存二:早一讀取資料暫存器及 -發送緩衝器(例如,—先:他具體實施例中,可將 該等寫人資料暫存器2。6、2。7之任或一^^ 對每-寫,送,可將—寫二此,針 之-值傳送至該線衡^ 貝㈣存盗2G6、207内 該緩衝器偏移離開該寫入將該緩衝器之其他值透過 该寫入資料暫存器2〇6、207。同樣,可 137816.doc -15- 200941341 將一接收緩衝器(例如,一FIF0緩衝器)相關聯於該等讀取 資料暫存器204、205之任一者或兩者。因此,針對每一讀 取資料傳送,可將一值自該緩衝器傳送至一讀取資料暫存 器204 205中,並可朝向該讀取資料暫存器2〇4、偏移 該緩衝器中之其他值。 在一具體實施例中,週邊模組200亦包括位址解碼邏輯 216,其係調適成並經組態用以基於藉由匯流排位址線介 面222自週邊匯流排位址線224(例如,圖1之週邊位址匯流 ⑩ 排128)接收的位址來解碼存在於位址偏移位元線220上的 仏號。基於該解碼程序,位址解碼邏輯2丨6可引起匯流排 讀取線介面208將資料自讀取資料暫存器2〇4、2〇5之一者 傳送至週邊匯流排讀取線21〇,或位址解碼邏輯216可引起 匯流排寫入線介面212將資料自週邊匯流排寫入線214傳送 至寫入資料暫存器206、2〇7之一者。 在一具體實施例中,每一資料暫存器2〇4至2〇7係映射至 _ 一或多個位址偏移。在一特定具體實施例中,資料暫存器 204至207之至少一者係映射至多個位址偏移,其調適週邊 模組200來實行多位址暫存器映射,如上簡述,並且其將 在下文更詳細地說明。亦可將除資料暫存器2〇4至2〇7以外 的δ己憶體資源映射至該等位址偏移之一或多者,不過本文 中不論述此類其他資源。如前所述,一位址偏移可以係一 全位址、一全位址之一部分(例如,一位址的最低有效位 元之一或多者)或一位址之某一其他導出。在所說明的具 體實施例中,一位址偏移對應於可在位址線224上接收之 137816.doc •16· 200941341 一位址的四個最低有效位元,並因此可將四個位址偏移位 元線22〇調適成用以將該位址之四個最低有效位元傳送至 位址解碼邏輯216。雖然說明八個週邊匯流排位址線224與 四個位址偏移位元線220,但在其他具體實施例中可包括 更多或更少的週邊匯流排位址線224及/或位址偏移位元線 220。如所說明,使用四個位址偏移位元線22〇,位址解碼
邏輯216可接收並可能能夠解碼高達十六個不同的位址偏 移(例如,0000至1111(二進制)或〇χ〇至〇xF(其中Γ〇χ」前 綴識別十六進制值)^在其他具體實施射,可將位址解 碼邏輯216調適成用以解碼更多或更少的位址偏移。位址 解碼在一具體實施例中可以係固線式的並因而不可變,或 在其他具體實施例中可基於—固^或可組態位址映射至少 部分地以軟體實施。 可將該位址偏移解碼邏輯(不管係以硬 者實施)表示為一記憶體映射。在一具體實施例中,資料 暫存器204至207之至少一者係映射至多個位址。如本文中 所使用,術語「暫存器位址偏移集合」表示映射至一特定 暫存器的-組多個位址偏移H定具时施例中針 對-特定暫存器之一第一位址偏移(即,位址偏移可對 應於藉由該處理11元件(例如,圖1之處理n核心1〇2)指定 以用於讀取y位元資料值 移在下文可稱為一「二^址,並因而該位址偏 「位凡寬存取位址偏移」,其中術語 宽;1立二寬」表示所存取的資料之寬度而非該位址偏移的 U以或可以不是㈣位元寬。針對該特定暫存器 137816.doc -17- 200941341 之一或多個其他位址偏移(即,位址偏移0x4、〇χ5、0x6及 0x7)可對應於藉由該處理器元件指定以用於讀取X位元資 料值之一第二位址,並因而該些位址偏移在下文可稱為 「X位元寬存取位址偏移」,其中術語「X位元寬」表示在 存取的資料之寬度而非該位址偏移的寬度,其可以或可以 不是X個位元寬。在其他具體實施例中,y位元寬存取位址 偏移與X位元寬存取位址偏移亦可或替代地可對應於讀取y 位元與X位元資料值。如下文表1中之一週邊模組記憶體映 ® 射之範例8位元視圖所指定,讀取低資料暫存器2〇4係映射 至包括五個位址偏移(即,偏移0x0、〇x4、〇X5、〇x6及0x7) 之一暫存器位址偏移集合,並且寫入低資料暫存器206係 映射至包括五個不同位址偏移(即,偏移〇X2、〇x8、〇X9、 OxA及ΟχΒ)之一暫存器位址偏移集。 偏移 暫存器 0x0 讀取低 0x1 讀取高 0x2 寫入低 0x3 寫入高 0x4 讀取低 0x5 讀取低 0x6 讀取低 0x7 讀取低 0x8 寫入低 0x9 寫入低 OxA 寫入低 ΟχΒ 寫入低 〇xC至OxF 保留 表1 -8位元視圖記憶體映射範例 137816.doc •18- 200941341 可替代地在如下文表2之一32位亓弗m tb主-上 2位το視圖中表不相同範例 記憶體映射:
表2-32位元視圖記憶體映射範例 ❹ 參 僅基於範例目的來提供表i與表2之記憶體映射,並且可 存在許多記憶體映射變更。可自表】與表2之記憶體映射收 集的係,依據各種具體實施例,位址解碼邏輯216經組態 並係調適成用以將-組多個位址偏移(例如,一暫存器位 址偏移集合)映射至該週邊模組2〇〇之一單一資料暫存器之 全部或某-部分,不過位址解碼邏輯216亦可經組態用以 將:或多個其他組的多個位址映射至一或多個其他資料暫 存器。 在一特定具體實施例中,—暫存器位址偏移集合中的位 址偏移之至少一者可對應於-乂位元讀取或寫入資料傳 送’並且—暫存器位址偏移集中之-數目η(其中n=x/y)之 其他位址偏移可對應於一 χ位元讀取或寫入資料傳送,直 係實行為-系列„個至循序位址之y位元寬f料傳送,且^ 中該等循序位址之每一位址係對應於化元資料(例如,8 位元位元組資料)之一位址。換言之,在此一具 令,該「其他」位址偏移之每-者可對應於所寫 的x位元資料值之-y位元部分。例如,若寫入資科暫存: I378I6.doc • 19· 200941341 別4係一 8位元暫存器’並且一處理元件(例如,圖丨之處理 器核〜1 02)執行一指令以將一 8位元資料值寫入至寫入低 資料暫存器206,則可在週邊匯流排位址線224上提供一位 址,其對應於映射至該寫入低資料暫存器2〇6之一第一位 址偏移(例如,來自上面表1之位址偏移0x2)。相比之下, 若該處理單元執行一指令以將一 32位元資料值寫入至寫入 -資料暫存器206,則可在週邊匯流排位址線224上提供四個 位址(即,n=4並且n=x/y=32/8=4),其對應於四個其他位址 偏移,该等位址偏移各係映射至該寫入低資料暫存器2⑽ (例如,來自上面表1之位址偏移〇χ8、〇χ9、〇χΑ及〇χΒ)。 如下文將更詳細地說明,在其中一 χ位元處理元件(例 如,圖1之處理器核心102)存取一週邊模組(例如,週邊模 組200)之7位元資料暫存器(例如,暫存器2〇4至2〇7)並且χ 大於y之一系統中,將多個位址偏移映射至一單一暫存器 的調適致能該處理元件透過執行與習知系統及方法相比較 B 更少的程式指令來與該週邊模組實行一χ位元資料傳送。 例如,對於自該處理元件至一週邊模組之一 8位元暫存器 的一 32位元寫入資料傳送,該處理元件可執行一單一η位 7L寫入指令,並且可藉由該週邊匯流排控制器(例如,圖^ 之週邊匯流排控制器120或在一替代性具體實施例中藉由 匯流排控制器1〇4)來將該32位元資料值分解成至對應^映 射至該單一 8位元暫存器的四個位址偏移之四個週邊模組 位址的四個8位元寫入。在一具體實施例中,該四個週邊 模組位址與該四個位址偏移係連續位址與位址偏移,不過 137816.doc -20· 200941341 在其他具體實施例中其可以係非連續的。替代其中該處理 元件會執行四個8位元寫入指令以寫入該32位元資料值的 習知方法,該處理元件可作為替代實行少於四個之寫入指 々(例如 單一 3 2位元寫入指令或兩個16位元寫入指 Y )此可顯著減低為了完成該3 2位元寫入資料傳送所消 •耗的處理器循環之數目。 分別結合圖3與4來更詳細地說明用於實行寫入資料傳送 肖讀取資料傳送的方法之具體實施例。應結合圖1與2來觀 看圖’、4因為下文為清楚起見在圖3與4之方法的說明中 參考圏1與2之各種元件。 首先參考用於實行寫入資料傳送的具體實施例之一說 明,圖3說明依據一範例具體實施例的用於寫入至一週邊 模組(例如,週邊模組200)之一資料暫存器的一方法之流程 圖。更特定言之,該方法對應於一 32位元處理元件(例 如,處理器核心102)自記憶體(例如,自快閃記憶體陣列 ❹或RAM 152)擷取一32位元資料值,並將該32位元資料 值寫入至一週邊模組(例如,週邊模組200)之_ 8位元寫入 資料暫存器(例如,寫入低資料暫存器206)。應明白,在其 他㈣實施例中,一不同位元寬度處理元件可自記憶體掘 • 取一不同寬度資料值,並可將該資料值寫入至一不同寬度 寫入資料暫存器。 該方法可在方塊302中在該處理元件執行一或多個軟體 指令以自記憶體擷取一32位元資料值時開始。例如,該處 理元件(例如,處理器核心102)可將系統匯流排1〇6、1〇7之 137816.doc -21 · 200941341 一讀取/寫入信號的狀態設定至一讀取狀態,並可在系統 匯流排106、1 07之位址匯流排1 〇8、1 〇9上提供一位址,其 中該位址對應於快閃記憶體陣列〗5〇或ram 1 52内之一記 憶體位置。該處理元件接著可自讀取資料匯流排丨丨〇、n i 讀取該32位元資料值(當可獲得時),並可將該32位元資料 值儲存於一或多個暫存器或其他記憶體位置中。 在方塊304中,該處理元件可執行一或多個軟體指令以 將該32位元資料值寫入至該週邊模組之8位元寫入資料暫 存器。應明白,在一具體實施例中,可將方塊3〇2之擷取 指令與方塊304之寫入指令折疊成一單一移動指令,其指 定應將該32位元資料值自該記憶體位置(例如,在快閃記 憶體陣列150或RAM 152内)移至該週邊模組之8位元寫入 資料暫存器。在任何情況下,該處理元件可將系統匯流排 106、107之讀取/寫入信號的狀態設定至一寫入狀態,並 可對應於一第一位址偏移(例如,來自上面表i之位址偏移 0x8)在位址匯流排108、109上提供一位址,其將藉由該週 邊模組映射至該週邊模組之8位元寫入資料暫存器。此 外,該處理元件在該週邊匯流排之寫入資料匯流排112、 113上提供該32位元資料值。 在方塊306中,該週邊匯流排控制器(例如,圖丨之週邊 匯流排控制器120)接收該位址與該32位元資料值,並可將 該32位元資料值暫時儲存於一或多個暫存器中。在一具體 實施例中,該匯流排控制器120實行一系列2位元寬資料寫 入資料傳送’其中z係該週邊匯流排126之寫入資料匯流排 137816.doc -22· 200941341 132的寬度。$ 了便於說明,此範例將假定該 流㈣具有與該週邊模組之寫入資料暫存器(例如= 低資料暫存器206)相同的位元寬度。因此,在此範例‘中, 白,該寫入資料匯流排132之寬度可少於該寫入 資科暫存器之寬度(例如,在各種具體實施例中,Z可少於 或等於y) ’在該情況下該系統匯流排控制器1〇4及,或週 ❹ ❹ =流排控制器120可實行多個寫入資料傳送以便將_y位元 寅料值寫入至該寫入資料暫存器。 與其中z=8之範例-致,每一寫入資料傳送包括識別欲 寫入的下-8位元資料值,並使用在該週邊模組中映射至 該單-寫人資料暫存器的複數個寫人資料暫存器位址之一 者來實行該8位元寫入資料傳送。例如 資料傳送,可選擇該32位元資料值之一特定位元組= 寫入的第一位元組,並且該匯流排控制器12〇可使用映射 至該週邊模組之寫入資料暫存器的一第一寫入資料暫存器 位址。該實際寫入資料傳送可涉及將週邊匯流排之讀 取/寫入信號的狀態設定至一寫入狀態,提取並提供該32 位元資料值之第一位元組至該週邊匯流排126之寫入資料 匯流排132,並在該週邊匯流排126之位址匯流排128上提 供該第一寫入資料暫存器位址,不過不必以該順序。 在方塊308中,該週邊模組接收該讀取/寫入信號連同該 位址匯流排128上之第一寫入資料暫存器位址與該寫入資 料匯流排13 2上之第一位元組。該週邊模組之位址解碼邏 輯216將在該第一位址中指示的位址偏移映射至該寫入資 I37816.doc •23· 200941341 料暫存器206,並可將該第一位元組傳送$辞宜χ j 王邊舄入資料暫 存器206中並藉由該週邊功能電路2〇2來處理。例如,亦參 考上面的表1,在該第一位址中指示的位址偏移可以係一 0x8之偏移,其係映射至該寫入低資料暫存器2〇6的四個連 續位址偏移之一者。
緊隨方塊306及/或與方塊308之實行並列,該匯流排控 制器12〇可決定其是否已將其在寫入的32位元資料值之最 後8位元資料值寫入至該寫入資料暫存器2〇6。當已寫入該 最後值時(即,當該匯流排控制器12〇已完成寫入該32位元 資料值之所有四個位元組時),該方法可結束。當尚未寫 入該最後值時,該方法可返回至方塊遍,其中該匯流排 控制器120實行該系歹,】中的下- 8位元寬資料寫入資料傳 送。例如,對於該第二寫入資料傳送,可選擇該32位元資 料值之一不同位元組作為欲寫入的第二位元組,並且該匯 流排控制器12 0可使用映射至該週邊模組之寫入資料暫存 器的一第二寫入資料暫存器位址(例如,對應於上面表丨之 一〇X9之偏移的寫人資料暫存器位址同樣,該寫入資料 傳送可涉及將週邊匯流排126之讀取/寫人信號的狀態設定 至寫入狀態,提取並提供該第二位元組至該週邊匯流排 126之寫入貝料匯流排132,並在該週邊匯流排—之位址 匯流排128上提供該第二寫人資料暫存器位址,不過不必 :該順序。此迭代程序可繼續直至已將該儲存的32位元資 料值之所有四個位凡組寫入至該寫人資料暫存器挪。 實施本發明標的之具體實施例之一潛在優點係當X大於y 1378I6.doc -24- 200941341 時,與習知方法相比較該處理元件可執行更少指令以便將 一 X位元寬資料值寫入至一週邊模組之一 y位元寬暫存器或 自該週邊模組讀取一 X位元寬資料值。因此,可消耗更少 的處理器循環以便存取資料。下面提供範例碼,其對應於 一處理元件擷取並寫入複數個32位元資料值至一 CRC模 組,以便該CRC模組實行一快閃記憶體陣列(例如,快閃 記憶體陣列150)之一區域的CRC計算。使用各種具體實施 例,該處理元件可依據以下組合碼來執行一 3 2位元長移動 β (mov.i)操作’以便將自記憶體擷取之每一 32位元資料值 寫入至該CRC模組内之一 8位元暫存器。僅基於範例目 的’指示該CRC暫存器係該CRC模組之一寫入低資料暫存 器: #d0=位元組計數/4 #a0=指向快閃記憶體陣列的指標 #a 1 =指向CRC寫入低資料暫存器的指標 A L%1: #長字複製,展開4x 參
mov. 1 (%a0)+,(%al) #複製源資料4位元組值至CRC mov. 1 (%a0)+,(°/〇al) #複製源資料4位元組值至CRC mov.l (%a0)+, (%al) #複製源資料4位元組值至CRC mov.l (%a0)+,(%al) #複製源資料4位元組值至CRC subq. 1 &4, %d0 #遞減迴圏計數器 bne.b L%1 #完成?若否,則分支返回至迴圈頂部 相比之下,使用習知技術來將相同3 2位元資料值自記憶 體傳送至該週邊器件内之一 8位元暫存器,該處理元件會 137816.doc -25- 200941341 執行四次多的移動操作,其中每—移動操作會一次寫入— 位元組(m〇V,b)’而非—次寫入整個32位元資料值,如以 下碼所例示: #d0=位元組計數 #a0=指向快閃記憶體陣列的指標 #al=指向CRC寫入低資料暫存器的指標 L%0: #位元組複製,展開4x
mov.b (%a0)+, (%al) #複製源資料位元組值至CRC
β mov.b (%a0)+, (%al) #複製源資料位元組值至CRC
mov.b (%a0)+, (%al) #複製源資料位元組值至CRC
mov.b (%a0)+, (%al) #複製源資料位元組值至CRC subq. 1 &4, %d0 #遞減迴圈計數器 bne.b L%0 #完成?若否’則分支返回至迴圈頂部 關於潛在的效能好處,實施依據一具體實施例的第—碼
範例之一處理元件可經歷每傳送的位元組大約2.25個CPU 循環之一測量效能,而實施依據習知方法的第二碼範例之 一處理元件可經歷每傳送的位元組大約6.00個CPU循環之 一測量效能。依據該等測量效能,當在一相同處理器核心 ' 上執行並且兩個範例以相同時脈頻率操作時,該第一碼範 • 例之執行比該第二碼範例之執行快大約2·66倍。因此,與 習知方法相比較,實施碼以利用各種具體實施例可提供對 處理元件效能之顯著改良。 除實施各種具體實施例以便將X位元寬資料值寫入至一 週邊模組之y位元寬寫入資料暫存器以外,亦可或替代地 137816.doc -26- 200941341 可實施具體實施例以便自一週邊模組之7位元讀取資料暫 存器讀取X位元資料值。圖4說明依據一範例具體實施例的 用於讀取一週邊模組之一資料暫存器的一方法之流程圖。 更特疋s之,該方法對應於一 32位元處理元件(例如,處 理器核’V·» 102)自週邊模組(例如,圖2之週邊模組2〇〇)之 一 8位元讀取資料暫存器(例如,讀取低資料暫存器204)讀 取一 32位貧料值。應明白,在其他具體實施例中,一不 同位元寬度處理元件可自—週邊模組之—不同寬度讀取資 料暫存器讀取一不同寬度資料值。 該方法可在方塊402中在該處理元件執行一或多個軟體 指令以自一週邊模組之一 8位元暫存器讀取一 32位元資料 值時開始。例如,亦參考圖1,處理器核心102可將系統匯 流排106、107之一讀取/寫入信號的狀態設定至一讀取狀 態,並可在系統匯流排1〇6、1〇7之位址匯流排ι〇8、上 提供一位址(本文中稱為一「處理元件提供的位址」),其
中該位址對應於-週邊模组之一 8位元讀取資料暫存器⑼ 如,讀取低資料暫存器2〇4)。 在方塊404中,該匯流排控制器12〇接收該讀取/寫入信 號與該核心提供的位址’並作為回應,實行-系列多個ζ 位元宽資料讀取資料傳送中之一第一者,⑷系該週邊 匯流排126之讀取資料匯流排13〇的寬度。如下文將闡明, 該匯流排控制器12〇將藉由將讀取的每一地元寬資料值暫 時置放於-暫存器或其他記憶體位置之一適當部分中來在 該系列讀取資料傳送之過程期間建構該父位元寬資料值, 137816.doc •27- 200941341 因而建構整個x位元寬值。4了便於說明,此範例將假定 該讀取資料具有與該週邊模組之讀取資料暫存 器(例如,讀取低資料暫存器204)相同的位元寬度。因此, 在此範例中,z=8。應明白,該讀取資料匯流排13〇之寬度 可少於該讀取資料暫存器之寬度(例如,在各種具體實施 例中,Z可少於或等於y),在該情況下該匯流排控制器12〇 可實行多個讀取資料傳送以便將一乂位元資料值寫入至該 讀取資料暫存器。
與其中Z-8之範例一致,每一讀取資料傳送包括識別欲 讀取的下-8位元資料值,並使用在該週邊模組中映射至 該單一讀取資料暫存器的複數個讀取資料暫存器位址之一 者來實行該8位元讀取資料料。例如 資料傳送,可選擇-32位元資料值之—特定位元組作= 讀取的第一位元組,並且該匯流排控制器12〇可使用映射 至該週邊模組之讀取資料暫存器的一第一讀取資料暫存器 位址。實際讀取資料傳送可涉及將週邊匯流排126之讀取/ 寫入信號的狀態設定至一讀取狀態,在該週邊匯流排126 之位址匯流排128上提供該第一讀取資料暫存器位址,自 該週邊匯流排126之讀取資料匯流排13〇讀取該32位元資料 值之第一位元組(當可獲得時)及將該第一位元組儲存於一 3 2位元暫存器或在該匯流排控制器丨2〇内可存取的其他記 憶體位置之一第一位元組位置。 在方塊406中,該週邊模組接收該讀取/寫入信號連同該 位址匯流排128上之第一讀取資料暫存器位址。該週邊模 137816.doc -28- 200941341 組之位址解石馬邏親2 1 6** 、輯216將在該第-位址中指示的位址偏移 映射至該讀取資料勒左 貢科暫存器2〇4,並可將該第一位元组自該 讀取資料暫存器2〇4傳送至該週邊匯流排126之讀取資料匯 流排130。例如’亦參考上面的表1,在該第-位址中指示 的位址偏移可以係— Gx4之偏移,其係、映射至該讀取低資 料暫存器204的四個位址偏移之一者。
在方塊408令,該匯流排控制器12〇可自該讀取資料匯流 = 130讀取該第—位元組,並將該資料暫時儲存於該暫存 器内或用以建構該32位元資料值的其他記憶體位置之適當 位置中。在方塊410中,該匯流排控制器m可決定其是否 已自該讀取資料暫存器2〇4讀取其在讀取的32位元資料值 之最後位元組。當尚未讀取該最後值時,該方法可返回至 方塊404,其中該匯流排控制器12〇實行該系列中的下一 8 位凡寬讀取資料傳送。例如,對於該第二讀取資料傳送, 可選擇該32位元資料值之—不同位元組作為欲讀取的第二 位元組,並且該匯流排控制器12〇可使用映射至該週邊模 組之讀取資料暫存器的一第二讀取資料暫存器位址(例 如,對應於上面表1之一 0x5之偏移的讀取資料暫存器位 址)。同樣,該讀取資料傳送可涉及將週邊匯流排126之讀 取/寫入信號的狀態設定至一讀取狀態,在該週邊匯流排 126之位址匯流排128上提供該第二讀取資料暫存器位址, 自該週邊匯流排126之讀取資料匯流排ι3〇讀取該第二位元 組(當可獲得時)及將該第二位元組暫時儲存於該32位元暫 存器或在其中該32位元資料值係構造的其他記憶體位置之 137816.doc -29- 200941341 一適當位元組位置中。 當在方塊410中決定已讀取最後值(即,當已自該讀取資 料暫存器2〇4讀取該32位元資料值之所有四個位元組時), 該匯流排控制器120可在方塊412中藉由將該32位元暫時保 持暫存器或記憶體位置内的資料傳送至該系統匯流排 106、107之讀取資料匯流排110、111上來將該32位元資料 值提供至該處理元件。該處理元件接著可將資料值自該讀 取資料匯流排110、111傳送至一 32位元暫存器或其他記憶 體位置中,並可處理該資料。該方法接著可結束。 現將結合圖5與6說明一週邊模組之一特定範例。更特定 言之’圖5與6分別說明依據以一 CRC模組實施之一範例具 體實施例的方塊圖與時序圖。應明白,結合圖5與6說明的 週邊模組具體實施例不應係視為僅在一 CRC模組中的各種 具體實施例之限制性實施方案。相反,可以各種週邊模組 類型來實施具體實施例,並且上面提供此類週邊模組類型 之一非排他列表。 圖5說明依據一範例具體實施例之一 CRC模組5〇〇的簡化 方塊圖。如前所述,一 CRC模組係可依據一具體實施例實 施的各種類型之週邊模組之一者。依據一具體實施例, CRC模組500包括CRC產生器電路5〇2、一 CRC低資料暫存 器5〇4、一 CRC高資料暫存器5〇6及位址解碼邏輯516。 CRC模組500亦包括時脈產生器534,其係調適成用以接收 來自一週邊匯流排時脈信號線536之一時脈信號,並用以 產生影響各種内部操作之時序的一或多個内部時脈。 137816.doc -30· 200941341 CRC產生器電路502係調適成用以基於一種子值與儲存 於一記憶龍塊巾之資.料來計算針對該記憶體區塊之一 CRC值。在-範例具體實施財,crc產生器電路5〇2包 括16位元CRC產生器電路,並且該種子值係一 16位元種 子值。在操作期間,-處理元件(例如,圖i之處理器核心 102)可將該16位元種子值之一第一位元組寫入至該CRC低 資料暫存器504中並將該16位元種子值之一第二位元組寫
入至該CRC高資料暫存器中。在—具體實施例中,在 載入該16位元種子值之後,該處理元件可自該記㈣區塊 擷取一或多個32位元資料值,並將每一32位元資料值寫入 至該CRC低資料暫存器5Q4,其可與其中該處理元件會自 該圮憶體區塊擷取複數個8位元資料值並將每一 8位元資料 值寫入至該CRC低資料暫存器(例如,因而實行大致四倍 的擷取與寫入資料傳送之數目以傳送相同資料量)的習知 系統區別。该匯流排控制器(例如,圖!之匯流排控制器 120)接著可將該32位元資料值之每一位元組寫入至藉由位 址解碼邏輯512映射至該CRC低資料暫存器5〇4的複數個位 址之一者。接著藉由該CRC產生器電路5〇2來處理每一位 元組,以便在該組合的CRC高資料暫存器5〇6與(:11(:低資 料暫存器504中產生該16位元CRC值《在將最後資料值寫 入至該CRC低資料暫存器504之後,該處理元件可接著自 該組合的CRC高資料暫存器506與該CRC低資料暫存器5〇4 讀取所得16位元CRC值。 CRC模組500亦包括讀取/寫入信號介面530 ,其係調適 137816.doc •31· 200941341 成用以偵測存在於一週邊匯流排讀取/寫入信號線5 3 2上之 一讀取/寫入信號的狀態。當該讀取/寫入信號指示一讀取 資料傳送並且位址介面邏輯516已解碼對應於該crc低資 料暫存器504或該CRC高資料暫存器5〇6之一偏移時,crc 模組500可如藉由該經解碼偏移所指定將該crc低資料暫 • 存器5〇4或該CRC高資料暫存器506内之資料傳送至週邊匯 - 流排讀取資料線51〇(例如,圖!之讀取資料匯流排13〇)上。 同樣备該讀取/寫入信號指示一寫入資料傳送並且位址 邏輯516已解碼對應於CRC低資料暫存器5〇4或該crc 同-貝料暫存器506之一偏移時,CRC模組5〇〇可將存在於該 等週邊匯流排寫入資料線514(例如,圖k寫入資料匯流 =132)上的資料傳送至該〇1^:低資料暫存器5〇4或該〇:1^:高 資料暫存器506中,如藉由該經解碼偏移所指定。 CRC低資料暫存器5〇4與CRC高資料暫存器5〇6之每一者 係調適成用以接收並儲存藉由匯流排讀取/寫入線介面5〇8 φ 自該等週邊匯流排寫入資料線514傳送的資料。此外, CRC低資料暫存器5〇4與CRC高資料暫存器5〇6係調適成用 以將儲存於其中的資料提供至CRC產生器電路5〇2。cRc 高^料暫存器506與CRC低資料暫存器5〇4亦係調適成用以 隨著每負料位元組係寫入至該CRC低資料暫存器504來 收並儲存所彳寸16位元CRC值《可在一讀取資料傳送期間 藉由匯流排讀取/寫入線介面5〇8來將儲存於該CRC高資料 暫存器506與該CRC低資料暫存器504中的所得16位元CRC 值傳送至該等週邊匯流排讀取資料線510上。在一具體實 137816.doc •32· 200941341 施例中,CRC低資料暫存器504或該CRC高資料暫存器506 係8位元寬暫存器,不過在其他具體實施例中,CRC低資 料暫存器504或該CRC高資料暫存器506之任一者或兩者可 以係4位元、16位元、32位元或其他位元寬度暫存器。在 圖5中說明的具體實施例中,CRC模組500包括一 CRC低資 ‘料暫存器504與一 CRC高資料暫存器506,不過在其他具體 -實施例中,一 CRC模組可具有更多CRC低資料暫存器及/或 CRC高資料暫存器。 ® 在一具體實施例中,CRC模組500亦包括位址解碼邏輯 5 1 6,其係調適成並經組態用以基於藉由匯流排位址線介 面522自週邊匯流排位址線524(例如,圖1之位址匯流排 128)接收的位址來解碼存在於位址偏移位元線520上的信 號。基於該解碼程序,位址解碼邏輯5 16可引起匯流排讀 取/寫入線介面508將資料自CRC低資料暫存器504或該CRC 高資料暫存器506之一者傳送至週邊匯流排讀取線510,或 位址解碼邏輯516可引起匯流排讀取/寫入線介面508將資 料自週邊匯流排寫入線514傳送至CRC低資料暫存器504或 該CRC高資料暫存器506之一者。 • 在一具體實施例中,該CRC高資料暫存器506係映射至 -一單一位址偏移,並且該CRC低資料暫存器504係映射至 複數個位址偏移。此調適CRC模組500以實行多位址暫存 器映射,如上面所論述。在一特定具體實施例中,該CRC 低資料暫存器位址偏移之一者(即,位址偏移0x1)可對應於 藉由該處理元件指定以用於寫入8位元資料值之一第一位 137816.doc .33· 200941341 址,並因而該位址偏移係一 y位元寬存取位址偏移。其他 CRC低資料暫存器位址偏移(即,位址偏移〇χ4、〇χ5、0x6 及Ox7)可對應於藉由該處理元件指定以用於寫入32位元資 料值之一第二位址,並因而該些位址偏移係X位元寬存取 位址偏移。如在下文表3中的一週邊模組記憶體映射之範 例8位元視圖中所指定,CRC低資料暫存器504係映射至一 暫存器位址偏移集合,其包括五個位址偏移(即,偏移 0x1、0x4、0x5、0x6及 0x7): 偏移 暫存器 0x0 CRC高 0x1 CRC低 0x2 保留 0x3 保留 0x4 CRCL0(CRC 低) 0x5 CRCL1(CRC 低) 0x6 CRCL2(CRC 低) 0x7 CRCL3(CRC 低) 0x8至 OxF 保留 Ο 表3-CRC記憶體映射範例之8位元視圖 「CRCL0」指一 32位元資料值之一第一位元組,其對應 . 於映射至該01^^低資料暫存器504之一位址偏移(即,位址 偏移0x4)。同樣,「CRCL1」指該32位元資料值之一第二 位元組,其對應於亦映射至該CRC低資料暫存器5〇4之一 位址偏移(即,位址偏移0x5),等等。僅基於範例目的來提 供表3之§己憶體映射,並且可存在許多記憶體映射變更。 可自表3之記憶體映射收集的係,依據各種具體實施例, 137816.doc -34- 200941341 位址解碼邏輯5 1 6經組態並係調適成用以將一組多個位址 偏移(例如’一暫存器位址偏移集)映射至該CRC模組500之 一單一資料暫存器,不過位址解碼邏輯516亦可經組態用 以將一或多個其他組的多個位址映射至一或多個其他資料 暫存器。 圖ό說明依據一範例具體實施例的與結合產生一 cRc值 所實行的寫入與讀取資料傳送相關的各種信號之時序圖。 該時序圖包括一時脈信號602(CLK)、一位址匯流排信號 604(ADDR)、一讀取/寫入信號6〇6(R/w)、一寫入資料匯 流排信號608(WDATA)及一讀取資料匯流排信號610 (RDATA)。除圖6中繪示的信號以外,在產生一 CRC值期 間亦了存在一或多個額外信號,例如一啟用信號與一等待 信號,不過基於簡潔之目的,不解說或說明此類信號。在 每一寫入資料傳送期間,該讀取/寫入信號6〇6之狀態係設 疋至一寫入狀態(例如,一低狀態),並在每一讀取資料傳 送期間,該讀取/寫入信號606之狀態係設定至一讀取狀態 (例如,一尚狀態)。可如依據一具體實施例所說明在時脈 信號602之一低至高轉變期間或替代地在時脈信號6〇2之一 高至低轉變期間為位址與資料提供時脈。在〇11(:值產生期 間實行的各種操作可採取比圖5中所繪示更多或更少的時 脈循環,並可使用資料之更多或更少的位元組來產生該 CRC值。下文說明亦參考圖5之元件。 為了產生一CRC值,依據一具體實施例,可發生以下程 序序列,不過在其他具體實施例中,可改變該序列同時仍 137816.doc •35· 200941341 實現實質上類似結果。在一具體實施例中,值產生 可在該處理元件(例如,圖1之處理器核心102)載入一種子 值時開始。此可包括(例如)該處理元件將一 i 6位元種子值 之一第一位元組(0xFF)寫入至該CRC高資料暫存器506,及 將該16位元種子值之一第二位元組(〇xFF)寫入至該〔μ低 •資料暫存器504。為了寫入該16位元種子值之第一位元 ,’且該處理元件可提供該第一位元組連同對應於該(:11(:模 組的位址解碼邏輯516映射至該CRC高資料暫存器506之一 位址偏移(例如,來自上面表3之位址偏移0x0)的一位址。 在第一時脈循環020上,可映射該位址偏移並可為該第 一位元組(〇xFF)時脈至該CRC高資料暫存器506中,如圖6 所說月同樣,為了寫入該16位元種子值之第二位元組, 該處理元件可提供該第二位元組連同對應於該CRC模組的 位址解碼邏輯516映射至該CRC低資料暫存器5〇4之一位址 偏移(例如,來自上面表3之位址偏移〇χ1)的一位址。此位 參址偏移可以係稱為針對該CRC低資料暫存器5〇4之y位元寬 存取位址偏移。在一第二時脈循環621上,可映射該位址 偏移並可為該第二位元組(〇xFF)提供時脈至該Crc低資料 暫存器504中。因而,該16位元種子值(OxFFFF)係載入至 該CRC高資料暫存器506與該CRC低資料暫存器504中。 該處理元件接著可執行碼以自針對其產生該CRC值的記 憶體區塊擷取一第一 32位元資料值,並將該32位元資料值 寫入至對應於該等x位元寬存取位址偏移之一者的一位 址’該CRC模組的位址解碼邏輯5丨6亦將該X位元寬存取位 I37816.doc -36- 200941341 址偏移映射至該CRC低資料暫存器5〇4(例如,來自上面表 3之位址偏移0x4)。該匯流排控制器(例如,圖丨之匯流排控 制器丨20)接著可實行至該CRC低資料暫存器5〇4之四個寫 入之-序列,其中每-寫入包括寫入來自該32位元資料值 之-選定位元組。在-具體實施例中,該序列之一第一寫 •入寫入該32位元資料值之一第一位元組(〇χ3ΐ)並定址映射 至該CRC低資料暫存器504之一第一位址,該序列之一第 一寫入寫入該32位元資料值之一第二位元組(0x32)並定址 _ 映射至該CRC低資料暫存器504之一第二位址,該序列之 一第二寫入寫入該32位元資料值之一第三位元組(〇χ33)並 疋址映射至該CRC低資料暫存器5〇4之一第三位址,並且 忒序列之一第四寫入寫入該32位元資料值之一第四位元組 (0x34)並定址映射至該CRC低資料暫存器5〇4之一第四位 址。在時脈循環622、623、024及625期間,四個位址偏移 (例如,位址偏移0x4、〇X5、〇x6及〇x7)之一序列係說明循 _ 序地在該位址匯流排信號6〇4上連同資料之四個位元組在 該寫入資料匯流排信號608上。如上面所說明,在一具體 實施例中,可藉由該位址解碼邏輯516來將該四個資料偏 移映射至該CRC低資料匯流排5〇4。在時脈循環625結束 時,該CRC模組5〇〇已將該16位元種子值(〇xFFFF)接收至 該CRC高資料暫存器506與該CRC低資料暫存器504中,並 亦已將四個位元組(0x31、0x32、0x33、〇X34)接收至該 CRC低資料暫存器504中。在下一四個時脈循環626、 627、628、629期間’由於該處理元件將一第二32位元資 137816.doc •37- 200941341 料值寫入至對應於該等x位元寬存取位址偏移(例如,位址 偏移0x4)之一位址’四個額外位元組(〇χ35、〇x36、〇x37、 0x38)係接收至該CRC低資料暫存器504中。在下一時脈循 環630期間,一額外位元組係接收至該crc低資料暫存器 504中’其可表示在針對其產生該crc值之記憶體區塊中 的最後資料位元組。因為所寫入的最後值對應於一位元組 而非一 32位元資料值,故該處理元件可將該8位元資料值 寫入至對應於一 y位元寬存取CRC位址偏移(例如,位址偏 移Ox 1)之一位址。時脈循環63 1表示一等待循環,期間該 CRC產生器電路502可完成其CRC值計算。 為了自該CRC低資料暫存器504與該CRC高資料暫存器 5 06讀取該16位元CRC值,該處理元件可自該crc高資料 暫存器506讀取該16位元CRC值之一第一位元組,並自該 CRC低資料暫存器504讀取該16位元CRC值之一第二位元 組。為了讀取該16位元CRC值之第一位元組,該處理元件 可提供對應於一位址偏移之位址’該CRC模組的位址解碼 邏輯516將該位址偏移映射至該CRC高資料暫存器506(例 如,來自上面表3之位址偏移0x0)。在時脈循環632期間, 可映射該位址偏移並可自該CRC高資料暫存器5〇6讀取該 第一位元組(0x29) ’如圖6所說明。同樣,為了讀取該16位 元CRC值之第二位元組’該處理元件可提供對應於該y位 元寬存取位址偏移之位址’該CRC模組的位址解碼邏輯 5 1 6將該y位元寬存取位址偏移映射至該crc低資料暫存器 504(例如,來自上面表3之位址偏移Οχΐ)。在時脈循環633 137816.doc -38 - 200941341 期間,可映射該位址偏移並可自該CRC低資料暫存器 讀取該第二位元組(〇xBl)。
使用用於產生一 CRC值之裝置及方法的具體實施例,如 結合圖5與6所解說與說明,一處理元件可執行軟體指令, 其將X位7L寬資料值寫入至具有一 y位元寬CRC低資料暫存 器之-CRC模組,其中x大於”因此,使用各種具體實施 例可改良處理器效率而超過習知裝置及方法,其中該處理 元件會執行更多軟體指令以便寫入相同資料量(例如,該 處理元件會執行僅將y位元寬資料值寫入至該7位元寬crc 低資料暫存器的指令)。 因而,已說明用於自各種類型之週邊模組内的資料暫存 器讀取資料及/或將資料寫入至該等資料暫存器的方法及 裝置之各種具體實施m㈣之—具體實施例包括 處理件、一匯流排控制器及一週邊模組。該處理元件 係調適成用以執行機器可讀取碼,其引起該處理元件實行 - X位元寬資料值之一資料傳送,其中實行該資料傳送包 括提供H取/寫人信號與對應於—週邊模組之一心 元寬資料暫存ϋ之-處理元件提供的位址,且其中y少於 X。該流排控制器係調適成用以接收該讀取/寫、入信號與 該處理元件提供的位址,並作為回應,與該週邊模組實行 -系列多個資料傳送中實行該系列包括提供一第二讀 取/寫入信號與針對該系列之一第一資料傳送的一第一: 邊位址,及針對該系列之至少另一資料傳送來提供至少一 不同週邊位址1週邊模組經組態用以將該第—週邊位址 1378l6.doc -39· 200941341 映射至該y位元寬資料暫存器,並亦將至少一不同週邊位 址映射至該y位元寬資料暫存器》 在另一具體實施例中,該週邊模組包括:一 y位元寬第 一資料暫存器,其係可操作地耦合至一資料匯流排;以及 位址解碼邏輯,其係可操作地耦合至一位址匯流排並經組 態用以將複數個不同位址偏移映射至該第一資料暫存器。 在-具體實施例中,該電子系統進—步包括—系統匯流排 與至少一記憶體區塊,其中該至少一記憶體區塊與該處理 元件係透過該系統匯流排來操作性地輕合在一起,且其中 該處理元件係進一步調適成用以執行機器碼以透過該系統 匯流排自該記憶體區塊擷取資料值。在另一具體實施例 中,該資料傳送包括一寫入資料傳送以將該χ位元寬資料 值寫入至該週邊模組,並且該處理元件係進一步調適成用 以將該χ位元寬資料值提供至該匯流排控制器。在另一具 體實施例中’該資料傳送包括一讀取資料傳送以自該週邊 模組讀取該χ位元寬資料值,並且該匯流排控制器係進一 步調適成用以自該週邊模組讀取複數個y位元寬資料值, 自該複數個y位το寬資料值來建構該χ位元寬資料值,並將 該χ位元資料值提供至該處理元件。在另—㈣實施例 中,該電子系統亦包括操作性地耦合在該匯流排控制器與 該週邊模組之間之-週邊匯流排,其中該週邊匯流排包括 一 ζ位元寬資料匯流排,且其中ζ少於或等於y。在另一具 體實施例中,該處理元件係選自包括—處理器核心、一非 核心處理元件及-直接記憶體存取單元之—群組的處理元 137816.doc -40. 200941341 件。 另一具體實施例包括一電子系統’其包括一週邊模組, 該週邊模組具有:一;^位元寬第一資料暫存器,其係可操 作地耦合至一資料匯流排;以及位址解碼邏輯,其係可操 作地耦合至一位址匯流排並經組態用以將複數個不同位址 偏移映射至該第一資料暫存器。在另—具體實施例中,該 位址解碼邏輯經組態用以將該複數個不同位址偏移之一第
❹ 一位址偏移映射至該第一資料暫存器以用於一丫位元寬資 料傳送,並將該複數個不同位址偏移之x/y個其他位址偏 移映射至該第一資料暫存器以用於—x位元寬資料傳送, 其係實行為至循序位址之一系列乂/丫個y位元寬資料傳送, 且其中該等循序位址之每一位址係對應於8位元位元組資 料之一位址。 在另一具體實施例中’該週邊模組亦包括一或多個乂位 元寬額外資料暫存n,其係可操作_合至該f料匯流 排。在另-具體實施例中,該週邊模組亦包括調適成用以 接收-讀取/寫人信號之—讀取/寫人信號介面,其中該週 邊模組係調適成用以當該讀取寫入信號處於一讀取狀態時 並當該位址解碼邏輯已將針對存在於—位址匯流排上之一 位址的一位址偏移映细. 听射至該第一資料暫存器時將一 y位元 寬資料值自該第一資料暫在 月种嗶存器傳送至該資料匯流排之一讀 取資料匯流排。在另—且牌杳^^ 體實;例中,該週邊模組亦包括 調適成用以接收—讀取/寫人信號之—讀取/寫入信號介 面其中》亥週邊模組係調適成用以當該讀取寫入信號處於 137816.doc 200941341 寫入狀態時並當該位址解碼邏輯已將針對存在於一位址
匯流排上之一位址的一位址偏移映射至該第一資料暫存器 時將一 y位元寬資料值自該資料匯流排之一寫入資料匯流 排傳送至該第一資料暫存器。在另一具體實施例中,該週 邊模組亦包括一中斷請求產生器,其係調適成用以產生一 中斷信號。在另一具體實施例中,該週邊模組亦包括週邊 功能電路,其係可操作地耦合至該第一資料暫存器,其中 該週邊功能電路係調適成用以實行該週邊模組之一主要功 旎,並將資料寫入至該第一資料暫存器或自該第一資料暫 存器讀取資料。在另—具體實施例中,該週邊功能電路係 調適成用以實行一循環冗餘檢驗計算。 在另一具體實施例中,該電子系統亦包括一處理元件與 一匯流排控制器。該處理元件係調適成用以執行機器可讀 取碼,其引起該處理元件實行―德^寬資料值之一資料 傳送,其中實行該資料傳送包括提供—第—讀取/寫入信 號與對應於該週邊模組之第―資料暫存器之—處理元件提 供的位址,且其中y少於χ。該匯流排控制器係調適成用以 接收該讀取/寫人信號與該處理元件提供的位址,並作為 回應,.與該週邊模組實行—㈣多個資料傳送,其中實行 該系列包括提供一第二讀取/寫入信號與針對該系列之— 第-資料傳送的-第-週邊位址,及針對㈣列之至 一資料傳送來提供至少-不同週邊位址。在另一具體實施 例中,該週邊模組係選自包括 體貫施 匕栝以下槟組之一群組的模組: 一循環冗餘檢驗計算模組、—核對和計算模組、—串列週 137816.doc •42 200941341 邊介面、一通用非同步接收器/發射哭 7僅队窃赞射器、一顯示器控制器 及一使用者介面控制器。 元件與一週邊模組之 另一具體實施例包括用於在一處理 間傳送資料的方法。該方法包括以下步驟:藉由該週邊模 組來接收-第-讀取/寫人信號與來自—位址匯流排之複 數個不同位址;藉由該週邊模組來將對應於該複數個不同 位址之複數個不同位址偏移映射至一單_y位元寬資料暫
存器;以及當該第一讀取/寫入信號處於一讀取狀態時, 藉由該週邊模組來將—y位元寬資料值自該y位元寬資料暫 存器傳送至-資料匯流排’並當該第一讀取/寫入信號處 於-寫入狀態時將該y位元寬資料值自該資料匯流排傳送 至該y位元寬資料暫存器中。 在另一具體實施例中,該方法包括以下步驟:藉由該處 理兀件來執行機器可讀取碼,其引起該處理元件實行一χ 位=寬資料值之-資料傳送’其中實行該資料傳送包括提
:、第讀取/寫入彳5號與對應於該週邊模組之y位元寬資 料暫存器之-處理元件提供的位址,且其、於X -:流排控制器來接收該第二讀取/寫入信號與該處理元 件提供的位址;以及回應接收該第二讀取/寫人信號,藉 ' Sx匯流排控制器來與該週邊模組實行一系列多個資料傳 送:其中實行該系列包括提供該第-讀取/寫入信號與針 對該系列中每—資料傳送的複數個不同位址之—位址。在 另:、體實施例中,映射該複數個不同位址偏移的步驟包 S複數個不同位址偏移之—第—位址偏移映射至該資 137816.doc •43· 200941341 料暫存器以用於一 y位元寬資料傳送,及將該複數個不同 位址偏移之x/y個其他位址偏移映射至該資料暫存器以用 於一 X位元寬資料傳送。 雖然上面已結合特定系統、裝置及方法說明各種具體實 施例之原理,但應清楚地明白此說明僅係經由範例而非作 為本發明標的之範疇的限制。此外,本文中採用的措詞或 術語係基於說明而非限制之目的。 特定具體實施例之前述說明充分顯露出各種具體實施例 之一般性質,使得其他人可藉由應用當前知識來針對各種 應用容易地修改及/或調適其而不脫離一般概念。因此, 此類調適與修改係在所揭示具體實施例之等效物的含義與 範圍内。本發明標的涵蓋在隨附申請專利範圍之精神與廣 泛範疇内的所有此類替代、修改、等效物及變更。 【圖式簡單說明】 圖1說明依據一範例具體實施例之一電子系統的簡化方 塊圖; 圖2說明依據一範例具體實施例之一週邊模組的簡化方 塊圖; 圖3說明依據一範例具體實施例的用於寫入至一週邊模 組之一資料暫存器的一方法之流程圖; 圖4說明依據一範例具體實施例的用於讀取一週邊模組 之一資料暫存器的一方法之流程圖; 圖5說明依據一範例具體實施例之一楯環冗餘檢驗(CRC) 模組的簡化方塊圊;以及 137816.doc -44- 200941341 圖6說明依據一範例具體實施例的與結合產生一 CRC值 所實行的寫入與讀取資料傳送相關的各種信號之時序圖。 【主要元件符號說明】 100 電子系統 102 處理元件/處理器核心 104 匯流排控制器 106 系統匯流排/處理器核心側 107 系統匯流排/記憶體區塊側 108 位址匯流排 109 位址匯流排 110 讀取資料匯流排 111 讀取資料匯流排 112 寫入資料匯流排 113 寫入資料匯流排 120 匯流排控制器 122 週邊模組 123 週邊模組 124 週邊模組 126 週邊匯流排 128 位址匯流排 130 讀取資料匯流排 132 寫入資料匯流排 134 中斷控制器週邊模組 136 中斷線 ⑩ ⑩ 137816.doc -45- 200941341 ❹ 150 快閃記憶體陣列 152 隨機存取記憶體 200 週邊模組 202 週邊功能電路 203 中斷請求產生器 204 讀取資料暫存器 205 讀取資料暫存器 206 寫入資料暫存器 207 寫入資料暫存器 208 介面 209 週邊匯流排中斷信號線 210 .週邊匯流排讀取資料線 212 介面 214 週邊匯流排寫入資料線 216 位址解碼邏輯 220 位址偏移位元線 222 匯流排位址線介面 224 週邊匯流排位址線 230 讀取/寫入信號介面 232 週邊匯流排讀取/寫入信號線 234 時脈產生器 236 週邊匯流排時脈信號線 500 CRC模組 502 CRC產生器電路 137816.doc -46. 200941341 504 506 508 510 514 516 520 522 Ο 524 530 532 534 536 CRC低資料暫存器 CRC高資料暫存器 匯流排讀取/寫入線介面 週邊匯流排讀取線 週邊匯流排寫入線 位址解碼邏輯 位址偏移位元線 匯流排位址線介面 週邊匯流排位址線 讀取/寫入信號介面 週邊匯流排讀取/寫入信號線 時脈產生器 週邊匯流排時脈信號線 參 137816.doc • 47·

Claims (1)

  1. 200941341 七、申請專利範圍: 1. 一種電子系統,其包含: 引:件件t係調適成用以執行機器可讀取碼,其 其中實行該資料傳送包括提二科:之-資料傳送, 應於一週邊模组之一第—讀取/寫入信號與對 m 寬資料暫存器之—處理元件 提供的位址,且其中丫少於中 一匯流排控制器,其係調 ❹ 珉用以接收該讀取/寫入信 唬與該處理兀件提供的 址並作為回應,與該週邊模 組實订-系列多個資料傳送,其中實行該系列包括提供 二第一ΙΜ取/寫人信號與針對㈣列之—第_資料傳送的 第週邊位址,及針對該系列之至少另一資料傳送來 提供至少一不同週邊位址;以及 該週邊模組經組態用以將該第一週邊位址映射至該^ 位元寬資料暫存器’並亦將該至少一不同週邊位址映射 至s亥y位元寬資料暫存器。 2.如研求項1之電子系統,其中該週邊模組包含: 一y位凡寬第一資料暫存器,其係可操作地耦合至一 資料匯流排;以及 位址解碼邏輯’其係可操作地耦合至一位址匯流排, 並經組態用以將複數個不同位址偏移映射至該第一資料 暫存器之全部或一相同部分。 3.如請求項1之電子系統,進一步包含: 一系統匯流排;以及 137816.doc 200941341 至J —記憶體區塊’其中該至少一記憶體區塊與該處 理元件係透過該系統匯流排來操作性地叙合在—起,且 其中該處理元件係進一步調適成用以執行機器可讀取碼 以透過該系統匯流排自該記憶體區塊擷取資料值。 4,如睛求項1之電子系統,其中該資料傳送包括一寫入資 料傳送以將該X位元寬資料值寫入至該週邊模組,且其 中該處理元件係進一步調適成用以將該x位元寬資料值 k供至該匯流排控制器。 β 5.如凊求項1之電子系統,其中該資料傳送包括一讀取資 料傳送以自該週邊模組讀取該χ位元寬資料值,且其中 该匯流排控制器係進一步調適成用以自該週邊模組讀取 複數個y位元寬資料值,自該複數個y位元寬資料值來建 構該X位70寬資料值,並將該χ位元資料值提供至該處理 元件。 6. 如請求項1之電子系統,進一步包含: 藝週邊匯流排,其係操作性地耦合在該匯流排控制器 一該週邊模組之間,其中該週邊匯流排包括一 ζ位元寬 資料匯流排,且其中2少於或等於y。 7. 如4求項1之電子系統,其中該處理元件係選自包括以 下各者之一群組的一處理元件:一處理器核心、一非核 心處理7L件及一直接記憶體存取單元。 8. —種電子系統,其包含: —週邊模組,其具有 —y位70寬第一資料暫存器,其係可操作地耦合至一 137816.doc 200941341 9. ❹ 10. 11. 12. 資料匯流排,以及 位址解碼邏輯,其係可操作地耦合至一位址匯流排, 並經組態用以將複數個不同位址偏移映射至該第一資料 暫存器。 如請求項8之電子系統,其中該位址解碼邏輯經組態用 以將該複數個不同位址偏移之一第一位址偏移映射至該 第一資料暫存器以用於一 y位元寬資料傳送,並將該複 數個不同位址偏移之x/y個其他位址偏移映射至該第一資 料暫存器以用於一 X位元寬資料傳送’其係實行為至循 序位址之一系列乂以個y位元寬資料傳送,且其中該等循 序位址之每一位址係對應於8位元位元組資料之一位 址0 如請求項8之電子系統,其中該週邊模組進一步包含: 一或多個y位元寬額外資料暫存器,其係可操作地耦 合至該資料匯流排。 如請求項8之電子系統,其中該週邊模組進一步包含: 一讀取/寫入信號介面’其係調適成用以接收一讀取/ 寫入信號’其中該週邊模組係調適成用以當該讀取寫入 #號處於一讀取狀態時並當該位址解碼邏輯已將針對存 在於位址匯流排上之一位址的一位址偏移映射至該第 一資料暫存器時將一y位元寬資料值自該第一資料暫存 器傳送至該資料匯流排之一讀取資料匯流排。 如清求項8之電子系統’其中該週邊模組進一步包含: 讀取/寫入信號介面,其係調適成用以接收一讀取/ 137816.doc 200941341 寫入信號’其中該週邊模組係調適成用以當該讀取寫入 ^號處於一寫入狀態時並當該位址解碼邏輯已將針對存 在於—位址匯流排上之一位址的一位址偏移映射至該第 一貝料暫存器時將一 y位元寬資料值自該資料匯流排之 一寫入資料匯流排傳送至該第一資料暫存器。 13.如凊求項8之電子系統,其中該週邊模組進一步包含: 一中斷請求產生器,其係調適成用以產生一中斷信 號。
    14.如凊求項8之電子系統,其中該週邊模組進一步包含: 週邊功能電路,其係可操作地耦合至該第一資料暫存 器,其中該週邊功能電路係調適成用以實行該週邊模組 之一主要功能,並將資料寫入至該第一資料暫存器或自 該第一資料暫存器讀取資料。 15·如睛求項14之電子系統’其中該週邊功能電路係調適成 用以實行一循環冗餘檢驗計算。 16.如請求項8之電子系統,其進一步包含: 處理元件,其係調適成用以執行機器可讀取碼,其 引起該處理元件實行一 x位元寬資料值之-資料傳送, 其中實行該資料傳送包括提供一第一讀取/寫入信號與對 應於該週邊模組之該第—資料暫存器之—處理元件提供 的位址,且其中y少於X;以及 丹诉賙週成 牧叹琢讀取/寫八,丨 號與該處理元件提供的位址,並作為回應,與該週心 組實打-系列多個資料傳送,其中實行該系列包括提$ 137816.doc 200941341 一第二讀取/寫入信號與針對該系列之一第一資料傳送的 一第一週邊位址,及針對該系列之至少另一資料傳送來 提供至少一不同週邊位址。 17.如请求項8之電子系統,其中該週邊模組係選自包括以 下各者之一群組的一模組:一循環冗餘檢驗計算模組、 一核對和計算模組、一串列週邊介面一通用非同步接 :發射器、一顯示器控制器及一使用者介面控制器。 1 8. —種用於在一處理元件與一週邊模組之間傳送資料的方 法’該方法包含以下步驟: 藉由s亥週邊模組來接收一第一讀取/寫入信號與來自一 位址匯流排之複數個不同位址;以及 藉由該週邊模組來將對應於該複數個不同位址的複數 個^同位址偏移映射至一單一y位元寬資料暫存器;以及 當該第一讀取/寫入信號處於一讀取狀態時,藉由該週 邊模組將一y位元寬資料值自該y位元寬資料暫存器傳送 至一資料匯流排,並當該第一讀取/寫入信號處於一寫入 狀態時,將該y位元寬資料值自該資料匯流排傳送至該y 位元寬資料暫存器中。 19.如。肖求項is之方法,其進一步包含以下步驟: -藉由該處理元件來執行機H可讀取碼,其引起該處理 元件實行一 X位元寬資料值之一資料傳送,其中實行該 資料傳送包括提供-第二讀取/寫入信號與對應於該週邊 模組之該y位元寬資料暫存器之一處理元件提供的位 址’且其中y少於X; 137816.doc 200941341 藉由一匯流排控制器來接收該第二讀取/寫入信號與該 處理元件提供的位址;以及 回應接收該第二讀取/寫入信號,藉由該匯流排控制器 來與該週邊模組實行一系列多個資料傳送,其中實行該 系列包括提供該第一讀取/寫入信號與針對該系列中之每 一資料傳送的該複數個不同位址之一位址。 20.如請求項19之方法,其中映射該複數個不同位址偏移包 含: 將該複數個不同位址偏移之一第一位址偏移映射至該 資料暫存器以用於一 y位元寬資料傳送;以及 將該複數個不同位址偏移之x/y個其他位址偏移映射至 該資料暫存器以用於一 X位元寬資料傳送。 137816.doc _6·
TW098103728A 2008-02-15 2009-02-05 週邊模組暫存器存取方法及裝置 TWI484407B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/032,286 US8977790B2 (en) 2008-02-15 2008-02-15 Peripheral module register access methods and apparatus

Publications (2)

Publication Number Publication Date
TW200941341A true TW200941341A (en) 2009-10-01
TWI484407B TWI484407B (zh) 2015-05-11

Family

ID=40956157

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098103728A TWI484407B (zh) 2008-02-15 2009-02-05 週邊模組暫存器存取方法及裝置

Country Status (5)

Country Link
US (1) US8977790B2 (zh)
JP (1) JP5496916B2 (zh)
CN (1) CN101933005B (zh)
TW (1) TWI484407B (zh)
WO (1) WO2009102529A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102150132A (zh) * 2008-09-10 2011-08-10 瑞萨电子株式会社 信息处理装置
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
JP6029433B2 (ja) * 2012-11-26 2016-11-24 ルネサスエレクトロニクス株式会社 マイコン
CN103885850B (zh) * 2013-03-01 2016-12-28 上海富欣智能交通控制有限公司 存储器在线检查系统及方法
US9395990B2 (en) * 2013-06-28 2016-07-19 Intel Corporation Mode dependent partial width load to wider register processors, methods, and systems
CN104794092A (zh) * 2014-01-22 2015-07-22 比亚迪股份有限公司 总线逻辑管理系统和方法
US10628373B2 (en) * 2015-12-01 2020-04-21 Marvell International Ltd. Systems and methods for transmitting an access request via a flexible register access bus
US10817587B2 (en) * 2017-02-28 2020-10-27 Texas Instruments Incorporated Reconfigurable matrix multiplier system and method
US10503582B2 (en) 2017-03-06 2019-12-10 Tttech Auto Ag Method and computer system for fault tolerant data integrity verification of safety-related data
CN107562658B (zh) * 2017-09-06 2024-05-28 北京世通凌讯科技有限公司 Cpu取指系统及取指方法
JP2019101446A (ja) * 2017-11-28 2019-06-24 ルネサスエレクトロニクス株式会社 半導体装置及びそれを備えた半導体システム
CN109547355B (zh) * 2018-10-17 2022-05-06 中国电子科技集团公司第四十一研究所 一种基于万兆以太网口接收机的存储解析装置及方法
CN109726057B (zh) * 2018-11-19 2022-07-22 浙江众合科技股份有限公司 一种cpu安全系统并行总线故障实时动态检测方法
CN111566614B (zh) * 2018-12-14 2023-09-08 深圳市汇顶科技股份有限公司 位宽匹配电路、数据写入装置、数据读出装置和电子设备
US20200201562A1 (en) * 2018-12-20 2020-06-25 Nanya Technology Corporation Memory device, memory system and method of reading from memory device
CN110322979B (zh) * 2019-07-25 2024-01-30 美核电气(济南)股份有限公司 基于fpga的核电站数字控制计算机系统核心处理单元
CN110457254B (zh) * 2019-08-14 2021-08-24 飞依诺科技(苏州)有限公司 提高超声设备接口传输利用率的方法及系统
CN111459546B (zh) * 2020-03-30 2023-04-18 芯来智融半导体科技(上海)有限公司 一种实现操作数位宽可变的装置及方法
US11288215B2 (en) * 2020-08-28 2022-03-29 Juniper Networks, Inc. Mapped register access by microcontrollers
CN113238974A (zh) * 2021-05-19 2021-08-10 青岛信芯微电子科技股份有限公司 一种总线带宽效率统计方法、装置、和设备及介质
CN117640783B (zh) * 2024-01-25 2024-04-09 富瀚微电子(成都)有限公司 一种数据传输方法、系统、电子设备以及可读介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6111873A (ja) 1984-06-28 1986-01-20 Kokusai Electric Co Ltd 16ビツトマイクロプロセツサによる8ビツトおよび16ビツトの各周辺装置へのアクセス方法
JPH02123447A (ja) 1988-10-12 1990-05-10 Advanced Micro Devicds Inc 入力/出力制御器およびそのデータ転送方法
JPH05204837A (ja) 1991-09-13 1993-08-13 Matsushita Electric Ind Co Ltd 情報処理装置
US5511229A (en) 1991-09-13 1996-04-23 Matsushita Electric Industrial Co., Ltd. Data processing system having a switching network connecting multiple peripheral devices using data paths capable of different data bus widths
JPH05120211A (ja) 1991-10-28 1993-05-18 Matsushita Electric Ind Co Ltd データバス幅制御装置
JPH11212903A (ja) 1997-11-06 1999-08-06 Hitachi Ltd データ処理システム、周辺装置及びマイクロコンピュータ
TW406229B (en) 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
US6401156B1 (en) * 1999-08-23 2002-06-04 Advanced Micro Devices, Inc. Flexible PC/AT-compatible microcontroller
US20060143252A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US6816921B2 (en) 2000-09-08 2004-11-09 Texas Instruments Incorporated Micro-controller direct memory access (DMA) operation with adjustable word size transfers and address alignment/incrementing
US6593774B2 (en) * 2001-12-07 2003-07-15 Highpoint Technologies, Inc. CMOS-interfaceable ECL integrated circuit with tri-state and adjustable amplitude outputs
JP2003223412A (ja) 2002-01-30 2003-08-08 Oki Electric Ind Co Ltd 半導体集積回路
US7823161B2 (en) * 2004-01-29 2010-10-26 Klingman Edwin E Intelligent memory device with variable size task architecture
TWI285825B (en) * 2004-06-18 2007-08-21 Ambric Inc Hardware register on a chip, method of implementing a protocol register, machine-accessible medium embodying a data interface protocol or a software object, data pipeline element, data pipeline device, join element, fork element, data interface device...
KR20080002419A (ko) 2006-06-30 2008-01-04 엠텍비젼 주식회사 n비트의 CPU 및 이를 이용한 데이터 버스트 리드 방법

Also Published As

Publication number Publication date
JP5496916B2 (ja) 2014-05-21
CN101933005A (zh) 2010-12-29
US8977790B2 (en) 2015-03-10
US20090210590A1 (en) 2009-08-20
WO2009102529A1 (en) 2009-08-20
CN101933005B (zh) 2016-09-21
TWI484407B (zh) 2015-05-11
JP2011512599A (ja) 2011-04-21

Similar Documents

Publication Publication Date Title
TW200941341A (en) Peripheral module register access methods and apparatus
TWI596478B (zh) 具緩衝區記憶體中的推測讀取之技術
Gaisler et al. GRLIB IP core user’s manual
TWI278755B (en) An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US9411542B2 (en) Interruptible store exclusive
CN113849433B (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
US10437516B2 (en) Microcontroller with integrated interface enabling reading data randomly from serial flash memory
TWI564802B (zh) 初始化週邊裝置之方法與使用此方法之電子裝置
TW201126414A (en) Multi-core microprocessor and debugging method thereof
JPH10187642A (ja) マイクロプロセッサ及びマルチプロセッサシステム
WO2014056329A1 (zh) 内存数据的推送方法及装置
US10948970B2 (en) Low power microcontroller
JP3824122B2 (ja) Dma装置
JP2011070372A (ja) Dma転送制御装置
TWI249129B (en) Trace buffer circuit, pipelined processor, method for assigning instruction addresses of a trace buffer and associated apparatus
JP2976850B2 (ja) データ処理装置
JP2007048019A (ja) エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム
US20080288692A1 (en) Semiconductor integrated circuit device and microcomputer
US11797421B2 (en) Semiconductor apparatus and debug system
US20070022239A1 (en) Apparatus and method for ordering transaction beats in a data transfer
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
KR20170124686A (ko) 트랜잭션 레벨 모델 기반의 얼굴 검출 및 인식 모듈
JP4507888B2 (ja) マイクロコンピュータ
CN117762701A (zh) 芯片、部件调试方法、装置、计算机设备、存储介质
JP2006092522A (ja) バス制御方法および回路

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees