TW200534095A - Method and system for fast access to stack memory - Google Patents

Method and system for fast access to stack memory Download PDF

Info

Publication number
TW200534095A
TW200534095A TW093132276A TW93132276A TW200534095A TW 200534095 A TW200534095 A TW 200534095A TW 093132276 A TW093132276 A TW 093132276A TW 93132276 A TW93132276 A TW 93132276A TW 200534095 A TW200534095 A TW 200534095A
Authority
TW
Taiwan
Prior art keywords
access
addressing mode
address
value
stack
Prior art date
Application number
TW093132276A
Other languages
English (en)
Other versions
TWI333616B (en
Inventor
Joshua M Conner
James H Grosbach
Joseph W Triece
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 TW200534095A publication Critical patent/TW200534095A/zh
Application granted granted Critical
Publication of TWI333616B publication Critical patent/TWI333616B/zh

Links

Classifications

    • 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/04Addressing variable-length words or parts of words
    • 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/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/30134Register stacks; shift 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

200534095 九、發明說明: 【發明所屬之技術領域】 本發明概有關於微處理器。特別是本發明係有關於存取 可用來作為一微控制器及微處理器内之堆疊資料結構的一 般用途記憶體。 【先前技術】 多年來,微控制器單元(MCU)既經運用於製造及電子產 業。在任何微處理器或微控制器中’會有用以握存各項中 讀值之記憶體位置(亦即RAM)。這些記憶體位置可用以 貫作一稱為「堆疊」的概念性資料容器。一堆疊係一具類 似-線性列表之行為的結構,對此會在該列表:一端進行 所有的插入處理及刪除處理。可按照三項操作來陳述標定 -堆疊為何的各項規則或公設般稱為推入(push)、拿取 (pop)及頂值(top)。「推入」可將—項目增入該堆疊,「拿取」 可將最新近增入項目予以刪除,…值」則會傳回該數 值但不改變該堆疊。堆疊可運用於微控制器上所執行之各 種軟體應用。 多數的微控制器具備有限的記憶體資源。可透過運用軟 體堆疊來增加此記憶體資源數量…軟體堆疊係一方法, 其中利m料位置來儲存屬該整體電腦程式之一部分 的局部之情境(e〇ntext)。此方法可提供具有效率的ram運 用,因為僅現屬作用中之局部電腦程式會耗用ram空間。 该軟體堆疊係藉由具有一表示該雄晶 一 茨堆$之頂部的專屬指標所 貫作。該專屬指標通稱為「堆疊指標」。可藉由操縱該堆疊 96895.doc 200534095 指標而對該軟體堆疊增入或移除資料。亦可利用「堆疊-指 標相對定址」來參指該堆疊内的資料,藉此運用一相對於 5亥堆豐指標之位移值以定址一資料。 圖1說明使用RAM以產生一軟體堆疊之圖式。詳細地說, 該RAM 1〇2之一局部可經保留作為一軟體堆疊1〇4。圖1右 側繪示出該軟體堆疊104之展開視圖。詳細 疊鳴一堆疊指標15。,以及各個可利用一自該= 標150之位移值予以存取的額外暫存器。例如,鄰接於該堆 疊指標150的暫存器152可按堆疊指標+1方式予以存取。類 似地,鄰接於該暫存器152的暫存器會為自該堆疊指標15〇 開始的兩個位移值。該堆疊含有r n」個暫存器,而最後一 個暫存器198係自該堆疊指標開始加上n位移值,即如圖夏 所示者。 由於許多的高階語言係按必須使用軟體堆疊之方式所設 計,因此,按一高階語言所撰寫之軟體應用程式的整體效 能,勢會根據該微控制器有效率地處理堆疊相關操作的能 力而定。快速的軟體堆疊存取及操控可改善整體效能。由 於會希望更快的軟體應用程式效能,故確需要能夠縮短存 取及/或操控軟體堆疊之所需時間。 【發明内容】 本發明可藉由提供一具有局部之記憶體經保留以供快速 記憶體存取之微控制器,以及藉將此記憶體重新對映至該 堆疊以供快速存取,來克服上述問題與其他現有技術的不 足及缺點。 96895.doc 200534095 、本發明包含-種用以快速存取一堆疊内之記憶體的方 法、系統及裝置。該系統及裝置包含一位址位元、_堆疊 指標及快速存取隨機存取記憶體(「RAM」在當併同於 該位址位元及該堆疊指標而運用一第一定址模式時,該方 法可提供將該存取RAM的位置予以位移,俾獲得—文字位 移值定址模式之索引。 經給定該揭示目的且併同於各隨附圖式,按如後載具體 實施例說明,本發明各項特性及優點可為顯見。 【實施方式】 揭不-種用以提供快速存取一堆疊中之記憶體的方法及 裝置。詳細地說,本發明描述一種微控制器,具有供以快 速記憶體存取之存取位元,並且會被重新導向該等快速存 取位元以進行快速堆疊存取。藉由縮短堆疊存取的所需時 間,即可改善該微控制器的整體效能。如此,此係本發明 之一優點,可提供更快的堆疊存取,並因此該微控制器的 更快整體效能。 典型的高階軟體應用程式(程式)會利用具各參數及區域 變數的函式副程式,像是如下之程式碼樣本: void f〇〇 (char a, char b) int c; char d; d=5; c=a+b+d; 96895.doc 200534095 在一標準架構微控制器上,一個像是r d=5」的簡單述句或 可按組合語言轉譯成: MOVLW 〇x5 MOVWF PRODL,0x0 MOVLW 〇x2 MOVFF PRODL,PLUSW2 上述程式碼利用到程式記憶體的1 〇個位元組,對於一些裝 置及/或些應用裎式,這或為一顯著的過度耗用量。而或 會希望為提高效能而減少過度耗用量。 可藉由採行例如高階程式設計的可#茏存取RAM,來降 低.亥過度耗用。換言之,自一高階語言所撰寫的多數軟體 應用私式亚不運用存取RAM至與其他應用程式相同的程 /而可藉由預先排除某些在高階軟體應用程式情況 下或非屬重要之功能,而進行取捨以縮短用於記憶體存取 的所需時間。名士拓一、 _ ^ 本揭不裡’可糟由重新對映該存取位元, ,仔遠者可識別該堆疊相關位址而非快速記憶體位址之方 式,來完成該項取捨。 伙 、各圖式,其中說明本發明具體實施例的各項細 即。各圖式巾> ;,_ 係& 相仿70件係如類似編號所表,而類似元件 係:―具不同小寫字尾之所表。 堆㈠具體實施例之堆疊可如圖2所緣。詳細地說,該 中;二有—般用途記憶體咖。在該-般用途記憶體· 1 人體堆叠21G°該堆疊扇的特殊功能暫存器雇 96895.doc 200534095 可朝向於該記憶體之頂端(即如在如圖2所繪之末端位置 oxfff附近)所常駐。應注意,該SFR*一般用途記憶體的特 定位置並非本發明之關鍵項,且該記憶體之特定位置,或 该堆豐記憶體之特定大小,可為廣泛變化。 有些先鈾技#微控制器在當存取堆疊内之記憶體時會利 用一「存取位元」,而該存取位元可識別快速記憶體位址。 相對地,在本發明具體實施例裡,可將該存取位元重新對 映,使得此者可識別堆疊相對位址,而非該先前技藝微控 制裔的快速纪憶體位址。這種重新對映處理雖可預先排除 存取RAM,然無存取RAM的排置方式確有其優點。詳細地 說,該堆豐2 10的排置方式,併同於該存取位元重新對映以 識別堆疊相關位址,會獲得更佳的本發明整體效能。例如, 利用本發明之經強化堆疊定址法則,能夠將該「b = 5」程式 碼轉譯如下(按組合語言): MOVLW 0x5 MOVWF b,0x1 如此可少掉兩個指令,並僅使用程式記憶體的4個位元組, 而這會比先前範例減少60%。 可藉由程式設計一情境,例如將一「存取位元」設定為i, 來提供本揭之定址模式。可按一熔絲、另一硬體機制來實 作該存取位元,或是亦按軟體方式以實作該存取位元。當 將該存取位元程式設計為啟動時,具一文字位移值模式之 索引位址可為位址相關,且亦可根據在該指令字組内之存 取位元的數值而定。該存取位元啟動模式會僅運用於利用 96895.doc -10- 200534095 直接強制位址的指令。應了解熟諸本項技藝之 二應=猎不同數值之索引位元,或藉不同機制以載荷 :兄I創出各替代性具體實施例,在此所 屬說明性質。 ^ 1 j m 在該具體實施例裡,如該存取位元為「!」(壹),則不备 改變如何自先前架構(亦即圖1之記憶體架構)決定該位址: 並且該定址模式可内定為直接短式。如該存取位元的數值 被設定為「0」(零),則可解碼含於該指令字組内之位址並 比較於該(十六進位)數值G5Fh。如該位址大於G5Fh,則該 定址模式可被解碼為直接強制。如該存取位㈣數值為 零’且該指令字組内的位址小於等於05Fh,則該定址模式 可按-文字位移值加以索^。當該定址模式經一文字位移 值所索引標註後,該指令字組内的位址可内定為一之内容 的文字值’而可將此值增置於—用以標註一堆疊頂端的專 屬指標暫存器之内。可將該結果值用來作為一可對其進行 操作之位址。 圖3說明在該RAM 300上的存取操作。詳細地說,該傳統 式RAM 300(圖3的左端)會被分割成個別庫段,像是存取 RAM 3G2、-般用途暫存器3()4及特殊功能暫存器鳩。在 如第3圖所述之RAM 300具體實施例裡,該記憶體被定址在 0x0與Oxfff範圍之間。相對於傳統式RAM組織3〇〇,本ram 組織300係如圖3右側所示。在該新庫段組態設定裡,該ram 300’的頂端具有一般用途暫存器3〇4,,隨後是存取ram 302。會有含有該軟體堆疊314之另一組一般用途暫存器 96895.doc • 11 - 200534095 财。在該軟體堆疊314的頂端係該堆疊指標3i5。該特殊功 能暫存器306則劃佔該RAM組織3〇〇,的剩餘部份。 一種㈣’此者可供透過位移文字定址處理而存取在該: 體堆疊314内的值,然而傳統式架構或為存取在該存取汉八乂 内的絕對位址(即如圖2的「12」〇2,〇,〇)),本架構可存取位 在該軟體堆疊内,而相對於該堆疊指標的位址。 圖4係一說明模式設計方法4〇〇的流程圖。該方法概開始 於步驟402。步驟404會進行一檢查,以決定是否既已設定 該存取位元。如否,則在步驟4〇6可運用該標準架構並且可 選定該直接短式定址模式。如既已設定該存取位元,則可 在步驟408解碼該指令以擷取該位址。在步驟41〇,會進行 檢查以決定該位址是否大於一預設值,像是〇5Fh。該預設 值可因裝置而變,且可與該可用RAM量以及所針對之裝置 的應用程式相關。如該位址大於該預設值,則可在步驟412 選定該直接強制定址模式。如否,則可在步驟4〖6選定經索 引之文字位移值定址模式。在選定該定址模式後,該方法 概結束於步驟41 8。應注意,根據所欲定址模式之數量而 疋,或可排除掉一或多個的前述步驟。然而,在有些情況 下,或會進一步檢查該位址數值,以決定是否須選定其他 的定址模式。圖4之方法僅屬說明性,且應為可依種類及特 徵而變之無數種檢查,俾選定一或多個定址模式的其一範 例。 上述具體實施例之一意涵可為,當啟動該直接強制模式 時’此模式並不適用在小於或等於該預設數值之位址。此 96895.doc •12- 200534095 外,所有其他形式的間接定址並不會被經索引之文字模式 所影響,這是因為所有其他的間接模式會是被在一大於該 預設數值之範圍内的資料記憶體位址所解碼。 圖5係一位址產生單元(rAGU」)方塊圖。該位址產生單 元500可為運作於該RAM 3〇2,後者具有一或多個庫段 3〇8。現參照圖5,可將一增量/減量載入數值52〇輸入到該 FSR521。可將該W暫存器516的内容位移(如圖5所示般由— 或多個+1數值),並且或經合併於該增量/減量載入數值Μ〕 而存入多工器(「MUX」)514。該Μυχ514的輸出可合併於 FSR512的數值而存入該加法器512。該Μυχ5ι〇可採該舰 521及該加法器512的數值,以及該預/後數值5ιι,做為輸 入。該MUX 510的輸出可用來作為對該Μυχ 51〇的輸入。 該MUX 508可不僅將該_又51〇的輸出,㈣所取獲之指 令的索引值509以及檔案局部5G6,採行作為輸人ιΜυχ 5〇8的輸出可用來作為所執行指令之位址局部503。所取獲 指令之操料局㈣何㈣作為所執行指令之操作碼局 部502,即如圖5所示。 -可實作本揭示方法及技術之位址產生單元的具體實施 例可如圖6所不。現參照圖6,可將一增量/減量載入數值似 3至^811 320。可將該w暫存器516内的數值,連同一 或夕個+1數值及該增量/減量/位移值/位移區間值⑵,輸入 至該MUX 614内。該Μυχ 614也採所取獲指令之文字局部 的數值作為輸入。該顧\ 614的輸出及該MR〕的數 值可用來作為對該加法器512的輸入。該加法器512的輸出 96895.doc 200534095 可用來作為對該^111又510的輸入,並作為該FSR2 32〇的輸 入數值’即如圖6所示。除來自該加法器5丨2的數值外,該 以1^51〇亦可將該預/後數值511及/或來自該]^112 32〇的數 值採取作為輸入。該^11;又510的輸出可輸入至該Μυχ 5 08。除自該MUX 5 10的輸出外,該MUX 508亦可接收該所 獲取指令之檔案數值609及/或文字局部6〇2作為輸入。該 MUX 508的輸出可作為所執行指令之位址局部6〇3。該所獲 取指令之操作碼局部504可用來作為所執行指令之操作碼 502即如圖5之具體貫施例,該位址產生單元具體實施例 600可運作於該RAM 3〇2及各段庫3〇8,即如圖6所示。 為實作此定址模式法則,或須對存在於先前技藝微控制 器内的位址產生單元500的FRS 521進行廣泛改變。早先的 微控制器會利用三種不同種類的間接方式來產生一位址 (參見圖5): •間接(INDF) •間接於增量/減量(FSR+)、(+FSR)及(FSR_) •間接於位移值(FSR+W,其中該w的内容會用來做為該 位移值) 為支援一按一文字位移模式之索引,該指令暫存器6〇2 的後7個位元可被納入作為四個可能數值其一者,以增入該 FSR2 320的内容裡。含於該指令暫存器(「IR」)5〇4/6〇2内 之貝料可被視為I-無號整數,且彳無須將其結果存放在 該FSR2内。如圖6碩所述之具體實施例的四種可能模式包 含: 96895.doc -14- 200534095 •間接(INDF) •間接於增量/減量(FSR2+)、(+FSR2)及(FSR2-) •間接於位移值(FSR2+W,其中該w暫存器516的内容會 用來做為該位移值) •間接於文字位移值(FSR2 +文字602) 從而,如圖6之位址產生單元600可實作如圖6所繪之方法 4〇〇。應了解替代性的位址產生單元具體實施例並不會悖離 所揭示之本發明精神。此外,該定址模式選定的方法亦可 改變,而再次地這並不會悖離所揭示之本發明精神。 因此,本發明係經良好調適以執行各項目的並獲得所述 結果及優點,連同其他内含者。本發明雖係參照於本發明 各示範性具體實施例所描述、說明及定義,然該等參考並 不未本务明之限制,且未意指其任何限制。熟諳本項技 藝及受惠於本發明之人士應即可按其形式及功能對本發明 可進行相§修改、替換或代以等同。所敘述及說明之本發 明具體實施例僅屬示範性質,而非為窮舉本發明本發明範 圍。因此,經給定完整認知所有方面之等同項目,本發明 僅由後載申請專利範圍之精神及範圍所限。 【圖式簡單說明】 可藉參照於後載說明且併同於各隨附圖式,而更為完整 了解本揭示及其可獲得之優點,其中: 圖1係方塊圖,此圖說明於一傳統式微控制器之一般用 途記憶體中的堆疊實作。 圖2係方塊圖,此圖說明於一根據本發明教示之快速存 96895.doc 200534095 取記憶體堆疊的具體實施例。 ^二方塊圖此圖說明根據本發明教式之文字位移值 定址模式。 ㈣系-流程圖,此圖說明—根據本發明—具體實施例之 模式設計程序。 圖5係-方塊圖,此圖說明一傳統式位址產生單元。 圖:係-方塊圖,此圖說明根據本發明教式,另— 生早兀具體實施例。 本發明雖係受於各種修改及替代形式,然在各圖式十既 已猎㈣方式@心其特Μ範性具體實 :詳細描述。然應了解各特定具體實施例之 = :明限制於所揭示之特定形式,而是相反地本發 盖所有歸屬於如後❹請專利範圍所定義 範圍内的修改結果、等同物項及替代方式。月精神及 【主要元件符號說明】 102 隨機存取記憶體(RAM) 104 軟體堆疊 150 堆疊指標 152 暫存器 154 暫存器 198 暫存器 200 堆疊 206 一般用途記憶體 208 特殊功能暫存器 96895.doc •16· 200534095 210 軟體堆疊 300 隨機存取記憶體(RAM) 302 存取RAM 304 一般用途暫存器 304丨 一般用途暫存器 306 特殊功能暫存器 314 軟體堆疊 315 堆疊指標 400 模式設計方法 404 存取位元經設定? 406 利用標準架構及直接短式定址模式 408 將該指令内之位址解碼 410 位址>05Fh 412 利用直接強制定址模式 416 利用經索引於文字位移值定址模式 418 結束 500 位址產生單元 502 操作碼局部 504 操作碼局部 506 檔案局部 508 多工器(MUX) 509 索引值 510 多工器(MUX) 511 預/後數值 96895.doc -17- 200534095 512 加法器 514 多工器(MUX) 516 W暫存器
521 FSR 522 增量/減量載入數值 600 位址產生單元 602 所取獲指令之文字局部 603 所執行指令之位址局部 609 所獲取指令之檔案數值 614 多工器(MUX) 622 增量/減量/位移值/位移區間值 96895.doc -18-

Claims (1)

  1. 200534095 十、申請專利範圍: 1. 一種用以利用一第一定址模式作為一文字位移值模式之 索引的系統,其中包含: -或多個隨機存取記憶體庫段’藉—庫段選定暫存哭 以選定該等-或多個庫段之―,該記憶體進一步具有一 存取局部; -或多個指令’具有—記憶體中的一位址,該等一或 多個指令中之一或多個指令具有—存取位元; 一堆疊指標; 其中’在吞亥弟一 址模式 、飞下,备该存取位元經設定時 可利用該堆疊指標,以利用哕在 ‘ 〜4存取局部作為一位移值俾 獲得一文字位移值定址模式。 2. 3. 4. 5. 6. 7. St:::取局部_㈣該_ 元被設定為「1」。 元被設定為「〇」。 定址模式為直接短式。 定址模式為直接強制。 如請求項1之系統,其中該存取位 士 σ月求項1之系統,其中該存取位 如請求項1之系統,其中當該第一 如請求項1之系統,其中當該第一 一種方法,其中包含·· 疋〜存取位元是否經設定; =存取位元未經設^,則敎—第-定址模式; σ β存取位元既經設定,則: 將該指令予以解碼以獲得一位址; 决定該位址是否大於一預先設定值; 96895.doc 200534095 如該位址大於該預先設定值,則選定_第二定址模 式,否則選定一第三定址模式。 8· 9· 10. 如請求項7之方法,其中當該第一定址模式為直接短式定 址模式。 如請求項7之方法,其中當該第二定址模式為直接強制定 址模式。 如請求項7之方法,其中當該第三定址模式為索引於文字 位移值定址模式。 96895.doc
TW093132276A 2003-10-24 2004-10-22 Method and system for fast access to stack memory TWI333616B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51402903P 2003-10-24 2003-10-24
US10/969,513 US7401176B2 (en) 2003-10-24 2004-10-20 Method and system for fast access to stack memory

Publications (2)

Publication Number Publication Date
TW200534095A true TW200534095A (en) 2005-10-16
TWI333616B TWI333616B (en) 2010-11-21

Family

ID=34549315

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093132276A TWI333616B (en) 2003-10-24 2004-10-22 Method and system for fast access to stack memory

Country Status (6)

Country Link
US (1) US7401176B2 (zh)
EP (1) EP1680734B1 (zh)
KR (1) KR100965196B1 (zh)
CN (1) CN101084484B (zh)
TW (1) TWI333616B (zh)
WO (1) WO2005043384A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052663A1 (en) * 2006-07-17 2008-02-28 Rod Cope Project extensibility and certification for stacking and support tool
US7971034B2 (en) * 2008-03-19 2011-06-28 International Business Machines Corporation Reduced overhead address mode change management in a pipelined, recycling microprocessor
US8521979B2 (en) 2008-05-29 2013-08-27 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US7979757B2 (en) * 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
US8289760B2 (en) 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US7855931B2 (en) * 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8756486B2 (en) 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US8127204B2 (en) * 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
KR101283469B1 (ko) * 2009-08-31 2013-07-12 한국전자통신연구원 프로세서 명령어의 메모리 액세스 방법 및 장치
US8400808B2 (en) 2010-12-16 2013-03-19 Micron Technology, Inc. Phase interpolators and push-pull buffers
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6058467A (en) * 1998-08-07 2000-05-02 Dallas Semiconductor Corporation Standard cell, 4-cycle, 8-bit microcontroller
US6708268B1 (en) * 1999-03-26 2004-03-16 Microchip Technology Incorporated Microcontroller instruction set

Also Published As

Publication number Publication date
US20050091471A1 (en) 2005-04-28
KR20060120091A (ko) 2006-11-24
CN101084484A (zh) 2007-12-05
TWI333616B (en) 2010-11-21
WO2005043384A1 (en) 2005-05-12
KR100965196B1 (ko) 2010-06-24
CN101084484B (zh) 2010-08-18
US7401176B2 (en) 2008-07-15
EP1680734B1 (en) 2016-12-21
EP1680734A1 (en) 2006-07-19

Similar Documents

Publication Publication Date Title
US9870824B2 (en) Iterator register for structured memory
KR101513380B1 (ko) 구성 정보에 따라 원자 메모리 동작들을 수행하기 위한 방법들 및 메모리들
US7568083B1 (en) Memory mapped register file and method for accessing the same
TWI403954B (zh) 具有指令集之電子系統、微控制器及其指令執行方法
US9858073B2 (en) Processor
US7191318B2 (en) Native copy instruction for file-access processor with copy-rule-based validation
MX2008014048A (es) Predescodificacion de instrucciones de longitud variable.
WO2007134647A1 (en) Move data facility with user selectable address spaces
TW200534095A (en) Method and system for fast access to stack memory
RU2012149004A (ru) Увеличение числа доступных для команд регистров общего назначения
GB2438228A (en) Move data facility with user selectable storage access keys
TW201035756A (en) Microcontroller with linear memory in a banked memory
KR100972160B1 (ko) 데이터 액세스 프로그램 명령 인코딩
EP2215544A1 (en) Enhanced microprocessor or microcontroller
EP2223204B1 (en) System and method of determining an address of an element within a table
JP2000200196A (ja) 拡張命令語を有する中央処理装置
KR20190107691A (ko) 레지스터 리네이밍, 콜-리턴 예측 및 프리페치의 구현
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
US9021238B2 (en) System for accessing a register file using an address retrieved from the register file
US20160098434A1 (en) Hardware accelerator for handling red-black trees
KR200204909Y1 (ko) 분할된 내부 코드 메모리를 갖는 마이크로컨트롤러
JPS61220034A (ja) マイクロプロセツサ
TW201741865A (zh) 增強型低成本微控制器
Sutherland et al. Beginning C++ Game Development with Arrays
JPH02242449A (ja) メモリ素子