CN109086231A - 输入输出设备的访问方法及装置 - Google Patents

输入输出设备的访问方法及装置 Download PDF

Info

Publication number
CN109086231A
CN109086231A CN201710449008.XA CN201710449008A CN109086231A CN 109086231 A CN109086231 A CN 109086231A CN 201710449008 A CN201710449008 A CN 201710449008A CN 109086231 A CN109086231 A CN 109086231A
Authority
CN
China
Prior art keywords
address
access
data
destination address
read
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.)
Granted
Application number
CN201710449008.XA
Other languages
English (en)
Other versions
CN109086231B (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710449008.XA priority Critical patent/CN109086231B/zh
Publication of CN109086231A publication Critical patent/CN109086231A/zh
Application granted granted Critical
Publication of CN109086231B publication Critical patent/CN109086231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

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

Abstract

本发明提供的输入输出设备的访问方法及装置,通过接收并根据处理器核心发出的IO访问操作的目标地址,按照预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。当确定IO访问操作为可加速写操作时,将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当确定IO访问操作为可加速读操作时,向IO设备发送包括目标地址的第一读取请求以及目标地址的后续地址的第二读取请求,并接收IO设备返回的第一数据和第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区,从而提高了IO设备的读操作和写操作的速度,进而提高了访问效率。

Description

输入输出设备的访问方法及装置
技术领域
本发明涉及一种计算机技术,尤其涉及一种输入输出设备的访问方法及装置。
背景技术
现有的微机架构中,处理器核心与处理器核心以外的功能器件(如显卡、鼠标等)的通信交互是通过输入输出(Input Output,简称IO)总线完成的,在其IO总线上传输的指令被称为IO访问操作。
一般来说,由于处理器核心所发出的IO访问操作(如读操作和写操作)是直接针对输入输出设备(如输入输出设备中寄存器或存储空间)所发出的,而接收到该IO访问操作的输入输出设备需要严格按照IO访问操作中的配置操作顺序执行,以保证输入输出设备的正常运转。例如,当处理器核心向某一输入输出设备发送IO写操作时,处理器核心会将该IO写操作存入缓存里预先建立的一待提交列表中,只有该输入输出设备完成相应的写操作并向处理器核心进行反馈之后,处理器核心才能将待提交列表中的相应IO写操作标记为提交完成执行。又例如,当处理器核心向某一输入输出设备发送IO读操作时,输入输出设备将根据IO读操作中的目标地址读取相应存储区域内的数据并将数据反馈给处理器核心。
也就是说,现有的利用IO总线对输入输出设备进行操作的处理方式虽然能够确保IO访问操作的正确性和顺序性,但是在访问的交互过程中需要消耗大量的处理器核心时钟周期,其效率很低。
发明内容
针对上述涉及的现有的输入输出设备的访问过程中,需要消耗大量的处理器核心时钟周期,访问效率的问题,本发明提供了一种输入输出设备的访问方法及装置。
一方面,本发明提供了一种输入输出设备的访问方法,包括:
接收处理器核心发出的IO访问操作;
根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;
根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;
当确定所述IO访问操作为可加速写操作时,将所述IO访问操作写入缓冲列表,并向所述处理器核心反馈IO访问操作的写成功信号;
当确定所述IO访问操作为可加速读操作时,向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区。进一步地,当确定所述IO访问操作为可加速读操作时,在所述向IO设备发送包括所述目标地址的第一读取请求之前,还包括:
确定所述数据缓冲区内是否存有与所述目标地址相应的第一数据;
相应的,所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区,包括:
当所述数据缓冲区内存有与所述目标相应的第一数据时,将所述第一数据发送至处理器核心,并向所述IO设备发送所述包括所述目标地址的后续地址的第二读取请求,接收所述IO设备根据所述第二读取请求返回的第二数据;将所述第二数据存入数据缓冲区;
当所述数据缓冲区内不存有与所述目标相应的第一数据时,执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
进一步地,所述寄存器组为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一个;
相应的,所述根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,包括:
对所述目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当所述第一运算地址等于预设的基址地址时,所述IO访问操作命中与所述第一寄存器组对应的第一判定逻辑;
或者,当所述目标地址大于等于预设的基址地址且所述目标地址大于等于预设的地址大小时,所述IO访问操作命中与所述第二寄存器组对应的第二判定逻辑;
或者,所述目标地址大于等于预设的起始地址且所述目标地址小于等于预设的结束地址时,所述IO访问操作命中与所述第三寄存器组对应的第三判定逻辑。
进一步地,所述预设属性位位于寄存器组的低两位;
所述根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型,包括:
根据所述寄存器组中的同一寄存器的第0位和第1位分别确定所述IO访问操作是否为可加速读操作和是否为可加速写操作。
进一步地,所述确定所述IO访问操作为可加速读操作之后,还包括:
判断所述缓冲列表中是否包括所述IO访问操作;
若不包括,则执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤;
若包括,则在所述缓冲列表中的所述IO访问操作完成之后执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
进一步地,若根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型为不可加速写操作和不可加速读操作,则将所述IO访问操作发送至IO设备。
另一方面,本发明还提供了一种输入输出设备的访问装置,包括:地址区分模块、读加速模块和写加速模块;
其中,所述地址区分模块接收处理器核心发出的IO访问操作;根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;
当所述地址区分模块确定所述IO访问操作为可加速写操作时,所述写加速模块将所述IO访问操作写入缓冲列表,并向所述处理器核心反馈IO访问操作的写成功信号;
当所述地址区分模块确定所述IO访问操作为可加速读操作时,所述读加速模块向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区。
进一步地,当所述地址区分模块确定所述IO访问操作为可加速读操作时,在所述读加速模块向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求之前,所述地址区分模块还确定所述数据缓冲区内是否存有与所述目标地址相应的第一数据;
所述读加速模块在所述地址区分模块确定所述数据缓冲区内存有与所述目标相应的第一数据时,将所述第一数据发送至处理器核心,并向所述IO设备发送所述包括所述目标地址的后续地址的第二读取请求,接收所述IO设备根据所述第二读取请求返回的第二数据;将所述第二数据存入数据缓冲区;
所述读加速模块在所述地址区分模块确定所述数据缓冲区内不存有与所述目标相应的第一数据时,所述读加速模块执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
进一步地,所述寄存器组为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一个;
相应的,所述地址区分模块,具体用于:
对所述目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当所述第一运算地址等于预设的基址地址时,所述IO访问操作命中与所述第一寄存器组对应的第一判定逻辑;或者,当所述目标地址大于等于预设的基址地址且所述目标地址大于等于预设的地址大小时,所述IO访问操作命中与所述第二寄存器组对应的第二判定逻辑;或者,所述目标地址大于等于预设的起始地址且所述目标地址小于等于预设的结束地址时,所述IO访问操作命中与所述第三寄存器组对应的第三判定逻辑。
进一步地,所述预设属性位位于寄存器组的低两位;
所述地址区分模块具体用于:
根据所述寄存器组中的同一寄存器的第0位和第1位分别确定所述IO访问操作是否为可加速读操作和是否为可加速写操作。
进一步地,在所述地址区分模块确定所述IO访问操作为可加速读操作之后,所述读加速模块接收所述写加速模块中的缓存列表,并判断所述缓冲列表中是否包括所述IO访问操作;
若不包括,则所述读加速模块执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤;
若包括,则所述读加速模块在所述缓冲列表中的所述IO访问操作完成之后执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
进一步地,若所述地址区分模块根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型为不可加速写操作和不可加速读操作,则将所述IO访问操作发送至IO设备。
本发明提供的输入输出设备的访问方法及装置,通过接收处理器核心发出的IO访问操作,根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。当确定所述IO访问操作为可加速写操作时,将所述目标地址写入缓冲列表,并向所述处理器核心反馈IO访问操作的写成功信号;当确定所述IO访问操作为可加速读操作时,向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区,从而能够在保证IO访问操作的正确性的前提下,对IO访问操作类型为可加速写操作和可加速读操作的操作进行加速处理,提高了IO设备的访问速度,进而提高了访问效率。
附图说明
图1为本发明实施例一提供的一种输入输出设备的访问方法的流程图;
图2为本发明实施例二提供的一种输入输出设备的访问方法的流程图;
图3为本发明实施例三提供的一种输入输出设备的访问方法的流程图;
图4为本发明实施例四提供的一种输入输出设备的访问装置的结构示意图;
图5为本发明实施例四提供的一种微机架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
现有的微机架构中,处理器核心与处理器核心以外的功能器件(如显卡、鼠标等)的通信交互是通过输入输出(Input Output,简称IO)总线完成的,处理器核心的IO指令通过控制IO总线进行IO数据传输被称为IO访问操作,即读操作和写操作。一般来说,处理器核心发出的若干连续的IO访问操作后,当这些IO访问操作确定已到达输入输出设备(以下简称IO设备),且使IO设备按照IO访问操作的执行顺序去执行这些操作以使IO设备的硬件状态产生变化时,处理器核心才会接收到IO访问操作完成的信号。
但是,由于IO设备种类和结构的不同,某些IO设备的对IO访问操作的操作顺序的要求并不严格:当IO访问操作为不针对其配置空间进行的读取操作时这些IO设备可利用自身设备中存在的存储空间对IO访问操作及其相应的操作顺序进行存储。举例来说,当IO设备为显卡时,由于其自身结构中存有显存空间和配置空间,当显卡在接收到IO访问操作是针对其显存空间的读操作或写操作时,显卡可采用类似内存的连续写入无需等待的方式以实现显存空间的连续读取操作;但是,当IO访问操作是针对其配置空间的读操作或写操作时,显卡则需要按照传统的方式执行IO访问操作。
利用上述原理,图1为本发明实施例一提供的一种输入输出设备的访问方法的流程图,如图1所示,本发明实施例一提供的输入输出设备的访问方法包括以下步骤:
步骤101、接收处理器核心发出的IO访问操作。
首先,处理器核心执行IO访问指令,并通过IO总线发出与该IO访问指令相应的IO访问操作至输入输出设备的访问装置。
需要说明的是,本实施例提供的输入输出设备的访问方法的执行主体具体可为输入输出设备的访问装置,其物理形态具体可为搭载相应逻辑电路的芯片结构,电路结构等;或者,其还可为由寄存器、存储器等计算机硬件组成的硬件装置等,本实施例对此不进行限制。同时,该IO设备的访问装置具体可设置在IO设备与处理器核心之间,其可通过IO总线分别与IO设备和处理器核心完成电连接。
步骤102、根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑。
其中,预设的多种判定逻辑具体可为用于判定IO访问操作的目标地址所对应的IO设备的判定逻辑,其数量为多种。一般来说,微机架构中会包含有大量的IO设备,其每一IO设备以及其每一IO设备的不同类型的空间都将对应不同的地址。通过按照预设的多种判定逻辑可实现对IO访问操作中的目标地址的判定,从而找到该IO访问操作命中的那个判定逻辑,实现对执行该IO访问操作的IO设备的确定。
步骤103、根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。
具体来说,在IO设备的访问装置根据所要IO访问操作中所要访问的目标地址,在多种判定逻辑中确定所命中的具体判定逻辑之后,还根据与命中的判定逻辑所对应的寄存器组中的预设属性位确定IO访问操作的类型。需要说明是,每种判定逻辑可采用一组寄存器组实现,而每组寄存器组上都有预设属性位,该预设属性位可用于标识该判定逻辑的IO访问操作的类型,IO访问操作的类型具体为可加速读操作、不可加速读操作、可加速写操作以及不可加速写操作。
步骤104、当确定IO访问操作为可加速写操作时,将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当确定IO访问操作为可加速读操作时,向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区。
当IO设备的访问装置根据命中的判定逻辑所对应的寄存器组的预设属性位确定出IO访问操作的类型为可加速写操作时,IO设备的访问装置将IO访问操作中的目标操作写入预设的缓冲列表的队列尾,并直接向处理器核心反馈IO访问操作的写成功信号,以使处理器核心将与该IO访问操作相应的IO访问指令的执行状态标记为完成。其中,缓冲列表具体可为一硬件循环队列。当该缓冲列表不为空时,IO设备的访问装置将从该缓冲列表的队列头开始,根据缓冲列表中的各目标操作,并逐项执行直至缓冲列表为空。也就是说,相对于现有技术,本发明中的处理器核心在接收到写成功信号所需要的处理器核心时钟周期更短,其执行效率和执行速度将得到提高。
而当IO设备的访问装置根据命中的判定逻辑所对应的寄存器组的预设属性位确定出IO访问操作的类型为可加速读操作时,IO设备的访问装置向与该访问装置电连接的IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,以使IO设备可根据第一读取请求读取并返回与该第一读取请求对应的第一数据以及读取并返回与该第二读取请求对应的第二数据。IO设备的访问装置第一数据和第二数据之后,将第一数据发送至处理器核心,将第二数据存入IO设备的访问装置的数据缓冲区。其中,目标地址的后续地址可为访问装置根据预设规则自行获取的。例如:预设规则可定义为后续地址为目标地址的后8位,也就是说,若某可加速读操作的目标地址读取某一数据的第8-15位数据,则访问装置在进行读取第8-15为数据的同时,还根据目标地址的后续地址预先读取该数据的第16-23位地址数据,并将读取的第16-23位地址数据存入数据缓冲区,以供后续使用。
优选地,在上述实施方式的基础上,若根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型既不为加速度操作,也不为加速写操作时,则将IO访问操作直接发送至IO设备。换句话说,当IO访问操作的类型不为加速度操作和加速写操作中的任意一种类型操作时,说明该IO访问操作的执行对象为某一类IO设备的配置空间,如显卡的配置空间等,此时,这种类型的IO访问操作需要按传统的方式执行,即IO设备的访问装置直接将该IO访问操作发送至IO设备,以使IO设备按照现有的操作方式直接执行该IO访问操作,IO设备的硬件状态产生变化时向处理器核心反馈IO访问操作完成的信号。
优选地,在上述实施方式的基础上,为了进一步提高执行效率,当访问装置确定IO访问操作为可加速读操作之后,还包括对缓冲列表中是否包括该IO访问操作的判断;若缓冲列表中不包括该IO访问操作,则执行向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求的步骤;若缓冲列表中包括该IO访问操作,则在所述缓冲列表中的所述IO访问操作的目标操作完成之后执行向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求的步骤。通过这样的实施方式,从而有效的保持可加速读操作与可加速写操作的数据一致性。
本实施例一提供的输入输出设备的访问方法通过接收处理器核心发出的IO访问操作,根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。当确定IO访问操作为可加速写操作时,将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当确定IO访问操作为可加速读操作时,向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区,从而能够在保证IO访问操作的正确性的前提下,对IO访问操作类型为可加速写操作和可加速读操作的操作进行加速处理,提高了IO设备的访问速度,进而提高了访问效率。
为了进一步提高IO设备访问效率,在图1所示实施例一的基础上,图2为本发明实施例二提供的一种输入输出设备的访问方法的流程图。
如图2所示,本实施例二提供的输入输出设备的访问方法包括如下步骤:
步骤201、接收处理器核心发出的IO访问操作。
步骤202、根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑。
步骤203、根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。当确定IO访问操作为可加速写操作时,执行步骤204;当确定IO访问操作为可加速读操作时,执行步骤205。
步骤204、将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号。
需要说明的是,本实施例提供的输入输出设备的访问方法的执行主体具体可为输入输出设备的访问装置,其物理形态具体可为搭载相应逻辑电路的芯片结构,电路结构等;或者,其还可为由寄存器、存储器等计算机硬件组成的硬件装置等,本实施例对此不进行限制。同时,该IO设备的访问装置具体可设置在IO设备与处理器核心之间,其可通过IO总线分别与IO设备和处理器核心完成电连接。
上述步骤201-204与实施例一中的相应部分类似:首先,处理器核心执行IO访问指令,并通过IO总线发出与该IO访问指令相应的IO访问操作其发送至输入输出设备的访问装置。随后,访问装置通过按照预设的多种判定逻辑可实现对IO访问操作中的目标地址的判定,从而找到该IO访问操作命中的那个判定逻辑,实现对执行该IO访问操作的IO设备的确定。在IO设备的访问装置根据所要IO访问操作中所要访问的目标地址,在多种判定逻辑中确定所命中的具体判定逻辑之后,还根据与命中的判定逻辑所对应的寄存器组中的预设属性位确定IO访问操作的类型。需要说明是,每种判定逻辑可采用一组寄存器组实现,而每组寄存器组上都有预设属性位,该预设属性位可用于标识该判定逻辑的IO访问操作的类型,IO访问操作的类型具体为可加速读操作、不可加速读操作、可加速写操作以及不可加速写操作。而当IO设备的访问装置根据命中的判定逻辑所对应的寄存器组的预设属性位确定出IO访问操作的类型为可加速写操作时,IO设备的访问装置将IO访问操作中的目标操作写入预设的缓冲列表排在该缓冲列表的队列尾,并直接向处理器核心反馈IO访问操作的写成功信号,以使处理器核心将与该IO访问操作相应的IO访问指令的执行状态标记为完成。其中,缓冲列表具体可为一硬件循环队列。当该缓冲列表不为空时,IO设备的访问装置将从该缓冲列表的队列头开始,根据缓冲列表中的各目标操作,并逐项执行直至缓冲列表为空。
步骤205、确定数据缓冲区内是否存有与目标地址相应的第一数据。
其中,当数据缓冲区内存有与目标相应的第一数据时,执行步骤206;当数据缓冲区内不存有与目标相应的第一数据时,执行步骤207。
步骤206、将第一数据发送至处理器核心,并向IO设备发送包括目标地址的后续地址的第二读取请求,接收IO设备根据第二读取请求返回的第二数据,将第二数据存入数据缓冲区。
步骤207、向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区。
与实施例一不同的是,本实施例二在确定IO访问操作为可加速读操作时,还包括有对数据缓冲区内是否存有与IO访问操作的目标地址相应的第一数据的判定步骤。
在当数据缓冲区内存有与目标相应的第一数据时,访问装置将第一数据直接发送至处理器核心,并向IO设备发送包括目标地址的后续地址的第二读取请求,接收IO设备根据第二读取请求返回的第二数据,将第二数据存入数据缓冲区。也就是说,在本实施例中,若第一数据已经被预先读取并存储至数据缓冲区,则访问装置可直接将该第一数据发送至处理器核心,与此同时,与实施例一类似的,访问装置还将同时在数据缓冲区预存第二数据,以供后续使用。需要说明的是,该数据缓冲区可采用覆盖的方式进行数据存储,如当访问装置读取到第二数据,则直接将第二数据存入数据缓冲区,此时第二数据将覆盖数据缓冲区内的第一数据,完成数据更新;此外,该数据缓冲区也可采用设置一预设存储时限的方式对数据进行存储,如,当访问装置将第一数据存入数据缓冲区时,可设定一预设存储时限(例如1秒或若干处理器核心时钟周期等),当第一数据在数据缓冲区内被存储的时长达到该预设存储时限时,数据缓冲区将该第一数据删除,以存储资源的浪费。通过这样的实施方式,能够快速获取要读取的数据,进一步提高IO设备的访问效率。
而在当数据缓冲区内不存有与目标相应的第一数据时,与实施例一步骤104中的相应内容类似:访问装置直接向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区。
本实施例二提供的输入输出设备的访问方法,通过在确定IO访问操作为可加速读操作时,还对数据缓冲区内是否存有与目标地址相应的第一数据进行判定,以使当第一数据已经被预先读取并存储至数据缓冲区时,该与目标地址对应的第一数据能够直接被发送至处理器核心,进一步提高了IO设备的访问效率。
为了进一步阐述本发明提供的输入输出设备的访问方法,在上述实施例一或实施例二任意实施例所示实施方式的基础上,图3为本发明实施例三提供的一种输入输出设备的访问方法的流程图。
如图3所示,本实施例三提供的输入输出设备的访问方法包括如下步骤:
步骤301、接收处理器核心发出的IO访问操作。
需要说明的是,本实施例提供的输入输出设备的访问方法的执行主体具体可为输入输出设备的访问装置,其物理形态具体可为搭载相应逻辑电路的芯片结构,电路结构等;或者,其还可为由寄存器、存储器等计算机硬件组成的硬件装置等,本实施例对此不进行限制。同时,该IO设备的访问装置具体可设置在IO设备与处理器核心之间,其可通过IO总线分别与IO设备和处理器核心完成电连接。
处理器核心执行IO访问指令,并通过IO总线发出与该IO访问指令相应的IO访问操作至输入输出设备的访问装置。
步骤302、根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑。
步骤303、根据命中的判定逻辑所对应的寄存器组中的同一寄存器的第0位和第1位分别确定IO访问操作的类型。
与上述实施例一或二不同的是,在本实施例三的步骤302-303中,一组寄存器组具体可由两个不同类型的寄存器组成,每组寄存器组都可对应一种相应的判定逻辑。例如,上述步骤302中的寄存器组具体可为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一组寄存器组。
其中的基址寄存器可用于标识判定逻辑所约束地址的起始地址;掩码寄存器用于对目标地址进行位与操作;地址大小寄存器用于标识判定逻辑所约束地址的地址大小;起始地址寄存器用于标识判定逻辑所约束地址的起始地址;结束地址寄存器用于标识判定逻辑所约束地址的结束地址。
相应的,如上述的,由于每一组寄存器组都对应一种判定逻辑,本实施例三中的步骤302具体可为:当对目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当第一运算地址等于预设的基址地址时,IO访问操作命中与第一寄存器组对应的第一判定逻辑;或者,当目标地址大于等于预设的基址地址且目标地址大于等于预设的地址大小时,IO访问操作命中与所述第二寄存器组对应的第二判定逻辑;或者,目标地址大于等于预设的起始地址且目标地址小于等于预设的结束地址时,IO访问操作命中与第三寄存器组对应的第三判定逻辑。
此外,本领域技术人员也可采用其他类型寄存器的组合方式实现上述功能,本实施例对此不进行限制。
此外,在步骤303中,由于IO设备的地址一般都是从一个对齐程度较高的地址位开始的,其若干低位一般为0。因此,可将预设属性位设置于寄存器组的低两位,具体来说,可根据寄存器组中的同一寄存器的第0位和第1位分别确定IO访问操作是否为可加速读操作和是否为可加速写操作。例如,当命中的寄存器组为第一寄存器组或第二寄存器组时,预设属性位可设置于基址寄存器的第0位和第1位;当命中的寄存器组为第三寄存器组时,预设属性位可设置于起始地址寄存器的第0位和第1位。
此外,每一个地址位可分别标识一个操作类型,如当第0位为1时表示命中该判定逻辑的IO访问操作的类型为可加速读操作,当第0位为0时表示命中该判定逻辑的IO访问操作的类型为不可加速读操作,当第1位为1时表示命中该判定逻辑的IO访问操作的类型为可加速写操作,当第1位为1时表示命中该判定逻辑的IO访问操作的类型为可加速写操作。同时,还可采用组合地址位的方式标识操作类型,如当第0位和第1位同时为0时,命中该判定逻辑的IO访问操作的类型为可加速读操作,当第0位和第1位同时为1时,命中该判定逻辑的IO访问操作的类型为可加速写操作等。本领域技术人员还可采用其他方式完成对操作类型的标识,本实施例三对此不进行限制。
步骤304、当确定IO访问操作为可加速写操作时,将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当确定IO访问操作为可加速读操作时,向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区。
当IO设备的访问装置根据命中的判定逻辑所对应的寄存器组的预设属性位确定出IO访问操作的类型为可加速写操作时,IO设备的访问装置将IO访问操作中的目标操作写入预设的缓冲列表的队列尾,并直接向处理器核心反馈IO访问操作的写成功信号,以使处理器核心将与该IO访问操作相应的IO访问指令的执行状态标记为完成。其中,缓冲列表具体可为一硬件循环队列。当该缓冲列表不为空时,IO设备的访问装置将从该缓冲列表的队列头开始,根据缓冲列表中的各目标操作,并逐项执行直至缓冲列表为空。也就是说,相对于现有技术,本发明中的处理器核心在接收到写成功信号所需要的处理器核心时钟周期更短,其执行效率和执行速度将得到提高。
二当IO设备的访问装置根据命中的判定逻辑所对应的寄存器组的预设属性位确定出IO访问操作的类型为可加速读操作时,IO设备的访问装置将向与该访问装置电连接的IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,以使IO设备可根据第一读取请求读取并返回与该第一读取请求对应的第一数据以及读取并返回与该第二读取请求对应的第二数据。IO设备的访问装置第一数据和第二数据之后,将第一数据发送至处理器核心,将第二数据存入IO设备的访问装置的数据缓冲区。其中,目标地址的后续地址可为访问装置根据预设规则自行获取的。例如:预设规则可定义为后续地址为目标地址的后8位,也就是说,若某可加速读操作的目标地址读取某一数据的第8-15位数据,则访问装置在进行读取第8-15为数据的同时,还根据目标地址的后续地址预先读取该数据的第16-23位地址数据,并将读取的第16-23位地址数据存入数据缓冲区,以供后续使用。
需要说明的是,本实施例三中的步骤304也可采用与实施例二中的步骤204-207的方式实现,在此不进行赘述。
本发明实施例三提供的输入输出设备的访问装置通过接收处理器核心发出的IO访问操作,根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型。当确定IO访问操作为可加速写操作时,将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当确定IO访问操作为可加速读操作时,向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区,从而能够在保证IO访问操作的正确性的前提下,对IO访问操作的类型进行筛选,以使类型为可加速写操作和可加速读操作的操作进行加速处理,提高了IO设备的访问速度,进而提高了访问效率。
图4为本发明实施例四提供的一种输入输出设备的访问装置的结构示意图。如图4所示,本实施例四提供的输入输出设备的访问装置包括:
地址区分模块10、读加速模块20和写加速模块30。
其中,地址区分模块10接收处理器核心发出的IO访问操作;根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;当地址区分模块10确定IO访问操作为可加速写操作时,写加速模块30将IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当地址区分模块10确定IO访问操作为可加速读操作时,读加速模块20向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区。
具体来说,上述的地址区分模块10、读加速模块20和写加速模块30的物理形态具体可为搭载相应逻辑电路的芯片结构,电路结构等;或者,其还可为由寄存器、存储器等计算机硬件组成的硬件装置。其中,上述模块两两之间可通过串行接口等器件进行物理连接,以实现上述功能。
同时,图5为本发明实施例四提供的一种微机架构示意图,如图5所示,由地址区分模块10、读加速模块20和写加速模块30组成的IO设备的访问装置40具体可设置在IO设备60与处理器核心50之间,其通过IO总线分别与IO设备60和处理器核心50完成电连接和数据交互。
优选地,当地址区分模块10确定IO访问操作为读操作时,在读加速模块20向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求之前,地址区分模块10还用于确定数据缓冲区内是否存有与目标地址相应的第一数据;
相应的,读加速模块20在地址区分模块10确定数据缓冲区内存有与目标相应的第一数据时,将所述第一数据发送至处理器核心50,并向IO设备60发送包括所述目标地址的后续地址的第二读取请求,接收IO设备60根据所述第二读取请求返回的第二数据;将所述第二数据存入数据缓冲区;读加速模块20在地址区分模块10确定数据缓冲区内不存有与所述目标相应的第一数据时,读加速模块20执行向IO设备60发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求的步骤。
优选地,寄存器组为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一个;相应的,地址区分模块10,具体用于:对目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当第一运算地址等于预设的基址地址时,IO访问操作命中与第一寄存器组对应的第一判定逻辑;或者,当当所述目标地址大于等于预设的基址地址且所述目标地址大于等于预设的地址大小时,IO访问操作命中与第二寄存器组对应的第二判定逻辑;或者,目标地址大于等于预设的起始地址且目标地址小于等于预设的结束地址时,IO访问操作命中与第三寄存器组对应的第三判定逻辑。
优选地,预设属性位位于寄存器组的低两位;地址区分模块10具体用于:根据寄存器组中的同一寄存器的第0位和第1位分别确定IO访问操作是否为可加速读操作和是否为可加速写操作。
优选地,在地址区分模块10确定IO访问操作为可加速读加速操作之后,读加速模块20接收写加速模块30中的缓存列表,并判断缓冲列表中是否包括IO访问操作;若不包括,则读加速模块20执行向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求的步骤;若包括,则所述读加速模块20在缓冲列表中的IO访问操作完成之后执行向IO设备60发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求的步骤。
优选地,若地址区分模块10根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型为不可加速写操作和不可加速读操作,则将IO访问操作发送至IO设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程以及相应的有益效果,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明提供的输入输出设备的访问装置,通过地址区分模块10接收处理器核心发出的IO访问操作;根据IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;根据命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;当地址区分模块10确定IO访问操作为可加速写操作时,写加速模块30将所IO访问操作写入缓冲列表,并向处理器核心反馈IO访问操作的写成功信号;当地址区分模块10确定IO访问操作为可加速读操作时,读加速模块20向IO设备发送包括目标地址的第一读取请求以及包括目标地址的后续地址的第二读取请求,并接收IO设备根据第一读取请求返回的第一数据和IO设备根据第二读取请求返回的第二数据;将第一数据发送至处理器核心,将第二数据存入数据缓冲区,从而能够在保证IO访问操作的正确性的前提下,对IO访问操作类型为可加速写操作和可加速读操作的操作进行加速处理,提高了IO设备的访问速度,进而提高了访问效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种输入输出设备的访问方法,其特征在于,包括:
接收处理器核心发出的IO访问操作;
根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;
根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;
当确定所述IO访问操作为可加速写操作时,将所述IO访问操作写入缓冲列表,并向所述处理器核心反馈IO访问操作的写成功信号;
当确定所述IO访问操作为可加速读操作时,向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区。
2.根据权利要求1所述的访问方法,其特征在于,当确定所述IO访问操作为可加速读操作时,在所述向IO设备发送包括所述目标地址的第一读取请求之前,还包括:
确定所述数据缓冲区内是否存有与所述目标地址相应的第一数据;
相应的,所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区,包括:
当所述数据缓冲区内存有与所述目标相应的第一数据时,将所述第一数据发送至处理器核心,并向所述IO设备发送所述包括所述目标地址的后续地址的第二读取请求,接收所述IO设备根据所述第二读取请求返回的第二数据;将所述第二数据存入数据缓冲区;
当所述数据缓冲区内不存有与所述目标相应的第一数据时,执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
3.根据权利要求1所述的访问方法,其特征在于,所述寄存器组为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一个;
相应的,所述根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑,包括:
对所述目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当所述第一运算地址等于预设的基址地址时,所述IO访问操作命中与所述第一寄存器组对应的第一判定逻辑;
或者,当所述目标地址大于等于预设的基址地址且所述目标地址大于等于预设的地址大小时,所述IO访问操作命中与所述第二寄存器组对应的第二判定逻辑;
或者,所述目标地址大于等于预设的起始地址且所述目标地址小于等于预设的结束地址时,所述IO访问操作命中与所述第三寄存器组对应的第三判定逻辑。
4.根据权利要求1所述的访问方法,其特征在于,所述预设属性位位于寄存器组的低两位;
所述根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型,包括:
根据所述寄存器组中的同一寄存器的第0位和第1位分别确定所述IO访问操作是否为可加速读操作和是否为可加速写操作。
5.根据权利要求1所述的访问方法,其特征在于,所述确定所述IO访问操作为可加速读操作之后,还包括:
判断所述缓冲列表中是否包括所述IO访问操作;
若不包括,则执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤;
若包括,则在所述缓冲列表中的所述IO访问操作完成之后执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
6.根据权利要求1所述的访问方法,其特征在于,若根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型为不可加速写操作和不可加速读操作,则将所述IO访问操作发送至IO设备。
7.一种输入输出设备的访问装置,其特征在于,包括:地址区分模块、读加速模块和写加速模块;
其中,所述地址区分模块接收处理器核心发出的IO访问操作;根据所述IO访问操作的目标地址,在预设的多种判定逻辑中确定IO访问操作命中的判定逻辑;根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型;
当所述地址区分模块确定所述IO访问操作为可加速写操作时,所述写加速模块将所述IO访问操作写入缓冲列表,并向所述处理器核心反馈IO访问操作的写成功信号;
当所述地址区分模块确定所述IO访问操作为可加速读操作时,所述读加速模块向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求,并接收所述IO设备根据所述第一读取请求返回的第一数据和所述IO设备根据所述第二读取请求返回的第二数据;将所述第一数据发送至处理器核心,将所述第二数据存入数据缓冲区。
8.根据权利要求7所述的访问装置,其特征在于,当所述地址区分模块确定所述IO访问操作为可加速读操作时,在所述读加速模块向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求之前,所述地址区分模块还确定所述数据缓冲区内是否存有与所述目标地址相应的第一数据;
所述读加速模块在所述地址区分模块确定所述数据缓冲区内存有与所述目标相应的第一数据时,将所述第一数据发送至处理器核心,并向所述IO设备发送所述包括所述目标地址的后续地址的第二读取请求,接收所述IO设备根据所述第二读取请求返回的第二数据;将所述第二数据存入数据缓冲区;
所述读加速模块在所述地址区分模块确定所述数据缓冲区内不存有与所述目标相应的第一数据时,所述读加速模块执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
9.根据权利要求7所述的访问装置,其特征在于,所述寄存器组为由基址寄存器和掩码寄存器组成的第一寄存器组、由基址寄存器和地址大小寄存器组成的第二寄存器组以及由起始地址寄存器和结束地址寄存器组成的第三寄存器组中的任意一个;
相应的,所述地址区分模块,具体用于:
对所述目标地址和预设的掩码地址进行位与运算并获得第一运算地址,当所述第一运算地址等于预设的基址地址时,所述IO访问操作命中与所述第一寄存器组对应的第一判定逻辑;或者,当所述目标地址大于等于预设的基址地址且所述目标地址大于等于预设的地址大小时,所述IO访问操作命中与所述第二寄存器组对应的第二判定逻辑;或者,所述目标地址大于等于预设的起始地址且所述目标地址小于等于预设的结束地址时,所述IO访问操作命中与所述第三寄存器组对应的第三判定逻辑。
10.根据权利要求7所述的访问装置,其特征在于,所述预设属性位位于寄存器组的低两位;
所述地址区分模块具体用于:
根据所述寄存器组中的同一寄存器的第0位和第1位分别确定所述IO访问操作是否为可加速读操作和是否为可加速写操作。
11.根据权利要求7所述的访问装置,其特征在于,在所述地址区分模块确定所述IO访问操作为可加速读操作之后,所述读加速模块接收所述写加速模块中的缓存列表,并判断所述缓冲列表中是否包括所述IO访问操作;
若不包括,则所述读加速模块执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤;
若包括,则所述读加速模块在所述缓冲列表中的所述IO访问操作完成之后执行所述向IO设备发送包括所述目标地址的第一读取请求以及包括所述目标地址的后续地址的第二读取请求的步骤。
12.根据权利要求7所述的访问装置,其特征在于,若所述地址区分模块根据所述命中的判定逻辑所对应的寄存器组的预设属性位确定IO访问操作的类型为不可加速写操作和不可加速读操作,则将所述IO访问操作发送至IO设备。
CN201710449008.XA 2017-06-14 2017-06-14 输入输出设备的访问方法及装置 Active CN109086231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710449008.XA CN109086231B (zh) 2017-06-14 2017-06-14 输入输出设备的访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710449008.XA CN109086231B (zh) 2017-06-14 2017-06-14 输入输出设备的访问方法及装置

Publications (2)

Publication Number Publication Date
CN109086231A true CN109086231A (zh) 2018-12-25
CN109086231B CN109086231B (zh) 2020-07-07

Family

ID=64838915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710449008.XA Active CN109086231B (zh) 2017-06-14 2017-06-14 输入输出设备的访问方法及装置

Country Status (1)

Country Link
CN (1) CN109086231B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367832A (zh) * 2020-03-02 2020-07-03 杭州迪普信息技术有限公司 基于存储器的统计方法、装置以及存储设备
CN113297111A (zh) * 2021-06-11 2021-08-24 上海壁仞智能科技有限公司 人工智能芯片及其操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131680A (zh) * 2007-08-02 2008-02-27 中兴通讯股份有限公司 Win2000/XP下读写数据终端设备PCI寄存器的方法及系统
US20130033949A1 (en) * 2009-07-31 2013-02-07 Hynix Semiconductor Inc. Data control circuit
CN105786400A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 一种异构混合内存组件、系统及存储方法
US20160275027A1 (en) * 2015-03-16 2016-09-22 Dell Products, Lp System and Method to Avoid SMBus Address Conflicts via a Baseboard Management Controller
CN106104501A (zh) * 2014-03-07 2016-11-09 凯为公司 用于在多节点系统中的存储器分配的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131680A (zh) * 2007-08-02 2008-02-27 中兴通讯股份有限公司 Win2000/XP下读写数据终端设备PCI寄存器的方法及系统
US20130033949A1 (en) * 2009-07-31 2013-02-07 Hynix Semiconductor Inc. Data control circuit
CN106104501A (zh) * 2014-03-07 2016-11-09 凯为公司 用于在多节点系统中的存储器分配的方法和装置
CN105786400A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 一种异构混合内存组件、系统及存储方法
US20160275027A1 (en) * 2015-03-16 2016-09-22 Dell Products, Lp System and Method to Avoid SMBus Address Conflicts via a Baseboard Management Controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367832A (zh) * 2020-03-02 2020-07-03 杭州迪普信息技术有限公司 基于存储器的统计方法、装置以及存储设备
CN113297111A (zh) * 2021-06-11 2021-08-24 上海壁仞智能科技有限公司 人工智能芯片及其操作方法

Also Published As

Publication number Publication date
CN109086231B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
TW527540B (en) Prioritized bus request scheduling mechanism for processing device
CN101410797B (zh) 无序处理器中的事务存储器执行的方法、设备和系统
CN105718244B (zh) 一种流水化数据洗牌传输的Spark任务调度与执行方法
CN104021109B (zh) 用于在计算机系统中传递中断的技术
CN107967124A (zh) 一种分布式持久性内存存储系统及方法
CN106325758B (zh) 一种队列存储空间管理方法及装置
CN108694127A (zh) 用于在固态驱动器中实行高速缓存操作的装置、计算机程序产品和方法
CN110134623A (zh) 可定制的多队列dma接口
CN107305534A (zh) 对使用NVMe接口的装置同时进行的内核模式和用户模式访问
US20120239372A1 (en) Efficient discrete event simulation using priority queue tagging
CN110457238A (zh) 减缓GPU访存请求及指令访问cache时停顿的方法
CN114827048B (zh) 一种动态可配高性能队列调度方法、系统、处理器及协议
CN103345429A (zh) 基于片上ram的高并发访存加速方法、加速器及cpu
CN110457033A (zh) 用于在gpu上生成动态踪迹数据的装置和方法
CN109086231A (zh) 输入输出设备的访问方法及装置
CN107729050A (zh) 基于let编程模型的实时系统及任务构建方法
CN106445472B (zh) 一种字符操作加速方法、装置、芯片、处理器
US9300716B2 (en) Modelling dependencies in data traffic
EP3542519B1 (en) Faster data transfer with remote direct memory access communications
CN109446147A (zh) 一种网络存储设备与pcie设备的数据交互方法
CN110321300A (zh) 一种信号处理数据高速记录与回放模块的实现方法
CN105164636B (zh) 一种虚拟化环境中的数据通信的方法、装置及处理器
JPH07121437A (ja) コンピュータシステム
CN109508782A (zh) 基于神经网络深度学习的加速电路和方法
CN115840654B (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder