CN112231246A - 一种处理器缓存结构的实现方法 - Google Patents
一种处理器缓存结构的实现方法 Download PDFInfo
- Publication number
- CN112231246A CN112231246A CN202011194257.7A CN202011194257A CN112231246A CN 112231246 A CN112231246 A CN 112231246A CN 202011194257 A CN202011194257 A CN 202011194257A CN 112231246 A CN112231246 A CN 112231246A
- Authority
- CN
- China
- Prior art keywords
- file
- kernel
- cache
- instruction
- hardware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 414
- 230000008569 process Effects 0.000 claims abstract description 394
- 230000015654 memory Effects 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000006243 chemical reaction Methods 0.000 claims description 39
- 230000008878 coupling Effects 0.000 claims description 34
- 238000010168 coupling process Methods 0.000 claims description 34
- 238000005859 coupling reaction Methods 0.000 claims description 34
- 238000005516 engineering process Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 2
- 241000352262 Potato virus B Species 0.000 description 115
- 229920002037 poly(vinyl butyral) polymer Polymers 0.000 description 115
- 229920005618 ethylene copolymer bitumen Polymers 0.000 description 102
- 241000710179 Potato virus S Species 0.000 description 38
- 238000005520 cutting process Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000001537 electron coincidence spectroscopy Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000010008 shearing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000000044 Amnesia Diseases 0.000 description 1
- 208000026139 Memory disease Diseases 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000006984 memory degeneration Effects 0.000 description 1
- 208000023060 memory loss Diseases 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种实现基于“嵌入式文件***”内存管理技术条件下的处理器架构进行进程代码及进程数据处理的缓存结构。本发明所实现的缓存结构为处理器硬件***提供必要的基础以使其得以实现包括但不限于以下处理器基础***功能:进程自动调度、进程状态保护、硬件资源动态拓展及回收。本方案关于处理器内部缓存间的进程代码或进程数据的操作均不需要操作***干预,在确保整个***安全完备性的前提下实现进程代码和进程数据在各级缓存中的操作,有利于缓解操作***的负荷,有利于缓解单个进程对于进程代码和进程数据的缓存操作所需占用内核的负荷。
Description
技术领域
本发明涉及集成电路及计算机技术领域,尤其指一种处理器缓存结构的实现方法。
背景技术
处理器缓存结构与处理器指令集架构有着密不可分的关系,因此处理器指令集的背景技术事实上限定了处理器缓存的基础结构。现有处理器指令集架构分为CISC和RISC两大类,分别表示复杂指令集和精简指令集。但不管是CISC还是RISC架构下的处理器,都具有一个共同的特点,就是处理器内核对于处理器内部缓存的访问都只能以逻辑地址或物理地址访问。其中以逻辑地址访问是指进程对于需要访问的目标缓存提供一个逻辑地址,该逻辑地址需要通过操作***干预转换成缓存的物理地址,然后再对于目标缓存进行访问。而以物理地址访问是指进程直接提供目标缓存的物理地址访问目标缓存。对于一个处理器***而言,如果所有进程都只通过物理地址访问相关缓存,那么进程之间的数据便无法确保安全性,而如果进程采用逻辑地址转到物理地址对目标缓存进行访问,那么所有进程都只能以操作***为“中心”,依次获得该“中心”许可后才能访问相关缓存。
所以,现有背景技术下的处理器缓存结构并不能在确保安全完备性的前提下实现多进程对于缓存访问不需操作***干预,也不能在确保安全完备性的前提下实现多进程对于缓存访问的并行操作。另外一方面,无论是基于现有背景技术下的CISC或是RISC指令集架构下,一个进程在占用处理器内部一定缓存资源的情况下退出,都需要复杂的软件运行过程来完成对该进程所占用缓存资源的回收。而在多数情况下,处理器内部的缓存资源会在***长时间运行后,处理器内部缓存将变得碎片化,甚至存在没被回收的死块。现有背景技术的处理器缓存结构至今也无法彻底改变这一弊端所带来的对于处理器***性能的影响。
事实上制约现有背景技术下的处理器缓存结构发展的一个至关重要的问题是关于指令和数据安全控制的问题。现有处理器指令集架构无法实现对于缓存的管理能够绝对保证进程之间的有效隔离,从而绝对确保整个***的进程代码和进程数据的安全性。因此,需要一种无需操作***干预,且能更好实现进程间隔离的基础内存管理方法。这一基础内存管理方法是以硬件控制的方式实现将内存存储空间封装成为具有文件特性的独立单元的嵌入式文件***(Embedded File System,可以简写为EFS),通过嵌入式文件***内的文件(Embedded File,可以简写为EF)之间的相互独立的隔离性构建起进程间的进程代码和进程数据的隔离性,从而实现处理器内部进程之间的完全隔离。但以EFS组成的缓存结构需要解决的问题是需要将让被封装成EF的数据格式在进入处理内核之后并在进入内核流水线运行之前转换成为可以通过物理地址直接访问的数据格式,否则内核流水线对于进程代码读取和对于进程数据的读取及写入的效率都会十分低下。因此,在基于实现进程间完全隔离的EFS技术条件下,还需要一种至少能够实现从EF数据格式恢复到物理地址直接访问的数据格式的处理器缓存结构。
发明内容
本方案的目的是基于EFS技术实现处理器内部缓存操作的方法,并完成处理器内核进程代码及进程数据从EF格式到处理器内核流水线以物理地址直接访问格式的转换。本方案无需操作***干预,且不破坏EFS所构建的对于***作进程代码或进程数据的安全完备性,有利于缓解操作***的负荷,以及保证进程代码及进程数据安全完备性的前提下使进程进入内核流水线运行。本方案基于EFS技术,但不包含EFS技术的具体实现方案,因此在本方案中存在为EFS技术设立的专用指令,即EFS专用指令,但并不存在对EFS专用指令具体实现,在本方案所有实施例中所提及的EFS专用指令可以通过处理器内部总线控制器在内核与“指令共享缓存”及“数据共享缓存”之间传输,或者通过内核内部硬件连线在内核流水线与“指令内核缓存”及“数据内核缓存”之间传输。
本发明提供的技术方案如下:
本发明提供一种实现处理器内部缓存硬件结构的方法,包括步骤:
构建对于进程代码而言从“指令共享缓存”到“指令内核缓存”,再从“指令内核缓存”到“指令耦合缓存”,再从“指令耦合缓存”到“内核流水线”的指令(进程代码)传输及缓存的硬件结构;
构建对于进程数据(进程变量)而言从“数据共享缓存”到“数据内核缓存”,在从“数据内核缓存”到“数据耦合缓存”,再从“数据耦合缓存”到“内核流水线”的数据(进程变量)传输及缓存的硬件结构;
通过基于EFS技术的相关指令实现进程代码从“指令共享缓存”到“指令内核缓存”的单向拷贝操作;
通过内核缓存操作专用指令实现进程代码从“指令内核缓存”到“指令耦合缓存”单向拷贝的操作以及EF格式到物理地址直接访问格式单向转换的操作;
通过处理器内核非缓存操作专用指令实现进程代码从“指令耦合缓存”到“内核流水线”单向物理地址直接访问的操作;
通过基于EFS技术的相关指令实现进程数据从“数据共享缓存”到“数据内核缓存”的双向拷贝或剪切操作;
通过内核缓存操作专用指令实现进程数据从“数据内核缓存”到“数据耦合缓存”双向复制或剪切的操作以及EF格式到物理地址直接访问格式双向转换的操作;
通过内核非缓存操作专用指令实现进程数据从“数据耦合缓存”到“内核流水线”双向物理地址直接访问的操作;
附图说明
下面将以明确易懂的范式,结合附图说明优选实施方式,对本方案的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明实施例对于单个处理器内核而言的处理器内部缓存结构示意图,图中标识及相关定义说明如下:
图中所示例为处理器内部单个内核所涉及在处理器内部缓存的结构 ;
图中所示“***内存”泛指处理器可以访问的大容量集成于或不集成于处理器内部的失忆性动态存储器;
图中所标识“处理器内部总线控制”是指处理器内部连接多个内核、外部设备以及内部集成缓存部件或非缓存部件的总线控制器;
图中所标识“处理器内核”即为本发明技术描述中处理器内核;
图中所示在“处理器内部总线控制器”与“处理器内核”之间存在总线控制器所提供的独立于本发明技术的硬件连接协议及相关指令通信协议;
图中所示箭头的方向具有客观意义,单向箭头表示只能提供单向箭头所示方向的进程代码传输,双向箭头表示可以提供双向箭头所示方向的进程数据(进程变量)的传输。
图2是本发明实施例对于多个处理器内核而言的处理器内部缓存结构示意图,图中标识及相关定义说明如下:
图中所示例为处理器内部多内核所涉及在处理器内部缓存的结构;
图中所示“***内存”、“指令共享缓存”、“数据共享缓存”与图1中所示相同,它们均属于“处理器内部总线控制器”所控制范围,图中所示“***内存”、“指令共享缓存”、“数据共享缓存”与内核的连接为示意连接,表示存在如箭头连线所描绘的连接关系,并不限定“处理器内部总线控制”是否为“***内存”、“指令共享缓存”、“数据共享缓存”分别提供一个或多个访问接口的具体实现方式;
图中所示箭头的解释与图1所示箭头的解释相同;
图中所示多个内核之间并不存在直接连接关系。
图3是本发明实施例关于处理器内部缓存结构的具体操作示意图,图中标识及相关定义说明如下:
图中所示“初始化(入栈)”、“载入(出栈)”、“运行”、“载出(入栈)”、“退出”表示进程在处理器内部所处的不同状态,由于上述状态的概要介绍需要用到图中其它图示元素的说明介绍,所以关于以上各状态的概要在本附图说明介绍完图中其它图示元素之后进行介绍;
图中所示为具有二维坐标状态图,图示最底端标识A、B、C、D、E为横坐标,图示最右端标识0、1、2、3、4、5、6为纵坐标,其中横坐标表示的是进程在处理器中所处的状态,纵坐标表示***内存以及处理器内部缓存的类型,如图中坐标A0表示进程处于“初始化(入栈)”状态下“***内存”的情况,坐标C3表示进程处于“运行”状态下“指令耦合缓存”的情况,坐标C6表示进程处于“运行”状态下“数据耦合缓存”的情况;
图中所示“PBU”、“CBU”、“ECB”、“CSL”、“PVB”、“VSL”、“PSF”均为基于EFS技术封装的EF,图示不同坐标位置所示上述EF表示其在各缓存中的具体操作过程;
图中坐标A0位置所示PBU及CBU表示“初始化(入栈)”状态下PBU及CBU均为单个EF,同理在其它位置具有与A0位置相似图示图标也表示单个EF;
图中所示“ECS”、“PVS”分别表示物理地址直接访问的“指令耦合缓存”和“数据耦合缓存”,它们不属于基于EFS技术封装的EF;
图中坐标B0位置所示PBU及CBU则表示“载入(出栈)”状态下PBU及CBU分别为一个或多个PBU类型的EF及CBU类型的EF,同理,除C3位置的ECS和C6位置的PVS以外,在其它位置具有与B0位置相似图示图标也表示一个或多个同类型的EF,图中所示C3位置有类似B0位置相似图示图标表示的是多个“指令耦合缓存”缓存存储器,图中所示C6位置有类似B0位置相似图示图标表示的是多个“数据耦合缓存”缓存存储器;
图中所示“PBU”是Process Buffer Unit的缩写,表示为“进程数据内存单元”,PBU是进程数据从非失忆性存储介质(硬盘、固态硬盘或光盘)进入处理器的最初始位置,同时也是进程运行过程用于对大量数据进行随机存储的原始内存位置,本发明技术所述缓存结构所涉及的进程数据均直接或间接来自PBU,PBU为基于EFS技术封装的EF;
图中所示“CBU”是Code Buffer Unit的缩写,表示为“进程代码内存单元”,CBU是进程代码从非失忆性存储介质(硬盘、固态硬盘或光盘)进入处理器的最初始位置,同时也是进程运行过程用于对于大量代码进行随机存储的原始内存位置,本发明技术所述缓存结构所涉及的进程代码均直接或来自来自CBU,CBU为基于EFS技术封装的EF;
图中所示“ECB”是Executing Code Block的缩写,表示为“执行代码块”,ECB是从CBU中分离出来的在本发明技术所述缓存结构中所涉及的进程代码,在进程处于不同的状态下ECB可能在“指令共享缓存”或“指令内核缓存”中,但同一个ECB不会同时处于“指令共享缓存”和“指令内核缓存”中,ECB为基于EFS技术封装的EF;
图中所示“ECS”是Executing Code Slice的缩写,表示为“执行代码片”,ECS是通过内核缓存操作专用指令从一个或多个ECB中的全部或部分转换而来的可以被内核流水线以物理地址直接访问的进程代码,因此ECS并不是EF,ECS是指在“指令耦合缓存”内全部的或者某一地址区段内的进程代码,图中所示ECS可能为多个,多个ECS则表示多个“指令耦合缓存”,在内核缓存操作专用指令中以“ECS索引号”来表示所选中的是指哪一个“指令耦合缓存”;
图中所示“CSL”是Code Slice Log的缩写,表示为“代码片日志”,CSL的内容是所有从ECB到ECS之间的转换记录,CSL的内容还包括记录CBU即ECB的文件信息,在进程处于不同的状态下CSL可能在“指令共享缓存”或“指令内核缓存”中,但CSL不会同时处于“指令共享缓存”和“指令内核缓存”中,CSL为基于EFS技术封装的EF;
图中所示“PVB”是Process Variable Block的缩写,表示为“进程数据块”,PVB是从PBU中分离出来的在本发明技术所述缓存结构中所涉及的进程数据,在进程处于不同的状态下PVB可能在“数据共享缓存”或者“数据内核缓存”中,但同一个PVB不会同时处于“数据共享缓存”和“数据内核缓存”中,PVB为基于EFS技术封装的EF;
图中所示“PVS”是Process Variable Slice的缩写,表示为“进程数据片”,PVS是通过内核缓存操作专用指令从一个或多个PVB中的全部或部分转换而来的可以被内核流水线以物理地址直接访问的进程数据,因此PVS并不是EF,PVS是指在“数据耦合缓存”内全部的或者某一地址区段内的进程数据,图中所示PVS可能为多个,多个PVS则表示多个“数据耦合缓存”,在内核缓存操作专用指令中以“ECS索引号”来表示所选中的是指哪一个“指令耦合缓存”;
图中所示“VSL”是Variable Slice Log的缩写,表示为“数据片日志”,VSL的内容是所有从PVB到PVS之间的转换记录,VSL的内容还包括记录PBU和PVB的文件信息,在进程处于不同的状态下VSL可能在“数据共享缓存”或“数据内核缓存”中,但VSL不会同时处于“指令共享缓存”和“指令内核缓存”中,VSL为基于EFS技术封装的EF;
图中所示“PSF”是Process Status File的缩写,表示为“进程状态文件”,PSF的内容记录进程运行的状态、内核流水线状态、CSL的文件具***置信息、VSL的文件具***置信息。PSF所记录的内容充分描述了一个进程的所有状态以及该进程所属的进程代码和进程数据所在的确切位置。所以,在本发明技术所实现的处理器缓存结构中用于表示或者标识某一进程的唯一要素并不是现有背景技术条件下的“内存指针”而是PSF的文件具***置信息。在进程处于不同的状态下PSF可能在“数据共享缓存”或“数据内核缓存”中,但PSF不会同时处于“数据共享缓存”和“数据内核缓存”中,PSF为基于EFS技术封装的EF;
图中所示带箭头以大写字母标识的虚线表示相关EF因进程状态的改变而在相关缓存间的位置变化方向,如标识为A的线所示,表示当进程从“初始化(入栈)”状态转入“载入(出栈)”状态,坐标A1位置所示ECB从“指令共享缓存”被剪切到“指令内核缓存”中成为坐标B2位置所示的ECB;
图中所示带箭头以大写字母标识的实线表示相关EF之间存在进程代码或进程数据的拷贝或剪切,且实线箭头的方向表示进程代码或进程数据所去往的目标方向,双向箭头表示拷贝或剪切操作的目标可以是相关EF任何一端;
图中所示“初始化(入栈)”进程状态是指进程在被创建的初始阶段,进程的创建者也就是父进程会为当前被创建的进程创建好初始状态下的CBU、ECB、CSL、PBU、PVB、VSL、PSF这些EF,并在创建完这些文件之后将这些文件的所有权移交给当前被创建的进程,随后令当前被创建的进程进入进程调度队列,即“入栈”;
图中所示“载入(出栈)”进程状态是指进程从进程调度队列中调度出来后进入内核的阶段(即“出栈”),在这一阶段内核会完成ECB、CSL从“指令共享缓存”到“指令内核缓存”的剪切操作,在这一阶段内核会完成PVB、VSL、PSF从“数据共享缓存”到“数据内核缓存”的剪切操作,上述EF的剪切操作即为将进程载入到内核的过程;
图中所示“运行”进程状态是指进程在完成“载入(出栈)”状态下所有EF的剪切操作后进入内核流水线运行的阶段;
图中所示“载出(入栈)”进程状态是指进程被动或主动调度出内核,重新进入进程队列调度的阶段,在这一阶段内核会完成ECB、CSL从“指令内核缓存”到“指令共享缓存”的剪切操作,在这一阶段内核会完成PVB、VSL、PSF从“数据内核缓存”到“数据共享缓存”的剪切操作,上述EF的剪切操作即为将进程从内核载出的过程;
图中所示“退出”进程状态是指进程被动或主动结束当前进程的功能,释放该进程所有所占硬件资源的退出阶段,在这一阶段内核会完成对CBU、ECB、CSL、PBU、PVB、VSL、PSF这些EF的删除操作,上述EF的删除操作即为进程从整个***中退出的过程。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,附图所描绘的为本发明的原理性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,并获得其它的实施方式。为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
实施例1
本发明的一个实施例,如图1和图2所示,本发明提供一种缓存结构实现一个内核或多个内核与处理器内部总线控制器所构成的处理器***对于进程代码和进程数据在进程运行过程的操作方法,包括步骤:
在本实施例中,将处理器内部所有缓存区分为用于缓存内核执行指令的“指令类型缓存”和进程运行时使用变量的“数据类型缓存”;
在本实施例中,“指令类型缓存”分为所有内核均能访问的“指令共享缓存”和只有某一个内核能够访问的“指令私有缓存”;
在本实施例中,“数据类型缓存”分为所有内核均能访问的“数据共享缓存”和只有某一个内核能够访问的“数据私有缓存”;
在本实施例中,“指令私有缓存”又分为内核流水线不能直接访问的“指令内核缓存”和内核流水线直接访问的“指令耦合缓存”;
在本实施例中,“数据私有缓存”又分为内核流水线不能直接访问的“数据内核缓存”和内核流水线直接访问的“数据耦合缓存”。
具体实现包括:
在本实施例中,“指令共享缓存”、“数据共享缓存”、“指令内核缓存”、“数据内核缓存”均属于以EFS所封装的EF在“指令共享缓存”与“指令内核缓存”之间以及在“数据共享缓存”与“数据内核缓存”之间分别进行进程代码和进程数据的交互。内核(包括内核中运行的软件以及内核硬件本身)以EFS专用指令通过内核与处理器总线控制器之间的总线连接协议完成“指令共享缓存”与“指令内核缓存”之间具体的进程代码交互,以及完成“数据共享缓存”与“数据内核缓存”之间具体的进程数据的交互;
在本实施例中,“指令耦合缓存”、“数据耦合缓存”均属于以物理地址直接访问的方式在“指令耦合缓存”与内核流水线之间以及在“数据耦合缓存”与内核流水线之间分别进行进程代码和进程数据的交互。流水线(包括在流水线中执行的指令以及流水线硬件本身)以内核指令集中非EFS专用指令完成以物理地址直接访问的方式对“指令耦合缓存”中的进程代码进行读取操作并解析成为在流水线中执行的具体指令,完成以物理地址直接访问的方式对“数据耦合缓存”中的进程数据进行读取操作或写入操作;
在本实施例中,在“指令内核缓存”与“指令耦合缓存”之间以及在“数据内核缓存”与“数据耦合缓存”之间均使用内核缓存操作专用指令完成EF封装的进程代码格式到物理地址直接访问的进程代码格式的相互转换,以及完成EF封装的进程数据格式到物理地址直接访问的进程数据格式的相互转换;
在本实施例中,在完成上述从“指令内核缓存”到“指令耦合缓存”之间转换以及完成从“数据内核缓存”到“数据耦合缓存”之间转换的过程中,并不是以“剪切”的方式完成,而是以“复制”的方式完成。
实施例2
本发明的一个实施例,构建如图3所示的CBU、ECB、CSL、PBU、PVB、VSL以及PSF各文件之间的关系,构建上述文件与“指令耦合缓存”、“数据耦合缓存”之间的关系,构建上述文件与进程之间的关系。
具体实现包括:
在本实施例中,对于一个进程而言,可以存在一个或多个CBU文件,所有CBU文件之间以链条的方式形成相互之间的关联关系,即在某一个CBU文件中会记录与之关联的上一个CBU的文件具***置信息和记录与之关联的下一个CBU的文件具***置信息。在处理器内部,一个CBU文件一旦被创建,在其被删除之前不会发生位置的变化,因此进程对于CBU文件的访问通过CBU的文件具***置信息来完成;
在本实施例中,对于一个进程而言,可以存在一个或多个ECB文件,每个ECB文件都单独存在,不同ECB文件之间不存在任何关联。在处理器内部,一个ECB文件一旦被创建,其位置会随进程运行的状态不同而发生改变,因此进程对于ECB文件的访问并不是通过ECB的文件具***置信息来完成。对于一个进程而言,每个ECB文件都对应于一个ECB文件检索号,该检索号在ECB文件被使用内核缓存操作专用指令创建时由硬件自动产生,并将该检索号赋予进程所管辖的变量中,进程通过ECB文件检索号来完成对具体ECB文件的访问;
在本实施例中,对于一个进程而言,只能存在唯一的CSL文件,CSL文件记录CBU文件链中最后一个CBU的文件具***置信息。CSL文件记录所有ECB的文件具***置信息,以及记录每个ECB的文件具***置信息与其所对应ECB文件索引号的一一对应关系。对于一个进程而言,ECB在被使用内核缓存操作专用指令创建的过程中,硬件所自动产生的ECB文件索引号会与ECB的文件具***置信息形成一一对应的关系,并由硬件将该对应关系自动记录到CSL文件中。所以,当进程得到硬件所反馈的ECB文件索引号,并以该索引号检索所需访问ECB文件时,硬件可以通过CSL文件所记录的ECB文件索引号与ECB的文件具***置信息对应关系准确检索出进程所需要访问的ECB的文件具***置信息,并完成进程所需要对目标ECB文件的访问;
在本实施例中, 对于一个进程而言,“指令耦合缓存”是以物理地址直接访问的进程代码的缓存部件,如图3中坐标位置C3所示的ECS。ECS并不是以EFS技术所封装的EF,而是具体的硬件,即缓存部件,每个ECS代表一块“指令耦合缓存”。在ECB与ECS之间需要通过内核缓存操作专用指令完成进程代码从EF格式到物理地址直接访问的格式的转换,每次从ECB到ECS的格式转换相关指令都会被记录到CSL文件中,即为“CSL日志”,硬件会为每条“CSL日志”分配唯一的索引号。如图3所示,当进程在处理器内部“载出”及“载入”的循环过程中,内核硬件根据CSL文件中对于相关转换指令的记录恢复进程在“指令耦合缓存”的进程代码状态;
在本实施例中,对于一个进程而言,可以存在一个或多个PBU文件,所有PBU文件之间以链条的方式形成相互之间的关联关系,即在某一个PBU文件中会记录与之关联的上一个PBU的文件具***置信息和记录与之关联的下一个PBU的文件具***置信息。在处理器内部,一个PBU文件一旦被创建,在其被删除之前不会发生位置的变化,因此进程对于PBU文件的访问通过PBU的文件具***置信息来完成;
在本实施例中,对于一个进程而言,可以存在一个或多个PVB文件,每个PVB文件都单独存在,不同PVB文件之间不存在任何关联。在处理器内部,一个PVB文件一旦被创建,其位置会随进程运行的状态不同而发生改变,因此进程对于PVB文件的访问并不是通过PVB的文件具***置信息来完成。对于一个进程而言,每个PVB文件都对应于一个PVB文件索引号,该索引号在PVB文件被使用内核缓存操作专用指令创建时由硬件自动产生,并将该索引号赋予进程所管辖的变量中,进程通过PVB文件检索号来完成对具体PVB文件的访问;
在本实施例中,对于一个进程而言,只能存在唯一的VSL文件,VSL文件记录PBU文件链中最后一个PBU的文件具***置信息。VSL文件记录所有PVB的文件具***置信息,以及记录每个PVB的文件具***置信息与其相对应PVB文件索引号的一一对应关系。对于一个进程而言,PVB在被使用内核缓存操作专用指令创建的过程中,硬件所自动产生的PVB文件索引号会与PVB的文件具***置信息形成一一对应的关系,并由硬件将该对应关系自动记录到VSL文件中。所以,当进程得到硬件所反馈的PVB文件索引号,并以该索引号检索所需访问PVB文件时,硬件可以通过VSL文件所记录的PVB文件索引号与PVB文件具***置信息的对应关系准确检索出进程所需要访问的PVB文件具***置信息,并完成进程所需要对目标PVB文件的访问;
在本实施例中,对于一个进程而言,只能存在唯一的PSF文件,PSF文件记录CSL和VSL的文件具***置信息。对于进程而言,进程并不直接访问PSF文件、CSL文件、VSL文件,但是PSF文件是进程被调度,以及进入内核运行的唯一的入口,即在整个处理器***中进程号是进程的唯一身份证明,但是PSF是运行该身份证明所关联进程的唯一入口;
在本实施例中,对于一个进程而言,“数据耦合缓存”是以物理地址直接访问的进程数据的缓存部件,如图3中坐标位置C6所示的PVS。PVS并不是以EFS技术所封装的EF,而是具体的硬件,即缓存部件,每个PVS代表一块“数据耦合缓存”。在PVB与PVS之间需要通过内核缓存操作专用指令完成进程代码从EF格式到物理地址直接访问格式的转换,每次从PVB到PVS的格式转换相关指令都会被记录到VSL文件中,即为“VSL日志”,硬件会为每条“VSL日志”分配唯一的索引号。如图3所示,当进程在处理器内部“载出”及“载入”的循环过程中,内核硬件根据VSL文件中对于相关转换指令的记录恢复进程在“数耦合缓存”的进程数据状态。
实施例3
本发明的一个实施例,在实施例1的基础上,如图3所示的“初始化(入栈)”进程状态,某一父进程(亦即用户程序)创建另一子进程(亦即另一用户程序),并完成在处理器内部缓存结构中对子进程初始化,包括步骤:
在本实施例中,父进程通过EFS专用指令在“***内存”中创建如图3中坐标位置A0所示的PBU文件和CBU文件(由父进程所创建的PBU文件和CBU文件也分别被称之为“原始PBU文件”和“原始CBU文件”),并完成PBU和CBU文件内容的初始化,即为子进程导入程序入口的进程代码和进程变量;
在本实施例中,父进程通过EFS专用指令在“指令共享缓存”中创建如图3中坐标位置A1所示的ECB文件和CSL文件(由父进程所创建的ECB文件也被称之为“原始ECB文件”)。完成对原始ECB文件内容的初始化,即将进程的程序入口进程代码复制到“指令共享缓存”。基于实施例2所述关于ECB文件与CSL文件之间的关系,将原始ECB的相关信息通过EFS专用指令写入到CSL文件(即父进程在创建子进程的过程中需要模拟使用内核缓存操作专用指令被执行时硬件自动完成的对于CSL文件的相关操作)。基于实施例2所述关于ECB到ECS之间转换的关系,完成向CSL文件写入第一条关于ECB到ECS之间转换的记录,该条记录的目的是为程序入口提供一个进程代码的起点,即从原始ECB文件中哪一个位置开始执行程序;
在本实施例中,父进程通过EFS专用指令在“数据共享缓存”中创建如图3中坐标位置A4所示的PVB文件和VSL文件(由父进程所创建的PVB文件也被称之为“原始PVB文件”)。完成对PVB文件内容的初始化,即将进程的程序入口进程变量复制到“数据共享缓存”。基于实施例2所述关于PVB文件与VSL文件之间的关系,将PVB的相关信息通过EFS专用指令写入到VSL文件(即父进程在创建子进程的过程中需要模拟使用内核缓存操作专用指令被执行时硬件自动完成的对于VSL文件的相关操作)。基于实施例2所述关于PVB到PVS之间转换的关系,完成向VSL文件吸入第一条关于PVB到PVS之间转换的记录,该条记录的目的是为程序入口提供需要初始化的变量,即从原始PVB文件中哪一个位置读取程序入口需要初始化的变量;
在本实施例中,父进程使用EFS专用指令将上述所有文件的所有权移交给子进程,令子进程进入进程调度队列,完成对子进程的创建和初始化过程。
实施例4
本发明的一个实施例,在实施例1、实施例2以及实施例3或实施例6的基础上,如图3所示的“载入(出栈)”进程状态,某一进程从进程调度队列被允许进入内核运行,内核硬件将该进程从进程调度队列中调度出(即出栈),实现令该进程进入内核运行的载入操作过程,包括步骤:
在本实施例中,内核硬件从进程调度队列中获取关于需被载入的进程的描述信息,并获取对于缓存操作而言的必要信息,即PSF文件具***置信息;
在本实施例中,内核硬件通过EFS专用指令自动将需被载入的进程的PSF文件剪切到“数据内核缓存”,如图3中虚线M(或虚线N)所示;
在本实施例中,内核硬件通过EFS专用指令读取PSF文件中所记录的关于CSL和VSL的文件具***置信息。依据所读取的文件位置信息分别将CSL文件和VSL文件剪切到“指令内核缓存”和“数据内核缓存”,如图3中虚线B(或虚线C)和虚线L(或虚线O)所示;
在本实施例中,内核硬件通过EFS专用指令读取CSL文件中所记录的关于所有ECB的文件具***置信息。依据所读取的文件具***置信息将所有ECB文件剪切到“指令内核缓存”,如图3中虚线A(或虚线D)所示;
在本实施例中,内核硬件通过EFS专用指令读取VSL文件中所记录的关于所有PVB的文件具***置信息。依据所读取的文件具***置信息将所有PVB文件剪切到“数据内核缓存”,如图3虚线K(或虚线P)所示;
在本实施例中,内核硬件通过EFS专用指令从CSL中获取需要进行从ECB到ECS转换的信息,该转换信息事实上即为用于实现ECB到ECS转换的内核缓存操作专用指令。具体的,用于进行从ECB到ECS转换的具体缓存操作专用指令以字符“ECB2ECS”作为指令符号,内核(包括内核硬件或在内核中运行的软件)执行ECB2ECS指令会将EFS封装的进程代码格式转换成物理地址直接访问的进程代码,即ECB2ECS指令完成从指定EF内部的某一段或全部内容拷贝到指定ECS中的指定位置。ECB2ECS必须携带但不限于携带以下必要参数:“ECB索引号”、“ECS索引号”、“ECS基地址”、“最大偏移地址”、“CSL日志索引号”。基于实施例2关于ECB的介绍,参数“ECB索引号”即为实施例2中的“ECB文件索引号”。参数“ECS索引号”表示目标ECS是那一块“指令耦合缓存”。参数“ECS基地址”表示目标ECS用于存储转换后的进程代码的基地址。参数“最大偏移地址”表示转换后的进程代码的最后一个字节的偏移地址,亦即ECB2ECS所处理的字节数等于参数“最大偏移地址”加1。基于实施例2关于ECB到ECS转换的介绍,参数“CSL日志索引号”即为“CSL日志”的索引号,是硬件反馈回进程的变量;
在本实施例中,内核硬件通过EFS专用指令从VSL中获取需要进行从PVB到PVS转换的信息,该转换信息事实上即为用于实现PVB到PVS转换的内核缓存操作专用指令。具体的,用于进行从PVB到PVS转换的具体缓存操作专用指令以字符“PVB2PVS”作为指令符,内核(包括内核硬件或在内核中运行的软件)执行PVB2PVS指令会将EFS封装的进程代码格式转换成物理地址直接访问的进程代码,即PVB2PVS指令完成从指定EF内部的某一段或全部内容拷贝到指定PVS中的指定位置。PVB2PVS必须携带但不限于携带以下必要参数:“PVB索引号”、“PVS索引号”、“PVS基地址”、“最大偏移地址”、“VSL日志索引号”。基于实施例2关于PVB的介绍,参数“PVB索引号”即为实施例2中的“PVB文件索引号”。参数“PVS索引号”表示目标PVS是那一块“数据耦合缓存”。参数“PVS基地址”表示目标PVS用于存储转换后的进程数据的基地址。参数“最大偏移地址”表示转换后的进程数据的最后一个字节的偏移地址,亦即PVB2PVS所处理的字节数等于参数“最大偏移地址”加1。基于实施例2关于PVB到PVS转换的介绍,参数“VSL日志索引号”即为“VSL日志”的索引号,是硬件反馈回进程的变量;
实施例5
本发明的一个实施例,在实施例3、实施例4的基础上,如图3所示的“运行”进程状态,进入“运行”状态后意味着进程代码开始在内核流水线中的具体执行。运行过程中,绝大多数时间内核流水线中所执行的进程代码均直接访问ECS或PVS,只在需要更新所缓存的进程代码或者进程数据的时候才会使用内核缓存操作专用指令对缓存结构中的其它EF进行操作,包括以下随机步骤:
在本实施例中, 当进程所需访问或预测所需访问的进程数据超出当前所有PVS所覆盖的进程数据范围时,且当所需访问或预测所需访问的进程数据未超出所有PVB所覆盖的进程数据范围时,进程需使用内核缓存操作专用指令完成所超出范围的进程数据从PVB到PVS的转换。具体的,在本实施例中,实现的指令如同实施例4中所述PVB2PVS指令;
在本实施例中,当进程所需访问或预测所需访问的进程数据超出当前所有PVS覆盖范围的进程数据范围时,且当前所需访问或预测所需访问的进程数据超出所有PVB所覆盖的进程数据范围时,进程需使用内核缓存操作专用指令首先在原有PVB文件的基础上完成所超出范围的进程数据从PBU到PVB的重载(所谓“重载”即指从指定PBU的指定位置复制内容作为PVB中的新内容)或者在“数据内核缓存”中创新建的PVB文件并对该新建的PVB文件进行重载。其次再使用实施例4中所述PVB2PVS指令完成进程数据从PVB到PVS的转换。具体的,在本实施例中,用于新建PVB文件的具体缓存操作专用指令以字符“PVBNEW”作为指令符。进程在使用PVBNEW指令新建PVB文件与实施例3中所述使用EFS专用指令创建PVB文件不同,使用PVBNEW指令新建PVB,内核硬件会自动在VSL文件中记录所新建的PVB的文件具***置信息以及PVB文件索引号,PVBNEW必须携带但不限于携带以下必要参数:“PVB索引号”和“最大偏移地址”。基于实施例2关于PVB的介绍,参数“PVB索引号”即为实施例2中的“PVB文件索引号”,是硬件反馈回进程的变量。参数“最大偏移地址”表示所新建的PVB文件所能容纳的字节数为“最大偏移地址”加1。具体的,用于完成PBU到PVB重载的具体缓存操作专用指令以字符“PVBRLD”作为指令符。进程在使用PVBRLD指令完成文件内容从PBU到PVB的复制与实施例3中所述使用EFS专用指令复制内容到PVB文件不同,使用PVBRLD指令需要关联于PBU文件读取位置设置的相关内核缓存操作专用指令。作为EF的PBU文件具有记录上一次被读访问的读取位置信息的固有特性,因此PVBRLD指令并不需要在自身指令参数中指明所需访问PBU文件的读取位置信息。而如果在并不确定PVBRLD所需读取PBU文件的位置是否就是PBU文件本身所记录的读取位置信息相同,那么PVBRLD就必须关联另一内核缓存操作专用指令(即在使用PVBRLD指令之前先执行该指令)重置PBU文件的读访问位置信息,完成重置PBU文件的读访问位置信息的具体缓存操作专用指令以字符“PBUSKR”作为指令符。当所需重载的PVB文件并非新建EF,即所需重载PVB文件具有先期有效进程数据,那么PVBRLD还需关联一个内核缓存操作专用指令(即在使用PVBRLD指令之前先执行该指令)用于将先期有效进程数据返回至指定PBU文件中的指定位置,完成先期有效进程数据返回的的具体缓存操作专用指令以字符“PVBRTN”作为指令符。作为EF的PBU文件具有记录上一次被写访问的写位置信息的固有特性,因此PVBRTN指令并不需要在自身指令参数中指令所需访问的PBU文件的写位置信息。而如果在并不确定PVBRTN所需写PBU文件的位置是否与PBU文件本身所记录的写位置信息相同,那么PVBRTN就必须关联另一内核缓存操作专用指令(即在PVBRTN指令之前先执行该指令)重置PBU文件的写访问位置信息,完成重置PBU文件的写访问位置信息的具体缓存操作专用指令以字符“PBUSKW”作为指令符。PVBRLD必须携带但不限于携带以下必要参数:“PVB索引号”、“PVB基地址”、“最大偏移地址”。基于实施例2关于PVB的介绍,参数“PVB索引号”即为实施例2中的“PVB文件索引号”。参数“PVB基地址”是指所重载的内容存储于PVB文件的基地址。参数“最大偏移地址”是指所重载的内容的字节数为“最大偏移地址”加1。PBUSKR必须携带但不限于携带以下必要参数:“端口号”、“文件号”、“读地址”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号,该参数亦即指明目标PBU文件所在硬件的位置信息。参数“文件号”是指目标PBU文件所在EFS中的文件,该参数亦即指明了目标PBU文件所在EFS中的位置信息。参数“读地址”是指所需重置的对于目标PBU文件的读取位置信息。PVBRTN必须携带但不限于携带以下必要参数:“PVB索引号”、“PVB基地址”、“最大偏移地址”。基于实施例2关于PVB的介绍,参数“PVB索引号”即为实施例2中的“PVB文件索引号”。参数“PVB基地址”是指返回的内容存储于PVB文件的基地址。“最大偏移地址”是指返回的内容的字节数为“最大偏移地址”加1。PVBSKW必须携带但不限于携带以下必要参数:“端口号”、“文件号”、“写地址”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号,该参数亦即指明目标PBU文件所在硬件的位置信息。参数“文件号”是指目标PBU文件所在EFS中的文件号,该参数亦即指明了目标PBU文件所在EFS中的位置信息。参数“写地址”是指所需重置的对于目标PBU文件的写位置信息;
在本实施例中,当进程所需访问或预测所需访问的进程代码超出当前所有ECS所覆盖的进程代码范围时,且当所需访问或预测所需访问的进程代码未超出所有ECB所覆盖的进程代码范围时,进程需使用内核缓存操作专用指令完成所超出范围的进程代码从ECB到ECS的转换。具体的,在本实施例中,实现的指令如同实施例4中所述ECB2ECS指令;
在本实施例中,当进程所需访问或预测所需访问的进程代码超出当前所有ECS覆盖范围的进程代码范围时,且当前所需访问或预测所需访问的进程代码超出所有ECB所覆盖的进程代码范围时,进程需使用内核缓存操作专用指令首先在原有ECB文件的基础上完成所超出范围的进程代码从CBU到ECB的重载(所谓“重载”即指从指定CBU的指定位置复制内容作为ECB中的新内容)或者在“指令内核缓存”中创新建的ECB文件并对该新建的ECB文件进行重载。其次再使用实施例4中所述ECB2ECS指令完成进程代码从ECB到ECS的转换。具体的,在本实施例中,用于新建ECB文件的具体缓存操作专用指令以字符“ECBNEW”作为指令符。进程在使用ECBNEW指令新建ECB文件与实施例3中所述使用EFS专用指令创建ECB文件不同,使用ECBNEW指令新建ECB,内核硬件会自动在CSL文件中记录所新建的ECB的文件具***置信息以及ECB文件索引号,ECBNEW必须携带但不限于携带以下必要参数:“ECB索引号”和“最大偏移地址”。基于实施例2关于ECB的介绍,参数“ECB索引号”即为实施例2中的“ECB文件索引号”,是硬件反馈回进程的变量。参数“最大偏移地址”表示所新建的ECB文件所能容纳的字节数为“最大偏移地址”加1。具体的,用于完成CBU到ECB重载的具体缓存操作专用指令以字符“ECBRLD”作为指令符。进程在使用ECBRLD指令完成文件内容从CBU到ECB的复制与实施例3中所述使用EFS专用指令复制内容到ECB文件不同,使用ECBRLD指令需要关联于CBU文件读取位置设置的相关内核缓存操作专用指令。作为EF的CBU文件具有记录上一次被读访问的读取位置信息的固有特性,因此ECBRLD指令并不需要在自身指令参数中指明所需访问CBU文件的读取位置信息。而如果在并不确定ECBRLD所需读取CBU文件的位置是否与CBU文件本身所记录的读取位置信息相同,那么ECBRLD就必须关联另一内核缓存操作专用指令(即在使用ECBRLD指令之前先执行该指令)重置CBU文件的读访问位置信息,完成重置CBU文件的读访问位置信息的具体缓存操作专用指令以字符“CBUSKR”作为指令符。ECBRLD必须携带但不限于携带以下必要参数:“ECB索引号”、“ECB基地址”、“最大偏移地址”。基于实施例2关于ECB的介绍,参数“ECB索引号”即为实施例2中的“ECB文件索引号”。参数“ECB基地址”是指所重载的内容存储于ECB文件的基地址。参数“最大偏移地址”是指所重载的内容的字节数为“最大偏移地址”加1。CBUSKR必须携带但不限于携带以下必要参数:“端口号”、“文件号”、“读地址”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号,该参数亦即指明目标CBU文件所在硬件的位置信息。参数“文件号”是指目标CBU文件所在EFS中的文件号,该参数亦即指明了目标CBU文件所在EFS中的位置信息。参数“读地址”是指所需重置的对于目标CBU文件的读取位置信息;
在本实施例中,在进程运行的过程中,进程可以通过内核缓存操作专用指令将PVS中的数据及时返回到PVB中(即完成PVB到PVS转换的逆操作)。具体的,在本实施例中,进程使用缓存操作专用指令依据VSL文件中关于PVB到PVS转换的记录将相应PVS中的进程数据恢复到相应PVB文件中的相应位置(如图3中虚线U所示,双向箭头即表示进程数据可以通过PVB2PVS指令和PVSRTN指令在PVB和PVS之间相互转换),用于该操作的具体缓存操作专用指令以字符“PVSRTN”作为指令符。PVSRTN必须携带但不限于携带以下必要参数:“日志索引号”。基于实施例2所述关于PVB到PVS之间转换关系的介绍,参数“日志索引号”即为“VSL日志”索引号,内核硬件依据该索引号在VSL文件中找到对应的记录用于完成进程数据从PVS到PVB的返回;
在本实施例中,在进程运行的过程中,进程可以通过PVBNEW及ECBNEW指令自主地动态拓展进程使用相应缓存的空间,相应地,进程也可以通过内核缓存操作专用指令自主地动态释放进程使用相应缓存的空间。具体的,在本实施例中,用于自主地动态释放PVB的指令以字符“PVBDEL”作为指令符。PVBDEL必须携带但不限于携带以下必要参数:“PVB索引号”。基于实施例2关于PVB的介绍,参数“PVB索引号”即为实施例2中的“PVB文件索引号”。内核硬件在执行PVBDEL指令时也会维护与被释放PVB文件相关的在VSL文件中的关于“PVB文件索引号”的记录。具体的,在本实施例中,用于自主地动态释放ECB的指令以字符“ECBDEL”作为指令符。ECBDEL必须携带但不限于携带以下必要参数:“ECB索引号”。基于实施例2关于ECB的介绍,参数“ECB索引号”即为实施例2中的“ECB文件索引号”。内核硬件在执行ECBDEL指令时也会维护与被释放ECB文件相关的在CSL文件中的关于“ECB文件索引号”的记录;
在本实施例中,在进程运行的过程中,进程可以自主地动态拓展自身进程代码和进程数据在如图3所示的***内存中的空间(即创建更多的CBU文件和PBU文件),进程也可以自主地动态释放进程使用***主存中的空间。在创建或者释放CBU文件或PBU文件的过程中,内核硬件会自动维护CBU文件链或PBU文件链中的文件链接关系。具体的,在本实施例中,用于自主地动态拓展CBU的指令以字符“CBUNEW”作为指令符。CBUNEW必须携带但不限于携带以下必要参数:“端口号”、“文件号”、“最大偏移地址”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号,是硬件反馈回进程的变量。参数“文件号”是指目标CBU文件所在EFS中的文件号,是硬件反馈回进程的变量。参数“最大偏移地址”是指所拓展的新CBU文件的最大字节数为“最大偏移地址”加1。在本实施例中,用于自主地动态拓展PBU的指令以字符“PBUNEW”作为指令符。PBUNEW必须携带但不限于携带以下必要参数:“端口号”、“文件号”、“最大偏移地址”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号,是硬件反馈回进程的变量。参数“文件号”是指目标PBU文件所在EFS中的文件号,是硬件反馈回进程的变量。参数“最大偏移地址”是指所拓展的新PBU文件的最大字节数为“最大偏移地址”加1。在本实施例中,用户自主地动态释放CBU的指令以字符“CBUDEL”作为指令符。CBUDEL必须携带但不限于携带以下必要参数:“端口号”、“文件号”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号。参数“文件号”是指目标CBU文件所在EFS中的文件号。本实施例中,用户自主地动态释放PBU的指令以字符“PBUDEL”作为指令符。PBUDEL必须携带但不限于携带以下必要参数:“端口号”、“文件号”。参数“端口号”是指“***内存”在处理器内部总线控制器上的端口号。参数“文件号”是指目标PBU文件所在EFS中的文件号。
实施例6
本发明的一个实施例,在实施例5的基础上,如图3所示的“载出(入栈)”进程状态,进程处于“运行”状态中会主动或被动地暂时或永久地退出内核流水线。进程无论是暂时或是永久退出内核流水线都会首先进入“载出(入栈)”这一状态。如果是暂时退出内核流水线,那么载出后进程会重新进入进程调度队列。而如果是永久退出内核流水线,那么载出后进程会释放其所有占据的硬件资源,不再进入进程调度队列。进程主动退出内核流水线是由于进程主动执行了内核指令集中的“暂停”指令或者主动执行了“退出”指令。而进程被动退出内核流水线是因为进程在内核流水线中运行的时间已经超过内核对于进程运行时间片的限定范围,为此内核硬件强制让当前进程退出内核流水线并准备调度下一进程进入内核流水线。本实施例完成进程载出过程对于处理器内部缓存的操作过程,包括步骤:
在本实施例中,如果进程是永久退出内核流水线,内核硬件会直接进入“退出”进程状态,否则继续以下步骤;
在本实施例中,内核硬件将进程在流水线中运行的状态及相关编程寄存器复制到PSF文件;
在本实施例中,基于实施例5关于PVSRTN指令的介绍,内核硬件自动使用PVSRTN指令将内容在进程运行过程中被修改过的所有PVS返回到相应PVB文件;
在本实施例中,内核硬件使用EFS专用指令,如图3中虚线S所示,将所有PVB文件剪切到“数据共享缓存”,并将PVB新的文件具***置信息更新到VSL文件中。基于实施例2对于PVB文件索引号的介绍,更新文件具***置信息与PVB文件索引号的对应关系;
在本实施例中,内核硬件使用EFS专用指令,如图3中虚线R所示,将VSL文件剪切到“数据共享缓存”,并将VSL新的文件具***置信息更新到PSF文件中;
在本实施例中,内核硬件使用EFS专用指令,如图3中虚线H所示,将所有ECB文件剪切到“指令共享缓存”,并将ECB新的文件具***置信息更新到CSL文件中。基于实施例2对于ECB文件索引号的介绍,更新文件具***置信息与ECB文件索引号的对应关系;
在本实施例中,内核硬件使用EFS专用指令,如图3中虚线G所示,将CSL文件剪切到“指令共享缓存”,并将CSL新的文件具***置信息更新到PSF文件中;
在本实施例中,内核硬件使用EFS专用指令,如图3中虚线Q所示,将PSF文件剪切到“指令共享缓存”;
在本实施例中,内核硬件向处理器内部总线控制器(如图3所示)发送包含有PSF文件具***置信息的***总线专用指令,令进程重新进入进程调度队列。
实施例7
本发明的一个实施例,在实施例6的基础上,如图3所示的“退出”进程状态,进程进入“退出”状态意味着内核硬件需要完成释放进程所占用全部硬件资源的过程,包括步骤:
在本实施例中,内核硬件使用EFS专用指令读取PSF文件,获取VSL文件具***置信息;
在本实施例中,内核硬件使用EFS专用指令读取VSL文件中所记录的所有PVB文件具***置信息,并使用EFS专用指令将所有PVB文件一一删除;
在本实施例中,内核硬件使用EFS专用指令读取VSL文件中所记录的PBU链中最后一个PBU的文件具***置信息,并使用EFS专用指令从PBU文件中获取PBU链中上一个PBU的文件具***置信息,并使用EFS专用指令将当前PBU文件删除。继而从上一个PBU开始重复上述对于PBU文件删除的过程,直到原始PBU被删除为止;
在本实施例中,内核硬件使用EFS专用指令删除VSL文件;
在本实施例中,内核硬件使用EFS专用指令读取CSL文件中所记录的所有ECB文件具***置信息,并使用EFS专用指令将所有ECB文件一一删除;
在本实施例中,内核硬件使用EFS专用指令读取CSL文件中所记录的CBU链中最后一个CBU的文件具***置信息,并使用EFS专用指令从CBU文件中获取CBU链中上一个CBU的文件具***置信息,并使用EFS专用指令将当前CBU文件删除。继而从上一个CBU开始重复上述对于CBU文件删除的过程,直到原始CBU被删除为止;
在本实施例中,内核硬件使用EFS专用指令删除CSL文件;
在本实施例中,内核硬件使用EFS专用指令删除PSF文件。
Claims (10)
1.一种处理器缓存硬件结构的实现方法,其特征在于,包括步骤:
在硬件实现上将处理器内部运行的进程所需要被缓存的进程代码和进程数据划分为“***主存”、“指令缓存”和“数据缓存”;
“***主存”在硬件实现上可以被处理器内部所有内核访问;
“指令缓存”继续划分为“指令共享缓存”、“指令内核缓存”和“指令耦合缓存”;
“指令共享缓存”在硬件实现上可以被处理器内部所有内核访问;
“指令内核缓存”在硬件实现上只能被处理器内部某一个内核访问;
“指令耦合缓存”在硬件实现上直接与某一“指令内核缓存”连接,且直接与能够访问该“指令内核缓存”的内核流水线连接;
“数据缓存”继续划分为“数据共享缓存”、“数据内核缓存”和“数据耦合缓存”;
“数据共享缓存”在硬件实现上可以被处理器内部所有内核访问;
“数据内核缓存”在硬件实现上只能被处理器内部某一个内核访问;
“数据耦合缓存”在硬件实现上直接与某一“数据内核缓存”连接,且直接与能够访问该“数据内核缓存”的内核流水线连接;
“***主存”与“指令共享缓存”之间在硬件实现上通过处理器内部总线控制器连接;
“***主存”与“指令内核缓存”之间在硬件实现上通过处理器内部总线控制器连接;
“***主存”与“数据共享缓存”之间在硬件实现上通过处理器内部总线控制器连接;
“***主存”与“数据内核缓存”之间在硬件实现上通过处理器内部总线控制器连接;
“指令共享缓存”与“指令内核缓存”之间在硬件实现上通过处理器内部总线控制器连接;
“数据共享缓存”与“数据内核缓存”之间在硬件实现上通过处理器内部总线控制器连接。
2.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,其特征在于,通过基于“嵌入式文件***”技术实现处理器缓存适用于软件操作的逻辑结构,包括步骤:
在硬件实现上,“***主存”以“嵌入式文件***”对其内存管理进行封装;
在硬件实现上,“指令共享缓存”以“嵌入式文件***”对其内存管理进行封装;
在硬件实现上,“指令内核缓存”以“嵌入式文件***”对其内存管理进行封装;
在硬件实现上,“数据共享缓存”以“嵌入式文件***”对其内存管理进行封装;
在硬件实现上,“数据内核缓存”以“嵌入式文件***”对其内存管理进行封装;
在“***主存”内创建用于缓存进程代码的嵌入式文件,可命名为但不限制只命名为CBU,并在创建多个此类文件时形成文件链式管理;
在“指令共享缓存”或“指令内核缓存”内创建用于缓存从CBU中分离出的部分或全部内容的嵌入式文件,可命名为但不限制只命名为ECB,并实现软件可以使用嵌入式文件***专用指令使ECB文件在“指令共享缓存”与“指令内核缓存”之间双向移动;
在“指令共享缓存”内创建用于在进程被初始化及进程运行过程中记录CBU文件相关信息及ECB文件相关信息的嵌入式文件,可命名为但不限制只命名为CSL,并实现软件可以使用嵌入式文件***专用指令使CSL文件在“指令共享缓存”与“指令内核缓存”之间双向移动;
在“***主存”内创建用于缓存进程数据的嵌入式文件,可命名为但不限制只命名为PBU,并在创建多个此类文件时形成文件链式管理;
在“数据共享缓存”或“数据内核缓存”内创建用于缓存从PBU中分离出的部分或全部内容的嵌入式文件,可命名为但不限制只命名为PVB,并实现软件可以使用嵌入式文件***专用指令使PVB文件在“数据共享缓存”与“数据内核缓存”之间双向移动;
在“数据共享缓存”或“数据内核缓存”内创建用于在进程被初始化及进程运行过程中记录PBU文件相关信息及PVB文件相关信息的嵌入式文件,可命名为但不限制只命名为VSL,并实现软件可以使用嵌入式文件***专用指令使VSL文件在“数据共享缓存”与“数据内核缓存”之间双向移动;
在“数据共享缓存”中创建用于在进程被初始化及进程运行过程中记录进程状态、内核流水线状态、CSL文件具***置信息以及VSL文件具***置信息的嵌入式文件,可命名为但不限制只命名为PSF,并实现软件可以使用嵌入式文件***专用指令使PSF文件在“数据共享缓存”与“数据内核缓存”之间双向移动。
3.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,所述的适用于软件操作的逻辑结构还需实现在软件中使用固定的可命名为但不限制只命名为“索引号”的参数来访问文件具***置会因内核硬件的处理而发生变化的ECB文件,包括步骤:
内核硬件执行创建ECB文件的指令时,在CSL文件内记录ECB文件具***置信息,与此同时为该ECB文件具***置信息分配一个唯一的“索引号”与之对应,一并记录于CSL文件内,并将该“索引号”反馈回软件;
当内核硬件移动ECB文件位置时,更改CSL文件中针对该ECB文件所记录的“索引号”所对应的文件具***置信息,使之与该ECB的新的文件具***置信息相同;
软件访问ECB文件时,以“索引号”作为查找目标ECB文件的唯一参数,内核硬件根据这一参数从CSL文件的记录中检索出与“索引号”相对应的ECB文件具***置信息。
4.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,所述的适用于软件操作的逻辑结构还需实现在软件中使用固定的可命名为但不限制只命名为“索引号”的参数来访问文件具***置会因内核硬件的处理而发生变化的PVB文件,包括步骤:
内核硬件执行创建PVB文件的指令时,在VSL文件内记录PVB文件具***置信息,与此同时为该PVB文件具***置信息分配一个唯一的“索引号”与之对应,一并记录于VSL文件内,并将该“索引号”反馈回软件;
当内核硬件移动PVB文件位置时,更改VSL文件中针对该PVB文件所记录的“索引号”所对应的文件具***置信息,使之与该PVB的新的文件具***置信息相同;
软件访问PVB文件时,以“索引号”作为查找目标PVB文件的唯一参数,内核硬件根据这一参数从VSL文件的记录中检索出与“索引号”相对应的PVB文件具***置信息。
5.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要将在“指令内核缓存”中以嵌入式文件***封装的进程代码格式转换成内核流水线可以使用物理地址直接访问的进程代码格式,包括步骤:
在硬件实现上,“指令耦合缓存”保留以物理地址直接访问的方式,一个内核拥有一块或者多块“指令耦合缓存”,每块“指令耦合缓存”可命名为但不限制只命名为ECS;
在进程被初始化的过程中,软件在CSL文件内记录实现从ECB文件的部分或全部内容转换到ECS中的指令,该指令可命名为但不限制之命名为ECB2ECS;
在进程调度进入内核的过程中,内核硬件通过CSL文件中所记录的ECB2ECS指令,完成从ECB到ECS的格式转换;
在进程进入内核运行的过程中,内核硬件执行软件提交的ECB2ECS指令,完成从ECB到ECS的格式转换,与此同时内核硬件将该ECB2ECS指令记录于CSL文件中。
6.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要将在“数据内核缓存”中以嵌入式文件***封装的进程数据格式转换成内核流水线可以使用物理地址直接访问的进程数据格式,包括步骤:
在硬件实现上,“数据耦合缓存”保留以物理地址直接访问的方式,一个内核拥有一块或者多块“数据耦合缓存”,每块“数据耦合缓存”可命名为但不限制只命名为PVS;
在进程被初始化的过程中,软件在VSL文件内记录从PVB文件的部分或全部内容转换到PVS中的指令,该指令可命名为但不限制之命名为PVB2PVS;
在进程调度进入内核的过程中,内核硬件通过VSL文件中所记录的PVB2PVS指令,完成从PVB到PVS的格式转换;
在进程进入内核运行的过程中,内核硬件执行软件提交的PVB2PVS指令,完成从PVB到PVS的格式转换,与此同时内核硬件将该PVB2PVS指令记录于VSL文件中。
7.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要将在“数据耦合缓存”中以物理地址直接访问的进程数据格式转换成“数据内核缓存”中以嵌入式文件***封装的进程数据格式,包括步骤:
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,该指令功能与PVB2PVS指令功能正好完全相反,完成PVS中部分或全部内容转换到PVB中,该内核缓存操作专用指令可命名为但不限制只命名为PVS2PVB;
在进程从内核流水线调度出内核的过程中,内核硬件查找到内容发生变化的PVS的索引号,通过该PVS索引号找到在VSL文件中所记录的与该PVS相对应的PVB2PVS指令,将该PVB2PVS指令转译成PVS2PVB指令,并执行该PVS2PVB指令,完成PVS中部分或全部内容到PVB的格式转换。
8.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要完成进程运行过程中对于***主存资源的自主地动态使用,包括步骤:
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中创建新的CBU文件,该内核缓存操作专用指令可命名为但不限制只命名为CBUNEW,内核硬件执行CBUNEW指令时会维护CBU文件链的文件链接关系,并将新建CBU文件具***置信息以覆盖原有记录的方式记录于CSL文件中;
和/或;
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中创建新的PBU文件,该内核缓存操作专用指令可命名为但不限制只命名为PBUNEW,内核硬件执行PBUNEW指令时会维护PBU文件链的文件链接关系,并将新建PBU文件具***置信息以覆盖原有记录的方式记录于VSL文件中;
和/或;
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中删除已有的CBU文件,该内核缓存操作专用指令可命名为但不限制只命名为CBUDEL,内核硬件执行CBUDEL指令时会维护CBU文件链的文件链接关系,如果被删除的CBU文件为CBU文件链中最后一个文件,内核硬件会自动将新的CBU文件链中最后一个CBU文件具***置信息以覆盖原有记录的方式记录于CSL文件中;
和/或;
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中删除已有的PBU文件,该内核缓存操作专用指令可命名为但不限制只命名为PBUDEL,内核硬件执行PBUDEL指令时会维护PBU文件链的文件链接关系,如果被删除的PBU文件为PBU文件链中最后一个文件,内核硬件会自动将新的PBU文件链中最后一个PBU文件具***置信息以覆盖原有记录的方式记录于VSL文件中。
9.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要完成进程运行过程中对于“指令共享缓存”或“指令内核缓存”资源的自主地动态使用,包括步骤:
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在“指令内核缓存”中创建新的ECB文件,该内核缓存操作专用指令可命名为但不限制只命名为ECBNEW,内核硬件执行ECBNEW指令时会将新建ECB文件具***置信息记录于CSL文件中,并为该ECB文件具***置信息记录分配一个唯一的“索引号”,形成一一对应的关联关系一同记录于CSL文件中;
和/或;
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中删除已有的ECB文件,该内核缓存操作专用指令可命名为但不限制只命名为ECBDEL,内核硬件执行ECBDEL指令时会删除在CSL文件中记录的与被删除ECB文件所对应的“索引号”及文件具***置信息。
10.根据权利要求1所述的一种处理器缓存硬件结构的实现方法,以及权利要求2所述的实现处理器缓存适用于软件操作的逻辑结构,其特征在于,需要完成进程运行过程中对于“数据共享缓存”或“数据内核缓存”资源的自主地动态使用,包括步骤:
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在“数据内核缓存”中创建新的PVB文件,该内核缓存操作专用指令可命名为但不限制只命名为PVBNEW,内核硬件执行PVBNEW指令时会将新建PVB文件具***置信息记录于VSL文件中,并为该PVB文件具***置信息记录分配一个唯一的“索引号”,形成一一对应的关联关系一同记录于VSL文件中;
和/或;
在进程进入内核运行的过程中,内核硬件执行软件提交的内核缓存操作专用指令,完成在***内存中删除已有的PVB文件,该内核缓存操作专用指令可命名为但不限制只命名为PVBDEL,内核硬件执行PVBDEL指令时会删除在VSL文件中记录的与被删除PVB文件所对应的“索引号”及文件具***置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194257.7A CN112231246A (zh) | 2020-10-31 | 2020-10-31 | 一种处理器缓存结构的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194257.7A CN112231246A (zh) | 2020-10-31 | 2020-10-31 | 一种处理器缓存结构的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231246A true CN112231246A (zh) | 2021-01-15 |
Family
ID=74122633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011194257.7A Pending CN112231246A (zh) | 2020-10-31 | 2020-10-31 | 一种处理器缓存结构的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231246A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658552B1 (en) * | 1998-10-23 | 2003-12-02 | Micron Technology, Inc. | Processing system with separate general purpose execution unit and data string manipulation unit |
CN1869855A (zh) * | 2005-05-23 | 2006-11-29 | 深圳市江波龙电子有限公司 | 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法 |
CN1912828A (zh) * | 2005-08-08 | 2007-02-14 | 中国科学院研究生院 | 用于开发计算机***的装置及其方法 |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作***的内核级线程库的实现方法 |
CN101488153A (zh) * | 2009-02-12 | 2009-07-22 | 浙江大学 | 嵌入式Linux下大容量闪存文件***的实现方法 |
CN101706788A (zh) * | 2009-11-25 | 2010-05-12 | 惠州Tcl移动通信有限公司 | 一种嵌入式文件***的跨区访问方法 |
US20100153654A1 (en) * | 2002-08-07 | 2010-06-17 | Martin Vorbach | Data processing method and device |
CN103140828A (zh) * | 2010-09-25 | 2013-06-05 | 英特尔公司 | 基于硬件限制利用可调事务尺寸来动态优化代码的装置、方法和*** |
CN103207844A (zh) * | 2013-04-18 | 2013-07-17 | 上海云间半导体科技有限公司 | 缓存***及缓存访问方法 |
CN103970512A (zh) * | 2014-05-21 | 2014-08-06 | 龙芯中科技术有限公司 | 多核处理器及其并行重放方法 |
US20150106596A1 (en) * | 2003-03-21 | 2015-04-16 | Pact Xpp Technologies Ag | Data Processing System Having Integrated Pipelined Array Data Processor |
CN105302489A (zh) * | 2015-10-30 | 2016-02-03 | 致象尔微电子科技(上海)有限公司 | 一种异构多核远程嵌入式存储器***与方法 |
CN107851066A (zh) * | 2015-07-16 | 2018-03-27 | 高通股份有限公司 | 基于运行时硬件计数器和对应用的离线建立简档的自适应高速缓存架构 |
CN108958813A (zh) * | 2018-06-13 | 2018-12-07 | 北京无线电测量研究所 | 文件***构建方法、装置及存储介质 |
CN110941595A (zh) * | 2019-11-19 | 2020-03-31 | 北京奇艺世纪科技有限公司 | 一种文件***访问方法及装置 |
CN111209228A (zh) * | 2020-01-02 | 2020-05-29 | 上海航天计算机技术研究所 | 一种加速多路星上载荷文件存储的方法 |
-
2020
- 2020-10-31 CN CN202011194257.7A patent/CN112231246A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073741A1 (en) * | 1998-10-23 | 2004-04-15 | Klein Dean A. | Cache management system |
US6658552B1 (en) * | 1998-10-23 | 2003-12-02 | Micron Technology, Inc. | Processing system with separate general purpose execution unit and data string manipulation unit |
US20100153654A1 (en) * | 2002-08-07 | 2010-06-17 | Martin Vorbach | Data processing method and device |
US20150106596A1 (en) * | 2003-03-21 | 2015-04-16 | Pact Xpp Technologies Ag | Data Processing System Having Integrated Pipelined Array Data Processor |
CN1869855A (zh) * | 2005-05-23 | 2006-11-29 | 深圳市江波龙电子有限公司 | 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法 |
CN1912828A (zh) * | 2005-08-08 | 2007-02-14 | 中国科学院研究生院 | 用于开发计算机***的装置及其方法 |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作***的内核级线程库的实现方法 |
CN101488153A (zh) * | 2009-02-12 | 2009-07-22 | 浙江大学 | 嵌入式Linux下大容量闪存文件***的实现方法 |
CN101706788A (zh) * | 2009-11-25 | 2010-05-12 | 惠州Tcl移动通信有限公司 | 一种嵌入式文件***的跨区访问方法 |
CN103140828A (zh) * | 2010-09-25 | 2013-06-05 | 英特尔公司 | 基于硬件限制利用可调事务尺寸来动态优化代码的装置、方法和*** |
CN103207844A (zh) * | 2013-04-18 | 2013-07-17 | 上海云间半导体科技有限公司 | 缓存***及缓存访问方法 |
CN103970512A (zh) * | 2014-05-21 | 2014-08-06 | 龙芯中科技术有限公司 | 多核处理器及其并行重放方法 |
CN107851066A (zh) * | 2015-07-16 | 2018-03-27 | 高通股份有限公司 | 基于运行时硬件计数器和对应用的离线建立简档的自适应高速缓存架构 |
CN105302489A (zh) * | 2015-10-30 | 2016-02-03 | 致象尔微电子科技(上海)有限公司 | 一种异构多核远程嵌入式存储器***与方法 |
CN108958813A (zh) * | 2018-06-13 | 2018-12-07 | 北京无线电测量研究所 | 文件***构建方法、装置及存储介质 |
CN110941595A (zh) * | 2019-11-19 | 2020-03-31 | 北京奇艺世纪科技有限公司 | 一种文件***访问方法及装置 |
CN111209228A (zh) * | 2020-01-02 | 2020-05-29 | 上海航天计算机技术研究所 | 一种加速多路星上载荷文件存储的方法 |
Non-Patent Citations (2)
Title |
---|
BAOYOU ZHENG: "PATS: A New Neural Network Activation Function with Parameter", 《 2020 5TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATION SYSTEMS (ICCCS)》, 16 June 2020 (2020-06-16) * |
WAI-YIM CHING等: "《复杂材料的电子结构的方法》", 《中国科学技术大学出版社》, pages: 165 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2550558C2 (ru) | Сравнение и замена позиции таблицы динамической трансляции адреса | |
US8347029B2 (en) | Systems and methods for fast state modification of at least a portion of non-volatile memory | |
JP3704573B2 (ja) | クラスタシステム | |
JP5431453B2 (ja) | 記憶要求を追加データ記憶コマンドに変換するための装置、システム及び方法 | |
JP5255348B2 (ja) | クラッシュダンプ用のメモリアロケーション | |
US20080235477A1 (en) | Coherent data mover | |
US10387275B2 (en) | Resume host access based on transaction logs | |
US8307178B2 (en) | Storage system, remote copy and management method therefor | |
JP2011521315A (ja) | マルチプロセッサ/マルチスレッド環境における記憶要求を調整するための装置、システム及び方法 | |
US6665747B1 (en) | Method and apparatus for interfacing with a secondary storage system | |
CN110750356B (zh) | 适用于非易失性内存的多核交互方法、***及存储介质 | |
US10019363B2 (en) | Persistent memory versioning and merging | |
CN112612623B (zh) | 一种共享内存管理的方法和设备 | |
US20160210248A1 (en) | Information processing system, method and medium | |
EP1191447A1 (en) | Data consistency memory management system and method and associated multiprocessor network | |
US11074012B2 (en) | Storage device, information processing system, and non-transitory computer-readable storage medium for storing program | |
CN113220729A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
KR20200124070A (ko) | 멀티 코어 솔리드 스테이트 드라이브의 운용 방법 | |
CN107577492A (zh) | 加速文件***读写的nvm块设备驱动方法及*** | |
JP2006318471A (ja) | データ処理におけるメモリキャッシング | |
CN111459400B (zh) | 在存储服务器中进行基于管线的存取管理的方法及设备 | |
CN112231246A (zh) | 一种处理器缓存结构的实现方法 | |
WO2022150996A1 (zh) | 一种处理器缓存结构的实现方法 | |
CN112948336B (zh) | 数据加速方法及缓存单元、电子设备及存储介质 | |
CN115391237A (zh) | 应用于闪存存储控制器中的垃圾回收***及方法 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240802 |