半导体装置的处理器及其操作方法与流程

文档序号:14910882发布日期:2018-07-10 23:22阅读:148来源:国知局

技术领域

本发明概念涉及一种半导体装置及其操作方法。



背景技术:

一般来说,为使软件存取从例如硬件加速器或硬件预处理器等专用硬件产生的数据,需要用于临时存储数据的临时存储空间。从硬件产生的数据可记录在临时存储空间中且接着被软件读取。

举例来说,在用于产生数据流的专用硬件与在处理器上运行的用于存取由所述专用硬体产生的所述数据流的软体之间设置例如静态随机存取存储器(static random access memory,SRAM)等存储器装置,且所述存储器装置可用于临时存储从所述专用硬件产生的数据流,从而使得所述数据流可被所述软件读取。

然而,由于此种在专用硬件与软件之间传输数据的方法需要额外的存储器装置,因此成本增加,且在电路上需要用于安装存储器装置的区域。为解决此问题,需要在专用硬件与在处理器上操作的软件之间高效地交换数据。



技术实现要素:

在一些方面中,本发明概念提供一种能够在外部硬件与在处理器上操作的软件之间高效地传送数据而不使用额外的存储器装置的半导体装置的处理器及/或操作所述处理器的方法。

在一个方面中,本发明概念提供一种半导体装置的处理器,所述处理器包括:处理器核心;寄存器,选择性地在第一操作模式期间由外部硬件控制或者在第二操作模式期间由所述处理器核心控制;以及选择电路,接收在所述第一操作模式期间由所述外部硬件提供到所述寄存器的第一数据以及在所述第二操作模式期间由所述处理器核心提供到所述寄存器的第二数据。

在另一方面中,本发明概念提供一种操作半导体装置的处理器的方法,所述方法包括:检测在第二操作模式期间由外部硬件产生的中断信号,在所述第二操作模式中,由所述处理器的处理器核心直接控制寄存器且接收到第二数据;执行从所述第二操作模式向第一操作模式的上下文切换,在所述第一操作模式中,由外部硬件控制所述寄存器且接收到第一数据;对由所述外部硬件直接存储在所述寄存器中而不使用额外的存储器的所述第一数据执行逻辑运算、计算运算、及算术运算中的一种;且之后,执行从所述第一操作模式向所述第二操作模式的上下文切换。

在另一方面中,本发明概念提供一种操作半导体装置的处理器的方法,能够交替地处理使用第一操作模式从外部硬件接收的第一数据以及使用第二操作模式从所述处理器的处理器核心接收的第二数据。所述方法包括:在处理所述第二数据的同时,在所述处理器核心中接收由所述外部硬件产生的中断信号;响应于所述中断信号,进行从所述第二操作模式向所述第一操作模式的上下文切换;在所述第一操作模式期间,直接在所述处理器的寄存器中从所述外部硬件接收所述第一数据而不使用额外的存储器,其中所述寄存器在所述第一操作模式期间由所述外部硬件控制且在所述第二操作模式期间由所述处理器核心控制。

附图说明

藉由参照附图详细阐述本发明概念的示例性实施例,本发明概念的以上及其他方面及特征将变得更显而易见,在附图中:

图1是说明使用根据本发明概念实施例的半导体装置的半导体系统的方块图。

图2是用于说明根据本发明概念实施例的半导体装置的方块图。

图3是进一步说明根据本发明概念实施例的半导体装置的处理器的方块图。

图4是进一步说明根据本发明概念实施例的半导体装置的选择电路的方块图。

图5是说明根据本发明概念实施例的半导体装置的操作实例的时序图。

图6是进一步说明根据本发明概念另一实施例的半导体装置的处理器的方块图。

图7是进一步说明根据本发明概念另一实施例的半导体装置的选择电路的方块图。

图8是说明根据本发明概念另一实施例的半导体装置的操作实例的时序图。

图9是阐述操作根据本发明概念实施例的半导体装置的方法的流程图。

图10是根据本发明概念各种实施例的能够执行算术运算的程序代码段(program code segment)的列表。

[符号的说明]

1:半导体系统/半导体装置;

10:系统芯片;

20:存储器装置;

30:存储装置;

40:总线;

100:应用处理器;

110:数字信号处理器;

120:多媒体处理器;

130:调制解调器;

1300:第一硬件;

1310:第二硬件;

1320:静态随机存取存储器;

1330:处理器;

1332:选择电路;

1334、RD:寄存器;

1336:核心/处理器核心;

13342:起点寄存器;

13344:末尾寄存器;

C1:代码段/第一代码段;

C2:代码段/第二代码段;

CLK:时钟信号;

CTRL 1:第一控制信号;

CTRL 2:控制信号/第二控制信号;

CTRL 3:第三控制信号;

DATA1:第一数据;

DATA2:第二数据;

DATA3:第三数据;

DATA 4:第四数据;

DATA 5:反馈数据;

INT:中断信号;

MODE:模式信号;

S901、S903、S905、S907、S909、S911、S913、S915:操作;

t1、t2、t3、t4、t5、t6、t7、t8、t9:时间。

具体实施方式

在下文中,将参照附图来阐述本发明概念的实施例。

图(FIG.)1是说明包含根据本发明概念实施例的半导体装置及/或使用根据本发明概念实施例的操作方法的半导体系统1的方块图。

参照图1,半导体系统1包括系统芯片(system-on-chip)10、存储器装置20、存储装置30以及用于电连接系统芯片10、存储器装置20及存储装置30的总线40。

图1中所说明的系统芯片10包括应用处理器(application processor,AP)100、数字信号处理器(digital signal processor,DSP)110、多媒体处理器120及调制解调器130。尽管各种实施例中可使用具有前述通用配置的系统芯片,然而此特定配置仅为可根据实施方案的具体目的而有用地包含在本发明概念各种实施例内的许多不同配置的一个实例。

存储器装置20可包括非易失性存储器(例如,只读存储器(read only memory,ROM))及/或易失性存储器(例如,动态随机存取存储器(dynamic random access memory,DRAM)或静态随机存取存储器(SRAM)),但本发明概念的范围并非仅限于所述存储器类型。

存储装置30可包括硬盘驱动器(hard disk drive,HDD)、固态驱动器(solid state drive,SSD)等,但本发明概念的范围并非仅限于所述存储装置类型。

本公开内容的随后将阐述的各种实施例可应用在通用硬件(例如,专用及/或通用硬件)与在一个或多个处理器上操作的软件之间。然而,为解释方便起见,在下文中,将阐述由系统芯片10提供的调制解调器130作为实例。

图2是进一步在一个实例中说明图1所示调制解调器130的方块图。

参照图2,调制解调器130被进一步说明为包括第一硬件1300、第二硬件1310、静态随机存取存储器1320及处理器1330。

第一硬件1300可整体地或部分地为专用硬件,所述专用硬件用于对通过与半导体系统1相关联的天线或包含半导体系统1的主机装置而接收的输入信息执行特定处理并提供对应结果(此后一般称作第一数据(DATA 1))。在一些实施例中,第一数据(DATA 1)可使用一种或多种传统上所理解的“数据流格式(data stream format)”来进行传送(例如,传输及/或接收)。

举例来说,第一硬件1300可为被提供用来对所接收输入信息进行解扰的专用硬件。因此,第一硬件1300可处理输入信息以对第一数据(DATA 1)进行解扰并以数据流格式提供所述第一数据(DATA 1)。

响应于由第一硬件1300提供的第一数据(DATA 1),可使用第二硬件1310(其也可整体地或部分地为专用硬件)来对第一数据(DATA 1)执行特定处理且提供对应的结果作为第二数据(DATA 2)。

在一些实施例中,可能不需要存储器装置来将数据从第一硬件1300传送到第二硬件1310。然而,根据在处理器1330上操作的软件的特定功能及能力,可能需要一些额外的(或中间)存储器(例如,静态随机存取存储器1320)来传送来自第一硬件1300与第二硬件1310的组合的数据。

因此,静态随机存取存储器1320可用于存储由第二硬件1310提供的第二数据(DATA 2)以促成处理环境,所述处理环境能够使在处理器1330上操作的构成软件进一步处理第二数据(DATA 2)。然而,此种使用额外的存储器(例如,静态随机存取存储器1320)来促成数据传送的方式会带来一定的代价(例如使系统芯片10及/或半导体装置1的大小(或占用面积(footprint area))增大),所述数据传送是通过位于处理器1330外部的各种硬件(例如,第一硬件1300及第二硬件1310)以与在处理器1330上操作的软件兼容的方式而进行。为避免这些代价,半导体装置1的一些实施例可将如由一个或多个外部硬件产生的数据直接传送到处理器1330而不将所述数据存储在中间存储器中。

为实现此期望结果,可将第一硬件1300配置成在输出第一数据(DATA 1)的同时获得对设置在处理器1330中的寄存器的控制。此控制使得第一硬件1300能够直接将第一数据(DATA 1)写入到处理器1330的寄存器。可以各种方式来获得控制,但在一个实施例中,第一硬件1300可将第一控制信号(CTRL 1)及中断信号(INT)传送到处理器1330。此后将参照图3、图4及图5来阐述对此种方式的详细说明。

图3是进一步在一个实例中说明根据本发明概念实施例的图2所示处理器1330的方块图。

参照图3且如参照图2所述,处理器1330直接从第一硬件1300接收第一数据(DATA 1)。此处,处理器1330被说明为包括选择电路1332、寄存器1334及处理器核心1336。

选择电路1332接收模式信号MODE,其中选择电路1332被选择性地配置成根据模式信号MODE而以第一操作模式操作或以第二操作模式操作。通过此种方式,选择电路1332可选择性地在以第一操作模式操作的同时将由第一硬件1300提供的第一数据(DATA 1)提供到寄存器1334,或者在以第二操作模式操作的同时将由第二硬件1310提供的第二数据(DATA 2)提供到寄存器1334。就此来说,应注意,第二数据(DATA 2)可进一步响应于由核心1336提供的控制信号(CTRL 2)而被选择性地提供到寄存器1334。

在图3中所说明的实施例中,寄存器1334在操作中通过时钟信号CLK来同步驱动。寄存器1334在第一操作模式期间在第一硬件1300的控制下存储第一数据(DATA 1),或者在第二操作模式中在处理器核心1336的控制下存储第二数据(DATA 2)。

处理器核心1336可直接存取寄存器1334,且更具体来说,在处理器核心1336上运行的软体可直接存取存储在寄存器1334中的数据。在本发明概念的一些实施例中,处理器核心1336可包括应用专用指令集处理器(application-specific instruction set processor,ASIP),但本公开内容的范围并非仅限于此。

此后将阐述第一硬件1300、选择电路1332、寄存器1334及处理器核心1336之间的各种操作及中间操作。

举例来说,当在第一操作模式期间由第一硬件1300提供的第一数据(DATA1)从第一硬件1300直接存储在寄存器1334中时,第一硬件1300可在提供第一数据(DATA 1)之前产生中断信号(INT)。当以第二操作模式操作的处理器核心1336识别到中断信号(INT)的存在时,处理器核心1336使用被称作“上下文切换(context switching)”的方式从第二操作模式切换到第一操作模式。就此来说,数据流或信息线程之间的上下文切换依赖于使用虚拟化存储器(例如,寄存器1334)进行的进程切换。也就是说,每一被切入的数据流或信息线程(例如,DATA 1及DATA 2)共享与对应操作模式(例如,第一操作模式及第二操作模式)相关的虚拟化存储器。

因此,当处理器核心1336完成从第二操作模式向第一操作模式的上下文切换时,第一硬件1300被允许将第一控制信号CTRL 1传送到选择电路1332以获得对寄存器1334的控制,且之后,第一硬件1300可通过选择电路1332将第一数据(DATA 1)写入到寄存器1334。之后,在第一操作模式期间,处理器核心1336(或在处理器核心1336上运行的软体)可对存储在寄存器1334中的第一数据(DATA 1)执行逻辑运算、计算运算及/或算术运算。

之后,在从第一硬件1300提供第一数据(DATA 1)的过程完成且由处理器核心1336执行的逻辑/计算/算术运算完成时,处理器核心1336可通过将第二控制信号(CTRL 2)传送到选择电路1332以重新获得对寄存器1334的控制来控制从第一操作模式切换回到第二操作模式的上下文切换。因此,可通过此种方式将数据从第一硬件1300传送到在处理器核心1336上运行的软体而无需使用除已设置在处理器1330中的寄存器1334以外的存储器资源。此使得能够以减小的大小及成本实作图1所示半导体系统1。

图4是进一步在一个实例中说明根据本发明概念实施例的图3所示选择电路1332的方块图。

参照图1、图2、图3及图4,选择电路1332可使用多个多路复用器(例如,第一多路复用器、第二多路复用器及第三多路复用器)来实作。

第一多路复用器接收由第一硬件1300提供的第一数据(DATA 1)及由除第一硬件1300以外的一些来源(例如,第二硬件1310、处理器核心1336等)提供的第二数据(DATA 2),根据选择电路1332的操作模式而在第一数据(DATA1)与第二数据(DATA 2)之间进行选择,并输出第三数据(DATA 3)。

在第一硬件1300控制寄存器1334的第一操作模式期间,第一多路复用器选择第一数据(DATA 1)并输出第一数据(DATA 1)作为第三数据(DATA 3)。作为另外一种选择,在处理器核心1336控制寄存器1334的第二操作模式期间,第一多路复用器选择第二数据(DATA 2)并输出此第二数据(DATA 2)作为第三数据(DATA 3)。

第二多路复用器接收由第一硬件1300提供的第一控制信号CTRL 1及由除第一硬件1300以外的一些来源(例如,处理器核心1336)提供的第二控制信号CTRL 2,根据选择电路1332的操作模式而在第一控制信号CTRL 1与第二控制信号CTRL 2之间进行选择,并输出第三控制信号CTRL 3。

在第一硬件1300控制寄存器1334的第一操作模式期间,第二多路复用器选择第一控制信号CTRL 1并输出此第一控制信号CTRL 1作为第三控制信号CTRL 3。作为另外一种选择,在处理器核心1336控制寄存器1334的第二操作模式期间,第二多路复用器选择第二控制信号CTRL 2并输出此第二控制信号CTRL 2作为第三控制信号CTRL 3。

第三多路复用器从第一多路复用器接收第三数据(DATA 3)作为第一输入且从寄存器1334的输出接收反馈数据(DATA 5)作为第二输入。第三多路复用器还从第二多路复用器接收第三控制信号CTRL 3作为选择信号。依据选择信号,第三多路复用器将从第三数据(DATA 3)与反馈数据(DATA 5)之间选择的第四数据(DATA 4)提供到寄存器1334。

图5是说明根据本发明概念各种实施例的图1、图2、图3及图4所示半导体装置1的各种控制信号、数据信号及操作模式之间的示例性时序关系的时序图。

参照图5,在时间t1处,第一硬件1300在提供第一数据(DATA 1)之前产生中断信号(INT)。在时间t2处,当以第二操作模式操作的处理器核心1336识别到中断信号(INT)时,处理器核心1336使用上下文切换方式及寄存器1334而从第二操作模式(例如,假定为图5所示实例中的正常操作模式)切换到第一操作模式(例如,假定为图5所示实例中的数据流模式)。

在时间t3处切换到第一操作模式之后,处理器核心1336等待(例如,使用轮询技术(polling technique))来自第一硬件1300的第一数据(DATA 1)的数据传输起点。

在时间t4处,第一硬件1300使用所识别的数据流格式将第一数据(DATA 1)直接传输到寄存器RD(例如,寄存器1334)。具体来说,当处理器核心1336完成从第二操作模式到第一操作模式的切换时,第一硬件1300将第一控制信号CTRL 1传输到选择电路1332以获得对寄存器RD的控制,并通过选择电路1332将第一数据(DATA1)写入到寄存器RD。

在时间t5处,处理器核心1336识别第一数据(DATA 1)的传输起点,在处理器核心1336上操作的软件对存储在寄存器RD中的第一数据(DATA 1)执行逻辑/计算/算术运算。

接着,在时间t6处处理器核心1336识别到第一数据(DATA 1)的传输末尾,在时间t7处在处理器核心1336上操作的软件完成逻辑/计算/算术运算,且在时间t8处进行上下文切换以从第一操作模式回到第二操作模式。接着,在时间t9处,在此时间处从第一操作模式向第二操作模式的上下文切换完成,处理器核心1336将第二控制信号CTRL 2传输到选择电路1332以获得对寄存器RD的控制。

为通过此种方式在第一硬件1300与在处理器核心1336上操作的软件之间传输数据,使用已设置在处理器1330中的寄存器RD便已足够,且无需提供额外的存储器。因此可避免与提供及使用额外的存储器相关联的成本。

图6是说明根据本发明概念另一实施例的图2所示处理器1330的方块图,且图7是进一步在一个实施例中说明图6所示选择电路1332的方块图。

共同参照图6及图7,所说明实施例不同于针对图3及图4所述的实施例,在寄存器1334中进一步包括起点寄存器(start register)13342及末尾寄存器(end register)13344。

重新假定第一数据(DATA 1)是以数据流格式从第一硬件1300提供,起点寄存器13342可用于存储指示第一数据(DATA 1)的起点位置(例如,第一地址值)的第一值,且末尾寄存器13344可用于存储指示第一数据(DATA 1)的末尾寄存器(例如,第二地址值)的第二值。

因此,处理器核心1336因其在第一操作模式期间对存储在寄存器1334中的第一数据(DATA 1)执行逻辑运算、计算运算及/或算术运算而可使用起点寄存器13342识别数据流的起点位置且使用末尾寄存器13344识别所述数据流的末尾位置。

图8是说明根据本发明概念实施例的半导体装置的操作实例的时序图。

参照图8,在时间t1处,第一硬件1300在以数据流格式提供第一数据(DATA1)之前产生中断信号(INT)。在时间t2处,当以第二操作模式操作的处理器核心1336识别到中断信号(INT)时,处理器核心1336使用寄存器RD进行上下文切换(例如,图6及图7所示寄存器1334)以从第二操作模式(例如,正常操作模式)到第一操作模式(例如,数据流操作模式)。

在时间t3处上下文切换完成之后,处理器核心1336等待来自第一硬件1300的第一数据(DATA 1)的传输起点。在本发明概念的一些实施例中,处理器核心1336可使用轮询技术等待第一数据(DATA 1)的传输起点。

在时间t4处,第一硬件1300以数据流格式将第一数据(DATA 1)直接传输到寄存器RD。具体来说,当处理器核心1336完成从第二操作模式向第一操作模式的上下文切换时,第一硬件1300将第一控制信号CTRL 1传输到选择电路1332以获得对寄存器RD的控制。此外,第一硬件1300通过选择电路1332将第一数据(DATA 1)写入到寄存器RD。

在时间t5处,处理器核心1336对起点寄存器13342进行轮询并识别出存储在起点寄存器13342中的第一位置值。因此,在第一操作模式期间,处理器核心1336(例如,在处理器核心1336上操作的软件)能够对存储在寄存器RD中的第一数据(DATA 1)执行逻辑运算、计算运算及/或算术运算。

在时间t6处,处理器核心1336对末尾寄存器13344进行轮询并识别出存储在末尾寄存器13344中的第二位置值。因此,在时间t7处处理器核心1336完成逻辑运算、计算运算及/或算术运算时,在时间t8处进行上下文切换以从第一操作模式到第二操作模式。接着,在时间t9处,在此时间处从第一操作模式向第二操作模式的切换完成,处理器核心1336将第二控制信号CTRL 2传输到选择电路1332以重新获得对寄存器RD的控制。

因此,为提供此种方式在第一硬件1300与在处理器核心1336上操作的软件之间高效地传送数据,使用已设置在处理器1330中的寄存器RD便已足够,且无需提供额外的存储器。因此可避免之前所提及的成本。

图9是阐述操作根据本发明概念实施例的半导体装置的方法的流程图。

在对所述方法的以下说明中,假定处理器核心1336以与前述实施例中的第二操作模式对应的正常操作模式操作(S901)。然后,当处理器核心1336检测到由第一硬件1300产生的中断信号(INT)(S903=Y)时,处理器核心1336执行向与前述实施例中的第一操作模式对应的数据流操作模式的上下文切换(S905)。

处理器核心1336在数据流操作模式中等待第一数据(DATA 1)的传输的起点(S907),识别传输起点(S909=Y),并接着在数据流模式中对第一数据(DATA1)执行逻辑运算、计算运算及/或算术运算(S911)。

之后,处理器核心1336在数据流模式中处理第一数据(DATA 1)。识别传输末尾(S913=Y),并接着执行回到正常操作模式的上下文切换(S915)。

图10是根据本发明概念各种实施例的可用于执行算术运算的程序代码段的示例性列表。

参照图10,可在使用传统方案的第一代码段C1与使用根据本发明概念各种实施例的方案的第二代码段C2之间进行比较。

在代码段(C1)的情形中,使用例如“ld”等指令将存在于存储器中的例如2i或2i+1等地址处的数据加载到寄存器(例如r0或r1),并接着执行例如“corr”等算术运算。使用例如“str”等指令将其运算结果存储在所述存储器中的例如“dst”等地址处。

相比之下,在代码段C2的情形中,在数据流模式中,由第一硬件1300产生的数据流直接在寄存器(例如r0或r1)中进行更新以便于在处理器核心1336中操作的软件中查看。因此,在数据流模式中,无需使用例如“ld”等指令将存在于存储器中的数据加载到寄存器中,並且使用例如r0或r1等寄存器来直接执行例如“corr”等算术运算。与传统方案相似,也可使用例如“str”等指令将其运算结果存储在存储器中的例如“dst”等地址处。

根据本发明概念的各种实施例,可在硬件(例如,专用硬件)与在处理器上操作的软件之间高效地传输数据而无需使用额外的存储器装置。也就是说,为在专用硬件与在处理器上操作的软件之间传输数据,使用已设置在所述处理器中的寄存器便已足够,且无需提供额外的存储器。因此,可避免因额外的存储器而造成的成本增加问题及面积增加问题。

尽管已出于说明目的公开了本发明概念的优选实施例,然而所属领域中的技术人员将知,在不背离如在随附权利要求书中所公开的本公开内容的范围的条件下,可进行各种润饰、添加及替代。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1