《工程科学学报》录用稿,htps:/doi.org/10.13374/i,issn2095-9389.2021.10.08.003©北京科技大学2020 工程科学学报DO: 龙芯处理器服务器芯片组的适配与实现 郑臣明),姚宣霞区,周芳),郑雪峰),杨晓君),戴荣) 1)北京科技大学计算机与通信工程学院,北京1000832)海光倍息技术股份有限公司,北京1001933)中科曙光信息产业成都有限公司, 四川610213 ☒通信作者,E-mail:yaoxuanxia@ustb.edu.cn 摘要针对龙芯CPU无对应高性能服务器芯片组的现状,设计开发了一种为龙芯P火筛选芯片组的架构,并实现 了一种龙芯CPU和芯片组适配的方法。提出了采用现场可编程门阵列(FPGA)串联在龙芯CPU和即将适配的多组 芯片组之间的架构。借助于此架构,设计实现了在CPU和芯片组之间那些暂时不知何处理的物理信号线的连接方 法,设计了两者之间上下电时序配合的调试方法,设计实现了规避两者信号协仪鉴导的方法。借助这种架构和这些 方法能够实现同时筛选多款芯片组的目的,避免了以前需要设计多款主板进行适配的情况,节省了重复研发主板的 成本:找到了可以适配龙芯CPU的高性能服务器芯片组:其芯片组规格参数和性能高于目前龙芯CPU所用的芯片 组,开拓了其在服务器领域的应用。 关键词龙芯:芯片组:适配:服务器:现场可编程门阵列 分类号TP302.1 Adaption and implementation of server chipsets for loongson CPU ZHENG Chen-ming,YAO Xuan ZHOU Fang,ZHENG Xue-feng YANG Xiao-ju,DAI Rong 1)School of Computer Communication Eng niversity of Science&Technology Beijing,Beijing 100083,China 2) Haiguang Information Technology ng.100193.China 3) Dawning Information Industry uan,610213,China Corresponding author, ia@ustb.edu.cn ABSTRACT CPl is the core part among all of integrated circuits.Although some homemade CPUs of proprietary intellectual property rights are rapidly developed,there are few high performance chipsets,especially in server domain,to match them.Thus total systems designed by means of those CPUs and low performance chipsets don't release proper performance.Loongson CPU faces the same problem.In seek of better chipsets,a certain architecture and some methods are designed and implemented to adapt some different types of chipsets for it.In this architecture,the field programmable gate array(FPGA)is linked between CPU and these chipsets.FPGA is divided into three domains,which are HT(Hyper Transport) bus domain,processing domain for important but temporarily indeterminate signals,CPLD(Complex Programmable Logic Device)function domain.In these processes of adaption,HT bus signals,the temporarily indeterminate signals and power signals in both CPU and chipsets are respectively linked into three domains in FPGA and treated by programming FPGA to 收毫日期2021-10-08 签项自:国家重大科技专项“核心电子器件、高端通用芯片及基础软件产品”资助项目(2017ZX01028-102)
工程科学学报 DOI: 龙芯处理器服务器芯片组的适配与实现1 郑臣明 1),姚宣霞 1),周 芳 1),郑雪峰 1),杨晓君 2),戴荣 3) 1)北京科技大学计算机与通信工程学院,北京 100083 2)海光信息技术股份有限公司,北京 100193 3)中科曙光信息产业成都有限公司, 四川 610213 通信作者,E-mail: yaoxuanxia@ustb.edu.cn 摘 要 针对龙芯 CPU 无对应高性能服务器芯片组的现状,设计开发了一种为龙芯 CPU 筛选芯片组的架构,并实现 了一种龙芯 CPU 和芯片组适配的方法。提出了采用现场可编程门阵列(FPGA)串联在龙芯 CPU 和即将适配的多组 芯片组之间的架构。借助于此架构,设计实现了在 CPU 和芯片组之间那些暂时不知如何处理的物理信号线的连接方 法,设计了两者之间上下电时序配合的调试方法,设计实现了规避两者信号协议差异的方法。借助这种架构和这些 方法能够实现同时筛选多款芯片组的目的,避免了以前需要设计多款主板进行适配的情况,节省了重复研发主板的 成本;找到了可以适配龙芯 CPU 的高性能服务器芯片组;其芯片组规格参数和性能高于目前龙芯 CPU 所用的芯片 组,开拓了其在服务器领域的应用。 关键词 龙芯;芯片组;适配;服务器;现场可编程门阵列 分类号 TP302.1 Adaption and implementation of server chipsets for loongson CPU ZHENG Chen-ming 1) , YAO Xuan-xia 1) , ZHOU Fang1) , ZHENG Xue-feng1) , YANG Xiao-jun2) , DAI Rong3) 1) School of Computer & Communication Engineering, University of Science & Technology Beijing, Beijing 100083, China 2) Haiguang Information Technology Co., Ltd., Beijing, 100193, China 3) Dawning Information Industry Co., Ltd., Sichuan, 610213, China Corresponding author, E-mail: yaoxuanxia@ustb.edu.cn ABSTRACT CPU is the core part among all of integrated circuits. Although some homemade CPUs of proprietary intellectual property rights are rapidly developed, there are few high performance chipsets, especially in server domain, to match them. Thus total systems designed by means of those CPUs and low performance chipsets don’t release proper performance. Loongson CPU faces the same problem. In seek of better chipsets, a certain architecture and some methods are designed and implemented to adapt some different types of chipsets for it. In this architecture, the field programmable gate array(FPGA) is linked between CPU and these chipsets. FPGA is divided into three domains, which are HT(Hyper Transport) bus domain, processing domain for important but temporarily indeterminate signals, CPLD(Complex Programmable Logic Device) function domain. In these processes of adaption, HT bus signals, the temporarily indeterminate signals and power signals in both CPU and chipsets are respectively linked into three domains in FPGA and treated by programming FPGA to 1收稿日期:2021-10-08 基金项目: 国家重大科技专项“核心电子器件、高端通用芯片及基础软件产品”资助项目(2017ZX01028-102) 《工程科学学报》录用稿,https://doi.org/10.13374/j.issn2095-9389.2021.10.08.003 ©北京科技大学 2020 录用稿件,非最终出版稿
perform all kinds of possible combination of signals.The power sequence between CPU and chipsets is coordinated to a right order by means of FPGA.Signal integrity difference between them is avoided and trimmed to right state by amending their signals in FPGA.In this system,the experimental results show that this architecture and these methods simultaneously make more chipsets work together to be adapted than before in a single motherboard.And that avoids researching and developing many different motherboards for every kind of possible chipsets,and saves a lot of money.A high performance server chipsets can be found to properly match loongson CPU,which have better specifications and higher performance than those current ones used for loongson CPU.A prototype system of loongson CPU and five kinds of chipsets is designed and implemented.By the above architecture and methods,a kind of optimal server chipsets SR5690+SP5100 have been found and the matching principles or correct settings about signal connection and power sequence have been concluded.Loongson 3B4000 two-way SMP motherboard with SR5690+SP5100 chipsets is also produced.On this motherboard,the results of evaluation experiments on computing performance test by SPEC CPU 2006 program,storage performance test by IOzone program and network performance test by Netperf program are performed.Compared with current loongson 3B4000 server with 7A1000 chipset,the test results show the performance on three items is improved about 10% The combination of loongson CPU and this kind of server chipsets provides wider applications in server marke omotes development of loongson CPU in its ecosystem. KEY WORDS loongson;chipsets;adaption;server,field programmable gate ar 集成电路是国家信息产业发展的核心领域,而CPU(中央处理器)则是集成电路中的核心元器 件。目前国家对信息安全有着迫切的要求,如果没有CU的国产化与自主化,国家安全将无从谈起 。龙芯CPU、飞腾CPU、申威CPU是目前被国家认可的:应用领域比较广的三款自主可控CPUB 习。“龙芯”处理器是龙芯中科技术有限公司自主研发的通用CPU。“飞腾”处理器是飞腾信息技术 有限公司开发的飞腾系列高性能通用CPU。“申威处理器由国家高性能集成电路(上海)设计中 心自主研发,具体由江南计算所研制实施。述处理器都得到了国家“863”、国家科技重大专项“核 高基”(核心电子器件、高端通用芯片及基础软件产品)等项目的支持,在党政、关键基础设施、 高性能计算等领域已得到了大量的应用,从应用的结果来看,飞腾、申威9o、龙芯性能表现不 错,可以胜任目前绝大部分应用。 这三款CPU虽然性能不错,为以申威CU研发的神威太湖之光超级计算机在2O21年中国 HPC TOP100排行榜中位列第2,但存在一个较大的短板,即缺乏与其配套的高性能芯片组, 特别是在服务器领域,虽有强大的大脑,但无强壮的躯干和四肢,严重地限制了CPU高性能的发 挥、应用领域的拓展和产④化进程。在服务器产品上,飞腾和申威CPU采用PLX公司的 PCIE(Peripheral Component Interconnect Express)交换芯片作为北桥,例如飞腾的腾云S2500CpU 推荐的参考设计采用8764,申威的1621CPU推荐的参考设计采用PEX8748,利用这些PCIE 交换芯片转换,出更多的PCIE总线,再外接具有PCIE接口的SAS(Serial Attached SCSI)/SATA (Serial Advanced Technology Attachment)控制器(例如Marvell公司的88SE9215)生成 硬盘接口;再外接具有PCE接口的显卡芯片产生显示器接口等。此种芯片组的方案是迫不得已的拼 凑方案,缺点是为了得到所需要的IO(Input Output)接口级联了较多不同厂家的芯片,稳定性和 兼容性很差,信号延迟增大,性能变差。 与龙芯CPU相配套的芯片组,最初有PCI(Peripheral Component Interconnect)接口桥片方案 [,但PCI总线速度太低,己逐渐被淘汰,然后有龙芯2H方案,但龙芯2H桥片性能太弱,只有 4对PCIE信号线和2个SATA接口,而且龙芯2H其实是一款嵌入式CPU,在龙芯CPU无桥片可用 的情况下把它作为桥片是不得已而为之。在2017年底,龙芯中利技术有限公司又推出了龙芯 7Al000桥片作为龙芯处理器的配套芯片组。龙芯7Al000桥片通过HT(Hyper Transport)总线接 口与龙芯CPU相连,接口包括32个PCIE2.0通道、3个SATA2.0通道、6个USB(Universal Serial
perform all kinds of possible combination of signals. The power sequence between CPU and chipsets is coordinated to a right order by means of FPGA. Signal integrity difference between them is avoided and trimmed to right state by amending their signals in FPGA. In this system, the experimental results show that this architecture and these methods simultaneously make more chipsets work together to be adapted than before in a single motherboard. And that avoids researching and developing many different motherboards for every kind of possible chipsets, and saves a lot of money. A high performance server chipsets can be found to properly match loongson CPU, which have better specifications and higher performance than those current ones used for loongson CPU. A prototype system of loongson CPU and five kinds of chipsets is designed and implemented. By the above architecture and methods, a kind of optimal server chipsets SR5690 + SP5100 have been found and the matching principles or correct settings about signal connection and power sequence have been concluded. Loongson 3B4000 two-way SMP motherboard with SR5690 + SP5100 chipsets is also produced. On this motherboard, the results of evaluation experiments on computing performance test by SPEC CPU 2006 program, storage performance test by IOzone program and network performance test by Netperf program are performed. Compared with current loongson 3B4000 server with 7A1000 chipset, the test results show the performance on three items is improved about 10%. The combination of loongson CPU and this kind of server chipsets provides wider applications in server market, and promotes development of loongson CPU in its ecosystem. KEY WORDS loongson; chipsets; adaption; server; field programmable gate array 集成电路是国家信息产业发展的核心领域,而 CPU(中央处理器)则是集成电路中的核心元器 件。目前国家对信息安全有着迫切的要求,如果没有 CPU 的国产化与自主化,国家安全将无从谈起 [1-2]。龙芯 CPU、飞腾 CPU、申威 CPU 是目前被国家认可的、应用领域比较广的三款自主可控 CPU[3- 5]。“龙芯”处理器是龙芯中科技术有限公司自主研发的通用 CPU。“飞腾”处理器是飞腾信息技术 有限公司开发的飞腾系列高性能通用 CPU。“申威”处理器由国家高性能集成电路(上海)设计中 心自主研发,具体由江南计算所研制实施。上述处理器都得到了国家“863”、国家科技重大专项“核 高基”(核心电子器件、高端通用芯片及基础软件产品)等项目[6]的支持,在党政、关键基础设施、 高性能计算等领域已得到了大量的应用,从应用的结果来看,飞腾[7-8]、申威[9-10]、龙芯[11]性能表现不 错,可以胜任目前绝大部分应用[12]。 这三款 CPU 虽然性能不错,如以申威 CPU 研发的神威·太湖之光超级计算机在 2021 年中国 HPC TOP100 排行榜中位列第 2 名[13],但存在一个较大的短板,即缺乏与其配套的高性能芯片组, 特别是在服务器领域,虽有强大的大脑,但无强壮的躯干和四肢,严重地限制了 CPU 高性能的发 挥、应用领域的拓展和产业化进程。在服务器产品上,飞腾和申威 CPU 采用 PLX 公司的 PCIE(Peripheral Component Interconnect Express)交换芯片作为北桥,例如飞腾的腾云 S2500 CPU 推荐的参考设计采用 PEX8764,申威的 1621 CPU 推荐的参考设计采用 PEX8748,利用这些 PCIE 交 换 芯 片 转 换 出 更 多 的 PCIE 总 线 , 再 外 接 具 有 PCIE 接 口 的 SAS ( Serial Attached SCSI)/SATA(Serial Advanced Technology Attachment)控制器(例如 Marvell 公司的 88SE9215)生成 硬盘接口;再外接具有 PCIE 接口的显卡芯片产生显示器接口等。此种芯片组的方案是迫不得已的拼 凑方案,缺点是为了得到所需要的 IO(Input Output)接口级联了较多不同厂家的芯片,稳定性和 兼容性很差,信号延迟增大,性能变差。 与龙芯 CPU 相配套的芯片组,最初有 PCI (Peripheral Component Interconnect)接口桥片方案 [14],但 PCI 总线速度太低,已逐渐被淘汰,然后有龙芯 2H 方案[15],但龙芯 2H 桥片性能太弱,只有 4 对 PCIE 信号线和 2 个 SATA 接口,而且龙芯 2H 其实是一款嵌入式 CPU,在龙芯 CPU 无桥片可用 的情况下把它作为桥片是不得已而为之。在 2017 年底,龙芯中科技术有限公司又推出了龙芯 7A1000 桥片[16]作为龙芯处理器的配套芯片组。龙芯 7A1000 桥片通过 HT(Hyper Transport)总线接 口与龙芯 CPU 相连,接口包括 32 个 PCIE2.0 通道、3 个 SATA2.0 通道、6 个 USB(Universal Serial 录用稿件,非最终出版稿
Bus)2.0接口,可以满足桌面领域对IO接口的应用需求。但龙芯7A1000桥片在IO数量、 RAS(Reliability可靠性、Availability可用性、Serviceability可维护性)和IOMMU(Input/Output Memory Management Unit,.输入输出内存管理单元)等方面的不足是难以满足服务器芯片组的苛刻 要求。 本文针对龙芯CPU的特点,基于目前市场上现有的芯片组,筛选适配出一套高性能的芯片组 来满足龙芯CPU在服务器级别上应用。由于所要筛选的芯片组不是专为龙芯CPU设计的,所以在 龙芯CPU和芯片组适配嫁接过程中,需要解决在物理信号定义、上下电时序、信号协议、 BIOS(Basic Input Output System)层等方面的差异。本文为此设计了一套筛选芯片组的架构,提供 CU和芯片组两者之间在物理信号连接、上下电时序、规避信号协议差异方面的设计方法,能够增 加调试的灵活性和信号裕度,能够简单、反复地调整参数和设计,能够求证芯片组的可用性和兼容 性,能够为龙芯CPU很便捷地找到服务器级别的芯片组。 本文的主要贡献如下: 1)基于目前市场上现有的芯片组,提出了一种为龙芯CPU筛选适配 构, 此架构同 样适用于其他缺少配套芯片组的国产CPU。 2)提出了一种CPU和芯片组两者之间在物理信号连接、规避信号莎议差异方面的设计方法,为 在适配过程中暂时不知如何处理的物理信号找到正确的连接方法或者处理方式。 3)提供了一种灵活调试主板上下电时序的方法,在不修改硬件的条件下,可以随意调整CPU、 芯片组、电源之间的时序,直到找到正确的上下电时序为北 节省了头量研发时间和成本。 4)为龙芯CPU找到了一组高性能的服务器级别的芯片阻,改变了一直采用低性能、嵌入式/桌 面级芯片组充当服务器芯片组的局面,更好地发挥龙芯性能,拓宽龙芯CPU的应用领域,进 一步促进龙芯CPU生态环境的发展。 1 龙芯CPU和芯片组适配的架构设计 CPU和芯片组适配的常规方法1是做一块主板把两者直接连接起来进行调试,但这种调试方 法存在明显的缺点。在适配不成功时很难判断是由于芯片组和CPU两者之间的不兼容引起的,或者 本来两者兼容只是没有正确连接处理引起的,还是由于CPU或芯片组的缺陷引起的,原因不容易 定位。即使原因定位了,由于主板不能修改,特别是由CPU或芯片组的设计缺陷造成的,在不可更 改硬件的情况下不得不重新设计主极修改CPU或者芯片组的设计,浪费了大量时间和成本。 在芯片研发设计中,为了降低研发风险,缩短研发周期,避免多次流片产生的高额成本,通常 都会在芯片流片加工之前进行痂分的仿真模拟。目前常用的仿真模拟方法有三种,基于软件仿真模 拟验证的传统方法,基予硬代彷真加速器的仿真模拟验证方法o,基于FPGA的原型验证方法 四。基于软件仿真模拟验证的传统方法,灵活性强,使用简单,但随着逻辑单元规模的增大模拟验 证速度下降明显,<般只能达到几十赫兹Hz),与现在达到上吉赫兹(GH2)系统相差甚远,并且软 件模拟仿真与真实的物理环境有差距,存在许多难于发现的问题。基于硬件仿真加速器的仿真模拟 验证方法,运行速度能达到几兆赫兹(MHz),其运行速度比基于软件仿真模拟验证的传统方法提升 了上千倍,但仍然达不到上吉赫兹的要求,并且此方法专用性强,维护成本高2-2。基于FPGA的 原型验证方法相对手其他两种方法,FPGA的运行速度可以达到百兆级别,而且逻辑资源、IO资源 比较丰富,而且能够更加真实地模拟真实芯片的行为,一旦系统模拟成功,可以采用硬件拷贝 (Hardcopy)方式直接快速地固化为ASIC(Application Specific Integrated Circuit)芯片。FPGA具有非常 灵活的在线编程特点s2,在不改变硬件的情况下能够反复地修改代码改变硬件行为72,能模拟 出目前常见的IO接口和复杂的总线9训、能灵活地变换不同时钟频率、能调节改变信号的电平,并 内含在线逻辑分析仪功能。本文利用FPGA这些优势,在龙芯处理器和芯片组之间串联一颗 FPGA芯片,每组芯片组通过FPGA芯片后再和龙芯处理器相连,如图1所示,这样可以在一块主 板上实现多组芯片组和龙芯处理器的适配,既增加了适配成功的几率又节省了成本。 基于FPGA的原型验证方法,传统的使用方法是只模拟验证单一架构/单一功能,如果模拟多 架构/多功能需要使用多块FPGA互联来实现。本文对其进行了改进,在FPGA内部模拟划分了三个 不同的功能模块利用一块FPGA芯片来实现,并且通过设计带宽匹配模块(Bandwidth matching module)实现不同频率、不同带宽总线的自协商、自适应,内嵌逻辑分析仪(Logic analyzer)可以做到实 时调试分析,加快研发调试进度
Bus)2.0 接口,可以满足桌面领域对 IO 接口的应用需求。但龙芯 7A1000 桥片在 IO 数量 、 RAS(Reliability 可靠性、Availability 可用性、Serviceability 可维护性)和 IOMMU(Input/Output Memory Management Unit, 输入输出内存管理单元)等方面的不足是难以满足服务器芯片组的苛刻 要求。 本文针对龙芯 CPU 的特点,基于目前市场上现有的芯片组,筛选适配出一套高性能的芯片组 来满足龙芯 CPU 在服务器级别上应用。由于所要筛选的芯片组不是专为龙芯 CPU 设计的,所以在 龙芯 CPU 和芯片组适配嫁接过程中,需要解决在物理信号定义、上下电时序、信号协议 、 BIOS(Basic Input Output System)层等方面的差异。本文为此设计了一套筛选芯片组的架构,提供 CPU 和芯片组两者之间在物理信号连接、上下电时序、规避信号协议差异方面的设计方法,能够增 加调试的灵活性和信号裕度,能够简单、反复地调整参数和设计,能够求证芯片组的可用性和兼容 性,能够为龙芯 CPU 很便捷地找到服务器级别的芯片组。 本文的主要贡献如下: 1) 基于目前市场上现有的芯片组,提出了一种为龙芯 CPU 筛选适配芯片组的架构,此架构同 样适用于其他缺少配套芯片组的国产 CPU。 2) 提出了一种 CPU 和芯片组两者之间在物理信号连接、规避信号协议差异方面的设计方法,为 在适配过程中暂时不知如何处理的物理信号找到正确的连接方法或者处理方式。 3) 提供了一种灵活调试主板上下电时序的方法,在不修改硬件的条件下,可以随意调整 CPU、 芯片组、电源之间的时序,直到找到正确的上下电时序为止,节省了大量研发时间和成本。 4) 为龙芯 CPU 找到了一组高性能的服务器级别的芯片组,改变了一直采用低性能、嵌入式/桌 面级芯片组充当服务器芯片组的局面,更好地发挥龙芯 CPU 性能,拓宽龙芯 CPU 的应用领域,进 一步促进龙芯 CPU 生态环境的发展。 1 龙芯 CPU 和芯片组适配的架构设计 CPU 和芯片组适配的常规方法[17-18]是做一块主板把两者直接连接起来进行调试,但这种调试方 法存在明显的缺点。在适配不成功时很难判断是由于芯片组和 CPU 两者之间的不兼容引起的,或者 本来两者兼容只是没有正确连接处理引起的,还是由于 CPU 或芯片组的缺陷引起的,原因不容易 定位。即使原因定位了,由于主板不能修改,特别是由 CPU 或芯片组的设计缺陷造成的,在不可更 改硬件的情况下不得不重新设计主板、修改 CPU 或者芯片组的设计,浪费了大量时间和成本。 在芯片研发设计中,为了降低研发风险,缩短研发周期,避免多次流片产生的高额成本,通常 都会在芯片流片加工之前进行充分的仿真模拟。目前常用的仿真模拟方法有三种,基于软件仿真模 拟验证的传统方法[19],基于硬件仿真加速器的仿真模拟验证方法[20],基于 FPGA 的原型验证方法 [21]。基于软件仿真模拟验证的传统方法,灵活性强,使用简单,但随着逻辑单元规模的增大模拟验 证速度下降明显,一般只能达到几十赫兹(Hz),与现在达到上吉赫兹(GHz)系统相差甚远,并且软 件模拟仿真与真实的物理环境有差距,存在许多难于发现的问题。基于硬件仿真加速器的仿真模拟 验证方法,运行速度能达到几兆赫兹(MHz),其运行速度比基于软件仿真模拟验证的传统方法提升 了上千倍,但仍然达不到上吉赫兹的要求,并且此方法专用性强,维护成本高[22-24]。基于 FPGA 的 原型验证方法相对于其他两种方法,FPGA 的运行速度可以达到百兆级别,而且逻辑资源、IO 资源 比较丰富,而且能够更加真实地模拟真实芯片的行为,一旦系统模拟成功,可以采用硬件拷贝 (Hardcopy)方式直接快速地固化为 ASIC(Application Specific Integrated Circuit)芯片。FPGA 具有非常 灵活的在线编程特点[25-26],在不改变硬件的情况下能够反复地修改代码改变硬件行为[27-28],能模拟 出目前常见的 IO 接口和复杂的总线[29-31]、能灵活地变换不同时钟频率、能调节改变信号的电平,并 内含在线逻辑分析仪功能[32]。本文利用 FPGA 这些优势,在龙芯处理器和芯片组之间串联一颗 FPGA 芯片,每组芯片组通过 FPGA 芯片后再和龙芯处理器相连,如图 1 所示,这样可以在一块主 板上实现多组芯片组和龙芯处理器的适配,既增加了适配成功的几率又节省了成本。 基于 FPGA 的原型验证方法,传统的使用方法是只模拟验证单一架构/单一功能,如果模拟多 架构/多功能需要使用多块 FPGA 互联来实现。本文对其进行了改进,在 FPGA 内部模拟划分了三个 不同的功能模块利用一块 FPGA 芯片来实现,并且通过设计带宽匹配模块(Bandwidth matching module)实现不同频率、不同带宽总线的自协商、自适应,内嵌逻辑分析仪(Logic analyzer)可以做到实 时调试分析,加快研发调试进度。 录用稿件,非最终出版稿
Loongson CPU Power HT signals signals FPGA impoctant but HT important but temporarily temporanly inde term inate indeterminate sionals signals Northbridge 2 个 signals Southbridge Southbridge 2 图1龙芯CPU和芯片组之间的适配架构 版稿 Fig.1 Architecture of adaptation between loongson CPU and chipsets FPGA内部分为三个功能域:HT总线训处理域、重要暂不确定控制信号线处理域和CPLD功 能域,如图2所示 HT总线处理域用于处理龙芯CPU和芯片组之间HT总线的适配。通过采用第三方或者按照HT 总线协议自行编写HT总线的P核,在PGA上实例化HT总线接口,用来分别连接龙芯CPU和芯 片组的HT总线。由于FPGA的运行速度一般在几百桃赫兹而HT总线频率可达上吉赫兹,所以在 FPGA内设计协议转化模块(Protocol converting modul©把HT总线的高速串行信号线转化为较为低 速的并行内部总线,然后连接到交叉开关总线(Crossbar bus)上。交叉开关总线可以通过软件控制选 择切换任意一组芯片组和龙芯CPU建立HT总线互联,实现在一块主板上能同时调试适配多款芯片 组,十分灵活。由于芯片组和龙芯CPU有可能存在HT总线差异,例如有的是HT2.0协议(最高可 达1.4GHz)或者HT3.0协议(最高可达2.6GHz),需要在FPGA内部设计一个带宽匹配模块,自 动协商解决两者之间带宽差异问题。 龙芯CU有一些独属子自己的信号线,在即将要适配的芯片组里也有一些特殊的信号线,由 于芯片组不是专门为龙芯CPU配套而设计的,在未适配成功前,有些信号是不知道如何连接或者 处理的。本文把这些信号线命名为重要暂不确定控制信号线”,都引入FPGA内部设置的“重要 暂不确定控制信号线处理域” ,借助手FPGA灵活编程的特性,可以在FPGA内部把两者的信号连 接起来,或者单独地做上拉下拉、悬空等处理。通过反复地实验和调试,总能找出“重要暂不确定 控制信号线”的处理方式给到底能否兼容的结论。 龙芯CPU和芯片组都有仓的上下电控制时序,彼此之间怎样配合也是未知的。上下电时序信 号主要包括三部分:CU下电控制信号,芯片组上下电控制信号、电源模块上下电控制信号。这 三部分信号都需要入FPGA内部设置CPLD(Complex Programmable Logic Device)功能域。在主 板设计中,常采用CP)芯片来控制整个主板的上下电时序,本文采用在FPGA内部分离出一部分 逻辑资源实现个CPLD功能域,依靠CPLD来调整三部分的上下电时序来达到CPU和芯片组协 调工作的目的。通过反复地实验和调试,找出相互配合工作的最佳时序或者给出无法兼容的结论
Loongson CPU Memory HT FPGA HT HT important but temporarily indeterminate signals Power Modules HT Northbridge 1 Southbridge 1 Power on/off signals Memory important but temporarily indeterminate signals important but temporarily indeterminate signals Northbridge 2 Power on/off signals Power on/off signals Power on/off signals Southbridge 2 图 1 龙芯 CPU 和芯片组之间的适配架构 Fig.1 Architecture of adaptation between loongson CPU and chipsets FPGA 内部分为三个功能域:HT 总线[33-34]处理域、重要暂不确定控制信号线处理域和 CPLD 功 能域,如图 2 所示。 HT 总线处理域用于处理龙芯 CPU 和芯片组之间 HT 总线的适配。通过采用第三方或者按照 HT 总线协议自行编写 HT 总线的 IP 核,在 FPGA 上实例化 HT 总线接口,用来分别连接龙芯 CPU 和芯 片组的 HT 总线。由于 FPGA 的运行速度一般在几百兆赫兹,而 HT 总线频率可达上吉赫兹,所以在 FPGA 内设计协议转化模块(Protocol converting module)把 HT 总线的高速串行信号线转化为较为低 速的并行内部总线,然后连接到交叉开关总线(Crossbar bus)上。交叉开关总线可以通过软件控制选 择切换任意一组芯片组和龙芯 CPU 建立 HT 总线互联,实现在一块主板上能同时调试适配多款芯片 组,十分灵活。由于芯片组和龙芯 CPU 有可能存在 HT 总线差异,例如有的是 HT2.0 协议(最高可 达 1.4 GHz)或者 HT3.0 协议(最高可达 2.6 GHz),需要在 FPGA 内部设计一个带宽匹配模块,自 动协商解决两者之间带宽差异问题。 龙芯 CPU 有一些独属于自己的信号线,在即将要适配的芯片组里也有一些特殊的信号线,由 于芯片组不是专门为龙芯 CPU 配套而设计的,在未适配成功前,有些信号是不知道如何连接或者 处理的。本文把这些信号线命名为“重要暂不确定控制信号线”,都引入 FPGA 内部设置的“重要 暂不确定控制信号线处理域”,借助于 FPGA 灵活编程的特性,可以在 FPGA 内部把两者的信号连 接起来,或者单独地做上拉、下拉、悬空等处理。通过反复地实验和调试,总能找出“重要暂不确定 控制信号线”的处理方式,给出到底能否兼容的结论。 龙芯 CPU 和芯片组都有自己的上下电控制时序,彼此之间怎样配合也是未知的。上下电时序信 号主要包括三部分:CPU 上下电控制信号,芯片组上下电控制信号、电源模块上下电控制信号。这 三部分信号都需要引入 FPGA 内部设置 CPLD(Complex Programmable Logic Device)功能域。在主 板设计中,常采用 CPLD 芯片来控制整个主板的上下电时序,本文采用在 FPGA 内部分离出一部分 逻辑资源实现一个 CPLD 功能域,依靠 CPLD 来调整三部分的上下电时序来达到 CPU 和芯片组协 调工作的目的。通过反复地实验和调试,找出相互配合工作的最佳时序或者给出无法兼容的结论。 录用稿件,非最终出版稿
Loongson CPU Power Modules HT bus FPGA HT IP interface HT bus a 工 processing Protocol c onverting domain Bandwidth matching Processing domain module for important but CPLD function temnporanly domai Crossbar bus indeterminate signals Protoool converting Protocol converting module module 工 HT IP interface ●HT IP interface HT bus on/off sign Chipset I 图2FPGA内部总体架构图 Fig.2 The overall Architecture of FPGA 在龙芯CPU和芯片组适配的过程中,通过本架构可以实现如下功能或优点: 1)一块主板可以适配多款芯片组(同一时间只能实现一款芯片组和CPU互联),不用再为每 种芯片组单独研发一种主板,节省了研发不同主板的例间和成本。 2)通过FPGA的隔离,能有效地屏蔽CPU和心组在HT总线方面的差异,例如协议版本的 不同、信号线差异,甚至HT设计的缺陷。通过PGA补偿龙芯CPU和芯片组的HT总线差异或缺 陷,使两者无缝地连接起来,而不会因为H总线的差异使适配过程半途而废,所以此架构具有很 大的灵活性,节省了时间和成本。 3)无论龙芯CPU还是芯片组在未适配成功前,那些无法确定怎样连接或者处理的信号线通过 FPGA可以实现任意连接或处理,增加了调试的手段,当找出确定的处理方式后,可指导下一版龙 芯CPU、芯片组或者主板的改进。y 4)CPU和芯片组两者的上下渑时序配合通过FPGA编程来灵活的调节时序和时间间隔,可以 实现任意的组合尝试,增强了调试的灵活性。 2龙芯CPU和芯片组适配的实现过程 2.1芯片组的选择 根据龙芯CPU的特点,在理论上推断目前市场上有如下的芯片组可与龙芯CPU进行适配实 验: 1)矽统科SiS)公司的芯片组,北桥芯片型号SiS761GX,南桥芯片型号SiS968: 2)英伟达(NVIDIA)公司的芯片组,型号MCP68: 3)AMD公司的芯片组,北桥芯片型号M690T,南桥芯片型号SB600: 4)AMD公司的芯片组,北桥芯片型号RS780E,南桥芯片型号SB710: 5)AMD公司的芯片组,北桥芯片型号SR5690,南桥芯片型号SP5100。 龙芯CPU和即将要适配的芯片组按照图1的架构设计一块主板试验品,龙芯CPU采用子板的 方式与芯片组主板互联,试验品实物图如图3所示。主板上包含了如上五种芯片组和FPGA,并把 PCIE、USB、控制线等信号线引入到相应的连接器上。 FPGA采用Intel Stratix10GX2800系列(简称GX2800),具体型号为 1SG280HU2F50E2LG。FPGA选型主要从“可编程IO单元”和“可编程逻辑单元”两个方面考虑。 在可编程IO单元方面,龙芯CPU和五种芯片组共有6组HT总线,其中芯片组1和芯片组2的HT
Loongson CPU HT bus Power Modules HT IP interface Protocol converting module Bandwidth matching module Crossbar bus Chipset 1 Chipset N HT bus Processing domain for important but temporarily indeterminate signals CPLD function domain FPGA HT bus processing domain HT IP interface Protocol converting module Protocol converting module HT IP interface 图 2 FPGA 内部总体架构图 Fig.2 The overall Architecture of FPGA 在龙芯 CPU 和芯片组适配的过程中,通过本架构可以实现如下功能或优点: 1)一块主板可以适配多款芯片组(同一时间只能实现一款芯片组和 CPU 互联),不用再为每 种芯片组单独研发一种主板,节省了研发不同主板的时间和成本。 2)通过 FPGA 的隔离,能有效地屏蔽 CPU 和芯片组在 HT 总线方面的差异,例如协议版本的 不同、信号线差异,甚至 HT 设计的缺陷。通过 FPGA 补偿龙芯 CPU 和芯片组的 HT 总线差异或缺 陷,使两者无缝地连接起来,而不会因为 HT 总线的差异使适配过程半途而废,所以此架构具有很 大的灵活性,节省了时间和成本。 3)无论龙芯 CPU 还是芯片组在未适配成功前,那些无法确定怎样连接或者处理的信号线通过 FPGA 可以实现任意连接或处理,增加了调试的手段,当找出确定的处理方式后,可指导下一版龙 芯 CPU、芯片组或者主板的改进。 4)CPU 和芯片组两者的上下电时序配合通过 FPGA 编程来灵活的调节时序和时间间隔,可以 实现任意的组合尝试,增强了调试的灵活性。 2 龙芯 CPU 和芯片组适配的实现过程 2.1 芯片组的选择 根据龙芯 CPU 的特点,在理论上推断目前市场上有如下的芯片组可与龙芯 CPU 进行适配实 验: 1)矽统科技(SiS)公司的芯片组,北桥芯片型号 SiS761GX,南桥芯片型号 SiS968; 2)英伟达(NVIDIA)公司的芯片组,型号 MCP68; 3)AMD 公司的芯片组,北桥芯片型号 M690T,南桥芯片型号 SB600; 4)AMD 公司的芯片组,北桥芯片型号 RS780E,南桥芯片型号 SB710; 5)AMD 公司的芯片组,北桥芯片型号 SR5690,南桥芯片型号 SP5100。 龙芯 CPU 和即将要适配的芯片组按照图 1 的架构设计一块主板试验品,龙芯 CPU 采用子板的 方式与芯片组主板互联,试验品实物图如图 3 所示。主板上包含了如上五种芯片组和 FPGA,并把 PCIE、USB、控制线等信号线引入到相应的连接器上。 FPGA 采用 Intel Stratix 10 GX 2800 系列(简称 GX 2800),具体型号为 1SG280HU2F50E2LG。FPGA 选型主要从“可编程 IO 单元”和“可编程逻辑单元”两个方面考虑。 在可编程 IO 单元方面,龙芯 CPU 和五种芯片组共有 6 组 HT 总线,其中芯片组 1 和芯片组 2 的 HT 录用稿件,非最终出版稿