CN114579483B - 一种基于软件实现外设的sdp芯片及方法 - Google Patents
一种基于软件实现外设的sdp芯片及方法 Download PDFInfo
- Publication number
- CN114579483B CN114579483B CN202210198121.6A CN202210198121A CN114579483B CN 114579483 B CN114579483 B CN 114579483B CN 202210198121 A CN202210198121 A CN 202210198121A CN 114579483 B CN114579483 B CN 114579483B
- Authority
- CN
- China
- Prior art keywords
- peripheral
- hmt
- data
- chip
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种基于软件实现外设的SDP芯片及方法,所述基于软件实现外设的芯片包括硬件多线程架构HMT和多个智能端口SP,多个SP通过总线与HMT连接,每个智能端口SP对应设置一个引脚,通过若干个引脚连接SDP芯片外部的外设,所述基于软件实现外设的方法基于该芯片实现,HMT接收应用产品需求对应的待处理任务,根据待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码配置SP;所述SP在配置完成后,执行应用产品需求对应的待处理任务,其中多线程处理器能够并行运行不同的控制代码,不仅能够实现不同外设的功能,而且能够保证运行控制代码的实时性和可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于软件实现外设的SDP芯片及方法。
背景技术
传统计算机设备的计算机体系结构基于软件系统与硬件系统协同实现,所述软件系统包括应用层和连接应用层的系统层,系统层中嵌入驱动程序,所述硬件系统包括处理器和处理器上的片内外设,其中,驱动程序和片内外设组成软硬件交互层,在交互层实现计算机系统的软件与硬件交互,保证计算机的功能实现。
其中处理器内核算力相对足够强大,软件功能的实现几乎没有限制。因此,应用功能的实现主要受限于硬件外设的规模及种类。这里所谓的硬件,主要是指代处理器片内的各种外设。不同的处理器可能具有相同的内核,但外设的配置却千差万别以满足不同的市场需求。
在嵌入式领域,硬件外设制约了最终功能的实现及产品的成本。例如,某应用产品要求增加一路UART接口,但是当前使用的处理器已没有UART资源。此时,要么使用扩展芯片,要么重新选择处理器并重新设计硬件。而使用扩展芯片会增加成本同时增加软件复杂度;全新设计产品更是成本的飙升。
发明内容
为克服现有技术中的不足,本申请提供一种基于软件实现外设的SDP芯片及方法,能够支持处理器在执行应用程序的同时基于软件实现不同种类的外设。
本申请提供的一种基于软件实现外设的SDP芯片,包括硬件多线程架构HMT和多个智能端口SP;多个所述SP通过总线与所述HMT连接;
所述HMT,用于接收应用产品需求对应的待处理任务,根据所述待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码按照所述任务配置信息配置所述SP;
所述SP,用于在配置完成后,执行所述应用产品需求对应的待处理任务。
在一种可能的实施方式中,所述HMT包括通过所述总线连接的事件调度单元和多个多线程核心;
所述事件调度单元,用于根据所述待处理任务携带的任务配置信息,确定需要调用的至少一个所述多线程核心;
多个所述多线程核心,用于并行运行需要执行的相关外设的控制代码。
在一种可能的实施方式中,所述HMT包括与所述总线连接的数据交换机,以及与所述数据交换机连接的存储器;
所述存储器,用于存储所述需要执行的相关外设的控制代码;
所述数据交换机,用于对所述存储器进行统一编址以及区域划分,所述多线程核心对所述存储器的划分区域进行多路并发的数据访问。
在一种可能的实施方式中,每个所述SP均设置一个引脚,通过若干所述引脚连接SDP芯片外部的外设,所述外设通过所述SP与所述HMT之间进行数据交互。
在一种可能的实施方式中,所述SP包括条件检测单元、时序单元、序列及反序列单元和缓存单元;
所述时序单元,用于产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;
所述条件检测单元,用于实时检测所述引脚接收的外设数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的外设数据传输给所述HMT;
所述序列及反序列单元,用于将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输;
所述缓存单元,用于锁存所述外设与所述HMT之间交互的数据,以供所述外设或所述HMT进行调用。
本申请提供一种基于软件实现外设的方法,应用于一种基于软件实现外设的SDP芯片,所述SDP芯片包括硬件多线程架构HMT和多个智能端口SP;多个所述SP通过总线与所述HMT连接;所述方法包括以下步骤:
所述HMT接收应用产品需求对应的待处理任务,根据所述待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码按照所述任务配置信息配置所述SP;
所述SP在配置完成后,执行所述应用产品需求对应的待处理任务。
在一种可能的实施方式中,所述HMT包括通过所述总线连接的事件调度单元和多个多线程核心,所述HMT通过以下方式运行所述控制代码:
所述事件调度单元根据所述待处理任务携带的任务配置信息,确定需要调用的至少一个所述多线程核心;
至少一个所述多线程核心并行运行需要执行的相关外设的控制代码。
在一种可能的实施方式中,所述HMT包括与所述总线连接的数据交换机,以及与所述数据交换机连接的存储器;所述至少一个所述多线程核心并行运行所述待处理任务相关外设的控制代码,包括以下步骤:
所述存储器存储所述需要执行的相关外设的控制代码;
所述数据交换机对所述存储器进行统一编址以及区域划分,所述多线程核心对所述存储器的划分区域进行多路并发的数据访问,以调取所述待处理任务相关外设的控制代码,并并行运行所述待处理任务相关外设的控制代码。
在一种可能的实施方式中,所述每个所述SP均设置一个引脚,所述外设通过以下方式与所述HMT之间进行数据交互:
通过若干所述引脚连接SDP芯片外部的外设;
所述外设通过所述SP与所述HMT之间进行数据交互。
在一种可能的实施方式中,所述SP包括条件检测单元、时序单元、序列及反序列单元和缓存单元,所述外设与所述HMT之间进行数据交互,包括以下步骤:
所述时序单元产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;
所述条件检测单元实时检测所述引脚接收的外设数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的外设数据传输给所述HMT;
所述序列及反序列单元将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输;
所述缓存单元锁存所述外设与所述HMT之间交互的数据,以供所述外设或所述HMT进行调用。
本实施例提供的一种基于软件实现外设的SDP芯片及方法,基于硬件多线程架构HMT和通过总线与所述HMT连接的多个智能端口SP实现,其中,每个所述SP均设置一个引脚,通过若干引脚连接SDP芯片外部的外设,HMT包括与总线连接的多个多线程核心以及存储相关外设的控制代码,通过多个多线程核心并行运行待处理任务相关外设的控制代码,不仅能够实现不同外设的功能,而且能够保证运行控制代码的实时性和可靠性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了现有现有技术基于硬件实现外设的结构示意图;
图2示出了本申请一实施例基于SDP芯片实现外设的结构示意图;
图3示出了本申请一实施例所述多线程处理器的结构示意图;
图4示出了本申请一实施例所述智能端口的结构示意图;
图5示出了本申请一实施例所述MII接口的时序图;
图6示出了本申请一实施例基于软件实现外设的方法的流程图。
图中:
101、多线程核心,102、存储器,103、事件调度单元,104、寄存器组,105、数据交换机,106、时钟及时序单元,107、系统控制管理单元,108、调试单元,109、扩展单元,110、总线,201、条件检测单元,202、序列及反序列单元,203、时序单元,204、缓存单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
随着大规模集成电路技术的快速发展,现在许多芯片在制造时将部分接口电路和总线集成到芯片内部,对于这部分电路与传统的接口电路和总线是有区别的,为了加于区别可以称之为片内外设。所述片内外设的含义是在集成电路芯片内部集成的用于与外部设备连接的接口电路和总线,如功能强大的通用定时器和PWM,高精度的A/D、D/A转换模块,各种高速同步/异步串行口等。
参考说明书附图1,在嵌入式系统中,计算机设备中各种应用功能的实现是基于软件与硬件协同实现的。一般来说,所述硬件包括处理器和所述处理器上集成的片内外设,所述软件包括应用层和系统层,在系统层中安装驱动程序,所述驱动程序可以简单理解为对硬件进行控制与管理的软件,为系统层或应用层提供相关接口,对硬件的管理及控制则通过对寄存器的操作实现。
可见在嵌入式领域,硬件外设制约了最终功能的实现及产品的成本,即若处理器内未集成相应的片内外设,就不能实现相应的功能。
而为了使得处理器的外设实现不再受限于硬件的配置,可以使用软件实现各类外设,基于此,本申请实施例提供一种基于软件实现外设的SDP(Software DefinedPeripherals)芯片,以应用于计算机设备,参考说明书附图2,在该嵌入式系统中所属硬件的处理器上不集成片内外设或者仅集成必要的少数片内外设,其余外设的控制指令由软件实现,可视为系统层的一部分,通过运行相应外设的控制指令以实现不同外设的功能,从而解除现有技术中硬件对应用功能的制约。
在一实施例中,一种基于软件实现外设的SDP芯片;包括硬件多线程架构HMT(Hardware MultiThreaded Technology)和多个智能端口SP(Smart Port);多个所述SP通过总线与所述HMT连接;
所述HMT,用于接收应用产品需求对应的待处理任务,根据所述待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码按照所述任务配置信息配置所述SP;
所述SP,用于在配置完成后,执行所述应用产品需求对应的待处理任务。
其中,应用产品需求对应的待处理任务可以来源于应用程序,所述应用程序是基于该SDP芯片来完成某项或多项特定工作的计算机程序,实现用户需求。其应为本领域技术人员所熟知的技术手段,在此不做赘述。
参考说明书附图3,在一些实施例中,所述HMT包括通过总线110连接的多个多线程核心101、以及事件调度单元103,其中,所述多线程核心101采用流水线技术来高效处理多线程并发,其编程模型等效于具有N个单元的对称多处理器(SMP),在对称多处理器系统中,所有处理器的地位都是相同的,所有的资源,特别是存储器、中断及I/O空间,都具有相同的可访问性,消除了结构上的障碍。在该实施例中,若干个所述多线程核心101,用于并行运行需要执行的相关外设的控制代码。其中多线程核心101的具体数量可依据实际需求设计,本申请并对此进行限制和固定。
所述事件调度单元103,用于对各类事件进行管理、以协调调度单元动态裁决需要运行的多线程核心101。在该实施例中,所述事件调度单元103用于根据所述待处理任务携带的任务配置信息,确定需要调用的至少一个所述多线程核心101。
在一些实施例中,所述HMT还包括与总线连接的数据交换机105,以及与所述数据交换机105连接的存储器102。所述存储器102分为ROM及RAM。ROM用于掩膜BIOS及系统必要的固件;RAM用作数据及程序存储。在该实施例中所述存储器102用于存储外设的控制代码、以及多线程核心101与SDP芯片外部的外设之间的交互数据。所述数据交换机105为所述存储器102和所述多线程核心101之间的桥梁,负责对数据在源和目的间做路由。所述数据交换机105除了对存储器102进行统一编址的访问外,还可以对其进行分区分段,实现多线程核心101的定向访问,以提升整体性能。
其中多线程核心101与SDP芯片外部的外设之间的交互数据并不局限于数据,还可以是交互的指令、信号、流程、动作等;在其他实施例中,存储器102还可以包括配置的FLASH和NVMEM等,本申请并不对此进行限制和固定。
在一些实施例中,所述HMT还包括连接于总线110上的寄存器组104,所述寄存器组104为所有寄存器的集合,其中每个多线程核心101均设置以专用的寄存器,用于暂存指令、数据和地址。
在一些实施例中,所述HMT还包括连接于总线110上的时钟及时序单元106,所述时钟及时序单元106用于产生及管理系统工作所需要的各种时钟信号以及产生及管理各种时序信号。
在一些实施例中,所述HMT还包括连接于总线110上的系统控制管理单元107,所述系统控制管理单元107负责多线程核心101的状态监控、多线程核心101的启停控制、各类异常检测、核心资源管理等;
在一些实施例中,所述HMT还包括连接于总线110上的调试单元108,所述调试单元108用于提供一个系统调试接口,以便开发、测试及调试功能及分析系统性能;
在一些实施例中,所述HMT还包括连接于总线110上的扩展单元109,所述扩展单元109的具体内容依据需求不同有所变化,可能的内容包括:DSP协处理器单元、CORDIC数学求解器、通信基带处理单元等,用以增强HMT整体性能。
要基于软件实现不同的外设,就需要在硬件上设计一种智能端口SP连接SDP芯片外部的外设,使其能够在上述HMT的软件控制下实现各类外设及协议,同时保证时序稳定可靠。参见说明书附图4,其中,每个所述SP均设置一个引脚,通过若干所述引脚连接SDP芯片外部的外设,所述外设通过所述SP与所述HMT之间进行数据交互。
在一些实施例中,所述SP包括条件检测单元201、时序单元203、序列及反序列单元202和缓存单元204,所述时序单元203用于产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;所述条件检测单元201用于实时检测所述引脚接收的数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的数据传输到总线,待检测到引脚上的数据出现特定数值后,引脚的数据才会被传送到总线110;所述序列及反序列单元202用于将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输。所述缓存单元204用于锁存所述SP与所述HMT之间交互的数据直至特定的信号出现,以供所述外设或所述HMT进行调用。
在一实施例中,通过该SDP芯片实现以太网的接入。其中将以太网MAC连接到物理介质需要物理层收发器电路(PHY)。PHY和MAC之间的连接独立于物理介质,称为介质无关接口系列(例如,MII、GMII、RGMII、SGMII、XGMII等)。百兆以太网收发器芯片使用MII接口,这是一条四位(半字节)宽的总线,其时序图参考说明书附图5,RXCLK为由以太网PHY产生的时钟信号;RXDV为帧传输中由PHY驱动的数据有效信号,高电平有效;RXD为由PHY发给接收方,每个时钟周期发送的半字节数据。
工作中,RXD上发送的首先是一些列由半字节0b1010构成的前导数据(56位),用于同步其接收器时钟,然后是半字节的起始帧定界符(SFD)0b1010和0x1011。之后才是64到1500字节的有效数据,最后是4字节的CRC。
MII模式下,RXD速率为100Mbps。基于上述芯片实现MII时,各组件的参与描述如下:
RXD收到数据;
时序单元将RXD数据与RXCLK数据同步,并以RXDV作为选通信号;
条件检测单元检测到RXDV为高电平时,时序单元开始采样数据;
条件检测单元检测前导数据,直到找到最后一个半字节0xD;
RXD收到的串行序列被反串化为字并存入缓存单元,以便送往总线后由多线程核心处理。
在其他实施例中,通过该芯片还可以实现SPI、1-WIRE、CAN、DVI、HDMI、HDTV、I2C、QSPI、RS485、SDIO、PWM、UART、USB 2.0、VGA、MII等各类硬件接口的功能,其中,通过相应接口的控制逻辑可以将不同数量的引脚进行分组,如UART需要二个引脚、SPI需要四个引脚。由于该SDP芯片采用多线程处理器,在事件调度单元的调度下通过多个多线程核心来执行相应接口的执行代码,所以能够保障实现相应外设功能的实时性和可靠性。
可见本申请提供的SDP芯片,通过一个或多个多线程核心运行所存储的相关外设的控制代码,并通过总线与智能端口交换相关数据及信号,在软件及智能端口的协同下,能够实现各类外设接口及协议。
进一步的,本申请SDP芯片经现场可编程门阵列(FPGA)实现验证,工作可靠稳定。
基于本发明的同一构思,本申请实施例还提供一种基于软件实现外设的方法,由于本申请实施例中的方法解决问题的原理与本申请实施例上述芯片相似,因此方法的实施可以参见方法的实施,重复之处不再赘述。
参考明书附图6所示,本申请实施例提供一种基于软件实现外设的方法,应用于一种基于软件实现外设的SDP芯片,所述SDP芯片包括硬件多线程架构HMT和多个智能端口SP;多个所述SP通过总线与所述HMT连接;所述方法包括以下步骤:
S1、所述HMT接收应用程序发送的待处理任务,以及运行所述待处理任务相关外设的控制代码;
S2、所述SP通过总线与所述HMT进行所述待处理任务的相关数据及信号的通信。
在一些实施例中,所述HMT包括与所述总线连接的多个多线程核心和事件调度单元,所述HMT通过以下方式运行所述待处理任务相关外设的控制代码:
所述事件调度单元将所述待处理任务中时间关键的目标任务分配给至少一个多线程核心;
所述至少一个所述多线程核心并行运行所述待处理任务相关外设的控制代码。
在一些实施例中,所述HMT包括与总线连接的数据交换机,以及与所述数据交换机连接的存储器;所述至少一个所述多线程核心并行运行所述待处理任务相关外设的控制代码,包括以下步骤:
所述存储器存储所述待处理任务相关外设的控制代码;
所述数据交换机对所述存储器进行统一编址以及区域划分,所述多线程核心对所述存储器的划分区域进行多路并发的数据访问,以调取所述待处理任务相关外设的控制代码,并并行运行所述待处理任务相关外设的控制代码。
在一些实施例中,所述每个所述SP均设置一个引脚,所述外设通过以下方式与所述HMT之间进行数据交互:
通过若干所述引脚连接SDP芯片外部的外设;
所述外设通过所述SP与所述HMT之间进行数据交互。
在一些实施例中,所述SP包括条件检测单元、时序单元、序列及反序列单元和缓存单元,所述外设与所述HMT之间进行数据交互,包括以下步骤:
所述时序单元产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;
所述条件检测单元实时检测所述引脚接收的外设数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的外设数据传输给所述HMT;
所述序列及反序列单元将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输;
所述缓存单元锁存所述外设与所述HMT之间交互的数据,以供所述外设或所述HMT进行调用。
可见本申请提供的一种基于软件实现外设的方法基于HMT中的多线程处理器以及与多线程处理器连接的智能端口SP实现,其中多线程处理器在运行相应外设的控制代码时,控制与智能端口SP相应引脚的数据及信号传输,以实现相应外设的功能。其中多线程处理器能够同时并行运行不同的控制代码,不仅能够实现不同外设的功能,而且能够保证运行控制代码的实时性和可靠性。
在本申请所提供的实施例中,应该理解到,所揭露芯片和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于软件实现外设的SDP芯片,其特征在于,包括硬件多线程架构HMT和多个智能端口SP;多个所述SP通过总线与所述HMT连接;
所述HMT,用于接收应用产品需求对应的待处理任务,根据所述待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码按照所述任务配置信息配置所述SP;
所述SP,用于在配置完成后,执行所述应用产品需求对应的待处理任务。
2.根据权利要求1所述的一种基于软件实现外设的SDP芯片,其特征在于,所述HMT包括通过所述总线连接的事件调度单元和多个多线程核心;
所述事件调度单元,用于根据所述待处理任务携带的任务配置信息,确定需要调用的至少一个所述多线程核心;
至少一个所述多线程核心,用于并行运行需要执行的相关外设的控制代码。
3.根据权利要求2所述的一种基于软件实现外设的SDP芯片,其特征在于,所述HMT还包括与所述总线连接的数据交换机,以及与所述数据交换机连接的存储器;
所述存储器,用于存储所述需要执行的相关外设的控制代码;
所述数据交换机,用于对所述存储器进行统一编址以及区域划分,所述多线程核心对所述存储器的划分区域进行多路并发的数据访问。
4.根据权利要求3所述的一种基于软件实现外设的SDP芯片,其特征在于,每个所述SP均设置一个引脚,通过若干所述引脚连接SDP芯片外部的外设,所述外设通过所述SP与所述HMT之间进行数据交互。
5.根据权利要求4所述的一种基于软件实现外设的SDP芯片,其特征在于,所述SP包括条件检测单元、时序单元、序列及反序列单元和缓存单元;
所述时序单元,用于产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;
所述条件检测单元,用于实时检测所述引脚接收的外设数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的外设数据传输给所述HMT;
所述序列及反序列单元,用于将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输;
所述缓存单元,用于锁存所述外设与所述HMT之间交互的数据,以供所述外设或所述HMT进行调用。
6.一种基于软件实现外设的方法,其特征在于,应用于一种基于软件实现外设的SDP芯片,所述SDP芯片包括硬件多线程架构HMT和多个智能端口SP;多个所述SP通过总线与所述HMT连接;所述方法包括以下步骤:
所述HMT接收应用产品需求对应的待处理任务,根据所述待处理任务携带的任务配置信息,确定需要执行的相关外设的控制代码,并通过运行所述控制代码按照所述任务配置信息配置所述SP;
所述SP在配置完成后,执行所述应用产品需求对应的待处理任务。
7.根据权利要求6所述一种基于软件实现外设的方法,其特征在于,所述HMT包括通过所述总线连接的事件调度单元和多个多线程核心,所述HMT通过以下方式运行所述控制代码:
所述事件调度单元根据所述待处理任务携带的任务配置信息,确定需要调用的至少一个所述多线程核心;
至少一个所述多线程核心并行运行需要执行的相关外设的控制代码。
8.根据权利要求7所述一种基于软件实现外设的方法,其特征在于,所述HMT包括与所述总线连接的数据交换机,以及与所述数据交换机连接的存储器;所述HMT运行所述控制代码,包括以下步骤:
所述存储器存储所述需要执行的相关外设的控制代码;
所述数据交换机对所述存储器进行统一编址以及区域划分,所述多线程核心对所述存储器的划分区域进行多路并发的数据访问,以调取所述需要执行的相关外设的控制代码,并并行运行所述需要执行的相关外设的控制代码。
9.根据权利要求8所述一种基于软件实现外设的方法,其特征在于,每个所述SP均设置一个引脚,所述外设通过以下方式与所述HMT之间进行数据交互:
通过若干所述引脚连接SDP芯片外部的外设;
所述外设通过所述SP与所述HMT之间进行数据交互。
10.根据权利要求9所述一种基于软件实现外设的方法,其特征在于,所述SP包括条件检测单元、时序单元、序列及反序列单元和缓存单元,所述外设与所述HMT之间进行数据交互,包括以下步骤:
所述时序单元产生时序信号,基于所述时序信号将所述引脚接收的外设数据传输给所述HMT;以及,所述HMT基于所述时序信号控制所述SP通过所述引脚向外设传输数据;
所述条件检测单元实时检测所述引脚接收的外设数据中包括的特定数值并生成检测结果,以基于所述检测结果将所述引脚接收的外设数据传输给所述HMT;
所述序列及反序列单元将所述外设与所述HMT之间交互的数据进行序列化及反序列化后传输;
所述缓存单元锁存所述外设与所述HMT之间交互的数据,以供所述外设或所述HMT进行调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210198121.6A CN114579483B (zh) | 2022-03-02 | 2022-03-02 | 一种基于软件实现外设的sdp芯片及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210198121.6A CN114579483B (zh) | 2022-03-02 | 2022-03-02 | 一种基于软件实现外设的sdp芯片及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579483A CN114579483A (zh) | 2022-06-03 |
CN114579483B true CN114579483B (zh) | 2023-07-04 |
Family
ID=81776885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210198121.6A Active CN114579483B (zh) | 2022-03-02 | 2022-03-02 | 一种基于软件实现外设的sdp芯片及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579483B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103759B1 (en) * | 1999-10-28 | 2006-09-05 | Imsys Technologies Ab | Microcontroller architecture supporting microcode-implemented peripheral devices |
CN103440373A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种多dsp系统的互联配置模拟方法 |
CN109117418A (zh) * | 2018-07-26 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种可编程片上系统 |
CN110704364A (zh) * | 2019-06-18 | 2020-01-17 | 中国科学院电子学研究所 | 基于现场可编程门阵列的自动化动态重构方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266490B2 (en) * | 2000-12-28 | 2007-09-04 | Robert Marc Zeidman | Apparatus and method for connecting hardware to a circuit simulation |
-
2022
- 2022-03-02 CN CN202210198121.6A patent/CN114579483B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103759B1 (en) * | 1999-10-28 | 2006-09-05 | Imsys Technologies Ab | Microcontroller architecture supporting microcode-implemented peripheral devices |
CN103440373A (zh) * | 2013-08-25 | 2013-12-11 | 浙江大学 | 一种多dsp系统的互联配置模拟方法 |
CN109117418A (zh) * | 2018-07-26 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种可编程片上系统 |
CN110704364A (zh) * | 2019-06-18 | 2020-01-17 | 中国科学院电子学研究所 | 基于现场可编程门阵列的自动化动态重构方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114579483A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070242611A1 (en) | Computer Hardware Fault Diagnosis | |
US7376952B2 (en) | Optimizing critical section microblocks by controlling thread execution | |
CN107003955B (zh) | 用于在根复合体中集成设备的方法、装置和系统 | |
US8375197B2 (en) | Performing an allreduce operation on a plurality of compute nodes of a parallel computer | |
US10157060B2 (en) | Method, device and system for control signaling in a data path module of a data stream processing engine | |
US8161268B2 (en) | Performing an allreduce operation on a plurality of compute nodes of a parallel computer | |
US8140826B2 (en) | Executing a gather operation on a parallel computer | |
US9607116B2 (en) | Distributed hardware device simulation | |
US8891408B2 (en) | Broadcasting a message in a parallel computer | |
US9405552B2 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
US20130091236A1 (en) | Remote direct memory access ('rdma') in a parallel computer | |
US20110078350A1 (en) | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency | |
US20070245122A1 (en) | Executing an Allgather Operation on a Parallel Computer | |
US9229780B2 (en) | Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system | |
US9246861B2 (en) | Locality mapping in a distributed processing system | |
US11281967B1 (en) | Event-based device performance monitoring | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
US7783933B2 (en) | Identifying failure in a tree network of a parallel computer | |
US10042729B2 (en) | Apparatus and method for a scalable test engine | |
US8843728B2 (en) | Processor for enabling inter-sequencer communication following lock competition and accelerator registration | |
CN110806899A (zh) | 一种基于指令扩展的流水线紧耦合加速器接口结构 | |
CN114579483B (zh) | 一种基于软件实现外设的sdp芯片及方法 | |
US10803007B1 (en) | Reconfigurable instruction | |
US20090043540A1 (en) | Performance Testing of Message Passing Operations in a Parallel Computer | |
US20140365748A1 (en) | Method, apparatus and system for data stream processing with a programmable accelerator |
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 |