CN112711557B - 处理器的接口模块及其操作方法、处理器 - Google Patents

处理器的接口模块及其操作方法、处理器 Download PDF

Info

Publication number
CN112711557B
CN112711557B CN202110053414.0A CN202110053414A CN112711557B CN 112711557 B CN112711557 B CN 112711557B CN 202110053414 A CN202110053414 A CN 202110053414A CN 112711557 B CN112711557 B CN 112711557B
Authority
CN
China
Prior art keywords
address
sub
data
interface unit
data bits
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
CN202110053414.0A
Other languages
English (en)
Other versions
CN112711557A (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.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202110053414.0A priority Critical patent/CN112711557B/zh
Publication of CN112711557A publication Critical patent/CN112711557A/zh
Priority to US17/575,525 priority patent/US11971837B2/en
Priority to EP22151506.7A priority patent/EP4030305A1/en
Application granted granted Critical
Publication of CN112711557B publication Critical patent/CN112711557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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
    • 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
    • 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/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

一种处理器的接口模块及其操作方法、处理器。该处理器的接口模块包括:第一接口单元和控制器。第一接口单元包括多个子接口单元,被配置为可分别与多类外围设备耦接;多类外围设备被配置为占用预定的地址空间,预定的地址空间包括多个子地址空间;控制器包括寄存器,且被配置为基于寄存器存储的数据的至少部分,设置多类外围设备的至少一类外围设备占用的子地址空间。该处理器的接口模块可以降低开发工作量。

Description

处理器的接口模块及其操作方法、处理器
技术领域
本公开的实施例涉及一种处理器技术,且更具体地涉及处理器的接口模块及其操作方法、处理器。
背景技术
处理器可以包括接口模块和处理器核,接口模块包括控制器、第一接口单元和第二接口单元;第一接口单元可经由第一总线与多类外围设备耦接,第二接口单元可经由第二总线耦接与处理器核耦接。例如,多类外围设备占用预定的地址空间;处理器核可以基于请求访问的目标外围设备占用的地址空间经由处理器的接口模块来访问目标外围设备。例如,第一总线可以为低引脚数(Low Pin Count,LPC)总线,第二总线可以为外围总线(Advanced Peripheral Bus,APB总线)。
LPC总线是基于Intel标准的33MHz 4bit并行总线协议,用于代替以前的ISA总线协议。APB总线是先进微控制器总线体系结构(Advanced Microcontroller BusArchitecture,AMBA)总线协议规范定义的外围互连总线,通常用于连接外设接口。APB总线供了一个低功耗的APB接口,APB接口通常用于低带宽和不需要高性能总线的外围设备上。
发明内容
本公开的至少一个实施例提供了一种处理器的接口模块,其包括:第一接口单元和控制器。所述第一接口单元包括多个子接口单元,被配置为可分别与多类外围设备耦接;所述多类外围设备被配置为占用预定的地址空间,所述预定的地址空间包括多个子地址空间;所述控制器包括寄存器,且被配置为基于所述寄存器存储的数据的至少部分,设置所述多类外围设备的至少一类外围设备占用的子地址空间。
例如,在所述接口模块的至少一个示例中,所述第一接口单元被配置为可经由第一总线与所述多类外围设备耦接;所述接口模块还包括第二接口单元,所述第二接口单元被配置为与第二总线耦接;所述第二接口单元被配置为从所述第二总线接收第一地址以及与所述第一地址关联的数据,并将所述第一地址以及与所述第一地址关联的数据提供给所述控制器;以及所述控制器还被配置为:基于所述寄存器存储的数据的至少部分和所述第一地址将与所述第一地址关联的数据分发给所述多个子接口单元中所述第一地址对应的子接口单元。
例如,在所述接口模块的至少一个示例中,所述控制器还包括地址对比模块、多路复用器、第一信号端以及多个第二信号端;所述第一信号端被配置为与所述第二接口单元耦接,以从所述第二接口单元接收所述第一地址;所述地址对比模块的第一输入端被配置为与所述第一信号端耦接,以从所述第一信号端接收所述第一地址;所述地址对比模块的第二输入端被配置为与所述寄存器耦接,以从所述寄存器接收所述寄存器存储的数据的至少部分;所述地址对比模块被配置为基于所述第一地址和所述寄存器存储的数据的至少部分生成控制信号;所述多路复用器包括控制端、第三信号端以及多个第四信号端;所述控制端被配置为与所述地址对比模块的输出端耦接,以接收所述控制信号;所述第三信号端被配置为与所述第一信号端耦接,以从所述第一信号端接收与所述第一地址关联的数据;所述多个第四信号端被配置为,作为所述多个第二信号端,分别与所述多个子接口单元耦接;以及所述多路复用器被配置为基于所述控制信号使得所述第三信号端与所述多个第四信号端中与所述第一地址对应的子接口单元耦接的第四信号端电连接,以将与所述第一地址关联的数据分发给所述第一地址对应的子接口单元。
例如,在所述接口模块的至少一个示例中,所述控制器还被配置为:从所述多个子接口单元中的第k个子接口单元接收可与所述第k个子接口单元耦接的外围设备对应的第二地址以及与所述第二地址关联的数据,k是正整数;基于所述寄存器存储的数据的至少部分将所述第二地址转换为第三地址,其中,所述第三地址隶属于可与所述第k个子接口单元耦接的外围设备占用的子地址空间;以及将所述第三地址以及与所述第二地址关联的数据提供给所述第二接口单元。
例如,在所述接口模块的至少一个示例中,所述控制器还包括地址转换模块和第一信号端;所述第一信号端被配置为与所述第二接口单元耦接;所述地址转换模块的第一输入端被配置为接收所述第二地址;所述地址转换模块的第二输入端被配置为接收所述寄存器存储的数据的对应于所述第k个子接口单元的部分;以及所述地址转换模块被配置为基于所述寄存器存储的数据的对应于所述第k个子接口单元的部分的值将所述第二地址转换为所述第三地址,并经由所述地址转换模块的输出端提供给所述第一信号端。
例如,在所述接口模块的至少一个示例中,所述第二地址包括x个数据位,其中,x为正整数;所述地址转换模块还被配置为,通过基于所述寄存器存储的数据中的对应于所述第k个子接口单元的部分在所述第二地址的最高数据位之前增加z个数据位,并使得所述增加的z个数据位的值均为相同的预定值,来生成所述中间地址,其中,z为正整数;所述地址转换模块还被配置为,基于所述寄存器存储的数据的对应于所述第k个子接口单元的部分生成中间数据,其中,所述中间数据的低x个数据位的值均为所述相同的预定值,所述中间数据的数据位的数目等于所述中间地址的数据位的数目;所述地址转换模块包括多个逻辑运算器;所述多个逻辑运算器的第一端和第二端被配置为分别接收所述中间地址和所述中间数据;以及所述多个逻辑运算器被配置为对所述中间地址和所述中间数据的对应的数据位的数据执行逻辑运算,以生成所述第三地址,并经由所述多个逻辑运算器输出。
例如,在所述接口模块的至少一个示例中,所述相同的预定值为0,所述多个逻辑运算器均为逻辑或运算器,或者所述相同的预定值为1,所述多个逻辑运算器均为逻辑与运算器。
例如,在所述接口模块的至少一个示例中,所述多个子接口单元的数目和所述多个子地址空间的数目均为N,其中,N为正整数;所述寄存器包括分别对应于所述N个子接口单元的N组数据位,所述N组数据位的每个包括所述寄存器中对应的m个数据位,所述N组数据位被配置为分别存储N个m位二进制数,其中,m是正整数;所述控制器还被配置为:基于所述N组数据位中的第k组数据位存储的m位二进制数,设置可与所述N个子接口单元中第k个子接口单元耦接的外围设备占用的子地址空间,其中,k为小于或等于N的正整数。
例如,在所述接口模块的至少一个示例中,所述控制器还被配置为:从所述第k个子接口单元接收可与所述第k个子接口单元耦接的外围设备对应的第二地址,并基于所述N组数据位中的第k组数据位存储的m位二进制数,将所述第二地址转换为第三地址,其中,所述第三地址隶属于可与所述第k个子接口单元耦接的外围设备占用的子地址空间。
例如,在所述接口模块的至少一个示例中,所述N组数据位存储的N个m位二进制数彼此不同。
例如,在所述接口模块的至少一个示例中,所述多个子地址空间的大小均不小于最大实际占用空间的大小;以及所述最大实际占用空间为所述多类外围设备中实际占用的地址空间中最大的地址空间。
例如,在所述接口模块的至少一个示例中,所述多个子地址空间的大小彼此相等。
本公开的至少一个实施例还提供了一种处理器,其包括:本公开的任一实施例提供的接口模块。
本公开的至少一个实施例还提供了一种用于本公开的任一实施例提供的处理器的接口模块的操作方法,其包括:改变所述寄存器存储的数据的至少部分,以调整所述多类外围设备的至少一类外围设备占用的子地址空间。
例如,在所述操作方法的至少一个示例中,所述多个子接口单元的数目和所述多个子地址空间的数目均为N,其中,N为正整数;所述寄存器包括分别对应于所述N个子接口单元的N组数据位;所述N组数据位的每个包括所述寄存器中对应的m个数据位;所述N组数据位被配置为分别存储N个m位二进制数;以及所述操作方法还包括:使得所述N组数据位存储的N个m位二进制数彼此不同,m是正整数。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是本公开的至少一个实施例提供的处理器的接口模块的示例性框图;
图2是本公开的至少一个实施例中的预定的地址空间的示意图;
图3和图4示出了本公开的至少一个实施例中的四类外围设备占用四个子地址空间的第一个和第二个示意图;
图5是本公开的至少一个实施例中的寄存器的示意图;
图6和图7是图5所示的寄存器存储的数据的第一个和第二个示例;
图8是图1所示的处理器的接口模块的另一个示例性框图;以及
图9是本公开的至少一个实施例提供的处理器的示例性框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本公开的发明人在研究中注意到,对于不同类型的处理器,多类外围设备占用地址空间不同,因此,如果希望将基于第一类处理器上开发的程序(例如,底层程序)应用到第二类处理器上,则需要将基于第一类处理器上开发的程序中涉及的所有类型的外围设备占用的地址逐一更改,由此增加了开发工作量。例如,不同类型的处理器可以是架构不同的处理,X86(微处理器执行的计算机语言指令集)架构的处理器和进阶精简指令集机器(Advanced RISC Machine,ARM)架构的处理器。
本公开的至少一个实施例提供了一种处理器的接口模块及其操作方法、处理器。该处理器的接口模块包括:第一接口单元和控制器。第一接口单元包括多个子接口单元,被配置为可分别与多类外围设备耦接;多类外围设备被配置为占用预定的地址空间,预定的地址空间包括多个子地址空间;控制器包括寄存器,且被配置为基于寄存器存储的数据的至少部分,设置多类外围设备的至少一类外围设备占用的子地址空间。
例如,通过在处理器的接口模块的控制器中设置寄存器,可以基于寄存器存储的数据的至少部分来设置多类外围设备的至少一类外围设备占用的子地址空间,由此在将基于第一类处理器上开发的程序(例如,底层程序)应用到第二类处理器上时,可以通过设置寄存器存储的数据的至少部分来设置多类外围设备的至少一类外围设备占用的子地址空间,并使得多类外围设备的至少一类外围设备占用的子地址空间与第二类处理器相匹配,由此可以降低开发工作量。
下面通过几个示例和实施例对根据本公开的至少一个实施例提供的处理器的接口模块进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例和实施例中不同特征可以相互组合,从而得到新的示例和实施例,这些新的示例和实施例也都属于本公开保护的范围。
图1是本公开的至少一个实施例提供的处理器的接口模块100的示例性框图。
例如,该处理器的接口模块100可以是低引脚数(Low Pin Count,LPC)接口模块。例如,LPC接口模块的工作模式包括中断模式和读写模式,本公开的至少一个实施例的接口模块100中设置的寄存器可用于LPC接口模块的读写模式。
如图1所示,该处理器的接口模块100(例如,处理器芯片的接口模块)包括第一接口单元120(例如,LPC接口单元)和控制器110(例如,LPC控制器);第一接口单元120包括多个子接口单元(例如,Int1-Int4),多个子接口单元被配置为可分别与多类外围设备(例如,De1-De4)耦接。
例如,如图1所示,多个子接口单元(例如,Int1-Int4)可经由第一总线B1(例如,LPC总线)分别可与多类外围设备耦接。例如,如图1所示,接口模块还包括第二接口单元130,第二接口单元130被配置与第二总线B2(例如,APB总线)耦接。例如,第二总线B2与处理器核耦接。
例如,多个子接口单元的数目与处理器的接口模块100支持的外围设备的种类数目相等,例如,均为N,且N为正整数;例如,N=4。
例如,如图1所示,多个子接口单元包括第一子接口单元Int1、第二子接口单元Int2、第三子接口单元Int3和第四子接口单元Int4;多类外围设备包括第一类外围设备De1、第二类外围设备De2、第三类外围设备De3和第四类外围设备De4;第一子接口单元Int1、第二子接口单元Int2、第三子接口单元Int3和第四子接口单元Int4经由第一总线B1分别与第一类外围设备De1、第二类外围设备De2、第三类外围设备De3和第四类外围设备De4耦接。
例如,第一类外围设备De1、第二类外围设备De2、第三类外围设备De3和第四类外围设备De4分别为输入/输出(I/O)设备、内存储器(memory)、固件内存(firmware memory)和DMA(存储器直接访问)设备。
多类外围设备被配置为占用预定的地址空间,预定的地址空间包括多个子地址空间。例如,多个子地址空间的数目等于多个子接口单元的数目和多类外围设备的数目(例如,均为N)。例如,多类外围设备的每类外围设备占用多个子地址空间中对应的一个子地址空间。例如,多类外围设备占用(例如,声明占用)的子地址空间彼此不同。
例如,多类外围设备的每类外围设备的每个外围设备占用的地址隶属于多类外围设备的每类外围设备占用(例如,声明占用)的子地址空间。例如,多类外围设备的每类外围设备的每个外围设备占用的地址被发送给第二接口单元130,或者从第二接口单元130接收得到。
图2是本公开的至少一个实施例中的预定的地址空间的示意图。例如,如图2所示,在多类外围设备包括四类外围设备的情况下,可以使得多个子地址空间包括第一子地址空间ARa1、第二子地址空间ARa2、第三子地址空间ARa3和第四子地址空间ARa4。例如,第一子地址空间ARa1、第二子地址空间ARa2、第三子地址空间ARa3和第四子地址空间ARa4的每个为连续的地址空间。
例如,在处理器的接口模块100(例如,ARM架构的LPC接口模块)占用128MB的地址空间的情况下,处理器的接口模块100占用的地址空间可以为0x20000000-0x27FFFFFF(16进制),多类外围设备可以占用上述地址空间的至少部分。例如,如图2所示,可以使得第一子地址空间ARa1为0x20000000-0x21FFFFD0,第二子地址空间ARa2为0x22000000-0x23FFFFD0,第三子地址空间ARa3为0x24000000-0x25FFFFD0,第四子地址空间ARa4为0x26000000-0x27FFFFD0。需要说明的是,上面给出的第一子地址空间ARa1-第四子地址空间ARa4的结束地址仅为示例,可以根据实际应用需求进行调整。例如,可以将第一子地址空间ARa1-第四子地址空间Ara4的结束地址分别调整为0x20FFFFFF、0x22FFFFFF、0x24FFFFFF和0x26FFFFFF,此处,“0x”表示“0x”后的数字为16进制。
例如,多个子地址空间的大小彼此相等,也即,多个子地址空间的结束地址和起始地址的差值彼此相等。
例如,多类外围设备的至少一类外围设备实际占用的地址空间小于该外围设备占用(例如,声明占用)的地址空间。
例如,多个子地址空间的大小均不小于最大实际占用空间的大小;最大实际占用空间为多类外围设备中实际占用的地址空间中最大的地址空间,由此可以避免因多类外围设备中实际占用的地址空间的大小不同以及地址空间调换导致的部分外围设备没有可占用的地址。
如图1所示,控制器110包括寄存器111,且控制器110被配置为基于寄存器111存储的数据的至少部分,设置多类外围设备的至少一类外围设备(例如,多类外围设备的每类外围设备)占用的子地址空间。
图3和图4示出了本公开的至少一个实施例中的四类外围设备占用四个子地址空间的第一个和第二个示意图。
例如,如图3所示,可以通过设置寄存器111存储的数据的至少部分,使得第一类外围设备De1、第二类外围设备De2、第三类外围设备De3和第四类外围设备De4分别占用第一子地址空间ARa1、第二子地址空间ARa2、第三子地址空间ARa3和第四子地址空间ARa4。又例如,如图3所示,可以通过设置寄存器111存储的数据的至少部分,使得第一类外围设备De1、第二类外围设备De2、第三类外围设备De3和第四类外围设备De4分别占用第四子地址空间ARa4、第二子地址空间ARa2、第三子地址空间ARa3和第一子地址空间ARa1。
例如,寄存器111包括分别对应于N个子接口单元的N组数据位。例如,寄存器111被配置为存储二进制数(0或1)。
图5是本公开的至少一个实施例中的寄存器111的示意图。例如,如图5所示,N组数据位包括第一组数据位D1、第二组数据位D2、第三组数据位D3和第四组数据位D4;第一组数据位D1、第二组数据位D2、第三组数据位D3和第四组数据位D4分别对应于第一子接口单元Int1、第二子接口单元Int2、第三子接口单元Int3和第四子接口单元Int4,并分别用于设置可与第一子接口单元Int1、第二子接口单元Int2、第三子接口单元Int3和第四子接口单元Int4耦接的外围设备占用的子地址空间。
例如,N组数据位的每个包括寄存器111中对应的m个数据位,此处,m为正整数。例如,m×N小于或等于寄存器111包括的数据位的数目。例如,如图5所示,m=2,第一组数据位D1包括寄存器111的第0-1个数据位;第二组数据位D2包括寄存器111的第2-3个数据位;第三组数据位D3包括寄存器111的第4-5个数据位;第四组数据位D4包括寄存器111的第6-7个数据位。
例如,N组数据位分别用于存储N个m位二进制数。例如,N组数据位存储的N个m位二进制数彼此不同,以避免不同类的外围设备占用同一个子地址空间。例如,N个m位二进制数分别对应于N个子地址空间。例如,第一个m位二进制数、第二个m位二进制数、第三个m位二进制数和第四个m位二进制数分别对应于第一子地址空间ARa1、第二子地址空间ARa2、第三子地址空间ARa3和第四子地址空间ARa4。例如,第一个m位二进制数、第二个m位二进制数、第三个m位二进制数和第四个m位二进制数分别为“00”、“01”、“10”和“11”。
图6是图5所示的寄存器111存储的数据的第一个示例。例如,如图6所示,寄存器111存储的数据可以是“11100100”(二进制,对应于16进制的e4);此种情况下,第一组数据位D1、第二组数据位D2、第三组数据位D3和第四组数据位D4存储的m位二进制数分别为第一个m位二进制数“00”、第二个m位二进制数“01”、第三个m位二进制数“10”和第四个m位二进制数“11”。
例如,控制器110还被配置为:基于N组数据位中的第k组数据位存储的m位二进制数,确定可与N个子接口单元中第k个子接口单元(与第k组数据位对应)耦接的外围设备占用的子地址空间,此处,k为小于或等于N的正整数。例如,将可与第k个子接口单元耦接的外围设备占用的子地址空间设置为对应于第k个子接口单元的第k组数据位存储的二进制数对应的子地址空间。
例如,对于图6所示的寄存器111存储的数据,控制器110可以基于第一组数据位D1存储的第一个二进制数“00”,将可与第一子接口单元Int1耦接的外围设备De1的子地址空间设置为第一子地址空间ARa1;基于第二组数据位D2存储的二进制数“01”,将可与第二子接口单元Int2耦接的外围设备De2的子地址空间设置为第二子地址空间Ara2;基于第三组数据位D3存储的二进制数“10”,将可与第三子接口单元Int3耦接的外围设备De3的子地址空间设置为第三子地址空间Ara3;基于第四组数据位D4存储的二进制数“11”,将可与第四子接口单元Int4耦接的外围设备De4的子地址空间设置为第四子地址空间Ara4,也即,图3所示的四类外围设备与四个子地址空间的对应关系。
例如,寄存器111存储的数据的默认值(例如,复位值)可以是图6所示的“11100100”;对应地,默认的四类外围设备与四个子地址空间的对应关系可以如图3所示。
图7是图5所示的寄存器111存储的数据的第二个示例。例如,如图7所示,寄存器111存储的数据是00100111(二进制,对应于16进制的27);第一组数据位D1、第二组数据位D2、第三组数据位D3和第四组数据位D4存储的m位二进制数分别为第四个m位二进制数“11”、第二个m位二进制数“01”、第三个m位二进制数“10”和第一个m位二进制数“00”,此种情况下,控制器110可以基于寄存器111存储的数据将可与第一子接口单元Int1耦接的外围设备De1的子地址空间设置为第四子地址空间Ara4;将可与第二子接口单元Int2耦接的外围设备De2的子地址空间设置为第二子地址空间Ara2;将可与第三子接口单元Int3耦接的外围设备De3的子地址空间设置为第三子地址空间Ara3;将可与第四子接口单元Int4耦接的外围设备De4的子地址空间设置为第一子地址空间Ara1,也即,图4所示的四类外围设备与四个子地址空间的对应关系。
例如,控制器110还被配置为:基于N组数据位中的第k组数据位存储的m位二进制数,将可与第k个子接口单元耦接的外围设备占用的地址设置为隶属于可与第k个子接口单元耦接的外围设备占用的地址空间;可与第k个子接口单元耦接的外围设备占用的地址被发送给第二接口单元130,或者,从第二接口单元130接收得到。
例如,控制器110可以基于N组数据位中的第k组数据位存储的m位二进制数,设置可与第k个子接口单元耦接的外围设备占用的地址的最高的预定数目个数据位的值,以使得可与第k个子接口单元耦接的外围设备占用的地址隶属于可与第k个子接口单元耦接的外围设备占用的地址空间。
例如,第一个m位二进制数“00”、第二个m位二进制数“01”、第三个m位二进制数“10”和第四个m位二进制数“11”对应的地址的最高的预定数目个数据位的值分别为16进制数“20”、“22”、“24”和“26”,分别为2进制数“00100000”、“00100100”、“00100100”和“00100110”。
例如,基于第一个m位二进制数“00”,可以将外围设备占用的地址的最高位的两个数据位的值设置为16进制数“20”,由此使得基于第一个m位二进制数“00”设置的外围设备占用的地址隶属于第一子地址空间ARa1(例如,第一子地址空间ARa1包括0x20000000-0x20FFFFFF);基于第二个m位二进制数“01”,可以将外围设备占用的地址的最高位的两个数据位的值设置为16进制数“22”,由此使得基于第二个m位二进制数“01”设置的外围设备占用的地址隶属于第二子地址空间ARa2(例如,第二子地址空间ARa2包括0x22000000-0x22FFFFFF);基于第三个m位二进制数“10”,可以将外围设备占用的地址的最高位的两个数据位的值设置为16进制数“24”,由此使得基于第三个m位二进制数“10”设置的外围设备占用的地址隶属于第三子地址空间ARa3(例如,第三子地址空间ARa3包括0x24000000-0x24FFFFFF);基于第四个m位二进制数“11”,可以将外围设备占用的地址的最高位的两个数据位的值设置为16进制数“26”,由此使得基于第四个m位二进制数“11”设置的外围设备占用的地址隶属于第四子地址空间ARa4(例如,第四子地址空间ARa4包括0x26000000-0x26FFFFFF)。
例如,控制器110还被配置为:从第k个子接口单元接收可与第k个子接口单元耦接的外围设备对应的第二地址,并基于N组数据位中的第k组数据位存储的m位二进制数,将第二地址转换为第三地址。
例如,第二地址可以是与处理器的接口模块100所在的处理器类型不同的处理器分配给对应的外围设备的地址。例如,与处理器的接口模块100所在的处理器类型不同的处理器将第二地址(例如,0xDFFFFF)分配给I/O设备(鼠标),在工作中,控制器110接收上述第二地址,并将第二地址(例如,0xDFFFFF)转换为第三地址(例如,0x20DFFFFF)提供给第二接口单元130。
例如,第三地址是与第k个子接口单元耦接的外围设备占用的地址,隶属于可与第k个子接口单元耦接的外围设备占用的子地址空间,并被提供给所述第二接口单元130。
例如,控制器110可以基于N组数据位中的第k组数据位存储的m位二进制数设置第三地址的最高的预定数目个数据位的值,并基于第二地址设置第三地址的其余数值位的值。例如,可以通过在第二地址之前增加预定数目个数据位,并基于N组数据位中的第k组数据位存储的m位二进制数设置上述预定数目个数据位的值的方式获取第三地址。例如,可与第k个子接口单元耦接的一个外围设备对应的第二地址可以是0xDFFFFF,第k组数据位存储的m位二进制数为“00”,可以基于第k组数据位存储的m位二进制数“00”将第三地址(第k个子接口单元耦接的一个外围设备占用的地址)设置为0x20DFFFFF。
下面结合图8对控制器110将第二地址转换为第三地址的方法进行示例性说明。图8是图1所示的处理器的接口模块100的另一个示例性框图。
例如,如图8所示,控制器110还包括地址转换模块170和第一信号端101;第一信号端101被配置为与第二接口单元130耦接;地址转换模块170的第一输入端被配置为接收可与第k个子接口单元耦接的一个外围设备对应的第二地址A2。
例如,如图8所示,控制器110还包括多路复用器160以及多个第二信号端102;多路复用器160包括控制端163、第三信号端162以及多个第四信号端163;第三信号端162被配置为与第一信号端101耦接;多个第四信号端163被配置为,作为多个第二信号端102,分别与多个子接口单元(例如,Int1-Int4)耦接。
例如,如图8所示,多个子接口单元的每个被配置为从与多个子接口单元的每个耦接的外围设备接收第二地址A2。例如,如图8所示,在第三信号端162与多个第四信号端163中与多个子接口单元的每个电连接时,第二地址A2被传递至第三信号端162和地址转换模块170的第一输入端。
例如,如图8所示,地址转换模块170的第二输入端被配置为接收寄存器111存储的数据的对应于第k个子接口单元的部分(例如,第k组数据位存储的m位二进制数)。
例如,如图8所示,地址转换模块170被配置为基于寄存器111存储的数据的对应于第k个子接口单元的部分的值将第二地址转换为第三地址,并经由地址转换模块170的输出端提供给第一信号端101。
例如,第二地址A2包括x个数据位(例如,2进制数据位),此处,x为正整数。例如,第二地址A2可以是“110111111111111111111111”(二进制,对应于16进制的DFFFFF),第二地址包括24个数据位,也即,x=24。
例如,地址转换模块170还被配置为,通过基于寄存器111存储的数据中的对应于第k个子接口单元的部分在第二地址的最高数据位之前增加z个数据位(例如,2进制数据位),并使得增加的z个数据位的值均为相同的预定值,来生成中间地址,此处,z为正整数。例如,z可以等于8,相同的预定值可以为1,此种情况下,基于上述第二地址A2生成的中间地址为“11111111110111111111111111111111”(二进制,对应于16进制的FFDFFFFF)。
例如,地址转换模块170还被配置为,基于寄存器111存储的数据的对应于第k个子接口单元的部分(例如,第k组数据位存储的m位二进制数)生成中间数据,中间数据的低x个数据位的值均为所述相同的预定值。例如,中间数据的数据位的数目等于中间地址的数据位的数目。
例如,中间数据的高z个数据位(例如,高z个数据位中的m个预定数据位)包括第k组数据位存储的m位二进制数。例如,在第k组数据位存储的m位二进制数为“00”的情况下,中间数据的高z个数据位为“00100000”;在第k组数据位存储的m位二进制数为“01”的情况下,中间数据的高z个数据位为“00100010”;在第k组数据位存储的m位二进制数为“10”的情况下,中间数据的高z个数据位为“00100100”;在第k组数据位存储的m位二进制数为“11”的情况下,中间数据的高z个数据位为“00100110”。
例如,在第k组数据位存储的m位二进制数为“00”的情况下,生成的中间数据为“00100000111111111111111111111111”(二进制,对应于16进制的20FFFFFF)。
例如,地址转换模块170包括多个逻辑运算器;多个逻辑运算器的第一端和第二端被配置为分别接收中间地址和中间数据;多个逻辑运算器被配置为对中间地址和中间数据的对应的数据位的数据执行逻辑运算,以生成第三地址,并经由多个逻辑运算器输出。
例如,在相同的预定值为1的情况下,多个逻辑运算器均为逻辑与运算器,多个逻辑运算器被配置为对中间地址和中间数据的对应的数据位的数据执行逻辑与运算。例如,通过对中间地址的低24个数据位的数据“110111111111111111111111”与中间数据的低24个数据位的数据“111111111111111111111111”进行逻辑与运算得到的数据与中间地址的低24个数据位的数据相同,即,“110111111111111111111111”(二进制,对应于16进制的DFFFFF)。例如,通过对中间地址的稿8个数据位的数据“11111111”与中间数据的高8个数据位的数据“00100000”进行逻辑与运算得到的数据与中间数据的高8个数据位的数据相同,即,“00100000”,因此,通过对中间地址和中间数据的对应的数据位的数据执行逻辑与运算,生成的第三地址为“00100000110111111111111111111111”(二进制,对应于16进制的20DFFFFF),且该第三地址隶属于第一子地址空间ARa1。
需要说明的是,上述相同的预定值还可以为0,对应地,多个逻辑运算器均为逻辑或运算器。例如,第二地址A2为“110111111111111111111111”(二进制,对应于16进制的DFFFFF),基于上述第二地址A2生成的中间地址为“00000000110111111111111111111111”(二进制,对应于16进制的00FFDFFFFF);在第k组数据位存储的m位二进制数为“00”的情况下,生成的中间数据为“00100000000000000000000000000000”(二进制,对应于16进制的20000000);此种情况下,通过对中间地址的低24个数据位的数据与中间数据的低24个数据位的数据进行逻辑或运算得到的数据与中间地址的低24个数据位的数据相同,即,“110111111111111111111111”(二进制,对应于16进制的DFFFFF);通过对中间地址的高8个数据位的数据“00000000”与中间数据的高8个数据位的数据“00100000”进行逻辑或运算得到的数据与中间数据的高8个数据位的数据相同,即,“00100000”,因此,通过对中间地址和中间数据的对应的数据位的数据执行逻辑与运算,生成的第三地址为“00100000110111111111111111111111”(二进制,对应于16进制的20DFFFFF),且该第三地址隶属于第一子地址空间ARa1。
例如,如图8所示,第二接口单元130被配置为从第二总线B2接收第一地址A1以及与第一地址关联的数据,并将第一地址A1以及与第一地址关联的数据提供给控制器110;控制器110还被配置为:基于寄存器111存储的数据和第一地址A1将与第一地址关联的数据分发给多个子接口单元中第一地址对应的子接口单元。例如,与第一地址关联的数据包括用作指令的数据。例如,第一地址A1的数据位(例如,二进制数据位)的数目等于第三地址A3的数据位(例如,二进制数据位)的数目。
例如,如图8所示,控制器110还包括地址对比模块150;控制器110的第一信号端101被配置为从第二接口单元130接收第一地址;地址对比模块150的第一输入端被配置为与第一信号端101耦接,以从第一信号端101接收第一地址A1。
例如,如图8所示,地址对比模块150的第二输入端被配置为与寄存器111耦接,以从寄存器111接收寄存器111存储的数据的至少部分。
例如,地址对比模块150被配置为基于第一地址A1和寄存器111存储的数据的至少部分生成控制信号CTL。例如,地址对比模块150被配置为通过对比第一地址A1的预定数据位的数据(例如,第5-6位数据位的数据)以及寄存器111存储的数据的至少部分确定第一地址A1对应的子接口单元,并生成允许与多个第四信号端163中与第一地址A1对应的子接口单元耦接的第四信号端163和第三信号端162电连接的控制信号CTL。
例如,可以将第一地址A1的预定数据位的数据顺次与N组数据位分别存储的N个m位二进制数进行比对,以确定第一地址A1的预定数据位的数据等于N组数据位中哪个数据位存储的m位二进制数,并由此可以确定第一地址A1对应的子接口单元为存储了第一地址A1的预定数据位的数据的那组数据位对应的子接口单元。
例如,对于地址x20FFFFFF、0x22FFFFFF、0x24FFFFFF和0x26FFFFFF的二进制数据的第5-6位数据位的数据分别为“00”、“01”、“10”和“11”。例如,在第一组至第四组数据位存储的m位二进制数分别为“00”、“01”、“10”和“11”(分别对应于第一子接口单元Int1、第二子接口单元Int2、第三子接口单元Int3和第四子接口单元Int4),且第一地址A1的预定数据位的数据为“00”的情况下,可以确定第一地址A1对应的子接口单元为存储了二进制数“00”的第一组数据位对应的第一子接口单元Int1。
例如,多路复用器160的控制端163被配置为与地址对比模块150的输出端耦接,以接收控制信号CTL;第三信号端162被配置为与第一信号端101耦接,以从第一信号端101接收与第一地址关联的数据;多路复用器160被配置为基于控制信号CTL使得第三信号端162与多个第四信号端163中与第一地址A1对应的子接口单元耦接的第四信号端163电连接,以将与第一地址关联的数据分发给第一地址对应的子接口单元。
例如,控制器110还被配置为:将第一地址A1转换为第四地址,并将第四地址分发给多个子接口单元中第一地址对应的子接口单元。例如,可以基于第四地址访问第一地址A1对应的外围设备。例如,第四地址A4的数据位(例如,二进制数据位)的数目等于第二地址A2的数据位(例如,二进制数据位)的数目。例如,可以通过去除或者更改第一地址A1的最高的预定数目个数据位来将第一地址A1转换为第四地址。
例如,控制器110还被配置为:将与第一地址关联的数据和第四地址进行关联,并将关联后的第四地址和与第一地址关联的数据分发给多个子接口单元中第一地址对应的子接口单元。
有以下几点需要说明。
(1)该处理器的接口模块不限于应用于LPC接口模块,还可以应用于其它适用的接口模块;对应地,可以根据接口模块的类型调整第一总线和第二总线的类型。
(2)为方便描述,上面以在第二地址的最高数据位之前增加预定数目个数据位来阐述将第二地址转换为第三地址的方法为例进行示例性说明,但本公开的至少一个实施例不限于此。例如,还可以通过调整第二地址的最高的预定数目个数据位将第二地址转换为第三地址,不再赘述。
(3)为方便描述,上面以多类外围设备的种类数目、多个子地址空间的数目、多个子接口单元的数目以及多组数据位的组数均为4为例进行示例性说明但本公开的至少一个实施例不限于此。例如,多类外围设备的种类数目等还可以设置为3、5或者其它适用的数值。
(4)在一些示例中,多类外围设备的每类外围设备占用的子地址空间是该类外围设备声明占用的子地址空间,该类外围设备实际占用的地址空间的大小可以小于该类外围设备声明占用的子地址空间。
在一些示例中,可以通过在接口模块的控制器中设置寄存器,并通过寄存器中存储的数据的至少部分来配置APB接口地址对应的外围设备的类型,由此可以利用寄存器将接口模块所在的处理器分配给外围设备的地址空间与其它处理器分配给外围设备的地址空间进行映射,由此本公开的至少一个实施例提供的接口模块所在的处理器可以兼容在其他处理器平台上开发的程序,而不需要开发人员逐一更改程序中的地址空间,进而增强了接口模块的使用便利性。
例如,接口模块还包括用于中断模式的第二寄存器,第二寄存器包括至少一个中断屏蔽标识位。例如,在中断屏蔽标识位的值为第一值(例如,1)时,从外围设备接收的中断请求被屏蔽而无法上报到处理器核;在中断屏蔽标识位的值为不同于第一值的第二值(例如,0)时,从外围设备接收的中断请求可以上报到处理器核。例如,接口模块中断模式包括串行中断模式和DMA中断模式。例如,第二寄存器包括两个中断屏蔽标识位,高位为用于串行中断的屏蔽标识位,低位为用于DMA的中断的屏蔽标识位。例如,通过使得接口模块还包括用于中断模式的第二寄存器,可以通过软件的方式控制是否进行中断。
本公开的至少一个实施例描述的功能可以利用硬件、软件、固件或其任意组合而实现。
本公开的至少一个实施例还提供了一种处理器(例如,处理器芯片)。图9是本公开的至少一个实施例还提供的处理器的示例性框图。例如,如图9所示,该处理器包括本公开的任一实施例提供的接口模块。
例如,如图9所示,该处理器还包括处理器核;处理器核向接口模块发送第一地址以及与第一地址相关(例如,关联)的数据,接口模块被配置为基于第一地址以及接口模块包括的寄存器的值,将与第一地址相关的数据传递至第一地址对应的子接口单元,并由此经由第一总线(例如,LPC总线)分发给第一地址对应的外围设备。例如,接口模块被配置为接收外围设备的第二地址以及与第二地址(例如,关联)相关的数据,将第二地址转换为第三地址,并将第三地址以及与第二地址相关的数据经由第二总线(例如,APB总线)传递给处理器核。例如,接口模块还被配置为使得第三地址以及与第二地址相关的数据相关联,并将关联后的第三地址以及第二地址相关的数据经由第二总线(例如,APB总线)传递给处理器核。例如,与第一地址相关的数据的分发以及与第二地址转换的具体内容请参见处理器的接口模块,在此不再赘述。例如,该处理器可以兼容在其他处理器平台上开发的程序,而不需要开发人员逐一更改程序中的地址空间,进而增强了接口模块的使用便利性。
本公开的至少一个实施例还提供了一种用于本公开的至少一个实施例提供的处理器的接口模块的操作方法,其包括:改变寄存器存储的数据的至少部分,以调整多类外围设备的至少一类外围设备占用的子地址空间。例如,通过改变寄存器存储的数据的至少部分,来调整多类外围设备的至少一类外围设备占用的子地址空间,可以避免开发人员逐一更改程序中的地址空间,并因此增强了接口模块的使用便利性。
例如,多个子接口单元的数目和多个子地址空间的数目均为N,N为正整数;寄存器包括分别对应于N个子接口单元的N组数据位;N组数据位的每个包括寄存器中对应的m个数据位,N组数据位被配置为分别存储N个m位二进制数;该操作方法还包括:使得N组数据位存储的N个m位二进制数彼此不同。例如,通过使得N组数据位存储的N个m位二进制数彼此不同,可以避免不同类的外围设备占用同一个子地址空间。
虽然上文中已经用一般性说明及具体实施方式,对本公开作了详尽的描述,但在本公开实施例基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本公开精神的基础上所做的这些修改或改进,均属于本公开要求保护的范围。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (15)

1.一种处理器的接口模块,包括:第一接口单元和控制器,
其中,所述第一接口单元包括多个子接口单元,被配置为可分别与多类外围设备耦接;
所述多类外围设备被配置为占用预定的地址空间,所述预定的地址空间包括多个子地址空间;以及
所述控制器包括寄存器,且被配置为基于所述寄存器存储的数据的至少部分,设置所述多类外围设备中的对应的至少一类外围设备占用的子地址空间。
2.根据权利要求1所述的接口模块,其中,所述第一接口单元被配置为可经由第一总线与所述多类外围设备耦接;
所述接口模块还包括第二接口单元,所述第二接口单元被配置为与第二总线耦接;
所述第二接口单元被配置为从所述第二总线接收第一地址以及与所述第一地址关联的数据,并将所述第一地址以及与所述第一地址关联的数据提供给所述控制器;以及
所述控制器还被配置为:基于所述寄存器存储的数据的至少部分和所述第一地址将与所述第一地址关联的数据分发给所述多个子接口单元中所述第一地址对应的子接口单元。
3.根据权利要求2所述的接口模块,其中,所述控制器还包括地址对比模块、多路复用器、第一信号端以及多个第二信号端;
所述第一信号端被配置为与所述第二接口单元耦接,以从所述第二接口单元接收所述第一地址;
所述地址对比模块的第一输入端被配置为与所述第一信号端耦接,以从所述第一信号端接收所述第一地址;
所述地址对比模块的第二输入端被配置为与所述寄存器耦接,以从所述寄存器接收所述寄存器存储的数据的至少部分;
所述地址对比模块被配置为基于所述第一地址和所述寄存器存储的数据的至少部分生成控制信号;
所述多路复用器包括控制端、第三信号端以及多个第四信号端;
所述控制端被配置为与所述地址对比模块的输出端耦接,以接收所述控制信号;
所述第三信号端被配置为与所述第一信号端耦接,以从所述第一信号端接收与所述第一地址关联的数据;
所述多个第四信号端被配置为,作为所述多个第二信号端,分别与所述多个子接口单元耦接;以及
所述多路复用器被配置为基于所述控制信号使得所述第三信号端与所述多个第四信号端中与所述第一地址对应的子接口单元耦接的第四信号端电连接,以将与所述第一地址关联的数据分发给所述第一地址对应的子接口单元。
4.根据权利要求2所述的接口模块,其中,所述控制器还被配置为:
从所述多个子接口单元中的第k个子接口单元接收可与所述第k个子接口单元耦接的外围设备对应的第二地址以及与所述第二地址关联的数据,k是正整数;
基于所述寄存器存储的数据的至少部分将所述第二地址转换为第三地址,其中,所述第三地址隶属于可与所述第k个子接口单元耦接的外围设备占用的子地址空间;以及
将所述第三地址以及与所述第二地址关联的数据提供给所述第二接口单元。
5.根据权利要求4所述的接口模块,其中,所述控制器还包括地址转换模块和第一信号端;
所述第一信号端被配置为与所述第二接口单元耦接;
所述地址转换模块的第一输入端被配置为接收所述第二地址;
所述地址转换模块的第二输入端被配置为接收所述寄存器存储的数据的对应于所述第k个子接口单元的部分;以及
所述地址转换模块被配置为基于所述寄存器存储的数据的对应于所述第k个子接口单元的部分的值将所述第二地址转换为所述第三地址,并经由所述地址转换模块的输出端提供给所述第一信号端。
6.根据权利要求5所述的接口模块,其中,所述第二地址包括x个数据位,其中,x为正整数;
所述地址转换模块还被配置为,通过基于所述寄存器存储的数据中的对应于所述第k个子接口单元的部分在所述第二地址的最高数据位之前增加z个数据位,并使得所述增加的z个数据位的值均为相同的预定值,来生成中间地址,其中,z为正整数;
所述地址转换模块还被配置为,基于所述寄存器存储的数据的对应于所述第k个子接口单元的部分生成中间数据,其中,所述中间数据的低x个数据位的值均为所述相同的预定值,所述中间数据的数据位的数目等于所述中间地址的数据位的数目;
所述地址转换模块包括多个逻辑运算器;
所述多个逻辑运算器的第一端和第二端被配置为分别接收所述中间地址和所述中间数据;以及
所述多个逻辑运算器被配置为对所述中间地址和所述中间数据的对应的数据位的数据执行逻辑运算,以生成所述第三地址,并经由所述多个逻辑运算器输出。
7.根据权利要求6所述的接口模块,其中,所述相同的预定值为0,所述多个逻辑运算器均为逻辑或运算器,或者
所述相同的预定值为1,所述多个逻辑运算器均为逻辑与运算器。
8.根据权利要求1-3任一项所述的接口模块,其中,所述多个子接口单元的数目和所述多个子地址空间的数目均为N,其中,N为正整数;
所述寄存器包括分别对应于所述N个子接口单元的N组数据位,所述N组数据位的每个包括所述寄存器中对应的m个数据位,所述N组数据位被配置为分别存储N个m位二进制数,其中,m是正整数;
所述控制器还被配置为:基于所述N组数据位中的第k组数据位存储的m位二进制数,设置可与所述N个子接口单元中第k个子接口单元耦接的外围设备占用的子地址空间,其中,k为小于或等于N的正整数。
9.根据权利要求8所述的接口模块,其中,所述控制器还被配置为:
从所述第k个子接口单元接收可与所述第k个子接口单元耦接的外围设备对应的第二地址,并基于所述N组数据位中的第k组数据位存储的m位二进制数,将所述第二地址转换为第三地址,其中,所述第三地址隶属于可与所述第k个子接口单元耦接的外围设备占用的子地址空间。
10.根据权利要求8所述的接口模块,其中,所述N组数据位存储的N个m位二进制数彼此不同。
11.根据权利要求8所述的接口模块,其中,所述多个子地址空间的大小均不小于最大实际占用空间的大小;以及
所述最大实际占用空间为所述多类外围设备中实际占用的地址空间中最大的地址空间。
12.根据权利要求8所述的接口模块,其中,所述多个子地址空间的大小彼此相等。
13.一种处理器,包括:如权利要求1-12任一项所述的接口模块。
14.一种如权利要求1-7任一项所述的处理器的接口模块的操作方法,包括:
改变所述寄存器存储的数据的至少部分,以调整所述多类外围设备的至少一类外围设备占用的子地址空间。
15.根据权利要求14所述的操作方法,其中,所述多个子接口单元的数目和所述多个子地址空间的数目均为N,其中,N为正整数;
所述寄存器包括分别对应于所述N个子接口单元的N组数据位;
所述N组数据位的每个包括所述寄存器中对应的m个数据位,其中,m是正整数;
所述N组数据位被配置为分别存储N个m位二进制数;以及
所述操作方法还包括:使得所述N组数据位存储的N个m位二进制数彼此不同。
CN202110053414.0A 2021-01-15 2021-01-15 处理器的接口模块及其操作方法、处理器 Active CN112711557B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110053414.0A CN112711557B (zh) 2021-01-15 2021-01-15 处理器的接口模块及其操作方法、处理器
US17/575,525 US11971837B2 (en) 2021-01-15 2022-01-13 Processor interface assembly, operation method, and processor
EP22151506.7A EP4030305A1 (en) 2021-01-15 2022-01-14 Processor interface, operation method, and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110053414.0A CN112711557B (zh) 2021-01-15 2021-01-15 处理器的接口模块及其操作方法、处理器

Publications (2)

Publication Number Publication Date
CN112711557A CN112711557A (zh) 2021-04-27
CN112711557B true CN112711557B (zh) 2022-11-18

Family

ID=75549121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110053414.0A Active CN112711557B (zh) 2021-01-15 2021-01-15 处理器的接口模块及其操作方法、处理器

Country Status (3)

Country Link
US (1) US11971837B2 (zh)
EP (1) EP4030305A1 (zh)
CN (1) CN112711557B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477512A (zh) * 2009-01-16 2009-07-08 中国科学院计算技术研究所 一种处理器系统及其访存方法
CN109298882A (zh) * 2018-09-26 2019-02-01 深圳壹账通智能科技有限公司 接口的管理方法、计算机可读存储介质和终端设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721839B1 (en) * 2000-12-27 2004-04-13 International Business Machines Corporation Method of mapping multiple address spaces into single PCI bus
JP2005062997A (ja) * 2003-08-08 2005-03-10 Matsushita Electric Ind Co Ltd データ転送制御装置、ディスクレコーダ、およびデータ転送制御方法
JP4398386B2 (ja) * 2005-01-28 2010-01-13 富士通株式会社 複数の処理ノードをシリアルバスにより相互接続する装置
US7370310B1 (en) * 2005-08-08 2008-05-06 Xilinx, Inc. Static address mapping
US7737725B1 (en) * 2008-04-04 2010-06-15 Xilinx, Inc. Device control register for a processor block
CN101710314B (zh) * 2009-11-17 2013-02-27 中兴通讯股份有限公司 高速外围部件互连交换控制器及其实现方法
MX2018008949A (es) * 2016-02-26 2018-09-03 Micro Motion Inc Metodo de comunicacion con dos o mas esclavos.
US10635827B2 (en) * 2016-11-18 2020-04-28 Raptor Engineering, LLC Systems and methods for secure isolation of legacy computer peripherals
CN109902038B (zh) * 2019-02-21 2020-12-29 杭州迪普科技股份有限公司 一种PCIe总线地址空间分配方法及装置
US11366776B1 (en) * 2021-04-13 2022-06-21 Renesas Electronics America Inc. Network device configuration based on slave device type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477512A (zh) * 2009-01-16 2009-07-08 中国科学院计算技术研究所 一种处理器系统及其访存方法
CN109298882A (zh) * 2018-09-26 2019-02-01 深圳壹账通智能科技有限公司 接口的管理方法、计算机可读存储介质和终端设备

Also Published As

Publication number Publication date
EP4030305A1 (en) 2022-07-20
CN112711557A (zh) 2021-04-27
US11971837B2 (en) 2024-04-30
US20220229799A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
EP2257880B1 (en) System and method for transforming pcie sr-iov functions to appear as legacy functions
US4968977A (en) Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
CN111092773B (zh) 一种支持虚拟交换的pcie交换芯片端口配置系统和方法
US8312187B2 (en) Input/output device including a mechanism for transaction layer packet processing in multiple processor systems
US7574581B2 (en) Cross-chip communication mechanism in distributed node topology to access free-running scan registers in clock-controlled components
US20130151750A1 (en) Multi-root input output virtualization aware switch
US8458368B2 (en) System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device
US20100064070A1 (en) Data transfer unit for computer
US11741039B2 (en) Peripheral component interconnect express device and method of operating the same
US8583845B2 (en) Multi-processor system and controlling method thereof
US20220318170A1 (en) DEVICES, SYSTEMS, AND METHODS FOR PCIe ENDPOINT INTERRUPT
EP0775959A2 (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
US20220300442A1 (en) Peripheral component interconnect express device and method of operating the same
US8312461B2 (en) System and method for discovering and protecting allocated resources in a shared virtualized I/O device
US6339808B1 (en) Address space conversion to retain software compatibility in new architectures
JP6579140B2 (ja) 変換装置、ホスト装置、入出力スイッチシステム、情報処理システム、方法およびプログラム
US5933613A (en) Computer system and inter-bus control circuit
CN112711557B (zh) 处理器的接口模块及其操作方法、处理器
US8527745B2 (en) Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available
CN1259603C (zh) 用于分布式过程控制系统的通用操作员站模块
US8225007B2 (en) Method and system for reducing address space for allocated resources in a shared virtualized I/O device
JPH03238539A (ja) メモリアクセス制御装置
US20230350824A1 (en) Peripheral component interconnect express device and operating method thereof
US20230305881A1 (en) Configurable Access to a Multi-Die Reconfigurable Processor by a Virtual Function
JPH08272754A (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
CB02 Change of applicant information

Address after: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant after: Feiteng Information Technology Co.,Ltd.

Address before: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin, 300450

Applicant before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant