TWI473014B - 增強型微處理器或微控制器 - Google Patents

增強型微處理器或微控制器 Download PDF

Info

Publication number
TWI473014B
TWI473014B TW98124744A TW98124744A TWI473014B TW I473014 B TWI473014 B TW I473014B TW 98124744 A TW98124744 A TW 98124744A TW 98124744 A TW98124744 A TW 98124744A TW I473014 B TWI473014 B TW I473014B
Authority
TW
Taiwan
Prior art keywords
memory
address
processor
region
groups
Prior art date
Application number
TW98124744A
Other languages
English (en)
Other versions
TW201011642A (en
Inventor
Jerrold S Zdenek
Joseph Julicher
Sean Steedman
Vivien Delport
Original Assignee
Microchip Tech 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 Microchip Tech Inc filed Critical Microchip Tech Inc
Publication of TW201011642A publication Critical patent/TW201011642A/zh
Application granted granted Critical
Publication of TWI473014B publication Critical patent/TWI473014B/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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/30098Register arrangements
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)

Description

增強型微處理器或微控制器
本發明的技術領域係關於微處理器或微控制器。
微控制器大致上構成一單晶片系統並包括一微處理器及複數個周邊元件。多種此微處理器/微控制器存在且具有8位元、16位元及32位元架構。既有微處理器/微控制器諸如由微晶科技有限公司(Microchip Technology Inc.)製造的8位元微控制器提供一撓性架構。此微處理器/微控制器可包括一哈佛(Harvard)架構,其中程式及資料記憶體係分離的。此類型的微處理器/微控制器進一步可包括一容許存取該資料記憶體的特定分組系統。為此,大致上該資料記憶體係分成複數個組,及一組選擇暫存器定義該等組之哪個係當前選擇及可存取。為提供此一微處理器/微控制器對特定暫存器之存取,諸如一特定功能暫存器、一暫存器檔案或任何其他暫存器,該分組方案可被設計以將複數個此等暫存器記憶體映射成為大多數該等組。因此,大多數組內記憶體位置的減少數量係自由地可用作為一通用記憶體區域。圖1更明確地說明此通用概念。一實體記憶體空間100係分成複數個記憶體組1101 ..110n ,其中每次僅一個組係大致上可存取一中央處理單元。在圖1的右側上顯示一單個例示性記憶體組及其例示性結構。舉例言之,組110x 的一第一記憶體範圍120可被記憶體映射至公用核心特定功能暫存器(SFR)及用於周邊設備的其他SFR之相鄰及隨後記憶體區域130。接下來的記憶體區域140包括通用暫存器(GPR)及記憶體區域150係用於公用記憶體。在一實施例中,諸如一8位元微處理器/微控制器,每個組具有128個位元組及記憶體區域120包含12個公用核心SFR、記憶體區域130包含20個SFR、記憶體區域140包含80個GPR及記憶體區域150包含16個位元組。可應用具有SFR或其他暫存器的一不同記憶體映射方案並取決於該架構設計的其他實施例項。
除經由此分組方案存取該記憶體100之外,特定功能暫存器可被實施而容許間接地存取整個或該線性化記憶體100之一較大部分。然而,被記憶體映射至至少複數個組之該等SFR或其他實施例項中之其他暫存器不容許一單個連續較大記憶體區域。
因此,存在對使用一分組存取方案之一微處理器/微控制器之一改良架構的需要。
根據一實施例,一處理器裝置可包括一資料記憶體,該資料記憶體包括一線性位址空間,該資料記憶體為穿過複數個記憶體組可存取,其中該等記憶體組的至少一個子集被組織,使得該子集的每個記憶體組包括至少一個第一及第二記憶體區域,其中不連貫記憶體區塊係由複數個連貫記憶體組的第二記憶體區域形成;及一位址調整單元,當使用一預定義位址範圍時,該位址調整單元在該預定義位址範圍內平移一位址以存取該等第二記憶體區域,使得複數個第二記憶體區域穿過該位址形成一連續線性記憶體區塊。
根據另一實施例,該處理器可進一步包括一位址解碼器,用於啟動該位址調整單元。根據另一實施例,該處理器可進一步包括一多工器,其具有接收一位址與一調整位址的第一及第二輸入,且係由一接收該位址的位址比較器控制。根據另一實施例,該第一記憶體區域可包括特定功能暫存器。根據另一實施例,該第二記憶體區域可包括通用暫存器。根據另一實施例,該第二記憶體區域可包括公用記憶體區域。根據另一實施例,該第二記憶體區域可包括通用暫存器。根據另一實施例,該處理器可為一微控制器或一微處理器。根據另一實施例,該第一記憶體區域可包括核心特定功能暫存器,且該子集的每個記憶體組可包括一第三記憶體區域,該第三記憶體區域包括用於周邊裝置的特定功能暫存器。根據另一實施例,該位址調整單元可包括一第一解碼器單元,用於存取記憶體單元陣列的一行及複數個列解碼器對,其中每個列解碼器對係與記憶體單元陣列的一列相關聯,並且包括一第一列解碼器及一第二列解碼器。根據另一實施例,該等列解碼器之一個可回應該位址。根據另一實施例,每個列解碼器可輸出一列選擇信號,該列選擇信號係穿過一與該記憶體單元陣列耦合的OR閘極而組合。
根據另一實施例,一處理器裝置可包括一資料記憶體,該資料記憶體包括一線性位址空間,該資料記憶體為穿過複數個記憶體組為可存取;複數個特定功能暫存器,其中至少兩個特定功能暫存器係用於形成一級聯位址;一預定義位址空間,其包括一第一位址空間,一實體資料記憶體被映射至該第一位址空間;及一第二位址空間,複數個記憶體組的部分記憶體位址區域被記憶體映射至該第二位址空間,以此方式,該複數個記憶體組的部分記憶體位址區域形成一連續線性記憶體區塊。
根據另一實施例,該處理器可進一步包括一平移一位址的位址調整單元,其將該線性記憶體區塊定址為一實體位址。根據另一實施例,一記憶體組可包含一第一記憶體區域,該第一記憶體區域包括特定功能暫存器及一第二記憶體區域,該第二記憶體區域包括通用暫存器,且其中該第二記憶體區域形成該部分記憶體位址區域。根據另一實施例,一記憶體組的一部分記憶體位址區域可包括用作為公用記憶體區域的記憶體。根據另一實施例,該處理器可為一微控制器或一微處理器。根據另一實施例,該資料記憶體可為一記憶體單元陣列,且該處理器裝置可進一步包括一第一解碼器單元,用於存取記憶體單元陣列的一行及複數個列解碼器對,其中每個列解碼器對係與該記憶體單元陣列的一列相關聯,並且包括一第一列解碼器及一第二列解碼器。根據另一實施例,該第一列解碼器可回應該第一位址空間內的位址,且該第二列解碼器可回應該第二位址空間內的位址。根據另一實施例,每個列解碼器輸出一列選擇信號,該列選擇信號係穿過一與該記憶體單元陣列耦合的OR閘極而組合。
根據另一實施例,一種使用一記憶體分組存取方案存取一處理器中資料記憶體之方法,其可包括下列步驟:將一資料記憶體分成複數個記憶體組,其中一中央處理單元直接地穿過該等記憶體組之一個而存取該資料記憶體;及間接地穿過連接的位址暫存器,存取該資料記憶體內之一連續記憶體區塊,其中該記憶體區塊係藉由記憶體組之至少一個子集的複數個部分記憶體區域形成,該複數個部分記憶體區域在一實體記憶體空間中係不連續的,且以其等形成該連續記憶體區塊之方式被映射至一記憶體空間。
根據另一實施例,該子集可具有比該複數個記憶體組更少記憶體組。根據另一實施例,該連續記憶體區塊可藉由所有記憶體組的部分記憶體區域形成。根據另一實施例,一記憶體組可包括一第一記憶體區域,其包括特定功能暫存器;及一第二記憶體區域,其包括通用暫存器,其中該等部分記憶體區域係藉由該等第二記憶體區域形成。根據另一實施例,一記憶體組的一部分記憶體區域可包括用作為公用記憶體區域的記憶體。根據另一實施例,在至少記憶體組的子集中,每個記憶體組可包括特定功能暫存器、通用暫存器及公用記憶體區域。
本發明的其他技術優點將自下列圖式、描述及技術方案,對熟悉此項技術者為易於顯而易見。本發明的多種實施例僅可獲得所闡明的該等優點的一子集。並沒有一個優點對該等實施例係至關重要的。
本發明的一更完整理解及其優點可藉由結合附圖參考下列描述而獲得,其中相同參考數字指示相同特徵。
雖然本發明的實施例已被描繪、描述,且係參考本發明的實例實施例予以定義,此等參考不意味關於本發明的一限制,且沒有待推斷的此限制。揭示的標的在形式及功能上係容許相當多的修飾、變更及等效,如一般技術者將想到且具有本發明的權利。本發明的描繪及描述實施例係僅為實例,並未詳盡本發明的範疇。
根據多種實施例,一微處理器/微控制器包括一實體位址空間,其具有複數個經配置從而形成一線性化記憶體空間及一虛擬位址空間的記憶體組。根據另一實施例,一記憶體可在複數個位址下為可定址,其中一第一位址範圍具有定址如用於正常分組的序列記憶體位置的連貫位址,及一第二位址範圍具有至少部分地定址用於存取一線性化記憶體區塊的非序列記憶體位址的連貫位址。根據一實施例,該實體位址空間的位址可與一虛擬位址空間的一部分相同,其中該虛擬位址空間係大於該實體位址空間。換句話說,該實體位址空間可為該虛擬位址空間的一子集。根據一實施例,該實體位址空間的每個組內特定區段亦被記憶體映射至一第二或虛擬位址空間的另一部分,使得其等形成一連續記憶體區塊。換句話說,即使每個記憶體組內此等區塊的實體位址不形成一連續記憶體區塊,在其等被記憶體映射至一第二或虛擬記憶體空間的另一部分中,其等仍這樣實行。
圖3顯示使用如圖1中顯示的該記憶體組組織的一例示性實施例。該實體記憶體空間係再次以數字100指定。在此實施例中,每個或大部分該等記憶體組1101 ..110n 包括一僅環繞每個記憶體組之一部分的記憶體區段,其中該記憶體組之其餘者可用於一指定目的,諸如映射特定功能暫存器或公用記憶體。然而,在其他實施例中,並非所有記憶體組可被同樣組織並共用相同記憶體區域120-150。舉例言之,存在留作特定功能的一個或更多記憶體組,其包含一映射至特定暫存器的唯一虛擬或實體記憶體。舉例言之,圖3顯示一使用具有32個記憶體組的一分組方案200的8位元微控制器,其中每個組包括128個位元組。該第一31個組0-30被同樣組織。類似於圖1中顯示,每個組0-30包含記憶體組區域120、130、140及150。組31包括經映射至該周邊SFR 130及GPR 140的區域之部分不同及額外特定功能暫存器及除錯暫存器。
根據一實施例,該記憶體區段140係記憶體映射至該虛擬記憶體空間內一特定記憶體區域,以形成如圖3中顯示的一連續記憶體區塊300。根據其他實施例,每個組的其他部分諸如記憶體區域150或一組的任何其他部分記憶體區域,根據其組織可被指派至一連續虛擬記憶體空間300。因此,該映射建立一可藉由設計的特定功能暫存器存取的連續記憶體空間300,以存取一比該分組方案容許之更大線性化記憶體空間。根據此映射方案,當被存取時,每個記憶體組仍容許習知的藉由該分組方案存取其記憶體區域140。然而,每個記憶體區域140亦係在一第二位址,即該虛擬記憶體位址下為可存取,此處此等通用暫存器或公用記憶體形成一單個連續的線性化記憶體空間300。在一8位元微處理器/微控制器中,該等暫存器係每一定義僅8位元寬並可因此僅定址256個不同記憶體位址(在圖2中顯示的該實施例中,僅128個記憶體位置係用於每個組,然而其他設計可使用更多位置諸如256個或更少)。然而,此線性化記憶體空間200可藉由特定功能暫存器或至少兩個8位元位址暫存器的一組合而存取。根據具有一不同位元大小的其他實施例因此應用相同原則。
圖4顯示一例示性虛擬記憶體空間400。此虛擬記憶體空間400可係與實體記憶體部分地相同。舉例言之,自0x0000開始至0x0FFF的虛擬記憶體區域400可為實際隨機存取記憶體(RAM)及0x8000至0xFFFF的虛擬記憶體區域可表示實際程式記憶體。根據此實施例,具有位址0x1000至0x7FFF之該虛擬記憶體區域400係部分地映射至該RAM,以形成一連續線性化記憶體區塊300。舉例言之,如圖4中顯示,該位址範圍0x4000至0x49FF係用於自每個記憶體組1101 ..110n 映射80位元組的32個區塊,其中在此特定實施例中n=32。然而,在其他實施例中,n可為更小或更大,且用於此映射之組的實際數量可小於組的可用數量。
在上述該實施例中,於每個組中構成該通用暫存器140的80個位元組係用於形成一單個線性化連續記憶體區塊300,因為對很多應用來說,其可有用於將所有通用暫存器組合成為一個不間斷區塊。然而,因為組區域150亦包括不用於通用暫存器的公用記憶體區域,故此記憶體區域150亦可被替代使用或用於該記憶體區域140的組合,以用於根據該實施例形成一連續記憶體區塊。特定言之,根據多種實施例的原則適用於採用具有記憶體映射暫存器之若干組的所有資料記憶體組態,其中該記憶體映射暫存器中斷一組中其餘記憶體的連續性。藉由將此等剩餘記憶體組區域組合成為一線性化記憶體空間,其透過虛擬記憶體映射變得可用,可使用一分組方案來達成一相對於習知之微處理器/微控制器的增強。
圖5顯示一如上述描述達成該映射的記憶體存取調整電路500。然而,可應用達成相同結果的其他實施例。CPU 510係經由位址匯流排520與位址解碼器530及位址調整單元540耦合。位址調整單元540係藉由位址解碼器透過位址調整控制線570來控制。位址調整單元540係經由匯流排550與該資料記憶體560耦合,並藉由位址解碼器530致能。
概言之,根據圖3及4中顯示的該虛擬位址方案,舉例言之,如果CPU 510經過該範圍0x0000至0x0FFF中一相關聯位址暫存器輸出一位址,接著位址調整單元540將不經過位址解碼器530被啟動,且僅將該位址傳遞至將藉由位址解碼器530致能的資料記憶體560。然而,如果一位址係藉由位於該位址範圍0x4000至0x49FF內的CPU 510輸出,則接著位址解碼器530啟動位址調整單元540,該位址調整單元將此位址平移至資料記憶體560的實體位址中,以存取根據圖3及4中顯示之該指派方案之該個別記憶體組內的個別記憶體位置。在另一實施例中,可使用一不同位址範圍,諸如穿過0x2000至0x29FF。該等特定位址範圍係僅根據多種其他實施例顯示為一實例,一使用者可根據該系統的個別需求而選擇具有不同長度的不同位址空間。同樣地,多個連續記憶體區塊可根據該個別實施例項被映射。
圖6顯示一記憶體存取調整單元600的另一實施例,其中一多工器610的一第一輸入接收來自兩個特定功能暫存器660的該等位址,該等特定功能暫存器係級聯以形成能夠定址該虛擬記憶體組300的一長位址。此等兩個暫存器在此示例中係指定為SFR X及SFR X+1。來自此等暫存器660的相同位址亦係經過匯流排640饋送至一位址範圍比較器620及一位址平移器630。該位址平移器根據遵守圖3及4中顯示的該方案之一預定義方程式或演算法執行一位址平移,並將其輸出轉送至多工器610的該第二輸入。該多工器610係藉由位址範圍比較器620控制,如果該位址位於一第一位址範圍內,則該位址範圍比較器選擇該第一輸入,或者如果該位址範圍位於該指定的虛擬位址範圍內,則該位址範圍比較器選擇該第二輸入。多工器610在與該資料記憶體耦合的位址匯流排650上輸出其位址。其他電路可完成相同結果及沒有可為特定較佳完成該虛擬記憶體映射的設計。
圖7顯示如何在一微處理器/微控制器中實施該記憶體存取的又另一可能性。此實施例不利用一虛擬位址空間,因為該記憶體在存取該記憶體內不同記憶體位置的兩個不同位址範圍下為可定址。顯示在圖7中的該電路配置700包含一靜態隨機存取記憶體(SRAM)單元陣列620,其使用此項技術中大致上已知的行及列解碼器。然而,與習知的列解碼器相反,此實施例使用用於該SRAM單元陣列的每個列之成對的列解碼器。因此,相同列可在不同實體位址下予以存取。該位址被分成上面及下面部分,並經過部分位址匯流排720饋送至該等行解碼器730及經過部分位址匯流排710饋送至該等列解碼器對單元7401 ..740n 。每個列解碼器對單元7401 ..740n 包括一成組的位址解碼器742及一線性位址解碼器744,每個此等位址解碼器742、744的列選擇輸出信號係饋送至一OR閘極746。當作業時,該複數個位址解碼器偵測該SRAM單元陣列750的一特定列是否必須根據該位址被選擇。因此,如果一位址位於該成組的記憶體區域內,舉例言之,在如圖4中顯示的該範圍0x0000至0x0FFF中,該成組的位址解碼器742之一個將輸出一列選擇信號,該列選擇信號將穿過該個別OR閘極746被饋送至該SRAM單元陣列750。然而,舉例言之,如果該位址位於該線性記憶體區塊位址0x4000至0x49FF內,則該等線性位址解碼器744之一個將輸出一列選擇信號,其再次將穿過該等列位址解碼器對單元7401 ..740n 之一個的該個別OR閘極746而被饋送至SRAM單元陣列750。該SRAM單元陣列750係成列及行被組織,使得根據圖3中顯示方案的一線性化記憶體區塊的形成變得可能。根據使用一不同組織的記憶體的其他實施例,該位址解碼因此可經調適以匹配如圖3中顯示的映射技術。然而,其他實施例可使用不同的行/列選擇機構諸如多工器或可控制驅動器。
因此,本發明適當經調適以實現該等目的並獲得提及的結果及優點以及其中固有者。雖然許多改變可藉由熟悉此項技術者做出,此等改變係包含在如藉由附加申請專利範圍定義的本發明的精神內。
100...實體記憶體空間
1101 ...記憶體組
110n ...記憶體組
110x ...記憶體組
120...第一記憶體範圍
130...記憶體區域
140...記憶體區域
150...記憶體區域
200...分組方案
300...虛擬記憶體空間
400...虛擬記憶體空間
500...記憶體存取調整電路
510...中央處理單元
520...位址匯流排
530...位址解碼器
540...位址調整單元
550...匯流排
560...資料記憶體
570...調整控制線
600...記憶體存取調整電路
610...多工器
620...位址範圍比較器
630...位址平移器
640...匯流排
650...位址匯流排
660...特定功能暫存器
700...電路配置
710...位址匯流排
720...位址匯流排
730...行解碼器
7401 ...列解碼器對單元
740n ...列解碼器對單元
742...位址解碼器
744...位址解碼器
746...OR閘極
750...SRAM單元陣列
圖1顯示一典型習知的記憶體分組方案;
圖2顯示具有一有32組的分組方案的一實施例;
圖3顯示一改良分組方案的一實施例;
圖4顯示根據一實施例的記憶體映射方案;
圖5顯示用於定址一記憶體的一微處理器/微控制器架構的一實施例;
圖6顯示一記憶體存取電路的另一實施例;及
圖7顯示一記憶體存取電路的又另一實施例。
500...記憶體存取調整電路
510...中央處理單元
520...位址匯流排
530...位址解碼器
540...位址調整單元
550...匯流排
560...資料記憶體
570...調整控制線

Claims (26)

  1. 一種處理器,其包括:一資料記憶體,其包括一線性位址空間,該資料記憶體為經由複數個記憶體組可存取,其中該等記憶體組的至少一個子集被組織,使得該子集的每個記憶體組包括至少一個第一及第二記憶體區域,其中沒有連貫記憶體區塊係由複數個連貫記憶體組的第二記憶體區域形成;一位址調整單元,當使用一預定義位址範圍時,該位址調整單元在該預定義位址範圍內平移一位址以存取該等第二記憶體區域,使得複數個第二記憶體區域經由該位址形成一連續線性記憶體區塊。
  2. 如請求項1之處理器,進一步包括一位址解碼器,用於啟動該位址調整單元。
  3. 如請求項1之處理器,進一步包括一多工器,其具有接收一位址與一調整位址的第一及第二輸入,並且係由一接收該位址的位址比較器控制。
  4. 如請求項1之處理器,其中該第一記憶體區域包括特定功能暫存器。
  5. 如請求項1之處理器,其中該第二記憶體區域包括通用暫存器。
  6. 如請求項1之處理器,其中該第二記憶體區域包括公用記憶體區域。
  7. 如請求項4之處理器,其中該第二記憶體區域包括通用暫存器。
  8. 如請求項1之處理器,其中該處理器為一微控制器或一微處理器。
  9. 如請求項1之處理器,其中該第一記憶體區域包括核心特定功能暫存器,且其中該子集的每個記憶體組可包括一第三記憶體區域,該第三記憶體區域包括用於周邊裝置的特定功能暫存器。
  10. 如請求項1之處理器,其中該位址調整單元包括一第一解碼器單元,用於存取記憶體單元陣列的一行及複數個列解碼器之對,其中每個列解碼器之對係與該記憶體單元陣列的一列相關聯,並包括一第一列解碼器及一第二列解碼器。
  11. 如請求項10之處理器,其中該等列解碼器之一個回應該位址。
  12. 如請求項10之處理器,其中每個列解碼器輸出一列選擇信號,該列選擇信號係經由一與該記憶體單元陣列耦合的OR閘極而組合。
  13. 一種處理器,其包括:一資料記憶體,其包括一線性位址空間,該資料記憶體為經由複數個記憶體組可存取;複數個特定功能暫存器,其中至少兩個特定功能暫存器係用於形成一級聯位址;一第一位址空間,一實體資料記憶體被映射至該第一位址空間;及一第二位址空間,複數個記憶體組的部分記憶體位址區域被記憶體映射至該第二位址空間,以此 方式,該複數個記憶體組的部分記憶體位址區域形成一連續線性記憶體區塊。
  14. 如請求項13之處理器,進一步包括一平移一位址的位址調整單元,其將該線性記憶體區塊定址為一實體位址。
  15. 如請求項13之處理器,其中該等記憶體組之一個包含一第一記憶體區域,該第一記憶體區域包括該等特定功能暫存器及一第二記憶體區域,該第二記憶體區域包括通用暫存器,且其中該第二記憶體區域形成該部分記憶體位址區域。
  16. 如請求項13之處理器,其中該等記憶體組之一個的一部分記憶體位址區域包括用作為公用記憶體區域的記憶體。
  17. 如請求項13之處理器,其中該處理器可為一微控制器或一微處理器。
  18. 如請求項13之處理器,其中該資料記憶體為一記憶體單元陣列,且該處理器進一步包括一第一解碼器單元,用於存取記憶體單元陣列的一行及複數個列解碼器之對,其中每個列解碼器之對係與該記憶體單元陣列的一列相關聯,並包括一第一列解碼器及一第二列解碼器。
  19. 如請求項18之處理器,其中該第一列解碼器回應該第一位址空間內的位址,且該第二列解碼器回應該第二位址空間內的位址。
  20. 如請求項18之處理器,其中每個列解碼器輸出一列選擇信號,該列選擇信號係經由一與該記憶體單元陣列耦合 的OR閘極而組合。
  21. 一種使用一記憶體分組存取方案存取一處理器中資料記憶體之方法,該方法可包括下列步驟:將一資料記憶體分成複數個記憶體組,其中一中央處理單元直接地經由該等記憶體組之一個來存取該資料記憶體;間接地經由級聯的位址暫存器,存取該資料記憶體內之一連續記憶體區塊,其中該記憶體區塊係由記憶體組之至少一個子集的複數個部分記憶體區域形成,該複數個部分記憶體區域在一實體記憶體空間中係不連續的,且以其等形成該連續記憶體區塊之方式被映射至一記憶體空間。
  22. 如請求項21之方法,其中該子集可具有比該複數個記憶體組更少的記憶體組。
  23. 如請求項21之方法,其中該連續記憶體區塊係由所有記憶體組的部分記憶體區域形成。
  24. 如請求項21之方法,其中該等記憶體組之一者包括一第一記憶體區域,其包括特定功能暫存器;及一第二記憶體區域,其包括通用暫存器,其中該等部分記憶體區域係由該等第二記憶體區域形成。
  25. 如請求項21之方法,其中該等記憶體組之一者的一部分記憶體區域包括用作為公用記憶體區域的記憶體。
  26. 如請求項21之方法,其中在記憶體組之至少該子集中,每個記憶體組可包括特定功能暫存器、通用暫存器及公用記憶體區域。
TW98124744A 2008-07-23 2009-07-22 增強型微處理器或微控制器 TWI473014B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/178,249 US7996647B2 (en) 2008-07-23 2008-07-23 Enhanced microprocessor or microcontroller

Publications (2)

Publication Number Publication Date
TW201011642A TW201011642A (en) 2010-03-16
TWI473014B true TWI473014B (zh) 2015-02-11

Family

ID=41110930

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98124744A TWI473014B (zh) 2008-07-23 2009-07-22 增強型微處理器或微控制器

Country Status (7)

Country Link
US (1) US7996647B2 (zh)
EP (1) EP2304570B1 (zh)
KR (1) KR101607210B1 (zh)
CN (1) CN102007477B (zh)
ES (1) ES2541923T3 (zh)
TW (1) TWI473014B (zh)
WO (1) WO2010011651A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10123803B2 (en) 2007-10-17 2018-11-13 Covidien Lp Methods of managing neurovascular obstructions
KR101217218B1 (ko) * 2011-03-15 2012-12-31 고려대학교 산학협력단 저전력 비디오 프로세서를 위한 임베디드 메모리 설계
US20160170466A1 (en) * 2014-12-15 2016-06-16 Jefferson H. HOPKINS Power saving multi-width processor core
CN110245748B (zh) * 2018-03-09 2021-07-13 赛灵思电子科技(北京)有限公司 卷积神经网络实现方法、装置、硬件加速器、存储介质
US11681797B2 (en) * 2019-08-28 2023-06-20 Micron Technology, Inc. Row activation prevention using fuses
CN111488297B (zh) * 2020-04-02 2023-04-14 杭州迪普科技股份有限公司 用于访问寄存器的方法、装置、电子设备及可读介质
US11861190B2 (en) * 2021-04-08 2024-01-02 Marvell Asia Pte, Ltd. Memory allocation and reallocation for memory access instructions and data using intermediate processor

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW330257B (en) * 1996-04-22 1998-04-21 Mitsubishi Electric Corp The apparatus for semiconductor IC and memory, and its control circuit
US5923895A (en) * 1996-11-15 1999-07-13 Cirrus Logic, Inc. Method and arrangement to effectively retrieve residual data from a buffer
US6785793B2 (en) * 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US7219214B2 (en) * 2003-12-09 2007-05-15 Arm Limited Data processing apparatus and method for moving data elements between a chosen lane of parallel processing in registers and a structure within memory
TW200723297A (en) * 2005-09-28 2007-06-16 Hynix Semiconductor Inc Multi-port memory device
JP3958662B2 (ja) * 2002-09-25 2007-08-15 松下電器産業株式会社 プロセッサ
US7287145B1 (en) * 2004-12-13 2007-10-23 Nvidia Corporation System, apparatus and method for reclaiming memory holes in memory composed of identically-sized memory devices
TW200745937A (en) * 2006-03-09 2007-12-16 Mediatek Inc Command controller and prefetch buffer applied in an embedded system and control method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198691B1 (en) * 1997-07-03 2001-03-06 Microchip Technology Incorporated Force page paging scheme for microcontrollers of various sizes using data random access memory
US6029241A (en) 1997-10-28 2000-02-22 Microchip Technology Incorporated Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor
EP0992887B1 (en) 1998-10-06 2010-03-03 Texas Instruments Inc. Memory access using byte qualifiers

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW330257B (en) * 1996-04-22 1998-04-21 Mitsubishi Electric Corp The apparatus for semiconductor IC and memory, and its control circuit
US5923895A (en) * 1996-11-15 1999-07-13 Cirrus Logic, Inc. Method and arrangement to effectively retrieve residual data from a buffer
US6785793B2 (en) * 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
JP3958662B2 (ja) * 2002-09-25 2007-08-15 松下電器産業株式会社 プロセッサ
US7219214B2 (en) * 2003-12-09 2007-05-15 Arm Limited Data processing apparatus and method for moving data elements between a chosen lane of parallel processing in registers and a structure within memory
US7287145B1 (en) * 2004-12-13 2007-10-23 Nvidia Corporation System, apparatus and method for reclaiming memory holes in memory composed of identically-sized memory devices
TW200723297A (en) * 2005-09-28 2007-06-16 Hynix Semiconductor Inc Multi-port memory device
TW200745937A (en) * 2006-03-09 2007-12-16 Mediatek Inc Command controller and prefetch buffer applied in an embedded system and control method thereof

Also Published As

Publication number Publication date
EP2304570A1 (en) 2011-04-06
KR101607210B1 (ko) 2016-03-29
WO2010011651A1 (en) 2010-01-28
EP2304570B1 (en) 2015-04-15
KR20110050401A (ko) 2011-05-13
CN102007477B (zh) 2015-01-21
US20100023671A1 (en) 2010-01-28
US7996647B2 (en) 2011-08-09
ES2541923T3 (es) 2015-07-28
TW201011642A (en) 2010-03-16
CN102007477A (zh) 2011-04-06

Similar Documents

Publication Publication Date Title
TWI473014B (zh) 增強型微處理器或微控制器
US7793038B2 (en) System and method for programmable bank selection for banked memory subsystems
US10007435B2 (en) Translation lookaside buffer in memory
US7398362B1 (en) Programmable interleaving in multiple-bank memories
US8751751B2 (en) Method and apparatus for minimizing cache conflict misses
US10884657B2 (en) Computing device within memory processing and narrow data ports
KR101668317B1 (ko) 뱅크형 메모리에서의 선형 메모리를 갖는 마이크로컨트롤러
WO2004063906A2 (en) Coded write masking
JP2016520937A (ja) 組み込みeccアドレスマッピング
US11567875B2 (en) Integrated circuit and address mapping method for cache memory
US8364897B2 (en) Cache organization with an adjustable number of ways
US6427191B1 (en) High performance fully dual-ported, pipelined cache design
JP2004152291A (ja) キャッシュラインにアクセスするための方法、システム、コンピュータ使用可能媒体、およびキャッシュラインセレクタ
JP3540388B2 (ja) コンピュータシステム
JP3614956B2 (ja) メモリ制御システム
JP2016048424A (ja) キャッシュメモリ
JPH0793258A (ja) 並列プロセッサlsi