CN111209220B - 一种非对齐地址访存的融合编码状态机实现方法 - Google Patents

一种非对齐地址访存的融合编码状态机实现方法 Download PDF

Info

Publication number
CN111209220B
CN111209220B CN201811389626.0A CN201811389626A CN111209220B CN 111209220 B CN111209220 B CN 111209220B CN 201811389626 A CN201811389626 A CN 201811389626A CN 111209220 B CN111209220 B CN 111209220B
Authority
CN
China
Prior art keywords
state machine
data
state
access memory
range
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201811389626.0A
Other languages
English (en)
Other versions
CN111209220A (zh
Inventor
费晓龙
杨亭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaxiaxin Beijing General Processor Technology Co ltd
Original Assignee
Huaxiaxin Beijing General Processor Technology Co ltd
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 Huaxiaxin Beijing General Processor Technology Co ltd filed Critical Huaxiaxin Beijing General Processor Technology Co ltd
Priority to CN201811389626.0A priority Critical patent/CN111209220B/zh
Publication of CN111209220A publication Critical patent/CN111209220A/zh
Application granted granted Critical
Publication of CN111209220B publication Critical patent/CN111209220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开的属于状态机技术领域,具体为一种非对齐地址访存的融合编码状态机实现方法,其特征在于:该非对齐地址访存的融合编码状态机实现方法具体步骤如下,S1:存储请求对应的位于状态编码的高三位内的访存范围,S2:顺序发送对齐地址的访存请求,等待数据缓存并拼接,S3:状态机状态初始化,S4:状态机状态转换,S5:数据缓存等待数据的回填,该种非对齐地址访存的融合编码状态机实现方法,融合了对齐地址访存范围信息的编码,能够节省硬件面积开销,融合了发送结束状态的编码,能够简化硬件发送的判断逻辑,方便地记录了返回数据的状态,跟踪整个指令的执行结束。

Description

一种非对齐地址访存的融合编码状态机实现方法
技术领域
本发明涉及状态机技术领域,具体为一种非对齐地址访存的融合编码状态机实现方法。
背景技术
对齐的访存方式不但能使处理器流水线更加高效,同时也能简化地址冲突的检测逻辑,因此高效的访存指令序列偏爱对齐地址的访问,比如访问双字,那么地址低三位应为全0,访问字,那么地址低两位应为全0,访问半字,LSB应为0,只有访问字节,可以不需要地址对齐,因此大多数程序会天然的编译成对齐地址访存,但是依然有部分库函数,里面的程序是非对齐访问的,并且如果每次都需要做程序移植,则繁琐、耗费时间长,为此,我们提出了一种非对齐地址访存的融合编码状态机实现方法。
发明内容
本发明的目的在于提供一种非对齐地址访存的融合编码状态机实现方法,以解决上述背景技术中提出的依目前状态机里面的程序是非对齐访问的,并且如果每次都需要做程序移植,则繁琐、耗费时间长的问题。
为实现上述目的,本发明提供如下技术方案:一种非对齐地址访存的融合编码状态机实现方法,其特征在于:该非对齐地址访存的融合编码状态机实现方法具体步骤如下:
S1:存储请求对应的位于状态编码的高三位内的访存范围;
S2:顺序发送对齐地址的访存请求,等待数据缓存并拼接;
S3:状态机状态初始化;
S4:状态机状态转换;
S5:数据缓存等待数据的回填,通过着色过程记录当前多笔对齐请求所读数据是否被完全返回,并且每一笔对齐的地址请求有位置信息来标示该数据处在所需数据块的位置;
S6:根据指令的访存范围,来生成范围向量进行数据拼接;
S7:数据拼接完成后,缓存内的数据进行后续的剪切和扩展操作,返回体系结构寄存器。
优选的,所述步骤S6中,每次返回的对齐请求携带位置和范围信息来更新范围向量。
与现有技术相比,本发明的有益效果是:该种非对齐地址访存的融合编码状态机实现方法,融合了对齐地址访存范围信息的编码,能够节省硬件面积开销,融合了发送结束状态的编码,能够简化硬件发送的判断逻辑,方便地记录了返回数据的状态,跟踪整个指令的执行结束。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案:本发明涉及到了非对齐地址访存的硬件实现方式,其中核心在于状态机的设计和高效的编码,可以在硬件通过检测访存地址和访存范围来决定访存指令接下来的拆分动作,通过列举所有非对齐访存,得出以下拆分表格:
Figure GDA0001959883500000021
/>
Figure GDA0001959883500000031
Mask:Byte 000/Half 001/Word 011/Double word 111
地址代表访存地址的低四位,假设第四位为0,减少了不必要的跨cache line甚至跨页问题的干扰。
从而可以发现可以由访存的范围和初始地址决定拆分状态机,进一步合并状态机,可以得到以下的状态和对应的编码:
Figure GDA0001959883500000041
工作分为两个阶段:顺序发送对齐地址的访存请求,等待数据缓存并拼接。因此需要标示发送结束的状态,可以看出通过判断低三位如果是全0,那么代表所有请求发送结束,此外每次对齐的地址请求需要标示范围信息来进行后续的数据拼接,就需要存储这个请求对应的访问范围,但是可以当前编码中已经巧妙的将访存范围放在了状态编码的高三位,完全兼容Mask的编码,从而将很多信息都融合在了状态机的编码里面,简化硬件判断逻辑和面积开销。
状态机的工作原理:
初始化状态
Figure GDA0001959883500000051
状态切换
Figure GDA0001959883500000052
/>
Figure GDA0001959883500000061
数据拼接阶段
访存有可能发生不命中,因此每一笔非对齐的指令都需要有数据缓存来等待数据的回填,同时需要有着色过程来记录当前多笔对齐请求所读数据是否被完全返回,为了完成正确的拼接,还需要每一笔对齐的地址请求有位置信息来标示该数据处在所需数据块的位置。
首先根据指令的访存范围,来生成范围向量:
Figure GDA0001959883500000062
每次返回的对齐请求会携带位置和范围信息来更新范围向量,比如,有一个访存需要一个字,地址为0001,会被拆成BYTE,HALF,BYTE,那么返回的请求依次是(位置0范围BYTE),(位置1范围HALF),(位置3,范围BYTE),并把范围向量更新为11110001,11110111,11111111,当检测到范围向量被更新成全1,代表所有数据都返回成功。
当数据拼接完成,该缓存内的数据会进行后续的剪切和扩展操作,返回体系结构寄存器。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (2)

1.一种非对齐地址访存的融合编码状态机实现方法,其特征在于:该非对齐地址访存的融合编码状态机实现方法具体步骤如下:
S1:存储请求对应的位于状态编码的高三位内的访存范围;
S2:顺序发送对齐地址的访存请求,等待数据缓存并拼接;
S3:状态机状态初始化;
S4:状态机状态转换;
S5:数据缓存等待数据的回填,通过着色过程记录当前多笔对齐请求所读数据是否被完全返回,并且每一笔对齐的地址请求有位置信息来标示该数据处在所需数据块的位置;
S6:根据指令的访存范围,来生成范围向量进行数据拼接;
S7:数据拼接完成后,缓存内的数据进行后续的剪切和扩展操作,返回体系结构寄存器。
2.根据权利要求1所述的一种非对齐地址访存的融合编码状态机实现方法,其特征在于:所述步骤S6中,每次返回的对齐请求携带位置和范围信息来更新范围向量。
CN201811389626.0A 2018-11-21 2018-11-21 一种非对齐地址访存的融合编码状态机实现方法 Active CN111209220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811389626.0A CN111209220B (zh) 2018-11-21 2018-11-21 一种非对齐地址访存的融合编码状态机实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811389626.0A CN111209220B (zh) 2018-11-21 2018-11-21 一种非对齐地址访存的融合编码状态机实现方法

Publications (2)

Publication Number Publication Date
CN111209220A CN111209220A (zh) 2020-05-29
CN111209220B true CN111209220B (zh) 2023-06-09

Family

ID=70787587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811389626.0A Active CN111209220B (zh) 2018-11-21 2018-11-21 一种非对齐地址访存的融合编码状态机实现方法

Country Status (1)

Country Link
CN (1) CN111209220B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909946B (zh) * 2023-09-13 2023-12-22 北京开源芯片研究院 一种访存方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407880A (zh) * 2014-10-27 2015-03-11 杭州中天微系统有限公司 支持硬件非对齐存储访问的risc处理器加载/存储单元
CN104461925A (zh) * 2014-11-14 2015-03-25 浪潮(北京)电子信息产业有限公司 一种存储设备地址对齐的自动纠正方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622232B2 (en) * 2001-05-18 2003-09-16 Intel Corporation Apparatus and method for performing non-aligned memory accesses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407880A (zh) * 2014-10-27 2015-03-11 杭州中天微系统有限公司 支持硬件非对齐存储访问的risc处理器加载/存储单元
CN104461925A (zh) * 2014-11-14 2015-03-25 浪潮(北京)电子信息产业有限公司 一种存储设备地址对齐的自动纠正方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SIMD非对齐访存结构设计与实现;余成龙;王永文;;计算机工程(第09期);全文 *

Also Published As

Publication number Publication date
CN111209220A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN102033734B (zh) 数据处理引擎
US4453216A (en) Access control system for a channel buffer
US8332590B1 (en) Multi-stage command processing pipeline and method for shared cache access
WO2018027839A1 (zh) 一种页表缓存tlb中表项的访问方法,及处理芯片
CN104252392A (zh) 一种访问数据缓存的方法和处理器
JP2008129712A (ja) 情報処理装置およびデータ検索方法
CN104424128B (zh) 变长指令字处理器系统和方法
EP0144249B1 (en) Buffer storage system
CN104981771A (zh) 基于标量寄存器数据值的向量寄存器寻址和功能
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
CN111209220B (zh) 一种非对齐地址访存的融合编码状态机实现方法
CN104285215A (zh) 用于跟踪指令高速缓冲存储器中的附加数据权限的方法和设备
CN117389629A (zh) 分支预测方法、装置、电子设备及介质
EP0030463A2 (en) Buffer memory control system
EP0377431B1 (en) Apparatus and method for address translation of non-aligned double word virtual addresses
CN111831587A (zh) 数据写入方法、装置和电子设备
JPH02304650A (ja) パイプライン方式のマイクロプロセッサ
CN102541745B (zh) 微控制器数据存储器的寻址方法和微控制器
CN115061948A (zh) 多核系统中非对齐访问的验证方法及系统
CN110147670B (zh) 一种工作于内核态的进程间持久性内存保护方法
CN111581133A (zh) 一种多核存储器一致性的方法、系统、设备及可读介质
CN104484286A (zh) 片上Cache网络中基于位置感知的数据预取方法
CN115525583B (zh) 一种众核处理器的存储器数据访问方法
CN110688329B (zh) 一种可同时支持多套Cache数据私有段动态设置的方法
JP2637853B2 (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant