[go: up one dir, main page]

TWI743611B - 處理裝置與其資料存取方法 - Google Patents

處理裝置與其資料存取方法 Download PDF

Info

Publication number
TWI743611B
TWI743611B TW108144220A TW108144220A TWI743611B TW I743611 B TWI743611 B TW I743611B TW 108144220 A TW108144220 A TW 108144220A TW 108144220 A TW108144220 A TW 108144220A TW I743611 B TWI743611 B TW I743611B
Authority
TW
Taiwan
Prior art keywords
register
unit
extended
temporary storage
address
Prior art date
Application number
TW108144220A
Other languages
English (en)
Other versions
TW202123013A (zh
Inventor
李柏誼
蔡德宗
田志新
Original Assignee
新唐科技股份有限公司
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 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW108144220A priority Critical patent/TWI743611B/zh
Priority to CN201911362908.6A priority patent/CN112905234B/zh
Publication of TW202123013A publication Critical patent/TW202123013A/zh
Application granted granted Critical
Publication of TWI743611B publication Critical patent/TWI743611B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

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)

Abstract

一種處理裝置,包括處理單元、暫存器單元與儲存單元。處理單元執行定址指令,以產生定址位址。暫存器單元耦接處理單元,且暫存器單元具有多個暫存位址及資料指標。儲存單元耦接處理單元,且儲存單元定義有擴充暫存器空間,擴充暫存器空間具有多個擴充暫存位址。處理單元將定址位址填入資料指標,以將暫存器單元的暫存位址與儲存單元的擴充暫存位址進行映射,使處理單元透過暫存位址直接對擴充暫存位址的資料進行存取操作。

Description

處理裝置與其資料存取方法
本發明實施例關於一種處理裝置,特別是關於一種處理裝置與其資料存取方法。
微控制單元(Micro Control Unit, MCU)是一種將中央處理器、記憶體、暫存器、計數器及輸出/入介面等元件通通匯集在同一塊積體電路晶片上之微型電腦。一般的微控制單元,透過隨機存取記憶體(Random Access Memory, RAM)及特殊功能暫存器(Special Function Register, SFR)來儲存微控制單元運作過程中所產生之資料,藉以令中央處理器所發出之指令能夠被順利執行。
第1圖為微控制單元之隨機存取記憶體及特殊功能暫存器的位址示意圖。以單晶片8051的微控制單元為例,微控制單元內部之隨機存取記憶體100具有256個位元組(byte),以十六進制的定址空間來說,即為00H到FFH。然而,如第1圖所示,在位址80H到位址FFH的定址空間內,隨機存取記憶體110與特殊功能暫存器120為重疊狀態。也就是說,特殊功能暫存器120的儲存空間僅具有128個位元組。隨著微控制單元的應用越來越廣,需要擴增周邊功能的需求也越來越多,如此會使得特殊功能暫存器120不敷使用。因此,如何擴充暫存器的使用功能將成為各家廠商亟欲研究的課題。
本發明實施例提供一種處理裝置與其資料存取方法,藉以擴充處理裝置之暫存器的使用功能,並減少資料存取操作之指令的大小、加快暫存器之資料讀寫的速度及效率以及增加使用上的便利性。
本發明實施例提供一種處理裝置,包括處理單元、暫存器單元與暫存器單元。處理單元執行定址指令,以產生定址位址。暫存器單元耦接處理單元,且暫存器單元具有多個暫存位址及資料指標。儲存單元耦接處理單元,且儲存單元定義有擴充暫存器空間,擴充暫存器空間具有多個擴充暫存位址。處理單元將定址位址填入資料指標,以將暫存器單元的暫存位址與儲存單元的擴充暫存位址進行映射,使處理單元透過暫存位址直接對擴充暫存位址的資料進行存取操作。
本發明實施例提供一種處理裝置的資料存取方法,包括下列步驟。提供儲存單元,其中儲存單元定義有擴充暫存器空間,擴充暫存器空間具有多個擴充暫存位址。透過處理單元,執行定址指令,以產生定址位址。透過處理單元將定址位址填入暫存器單元的資料指標,以將暫存器單元的多個暫存位址與儲存單元的擴充暫存位址進行映射,使處理單元透過暫存位址直接對擴充暫存位址的資料進行存取。
本發明實施例所揭露之處理裝置與其資料存取方法,透過儲存單元定義有擴充暫存器空間,且擴充暫存器空間具有多個擴充暫存位址。接著,透過處理單元執行定址指令,以產生定址位址,並將定址位址填入暫存器單元的資料指標,以將暫存器單元的暫存位址與儲存單元的擴充暫存位址進行映射,使得處理單元可以透過暫存位址直接對擴充暫存位址的資料進行存取。如此一來,可以有效地擴充處理裝置之暫存器的使用功能,並減少資料存取操作之指令的大小、加快暫存器之資料讀寫的速度及效率以及增加使用上的便利性。
在以下所列舉的各實施例中,將以相同的標號代表相同或相似的元件或組件。
第2圖為依據本發明之一實施例之處理裝置的示意圖。在本實施例中,處理裝置200可以是單晶片8051的微控制單元(Micro Control Unit,MCU)。請參考第2圖,處理裝置200包括處理單元210、暫存器單元220與儲存裝置230。
處理單元210執行定址指令,以產生定址位址。其中,定址位址例如為0x8000、0x8100等,但本發明實施例不限於此。在本實施例中,處理單元210例如為中央處理單元(Central Processing Unit,CPU)。
暫存器單元220耦接處理單元210。進一步來說,暫存器單元220例如透過一暫存器資料匯流排(圖未示)耦接處理單元210,使處理單元210可以與暫存器單元220進行資料傳輸。
另外,暫存器單元220具有多個暫存位址及資料指標(Data Pointer)。其中,暫存器位址例如為80H到FFH,且暫存器單元220的儲存空間例如為128位元組。在本實施例中,暫存器單元220例如為特殊功能暫存器(Special Function Register,SFR),可以對應於第1圖之特殊功能暫存器120。
另外,暫存器單元220主要由處理裝置200中的多個儲存空間所組成,每一儲存空間皆可執行不同之暫存器功用,例如計時計數器(TCON)等。其中,某些功能直接對應至處理單元210之指令集,因此上述功能之儲存空間被視為存在於處理單元210之內部。
儲存單元230耦接處理單元210。進一步來說,儲存單元230例如透過一記憶體匯流排240與處理單元210耦接。其中,上述記憶體匯流排240例如包括定址匯流排ABUS、資料匯流排DBUS、寫入匯流排WBUS、讀取匯流排RBUS。
另外,處理單元210例如透過定址匯流排ABUS對儲存單元230進行定址。處理單元210例如透過資料匯流排DBUS對儲存單元230進行資料傳輸。處理單元210例如透過寫入匯流排WBUS將寫入指令傳送至儲存單元230,以便對儲存單元230的資料進行寫入。處理單元210例如讀取匯流排RBUS將讀取指令傳送至儲存單元230,以便對儲存單元230的資料進行讀取。
此外,儲存單元230定義有擴充暫存器空間231,擴充暫存器空間231具有多個擴充暫存位址,其中擴充暫存位址例如為0FFFH~FFFFH,且擴充暫存器空間231例如為4KB~64KB。在本實施例中,儲存單元230可為外部記憶體,例如隨機存取記憶體(Random Access Memory, RAM),但不以此為限。另外,擴充暫存器空間231例如為特殊功能暫存器(SRF)空間。
另外,在處理單元210產生定址位址後,處理單元210會將定址位址填入暫存器單元220的資料指標中,以將暫存器單元220的暫存位址與儲存單元230之擴充暫存器空間231的擴充暫存位址進行映射。
舉例來說,在一些實施例中,假設處理單元210填入暫存器單元220之資料指標中的定址位址為0x8000,以將暫存器單元220之暫存位址與儲存單元230之擴充暫存器空間231的擴充暫存位址進行映射。
例如,將暫存器單元220之暫存位址所對應的暫存器的Extend 0~Extend 99映射到儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000~0x8099,如表1所示。此時,擴充暫存器空間231例如為100位元組(B)。
Figure 108144220-A0305-02-0008-1
另外,在一些實施例中,假設處理單元210填入暫存器單元220之資料指標中的定址位址為0x8100,以將暫存器單元220的暫存位址與儲存單元230之擴充暫存器空間231的擴充暫存位址進行映射。
例如,將暫存器單元220之暫存位址所對應的暫存器 Extend 0~Extend 99映射到儲存單元230之擴充暫存器空間231的擴充暫存位址0x8100H~0x8199H,如表1所示。此時,擴充暫存器空間231例如為100位元組。其餘定址位址的設定與其暫存器單元220之暫存位址與儲存單元230之擴充暫存器空間231之擴充暫存位址的映射關係則類推,故在此不再贅述。
接著,在暫存器單元220的暫存位址與儲存單元230之擴充暫存器空間231的擴充暫存位址映射完成後,處理單元210透過暫存器單元220的暫存位址直接對儲存單元230之擴充暫存器空間231的擴充暫存位址的資料進行存取操作。
舉例來說,在一些實施例中,假設處理單元210欲對暫存器單元220之暫存位址84H(例如暫存器)進行存取操作,例如對暫存器單元220之暫存位址84H所對應的暫存器Extend 0。接著,處理單元210會依據資料指標所指定的映射關係,透過定址匯流排ABUS直接定址到儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000。
之後,處理單元210可以透過寫入匯流排WBUS傳送寫入指令至儲存單元230,並透過資料匯流排DBUS對儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000H進行寫入操作,亦即將資料寫入儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000H。
另外,處理單元210可以透過讀取匯流排WBUS傳送讀取指令至儲存單元230,並透過資料匯流排DBUS對儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000H進行讀取操作,亦即將資料由儲存單元230之擴充暫存器空間231的擴充暫存位址0x8000H讀出。
在一些實施例中,假設處理單元210欲對暫存器單元220之暫存位址C0H進行存取操作,例如對暫存器單元220之暫存位址C0H所對應的暫存器Extend 45。接著,處理單元210會依據資料指標所指定的映射關係,透過定址匯流排ABUS直接定址到儲存單元230之擴充暫存器空間231的擴充暫存位址0x8045H。
之後,處理單元210可以透過寫入匯流排WBUS傳送寫入指令至儲存單元230,並透過資料匯流排DBUS對儲存單元230之擴充暫存器空間231的擴充暫存位址0x8045H進行寫入操作,亦即將資料寫入儲存單元230之擴充暫存器空間231的擴充暫存位址0x8045H。
另外,處理單元210可以透過讀取匯流排WBUS傳送讀取指令至儲存單元230,並透過資料匯流排DBUS對儲存單元230之擴充暫存器空間231的擴充暫存位址0x8045H進行讀取操作,亦即將資料由儲存單元230之擴充暫存器空間231的擴充暫存位址0x8045H讀出。其餘擴充暫存位址的存取操作可參考如上實施例的說明,故在此不再贅述。
進一步來說,暫存器單元220的暫存位址例如具有位元定址(bit addressable)功能。另外,上述具有位元定址功能的暫存位址例如包括暫存器單元220的位址80H、88H、90H、98H、A0H、A8H、B0H、B8H、C0H、C8H、D0H、D8H、E0H、E8H、F0H及F8H。如表1所示,暫存位址C0H、D8H、E8H、F8H所對應之暫存器Extend 45、Extend 62、Extend 77、Extend 92可以視為具有位元定址功能的暫存器。
當然地,表1僅示出暫存位址C0H、D8H、E8H、F8H具有位元定址功能(即暫存器Extend 45、Extend 62、Extend 77、Extend 92為具有位元定址功能的暫存器),其為本發明實施例的一種實施範例,不用於限制本發明實施例的形式。使用者可視其需求自行調整具有位元定址功能之暫存位址的數量,亦即可增加具有位元定址功能的暫存器的數量,以擴充處理裝置200之暫存器的使用功能。
另外,具有位元定址功能之暫存位址所對應之儲存單元230之擴充暫存器空間231的擴充暫存位址,可以加快處理單元210對儲存單元230之擴充暫存器空間231的擴充暫存位址的資料的存取操作的速度。如此一來,更可有效地加快資料存取的速度及效率,以增加使用上的便利性。
此外,傳統的微控制單元對外部記憶體進行資料存取的方式為:微控制器單元的中央處理器對外部記憶體的資料進行存取操作時,需要將外部記憶體的資料搬移至中央處理器的核中進行處理,且資料處理完成後,中央處理器再將資料搬移至外部記憶體中。
相對如上之傳統的方法來說,本發明實施例之中央處理單元210將定址位址填入資料指標中,並依據資料指標所指示的映射關係,將暫存器單元220之暫存位址直接定址到儲存單元230之擴充暫存器空間231的擴充暫存位址,以便直接對擴充暫存位址的資料進行存取操作。如此一來,本發明實施例無需將資料進行搬移的方式,可有效地減少資料存取操作之指令的大小,以加快資料存取的速度及效率,並增加使用上的便利性。
藉由上述實施例的說明,本發明另提出一種處理裝置的資料存取方法。第3圖為依據本發明之一實施例之處理裝置的資料存取方法的流程圖。在步驟S302中,提供儲存單元,其中儲存單元定義有擴充暫存器空間,擴充暫存器空間具有多個擴充暫存位址。
在步驟S304中,透過處理單元,執行定址指令,以產生定址位址。在步驟S306中,透過處理單元將定址位址填入暫存器單元的資料指標,以將暫存器單元的多個暫存位址與儲存單元的擴充暫存位址進行映射,使處理單元透過暫存位址直接對擴充暫存位址的資料進行存取。
在本實施例中,暫存器單元為特殊功能暫存器,儲存單元為隨機存取記憶體,擴充暫存器空間為特殊功能暫存器空間。另外,上述暫存位址具有位元定址功能。此外,上述暫存位址包括暫存器單元的位址80H、88H、90H、98H、A0H、A8H、B0H、B8H、C0H、C8H、D0H、D8H、E0H、E8H、F0H及F8H。
綜上所述,本發明實施例所揭露之處理裝置與其資料存取方法,透過儲存單元定義有擴充暫存器空間,且擴充暫存器空間具有多個擴充暫存位址。接著,透過處理單元執行定址指令,以產生定址位址,並將定址位址填入暫存器單元的資料指標,以將暫存器單元的暫存位址與儲存單元的擴充暫存位址進行映射,使得處理單元可以透過暫存位址直接對擴充暫存位址的資料進行存取。如此一來,可以有效地擴充處理裝置之暫存器的使用功能,並減少資料存取操作之指令的大小、加快暫存器之資料讀寫的速度及效率以及增加使用上的便利性。
本發明雖以實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110:隨機存取記憶體 120:特殊功能暫存器 200:處理裝置 210:處理單元 220:暫存器單元 230:儲存單元 231:擴充暫存器空間 240:記憶體匯流排 ABUS:位址匯流排 DBUS:資料匯流排 WBUS:寫入匯流排 RBUS:讀取匯流排 00H、70H、80H、FFH、0000H:位址 0FFFH~FFFFH:擴充暫存位址 S302~S306:步驟
第1圖為微控制單元之隨機存取記憶體及特殊功能暫存器的位址示意圖。 第2圖為依據本發明之一實施例之處理裝置的示意圖。 第3圖為依據本發明之一實施例之處理裝置的資料存取方法的流程圖。
200:處理裝置 210:處理單元 220:暫存器單元 230:儲存單元 231:擴充暫存器空間 240:記憶體匯流排 ABUS:位址匯流排 DBUS:資料匯流排 WBUS:寫入匯流排 RBUS:讀取匯流排 80H、FFH、0000H:位址 0FFFH~FFFFH:擴充暫存位址

Claims (10)

  1. 一種處理裝置,包括: 一處理單元,執行一定址指令,以產生一定址位址; 一暫存器單元,耦接該處理單元,且該暫存器單元具有多個暫存位址及一資料指標;以及 一儲存單元,耦接該處理單元,且該儲存單元該定義有一擴充暫存器空間,該擴充暫存器空間具有多個擴充暫存位址; 其中,該處理單元將該定址位址填入該資料指標,以將該暫存器單元的該些暫存位址與該儲存單元的該些擴充暫存位址進行映射,使該處理單元透過該些暫存位址直接對該些擴充暫存位址的資料進行一存取操作。
  2. 如申請專利範圍第1項所述之處理裝置,其中該暫存器單元為一特殊功能暫存器。
  3. 如申請專利範圍第1項所述之處理裝置,其中該儲存單元為一隨機存取記憶體,該擴充暫存器空間為一特殊功能暫存器空間。
  4. 如申請專利範圍第1項所述之處理裝置,其中該些暫存位址具有位元定址功能。
  5. 如申請專利範圍第4項所述之處理裝置,其中該些暫存位址包括該暫存器單元的位址80H、88H、90H、98H、A0H、A8H、B0H、B8H、C0H、C8H、D0H、D8H、E0H、E8H、F0H及F8H。
  6. 一種處理裝置的資料存取方法,包括: 提供一儲存單元,其中該儲存單元定義有一擴充暫存器空間,該擴充暫存器空間具有多個擴充暫存位址; 透過一處理單元,執行一定址指令,以產生一定址位址; 透過該處理單元將該定址位址填入一暫存器單元的一資料指標,以將該暫存器單元的多個暫存位址與該儲存單元的該些擴充暫存位址進行映射,使該處理單元透過該些暫存位址直接對該些擴充暫存位址的資料進行存取。
  7. 如申請專利範圍第6項所述之處理裝置的資料存取方法,其中該暫存器單元為一特殊功能暫存器。
  8. 如申請專利範圍第6項所述之處理裝置的資料存取方法,其中該儲存單元為一隨機存取記憶體,該擴充暫存器空間為一特殊功能暫存器空間。
  9. 如申請專利範圍第6項所述之處理裝置的資料存取方法,其中該些暫存位址具有位元定址功能。
  10. 如申請專利範圍第9項所述之處理裝置的資料存取方法,其中該些暫存位址包括該暫存器單元的位址80H、88H、90H、98H、A0H、A8H、B0H、B8H、C0H、C8H、D0H、D8H、E0H、E8H、F0H及F8H。
TW108144220A 2019-12-04 2019-12-04 處理裝置與其資料存取方法 TWI743611B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108144220A TWI743611B (zh) 2019-12-04 2019-12-04 處理裝置與其資料存取方法
CN201911362908.6A CN112905234B (zh) 2019-12-04 2019-12-26 处理装置与其数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108144220A TWI743611B (zh) 2019-12-04 2019-12-04 處理裝置與其資料存取方法

Publications (2)

Publication Number Publication Date
TW202123013A TW202123013A (zh) 2021-06-16
TWI743611B true TWI743611B (zh) 2021-10-21

Family

ID=76110870

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108144220A TWI743611B (zh) 2019-12-04 2019-12-04 處理裝置與其資料存取方法

Country Status (2)

Country Link
CN (1) CN112905234B (zh)
TW (1) TWI743611B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003102B2 (en) * 2011-08-26 2015-04-07 Sandisk Technologies Inc. Controller with extended status register and method of use therewith
TWI499973B (zh) * 2009-09-30 2015-09-11 Intel Corp 利用暫存器擴充來管理與施用中央處理單元中之元資料的技術
TW201723856A (zh) * 2015-11-30 2017-07-01 英特爾Ip公司 用於亂序處理器中依序處置之指令與邏輯
US10048881B2 (en) * 2016-07-11 2018-08-14 Intel Corporation Restricted address translation to protect against device-TLB vulnerabilities

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1277199C (zh) * 2002-11-28 2006-09-27 华邦电子股份有限公司 加速处理器读写暂存器的方法及装置
TWI259398B (en) * 2004-02-04 2006-08-01 Sunplus Technology Co Ltd Device and method using operation mode in processor to switch register
CN100397333C (zh) * 2004-07-07 2008-06-25 群联电子股份有限公司 内含中央处理单元的可扩充集成电路及其方法
US20180165097A1 (en) * 2016-12-14 2018-06-14 Palo Alto Research Center Incorporated Dispatch of processor read results

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI499973B (zh) * 2009-09-30 2015-09-11 Intel Corp 利用暫存器擴充來管理與施用中央處理單元中之元資料的技術
US9003102B2 (en) * 2011-08-26 2015-04-07 Sandisk Technologies Inc. Controller with extended status register and method of use therewith
TW201723856A (zh) * 2015-11-30 2017-07-01 英特爾Ip公司 用於亂序處理器中依序處置之指令與邏輯
US10048881B2 (en) * 2016-07-11 2018-08-14 Intel Corporation Restricted address translation to protect against device-TLB vulnerabilities

Also Published As

Publication number Publication date
CN112905234B (zh) 2024-02-20
TW202123013A (zh) 2021-06-16
CN112905234A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN101236487B (zh) 存储器子系统的多字元储存/读取方法以及其电路
CN106326134B (zh) Ftl地址映射的方法及装置
US11467764B2 (en) NVMe-based data read method, apparatus, and system
JP4901285B2 (ja) 読み出し性能を向上させることができるメモリカード
CN104781801A (zh) 使固态驱动器配置成采用存储模式或存储器模式操作的技术
CN108139981A (zh) 一种页表缓存tlb中表项的访问方法,及处理芯片
TW202006551A (zh) 資料存取控制裝置及方法以及電腦程式產品
CN107045423B (zh) 存储器装置及其数据存取方法
US10866755B2 (en) Two stage command buffers to overlap IOMMU map and second tier memory reads
TWI743611B (zh) 處理裝置與其資料存取方法
CN117827417A (zh) 一种内存管理方法和相关设备
CN102566973A (zh) 多核异构系统指令存储单元的动态分配方法
CN108959105B (zh) 一种实现地址映射的方法及装置
EP3819771A1 (en) Data processing method and device, apparatus, and system
CN112035380B (zh) 一种数据处理方法、装置、设备及可读存储介质
CN113031854B (zh) 一次性可编程存储器装置及其容错方法
CN105373421A (zh) 终端和终端中处理数据的方法
CN108694126A (zh) 用于重映射待决位阵列读取请求的技术
CN114780445B (zh) 一种地址重映射系统、方法及电子设备
JPS60205644A (ja) メモリアドレス拡張方式
CN201348778Y (zh) 一种信息处理系统
JPS593652A (ja) ハ−ド論理シミユレ−タ装置
CN100483538C (zh) 芯片初始化方法
TWI663513B (zh) 具有彈性資料傳輸介面的記憶體裝置與其方法
CN117592416A (zh) 一种可实现块状数据访问的循环fifo的仿真方法