TWI421685B - 記憶裝置之定址裝置及方法 - Google Patents
記憶裝置之定址裝置及方法 Download PDFInfo
- Publication number
- TWI421685B TWI421685B TW096138598A TW96138598A TWI421685B TW I421685 B TWI421685 B TW I421685B TW 096138598 A TW096138598 A TW 096138598A TW 96138598 A TW96138598 A TW 96138598A TW I421685 B TWI421685 B TW I421685B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- space
- access
- sub
- access address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明係有關於記憶裝置之定址,尤指一種可使具有較小記憶體定址能力的微控制器能使用較大記憶體的定址裝置及方法。
在電子系統中應用微控制器(microcontroller)(或微處理器(microprocessor))來執行程式或處理資料時,需使用到記憶體或暫存器來暫存資料,一般而言,微控制器僅具有有限的記憶體定址能力,微控制器的記憶體定址能力限制了該微控制器所能使用的記憶體大小,例如,若微控制器的記憶體定址能力為64K大小時,就無法直接定址大於64K位元組的記憶體。當系統的功能日趨複雜之時,微控制器所能使用的記憶體就可能會不敷使用。
然而,若改使用具有較大記憶體定址能力的微控制器,由於其價格昂貴,又會造成電子系統的製造成本大增,不利於製造廠商的價格競爭力。
有鑑於此,本發明之一目的,在於提供一種定址裝置及方法,讓具有較小定址能力的電子裝置可定址具有較大儲存空間之記憶裝置,以降低電子系統的製造成本。
本發明揭露一種定址裝置,用以依據一位址空間(address space)定址具有一儲存空間之記憶裝置。該定址裝置包含位址解碼單元及位址轉換單元。位址解碼單元接收該位址空間中之第一存取位址,並決定是否將第一存取位址映射至該記憶裝置。位址轉換單元耦接至位址解碼單元。當第一存取位址被映射至該記憶裝置時,位址轉換單元依據可調整之第一基底位址(base address),將第一存取位址轉換為該儲存空間之第二存取位址。
本發明另揭露一種定址方法,用以依據一位址空間定址具有一儲存空間之記憶裝置。該定址方法包含下列步驟:接收該位址空間中之第一存取位址;決定是否將第一存取位址映射至該記憶裝置;以及當第一存取位址被映射至該記憶裝置時,依據可調整之第一基底位址,將第一存取位址轉換為該儲存空間中之第二存取位址。
第1圖係本發明之定址裝置之一實施例的方塊圖,其中,定址裝置10可依據位址空間之位址定址一記憶裝置13。位址空間可視為包含複數個位址之集合,位址之數量即為位址空間之大小。位址數量越多,位址空間也越大,反之亦然。位址空間之大小代表定址能力之強弱,定址能力越強,表示所能定址的儲存空間越大,例如,一個64K大小之位址空間具有64K個位址可用來進行定址,而若每個位址對應一個位元組的儲存空間,則該64K之位址空間可定址的儲存空間即為64K位元組。在一較佳實施例中,位址空間所能定址之儲存空間係小於記憶裝置13內之儲存空間,亦即,記憶裝置13內之儲存空間的大小超過位址空間的定址能力。例如,位址空間可能為64K大小(其所包含之位址可以16進位之0000至FFFF來表示),而記憶裝置13之儲存空間可能為64M位元組大小(16進位位址為0000000至3FFFFFF)。換言之,定址裝置10可依據較小之位址空間來定址具有較大儲存空間之記憶裝置13。記憶裝置13可包含動態隨機存取記憶體(DRAM)或快閃記憶體(flash memory)等。第2圖係顯示位址空間20與記憶裝置13之儲存空間23之映射(mapping)關係。如第2圖所示,位址空間20包含不相重疊之第一子位址空間21與第二子位址空間22。第一子位址空間21被映射至儲存空間23中第一基底位址與第一基底位址加上第一單位值兩者之間,第二子位址空間22被映射至儲存空間23中第二基底位址與第二基底位址加上第二單位值兩者之間。第一基底位址與第二基底位址可分別以第一單位值與第二單位值為單位來進行調整。因此,就第一子位址空間21而言,儲存空間23被區分成複數頁(page),而每頁的大小為第一單位值,同理,就第二子位址空間22而言亦是如此,只是每頁的大小為第二單位值。換言之,藉由調整第一基底位址與第二基底位址,可使第一子位址空間21與第二子位址空間22分別映射至儲存空間23之各個位址區間,故定址裝置10可讓具有較小定址能力的電子裝置達到定址較大儲存空間的功效。
此外,第一子位址空間21與第二子位址空間22本身雖不相重疊,但藉由將第一基底位址與第二基底位址兩者調近,可使第一子位址空間21與第二子位址空間22所映射之儲存空間23的位址區間互相重疊。換言之,透過位址空間20之不同的子位址空間,可存取儲存空間23中相同位址的資料,以達到資料共享的功效。
在一較佳實施例中,第二單位值係小於第一單位值,如此儲存空間23可充分被使用。例如,若第一單位值為64K,而第一子位址空間21小於64K,則當第一子位址空間2l映射至儲存空間23時,儲存空間23中每頁(大小為第一單位值64K)就會有部分區間是沒被映射到的。此時,若使用較小的第二單位值(如4K),就可將第二基底位址調整至前述未被映射到的區間,使其被第二子位址空間22所映射,如此,就能透過第二子位址空間22來存取原先未被第一子位址空間21映射的區間,而充分使用儲存空間23。
請再參考第1圖。定址裝置10包含一位址解碼單元11及一位址轉換單元12。位址解碼單元11接收位址空間20中之第一存取位址,並決定是否將第一存取位址映射至記憶裝置13。位址轉換單元12耦接至位址解碼單元11。當第一存取位址被映射至記憶裝置13時,位址轉換單元12會將第一存取位址轉換為儲存空間23中之第二存取位址。
位址解碼單元11包含比較器111與112。比較器111接收第一子儲存空間21之下限位址及上限位址(稱為第一下限位址及第一上限位址),分別與第一存取位址做比較,若第一存取位址介於第一下限位址及第一上限位址之間,代表第一存取位址屬於第一子位址空間21,位址解碼單元11會將第一存取位址送至位址轉換單元12進行轉換,以映射至記憶裝置13。比較器112則接收第二子位址空間22之下限位址及上限位址(稱為第二下限位址及第二上限位址),分別與第一存取位址做比較,若第一存取位址介於第二下限位址及第二上限位址之間,代表第一存取位址屬於第二子位址空間22,位址解碼單元11會將第一存取位址送至位址轉換單元12進行轉換,以映射至記憶裝置13。
當第一存取位址屬於第一子位址空間21時,位址轉換單元12依據第一基底位址,將第一存取位址轉換為第二存取位址,例如,第二存取位址係為第一基底位址加上第一存取位址或其一部份(如第一存取位址之複數個最低位元(least significant bit));當第一存取位址屬於第二子位址空間22時,位址轉換單元12依據第二基底位址,將第一存取位址轉換為第二存取位址,例如,第二存取位址係為第二基底位址加上第一存取位址或其一部份。
在一實施例中,第一存取位址係由一具有定址位址空間20能力之微控制器(圖未顯示)所提供,記憶裝置13則包含一動態隨機存取記憶體控制器(DRAM controller)及一動態隨機存取記憶體(圖未顯示)。在位址空間20中,除了映射至記憶裝置13之第一子位址空間21與第二子位址空間22外,其餘之子位址空間24則不需進行位址轉換,直接定址至其他功能方塊,如微控制器內部之靜態隨機存取記憶體(SRAM)或存放系統各項運作資訊之暫存器(例如,存放第一與第二基底位址、第一與第二下限位址及第一與第二上限位址)。因此,位址解碼單元11會判斷微控制器送入之第一存取位址是屬於位址空間20的哪一區塊(第一子位址空間21、第二子位址空間22或子位址空間24),再進行對應之定址動作。另外,動態隨機存取記憶體控制器則依據位址轉換單元12所提供之第二存取位址,以產生動態隨機存取記憶體之實體位址,對動態隨機存取記憶體進行存取。
第3圖係本發明之定址方法之一實施例的流程圖。該定址方法可依據位址空間之位址定址一記憶裝置。位址空間可定址之儲存空間係小於該記憶裝置內之儲存空間,且位址空間包含不相重疊之第一子位址空間與第二子位址空間。該定址方法包含下列步驟:步驟30:接收位址空間中之第一存取位址。
步驟31:當第一存取位址屬於第一子位址空間或第二子位址空間時,將第一存取位址映射至該記憶裝置。
步驟32:當第一存取位址屬於第一子位址空間時,依據可調整之第一基底位址,將第一存取位址轉換為該記憶裝置之儲存空間之第二存取位址。
步驟33:當第一存取位址屬於第二子位址空間時,依據可調整之第二基底位址,將第一存取位址轉換為該記憶裝置之儲存空間之第二存取位址。
第一基底位址係依據第一單位值進行調整,第二基底位址係依據第二單位值進行調整。第二單位值係小於第一單位值。
在一實施例中,步驟32係將第一基底位址加上第一存取位址或其一部份(如第一存取位址之複數個最低位元),以產生第二存取位址;步驟33係將第二基底位址加上第一存取位址或其一部份,以產生第二存取位址。
以上所述係利用較佳實施例詳細說明本發明,而非限制本發明之範圍。凡熟知此類技藝人士皆能明瞭,可根據以上實施例之揭示而做出諸多可能變化,仍不脫離本發明之精神和範圍。
10...定址裝置
11...位址解碼單元
111、112...比較器
12...位址轉換單元
13...記憶裝置
20...位址空間
21...第一子位址空間
22...第二子位址空間
23...儲存空間
24...其餘子位址空間
30~33...定址方法之一實施例的流程
第1圖係本發明之定址裝置之一實施例的方塊圖。
第2圖係顯示第1圖之位址空間與記憶裝置內之儲存空間之映射關係。
第3圖係本發明之定址方法之一實施例的流程圖。
10...定址裝置
11...位址解碼單元
111、112...比較器
12...位址轉換單元
13...記憶裝置
Claims (10)
- 一種定址裝置,用以依據一位址空間定址一記憶裝置,該記憶裝置具有一儲存空間,該定址裝置包含:一位址解碼單元,接收該位址空間中之一第一存取位址,並決定是否將該第一存取位址映射至該記憶裝置;以及一位址轉換單元,耦接至該位址解碼單元,當該第一存取位址被映射至該記憶裝置時,該位址轉換單元依據一可調整之第一基底位址,將該第一存取位址轉換為該儲存空間之一第二存取位址;其中,該位址空間係包含不相重疊之一第一子位址空間與一第二子位址空間,當該第一存取位址屬於該第一子位址空間時,該位址轉換單元依據該第一基底位址,將該第一存取位址轉換為一相對應之第二存取位址;而當該第一存取位址屬於該第二子位址空間時,該位址轉換單元依據該第二基底位址,將該第一存取位址轉換為另一相對應之第二存取位址;其中,該第一子位址空間與該第二子位址空間所映射之該記憶裝置之儲存空間係互相重疊;其中,該第一基底位址乃依據一第一單位值進行調整;該第二基底位址乃依據一第二單位值進行調整,且該第二單位值係小於該第一單位值;其中,該位址空間可定址之儲存空間小於該記憶裝置之儲存空間。
- 如申請專利範圍第1項所述之定址裝置,其中該第二存取位 址係為該第一基底位址加上該第一存取位址或該第一存取位址之一部分。
- 如申請專利範圍第1項所述之定址裝置,其中該位址解碼單元包含:一比較器,用以將該第一存取位址與該第一子位址空間之一下限位址及一上限位址分別比較。
- 如申請專利範圍第1項所述之定址裝置,其中當該第一存取位址屬於該第一子位址空間時,該第二存取位址係為該第一基底位址加上該第一存取位址或該第一存取位址之一部分;當該第一存取位址屬於該第二子位址空間時,該第二存取位址係為該第二基底位址加上該第一存取位址或該第一存取位址之一部分。
- 如申請專利範圍第1項所述之定址裝置,其中該位址解碼單元包含:一第一比較器,用以將該第一存取位址與該第一子位址空間之一下限位址及一上限位址分別比較;以及一第二比較器,用以將該第一存取位址與該第二子位址空間之一下限位址及一上限位址分別比較。
- 一種定址方法,用以依據一包含不相重疊之一第一子位址空間與一第二子位址空間之位址空間定址一具有一儲存空間之記憶裝置,該定址方法包含下列步驟:定義一可調整之第一基底位址,乃依據一第一單位值進行調整;定義一可調整之第二基底位址,乃依據一第二單位值進行 調整,且該第二單位值係小於該第一單位值;接收該位址空間中之一第一存取位址;以及決定是否將該第一存取位址映射至該記憶裝置之一相對應之第二存取位址;其中,當該第一存取位址屬於該第一子位址空間時,乃依據該第一基底位址,將該第一存取位址轉換為該第二存取位址;而當該第一存取位址屬於該第二子位址空間時,乃依據該第二基底位址,將該第一存取位址轉換為另一相對應之該第二存取位址;其中,該第一子位址空間與該第二子位址空間所映射之該記憶裝置之儲存空間係互相重疊;其中,該位址空間可定址之儲存空間小於該記憶裝置之儲存空間。
- 如申請專利範圍第6項所述之定址方法,其中該第二存取位址係為該第一基底位址加上該第一存取位址或該第一存取位址之一部分。
- 如申請專利範圍第6項所述之定址方法,其中當該第一存取位址屬於該第一子位址空間時,該第二存取位址係為該第一基底位址加上該第一存取位址或該第一存取位址之一部分;當該第一存取位址屬於該第二子位址空間時,該第二存取位址係為該第二基底位址加上該第一存取位址或該第一存取位址之一部分。
- 如申請專利範圍第1項所述之定址裝置,其中對應該第一子位址空間之該記憶裝置之儲存空間係被區分為複數頁,其每 頁的大小為該第一單位值;而對應該第二子位址空間之該記憶裝置之儲存空間係被區分為複數頁,其每頁的大小為該第二單位值。
- 如申請專利範圍第6項所述之定址方法,其中對應該第一子位址空間之該記憶裝置之儲存空間係被區分為複數頁,其每頁的大小為該第一單位值;而對應該第二子位址空間之該記憶裝置之儲存空間係被區分為複數頁,其每頁的大小為該第二單位值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096138598A TWI421685B (zh) | 2007-10-16 | 2007-10-16 | 記憶裝置之定址裝置及方法 |
US12/287,961 US8762683B2 (en) | 2007-10-16 | 2008-10-15 | Device and method for memory addressing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096138598A TWI421685B (zh) | 2007-10-16 | 2007-10-16 | 記憶裝置之定址裝置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200919182A TW200919182A (en) | 2009-05-01 |
TWI421685B true TWI421685B (zh) | 2014-01-01 |
Family
ID=40535339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096138598A TWI421685B (zh) | 2007-10-16 | 2007-10-16 | 記憶裝置之定址裝置及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8762683B2 (zh) |
TW (1) | TWI421685B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102060996B1 (ko) | 2013-01-07 | 2020-02-11 | 삼성전자주식회사 | 단말기의 메모리 주소 및 데이터변환 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW376477B (en) * | 1995-10-09 | 1999-12-11 | Holtek Semiconductor Inc | Method and device for expanding memory space |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR122199A (zh) * | 1973-12-17 | |||
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
US5611065A (en) * | 1994-09-14 | 1997-03-11 | Unisys Corporation | Address prediction for relative-to-absolute addressing |
US5699542A (en) * | 1994-09-30 | 1997-12-16 | Intel Corporation | Address space manipulation in a processor |
CN1149185A (zh) | 1995-10-13 | 1997-05-07 | 合泰半导体股份有限公司 | 存储器空间的扩充方法与装置 |
JP3208332B2 (ja) * | 1995-12-20 | 2001-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割込み装置 |
US5696927A (en) * | 1995-12-21 | 1997-12-09 | Advanced Micro Devices, Inc. | Memory paging system and method including compressed page mapping hierarchy |
US5757690A (en) * | 1997-04-23 | 1998-05-26 | Exponential Technology, Inc. | Embedded ROM with RAM valid bits for fetching ROM-code updates from external memory |
US6233667B1 (en) * | 1999-03-05 | 2001-05-15 | Sun Microsystems, Inc. | Method and apparatus for a high-performance embedded memory management unit |
GB2373595B (en) * | 2001-03-15 | 2005-09-07 | Italtel Spa | A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol |
US7110413B2 (en) * | 2001-12-31 | 2006-09-19 | Hewlett-Packard Development Company | Downstream broadcast PCI switch |
US20030204702A1 (en) * | 2002-04-30 | 2003-10-30 | Adc Dsl Systems, Inc. | Flexible memory architecture for an embedded processor |
US7496713B1 (en) * | 2004-07-21 | 2009-02-24 | Sun Microsystems, Inc. | Method and apparatus for maintaining cache coherency in a memory system with shared only cache memories |
KR100611305B1 (ko) * | 2004-11-25 | 2006-08-10 | 삼성전자주식회사 | 주소 맵핑 방법 및 장치 |
US7447869B2 (en) * | 2005-04-07 | 2008-11-04 | Ati Technologies, Inc. | Method and apparatus for fragment processing in a virtual memory system |
JP2006293663A (ja) | 2005-04-11 | 2006-10-26 | Sanyo Electric Co Ltd | メモリアドレス生成装置及びそれを有したプロセッサ、メモリアドレス生成方法 |
-
2007
- 2007-10-16 TW TW096138598A patent/TWI421685B/zh not_active IP Right Cessation
-
2008
- 2008-10-15 US US12/287,961 patent/US8762683B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW376477B (en) * | 1995-10-09 | 1999-12-11 | Holtek Semiconductor Inc | Method and device for expanding memory space |
Also Published As
Publication number | Publication date |
---|---|
TW200919182A (en) | 2009-05-01 |
US8762683B2 (en) | 2014-06-24 |
US20090100245A1 (en) | 2009-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8072463B1 (en) | Graphics system with virtual memory pages and non-power of two number of memory elements | |
JP2009503729A5 (zh) | ||
US10324651B2 (en) | Data transmission method, and storage controller and list management circuit using the same | |
JPH1091525A (ja) | 変換索引バッファ及びメモリ管理システム | |
US7884829B1 (en) | Partitioned graphics memory supporting non-power of two number of memory elements | |
US7310698B2 (en) | Method and apparatus for extending memory addressing | |
JP2005501300A (ja) | 仮想メモリ配列内のデータにアクセスするための配列および方法 | |
TWI421685B (zh) | 記憶裝置之定址裝置及方法 | |
TWI407310B (zh) | 資料儲存裝置及資料存取方法 | |
TWI744111B (zh) | 查找表建立暨記憶體位址查詢方法、主機記憶體位址查找表建立方法與主機記憶體位址查詢方法 | |
US20050066146A1 (en) | Endian conversion | |
US20050071595A1 (en) | Methods and apparatus for allocating memory | |
US6985974B1 (en) | Memory interface controller for a network device | |
CN100351813C (zh) | 数字信号处理系统中访问存储单元的方法及其处理系统 | |
KR101707927B1 (ko) | 메모리 시스템 및 그 운용방법 | |
JP5958195B2 (ja) | 仮想記憶管理システム、仮想記憶管理装置、仮想記憶初期化方法および仮想記憶初期化プログラム | |
CN110362509B (zh) | 统一地址转换方法与统一地址空间 | |
US20200272576A1 (en) | Accelerating Access to Memory Banks in a Data Storage System | |
US6526459B1 (en) | Allocation of input/output bus address space to native input/output devices | |
CN101419570B (zh) | 记忆装置的定址装置和方法 | |
TWI467385B (zh) | 在兩匯流排間進行序列位址位元轉換之方法及其裝置 | |
JPH04288643A (ja) | マルチプロセッサシステムのメモリマッピング方式 | |
TWI402673B (zh) | 記憶體控制器件和資訊處理裝置 | |
CN110825658A (zh) | 闪存控制器及方法 | |
JP4150888B2 (ja) | アドレス変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |