CN103714034A - 片上系统(soc)应用于个人计算机(pc)系统 - Google Patents
片上系统(soc)应用于个人计算机(pc)系统 Download PDFInfo
- Publication number
- CN103714034A CN103714034A CN201310728745.5A CN201310728745A CN103714034A CN 103714034 A CN103714034 A CN 103714034A CN 201310728745 A CN201310728745 A CN 201310728745A CN 103714034 A CN103714034 A CN 103714034A
- Authority
- CN
- China
- Prior art keywords
- soc
- bus
- address
- peripheral interconnection
- interconnection bus
- 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
Images
Landscapes
- Bus Control (AREA)
Abstract
本发明片上系统(SOC)应用于个人计算机(PC)系统,包括一个PC外设互连总线控制器和一个PC外设互连总线与SOC互连总线转换桥。PC外设互连总线控制器负责完成PC外设互连总线的报头功能并耦合PC外设互连总线和PC外设互连总线与SOC互连总线转换桥;PC外设互连总线与SOC互连总线转换桥负责PC外设互连总线地址和SOC互连总线地址的相互转换并耦合PC外设互连总线控制器和SOC互连总线。PC外设互连总线与SOC互连总线转换桥内部包含PC外设互连总线地址映射到SOC互连总线地址的地址重定向表,及从SOC互连总线地址到PC外设互连总线地址的页表(PageTable)映射,页表映射方法包含缓存。
Description
技术领域
本发明涉及计算机技术领域,具体是将片上系统(SOC)应用于个人计算机(PC)系统。
背景技术
随着电子产品设计复杂度的提高,如何赢得产品上市时间是关乎产品成败至关重要的因素,而知识产权(IP)核可以帮助设计人员高效地搭建片上系统(SOC),从而快速完成电子产品的设计。绝大部分IP核是基于先进可扩展接口(AXI)或高级高性能总线(AHB)设计的,虽然这些IP核提供了丰富的功能,但它们由于缺乏PC外设互连总线如外围组件互连(PCI)或PCIE(PCI Express)兼容性所需要的一些特性而无法应用于个人计算机(PC)系统。特别地,PC外设互连总线通常是基于目标的解码系统,即中央处理器想与外围设备进行通信时,其向所有外围设备发送请求,并等待外围设备响应此次请求。一旦其中的一个外围设备响应了该请求,在中央处理器和相应的外围设备间会建立通道,从而使它们可以进行通信。这样的协议在SOC上不能很好地工作,因为SOC使用基于源的解码来工作。SOC中,主设备向SOC互连总线发送请求,SOC互连总线确定其目标,并仅向该目标发送请求,而不是向所有从设备发送请求并等待响应。
发明内容
鉴于上述内容,本发明可以方便地将片上系统(SOC)应用于个人计算机(PC)系统,其包括以下组件:PC系统,PC外设互连总线控制器,PC外设互连总线与SOC互连总线转换桥和SOC。PC外设互连总线控制器用于实现PC外设互连总线的报头功能并耦合PC外设互连总线和PC外设互连总线与SOC互连总线转换桥;PC外设互连总线协议可以是外围组件互连(PCI)或PCIE(PCI Express);SOC互连总线可以是先进可扩展接口(AXI)、高级高性能总线(AHB)或其它SOC互连总线;PC外设互连总线与SOC互连总线转换桥用于执行地址转换,以将可重定位的PC外设互连总线地址转换为固定的SOC互连总线地址,或者,将固定的SOC互连总线地址转换为可重定位的PC外设互连总线地址,PC外设互连总线与SOC互连总线转换桥耦合所述PC外设互连总线控制器和SOC互连总线。
所述的PC系统,包含中央处理器、主机接口、主存及外设互连总线等组件,所述主机接口耦合到所述中央处理器,并用于将中央处理器耦合到所述主存和所述外设互连总线;
所述的PC外设互连总线控制器,用于耦合所述PC外设互连总线和所述PC外设互连总线与SOC互连总线转换桥,完成PC外设互连总线的报头功能;
所述的PC外设互连总线与SOC互连总线转换桥,用于PC外设互连总线地址与SOC互连总线地址的相互转换,并耦合所述PC外设互连总线控制器和SOC互连总线;
所述的SOC,包含SOC互连总线和一个或多个基于SOC互连总线的主从设备。
PC外设互连总线和SOC互连总线的寻址空间均为4G字节;SOC互连总线地址空间中,部分地址空间用于访问PC外设互连总线,其余地址空间用于SOC从设备的寻址。
从SOC互连总线地址到PC外设互连总线地址的映射中,其基本单位为页面(Page),页面大小为4K字节,地址映射通过页表(Page Table)完成且利用缓存(Cache)提高地址映射效率;从PC外设互连总线地址到SOC互连总线地址的映射,使用一个地址重定向表,一个SOC从设备对应地址重定向表格中的一个条目。
本发明利用两个组件“PC外设互连总线控制器”和“PC外设互连总线与SOC互连总线转换桥”,即可将SOC应用于PC系统,而无需对构建SOC的IP核做出任何修改。同时,对于任何SOC的集成,“PC外设互连总线控制器”和“PC外设互连总线与SOC互连总线转换桥”的功能是固定的,只需修改两个组件中相关地址逻辑,其它功能逻辑无需做出任何修改。另外,设计SOC互连总线是极具挑战性的任务,本发明只需对原始SOC互连总线作一定的地址重配置,而无需修改其它功能逻辑代码就可以利用原始SOC互连总线。综上所述,本发明可以帮助设计开发人员高效地将丰富的SOC产品应用到PC系统中。
附图说明
图1是根据本发明的一个实施例的系统的方框图。
图2是AXI地址到PCI地址的映射流程图。
具体实施方式
实施例使用了一种技术,使得能够在基于PCI或PCIE中的个人计算机系统中使用异构资源,例如AXI/AHB IP核,而无需对IP核本身做出任何改变,仅需对SOC互连总线作一定的地址空间配置。实施例提供了两个硬件模块,在本文中被称为“PC外设互连总线控制器”和“PC外设互连总线与SOC互连总线转换桥”,具体地,在实施例中即“PCI总线控制器”和“PCI-AXI 转换桥”。
参考图1,其示出了根据本发明的一个实施例的系统方框图。如图1所示,PC外设互连总线为PCI,SOC互连总线为AXI,然而,本发明的范围并不限制于此。PC系统包含中央处理器,主机接口,主存以及PCI总线等,中央处理器通过主机接口耦合到主存和PCI总线;SOC包含8个IP核,其中有4个主设备和4个从设备,虽如实施例示出,但任何其它的配置都是可能的。PCI总线控制器用于耦合PC系统中的PCI总线和PCI-AXI转换桥。IP核以固定的地址工作,无法即插即用,且缺乏用于发现和枚举的机制,PCI总线控制器可以实现这部分通用的PCI报头功能,对于集成某特定SOC,PCI总线控制器只需修改配置空间的基地址寄存器(BAR),而无需修改其它功能逻辑代码,涉及的逻辑代码修改量很少。
PCI-AXI转换桥中的AXI主设备和AXI从设备耦合PCI总线控制器和AXI总线,完成PCI总线控制器本地端协议和AXI总线协议的相互转换。PCI-AXI转换桥中的页表映射模块负责PCI地址和AXI地址的相互转换,以将可重定位的PCI地址转换为固定的AXI地址,反之亦然。PCI总线和AXI总线的寻址空间均为4G字节,即地址总线位宽均为32位。PCI总线地址空间是可重定位的,PC系统启动时,BIOS或操作系统依据PCI总线控制器的配置空间中的基地址寄存器(BAR)配置好PCI总线地址。AXI总线地址空间是固定的,其中,部分地址空间用于访问PCI总线,剩余所有地址空间用于SOC从设备的寻址。具体地,本实施例中,高2G字节地址空间用于访问PCI总线设备,低2G字节地址空间用于访问4个从设备,但可以理解,本发明的配置并不限制于此。本实施例中,从PCI地址到AXI地址的映射,使用一个地址重定向表,一个AXI从设备对应地址重定向表中的一个条目,这样可在对PCI-AXI转换桥做出最小改变的情况下增加新的IP核,例如,在一个特定实现中,通过在地址重定向表中增加一个新的条目来做出改变。从AXI地址到PCI地址的映射中,其基本单位为页面(Page),页面大小为4K字节;AXI地址到PCI地址的映射由页表(Page Table)完成,页表一般为一级页表、二级页表或三级页表,具体地,本实施例中,页表为一级页表;设置缓存(Cache)以提高地址映射效率,缓存可为一级缓存、二级缓存或三级缓存,具体地,本实施例中,缓存为一级缓存。
对于任何SOC的应用,PCI-AXI转换桥的功能是固定的。如果需要在PC系统集成某SOC,只需依据该SOC的配置修改相关地址映射逻辑,涉及的逻辑代码修改量很少。
特别地,AXI总线设备访问PCI总线设备的具体步骤为:
(1) 中央处理器配置好AXI地址到PCI地址映射的页表;
(2) AXI总线上某主设备发起PCI总线读写访问;
(3) AXI总线将读写访问路由到PCI-AXI转换桥;
(4) PCI-AXI转换桥依据图2所示步骤完成AXI地址到PCI地址的映射;
(5) PCI-AXI转换桥完成AXI协议到PCI总线控制器本地端协议的转换;
(6) 最后通过PCI总线控制器完成读写访问。
地址映射页表既可以存储于PC系统的主存中,也可以存储于SOC相关的存储区域中。实施例中,一共有2G字节 PCI总线地址空间,页表所需存储空间为4M字节。
具体地,AXI地址到PCI地址的映射流程如图2所示。实施例中,PCI-AXI转换桥的逻辑首先判断AXI地址最高位是否为1,如果AXI地址最高位为0,逻辑认为本次SOC主设备发起的读写请求有误,返回AXI总线相关错误信息,结束本次读写请求;如果AXI地址最高位为1,逻辑认为本次SOC主设备发起的读写请求有效,逻辑提取地址的第30位到第12位(地址位从右到左以0开始计数)作为页表号,之后,逻辑以此页表号作为标签(Tag)去访问缓存,如果缓存命中,直接取出PCI的起始地址,如果缓存未命中,依据页表号从相应页表存储区域中读取PCI的起始地址,最后,将此PCI起始地址加上AXI地址的第11位到第0位,即页内偏移,形成最终的PCI地址。至此,AXI地址到PCI地址的映射完成。
该实施例中,通过定制模块“PCI总线控制器”和“PCI-AXI 转换桥”的应用,而无需对构建SOC的IP核作任何修改,即可将异构资源应用到个人计算系统中,并且,对于任何SOC的集成,“PCI总线控制器”和“PCI-AXI 转换桥”的功能绝大部分是一样的,涉及的逻辑代码修改量很少,这样可以使设计人员高效地将丰富的SOC产品应用到个人计算机系统中。另外,该实施例中,只需对AXI互连总线作一定的地址重配置,而无需修改其它功能逻辑代码,就可以利用原始SOC互连总线。
尽管以有限数目的实施例来描述了本发明,但本领域的技术人员可以领会到许多基于此的修改和变型。所附的权利要求旨在覆盖落入本发明的实质精神和范围内的所有这样的修改和变型。
Claims (9)
1.片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:包括PC系统,PC外设互连总线控制器,PC外设互连总线与SOC互连总线转换桥和SOC;PC外设互连总线控制器用于实现PC外设互连总线的报头功能并耦合PC外设互连总线和PC外设互连总线与SOC互连总线转换桥;PC外设互连总线与SOC互连总线转换桥用于执行地址转换,以将可重定位的PC外设互连总线地址转换为固定的SOC互连总线地址,或者,将固定的SOC互连总线地址转换为可重定位的PC外设互连总线地址,PC外设互连总线与SOC互连总线转换桥耦合所述PC外设互连总线控制器和SOC互连总线。
2. 根椐权利要求1所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:PC,包含中央处理器、主机接口、主存及外设互连总线等组件,所述主机接口耦合到所述中央处理器,并用于将中央处理器耦合到所述主存和所述外设互连总线。
3.根椐权利要求1所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:SOC,包含SOC互连总线和一个或多个基于SOC互连总线的主从设备。
4. 如权利要求1所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:所述PC外设互连总线协议可以是外围组件互连(PCI)或PCIE(PCI Express)。
5. 如权利要求1所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:SOC互连总线可以是先进可扩展接口(AXI)、高级高性能总线(AHB)及其它SOC互连总线。
6. 如权利要求4或5所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:所述的PC外设互连总线和SOC互连总线,PC外设互连总线和SOC互连总线的寻址空间均为4G字节;SOC互连总线地址空间中,部分地址空间用于访问PC外设互连总线,其余地址空间用于SOC从设备的寻址。
7. 如权利要求1所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:所述的地址转换,从SOC互连总线地址到PC外设互连总线地址的映射中,其基本单位为页面(Page),所述页面大小为4K字节;从PC外设互连总线地址到SOC互连总线地址的映射,使用一个地址重定向表,一个SOC从设备对应地址重定向表格中的一个条目。
8. 如权利要求7所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:所述的从SOC互连总线地址到PC外设互连总线地址的映射,SOC互连总线地址到PC外设互连总线地址的映射由页表(Page Table)完成。
9. 如权利要求8所述的片上系统(SOC)应用于个人计算机(PC)系统,其特征在于:所述的页表映射方法,利用缓存(Cache)以提高地址映射效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728745.5A CN103714034A (zh) | 2013-12-26 | 2013-12-26 | 片上系统(soc)应用于个人计算机(pc)系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728745.5A CN103714034A (zh) | 2013-12-26 | 2013-12-26 | 片上系统(soc)应用于个人计算机(pc)系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103714034A true CN103714034A (zh) | 2014-04-09 |
Family
ID=50407028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310728745.5A Pending CN103714034A (zh) | 2013-12-26 | 2013-12-26 | 片上系统(soc)应用于个人计算机(pc)系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103714034A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901859A (zh) * | 2015-06-11 | 2015-09-09 | 东南大学 | 一种axi/pcie总线转换装置 |
CN106155951A (zh) * | 2015-03-30 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN107517167A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 一种数据传输控制方法、装置及SoC芯片 |
CN109471824A (zh) * | 2018-11-22 | 2019-03-15 | 青岛方寸微电子科技有限公司 | 基于axi总线的数据传输系统及方法 |
CN110688328A (zh) * | 2019-09-27 | 2020-01-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN111241602A (zh) * | 2018-11-29 | 2020-06-05 | 阿里巴巴集团控股有限公司 | Fpga的ip核加载方法、装置及电子设备 |
CN112000594A (zh) * | 2020-07-31 | 2020-11-27 | 瑞芯微电子股份有限公司 | 一种PCIe设备管理方法及其运行系统 |
CN112035389A (zh) * | 2020-08-28 | 2020-12-04 | 西安微电子技术研究所 | 一种plb-axi总线转换桥及其工作方法 |
CN113434460A (zh) * | 2021-08-26 | 2021-09-24 | 长沙海格北斗信息技术有限公司 | SoC架构中的多总线拓扑系统及总线互连方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132117A1 (en) * | 2003-12-11 | 2005-06-16 | Hsiang-An Hsieh | [card reader, and bridge controller and data transmission method thereof] |
CN101620585A (zh) * | 2008-05-30 | 2010-01-06 | 英特尔公司 | 为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议 |
CN102612685A (zh) * | 2009-11-16 | 2012-07-25 | 微软公司 | 经由存储器高速缓存操纵的无阻碍数据传送 |
-
2013
- 2013-12-26 CN CN201310728745.5A patent/CN103714034A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132117A1 (en) * | 2003-12-11 | 2005-06-16 | Hsiang-An Hsieh | [card reader, and bridge controller and data transmission method thereof] |
CN101620585A (zh) * | 2008-05-30 | 2010-01-06 | 英特尔公司 | 为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议 |
CN102612685A (zh) * | 2009-11-16 | 2012-07-25 | 微软公司 | 经由存储器高速缓存操纵的无阻碍数据传送 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155951A (zh) * | 2015-03-30 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN106155951B (zh) * | 2015-03-30 | 2024-01-12 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN104901859A (zh) * | 2015-06-11 | 2015-09-09 | 东南大学 | 一种axi/pcie总线转换装置 |
CN107517167B (zh) * | 2016-06-15 | 2020-04-14 | 华为技术有限公司 | 一种数据传输控制方法、装置及SoC芯片 |
CN107517167A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 一种数据传输控制方法、装置及SoC芯片 |
CN109471824B (zh) * | 2018-11-22 | 2021-02-05 | 青岛方寸微电子科技有限公司 | 基于axi总线的数据传输系统及方法 |
CN109471824A (zh) * | 2018-11-22 | 2019-03-15 | 青岛方寸微电子科技有限公司 | 基于axi总线的数据传输系统及方法 |
CN111241602A (zh) * | 2018-11-29 | 2020-06-05 | 阿里巴巴集团控股有限公司 | Fpga的ip核加载方法、装置及电子设备 |
CN111241602B (zh) * | 2018-11-29 | 2023-05-02 | 阿里巴巴集团控股有限公司 | Fpga的ip核加载方法、装置及电子设备 |
CN110688328A (zh) * | 2019-09-27 | 2020-01-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN110688328B (zh) * | 2019-09-27 | 2023-03-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN112000594A (zh) * | 2020-07-31 | 2020-11-27 | 瑞芯微电子股份有限公司 | 一种PCIe设备管理方法及其运行系统 |
CN112035389A (zh) * | 2020-08-28 | 2020-12-04 | 西安微电子技术研究所 | 一种plb-axi总线转换桥及其工作方法 |
CN113434460A (zh) * | 2021-08-26 | 2021-09-24 | 长沙海格北斗信息技术有限公司 | SoC架构中的多总线拓扑系统及总线互连方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714034A (zh) | 片上系统(soc)应用于个人计算机(pc)系统 | |
US10241951B1 (en) | Device full memory access through standard PCI express bus | |
US20210232522A1 (en) | Flattening portal bridge | |
TWI582595B (zh) | 用於將非週邊構件互連資源整合入個人電腦系統內之設備及系統(二) | |
CN103038758B (zh) | 改善集成非透明桥设备的操作的方法和系统 | |
CN103150279B (zh) | 一种主机与基板管理控制器共享设备的方法 | |
US7353315B2 (en) | Bus controller with virtual bridge | |
CN108292267B (zh) | 用于配置装置的方法、系统和设备 | |
US20140173167A1 (en) | Pci express switch and computer system using the same | |
US10013199B2 (en) | Translation bypass by host IOMMU for systems with virtual IOMMU | |
CN103092798A (zh) | 片上系统及总线下的访问设备的方法 | |
US20150347324A1 (en) | System and Method for Shared Memory for FPGA Based Applications | |
TW594489B (en) | Apparatus and method for monitoring computer system resources | |
CN102760106A (zh) | Pci学业数据挖掘芯片及其运行方法 | |
US20140086247A1 (en) | Network on a chip socket protocol | |
CN102591817A (zh) | 一种多总线桥控制器及其实现方法 | |
CN101859242B (zh) | 一种寄存器读写方法及装置 | |
US11327899B1 (en) | Hardware-based virtual-to-physical address translation for programmable logic masters in a system on chip | |
CN114690682A (zh) | 串列周边接口spi系统和其数据传输方法 | |
WO2014052261A1 (en) | Network on a chip socket protocol | |
US20160026567A1 (en) | Direct memory access method, system and host module for virtual machine | |
Tanwar et al. | Zynq SoC Based High Speed Data Transfer Using PCIe: A Device Driver Based Approach | |
CN107665281B (zh) | 一种基于fpga的处理器模拟方法 | |
US20240004750A1 (en) | Remote scalable machine check architecture | |
Datta et al. | Formal verification of a public-domain DDR2 controller design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140409 |