TWI484407B - 週邊模組暫存器存取方法及裝置 - Google Patents

週邊模組暫存器存取方法及裝置 Download PDF

Info

Publication number
TWI484407B
TWI484407B TW098103728A TW98103728A TWI484407B TW I484407 B TWI484407 B TW I484407B TW 098103728 A TW098103728 A TW 098103728A TW 98103728 A TW98103728 A TW 98103728A TW I484407 B TWI484407 B TW I484407B
Authority
TW
Taiwan
Prior art keywords
data
address
read
bus
peripheral
Prior art date
Application number
TW098103728A
Other languages
English (en)
Other versions
TW200941341A (en
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

週邊模組暫存器存取方法及裝置
本發明標的之具體實施例係關於用於存取週邊模組之暫存器的方法及裝置,且更特定言之係關於用於使一更高位元寬度處理元件存取一週邊模組之一更低位元寬度資料暫存器的方法及裝置。
先前申請案之參考
此申請案已於2008年2月15日在美國提出申請,其專利申請案號為12/032,286。
一典型處理架構包括一處理元件(例如,一處理器核心),其係調適成用以執行可導致資料在該處理器核心與一週邊模組之一資料暫存器之間的傳送之軟體指令。在一些情況下,一架構可包括一更高位元寬度處理器核心與具有一更低位元寬度資料暫存器之一週邊模組。例如,一特定處理架構可以係設計以包括一32位元處理器核心,其可執行用於將32位元資料值寫入至一週邊模組之一8位元寬寫入暫存器的軟體。在此一情況下,該軟體可將一32位元資料值分解成四個8位元位元組,並可實行各至該週邊模組位址的一個位元組之四個連續寫入資料傳送。同樣,為了以一8位元寬讀取暫存器自一週邊模組暫存器讀取一32位元資料值,該軟體可實行各從該週邊模組位址的一個位元組之四個連續讀取資料傳送,並可串連該四個位元組以產生該32位元資料值。
每一存取指令消耗處理器核心循環,並因此實行多個存取以便在一更高位元寬度處理器核心與具有一更低位元寬度資料暫存器之一週邊模組之間傳送資料係固有地效率低。然而,特定設計參數(例如,針對在新與更舊處理器核心上執行的軟體之反向相容性及具有更低位元寬度資料暫存器的週邊模組之相對較小的實體大小)繼續迫使架構開發者將具有更低位元寬度資料暫存器之從屬週邊模組併入具有更高位元寬度處理器核心的處理架構中。為了增加處理架構效能,需要的係調適成用以致能在更高位元寬度處理器核心與週邊模組之更低位元寬度資料暫存器之間的更有效資料傳送之方法及裝置,其同時提供針對可在新與更舊處理器核心上執行之軟體的反向相容性。
本文中說明的具體實施例包括用於自各種類型之週邊模組內的資料暫存器讀取資料及/或將資料寫入至該等資料暫存器的方法及裝置。如下文將詳細說明,針對具有具備一y位元程式化模型資源(例如,一資料暫存器)與一x位元處理元件(例如,一處理器核心)之一週邊模組的電子系統(例如,一晶片)組態,其中x大於y,可使用包括在該週邊模組中映射至現有y位元程式化模型資源的額外x位元程式化模型位置之一具體實施例來改良系統效能。例如,在其中y=8且x=32之一系統中,可依據其中藉由該週邊模組將新的32位元位置映射至現有8位元程式化模型資源之一具體實施例來藉由將該一或多個32位元位置包括於該週邊模組之程式化模型內來在習知系統上獲得改良的週邊效能。
可以若干系統架構之任一者來實施該等各種具體實施例,並且圖1說明依據一特定範例具體實施例之一電子系統100的簡化方塊圖。如圖1之範例具體實施例所說明,用於存取一週邊模組內之資料暫存器的電子系統可包括作為一處理元件之一處理器核心(例如,處理器核心102)。應明白,其他電子系統具體實施例可包括其他類型之處理元件,其中可將一「處理元件」定義為一可程式化硬體模組,其係調適成用以執行起始該處理元件與一週邊模組之間的資料傳送之軟體指令。例如,一處理元件可以係選自包括以下模組之一群組的硬體模組:一處理器核心、一非核心處理元件、一直接記憶體存取(DMA)單元及/或可程式化並係調適成用以執行起始該處理元件與一週邊模組之間的資料傳送之軟體指令的其他硬體模組。因此,雖然本文中的圖式與說明可能論述其中一電子系統包括一處理器核心的具體實施例,但應明白該等具體實施例之範疇包括包含其他類型之處理元件的電子系統。
現參考圖1與一特定範例具體實施例,電子系統100包括一或多個處理器核心102(或其他處理元件)、一或多個系統匯流排控制器104、一系統匯流排106、107、一或多個週邊模組122、123、124、一週邊匯流排126、一中斷控制器週邊模組134及/或一或多個記憶體區塊(例如,快閃記憶體陣列150與隨機存取記憶體152)。雖然電子系統100係說明為具有一單一處理器核心102,但在其他具體實施例中一電子系統可包括多個處理器核心。此外,雖然說明三個週邊模組122至124,但在其他具體實施例中一電子系統可具有更多或更少週邊模組。
例如,在各種具體實施例中,處理器核心102可包括一微控制器、微處理器或數位信號處理器(DSP)核心。處理器核心102係一x位元核心,其包括x位元寬暫存器。在各種具體實施例中,處理器核心102可與x位元寬資料匯流排或更寬位元寬度資料匯流排介接。在一特定具體實施例中,處理器核心係一32位元核心(即,x=32),不過在其他具體實施例中處理器核心102可以係一8位元、16位元、64位元、128位元或其他位元寬度處理器核心。
處理器核心102係經由系統匯流排106、107可操作地耦合至其他系統組件,該系統匯流排包括位址匯流排108、109、讀取資料匯流排110、111及寫入資料匯流排112、113。系統匯流排106、107係說明具有一處理器核心側106與一記憶體區塊側107。在一具體實施例中,該系統匯流排之處理器核心側106可通過系統匯流排控制器104而無顯著改變,並因此該處理器核心側106與該記憶體區塊側107可本質上相同地予以組態與操作。在另一具體實施例中,該系統匯流排之處理器核心側106的組態及/或操作可能不同於該記憶體區塊側107之組態及/或操作,並且該系統匯流排控制器104可實施改變(例如,該系統匯流排控制器104除了別的以外可實行至另一匯流排協定之一轉換及/或改變操作頻率)。雖然該系統匯流排之處理器核心側106與記憶體區塊側107中的差異可能存在,但為便於說明,其將係統稱為系統匯流排106、107,並亦可統稱相關聯於兩個側的讀取、寫入及位址匯流排。在一具體實施例中,讀取資料匯流排110、111與寫入資料匯流排112、113各係x位元寬資料匯流排,不過在其他具體實施例中其可以係更寬位元寬度資料匯流排。此外,系統匯流排106、107可包括各種控制線(未說明),例如一讀取/寫入控制信號線(例如,用以提供具有一讀取狀態與一寫入狀態之一讀取/寫入信號)、一匯流排時脈線(例如,用以提供一系統匯流排時脈信號)、一傳送大小信號線及/或一等待信號線(例如,用以傳遞一匯流排傳送等待信號)。
處理器核心102係調適成用以執行軟體指令(例如,機器可讀取碼),其除了別的以外可引起處理器核心102透過系統匯流排106、107發佈資料存取請求(例如,讀取及/或寫入請求)。發佈一資料存取請求包括處理器核心102在位址匯流排108、109上提供一位址,其識別一記憶體區塊150、152或一週邊模組122至124內之一位置。對於一寫入類型之資料存取請求,處理器核心102亦在系統匯流排106、107之寫入資料匯流排112、113上提供一資料值。對於一讀取類型之資料存取請求,處理器核心102自系統匯流排106、107之讀取資料匯流排110、111讀取一資料值。如稍後將更詳細地說明,具體實施例致能藉由處理器核心102執行的軟體使用更少的存取指令(例如,寫入指令、讀取指令及/或移動指令)來存取週邊模組122至124。因此,可以比習知方法更有效的方式(例如,針對每位元組使用更少的處理器循環)來實行此類存取。
系統匯流排控制器104係調適成用以管理透過系統匯流排106、107在處理器核心102與各種類型之記憶體區塊之間傳送的資料流。此等記憶體區塊可包括(例如)一快閃記憶體陣列150(快閃記憶體)與一隨機存取記憶體152(RAM),例如一靜態RAM(SRAM)。此外或替代地,系統100可包括諸如電可抹除可程式化ROM(EEPROM)之唯讀記憶體(ROM)及/或其他類型之記憶體區塊。
在一具體實施例中,系統匯流排控制器104包括及/或操作性地耦合至一週邊匯流排控制器120。週邊匯流排控制器120係調適成用以在該x位元寬系統匯流排106、107與該z位元寬週邊匯流排126之間提供一介面。更明確地說,週邊匯流排控制器120係調適成用以管理該系統匯流排106、107與各種類型之週邊模組122至124及/或操作性地耦合至該週邊匯流排126之其他系統組件之間的資料流。系統匯流排控制器104通常提供兩個基本功能。該第一功能包括管理自該處理器核心102之存取的訊務流及將一資料傳送請求「投送」至適當匯流排介面。例如,此可包括將一資料傳送請求投送至與系統匯流排107介接的系統匯流排控制器104內之邏輯,或將該資料傳送請求投送至週邊匯流排控制器120。系統匯流排控制器104之第二功能包括實施針對系統匯流排107之匯流排介面。同樣,週邊匯流排控制器120實施針對週邊匯流排126之匯流排介面。在一具體實施例中,週邊匯流排控制器102亦處理將自該處理器之x位元資料存取硬體分解成針對週邊匯流排126的一系列z位元寬資料存取,其中z少於x,如稍後將更詳細地說明。
週邊匯流排126係操作性地耦合於週邊匯流排控制器120與週邊模組122至124之間。在一具體實施例中,週邊匯流排126係一同步非多工匯流排,其包括一位址匯流排128、一讀取資料匯流排130及一寫入資料匯流排132。在一替代性具體實施例中,當作為雙向資料匯流排線來操作該等週邊匯流排資料線時,可將該讀取資料匯流排130與該寫入資料匯流排132實施為相同實體資料匯流排。在一具體實施例中,讀取資料匯流排130與寫入資料匯流排132各係z位元寬資料匯流排(即,讀取資料匯流排130包括z個讀取資料線,而寫入資料匯流排132包括z個寫入資料線)。週邊匯流排126亦可包括各種控制線(未說明),例如一讀取/寫入控制信號線(例如,用以提供具有一讀取狀態與一寫入狀態之一讀取/寫入信號)、一匯流排時脈線(例如,用以提供一週邊匯流排時脈信號)、一傳送大小信號線及/或一等待信號線(例如,用以傳遞一匯流排傳送等待信號)。
一或多個週邊模組122至124係操作性地連接至週邊匯流排126。依據各種具體實施例,週邊模組122至124之至少一者係調適成用以實行多位址暫存器映射,不過一些週邊模組122至124可能並不係如此調適。如下文將更詳細說明,「多位址暫存器映射」表示一週邊模組122至124將提供於位址匯流排128上的多個位址(或自該等位址導出的位址偏移)映射至該週邊模組122至124內之一單一讀取及/或寫入資料暫存器的能力。如本文中所使用,術語「位址偏移」可表示一全位址、一全位址之一部分(例如,一位址的最低有效位元之一或多者)或一位址之某一其他導出。週邊模組122至124可包括(例如)選自一群組之任一或多個週邊裝置,該群組(例如)包括但不限於:循環冗餘檢驗(CRC)計算模組、核對和計算模組、串列週邊介面(SPI)、通用非同步接收器/發射器(UART)、計數器、計時器、記憶體控制器、顯示器控制器(例如,液晶顯示器(LCD)控制器)、使用者介面控制器(例如,鍵盤、觸控螢幕及/或指示器控制器)、中斷控制器及開機重設產生器。電子系統100亦可包括各種其他週邊裝置,其可以或可以不併入本發明標的之具體實施例。
中斷控制器週邊模組134亦係操作性地耦合至週邊匯流排126。中斷控制器週邊模組134係調適成用以接收來自一些或所有週邊模組122至124之中斷信號(未說明)並用以將對應中斷信號經由一中斷線136提供至處理器核心102的一類型之週邊模組。
在各種替代性具體實施例中,電子系統100可包括額外的或與圖1中說明且上面論述的該些組件不同的組件。例如,電子系統100除了別的以外亦可包括一或多個時序源、外部介面、通用輸入/輸出(GPIO)埠、類比介面、額外或不同匯流排、電壓調整器及/或電力管理電路。在一具體實施例中,可將電子系統100實施為一晶片上系統(SoC),其中各種系統組件係整合至一單一積體電路上。在另一具體實施例中,可將電子系統100實施為一封裝中系統(SiP),其中各種系統組件係整合至一起封裝於一單一封裝中的多個積體電路上。在其他具體實施例中,可將各種組件或組件集合整合至多個積體電路上並分別地封裝。
圖2說明依據一範例具體實施例的調適成用以實行多位址暫存器映射之一週邊模組200(例如,圖1之週邊模組122至124之一者)的簡化方塊圖。圖2之包括旨在提供各種具體實施例之一般論述。實際上,可將具體實施例併入各種組態之週邊模組中並具有各種功能性,並且稍後結合圖5至7來說明一些特定範例。因此,圖2及其論述不具限制意義。
週邊模組200包括週邊功能電路202,其係可操作地耦合至該至少一資料暫存器204、205、206、207之一或多者。每次一資料值係寫入至一寫入資料暫存器206、207中時,週邊功能電路202可在一隨後資料值係寫入至該寫入資料暫存器206、207中之前處理或以其他方式消耗該資料。同樣,每次週邊功能電路202將一資料值寫入至一讀取資料暫存器204、205中時,週邊功能電路202可等待將一隨後資料值寫入至該讀取資料暫存器204、205中直至已實行該資料值之一外部讀取資料傳送。依據一具體實施例,週邊功能電路202將資料寫入至該至少一資料暫存器204至207及/或自該至少一資料暫存器204至207讀取資料。週邊功能電路202係調適成用以實行該週邊模組200之主要功能,其除了別的以外可包括資料傳送及/或計算功能。例如但不經由限制,可將週邊功能電路202調適成用以基於一或多個寫入資料暫存器206、207中之資料來實行一數學功能並用以提供一或多個讀取資料暫存器204、205中之一結果(例如,用以計算一循環冗餘檢驗(CRC)值)以將資料自一寫入資料暫存器206、207傳送至一讀取資料暫存器204、205,及/或用以實行若干其他主要功能之任一者。在一具體實施例中,週邊模組200可包括一中斷請求產生器203,並且可將週邊功能電路202調適成用以引起中斷請求產生器203在一週邊匯流排中斷信號線209上產生一中斷信號。例如但不經由限制,週邊功能電路202可引起一中斷係在資料(例如,一結果)係就緒以自一讀取資料暫存器204、205讀取時及/或在週邊功能電路202係就緒以自一寫入資料暫存器206、207提供資料時予以產生。
週邊模組200亦包括讀取/寫入信號介面230,其係調適成用以偵測存在於一週邊匯流排讀取/寫入信號線232上之一讀取/寫入信號的狀態。當該讀取/寫入信號指示一讀取資料傳送並且位址解碼邏輯216已解碼對應於一讀取資料暫存器204、205之一位址偏移時,週邊模組200可將對應於該經解碼位址偏移之讀取資料暫存器204、205內的資料傳送至週邊匯流排讀取資料線210(例如,圖1之讀取資料匯流排130)上。同樣,當該讀取/寫入信號指示一寫入資料傳送並且位址解碼邏輯216已解碼對應於一寫入資料暫存器206、207之一位址偏移時,週邊模組200可將存在於該等週邊匯流排寫入資料線214(例如,圖1之寫入資料匯流排132)上的資料傳送至對應於該經解碼位址偏移之寫入資料暫存器206、207中。在一替代性具體實施例中,暫存器204至207之任一或多者可具有一讀取資料暫存器與一寫入資料暫存器兩者的作用(例如,一單一實體暫存器可具有一讀取/寫入資料暫存器的作用)。在此一具體實施例中,可將在該等讀取資料線210與該等寫入資料線214之間的介面組合成一單一介面(而非兩個介面208、212,如所說明),並可依據該讀取/寫入資料信號的狀態來控制資料傳送的方向(例如自該暫存器至該等讀取資料線或自該等寫入資料線至該暫存器)。此外,在一具體實施例中並如前所述,當作為雙向資料匯流排線來操作該等週邊匯流排資料線時,可將該等週邊匯流排讀取資料線210與該等週邊匯流排寫入資料線214實施為相同實體線。
週邊模組200亦包括時脈產生器234,其係調適成用以接收來自一週邊匯流排時脈信號線236之一時脈信號,並用以產生影響各種內部操作(例如,為進入或離開一暫存器204至207的資料提供時脈、實行一計算、解碼一位址或偏移等等)之時序的一或多個內部時脈。
週邊模組200亦可包括一或多個寫入資料暫存器206、207,其各係調適成用以接收並儲存藉由匯流排寫入線介面212自該等週邊匯流排寫入資料線214傳送的資料。同樣,週邊模組200亦可包括一或多個讀取資料暫存器204、205,其各係調適成用以經由匯流排讀取線介面208來儲存並提供資料至週邊匯流排讀取資料線210。在一具體實施例中,暫存器204至207之至少一者係y位元寬暫存器,其中y少於x(即,該暫存器之位元寬度y少於圖1之處理元件(例如,處理器核心102)及/或系統匯流排106、107之位元寬度x)。在一特定具體實施例中,暫存器204至207係8位元寬暫存器(即,y=8),不過在其他具體實施例中,暫存器204至207之任一或多者可以係4位元、16位元、32位元或其他位元寬度暫存器。
在圖2中說明的具體實施例中,週邊模組200包括兩個讀取資料暫存器(讀取低資料暫存器204與讀取高資料暫存器205)與兩個寫入資料暫存器(寫入低資料暫存器206與寫入高資料暫存器207)。雖然顯示週邊模組200包括兩個讀取資料暫存器204、205與兩個寫入資料暫存器206、207,但在其他具體實施例中,一週邊模組可具有更多或更少的讀取資料暫存器及/或寫入資料暫存器。例如,在一些其他具體實施例中,一週邊模組可僅具有一或多個讀取資料暫存器或一或多個寫入資料暫存器,但並非兩者。在其他具體實施例中,一週邊模組可具有一單一讀取資料暫存器及/或一單一寫入資料暫存器。在其他具體實施例中,可將一發送緩衝器(例如,一先進先出或FIFO緩衝器)相關聯於該等寫入資料暫存器206、207之任一者或兩者。因此,針對每一寫入資料傳送,可將一寫入資料暫存器206、207內之一值傳送至該緩衝器中,並可將該緩衝器之其他值透過該緩衝器偏移離開該寫入資料暫存器206、207。同樣,可將一接收緩衝器(例如,一FIFO緩衝器)相關聯於該等讀取資料暫存器204、205之任一者或兩者。因此,針對每一讀取資料傳送,可將一值自該緩衝器傳送至一讀取資料暫存器204、205中,並可朝向該讀取資料暫存器204、205偏移該緩衝器中之其他值。
在一具體實施例中,週邊模組200亦包括位址解碼邏輯216,其係調適成並經組態用以基於藉由匯流排位址線介面222自週邊匯流排位址線224(例如,圖1之週邊位址匯流排128)接收的位址來解碼存在於位址偏移位元線220上的信號。基於該解碼程序,位址解碼邏輯216可引起匯流排讀取線介面208將資料自讀取資料暫存器204、205之一者傳送至週邊匯流排讀取線210,或位址解碼邏輯216可引起匯流排寫入線介面212將資料自週邊匯流排寫入線214傳送至寫入資料暫存器206、207之一者。
在一具體實施例中,每一資料暫存器204至207係映射至一或多個位址偏移。在一特定具體實施例中,資料暫存器204至207之至少一者係映射至多個位址偏移,其調適週邊模組200來實行多位址暫存器映射,如上簡述,並且其將在下文更詳細地說明。亦可將除資料暫存器204至207以外的記憶體資源映射至該等位址偏移之一或多者,不過本文中不論述此類其他資源。如前所述,一位址偏移可以係一全位址、一全位址之一部分(例如,一位址的最低有效位元之一或多者)或一位址之某一其他導出。在所說明的具體實施例中,一位址偏移對應於可在位址線224上接收之一位址的四個最低有效位元,並因此可將四個位址偏移位元線220調適成用以將該位址之四個最低有效位元傳送至位址解碼邏輯216。雖然說明八個週邊匯流排位址線224與四個位址偏移位元線220,但在其他具體實施例中可包括更多或更少的週邊匯流排位址線224及/或位址偏移位元線220。如所說明,使用四個位址偏移位元線220,位址解碼邏輯216可接收並可能能夠解碼高達十六個不同的位址偏移(例如,0000至1111(二進制)或0x0至0xF(其中「0x」前綴識別十六進制值))。在其他具體實施例中,可將位址解碼邏輯216調適成用以解碼更多或更少的位址偏移。位址解碼在一具體實施例中可以係固線式的並因而不可變,或在其他具體實施例中可基於一固定或可組態位址映射至少部分地以軟體實施。
可將該位址偏移解碼邏輯(不管係以硬體、軟體或以兩者實施)表示為一記憶體映射。在一具體實施例中,資料暫存器204至207之至少一者係映射至多個位址。如本文中所使用,術語「暫存器位址偏移集合」表示映射至一特定暫存器的一組多個位址偏移。在一特定具體實施例中,針對一特定暫存器之一第一位址偏移(即,位址偏移0x0)可對應於藉由該處理器元件(例如,圖1之處理器核心102)指定以用於讀取y位元資料值之一第一位址,並因而該位址偏移在下文可稱為一「y位元寬存取位址偏移」,其中術語「y位元寬」表示所存取的資料之寬度而非該位址偏移的寬度,其可以或可以不是y個位元寬。針對該特定暫存器之一或多個其他位址偏移(即,位址偏移0x4、0x5、0x6及0x7)可對應於藉由該處理器元件指定以用於讀取x位元資料值之一第二位址,並因而該些位址偏移在下文可稱為「x位元寬存取位址偏移」,其中術語「x位元寬」表示在存取的資料之寬度而非該位址偏移的寬度,其可以或可以不是x個位元寬。在其他具體實施例中,y位元寬存取位址偏移與x位元寬存取位址偏移亦可或替代地可對應於讀取y位元與x位元資料值。如下文表1中之一週邊模組記憶體映射之範例8位元視圖所指定,讀取低資料暫存器204係映射至包括五個位址偏移(即,偏移0x0、0x4、0x5、0x6及0x7)之一暫存器位址偏移集合,並且寫入低資料暫存器206係映射至包括五個不同位址偏移(即,偏移0x2、0x8、0x9、0xA及0xB)之一暫存器位址偏移集。
可替代地在如下文表2之一32位元視圖中表示相同範例記憶體映射:
僅基於範例目的來提供表1與表2之記憶體映射,並且可存在許多記憶體映射變更。可自表1與表2之記憶體映射收集的係,依據各種具體實施例,位址解碼邏輯216經組態並係調適成用以將一組多個位址偏移(例如,一暫存器位址偏移集合)映射至該週邊模組200之一單一資料暫存器之全部或某一部分,不過位址解碼邏輯216亦可經組態用以將一或多個其他組的多個位址映射至一或多個其他資料暫存器。
在一特定具體實施例中,一暫存器位址偏移集合中的位址偏移之至少一者可對應於一y位元讀取或寫入資料傳送,並且一暫存器位址偏移集中之一數目n(其中n=x/y)之其他位址偏移可對應於一x位元讀取或寫入資料傳送,其係實行為一系列n個至循序位址之y位元寬資料傳送,且其中該等循序位址之每一位址係對應於y位元資料(例如,8位元位元組資料)之一位址。換言之,在此一具體實施例中,該「其他」位址偏移之每一者可對應於所寫入或讀取的x位元資料值之一y位元部分。例如,若寫入資料暫存器204係一8位元暫存器,並且一處理元件(例如,圖1之處理器核心102)執行一指令以將一8位元資料值寫入至寫入低資料暫存器206,則可在週邊匯流排位址線224上提供一位址,其對應於映射至該寫入低資料暫存器206之一第一位址偏移(例如,來自上面表1之位址偏移0x2)。相比之下,若該處理單元執行一指令以將一32位元資料值寫入至寫入資料暫存器206,則可在週邊匯流排位址線224上提供四個位址(即,n=4並且n=x/y=32/8=4),其對應於四個其他位址偏移,該等位址偏移各係映射至該寫入低資料暫存器206(例如,來自上面表1之位址偏移0x8、0x9、0xA及0xB)。
如下文將更詳細地說明,在其中一x位元處理元件(例如,圖1之處理器核心102)存取一週邊模組(例如,週邊模組200)之y位元資料暫存器(例如,暫存器204至207)並且x大於y之一系統中,將多個位址偏移映射至一單一暫存器的調適致能該處理元件透過執行與習知系統及方法相比較更少的程式指令來與該週邊模組實行一x位元資料傳送。例如,對於自該處理元件至一週邊模組之一8位元暫存器的一32位元寫入資料傳送,該處理元件可執行一單一32位元寫入指令,並且可藉由該週邊匯流排控制器(例如,圖1之週邊匯流排控制器120或在一替代性具體實施例中藉由匯流排控制器104)來將該32位元資料值分解成至對應於映射至該單一8位元暫存器的四個位址偏移之四個週邊模組位址的四個8位元寫入。在一具體實施例中,該四個週邊模組位址與該四個位址偏移係連續位址與位址偏移,不過在其他具體實施例中其可以係非連續的。替代其中該處理元件會執行四個8位元寫入指令以寫入該32位元資料值的習知方法,該處理元件可作為替代實行少於四個之寫入指令(例如,一單一32位元寫入指令或兩個16位元寫入指令)。此可顯著減低為了完成該32位元寫入資料傳送所消耗的處理器循環之數目。
分別結合圖3與4來更詳細地說明用於實行寫入資料傳送與讀取資料傳送的方法之具體實施例。應結合圖1與2來觀看圖3與4,因為下文為清楚起見在圖3與4之方法的說明中參考圖1與2之各種元件。
首先參考用於實行寫入資料傳送的具體實施例之一說明,圖3說明依據一範例具體實施例的用於寫入至一週邊模組(例如,週邊模組200)之一資料暫存器的一方法之流程圖。更特定言之,該方法對應於一32位元處理元件(例如,處理器核心102)自記憶體(例如,自快閃記憶體陣列150或RAM 152)擷取一32位元資料值,並將該32位元資料值寫入至一週邊模組(例如,週邊模組200)之一8位元寫入資料暫存器(例如,寫入低資料暫存器206)。應明白,在其他具體實施例中,一不同位元寬度處理元件可自記憶體擷取一不同寬度資料值,並可將該資料值寫入至一不同寬度寫入資料暫存器。
該方法可在方塊302中在該處理元件執行一或多個軟體指令以自記憶體擷取一32位元資料值時開始。例如,該處理元件(例如,處理器核心102)可將系統匯流排106、107之一讀取/寫入信號的狀態設定至一讀取狀態,並可在系統匯流排106、107之位址匯流排108、109上提供一位址,其中該位址對應於快閃記憶體陣列150或RAM 152內之一記憶體位置。該處理元件接著可自讀取資料匯流排110、111讀取該32位元資料值(當可獲得時),並可將該32位元資料值儲存於一或多個暫存器或其他記憶體位置中。
在方塊304中,該處理元件可執行一或多個軟體指令以將該32位元資料值寫入至該週邊模組之8位元寫入資料暫存器。應明白,在一具體實施例中,可將方塊302之擷取指令與方塊304之寫入指令折疊成一單一移動指令,其指定應將該32位元資料值自該記憶體位置(例如,在快閃記憶體陣列150或RAM 152內)移至該週邊模組之8位元寫入資料暫存器。在任何情況下,該處理元件可將系統匯流排106、107之讀取/寫入信號的狀態設定至一寫入狀態,並可對應於一第一位址偏移(例如,來自上面表1之位址偏移0x8)在位址匯流排108、109上提供一位址,其將藉由該週邊模組映射至該週邊模組之8位元寫入資料暫存器。此外,該處理元件在該週邊匯流排之寫入資料匯流排112、113上提供該32位元資料值。
在方塊306中,該週邊匯流排控制器(例如,圖1之週邊匯流排控制器120)接收該位址與該32位元資料值,並可將該32位元資料值暫時儲存於一或多個暫存器中。在一具體實施例中,該匯流排控制器120實行一系列z位元寬資料寫入資料傳送,其中z係該週邊匯流排126之寫入資料匯流排132的寬度。為了便於說明,此範例將假定該寫入資料匯流排132具有與該週邊模組之寫入資料暫存器(例如,寫入低資料暫存器206)相同的位元寬度。因此,在此範例中,z=8。應明白,該寫入資料匯流排132之寬度可少於該寫入資料暫存器之寬度(例如,在各種具體實施例中,z可少於或等於y),在該情況下該系統匯流排控制器104及/或週邊匯流排控制器120可實行多個寫入資料傳送以便將一y位元資料值寫入至該寫入資料暫存器。
與其中z=8之範例一致,每一寫入資料傳送包括識別欲寫入的下一8位元資料值,並使用在該週邊模組中映射至該單一寫入資料暫存器的複數個寫入資料暫存器位址之一者來實行該8位元寫入資料傳送。例如,對於該初始寫入資料傳送,可選擇該32位元資料值之一特定位元組作為欲寫入的第一位元組,並且該匯流排控制器120可使用映射至該週邊模組之寫入資料暫存器的一第一寫入資料暫存器位址。該實際寫入資料傳送可涉及將週邊匯流排126之讀取/寫入信號的狀態設定至一寫入狀態,提取並提供該32位元資料值之第一位元組至該週邊匯流排126之寫入資料匯流排132,並在該週邊匯流排126之位址匯流排128上提供該第一寫入資料暫存器位址,不過不必以該順序。
在方塊308中,該週邊模組接收該讀取/寫入信號連同該位址匯流排128上之第一寫入資料暫存器位址與該寫入資料匯流排132上之第一位元組。該週邊模組之位址解碼邏輯216將在該第一位址中指示的位址偏移映射至該寫入資料暫存器206,並可將該第一位元組傳送至該寫入資料暫存器206中並藉由該週邊功能電路202來處理。例如,亦參考上面的表1,在該第一位址中指示的位址偏移可以係一0x8之偏移,其係映射至該寫入低資料暫存器206的四個連續位址偏移之一者。
緊隨方塊306及/或與方塊308之實行並列,該匯流排控制器120可決定其是否已將其在寫入的32位元資料值之最後8位元資料值寫入至該寫入資料暫存器206。當已寫入該最後值時(即,當該匯流排控制器120已完成寫入該32位元資料值之所有四個位元組時),該方法可結束。當尚未寫入該最後值時,該方法可返回至方塊306,其中該匯流排控制器120實行該系列中的下一8位元寬資料寫入資料傳送。例如,對於該第二寫入資料傳送,可選擇該32位元資料值之一不同位元組作為欲寫入的第二位元組,並且該匯流排控制器120可使用映射至該週邊模組之寫入資料暫存器的一第二寫入資料暫存器位址(例如,對應於上面表1之一0x9之偏移的寫入資料暫存器位址)。同樣,該寫入資料傳送可涉及將週邊匯流排126之讀取/寫入信號的狀態設定至一寫入狀態,提取並提供該第二位元組至該週邊匯流排126之寫入資料匯流排132,並在該週邊匯流排126之位址匯流排128上提供該第二寫入資料暫存器位址,不過不必以該順序。此迭代程序可繼續直至已將該儲存的32位元資料值之所有四個位元組寫入至該寫入資料暫存器206。
實施本發明標的之具體實施例之一潛在優點係當x大於y時,與習知方法相比較該處理元件可執行更少指令以便將一x位元寬資料值寫入至一週邊模組之一y位元寬暫存器或自該週邊模組讀取一x位元寬資料值。因此,可消耗更少的處理器循環以便存取資料。下面提供範例碼,其對應於一處理元件擷取並寫入複數個32位元資料值至一CRC模組,以便該CRC模組實行一快閃記憶體陣列(例如,快閃記憶體陣列150)之一區域的CRC計算。使用各種具體實施例,該處理元件可依據以下組合碼來執行一32位元長移動(mov.1)操作,以便將自記憶體擷取之每一32位元資料值寫入至該CRC模組內之一8位元暫存器。僅基於範例目的,指示該CRC暫存器係該CRC模組之一寫入低資料暫存器:
#d0=位元組計數/4
#a0=指向快閃記憶體陣列的指標
#a1=指向CRC寫入低資料暫存器的指標
L%1: #長字複製,展開4x
mov.1(%a0)+,(%a1) #複製源資料4位元組值至CRC
mov.1(%a0)+,(%a1) #複製源資料4位元組值至CRC
mov.1(%a0)+,(%a1) #複製源資料4位元組值至CRC
mov.1(%a0)+,(%a1) #複製源資料4位元組值至CRC
subq.1&4,%d0 #遞減迴圈計數器
bne.b L%1 #完成?若否,則分支返回至迴圈頂部
相比之下,使用習知技術來將相同32位元資料值自記憶體傳送至該週邊器件內之一8位元暫存器,該處理元件會執行四次多的移動操作,其中每一移動操作會一次寫入一位元組(mov.b),而非一次寫入整個32位元資料值,如以下碼所例示:
#d0=位元組計數
#a0=指向快閃記憶體陣列的指標
#a1=指向CRC寫入低資料暫存器的指標
L%0: #位元組複製,展開4x
mov.b(%a0)+,(%a1) #複製源資料位元組值至CRC
mov.b(%a0)+,(%a1) #複製源資料位元組值至CRC
mov.b(%a0)+,(%a1) #複製源資料位元組值至CRC
mov.b(%a0)+,(%a1) #複製源資料位元組值至CRC
subq.1&4,%d0 #遞減迴圈計數器
bne.b L%0 #完成?若否,則分支返回至迴圈頂部
關於潛在的效能好處,實施依據一具體實施例的第一碼範例之一處理元件可經歷每傳送的位元組大約2.25個CPU循環之一測量效能,而實施依據習知方法的第二碼範例之一處理元件可經歷每傳送的位元組大約6.00個CPU循環之一測量效能。依據該等測量效能,當在一相同處理器核心上執行並且兩個範例以相同時脈頻率操作時,該第一碼範例之執行比該第二碼範例之執行快大約2.66倍。因此,與習知方法相比較,實施碼以利用各種具體實施例可提供對處理元件效能之顯著改良。
除實施各種具體實施例以便將x位元寬資料值寫入至一週邊模組之y位元寬寫入資料暫存器以外,亦可或替代地可實施具體實施例以便自一週邊模組之y位元讀取資料暫存器讀取x位元資料值。圖4說明依據一範例具體實施例的用於讀取一週邊模組之一資料暫存器的一方法之流程圖。更特定言之,該方法對應於一32位元處理元件(例如,處理器核心102)自一週邊模組(例如,圖2之週邊模組200)之一8位元讀取資料暫存器(例如,讀取低資料暫存器204)讀取一32位元資料值。應明白,在其他具體實施例中,一不同位元寬度處理元件可自一週邊模組之一不同寬度讀取資料暫存器讀取一不同寬度資料值。
該方法可在方塊402中在該處理元件執行一或多個軟體指令以自一週邊模組之一8位元暫存器讀取一32位元資料值時開始。例如,亦參考圖1,處理器核心102可將系統匯流排106、107之一讀取/寫入信號的狀態設定至一讀取狀態,並可在系統匯流排106、107之位址匯流排108、109上提供一位址(本文中稱為一「處理元件提供的位址」),其中該位址對應於一週邊模組之一8位元讀取資料暫存器(例如,讀取低資料暫存器204)。
在方塊404中,該匯流排控制器120接收該讀取/寫入信號與該核心提供的位址,並作為回應,實行一系列多個z位元寬資料讀取資料傳送中之一第一者,其中z係該週邊匯流排126之讀取資料匯流排130的寬度。如下文將闡明,該匯流排控制器120將藉由將讀取的每一z位元寬資料值暫時置放於一暫存器或其他記憶體位置之一適當部分中來在該系列讀取資料傳送之過程期間建構該x位元寬資料值,因而建構整個x位元寬值。為了便於說明,此範例將假定該讀取資料匯流排130具有與該週邊模組之讀取資料暫存器(例如,讀取低資料暫存器204)相同的位元寬度。因此,在此範例中,z=8。應明白,該讀取資料匯流排130之寬度可少於該讀取資料暫存器之寬度(例如,在各種具體實施例中,z可少於或等於y),在該情況下該匯流排控制器120可實行多個讀取資料傳送以便將一y位元資料值寫入至該讀取資料暫存器。
與其中z=8之範例一致,每一讀取資料傳送包括識別欲讀取的下一8位元資料值,並使用在該週邊模組中映射至該單一讀取資料暫存器的複數個讀取資料暫存器位址之一者來實行該8位元讀取資料傳送。例如,對於該初始讀取資料傳送,可選擇一32位元資料值之一特定位元組作為欲讀取的第一位元組,並且該匯流排控制器120可使用映射至該週邊模組之讀取資料暫存器的一第一讀取資料暫存器位址。實際讀取資料傳送可涉及將週邊匯流排126之讀取/寫入信號的狀態設定至一讀取狀態,在該週邊匯流排126之位址匯流排128上提供該第一讀取資料暫存器位址,自該週邊匯流排126之讀取資料匯流排130讀取該32位元資料值之第一位元組(當可獲得時)及將該第一位元組儲存於一32位元暫存器或在該匯流排控制器120內可存取的其他記憶體位置之一第一位元組位置。
在方塊406中,該週邊模組接收該讀取/寫入信號連同該位址匯流排128上之第一讀取資料暫存器位址。該週邊模組之位址解碼邏輯216將在該第一位址中指示的位址偏移映射至該讀取資料暫存器204,並可將該第一位元組自該讀取資料暫存器204傳送至該週邊匯流排126之讀取資料匯流排130。例如,亦參考上面的表1,在該第一位址中指示的位址偏移可以係一0x4之偏移,其係映射至該讀取低資料暫存器204的四個位址偏移之一者。
在方塊408中,該匯流排控制器120可自該讀取資料匯流排130讀取該第一位元組,並將該資料暫時儲存於該暫存器內或用以建構該32位元資料值的其他記憶體位置之適當位置中。在方塊410中,該匯流排控制器120可決定其是否已自該讀取資料暫存器204讀取其在讀取的32位元資料值之最後位元組。當尚未讀取該最後值時,該方法可返回至方塊404,其中該匯流排控制器120實行該系列中的下一8位元寬讀取資料傳送。例如,對於該第二讀取資料傳送,可選擇該32位元資料值之一不同位元組作為欲讀取的第二位元組,並且該匯流排控制器120可使用映射至該週邊模組之讀取資料暫存器的一第二讀取資料暫存器位址(例如,對應於上面表1之一0x5之偏移的讀取資料暫存器位址)。同樣,該讀取資料傳送可涉及將週邊匯流排126之讀取/寫入信號的狀態設定至一讀取狀態,在該週邊匯流排126之位址匯流排128上提供該第二讀取資料暫存器位址,自該週邊匯流排126之讀取資料匯流排130讀取該第二位元組(當可獲得時)及將該第二位元組暫時儲存於該32位元暫存器或在其中該32位元資料值係構造的其他記憶體位置之一適當位元組位置中。
當在方塊410中決定已讀取最後值(即,當已自該讀取資料暫存器204讀取該32位元資料值之所有四個位元組時),該匯流排控制器120可在方塊412中藉由將該32位元暫時保持暫存器或記憶體位置內的資料傳送至該系統匯流排106、107之讀取資料匯流排110、111上來將該32位元資料值提供至該處理元件。該處理元件接著可將資料值自該讀取資料匯流排110、111傳送至一32位元暫存器或其他記憶體位置中,並可處理該資料。該方法接著可結束。
現將結合圖5與6說明一週邊模組之一特定範例。更特定言之,圖5與6分別說明依據以一CRC模組實施之一範例具體實施例的方塊圖與時序圖。應明白,結合圖5與6說明的週邊模組具體實施例不應係視為僅在一CRC模組中的各種具體實施例之限制性實施方案。相反,可以各種週邊模組類型來實施具體實施例,並且上面提供此類週邊模組類型之一非排他列表。
圖5說明依據一範例具體實施例之一CRC模組500的簡化方塊圖。如前所述,一CRC模組係可依據一具體實施例實施的各種類型之週邊模組之一者。依據一具體實施例,CRC模組500包括CRC產生器電路502、一CRC低資料暫存器504、一CRC高資料暫存器506及位址解碼邏輯516。CRC模組500亦包括時脈產生器534,其係調適成用以接收來自一週邊匯流排時脈信號線536之一時脈信號,並用以產生影響各種內部操作之時序的一或多個內部時脈。
CRC產生器電路502係調適成用以基於一種子值與儲存於一記憶體區塊中之資.料來計算針對該記憶體區塊之一CRC值。在一範例具體實施例中,CRC產生器電路502包括一16位元CRC產生器電路,並且該種子值係一16位元種子值。在操作期間,一處理元件(例如,圖1之處理器核心102)可將該16位元種子值之一第一位元組寫入至該CRC低資料暫存器504中並將該16位元種子值之一第二位元組寫入至該CRC高資料暫存器506中。在一具體實施例中,在載入該16位元種子值之後,該處理元件可自該記憶體區塊擷取一或多個32位元資料值,並將每一32位元資料值寫入至該CRC低資料暫存器504,其可與其中該處理元件會自該記憶體區塊擷取複數個8位元資料值並將每一8位元資料值寫入至該CRC低資料暫存器(例如,因而實行大致四倍的擷取與寫入資料傳送之數目以傳送相同資料量)的習知系統區別。該匯流排控制器(例如,圖1之匯流排控制器120)接著可將該32位元資料值之每一位元組寫入至藉由位址解碼邏輯512映射至該CRC低資料暫存器504的複數個位址之一者。接著藉由該CRC產生器電路502來處理每一位元組,以便在該組合的CRC高資料暫存器506與CRC低資料暫存器504中產生該16位元CRC值。在將最後資料值寫入至該CRC低資料暫存器504之後,該處理元件可接著自該組合的CRC高資料暫存器506與該CRC低資料暫存器504讀取所得16位元CRC值。
CRC模組500亦包括讀取/寫入信號介面530,其係調適成用以偵測存在於一週邊匯流排讀取/寫入信號線532上之一讀取/寫入信號的狀態。當該讀取/寫入信號指示一讀取資料傳送並且位址介面邏輯516已解碼對應於該CRC低資料暫存器504或該CRC高資料暫存器506之一偏移時,CRC模組500可如藉由該經解碼偏移所指定將該CRC低資料暫存器504或該CRC高資料暫存器506內之資料傳送至週邊匯流排讀取資料線510(例如,圖1之讀取資料匯流排130)上。同樣,當該讀取/寫入信號指示一寫入資料傳送並且位址介面邏輯516已解碼對應於CRC低資料暫存器504或該CRC高資料暫存器506之一偏移時,CRC模組500可將存在於該等週邊匯流排寫入資料線514(例如,圖1之寫入資料匯流排132)上的資料傳送至該CRC低資料暫存器504或該CRC高資料暫存器506中,如藉由該經解碼偏移所指定。
CRC低資料暫存器504與CRC高資料暫存器506之每一者係調適成用以接收並儲存藉由匯流排讀取/寫入線介面508自該等週邊匯流排寫入資料線514傳送的資料。此外,CRC低資料暫存器504與CRC高資料暫存器506係調適成用以將儲存於其中的資料提供至CRC產生器電路502。CRC高資料暫存器506與CRC低資料暫存器504亦係調適成用以隨著每一資料位元組係寫入至該CRC低資料暫存器504來接收並儲存所得16位元CRC值。可在一讀取資料傳送期間藉由匯流排讀取/寫入線介面508來將儲存於該CRC高資料暫存器506與該CRC低資料暫存器504中的所得16位元CRC值傳送至該等週邊匯流排讀取資料線510上。在一具體實施例中,CRC低資料暫存器504或該CRC高資料暫存器506係8位元寬暫存器,不過在其他具體實施例中,CRC低資料暫存器504或該CRC高資料暫存器506之任一者或兩者可以係4位元、16位元、32位元或其他位元寬度暫存器。在圖5中說明的具體實施例中,CRC模組500包括一CRC低資料暫存器504與一CRC高資料暫存器506,不過在其他具體實施例中,一CRC模組可具有更多CRC低資料暫存器及/或CRC高資料暫存器。
在一具體實施例中,CRC模組500亦包括位址解碼邏輯516,其係調適成並經組態用以基於藉由匯流排位址線介面522自週邊匯流排位址線524(例如,圖1之位址匯流排128)接收的位址來解碼存在於位址偏移位元線520上的信號。基於該解碼程序,位址解碼邏輯516可引起匯流排讀取/寫入線介面508將資料自CRC低資料暫存器504或該CRC高資料暫存器506之一者傳送至週邊匯流排讀取線510,或位址解碼邏輯516可引起匯流排讀取/寫入線介面508將資料自週邊匯流排寫入線514傳送至CRC低資料暫存器504或該CRC高資料暫存器506之一者。
在一具體實施例中,該CRC高資料暫存器506係映射至一單一位址偏移,並且該CRC低資料暫存器504係映射至複數個位址偏移。此調適CRC模組500以實行多位址暫存器映射,如上面所論述。在一特定具體實施例中,該CRC低資料暫存器位址偏移之一者(即,位址偏移0x1)可對應於藉由該處理元件指定以用於寫入8位元資料值之一第一位址,並因而該位址偏移係一y位元寬存取位址偏移。其他CRC低資料暫存器位址偏移(即,位址偏移0x4、0x5、0x6及0x7)可對應於藉由該處理元件指定以用於寫入32位元資料值之一第二位址,並因而該些位址偏移係x位元寬存取位址偏移。如在下文表3中的一週邊模組記憶體映射之範例8位元視圖中所指定,CRC低資料暫存器504係映射至一暫存器位址偏移集合,其包括五個位址偏移(即,偏移0x1、0x4、0x5、0x6及0x7):
「CRCL0」指一32位元資料值之一第一位元組,其對應於映射至該CRC低資料暫存器504之一位址偏移(即,位址偏移0x4)。同樣,「CRCL1」指該32位元資料值之一第二位元組,其對應於亦映射至該CRC低資料暫存器504之一位址偏移(即,位址偏移0x5),等等。僅基於範例目的來提供表3之記憶體映射,並且可存在許多記憶體映射變更。可自表3之記憶體映射收集的係,依據各種具體實施例,位址解碼邏輯516經組態並係調適成用以將一組多個位址偏移(例如,一暫存器位址偏移集)映射至該CRC模組500之一單一資料暫存器,不過位址解碼邏輯516亦可經組態用以將一或多個其他組的多個位址映射至一或多個其他資料暫存器。
圖6說明依據一範例具體實施例的與結合產生一CRC值所實行的寫入與讀取資料傳送相關的各種信號之時序圖。該時序圖包括一時脈信號602(CLK)、一位址匯流排信號604(ADDR)、一讀取/寫入信號606(R/W)、一寫入資料匯流排信號608(WDATA)及一讀取資料匯流排信號610(RDATA)。除圖6中繪示的信號以外,在產生一CRC值期間亦可存在一或多個額外信號,例如一啟用信號與一等待信號,不過基於簡潔之目的,不解說或說明此類信號。在每一寫入資料傳送期間,該讀取/寫入信號606之狀態係設定至一寫入狀態(例如,一低狀態),並在每一讀取資料傳送期間,該讀取/寫入信號606之狀態係設定至一讀取狀態(例如,一高狀態)。可如依據一具體實施例所說明在時脈信號602之一低至高轉變期間或替代地在時脈信號602之一高至低轉變期間為位址與資料提供時脈。在CRC值產生期間實行的各種操作可採取比圖5中所繪示更多或更少的時脈循環,並可使用資料之更多或更少的位元組來產生該CRC值。下文說明亦參考圖5之元件。
為了產生一CRC值,依據一具體實施例,可發生以下程序序列,不過在其他具體實施例中,可改變該序列同時仍實現一實質上類似結果。在一具體實施例中,CRC值產生可在該處理元件(例如,圖1之處理器核心102)載入一種子值時開始。此可包括(例如)該處理元件將一16位元種子值之一第一位元組(0xFF)寫入至該CRC高資料暫存器506,及將該16位元種子值之一第二位元組(0xFF)寫入至該CRC低資料暫存器504。為了寫入該16位元種子值之第一位元組,該處理元件可提供該第一位元組連同對應於該CRC模組的位址解碼邏輯516映射至該CRC高資料暫存器506之一位址偏移(例如,來自上面表3之位址偏移0x0)的一位址。在一第一時脈循環620上,可映射該位址偏移並可為該第一位元組(0xFF)時脈至該CRC高資料暫存器506中,如圖6所說明。同樣,為了寫入該16位元種子值之第二位元組,該處理元件可提供該第二位元組連同對應於該CRC模組的位址解碼邏輯516映射至該CRC低資料暫存器504之一位址偏移(例如,來自上面表3之位址偏移0x1)的一位址。此位址偏移可以係稱為針對該CRC低資料暫存器504之y位元寬存取位址偏移。在一第二時脈循環621上,可映射該位址偏移並可為該第二位元組(0xFF)提供時脈至該CRC低資料暫存器504中。因而,該16位元種子值(0xFFFF)係載入至該CRC高資料暫存器506與該CRC低資料暫存器504中。
該處理元件接著可執行碼以自針對其產生該CRC值的記憶體區塊擷取一第一32位元資料值,並將該32位元資料值寫入至對應於該等x位元寬存取位址偏移之一者的一位址,該CRC模組的位址解碼邏輯516亦將該x位元寬存取位址偏移映射至該CRC低資料暫存器504(例如,來自上面表3之位址偏移0x4)。該匯流排控制器(例如,圖1之匯流排控制器120)接著可實行至該CRC低資料暫存器504之四個寫入之一序列,其中每一寫入包括寫入來自該32位元資料值之一選定位元組。在一具體實施例中,該序列之一第一寫入寫入該32位元資料值之一第一位元組(0x31)並定址映射至該CRC低資料暫存器504之一第一位址,該序列之一第二寫入寫入該32位元資料值之一第二位元組(0x32)並定址映射至該CRC低資料暫存器504之一第二位址,該序列之一第三寫入寫入該32位元資料值之一第三位元組(0x33)並定址映射至該CRC低資料暫存器504之一第三位址,並且該序列之一第四寫入寫入該32位元資料值之一第四位元組(0x34)並定址映射至該CRC低資料暫存器504之一第四位址。在時脈循環622、623、624及625期間,四個位址偏移(例如,位址偏移0x4、0x5、0x6及0x7)之一序列係說明循序地在該位址匯流排信號604上連同資料之四個位元組在該寫入資料匯流排信號608上。如上面所說明,在一具體實施例中,可藉由該位址解碼邏輯516來將該四個資料偏移映射至該CRC低資料匯流排504。在時脈循環625結束時,該CRC模組500已將該16位元種子值(0xFFFF)接收至該CRC高資料暫存器506與該CRC低資料暫存器504中,並亦已將四個位元組(0x31、0x32、0x33、0x34)接收至該CRC低資料暫存器504中。在下一四個時脈循環626、627、628、629期間,由於該處理元件將一第二32位元資料值寫入至對應於該等x位元寬存取位址偏移(例如,位址偏移0x4)之一位址,四個額外位元組(0x35、0x36、0x37、0x38)係接收至該CRC低資料暫存器504中。在下一時脈循環630期間,一額外位元組係接收至該CRC低資料暫存器504中,其可表示在針對其產生該CRC值之記憶體區塊中的最後資料位元組。因為所寫入的最後值對應於一位元組而非一32位元資料值,故該處理元件可將該8位元資料值寫入至對應於一y位元寬存取CRC位址偏移(例如,位址偏移0x1)之一位址。時脈循環631表示一等待循環,期間該CRC產生器電路502可完成其CRC值計算。
為了自該CRC低資料暫存器504與該CRC高資料暫存器506讀取該16位元CRC值,該處理元件可自該CRC高資料暫存器506讀取該16位元CRC值之一第一位元組,並自該CRC低資料暫存器504讀取該16位元CRC值之一第二位元組。為了讀取該16位元CRC值之第一位元組,該處理元件可提供對應於一位址偏移之位址,該CRC模組的位址解碼邏輯516將該位址偏移映射至該CRC高資料暫存器506(例如,來自上面表3之位址偏移0x0)。在時脈循環632期間,可映射該位址偏移並可自該CRC高資料暫存器506讀取該第一位元組(0x29),如圖6所說明。同樣,為了讀取該16位元CRC值之第二位元組,該處理元件可提供對應於該y位元寬存取位址偏移之位址,該CRC模組的位址解碼邏輯516將該y位元寬存取位址偏移映射至該CRC低資料暫存器504(例如,來自上面表3之位址偏移0x1)。在時脈循環633期間,可映射該位址偏移並可自該CRC低資料暫存器504讀取該第二位元組(0xB1)。
使用用於產生一CRC值之裝置及方法的具體實施例,如結合圖5與6所解說與說明,一處理元件可執行軟體指令,其將x位元寬資料值寫入至具有一y位元寬CRC低資料暫存器之一CRC模組,其中x大於y。因此,使用各種具體實施例可改良處理器效率而超過習知裝置及方法,其中該處理元件會執行更多軟體指令以便寫入相同資料量(例如,該處理元件會執行僅將y位元寬資料值寫入至該y位元寬CRC低資料暫存器的指令)。
因而,已說明用於自各種類型之週邊模組內的資料暫存器讀取資料及/或將資料寫入至該等資料暫存器的方法及裝置之各種具體實施例。一電子系統之一具體實施例包括一處理元件、一匯流排控制器及一週邊模組。該處理元件係調適成用以執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第一讀取/寫入信號與對應於一週邊模組之一y位元寬資料暫存器之一處理元件提供的位址,且其中y少於x。該匯流排控制器係調適成用以接收該讀取/寫入信號與該處理元件提供的位址,並作為回應,與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供一第二讀取/寫入信號與針對該系列之一第一資料傳送的一第一週邊位址,及針對該系列之至少另一資料傳送來提供至少一不同週邊位址。該週邊模組經組態用以將該第一週邊位址映射至該y位元寬資料暫存器,並亦將至少一不同週邊位址映射至該y位元寬資料暫存器。
在另一具體實施例中,該週邊模組包括:一y位元寬第一資料暫存器,其係可操作地耦合至一資料匯流排;以及位址解碼邏輯,其係可操作地耦合至一位址匯流排並經組態用以將複數個不同位址偏移映射至該第一資料暫存器。在一具體實施例中,該電子系統進一步包括一系統匯流排與至少一記憶體區塊,其中該至少一記憶體區塊與該處理元件係透過該系統匯流排來操作性地耦合在一起,且其中該處理元件係進一步調適成用以執行機器碼以透過該系統匯流排自該記憶體區塊擷取資料值。在另一具體實施例中,該資料傳送包括一寫入資料傳送以將該x位元寬資料值寫入至該週邊模組,並且該處理元件係進一步調適成用以將該x位元寬資料值提供至該匯流排控制器。在另一具體實施例中,該資料傳送包括一讀取資料傳送以自該週邊模組讀取該x位元寬資料值,並且該匯流排控制器係進一步調適成用以自該週邊模組讀取複數個y位元寬資料值,自該複數個y位元寬資料值來建構該x位元寬資料值,並將該x位元資料值提供至該處理元件。在另一具體實施例中,該電子系統亦包括操作性地耦合在該匯流排控制器與該週邊模組之間之一週邊匯流排,其中該週邊匯流排包括一z位元寬資料匯流排,且其中z少於或等於y。在另一具體實施例中,該處理元件係選自包括一處理器核心、一非核心處理元件及一直接記憶體存取單元之一群組的處理元件。
另一具體實施例包括一電子系統,其包括一週邊模組,該週邊模組具有:一y位元寬第一資料暫存器,其係可操作地耦合至一資料匯流排;以及位址解碼邏輯,其係可操作地耦合至一位址匯流排並經組態用以將複數個不同位址偏移映射至該第一資料暫存器。在另一具體實施例中,該位址解碼邏輯經組態用以將該複數個不同位址偏移之一第一位址偏移映射至該第一資料暫存器以用於一y位元寬資料傳送,並將該複數個不同位址偏移之x/y個其他位址偏移映射至該第一資料暫存器以用於一x位元寬資料傳送,其係實行為至循序位址之一系列x/y個y位元寬資料傳送,且其中該等循序位址之每一位址係對應於8位元位元組資料之一位址。
在另一具體實施例中,該週邊模組亦包括一或多個y位元寬額外資料暫存器,其係可操作地耦合至該資料匯流排。在另一具體實施例中,該週邊模組亦包括調適成用以接收一讀取/寫入信號之一讀取/寫入信號介面,其中該週邊模組係調適成用以當該讀取寫入信號處於一讀取狀態時並當該位址解碼邏輯已將針對存在於一位址匯流排上之一位址的一位址偏移映射至該第一資料暫存器時將一y位元寬資料值自該第一資料暫存器傳送至該資料匯流排之一讀取資料匯流排。在另一具體實施例中,該週邊模組亦包括調適成用以接收一讀取/寫入信號之一讀取/寫入信號介面,其中該週邊模組係調適成用以當該讀取寫入信號處於一寫入狀態時並當該位址解碼邏輯已將針對存在於一位址匯流排上之一位址的一位址偏移映射至該第一資料暫存器時將一y位元寬資料值自該資料匯流排之一寫入資料匯流排傳送至該第一資料暫存器。在另一具體實施例中,該週邊模組亦包括一中斷請求產生器,其係調適成用以產生一中斷信號。在另一具體實施例中,該週邊模組亦包括週邊功能電路,其係可操作地耦合至該第一資料暫存器,其中該週邊功能電路係調適成用以實行該週邊模組之一主要功能,並將資料寫入至該第一資料暫存器或自該第一資料暫存器讀取資料。在另一具體實施例中,該週邊功能電路係調適成用以實行一循環冗餘檢驗計算。
在另一具體實施例中,該電子系統亦包括一處理元件與一匯流排控制器。該處理元件係調適成用以執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第一讀取/寫入信號與對應於該週邊模組之第一資料暫存器之一處理元件提供的位址,且其中y少於x。該匯流排控制器係調適成用以接收該讀取/寫入信號與該處理元件提供的位址,並作為回應,與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供一第二讀取/寫入信號與針對該系列之一第一資料傳送的一第一週邊位址,及針對該系列之至少另一資料傳送來提供至少一不同週邊位址。在另一具體實施例中,該週邊模組係選自包括以下模組之一群組的模組:一循環冗餘檢驗計算模組、一核對和計算模組、一串列週邊介面、一通用非同步接收器/發射器、一顯示器控制器及一使用者介面控制器。
另一具體實施例包括用於在一處理元件與一週邊模組之間傳送資料的方法。該方法包括以下步驟:藉由該週邊模組來接收一第一讀取/寫入信號與來自一位址匯流排之複數個不同位址;藉由該週邊模組來將對應於該複數個不同位址之複數個不同位址偏移映射至一單一y位元寬資料暫存器;以及當該第一讀取/寫入信號處於一讀取狀態時,藉由該週邊模組來將一y位元寬資料值自該y位元寬資料暫存器傳送至一資料匯流排,並當該第一讀取/寫入信號處於一寫入狀態時將該y位元寬資料值自該資料匯流排傳送至該y位元寬資料暫存器中。
在另一具體實施例中,該方法包括以下步驟:藉由該處理元件來執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第二讀取/寫入信號與對應於該週邊模組之y位元寬資料暫存器之一處理元件提供的位址,且其中y少於x;藉由一匯流排控制器來接收該第二讀取/寫入信號與該處理元件提供的位址;以及回應接收該第二讀取/寫入信號,藉由該匯流排控制器來與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供該第一讀取/寫入信號與針對該系列中每一資料傳送的複數個不同位址之一位址。在另一具體實施例中,映射該複數個不同位址偏移的步驟包括將該複數個不同位址偏移之一第一位址偏移映射至該資料暫存器以用於一y位元寬資料傳送,及將該複數個不同位址偏移之x/y個其他位址偏移映射至該資料暫存器以用於一x位元寬資料傳送。
雖然上面已結合特定系統、裝置及方法說明各種具體實施例之原理,但應清楚地明白此說明僅係經由範例而非作為本發明標的之範疇的限制。此外,本文中採用的措詞或術語係基於說明而非限制之目的。
特定具體實施例之前述說明充分顯露出各種具體實施例之一般性質,使得其他人可藉由應用當前知識來針對各種應用容易地修改及/或調適其而不脫離一般概念。因此,此類調適與修改係在所揭示具體實施例之等效物的含義與範圍內。本發明標的涵蓋在隨附申請專利範圍之精神與廣泛範疇內的所有此類替代、修改、等效物及變更。
100...電子系統
102...處理元件/處理器核心
104...匯流排控制器
106...系統匯流排/處理器核心側
107...系統匯流排/記憶體區塊側
108...位址匯流排
109...位址匯流排
110...讀取資料匯流排
111...讀取資料匯流排
112...寫入資料匯流排
113...寫入資料匯流排
120...匯流排控制器
122...週邊模組
123...週邊模組
124...週邊模組
126...週邊匯流排
128...位址匯流排
130...讀取資料匯流排
132...寫入資料匯流排
134...中斷控制器週邊模組
136...中斷線
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產生器電路
504...CRC低資料暫存器
506...CRC高資料暫存器
508...匯流排讀取/寫入線介面
510...週邊匯流排讀取線
514...週邊匯流排寫入線
516...位址解碼邏輯
520...位址偏移位元線
522...匯流排位址線介面
524...週邊匯流排位址線
530...讀取/寫入信號介面
532...週邊匯流排讀取/寫入信號線
534...時脈產生器
536...週邊匯流排時脈信號線
圖1說明依據一範例具體實施例之一電子系統的簡化方塊圖;
圖2說明依據一範例具體實施例之一週邊模組的簡化方塊圖;
圖3說明依據一範例具體實施例的用於寫入至一週邊模組之一資料暫存器的一方法之流程圖;
圖4說明依據一範例具體實施例的用於讀取一週邊模組之一資料暫存器的一方法之流程圖;
圖5說明依據一範例具體實施例之一循環冗餘檢驗(CRC)模組的簡化方塊圖;以及
圖6說明依據一範例具體實施例的與結合產生一CRC值所實行的寫入與讀取資料傳送相關的各種信號之時序圖。
100...電子系統
102...處理元件/處理器核心
104...匯流排控制器
106...系統匯流排/處理器核心側
107...系統匯流排/記憶體區塊側
108...位址匯流排
109...位址匯流排
110...讀取資料匯流排
111...讀取資料匯流排
112...寫入資料匯流排
113...寫入資料匯流排
120...匯流排控制器
122...週邊模組
123...週邊模組
124...週邊模組
126...週邊匯流排
128...位址匯流排
130...讀取資料匯流排
132...寫入資料匯流排
134...中斷控制器週邊模組
136...中斷線
150...快閃記憶體陣列
152...隨機存取記憶體

Claims (19)

  1. 一種用於存取一週邊模組之一暫存器之電子系統,其包含:一處理元件,其係調適成用以執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第一讀取/寫入信號與對應於一週邊模組之一y位元寬資料暫存器之一單一處理元件提供的位址,且其中y少於x;一匯流排控制器,其係調適成用以接收該讀取/寫入信號與該單一處理元件提供的位址,並作為回應,與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供一第二讀取/寫入信號與針對該系列之一第一資料傳送的一第一週邊位址,及針對該系列之每一其他資料傳送來提供多個不同週邊位址,及其中該系列包括x/y個循序資料傳送;以及該週邊模組經組態用以將該第一週邊位址映射至該y位元寬資料暫存器,並亦將該多個不同週邊位址映射至該y位元寬資料暫存器。
  2. 如請求項1之電子系統,其中該週邊模組包含:一y位元寬第一資料暫存器,其係可操作地耦合至一資料匯流排;以及位址解碼邏輯,其係可操作地耦合至一位址匯流排,並經組態用以將複數個不同位址偏移映射至該第一資料暫存器之全部或一相同部分。
  3. 如請求項1之電子系統,進一步包含:一系統匯流排;以及至少一記憶體區塊,其中該至少一記憶體區塊與該處理元件係透過該系統匯流排來操作性地耦合在一起,且其中該處理元件係進一步調適成用以執行機器可讀取碼以透過該系統匯流排自該記憶體區塊擷取資料值。
  4. 如請求項1之電子系統,其中該資料傳送包括一寫入資料傳送以將該x位元寬資料值寫入至該週邊模組,且其中該處理元件係進一步調適成用以將該x位元寬資料值提供至該匯流排控制器。
  5. 如請求項1之電子系統,其中該資料傳送包括一讀取資料傳送以自該週邊模組讀取該x位元寬資料值,且其中該匯流排控制器係進一步調適成用以自該週邊模組讀取複數個y位元寬資料值,自該複數個y位元寬資料值來建構該x位元寬資料值,並將該x位元資料值提供至該處理元件。
  6. 如請求項1之電子系統,進一步包含:一週邊匯流排,其係操作性地耦合在該匯流排控制器與該週邊模組之間,其中該週邊匯流排包括一z位元寬資料匯流排,且其中z少於或等於y。
  7. 如請求項1之電子系統,其中該處理元件係選自包括以下各者之一群組的一處理元件:一處理器核心、一非核心處理元件及一直接記憶體存取單元。
  8. 一種用於存取一週邊模組之一暫存器之電子系統,其包 含:一週邊模組,其具有一y位元寬第一資料暫存器,其係可操作地耦合至一資料匯流排,以及位址解碼邏輯,其係可操作地耦合至一位址匯流排,並經組態用以將複數個不同位址偏移映射至該第一資料暫存器,其中該位址解碼邏輯經組態以執行下列動作:將該複數個不同位址偏移之一第一位址偏移映射至該第一資料暫存器以用於一y位元寬資料傳送,及將該複數個不同位址偏移之x/y個其他位址偏移映射至該第一資料暫存器以用於一x位元寬資料傳送,其係實行為至循序位址之一系列x/y個y位元寬資料傳送。
  9. 如請求項8之電子系統,其中該等循序位址之每一位址係對應於8位元位元組資料之一位址。
  10. 如請求項8之電子系統,其中該週邊模組進一步包含:一或多個y位元寬額外資料暫存器,其係可操作地耦合至該資料匯流排。
  11. 如請求項8之電子系統,其中該週邊模組進一步包含:一讀取/寫入信號介面,其係調適成用以接收一讀取/寫入信號,其中該週邊模組係調適成用以當該讀取寫入信號處於一讀取狀態時並當該位址解碼邏輯已將針對存在於一位址匯流排上之一位址的一位址偏移映射至該第一資料暫存器時將一y位元寬資料值自該第一資料暫存 器傳送至該資料匯流排之一讀取資料匯流排。
  12. 如請求項8之電子系統,其中該週邊模組進一步包含:一讀取/寫入信號介面,其係調適成用以接收一讀取/寫入信號,其中該週邊模組係調適成用以當該讀取寫入信號處於一寫入狀態時並當該位址解碼邏輯已將針對存在於一位址匯流排上之一位址的一位址偏移映射至該第一資料暫存器時將一y位元寬資料值自該資料匯流排之一寫入資料匯流排傳送至該第一資料暫存器。
  13. 如請求項8之電子系統,其中該週邊模組進一步包含:一中斷請求產生器,其係調適成用以產生一中斷信號。
  14. 如請求項8之電子系統,其中該週邊模組進一步包含:週邊功能電路,其係可操作地耦合至該第一資料暫存器,其中該週邊功能電路係調適成用以實行該週邊模組之一主要功能,並將資料寫入至該第一資料暫存器或自該第一資料暫存器讀取資料。
  15. 如請求項14之電子系統,其中該週邊功能電路係調適成用以實行一循環冗餘檢驗計算。
  16. 如請求項8之電子系統,其進一步包含:一處理元件,其係調適成用以執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第一讀取/寫入信號與對應於該週邊模組之該第一資料暫存器之一處理元件提供的位址,且其中y少於x;以及 一匯流排控制器,其係調適成用以接收該讀取/寫入信號與該處理元件提供的位址,並作為回應,與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供一第二讀取/寫入信號與針對該系列之一第一資料傳送的一第一週邊位址,及針對該系列之至少另一資料傳送來提供至少一不同週邊位址。
  17. 如請求項8之電子系統,其中該週邊模組係選自包括以下各者之一群組的一模組:一循環冗餘檢驗計算模組、一核對和計算模組、一串列週邊介面、一通用非同步接收器/發射器、一顯示器控制器及一使用者介面控制器。
  18. 一種用於在一處理元件與一週邊模組之間傳送資料的方法,該方法包含以下步驟:藉由該週邊模組來接收一第一讀取/寫入信號與來自一位址匯流排之複數個不同位址;以及利用該週邊模組而將對應於該複數個不同位址的複數個不同位址偏移映射至一單一y位元寬資料暫存器,其中該映射係藉由將該複數個不同位址偏移之一第一位址偏移映射至該資料暫存器以用於一y位元寬資料傳送,及藉由將該複數個不同位址偏移之x/y個其他位址偏移映射至該資料暫存器以用於一x位元寬資料傳送,其中y小於x;以及當該第一讀取/寫入信號處於一讀取狀態時,藉由該週邊模組將一y位元寬資料值自該y位元寬資料暫存器傳送至一資料匯流排,並當該第一讀取/寫入信號處於一寫入 狀態時,將該y位元寬資料值自該資料匯流排傳送至該y位元寬資料暫存器中。
  19. 如請求項18之方法,其進一步包含以下步驟:藉由該處理元件來執行機器可讀取碼,其引起該處理元件實行一x位元寬資料值之一資料傳送,其中實行該資料傳送包括提供一第二讀取/寫入信號與對應於該週邊模組之該y位元寬資料暫存器之一處理元件提供的位址,且其中y少於x;藉由一匯流排控制器來接收該第二讀取/寫入信號與該處理元件提供的位址;以及回應接收該第二讀取/寫入信號,藉由該匯流排控制器來與該週邊模組實行一系列多個資料傳送,其中實行該系列包括提供該第一讀取/寫入信號與針對該系列中之每一資料傳送的該複數個不同位址之一位址。
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 TW200941341A (en) 2009-10-01
TWI484407B true 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
EP2328075A4 (en) * 2008-09-10 2011-12-07 Renesas Electronics Corp INFORMATION PROCESSING DEVICE
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安全系统并行总线故障实时动态检测方法
WO2020118713A1 (zh) * 2018-12-14 2020-06-18 深圳市汇顶科技股份有限公司 位宽匹配电路、数据写入装置、数据读出装置和电子设备
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 富瀚微电子(成都)有限公司 一种数据传输方法、系统、电子设备以及可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401156B1 (en) * 1999-08-23 2002-06-04 Advanced Micro Devices, Inc. Flexible PC/AT-compatible microcontroller
US20020133661A1 (en) * 1997-11-06 2002-09-19 Takaaki Suzuki Data processing system and microcomputer
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...

Family Cites Families (12)

* 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 データ処理システム、周辺装置及びマイクロコンピュータ
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
KR20080002419A (ko) 2006-06-30 2008-01-04 엠텍비젼 주식회사 n비트의 CPU 및 이를 이용한 데이터 버스트 리드 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020133661A1 (en) * 1997-11-06 2002-09-19 Takaaki Suzuki Data processing system and microcomputer
US6401156B1 (en) * 1999-08-23 2002-06-04 Advanced Micro Devices, Inc. Flexible PC/AT-compatible microcontroller
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...

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI484407B (zh) 週邊模組暫存器存取方法及裝置
JP6096120B2 (ja) 処理クラスタのためのロード/ストア回路要素
US11640308B2 (en) Serial NAND flash with XiP capability
TW201020795A (en) Data processing apparatus and semiconductor integrated circuit device
US8954632B2 (en) System method for regulating an input/output interface by sampling during a time duration associated with I/O states
US9164936B2 (en) System and method for regulating direct memory access descriptor among multiple execution paths by using a link to define order of executions
CN117453594A (zh) 数据传输装置及方法
US9251107B2 (en) Immediate direct memory access descriptor-based write operation
US20040068590A1 (en) Data processor
JP3824122B2 (ja) Dma装置
US9256558B2 (en) Direct memory access descriptor-based synchronization
JP6143841B2 (ja) コンテキストスイッチを伴うマイクロコントローラ
US8631173B2 (en) Semiconductor device
WO2006004166A1 (en) Data processing unit and compatible processor
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
US6665748B1 (en) Specialized PCMCIA host adapter for use with low cost microprocessors
CN114641763A (zh) 协议转换器模块系统和使用该协议转换器模块系统的方法
US11797421B2 (en) Semiconductor apparatus and debug system
CN109558076A (zh) 一种可配置的虚拟spi-flash
US8819378B2 (en) Data processing apparatus and method for performing memory transactions within such a data processing apparatus
JP4363431B2 (ja) データ転送方式
JP5025521B2 (ja) 半導体装置
TWI338839B (en) Memory control system and memory data fetching method
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
CN103235534A (zh) 一种otp单片机架构及实现多次编程的方法

Legal Events

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