CN102520911B - 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法 - Google Patents

一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法 Download PDF

Info

Publication number
CN102520911B
CN102520911B CN201110427429.5A CN201110427429A CN102520911B CN 102520911 B CN102520911 B CN 102520911B CN 201110427429 A CN201110427429 A CN 201110427429A CN 102520911 B CN102520911 B CN 102520911B
Authority
CN
China
Prior art keywords
register
read
software
pointer
write pointer
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
CN201110427429.5A
Other languages
English (en)
Other versions
CN102520911A (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.)
Dawning Information System Liaoning Co ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201110427429.5A priority Critical patent/CN102520911B/zh
Publication of CN102520911A publication Critical patent/CN102520911A/zh
Application granted granted Critical
Publication of CN102520911B publication Critical patent/CN102520911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种优化收包设备上的软件操作PCI空间寄存器效率的系统和方法,软件中分别设置了一个读指针和一个写指针的缓存变量,以及一个更新缓存变量和寄存器的步长。在一定的时间范围内,软件收包时只对软件中的读写指针变量进行操作,不对pci空间的寄存器进行操作,每隔一个时间段,才把软件中最新的读指针写入pci空间的读指针寄存器,把pci空间的写指针读取到软件的写指针变量中。与现有技术相比,本发明的有益效果在于:优化收包设备上软件操作PCI空间寄存器的效率。

Description

一种优化收包设备上的软件操作PCI空间寄存器效率的系统和方法
技术领域
本发明属于网络数据处理领域,具体涉及一种优化收包设备上的软件操作PCI空间寄存器效率的系统和方法。
背景技术
在很多专用的高速收包设备上,软硬件往往共享一个报文缓冲区,硬件向缓冲区内写入报文,软件从缓冲区内读出报文,软硬件之间一般通过硬件pci空间的寄存器实现信息交互,其中交互的一个重要信息是报文缓冲区的读写指针,读指针指示软件读取到了缓冲区的什么位置,写指针指示硬件写入到了缓冲区的什么位置。
专利号为“CN201010123369.3”、发明名称为“一种I/O监控方法”公开了一种I/O监控方法,所述方法包括:1.1检测对虚拟硬件设备的端口访问的类型;1.2当通过客户软件模块对虚拟硬件设备PIO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;1.3当通过指令模拟模块对虚拟硬件设备的MMIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输,实现在设备底层对端口的监控。
专利号为“CN03822682.0”、发明名称为“用于控制多个输入/输出设备的方法、系统和程序”公开了一种用于控制耦合到局部总线的一个或多个I/O设备的方法、系统和产品。局部总线功能与所述一个或多个I/O设备相关联。对应于所述局部总线功能的寄存器被配置为存储器地址。经由所配置的寄存器来控制所述一个或多个I/O设备。
在上述方案中,通过读写指针操作缓冲区时,为避免软硬件操作缓冲区的冲突,软硬件每次对缓冲区的操作必须判断和操作读写指针,硬件向报文缓冲区中写入报文前,要查看并比较读写指针寄存器,判断缓冲区是否有空闲空间,写入报文后,要修改写指针寄存器通知软件报文已经被写入。软件从缓冲区收取报文前,要查看并比较读写指针寄存器,判断缓冲区是否有报文,读出报文后,要修改读指针寄存器通知硬件报文已经被读取。在高速设备上,软件每收到一个包都要对硬件保存读写指针的pci空间的寄存器进行读写操作,会带来系统性能的降低。
发明内容
本发明克服现有技术存在的不足,优化软硬件交互方法,减少软件操作pci空间寄存器的次数。
本发明提供了一种优化收包设备上的软件操作PCI空间寄存器效率的系统,包括软件模块和pc i空间寄存器模块,其特征在于软件模块包括读指针缓存模块和写指针缓存模块。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的系统,其pci空间寄存器模块包括读指针寄存器模块和写指针寄存器模块,分别对应于读指针缓存模块和写指针缓存模块。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的系统,其读指针寄存器模块中的读指针,在读指针缓存模块中进行缓存。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的系统,其写指针寄存器模块中的写指针,在写指针缓存模块中进行缓存。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的系统,其软件模块包括更新缓存变量和寄存器的步长的参数。
本发明还提供了一种优化收包设备上的软件操作PCI空间寄存器效率的方法,其软件中分别设置了一个读指针和一个写指针的缓存变量,以及一个更新缓存变量和寄存器的步长的参数。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的方法,所述软件开始运行时,把pci空间的所述写指针寄存器读取到所述软件的写指针变量中缓存,并使所述软件的所述读指针等于所述写指针。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的方法,每次收包时,所述软件检查缓存的读写指针变量,如果读写指针变量不相等,则读取报文,移动缓存的所述读指针。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的方法,所述软件缓存的所述读写指针相等,或者到达了预设的步长参数的时间段,则把所述软件缓存的所述读指针写到所述PCI空间中,并把所述pci空间的所述写指针读取到所述软件缓存的所述写指针变量中。
本发明提供的优化收包设备上的软件操作PCI空间寄存器效率的方法,硬件收到报文时,判断所述读写指针寄存器内的值,如果所述写指针和所述读指针之间有足够的空闲缓冲区,则把报文写入缓冲区,并修改所述写指针寄存器的值。
本发明在软件中分别设置了一个读指针和一个写指针的缓存变量,用来缓存pci空间寄存器中的读写指针,在一定的时间范围内,软件收包时只对软件中的读写指针变量进行操作,不对pci空间的寄存器进行操作,每隔一个时间段,才把软件中最新的读指针写入pci空间的读指针寄存器,把pci空间的写指针读取到软件的写指针变量中。
与现有技术相比,本发明的有益效果在于:避免软硬件操作缓冲区的冲突;优化收包设备上软件操作PCI空间寄存器的效率。
附图说明
图1是本发明的结构示意图。
具体实施方式
图1是本发明的结构示意图,包括软件模块和pci空间寄存器模块,软件模块包括读指针缓存模块和写指针缓存模块。其中pci空间寄存器模块包括读指针寄存器模块和写指针寄存器模块,分别对应于读指针缓存模块和写指针缓存模块。其中读指针寄存器模块被用来写入读指针缓存模块的指针,而写指针寄存器模块用于向写指针缓存模块写入其存储的指针。
此外其软件模块包括更新缓存变量和寄存器的步长的参数,用以预设时间段。
本发明的实现方法和过程如下:
(1)软件中分别设置了一个读指针和一个写指针的缓存变量,以及一个更新缓存变量和寄存器的步长(可以为时间段或表示时间段的收包数)。
(2)软件开始运行时,把pci空间的写指针寄存器读取到软件的写指针变量中缓存,并使软件的读指针等于写指针。
(3)每次收包时,软件检查缓存的读写指针变量,如果读写指针不相等,则读取报文,移动缓存的读指针。
(4)如果软件缓存的读写指针相等,或者到达了预设的时间段,则把软件缓存的读指针写到PCI空间读指针寄存器中,并把pci空间写指针寄存器的写指针读取到软件缓存的写指针变量中。
(5)硬件收到报文时,判断PCI空间读写指针寄存器内的值,如果写指针和读指针之间有足够的空闲缓冲区,则把报文写入缓冲区,并修改写指针寄存器的值。
本发明避免软硬件操作缓冲区的冲突;优化收包设备上软件操作PCI空间寄存器的效率。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

Claims (1)

1.一种优化收包设备上的软件操作PCI空间寄存器效率的系统,包括软件模块和pci空间寄存器模块,其特征在于软件模块包括读指针缓存模块和写指针缓存模块;
pci空间寄存器模块包括读指针寄存器和写指针寄存器,分别对应于读指针缓存模块和写指针缓存模块;
读指针寄存器中的读指针,在读指针缓存模块中缓存;
写指针寄存器中的写指针,在写指针缓存模块中缓存;
软件模块包括更新缓存变量和寄存器的步长的参数;
软件中分别设置了一个读指针和一个写指针的缓存变量,以及一个更新缓存变量和寄存器的步长的参数;
所述软件开始运行时,把pci空间寄存器模块的所述写指针寄存器读取到所述软件的写指针变量中缓存,并使所述软件的所述读指针等于所述写指针;
每次收包时,所述软件检查缓存的读写指针变量,如果读写指针变量不相等,则读取报文,移动缓存的所述读指针;
所述软件缓存的所述读写指针相等,或者到达了预设的步长的时间段,则把所述软件缓存的所述读指针写到所述PCI空间中,并把所述pci空间寄存器模块的所述写指针读取到所述软件缓存的所述写指针变量中;
硬件收到报文时,判断所述读写指针寄存器内的值,如果所述写指针和所述读指针之间有足够的空闲缓冲区,则把报文写入缓冲区,并修改所述写指针寄存器的值。
CN201110427429.5A 2011-12-19 2011-12-19 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法 Active CN102520911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110427429.5A CN102520911B (zh) 2011-12-19 2011-12-19 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110427429.5A CN102520911B (zh) 2011-12-19 2011-12-19 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法

Publications (2)

Publication Number Publication Date
CN102520911A CN102520911A (zh) 2012-06-27
CN102520911B true CN102520911B (zh) 2015-04-29

Family

ID=46291854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110427429.5A Active CN102520911B (zh) 2011-12-19 2011-12-19 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法

Country Status (1)

Country Link
CN (1) CN102520911B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422738B (zh) * 2021-05-18 2023-07-21 上海赫千电子科技有限公司 一种智能主机的mcu通信服务方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446931A (zh) * 2008-12-03 2009-06-03 中国科学院计算技术研究所 一种实现输入输出数据一致性的系统及方法
CN102006241A (zh) * 2010-12-17 2011-04-06 天津曙光计算机产业有限公司 一种多个应用共享一个缓冲区的报文接收方法
CN102098214A (zh) * 2010-12-17 2011-06-15 天津曙光计算机产业有限公司 一种采用轮询机制的高速报文接收方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496699B2 (en) * 2005-06-17 2009-02-24 Level 5 Networks, Inc. DMA descriptor queue read and cache write pointer arrangement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446931A (zh) * 2008-12-03 2009-06-03 中国科学院计算技术研究所 一种实现输入输出数据一致性的系统及方法
CN102006241A (zh) * 2010-12-17 2011-04-06 天津曙光计算机产业有限公司 一种多个应用共享一个缓冲区的报文接收方法
CN102098214A (zh) * 2010-12-17 2011-06-15 天津曙光计算机产业有限公司 一种采用轮询机制的高速报文接收方法

Also Published As

Publication number Publication date
CN102520911A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
US11042297B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US10782978B2 (en) Techniques for cooperative execution between asymmetric processor cores
US9304938B2 (en) Storage device and data transferring method thereof
US8086765B2 (en) Direct I/O device access by a virtual machine with memory managed using memory disaggregation
CN104021109B (zh) 用于在计算机系统中传递中断的技术
US9256545B2 (en) Shared memory access using independent memory maps
CN105094691B (zh) 一种数据操作的方法、设备和系统
CN102521179A (zh) 一种dma读操作的实现装置和方法
CN102033818A (zh) 媒体缓冲和流水线式处理组件
TWI396971B (zh) 記憶體對映頁面優先度技術
KR20210021202A (ko) 직렬로 연결된 전자 장치들 사이의 레이턴시를 감소시키기 위한 컴퓨팅 시스템
CN112114741A (zh) 存储系统
CN101341471B (zh) 动态高速缓存管理的设备和方法
CN102520911B (zh) 一种优化收包设备上的软件操作pci空间寄存器效率的系统和方法
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
CN108959149A (zh) 一种基于共享内存的多核处理器交互总线设计方法
CN105404591B (zh) 处理器系统及其存储器控制方法
TW201342193A (zh) 高效能進階主機控制器介面
CN101303669A (zh) 具备地址转换存储器访问机构的半导体装置
CN105487875B (zh) 程序存储器的控制方法、控制装置及其处理器系统
CN102722446B (zh) 一种面向流处理器的局部内存访问模式动态记录器
CN109634583B (zh) 一种基于SystemC和TLM模型的GPU颜色存储Cache模块的硬件及存储装置
CN106990917B (zh) 文件读写方法及系统
EP4328755A1 (en) Systems, methods, and apparatus for accessing data in versions of memory pages
US11954037B2 (en) Memory address allocation and cache mapping to retain data in cache

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160115

Address after: 124000 Panjin, Liaoning Province, coastal economic zone in the coastal area of the crown building, building 3018, room 3, Liaoning

Patentee after: Dawning Information System (Liaoning) Co.,Ltd.

Address before: 100084 Beijing Haidian District City Mill Street No. 64

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220802

Address after: 124000 room 3018, floor 3, Hongguan building, Liaobin coastal economic zone, Panjin City, Liaoning Province

Patentee after: Dawning Information System (Liaoning) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 124000 room 3018, 3 / F, Hongguan building, Liaobin coastal economic zone, Panjin, Liaoning Province

Patentee before: Dawning Information System (Liaoning) Co.,Ltd.

TR01 Transfer of patent right