CN105590620B - 处理装置、处理方法以及电子乐器 - Google Patents
处理装置、处理方法以及电子乐器 Download PDFInfo
- Publication number
- CN105590620B CN105590620B CN201510598358.3A CN201510598358A CN105590620B CN 105590620 B CN105590620 B CN 105590620B CN 201510598358 A CN201510598358 A CN 201510598358A CN 105590620 B CN105590620 B CN 105590620B
- Authority
- CN
- China
- Prior art keywords
- memory
- processing units
- priority order
- processing
- priority
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Electrophonic Musical Instruments (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
处理装置具备:根据从共享存储器读取的数据控制装置各部分的CPU、在CPU的控制下根据从共享存储器读取的数据产生乐音的音源、以及监视访问共享存储器的CPU以及音源的各总线的负荷状态的通信量监视,根据通过通信量监视器监视的各总线的负荷状态,CPU对音源指示降低总线负荷的控制,或变更访问共享存储器的音源的优先顺序。
Description
技术领域
本发明涉及CPU以及音源等多个处理部构成为共享存储器的处理装置、处理方法以及电子乐器。
背景技术
一般来说,在电子乐器中,具备由控制乐器整体的CPU、在该CPU的控制下产生乐音波形的音源构成的乐音产生装置。近年来,基于减少产品成本的要求,公知构成为与控制乐器各部分的CPU共享读取音源所需的波形数据的存储器的电子乐器。
在音源以及CPU共享存储器的乐音产生装置中,多个进程同时并行地访问共享存储器,其结果是,会发生访问竞争(冲突)。为了避免访问竞争,只要使对共享存储器进行的访问待机即可,特别是音源中同时发声的信道数越是增加,因访问待机而导致的处理延迟越显著,导致处理效率的降低。
因此,近年来,例如日本特开2013-186368号公报公开那样,开发了与总线的空闲状态对应地利用发声中的各信道的时隙以外的期间从共享存储器读取规定信道部分的波形数据,实现处理效率的提高的技术,或如日本特开2014-16378号公报公开那样,在与总线的空闲状态对应地从共享存储器读取规定信道部分的波形数据时,使经过故障判定时刻之前波形数据的读取未结束的信道停止发声,实现总线负荷的减少并且防止产生不希望的噪声的技术。
然而,在上述公报公开的技术中,由于仅是实现音源中执行的乐音波形的生成处理的高效化,或防止不希望的噪声的产生,因此担心导致控制系统整体(乐器整体)的处理能力降低。具体而言,例如在音源的总线优先顺序比CPU高的情况下,该音源中同时发声的信道数越是增加,访问共享存储器的频率也越是增加,相反,CPU访问共享存储器的频率减少,其结果是,导致通过该CPU以包括控制音源的处理在内的方式控制系统整体(乐器整体)的处理能力降低。
发明内容
本发明是鉴于这样的情况而完成的,其目的在于提供能够避免控制系统整体(乐器整体)的处理能力降低的处理装置、处理方法以及电子乐器。
为了实现上述目的,本发明的处理装置的特征在于,具备:
多个处理部,根据从存储器读取的数据进行处理;
总线,连接上述存储器与上述多个处理部;以及
通信量监视器,监视述多个处理部相对于上述总线上的通信量,并且在上述多个处理部中的对于上述存储器被最优先赋予访问权的处理部的通信量超过预先决定的上限值的情况下,输出使被赋予上述访问权的处理部的通信量减少的信号。
本发明的处理方法使用于处理装置,该处理装置具有根据从存储器读取的数据进行处理的多个处理部、以及连接上述存储器与上述多个处理部的总线,其特征在于,
上述处理装置监视上述多个处理部相对于上述总线的通信量,并且在上述多个处理部中的对于上述存储器被最优先赋予访问权的处理部的通信量超过预先决定的上限值的情况下,输出使被赋予上述访问权的处理部的通信量减少的信号。
附图说明
图1是示出具备本发明的一实施方式的乐音产生装置的电子乐器100的整体结构的框图。
图2是示出基本时钟mc、时钟mc[10:4]、时钟mc[3:0]以及采样时钟SC[7:0]的对应关系的时间图。
图3是示出本发明的一实施方式的乐音产生装置的结构的框图。
图4是示出通信量监视器30的结构的电路图、以及示出BUSY累加值存储用存储器36的结构的存储器映射图(memory map)。
图5是示出根据写入地址ADR将BUSY累加值写入BUSY累加值存储用存储器36(循环存储器)的动作的一例的时间图。
图6是示出选择访问共享存储器15的总线主控器的动作的一例的时间图。
图7是示出由CPU13执行的音符事件处理的动作的流程图。
图8是示出由CPU13以及通信量监视器30(波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c)协作执行的总线监视处理的动作的流程图。
图9是示出由CPU13执行的优先顺序变更处理的动作的流程图。
图10是示出变形例的乐音产生装置的结构的框图。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
A.整体结构
参照图1对具备本发明的一实施方式的乐音产生装置的电子乐器100的整体结构进行说明。图1是示出电子乐器100的整体结构的框图。在图1中,键盘10具有多个键作为用于指定应产生的乐音的音高的操作部,输出与演奏操作(按键·离键操作)对应的接通/切断信号、以及包括作为指定音高的被按下的键的键编号(或者离开的键的键编号)在内的演奏信息。
虽未图示,操作部11除了具有使电源接通/切断的电源开关之外,还具有设定或选择修饰产生乐音的各种参数的各种开关,产生与被操作的开关种类对应的开关事件。该操作部11产生的开关事件被CPU13获取。显示部12根据从CPU13提供的显示控制信号,通过画面显示乐器各部分的设定状态、动作状态等。
CPU13除了根据从操作部11供给的各种开关事件设定装置各部分的动作状态之外,还产生包括通过用户的按键操作而生成的演奏信息在内的音符打开事件,向音源16发送并指示乐音产生,产生包括通过用户的离键操作而生成的演奏信息在内的音符关闭事件,向音源16发送并指示消音。本发明的主旨的CPU13的特征性处理动作之后详述。
程序存储器14例如由ROM构成,存储载入上述CPU13的各种程序数据。共享存储器15例如由RAM构成,是CPU13以及音源16能够共同访问的存储器,存储CPU13的程序数据/工作数据、音源16的程序数据/工作数据/各种音色的波形数据等。
音源16具备通过公知的波形存储器读取方式构成的多个发声信道(MIDI信道),除了根据从CPU13发出的音符打开(note on)/音符关闭(note off)事件产生乐音波形数据W之外,还对所产生的乐音波形数据W赋予效果而输出。声音系统17将从音源16输出的乐音波形数据W转换为模拟形式的乐音信号,实施从该乐音信号去除不需要的噪声等过滤之后对其进行增幅,从扬声器播放。
这些键盘10、操作部11、显示部12、CPU13以及音源16直接与总线19连接,程序存储器14经由存储器控制器20与总线19连接,共享存储器15经由存储器控制器60、仲裁器(arbiter)40与总线19连接。
另外,在该总线19上连接通信量监视器30以及优先顺序设定寄存器50,此外,通信量监视器30监视经由存储器控制器60以及仲裁器40而访问共享存储器15的CPU13以及音源16的通信量。
时钟产生部18具备产生基本时钟CK并且对该基本时钟CK进行计数的11比特的主计数器mc以及8比特的采样计数器sc。在时钟产生部18中,产生作为主计数器mc的上位7比特输出(10SB(MSB)~4SB)的时钟mc[10:4]、作为下位4比特输出(3SB~0SB(LSB))的时钟mc[3:0]以及采样时钟sc[7:0]。
这里,参照图2对基本时钟CK、时钟mc[10:4]以及时钟mc[3:0]的对应关系进行说明。在图2中,时钟mc[10:4]形成信道0处理~信道127处理,信道0处理~信道127处理相当于与音源16中进行分时动作的128个(0h~7Fh)发声信道分别对应的时隙。
信道0处理~信道127处理分别被分配时钟mc[3:0]的16时钟×3区间。在该16时钟×3区间内,16时钟×1期间被自信道处理占据,剩余的16时钟×2期间被分配给与下一个信道之间的流水线处理。采样时钟sc[7:0]每当经过时钟mc[10:4]循环一轮的一个采样时间进行步进(日文:歩進)。
B.乐音产生装置的结构
(1)整体结构
接下来,参照图3对上述实施方式所具备的乐音产生装置的整体结构进行说明。图3是示出乐音产生装置的整体结构的框图。在该图中,对与图1图示的各部分共用的结构要素标注相同的标号并省略其说明。
图3图示的乐音产生装置包括CPU13、程序存储器14、共享存储器15、存储器控制器20、通信量监视器30、仲裁器40、优先顺序设定寄存器50、存储器控制器60以及音源16(波形产生部160、波形处理部161、混音器162以及D/A转换器163)。需要说明的是,在图3中,标记于结构要素的“M”表示总线主控器,“S”表示总线受控器。
存储器控制器20根据作为总线主控器而进行动作的CPU13的请求从程序存储器14读取程序数据。通信量监视器30包括波形产生部通信量监视器30a、波形处理部通信量监视器30b、CPU通信量监视器30c以及上限值设定寄存器30d。
波形产生部通信量监视器30a监视构成音源16的波形产生部160(后述)与仲裁器40的总线的通信量(总线负荷)。在监视中的通信量(总线负荷)超过上限值设定寄存器30d中记录的设定值(上限值)的情况下,在波形产生部通信量监视器30a中产生中断信号并向CPU13发送。
波形处理部通信量监视器30b监视构成音源16的波形处理部161(后述)与仲裁器40的总线的通信量(总线负荷)。在监视中的通信量(总线负荷)超过上限值设定寄存器30d所记录的设定值(上限值)的情况下,在波形处理部通信量监视器30b中产生中断信号并向CPU13发送。
CPU通信量监视器30c监视CPU13与仲裁器40的总线的通信量(总线负荷)。在监视中的通信量(总线负荷)超过上限值设定寄存器30d所记录的设定值(上限值)的情况下,在CPU通信量监视器30c中产生中断信号并向CPU13发送。
上限值设定寄存器30d暂时存储上述的波形产生部160、波形处理部161以及CPU13的总线负荷的上限值。这些上限值通过CPU13被写入。之后叙述上述波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c的基本结构。
仲裁器40根据优先顺序设定寄存器50所记录的优先顺序,仲裁来自可相对于共享存储器15形成总线主控器的CPU13、波形产生部160以及波形处理部161的总线请求,给予经由存储器控制器60访问共享存储器15的权限。优先顺序设定寄存器50所记录的优先顺序通过CPU13被写入。共享存储器15如前述那样存储CPU13的程序数据/工作数据、音源16的程序数据/工作数据/各种音色的波形数据等。
相对于仲裁器40成为总线主控器的波形产生部160包括波形产生参数存储器160a以及波形产生部160b。在波形产生参数存储器160a中,存储从CPU13发出的音符打开/音符关闭事件、从经由上述仲裁器40以及存储器控制器60而访问的共享存储器15读取的波形数据等。波形产生部160b根据波形产生参数存储器160a中记录的音符打开/音符关闭事件以及波形数据而产生乐音波形数据W。
相对于仲裁器40形成总线主控器的波形处理部161包括波形处理参数存储器161a以及波形处理部161b。波形处理参数存储器161a中存储从CPU13指示的效果(effect)种类、从经由上述仲裁器40以及存储器控制器60而访问的共享存储器15读取的效果参数等。波形处理部161b对由波形产生部160产生的乐音波形数据W,产生与存储于波形产生参数存储器160a的效果种类、效果参数对应的效果音(延音、混响、和声等)。
混音器162向从波形产生部160输出的乐音波形数据W混合从波形处理部161输出的效果音并输出。D/A转换器163将混音器162的输出转换为模拟形式的乐音输出。
在上述结构中,由通信量监视器30的波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c分别监视经由仲裁器40以及存储器控制器60而访问共享存储器15的波形产生部160、波形处理部161以及CPU13的通信量(总线负荷)。
CPU13监视上述波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c的各监视结果并进行总线控制,以使得从共享存储器15分别向波形产生部160以及波形处理部161转送的数据量不超过最大转送率。具体而言,CPU13除了改变优先顺序设定寄存器50的优先顺序之外,还指示抑制相对于音源16的波形产生部160同时发声的发声信道的数量或抑制再生音调。
(2)通信量监视器30的结构
接下来,参照图4对通信量监视器30的结构进行说明。图4A是示出通信量监视器30(波形产生部通信量监视器30a、波形处理部通信量监视器30b、CPU通信量监视器30c)的结构的电路图。图4B是示出通信量监视器30所具备的BUSY累加值存储用存储器36的结构的存储器映射图。
图4A所示的通信量监视器30包括递增器31、选择器32、寄存器33、地址寄存器34、地址递增器35以及BUSY累加值存储用存储器36。递增器31在向使能端子EN发送BUSY信号的情况下,将寄存器33的输出递增(+1),输出BUSY累加值。需要说明的是,BUSY信号从监视中的总线发送。
选择器32每当时钟mc[9:0]变为“0”时,即在每个1/2采样周期中,选择进行“0”输入,使BUSY累加值归零复位,除此之外,将从递增器31输入的BUSY累加值向下一级寄存器33输出。寄存器33与动作时钟CLK同步地将BUSY累加值向递增器31反馈输入,另一方面,根据由后述的地址寄存器34产生的写入地址ADR,将BUSY累加值写入至BUSY累加值存储用存储器36。这样,递增器31、选择器32以及寄存器33在每个1/2采样周期中,对监视中的总线的BUSY累加值(BUSY信号的产生次数)进行计数。
地址寄存器34以及地址递增器35在每个1/2采样周期中产生被递增的写入地址ADR。BUSY累加值存储用存储器36如图4B所示,作为在写入地址ADR达到规定值的情况下返回起始地址的循环存储器而发挥功能。
在BUSY累加值存储用存储器36中,根据由地址寄存器34产生的写入地址ADR而写入上述寄存器33的BUSY累加值。即,如图5所示,以1/2采样周期作为一个区间,在1采样周期中,根据前半区间的BUSY累加值以及后半区间的BUSY累加值在每个1/2采样周期中被递增的写入地址ADR依次写入。需要说明的是,图5中记录的循环存储器指的是BUSY累加值存储用存储器36。
CPU13参照这样的BUSY累加值存储用存储器36的写入地址ADR,获取此前区间(1/2采样周期的期间)的BUSY累加值。该BUSY累加值是表示总线的通信量(总线负荷)的指标。需要说明的是,在多个区间(1/2采样周期的期间)将BUSY累加值向BUSY累加值存储用存储器36储存的理由在于,在根据上述的多个区间的BUSY累加值计算平均的总线负荷、或预测总线负荷变化等的判断中使用。
在CPU13中,从前述的波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c的各BUSY累加值存储用存储器36分别读取的此前区间(1/2采样周期的期间)的BUSY累加值,使请求访问共享存储器15的各部分(波形产生部160、波形处理部161以及CPU13)的总线负荷最佳化。
这里,参照图6,对根据各部分(波形产生部160、波形处理部161以及CPU13)的BUSY累加动作的一例选择访问共享存储器15的总线主控器的动作的一例进行说明。需要说明的是,在该动作例中,将优先顺序设定寄存器50所记录的优先顺序设为“波形产生部160”>“CPU13”>“波形处理部161”。另外,在图6中,WG表示波形产生部160,DSP表示波形处理部161。
首先,在区间1中,产生CPU13以及波形产生部160(WG)一起访问共享存储器15的总线请求,但在该情况下,由于与CPU13相比波形产生部160(WG)的优先顺序较高,因此波形产生部160(WG)被共享存储器15的总线主控器选择。接下来,在区间2中,停止波形产生部160(WG)的总线请求,另一方面产生CPU13以及波形处理部161(DSP)一起访问共享存储器15的总线请求,在该情况下,由于与波形处理部161(DSP)相比CPU13的优先顺序较高,因此CPU13被共享存储器15的总线主控器选择。
接着,在区间3中,形成仅CPU13停止总线请求,仅波形处理部161(DSP)产生访问共享存储器15的总线请求的状态。在该情况下,优先顺序最低的波形处理部161(DSP)被共享存储器15的总线主控器选择。然后,在接下来的区间4中,保持仅波形处理部161(DSP)产生访问共享存储器15的总线请求的状态,再次产生波形产生部160(WG)访问共享存储器15的总线请求。在该情况下,由于与波形处理部161(DSP)相比波形产生部160(WG)的优先顺序较高,因此,波形产生部160(WG)被共享存储器15的总线主控器选择。
C.动作
接下来,参照图7~图9,对一实施方式的乐音产生装置的动作进行说明。以下,叙述由CPU13执行的音符事件处理、由CPU13以及通信量监视器30(波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c)协作执行的总线监视处理、以及由CPU13执行的优先顺序变更处理。
(1)音符事件处理的动作
图7是示出由CPU13执行的音符事件处理的动作的流程图。音符事件处理在音符打开/音符关闭事件产生时、或者控制发声中的音调的弯音事件产生时执行。当产生上述任一事件时,CPU13执行本处理,进入图7所示的步骤SA1。
在步骤SA1中,从前述的波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c分别具备的BUSY累加值存储用存储器36分别读取BUSY累加值。从各监视30a~30c的BUSY累加值存储用存储器36读取的BUSY累加值是表示各总线的负荷的指标。
接着,在步骤SA2中,根据所读取的各总线的负荷(BUSY累加值)判断是否有富余。具体而言,判断各总线的负荷(BUSY累加值)是否超过上限值设定寄存器30d所记录的上限值。
然后,在各总线的负荷(BUSY累加值)未超过上限值设定寄存器30d所记录的上限值而有富余的情况下,上述步骤SA2的判断结果是“YES”,进入步骤SA3,若是与处理请求相应的音源控制,例如处理请求是音符打开事件,则将该音符打开事件发送至音源16,结束本处理。需要说明的是,在音源16(波形产生部160)中,根据接收到的音符打开事件产生乐音波形。
另一方面,在各总线的负荷(BUSY累加值)的某一者超过上限值设定寄存器30d所记录的上限值的情况下,上述步骤SA2的判断结果为“NO”,进入步骤SA4。在步骤SA4中,判断能否进行针对处理请求的音源控制。若能,则判断结果为“YES”,进入步骤SA5,在执行例如对同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道进行消音,减少发声数等实现总线负荷降低的音源控制之后,使处理返回上述的步骤SA1,再次监视各总线的负荷状态。
与此相对,若是无法进行针对处理请求的音源控制的状况,则上述步骤SA4的判断结果为“NO”,进入步骤SA6,在执行用于拒绝处理请求的处理之后,结束本处理。
这样,在音符事件处理中,若产生音符打开/音符关闭事件、弯音事件,则监视访问共享存储器15的各总线的负荷(BUSY累加值),若总线负荷由富余,则执行与所请求的事件对应的音源控制,在总线负荷没有富余的情况下,即,若各总线的负荷(BUSY累加值)的某一者超过上限值设定寄存器30d所记录的上限值,由于对例如同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道进行消音并减少发声数,实现总线负荷的减少,因此,能够避免控制系统整体(乐器整体)的处理能力的降低。
(2)总线监视处理的动作
图8是示出总线监视处理的动作的流程图。本处理由CPU13以及通信量监视器30(波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c)协作执行。
首先,在步骤SB1中,CPU13将各总线的负荷(BUSY累加值)的上限值记录于前述的上限值设定寄存器30d(参照图3)。然后,步骤SB2~SB3中进行通信量监视器30(波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c)的动作。
在步骤SB2中,比较写入BUSY累加值存储用存储器36(参照图4)的当前的BUSY累加值与上限值设定寄存器30d的上限值,在接下来的步骤SB3中,判断当前的BUSY累加值是否超过上限值。若当前的BUSY累加值未超过上限值设定寄存器30d的上限值,则上述步骤SB3的判断结果是“NO”,使处理返回上述步骤SB2,继续比较BUSY累加值与上限值。与此相对,若当前的BUSY累加值超过上限值设定寄存器30d的上限值,则上述步骤SB3的判断结果为“YES”,进入步骤SB4,产生中断信号而向CPU13送出后,使处理返回上述步骤SB2。
接下来,CPU13接收来自通信量监视器30的中断信号,执行步骤SB5。在步骤SB5中,执行例如对同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道指示消音而减少发声数等,实现总线负荷的降低的音源控制,结束本处理。
这样,在由CPU13以及通信量监视器30协作执行的总线监视处理中,将各总线的负荷(BUSY累加值)的上限值预先记录于上限值设定寄存器30d(参照图3),由通信量监视器30比较时刻变化的各总线的BUSY累加值与上限值,当BUSY累加值超过上限值时,向CPU13发送中断信号。由于CPU13根据该中断信号,例如对同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道指示消音而减少发声数等,实现总线负荷的降低,能够避免控制系统整体(乐器整体)的处理能力降低。
(3)优先顺序变更处理的动作
图9是示出由CPU13执行的优先顺序变更处理的动作的流程图。本处理作为中断处理在每个规定周期中执行。当到达其执行时刻时,CPU13进入图9所示的步骤SC1,从前述的波形产生部通信量监视器30a、波形处理部通信量监视器30b以及CPU通信量监视器30c分别具备的BUSY累加值存储用存储器36分别读取BUSY累加值。从各监视30a~30c的BUSY累加值存储用存储器36读取的BUSY累加值是表示各总线的负荷的指标。
接下来,在步骤SC2中,在音源16(波形产生部160)的总线优先顺序下降的情况下,判断是否能够满足波形产生部160的当前的总线负荷。若能,则判断结果为“YES”,进入步骤SC4,改变优先顺序设定寄存器50(参照图3)中记录的优先顺序的设定。
具体而言,使波形产生部160的优先顺序降低,另一方面,提高CPU13或者波形处理部161的某一者内的、与该波形产生部160相比总线负荷较大一侧的优先顺序。由此,仲裁器40能够优先使总线负荷大的总线主控器访问共享存储器15。
另一方面,在使音源16(波形产生部160)的总线优先顺序降低的情况下,若无法满足波形产生部160的当前的总线负荷,则上述步骤SC2的判断结果为“NO”,进入步骤SC3。在步骤SC3中,在执行例如使同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道消音而减少发声数等、使总线负荷降低的音源控制之后,使处理返回上述的步骤SC1。
这样,在优先顺序变更处理中,例如,若因CPU13的处理负荷增加而需要使访问共享存储器15的音源16(波形产生部160)的总线优先顺序降低,使该波形产生部160的总线优先顺序降低,若无法满足当前的总线负荷,则例如使同时发声中的多个发声信道内的、产生最大幅度衰减的乐音波形的发声信道消音而减少发声数等,实现总线负荷的减少,因此,能够避免控制系统整体(乐器整体)的处理能力降低。
D.变形例
接下来,参照图10对上述实施方式的变形例进行说明。图10是示出变形例的乐音产生装置的结构的框图。在该图中,对与图3所示的各部分共用的结构要素标注相同的标号,省略其说明。
图10所示的变形例与图3所示的乐音产生装置的不同之处在于:
(a)设置两个系统的共享存储器A15-1以及共享存储器B15-2;
(b)对应于上述(a)具备共享存储器A系统的通信量存储器30、仲裁器40、优先顺序设定寄存器50以及存储器控制器60、共享存储器B系统的通信量存储器31、仲裁器41、优先顺序设定寄存器51以及存储器控制器61;
(c)波形产生部160能够访问共享存储器A15-1以及共享存储器B15-2这两个系统;
(d)CPU13能够访问共享存储器A15-1,波形处理部161能够访问共享存储器B15-2。
根据上述结构,通过设置两个系统的共享存储器,各总线的负荷分散,由此使得BUSY累加值降低,减少转送等待,因此能够进一步避免控制系统整体(乐器整体)的处理能力降低。
如以上说明,在本实施方式中,在具备根据从共享存储器15读取的数据控制装置各部分的CPU13、以及在该CPU13的控制下根据从共享存储器15读取的数据产生乐音的音源16的乐音产生装置中,由于设置监视访问共享存储器15的CPU13以及音源16的各总线的负荷状态的通信量监视器30,根据通过该通信量监视器30监视的各总线的负荷状态,CPU13对音源16指示降低总线负荷的控制,或改变访问共享存储器15的音源16的优先顺序,因此,能够避免控制系统整体(乐器整体)的处理能力降低。
以上,说明了本发明的实施方式,但本发明不限定于此,本发明包含于本申请的权利要求书所记载的方案及其等同范围内。
Claims (10)
1.一种乐音产生装置,具备:
存储器;
多个处理部,包含乐音产生部和处理器,该乐音产生部根据从上述存储器读取的数据产生乐音波形,该处理器根据从上述存储器读取的数据控制上述乐音产生部;
总线,连接上述存储器与上述多个处理部;
总线仲裁器,具有设定上述多个处理部中的各个处理部的访问权的优先顺序的优先顺序设定寄存器,在来自上述多个处理部的对于上述存储器的访问请求重叠的情况下,根据上述优先顺序设定寄存器中设定的上述优先顺序,仲裁上述多个处理部对于上述存储器的访问;
控制部,在以使上述多个处理部中的上述乐音产生部的上述优先顺序变得最高的方式设定了上述优先顺序设定寄存器的上述优先顺序的之后,在上述多个处理部相对于上述总线的通信量超过了决定的上限值的情况下,控制如下处理的执行,该处理包含在不变更上述优先顺序设定寄存器中设定的上述优先顺序的情况下、使来自上述乐音产生部的对于上述存储器的访问请求减少的第一处理。
2.根据权利要求1所述的乐音产生装置,其中,
上述控制部在以使上述多个处理部中的上述乐音产生部的上述优先顺序变得最高的方式设定了上述优先顺序设定寄存器的上述优先顺序之后,在上述通信量超过了决定的上限值时,在判断为能够通过降低上述乐音产生部的上述优先顺序而降低上述通信量的情况下,执行以使上述乐音产生部的优先顺序降低的方式变更上述优先顺序设定寄存器的上述优先顺序的第二处理,在判断为不能通过降低上述乐音产生部的上述优先顺序而降低上述通信量的情况下,执行以使来自上述乐音产生部的对上述存储器访问请求减少的上述第一处理。
3.根据权利要求1或2所述的乐音产生装置,其中,
上述控制部具有设定上述多个处理部中的各个处理部的通信量上限值的上限值设定寄存器,在上述多个处理部中的某一个处理部的通信量超过了上述上限值的情况下,执行使上述多个处理部中的被赋予了最高的上述访问权的优先顺序的处理部的通信量减少的上述第一处理。
4.根据权利要求1或2所述的乐音产生装置,其中,
上述多个处理部还包含波形处理部,该波形处理部根据从上述存储器读取的数据,对产生的上述乐音波形进行处理,
上述控制部在以按照上述乐音产生部、上述处理器、上述波形处理部的顺序赋予由高到低的优先顺序的方式设定了上述优先顺序设定寄存器的上述优先顺序之后,通过判断上述通信量是否超过了决定的上限值,控制上述第一处理的执行。
5.根据权利要求1或2所述的乐音产生装置,其中,
上述控制部包含:
通信量监视器,监视上述多个处理部相对于上述总线的通信量,并且在上述通信量超过预先决定的上限值的情况下,产生使上述多个处理部中的被赋予了最高的上述访问权的优先顺序的处理部的通信量减少的控制信号;以及
CPU,响应于上述控制信号的产生,控制上述乐音产生部以使通信量减少。
6.根据权利要求1或2所述的乐音产生装置,其中,
作为上述第一处理,上述控制部控制上述乐音产生部以减少同时发声的乐音的数量。
7.根据权利要求1或2所述的乐音产生装置,其中,
上述总线仲裁器还控制上述总线,以使得在对上述多个处理部中的某一个处理部赋予了对于上述存储器的访问权的状态下,在从与该处理部不同的处理部请求了对于上述存储器的访问权的情况下,根据预先设定的优先顺序,将对于上述存储器的访问权赋予上述多个处理部中的某一个。
8.一种处理方法,其使用于处理装置,该处理装置具有:
存储器;
多个处理部,包含根据从上述存储器读取的数据产生乐音波形的乐音产生部、以及根据从上述存储器读取的数据控制上述乐音产生部的处理器;以及
连接上述存储器与上述多个处理部的总线,其中,
上述处理装置,
在来自上述多个处理部的对于上述存储器的访问请求重叠的情况下,根据设定上述多个处理部中的各个处理部的访问权的优先顺序的优先顺序设定寄存器中设定的上述优先顺序,仲裁上述多个处理部对于上述存储器的访问,
在以使上述多个处理部中的上述乐音产生部的上述优先顺序变得最高的方式设定了上述优先顺序设定寄存器的上述优先顺序之后,在上述多个处理部相对于上述总线的通信量超过了决定的上限值的情况下,控制如下处理的执行,该处理包含在不变更上述优先顺序设定寄存器中设定的上述优先顺序的情况下、使来自上述乐音产生部的对于上述存储器的访问请求减少的第一处理。
9.一种记录介质,记录有程序,该程序使被用作处理装置的计算机执行处理,该处理装置具有:存储器;多个处理部,包含根据从上述存储器读取的数据产生乐音波形的乐音产生部和根据从上述存储器读取的数据控制上述乐音产生部的处理器;以及总线,连接上述存储器与上述多个处理部的各个,上述程序使上述计算机执行如下处理:
在来自上述多个处理部的对于上述存储器的访问请求重叠的情况下,根据设定上述多个处理部中的各个处理部的访问权的优先顺序的优先顺序设定寄存器中设定的上述优先顺序,仲裁上述多个处理部对于上述存储器的访问;以及
在以使上述多个处理部中的上述乐音产生部的上述优先顺序变得最高的方式设定了上述优先顺序设定寄存器的上述优先顺序之后,在上述多个处理部相对于上述总线的通信量超过了决定的上限值的情况下,控制如下处理的执行,该处理包含在不变更上述优先顺序设定寄存器中设定的上述优先顺序的情况下、使来自上述乐音产生部的对于上述存储器的访问请求减少的第一处理。
10.一种电子乐器,具有:
权利要求1至7中任一项所述的乐音产生装置;以及
指定应产生的乐音的音高的操作部;
上述控制部控制上述乐音产生部,以便指示产生通过上述操作部指定的音高的乐音。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-226577 | 2014-11-07 | ||
JP2014226577A JP6447024B2 (ja) | 2014-11-07 | 2014-11-07 | 楽音発生装置、処理方法、プログラムおよび電子楽器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105590620A CN105590620A (zh) | 2016-05-18 |
CN105590620B true CN105590620B (zh) | 2019-12-17 |
Family
ID=55912321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510598358.3A Active CN105590620B (zh) | 2014-11-07 | 2015-09-18 | 处理装置、处理方法以及电子乐器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10127164B2 (zh) |
JP (1) | JP6447024B2 (zh) |
CN (1) | CN105590620B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6849908B2 (ja) * | 2016-12-21 | 2021-03-31 | 富士通株式会社 | 情報処理装置、pld管理プログラム及びpld管理方法 |
JP6886301B2 (ja) * | 2017-01-26 | 2021-06-16 | キヤノン株式会社 | メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置 |
JP6388048B1 (ja) * | 2017-03-23 | 2018-09-12 | カシオ計算機株式会社 | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 |
JP6443772B2 (ja) * | 2017-03-23 | 2018-12-26 | カシオ計算機株式会社 | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 |
JP7159583B2 (ja) * | 2018-03-26 | 2022-10-25 | カシオ計算機株式会社 | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753082A (zh) * | 2004-09-22 | 2006-03-29 | 雅马哈株式会社 | 电子音乐装置以及与音乐相关的数据的显示方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3520553B2 (ja) * | 1994-03-31 | 2004-04-19 | ヤマハ株式会社 | 音源装置 |
JPH0830549A (ja) * | 1994-07-18 | 1996-02-02 | Fuji Xerox Co Ltd | バス制御装置 |
KR970002384B1 (ko) * | 1994-10-26 | 1997-03-03 | 엘지전자 주식회사 | 휴대형 단말기의 사운드 발생 및 디스플레이 제어장치 |
JPH10177388A (ja) * | 1996-12-18 | 1998-06-30 | Yamaha Corp | サウンドメモリアクセス制御装置 |
US6223244B1 (en) * | 1998-12-10 | 2001-04-24 | International Business Machines Corporation | Method for assuring device access to a bus having a fixed priority arbitration scheme |
US6444890B2 (en) * | 1999-12-17 | 2002-09-03 | Yamaha Corporation | Musical tone-generating apparatus and method and storage medium |
JP3785934B2 (ja) * | 2001-03-05 | 2006-06-14 | ヤマハ株式会社 | 自動伴奏装置、方法、プログラム及び媒体 |
JP2005158035A (ja) * | 2003-11-05 | 2005-06-16 | Matsushita Electric Ind Co Ltd | 調停回路及びこれに備える機能処理回路 |
US7908416B2 (en) * | 2004-06-01 | 2011-03-15 | Ssd Company Limited | Data processing unit and bus arbitration unit |
JP2008191473A (ja) * | 2007-02-06 | 2008-08-21 | Sanyo Electric Co Ltd | 音データ処理装置 |
JP2011085989A (ja) * | 2009-10-13 | 2011-04-28 | Renesas Electronics Corp | メモリ調停回路及びメモリ調停方法 |
US8183452B2 (en) * | 2010-03-23 | 2012-05-22 | Yamaha Corporation | Tone generation apparatus |
JP5552918B2 (ja) * | 2010-06-24 | 2014-07-16 | ソニー株式会社 | 接続設定方法、カメラシステム及び記憶媒体 |
JP2013161242A (ja) * | 2012-02-03 | 2013-08-19 | Toyota Motor Corp | 電子制御装置 |
JP5614420B2 (ja) * | 2012-03-09 | 2014-10-29 | カシオ計算機株式会社 | 楽音発生装置、電子楽器、プログラム及び楽音発生方法 |
JP5915420B2 (ja) * | 2012-07-05 | 2016-05-11 | カシオ計算機株式会社 | 楽音発生装置、楽音発生方法、電子楽器及びプログラム |
CN103905339B (zh) * | 2012-12-28 | 2017-03-15 | 祥硕科技股份有限公司 | 电脑仲裁系统、其带宽分配设备以及方法 |
-
2014
- 2014-11-07 JP JP2014226577A patent/JP6447024B2/ja active Active
-
2015
- 2015-09-18 CN CN201510598358.3A patent/CN105590620B/zh active Active
- 2015-10-01 US US14/872,882 patent/US10127164B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753082A (zh) * | 2004-09-22 | 2006-03-29 | 雅马哈株式会社 | 电子音乐装置以及与音乐相关的数据的显示方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6447024B2 (ja) | 2019-01-09 |
CN105590620A (zh) | 2016-05-18 |
US20160132438A1 (en) | 2016-05-12 |
US10127164B2 (en) | 2018-11-13 |
JP2016090869A (ja) | 2016-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105590620B (zh) | 处理装置、处理方法以及电子乐器 | |
JP5614420B2 (ja) | 楽音発生装置、電子楽器、プログラム及び楽音発生方法 | |
WO2001065536A1 (fr) | Generateur de sons musicaux | |
JP5915420B2 (ja) | 楽音発生装置、楽音発生方法、電子楽器及びプログラム | |
JPH09325778A (ja) | 楽音発生方法 | |
JP2970526B2 (ja) | コンピュータソフトウェアを用いた音源システム | |
US5949011A (en) | Configurable tone generator chip with selectable memory chips | |
JP2003255945A (ja) | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 | |
JP2000276172A (ja) | 楽音生成装置および記憶媒体 | |
JP5229990B2 (ja) | 1チップ電子楽音発生器 | |
JPH11288285A (ja) | 楽音発生方法及び装置 | |
JP3725247B2 (ja) | 楽音生成処理方法 | |
JP7159583B2 (ja) | 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器 | |
JP3654257B2 (ja) | 楽音発生装置 | |
JP3050779B2 (ja) | 信号処理装置 | |
JP4353225B2 (ja) | 楽音形成装置 | |
JP3632744B2 (ja) | 音生成方法 | |
JP2901142B2 (ja) | 楽音生成装置 | |
JP4477159B2 (ja) | カラオケ装置 | |
JP2002006844A (ja) | 楽音発生方法 | |
JP4720893B2 (ja) | カラオケ装置 | |
JP2970570B2 (ja) | 楽音発生装置 | |
JP3693046B2 (ja) | 楽音発生装置 | |
JP3416011B2 (ja) | 電子楽音発生装置 | |
JP2007264016A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |