处理装置与其数据存取方法
文献发布时间:2023-06-19 11:16:08
技术领域
本发明实施例关于一种处理装置,特别是关于一种处理装置与其数据存取方法。
背景技术
微控制单元(Micro Control Unit,MCU)是一种将中央处理器、存储器、暂存器、计数器及输出/入介面等元件通通汇集在同一块积体电路晶片上的微型电脑。一般的微控制单元,通过随机存取存储器(Random Access Memory,RAM)及特殊功能暂存器(SpecialFunction Register,SFR)来储存微控制单元运作过程中所产生的数据,藉以令中央处理器所发出的指令能够被顺利执行。
图1为微控制单元的随机存取存储器及特殊功能暂存器的位址示意图。以单晶片8051的微控制单元为例,微控制单元内部的随机存取存储器100具有256个位元组(byte),以十六进制的定址空间来说,即为00H到FFH。然而,如图1所示,在位址80H到位址FFH的定址空间内,随机存取存储器110与特殊功能暂存器120为重迭状态。也就是说,特殊功能暂存器120的储存空间仅具有128个位组。随着微控制单元的应用越来越广,需要扩增周边功能的需求也越来越多,如此会使得特殊功能暂存器120不够使用。因此,如何扩充暂存器的使用功能将成为各家厂商亟欲研究的课题。
发明内容
本发明实施例提供一种处理装置与其数据存取方法,藉以扩充处理装置的暂存器的使用功能,并减少数据存取操作指令的大小、加快暂存器的数据读写的速度及效率以及增加使用上的便利性。
本发明实施例提供一种处理装置,包括处理单元、暂存器单元与暂存器单元。处理单元执行定址指令,以产生定址位址。暂存器单元耦接处理单元,且暂存器单元具有多个暂存位址及数据指标。储存单元耦接处理单元,且储存单元定义有扩充暂存器空间,扩充暂存器空间具有多个扩充暂存位址。处理单元将定址位址填入数据指标,以将暂存器单元的暂存位址与储存单元的扩充暂存位址进行映射,使处理单元通过暂存位址直接对扩充暂存位址的数据进行存取操作。
本发明实施例提供一种处理装置的数据存取方法,包括下列步骤。提供储存单元,其中储存单元定义有扩充暂存器空间,扩充暂存器空间具有多个扩充暂存位址。通过处理单元,执行定址指令,以产生定址位址。通过处理单元将定址位址填入暂存器单元的数据指标,以将暂存器单元的多个暂存位址与储存单元的扩充暂存位址进行映射,使处理单元通过暂存位址直接对扩充暂存位址的数据进行存取。
本发明实施例所揭露的处理装置与其数据存取方法,通过储存单元定义有扩充暂存器空间,且扩充暂存器空间具有多个扩充暂存位址。接着,通过处理单元执行定址指令,以产生定址位址,并将定址位址填入暂存器单元的数据指标,以将暂存器单元的暂存位址与储存单元的扩充暂存位址进行映射,使得处理单元可以通过暂存位址直接对扩充暂存位址的数据进行存取。如此一来,可以有效地扩充处理装置的暂存器的使用功能,并减少数据存取操作指令的大小、加快暂存器的数据读写的速度及效率以及增加使用上的便利性。
附图说明
图1为微控制单元的随机存取存储器及特殊功能暂存器的位址示意图。
图2为依据本发明的一实施例的处理装置的示意图。
图3为依据本发明的一实施例的处理装置的数据存取方法的流程图。
附图标记:
110:随机存取存储器
120:特殊功能暂存器
200:处理装置
210:处理单元
220:暂存器单元
230:储存单元
231:扩充暂存器空间
240:存储器汇流排
ABUS:位址汇流排
DBUS:数据汇流排
WBUS:写入汇流排
RBUS:读取汇流排
00H、70H、80H、FFH、0000H:位址
0FFFH~FFFFH:扩充暂存位址
S302~S306:步骤
具体实施方式
在以下所列举的各实施例中,将以相同的标号代表相同或相似的元件或组件。
图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 AccessMemory,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)。
表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所对应的暂存器Extend0。接着,处理单元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具有位定址功能(即暂存器Extend45、Extend 62、Extend 77、Extend 92为具有位定址功能的暂存器),其为本发明实施例的一种实施范例,不用于限制本发明实施例的形式。使用者可视其需求自行调整具有位定址功能的暂存位址的数量,亦即可增加具有位定址功能的暂存器的数量,以扩充处理装置200的暂存器的使用功能。
另外,具有位定址功能的暂存位址所对应的储存单元230的扩充暂存器空间231的扩充暂存位址,可以加快处理单元210对储存单元23的扩充暂存器空间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。
综上所述,本发明实施例所揭露的处理装置与其数据存取方法,通过储存单元定义有扩充暂存器空间,且扩充暂存器空间具有多个扩充暂存位址。接着,通过处理单元执行定址指令,以产生定址位址,并将定址位址填入暂存器单元的数据指标,以将暂存器单元的暂存位址与储存单元的扩充暂存位址进行映射,使得处理单元可以通过暂存位址直接对扩充暂存位址的数据进行存取。如此一来,可以有效地扩充处理装置的暂存器的使用功能,并减少数据存取操作指令的大小、加快暂存器的数据读写的速度及效率以及增加使用上的便利性。
本发明虽以实施例揭露如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视前附的权利要求书所界定者为准。
- 数据存取方法以及使用此数据存取方法的电子装置
- 数据存取方法,执行数据存取方法的器件及记录装置