Patents by Inventor Dongrui Fan
Dongrui Fan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20250060968Abstract: A multi-level hybrid algorithm filtering-type branch prediction method and prediction system includes: S1, arranging a first-stage branch target prediction table and a second-stage branch target prediction table; S2, any branch instruction accessing the first-stage branch target prediction table, determining whether the first-stage branch target prediction table hits, and if the first-stage branch target prediction table hits, then entering S3, and if the first-stage branch target prediction table does not hit, then entering S4; S3, determining whether a branch instruction of a current prediction is filtered out by the first-stage branch target prediction table, and if the branch instruction is filtered out, then entering S4, otherwise, then taking a prediction result provided by the first-stage branch target prediction table as a prediction address of the corresponding branch instruction; S4, accessing the second-stage branch target prediction table, and taking a prediction result provided by the second-stagType: ApplicationFiled: August 12, 2022Publication date: February 20, 2025Inventors: Ran ZHANG, Fei WANG, Dongrui FAN
-
Publication number: 20240385956Abstract: A memory state recovery method for a no-MMU environment in emulated CPU chip acceleration includes relocation of a virtual memory area, which involves performing relocation on each virtual memory area in an available physical memory space, converting a base address, which is represented by a virtual address of the virtual memory area, into a physical address, and keeping the length of the address unchanged. The method also includes recovery of memory access data, wherein for each memory access read record, a recovery rule for a storage position is the base address after relocation of the virtual memory area plus an offset; recovery of a stack state, wherein for each stack frame, a recovery rule for a storage position is the base address after relocation of the virtual memory area plus an offset; and recovery of the value of a general register.Type: ApplicationFiled: August 11, 2022Publication date: November 21, 2024Inventors: Zhiying JIANG, Fei WANG, Dongrui FAN
-
Patent number: 10002023Abstract: A method and an apparatus for managing and scheduling tasks in a many-core system are presented. The method improves process management efficiency in the many-core system. The method includes, when a process needs to be added to a task linked list, adding a process descriptor pointer of the process to a task descriptor entry corresponding to the process, and adding the task descriptor entry to the task linked list; if a process needs to be deleted, finding a task descriptor entry corresponding to the process, and removing the task descriptor entry from the task linked list; and when a processor core needs to run a new task, removing an available priority index register with a highest priority from a queue of the priority index register.Type: GrantFiled: December 21, 2015Date of Patent: June 19, 2018Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Lunkai Zhang, DongRui Fan, Hao Zhang, Xiaochun Ye
-
Patent number: 9990229Abstract: A real-time multi-task scheduling method and apparatus for dynamically scheduling a plurality of tasks in the computing system are disclosed. In the method, a processor of the computing system determines that laxity correction should be performed for a currently scheduled task, and then acquires a remaining execution time of the currently scheduled task according to an execution progress of the currently scheduled task and a time for which the currently scheduled task has been executed. After acquiring a laxity of the currently scheduled task according to the remaining execution time of the currently scheduled task and a deadline of the currently scheduled task, the processor determines a priority of the currently scheduled task according to the laxity of the currently scheduled task, and re-determines a priority queue according to the priority of the task. Then, the processor scheduling the plurality of tasks according to the re-determined priority queue.Type: GrantFiled: June 4, 2015Date of Patent: June 5, 2018Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Dongrui Fan, Xiaochun Ye, Da Wang, Hao Zhang
-
Patent number: 9898206Abstract: A memory access processing method and apparatus, and a system. The method includes receiving a memory access request sent by a processor, combining multiple memory access requests received within a preset time period to form a new memory access request, where the new memory access request includes a code bit vector corresponding to memory addresses. A first code bit identifier is configured for the code bits that are in the code bit vector and corresponding to the memory addresses accessed by the multiple memory access requests. The method further includes sending the new memory access request to a memory controller, so that the memory controller executes a memory access operation on a memory address corresponding to the first code bit identifier. The method effectively improves memory bandwidth utilization.Type: GrantFiled: February 5, 2016Date of Patent: February 20, 2018Assignee: HUAWEI TECHNOLOGIES CO., LTD.Inventors: Dongrui Fan, Fenglong Song, Da Wang, Xiaochun Ye
-
Patent number: 9880937Abstract: The present invention provides a dynamic set associative cache apparatus for a processor. When read access occurs, the apparatus first determines a valid/invalid bit of each cache block in a cache set to be accessed, and sets, according to the valid/invalid bit of each cache block, an enable/disable bit of a cache way in which the cache block is located; then, reads valid cache blocks, compares a tag section in a memory address with a tag block in each cache block that is read, and if there is a hit, reads data from a data block in a hit cache block according to an offset section of the memory address.Type: GrantFiled: July 10, 2014Date of Patent: January 30, 2018Assignee: Huawei Technologies Co., Ltd.Inventors: Lingjun Fan, Shibin Tang, Da Wang, Hao Zhang, Dongrui Fan
-
Patent number: 9483321Abstract: A method and an apparatus for determining a to-be-migrated task based on cache awareness in a computing system having multiple processor cores is disclosed. In the method, the computing system determines a source processor core and a destination processor core according to a load of each processor core. Through respectively monitoring the number of cache misses of each task and the number of executed instructions of each task in the source processor core and the destination processor core, the computing system obtain an average cache miss per kilo instructions of the source processor core and an average cache miss per kilo instructions of the destination processor core. Then, the computing system determines, according to the obtained average cache miss per kilo instructions of the source processor core and the destination processor core, a task to be migrated from the source processor core to the destination processor core.Type: GrantFiled: April 1, 2015Date of Patent: November 1, 2016Assignee: Huawei Technologies Co., Ltd.Inventors: Yuanchao Xu, Dongrui Fan, Hao Zhang, Xiaochun Ye
-
Publication number: 20160154590Abstract: A memory access processing method and apparatus, and a system. The method includes receiving a memory access request sent by a processor, combining multiple memory access requests received within a preset time period to form a new memory access request, where the new memory access request includes a code bit vector corresponding to memory addresses. A first code bit identifier is configured for the code bits that are in the code bit vector and corresponding to the memory addresses accessed by the multiple memory access requests. The method further includes sending the new memory access request to a memory controller, so that the memory controller executes a memory access operation on a memory address corresponding to the first code bit identifier. The method effectively improves memory bandwidth utilization.Type: ApplicationFiled: February 5, 2016Publication date: June 2, 2016Inventors: Dongrui Fan, Fenglong Song, Da Wang, Xiaochun Ye
-
Publication number: 20160103709Abstract: A method and an apparatus for managing and scheduling tasks in a many-core system are presented. The method improves process management efficiency in the many-core system. The method includes, when a process needs to be added to a task linked list, adding a process descriptor pointer of the process to a task descriptor entry corresponding to the process, and adding the task descriptor entry to the task linked list; if a process needs to be deleted, finding a task descriptor entry corresponding to the process, and removing the task descriptor entry from the task linked list; and when a processor core needs to run a new task, removing an available priority index register with a highest priority from a queue of the priority index register.Type: ApplicationFiled: December 21, 2015Publication date: April 14, 2016Inventors: Lunkai Zhang, DongRui Fan, Hao Zhang, Xiaochun Ye
-
Publication number: 20150268996Abstract: A real-time multi-task scheduling method and apparatus for dynamically scheduling a plurality of tasks in the computing system are disclosed. In the method, a processor of the computing system determines that laxity correction should be performed for a currently scheduled task, and then acquires a remaining execution time of the currently scheduled task according to an execution progress of the currently scheduled task and a time for which the currently scheduled task has been executed. After acquiring a laxity of the currently scheduled task according to the remaining execution time of the currently scheduled task and a deadline of the currently scheduled task, the processor determines a priority of the currently scheduled task according to the laxity of the currently scheduled task, and re-determines a priority queue according to the priority of the task. Then, the processor scheduling the plurality of tasks according to the re-determined priority queue.Type: ApplicationFiled: June 4, 2015Publication date: September 24, 2015Inventors: Dongrui Fan, Xiaochun Ye, Da Wang, Hao Zhang
-
Publication number: 20150205642Abstract: A method and an apparatus for determining a to-be-migrated task based on cache awareness in a computing system having multiple processor cores is disclosed. In the method, the computing system determines a source processor core and a destination processor core according to a load of each processor core. Through respectively monitoring the number of cache misses of each task and the number of executed instructions of each task in the source processor core and the destination processor core, the computing system obtain an average cache miss per kilo instructions of the source processor core and an average cache miss per kilo instructions of the destination processor core. Then, the computing system determines, according to the obtained average cache miss per kilo instructions of the source processor core and the destination processor core, a task to be migrated from the source processor core to the destination processor core.Type: ApplicationFiled: April 1, 2015Publication date: July 23, 2015Inventors: Yuanchao Xu, Dongrui Fan, Hao Zhang, Xiaochun Ye
-
Publication number: 20140344522Abstract: The present invention provides a dynamic set associative cache apparatus for a processor. When read access occurs, the apparatus first determines a valid/invalid bit of each cache block in a cache set to be accessed, and sets, according to the valid/invalid bit of each cache block, an enable/disable bit of a cache way in which the cache block is located; then, reads valid cache blocks, compares a tag section in a memory address with a tag block in each cache block that is read, and if there is a hit, reads data from a data block in a hit cache block according to an offset section of the memory address.Type: ApplicationFiled: July 10, 2014Publication date: November 20, 2014Inventors: Lingjun Fan, Shibin Tang, Da Wang, Hao Zhang, Dongrui Fan