可调整指令优先级的多通道指令控制方法及系统、控制器技术方案

技术编号:18444572 阅读:60 留言:0更新日期:2018-07-14 10:14
本发明专利技术提供一种可调整指令优先级的多通道指令控制方法及系统、控制器,包括为每个线程配置一组状态控制器;通过取指请求仲裁器仲裁不同的数据读取请求;将指令数据通过指令存储仲裁器存储至片上内存对应的存储空间;通过指令读取控制器按照轮询顺序读取片上内存中的指令;通过指令译码器将设备的配备指令的指令数据和设备标志发送至指令发送器;通过指令发送器将指令数据发送至对应的设备;通过信号控制器接收设备的反馈信号,并对多个不同线程进行切换以控制设备的执行顺序。本发明专利技术的可调整指令优先级的多通道指令控制方法及系统、控制器解决了优先级抢占的问题、指令传输效率问题、多线程操作同步问题。

Multi channel instruction control method and system and controller with adjustable instruction priority

The invention provides a multi channel instruction control method and system and controller which can adjust the priority of instruction, including configuring a group of state controllers for each thread, arbitrating different data read requests by the fetching request arbitrator, storing the instruction data through the instruction stored to the memory space corresponding to the memory on the sheet. An instruction read controller reads the instructions in the memory in a polling sequence, sends instruction data and device signs to an instruction transmitter by an instruction decoder, sends instruction data to the corresponding device through an instruction transmitter, and receives a feedback signal from the device through a signal controller. And multiple threads are switched to control the execution sequence of the device. The multi channel instruction control method of the adjustable instruction priority of the invention and the system and controller solve the problem of priority preemption, the efficiency of instruction transmission, and the synchronization problem of multi thread operation.

【技术实现步骤摘要】
可调整指令优先级的多通道指令控制方法及系统、控制器
本专利技术涉及指令控制的
,特别是涉及一种可调整指令优先级的多通道指令控制方法及系统、控制器。
技术介绍
随着物联网以及人工智能技术的蓬勃发展,对高性能低功耗的芯片的需求越来越大。现有技术中,多核多线程并行处理的技术广泛应用于各处理器中。在多线程情景中,芯片内部的指令读取模块以及各个处理单元之间的同步运行,已经成为芯片性能的瓶颈之一。目前,读取指令的常见的方式大致可以分为两种:(1)通过CPU直接读取指令并配置内部寄存器这种方式优点是实现简单。目前许多嵌入式应用的芯片采用了总线直接寻址的方式读取指令。由于AMBA(AdvancedMicrocontrollerBusArchitecture)总线在低功耗嵌入式芯片的大量应用,AMBA总线的直接寻址是芯片中经常使用的寻址方式。此种方式是利用AMBA总线将CPU与指令存储器,以及接收指令的设备连接,以提高单一指令的传送的速率和效率。但是,由于设备与指令存储器之间的信息交换必须通过CPU才能进行中转,从而降低了CPU的工作效率,在读取大量的指令的时候,CPU的工作性能明显下降。这是面向CPU的双总线结构的主要缺点。同时为了方便管理指令,都要专门为指令划分的一个空间,以便于软件进行操作,这种预占用的模式增加了内存的开销。如果建立的空间大小偏大或者偏小,都容易引起内存上的问题。通常而言,完全使用总线直接寻址、传递芯片中的所有指令,在指令数量较多的情况下,将会导致指令读取成为了整个芯片的性能瓶颈。因此,对于大规模数量的指令读写,显然用直接寻址是不太合适的。(2)间接配置法目前,不少高性能片上系统(SystemonChip,SoC)芯片使了专用的取指令模块。通常采用一级链表的技术,CPU对指令读取模块进行配置,将指令的地址以及数量发送给取指令模块,取指令模块再发送请求给内存控制器,内存控制器在总线空闲的时候,直接从内存存取数据并传输给取指令模块,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。但是这种做法存在不足之处:如果一次完整的操作需要多段指令,且指令分散在不同的位置,CPU需要进行多次类似直接寻址的操作,从而降低了CPU的工作效率。除了性能上的问题,传统的单端口方式还存在优先级抢占的问题。由于总线传送具有分时性,当有多个主设备同时申请总线的使用时必须进行总线的仲裁。当低优先级的设备早于高优先级的设备进行读取指令时,总线将会被低优先级的设备占据,高优先级必须等到低优先级的设备读取完指令才能获取总线资源。这种没有资源调控机制的硬件设备容易造成信息的延时,在即时性需求强的应用处形成性能瓶颈。对于人工智能芯片,其内部有许多个神经网络单元以及图形处理器。如果使用传统的实现方式,对多个硬件处理模块发送指令,当其中一个处理模块堵塞的时候,其余处理模块也不能接收新的指令。一种常见的解决办法是引入中断模块,具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。但这样做的话,每个硬件处理模块都会搭配一个指令读取模块,会占用很多的接口资源,占用的面积会比较大,并且各个硬件处理模块之间的同步通信会变得比较复杂,难以控制。频繁处理中断也会增加CPU的开销,导致CPU负载过大。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种可调整指令优先级的多通道指令控制方法及系统、控制器,提高了整体芯片的工作性能,解决了优先级抢占的问题,控制简单,节省了大量的接口资源以及芯片面积。为实现上述目的及其他相关目的,本专利技术提供一种可调整指令优先级的多通道指令控制方法,包括以下步骤:设置状态寄存器、取指请求仲裁器、指令存储仲裁器、指令读取控制器、指令译码器、信号控制器和指令发送器;为每个线程配置一组状态控制器,所述状态控制器用于存储指令块的地址所在的内存空间的起始地址、结束地址以及指令块的数量,并配置读取指令启动信号;根据状态寄存器的信息发送描述符指针读取请求至总线,根据总线返回的指令段的起始地址和结束地址发送控制命令读取请求至总线,并通过取指请求仲裁器仲裁不同的数据读取请求;根据当前的指令标号,将总线传输的指令数据通过指令存储仲裁器存储至片上内存对应的存储空间;通过指令读取控制器采用轮询方式仲裁不同线程的指令读取请求,按照轮询顺序读取片上内存中的指令,并通过译码选择器将指令传输到对应的指令译码器;再通过指令译码器将设备的配备指令的指令数据和设备标志发送至指令发送器,将设备间的同步通信指令对应的信号标志发送至信号控制器,以及将中断指令对应的中断信号发送至系统;通过指令发送器将指令数据发送至对应的设备;通过信号控制器接收设备对于接收到的指令数据的反馈信号;根据接收的反馈信号和同步通信指令,通过信号控制器对多个不同线程进行切换以控制设备的执行顺序。于本专利技术一实施例中,所述取指请求仲裁器的仲裁原则为:单个线程中地址请求优先于数据请求,高优先级优先于低优先级;不同线程之间的数据请求利用轮询方式实现,停顿的线程将被直接跳过。于本专利技术一实施例中,在同一时刻由指令存储仲裁器选中的通道对应的FIFO控制器对指令对应的存储空间进行读写操作。对应地,本专利技术提供一种可调整指令优先级的多通道指令控制系统,包括设置模块、配置模块、仲裁模块、指令处理模块、接收模块和切换模块;所述设置模块用于设置状态寄存器、取指请求仲裁器、指令存储仲裁器、指令读取控制器、指令译码器、信号控制器和指令发送器;所述配置模块用于为每个线程配置一组状态控制器,所述状态控制器用于存储指令块的地址所在的内存空间的起始地址、结束地址以及指令块的数量,并配置读取指令启动信号;所述仲裁模块用于根据状态寄存器的信息发送描述符指针读取请求至总线,根据总线返回的指令段的起始地址和结束地址发送控制命令读取请求至总线,并通过取指请求仲裁器仲裁不同的数据读取请求;指令处理模块用于根据当前的指令标号,将总线传输的指令数据通过指令存储仲裁器存储至片上内存对应的存储空间;通过指令读取控制器采用轮询方式仲裁不同线程的指令读取请求,按照轮询顺序读取片上内存中的指令,并通过译码选择器将指令传输到对应的指令译码器;再通过指令译码器将设备的配备指令的指令数据和设备标志发送至指令发送器,将设备间的同步通信指令对应的信号标志发送至信号控制器,以及将中断指令对应的中断信号发送至系统;通过指令发送器将指令数据发送至对应的设备;所述接收模块用于通过信号控制器接收设备对于接收到的指令数据的反馈信号;所述切换模块用于根据接收的反馈信号和同步通信指令,通过信号控制器对多个不同线程进行切换以控制设备的执行顺序。于本专利技术一实施例中,所述取指请求仲裁器的仲裁原则为:单个线程中地址请求优先于数据请求,高优先级优先于低优先级;不同线程之间的数据请求利用轮询方式实现,停顿的线程将被直接跳过。于本专利技术一实施例中,在同一时刻由指令存储仲裁器选中的通道对应的FIFO控制器对指令对应的存储空间进行读写操作。本专利技术提供一种可调整指令优先级的多通道指令控制器,包括处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执本文档来自技高网
...

【技术保护点】
1.一种可调整指令优先级的多通道指令控制方法,其特征在于,包括以下步骤:设置状态寄存器、取指请求仲裁器、指令存储仲裁器、指令读取控制器、指令译码器、信号控制器和指令发送器;为每个线程配置一组状态控制器,所述状态控制器用于存储指令块的地址所在的内存空间的起始地址、结束地址以及指令块的数量,并配置读取指令启动信号;根据状态寄存器的信息发送描述符指针读取请求至总线,根据总线返回的指令段的起始地址和结束地址发送控制命令读取请求至总线,并通过取指请求仲裁器仲裁不同的数据读取请求;根据当前的指令标号,将总线传输的指令数据通过指令存储仲裁器存储至片上内存对应的存储空间;通过指令读取控制器采用轮询方式仲裁不同线程的指令读取请求,按照轮询顺序读取片上内存中的指令,并通过译码选择器将指令传输到对应的指令译码器;再通过指令译码器将设备的配备指令的指令数据和设备标志发送至指令发送器,将设备间的同步通信指令对应的信号标志发送至信号控制器,以及将中断指令对应的中断信号发送至系统;通过指令发送器将指令数据发送至对应的设备;通过信号控制器接收设备对于接收到的指令数据的反馈信号;根据接收的反馈信号和同步通信指令,通过信号控制器对多个不同线程进行切换以控制设备的执行顺序。...

【技术特征摘要】
1.一种可调整指令优先级的多通道指令控制方法,其特征在于,包括以下步骤:设置状态寄存器、取指请求仲裁器、指令存储仲裁器、指令读取控制器、指令译码器、信号控制器和指令发送器;为每个线程配置一组状态控制器,所述状态控制器用于存储指令块的地址所在的内存空间的起始地址、结束地址以及指令块的数量,并配置读取指令启动信号;根据状态寄存器的信息发送描述符指针读取请求至总线,根据总线返回的指令段的起始地址和结束地址发送控制命令读取请求至总线,并通过取指请求仲裁器仲裁不同的数据读取请求;根据当前的指令标号,将总线传输的指令数据通过指令存储仲裁器存储至片上内存对应的存储空间;通过指令读取控制器采用轮询方式仲裁不同线程的指令读取请求,按照轮询顺序读取片上内存中的指令,并通过译码选择器将指令传输到对应的指令译码器;再通过指令译码器将设备的配备指令的指令数据和设备标志发送至指令发送器,将设备间的同步通信指令对应的信号标志发送至信号控制器,以及将中断指令对应的中断信号发送至系统;通过指令发送器将指令数据发送至对应的设备;通过信号控制器接收设备对于接收到的指令数据的反馈信号;根据接收的反馈信号和同步通信指令,通过信号控制器对多个不同线程进行切换以控制设备的执行顺序。2.根据权利要求1所述的可调整指令优先级的多通道指令控制方法,其特征在于,所述取指请求仲裁器的仲裁原则为:单个线程中地址请求优先于数据请求,高优先级优先于低优先级;不同线程之间的数据请求利用轮询方式实现,停顿的线程将被直接跳过。3.根据权利要求1所述的可调整指令优先级的多通道指令控制方法,其特征在于,在同一时刻由指令存储仲裁器选中的通道对应的FIFO控制器对指令对应的存储空间进行读写操作。4.一种可调整指令优先级的多通道指令控制系统,其特征在于,包括设置模块、配置模块、仲裁模块、指令处理模块、接收模块和切换模块;所述设置模块用于设置状态寄存器、取指请求仲裁器、指令存储仲裁器、指令读取控制器、指令译码器、信号控制器和指令发送器;所述配置模块用于为每个线程配置一组状态控制器,所述状态控制器用于存储指令块的地址所在的内存空间的起始地址、结束地址以及指令块的数量,并配置读取指令启动信号;所述仲裁模块用于根据状态寄存器的信息发送描述符指针读取请求至总线,根据总线返回的指令段的起始地址和结束地址发送控制命令读取请求至总线,并通过取指请求仲裁器仲裁不同的数据读取请求;指令处理模块用于根据当前的指令标号,将总线传输的指令数据通...

【专利技术属性】
技术研发人员:刘君寅张慧明
申请(专利权)人:芯原微电子上海有限公司图芯芯片技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1