CN1987842A - 总线地址选择电路及总线地址选择方法 - Google Patents
总线地址选择电路及总线地址选择方法 Download PDFInfo
- Publication number
- CN1987842A CN1987842A CNA2006101637332A CN200610163733A CN1987842A CN 1987842 A CN1987842 A CN 1987842A CN A2006101637332 A CNA2006101637332 A CN A2006101637332A CN 200610163733 A CN200610163733 A CN 200610163733A CN 1987842 A CN1987842 A CN 1987842A
- Authority
- CN
- China
- Prior art keywords
- address
- bus
- circuit
- register
- output
- 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.)
- Pending
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
Abstract
一种总线地址选择电路,用于选择输出到与第一存储器连接的第一地址总线、和与第二存储器连接的第二地址总线的地址,其中具备:地址输出电路,其根据命令代码中的规定的多个位,将多个地址寄存器中的第一及第二地址寄存器所存储的第一及第二地址输出;和总线选择电路,其根据所述第一及第二地址中的至少一方的规定的高位n位,将所述第一地址输出到所述第一及第二地址总线的一方,并将所述第二地址输出到所述第一及第二地址总线的另一方。由此,可不增加命令代码的位数而提高总线地址选择的自由度。
Description
技术领域
本发明涉及总线地址选择电路及总线地址选择方法。
背景技术
在DSP(Digital Signal Processor)等处理电路中,为了高速地进行数据处理,存在内置多个存储器的情况(例如,参照非专利文献1)。图7是表示具有两个存储器(SRAM:Static Random Access Memory)的DSP的一般构成例的图。DSP100构成为包括:执行数据处理的DSP核心(core)110;和存储各种数据的SRAM121、122。并且,SRAM121与地址总线A131连接,SRAM122与地址总线B141连接。
DSP核心110构成为包括:命令寄存器151、译码器152、控制电路153、多个地址寄存器154、及选择器155。命令寄存器151存储从未图示的ROM(Read Only Memory)等读出的命令代码。图8是表示命令代码的一般例的图。在命令代码200中包括:表示命令种类的命令位210;和用于选择地址寄存器154所包含的两个地址寄存器的地址寄存器选择位211。
译码器152分析命令代码200,并将命令种类及选择的地址寄存器等信息通知到控制电路153。控制电路153根据从译码器152通知的信息,将用于选择地址寄存器的信息发送到选择器155。然后,选择器155根据来自控制电路153的信息,从地址寄存器154中选择两个地址寄存器,将一方的地址寄存器中存储的地址输出到地址总线A131,将另一方的地址寄存器中存储的地址输出到地址总线B141。然后,对SRAM121、122的被指定的地址,执行读写处理。
图9是表示地址寄存器选择位211和地址寄存器的组合的关系的一个例子的图。在本例中,设地址寄存器选择位121为3位,在3位的情况下,可表示8种组合。并且,一般而言,如地址寄存器A与地址寄存器E、地址寄存器B与地址寄存器F那样,与某地址寄存器一起使用的地址寄存器大多被固定为一个。另外,大多根据程序中的地址寄存器的记述的顺序,来选择输出到地址总线131、141的地址。
例如,对记述为“r0h=[aa++],r0l=[ae++]”的程序的情况进行具体地说明。该程序表示:将由地址寄存器A中存储的地址aa所表示的数据读出到数据寄存器r0h(未图示)中,将由地址寄存器E中存储的地址ae所表示的数据读出到数据寄存器r0l(未图示)中。此时,例如在左侧记述的地址aa被输出到地址总线A131,在右侧记述的地址ae被输出到地址总线B141。即,用于执行该程序的命令代码200中的地址寄存器选择位211为“000”。
另外,例如,在记述为“r0h=[ae++],r0l=[aa++]”的程序的情况下,地址寄存器选择位211变为“100”,在左侧记述的地址ae被输出到地址总线A131,在右侧记述的地址aa被输出到地址总线B141。
但是,在图9所示的例子中,可与某地址寄存器(例如地址寄存器A)成对使用的地址寄存器(例如地址寄存器E)被限定为一个。这里,考虑执行图10所示的处理的情况。在处理(1)中,使用SRAM121中存储的数据A1及SRAM122中存储的数据B1。然后,在处理(2)中,使用SRAM121中存储的数据A2及所述的数据B1。
并行执行这样的处理(1)及(2)的步骤例如如下。首先,在地址寄存器A中存储数据A1的地址,在地址寄存器B中存储数据B1的地址。然后,读出数据A1、B1,执行处理(1)。并且,与执行处理(1)的步骤并行,在地址寄存器B中存储数据A2的地址,在地址寄存器F中存储数据B1的地址。然后,读出数据A2、B1,执行处理(2)。
在图10所示的处理中,尽管处理(1)及(2)中使用的数据B1相同,但需要在地址寄存器F中存储数据B1的地址。即,周期数会相应程度增加。因此,还考虑了通过增加图9中例示的地址寄存器的组合,使得即使在处理(2)中也可使用地址寄存器E,但因组合增加而地址寄存器选择位211的位数增加,从而命令代码200的位数会增加。
另外,如上所述,由于根据程序记述的顺序,选择输出到地址总线131及地址总线141的地址,因此记述程序时的自由度变为低的状态。另外,在程序中,还要考虑指定输出到地址总线131、141的哪一个,需要用于表示该指定的代码,从而命令代码200的位数会增加。
非专利文献1:“三洋半导体新闻(No.N7458)”,[online],三洋电机株式会社,[平成17年10月4日检索],互联网<URL:http://service.semic.sanyo.co.jp/semi/ds_j/N7458.pdf>
发明内容
本发明鉴于上述课题而实现,目的在于不增加命令代码的位数而提高地址总线选择的自由度。
为了实现上述目的,本发明的总线地址选择电路,用于选择输出到与第一存储器连接的第一地址总线、和与第二存储器连接的第二地址总线的地址,其中具备:地址输出电路,其根据由命令代码中的规定的多个位构成的选择位,将多个地址寄存器中的第一及第二地址寄存器所存储的地址作为第一及第二地址进行输出;和总线选择电路,其根据所述第一及第二地址中的至少一方的规定的高位n位,将所述第一地址输出到所述第一及第二地址总线的一方,并将所述第二地址输出到所述第一及第二地址总线的另一方。
另外,所述地址输出电路,在所述选择位为第一值时,可将所述多个地址寄存器中的所述第一及第二地址寄存器所存储的地址作为所述第一及第二地址进行输出,在所述选择位为第二值时,可将所述多个地址寄存器中的第三及所述第二地址寄存器所存储的地址作为所述第一及第二地址进行输出。
另外,所述地址输出电路可构成为包括:选择信号输出电路,其根据所述选择位,输出用于选择所述第一及第二地址的选择信号;和第一选择电路,其根据所述选择信号,从所述多个地址寄存器所存储的地址中选择所述第一及第二地址并输出。
另外,所述总线选择电路可具备起始地址存储电路,其对地址空间中的地址比所述第一存储器大的所述第二存储器的起始地址的高位n位进行存储,所述总线选择电路根据所述起始地址存储电路中存储的所述起始地址的高位n位、和所述第一及第二地址中的至少一方的高位n位,将所述第一及第二地址中的比所述起始地址小的一方输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
并且,所述起始地址存储电路中存储的所述起始地址的高位n位可改写。
进而,所述总线选择电路可具备:所述起始地址存储电路;比较电路,其将所述起始地址存储电路中存储的所述起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;和第二选择电路,其根据从所述比较电路输出的比较结果,将所述第一及第二地址中的比所述起始地址小的一方输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
另外,所述总线选择电路可具备起始地址存储电路,其对地址空间中的所述第一及第二存储器的各自的起始地址即第一及第二起始地址的高位n位进行存储,所述总线选择电路根据所述起始地址存储电路中存储的所述第一及第二起始地址的高位n位、和所述第一地址的高位n位,将所述第一及第二地址中的在所述第一起始地址以上且小于所述第二地址的地址输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
并且,所述起始地址存储电路中存储的所述第一及第二起始地址的高位n位可改写。
进而,所述总线选择电路可构成为具备:所述起始地址存储电路;第一比较电路,其将所述起始地址存储电路中存储的所述第一起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;第二比较电路,其所述起始地址存储电路中存储的所述第二起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;和第二选择电路,其根据从所述第一及第二比较电路输出的比较结果,将所述第一及第二地址中在所述第一起始地址以上且小于所述第二地址的地址输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
另外,一种总线地址选择方法,用于选择输出到与第一存储器连接的第一地址总线、和与第二存储器连接的第二地址总线的地址,该方法根据由命令代码中的规定的多个位构成的选择位,将多个地址寄存器中的第一及第二地址寄存器所存储的地址作为第一及第二地址进行输出,并根据所述第一及第二地址中的至少一方的规定的高位n位,将所述第一地址输出到所述第一及第二地址总线的一方,将所述第二地址输出到所述第一及第二地址总线的另一方。
(发明效果)
可不增加命令代码的位数而提高总线地址选择的自由度。
附图说明
图1是表示包括本发明的一实施方式的总线地址选择电路而构成的DSP的电路构成例的图;
图2是表示命令代码的构成例的图;
图3是表示地址寄存器选择位与地址寄存器的组合的关系的一个例子的图;
图4是表示地址空间的一个例子的图;
图5是表示模式寄存器中存储的信息的一个例子的图;
图6是表示并行处理的一个例子的图;
图7是表示具有两个存储器的DSP的一般构成例的图;
图8是表示命令代码的一般例的图;
图9是表示地址寄存器选择位与地址寄存器的组合的关系的一个例子的图;
图10是表示并行处理的一个例子的图。
图中:1-DSP;10-DSP核心;21、22-SRAM;23-地址总线A;24-数据总线A;25-地址总线B;26-数据总线B;31~36-地址寄存器;41~46-数据寄存器;51-命令寄存器;52-译码器;53-控制电路;61、62-选择器;71-模式寄存器;72、73-比较电路;74-AND电路;75-选择器;80-命令代码;81-命令位;82-地址寄存器选择位;83-寄存器A选择位;84-寄存器B选择位;85、86-读/写选择位。
具体实施方式
(电路构成)
图1是表示包括本发明的一实施方式的总线地址选择电路而构成的DSP的电路构成例的图。DSP(Digital Signal Processor)1是对数字声音信号的解码处理等各种数字信号进行数据处理的处理器。DSP1构成为包括:DSP核心10;和例如两个SRAM(Static Random Access Memory)21、22(第一及第二存储器)。在本实施方式中,设DSP1中包含的存储器为SRAM21、22,但存储器的种类并不限定于SRAM,只要是DRAM(DynamicRandom Access Memory)或快速存储器等能读写数据的存储器即可。
DSP核心10是通过依次读出未图示的ROM(Read Only Memory)中存储的程序(命令代码),来执行各种数据处理的电路。SRAM21、22中存储由DSP核心10进行读写的各种数据。SRAM21例如与24位地址总线A23(第一地址总线)连接,对通过地址总线A23指定的地址,例如经由24位数据总线A24进行数据的读写。另外,SRAM22例如与24位地址总线B25(第二地址总线)连接,对通过地址总线B25指定的地址,例如经由24位数据总线B26进行数据的读写。另外,SRAM21、22例如还可采用如下构成:在与设置于DSP1的外部的大容量的SDRAM(SynchronousRAM)之间,可根据需要进行数据交换。
对DSP核心10的内部构成详细地进行说明。DSP核心10构成为包括:例如6个地址寄存器31~36;例如6个数据寄存器41~46;命令寄存器51;译码器52;控制电路53;地址寄存器选择用的选择器61;数据寄存器选择用的选择器62;模式寄存器71(起始地址存储电路);比较电路72、73;AND电路74;和地址总线选择用的选择器75。
地址寄存器31~36中存储用于访问SRAM21、22等的例如24位地址。并且,数据寄存器41~46中存储从SRAM21、22等读出的数据或用于写入到SRAM21、22等的数据。命令寄存器51中存储从未图示的ROM等读出的命令代码。图2是表示命令代码的构成例的图。命令代码80构成为包括:命令位81、地址寄存器选择位82(选择位)、寄存器A选择位83、寄存器B选择位84、读/写选择位85、86等。
命令位81存储表示命令种类的代码。地址寄存器选择位82是用于从地址寄存器31~36中选择输出到地址总线23、24的两个地址寄存器(第一及第二地址寄存器)的信息,例如由3位构成。寄存器A选择位83是用于从数据寄存器41~46中选择数据寄存器的信息,该数据寄存器存储从SRAM21读出的数据或用于写入到SRAM21的数据。另外,寄存器B选择位84是用于从数据寄存器41~46中选择数据寄存器的信息,该数据寄存器存储从SRAM22读出的数据或用于写入到SRAM22的数据。读/写选择位(R/W(A))85是用于指定从SRAM21读出数据还是向SRAM21写入数据的信息。另外,读/写选择位(R/W(B)位)86是用于指定从SRAM22读出数据还是向SRAM22写入数据的信息。
此外,还存在如下情况,例如命令代码80中包括:用于选择将对地址寄存器31~36中存储的地址加上了偏移量寄存器(未图示)中存储的地址后的地址,输出到地址总线23、24等的寻址模式的信息。
译码器52对命令寄存器51中存储的命令代码80进行译码,并将该结果发送到控制电路53。控制电路53根据从译码器52发送的译码结果,进行地址寄存器31~36及数据寄存器41~46的选择信号的输出和各种命令的执行等。
图3是表示地址寄存器选择位82与地址寄存器的组合的关系的一个例子的图。如图所示,例如,当地址寄存器选择位82的内容为“000”时,选择地址寄存器A31及地址寄存器E35。即,在该情况下,用于选择地址寄存器A31及地址寄存器E35的选择信号被从控制电路53(选择信号输出电路)对选择器61(第一选择电路)输出。
另外,例如,当地址寄存器选择位82的内容为“001”时,输出用于选择地址寄存器B32及地址寄存器E35的选择信号;当地址寄存器选择位82的内容为“010”时,输出用于选择地址寄存器C33及地址寄存器E35的选择信号;当地址寄存器选择位82的内容为“011”时,输出用于选择地址寄存器D34及地址寄存器E35的选择信号。
并且,例如,当地址寄存器选择位82的内容为“100”时,输出用于选择地址寄存器A31及地址寄存器F36的选择信号;当地址寄存器选择位82的内容为“101”时,输出用于选择地址寄存器B32及地址寄存器F36的选择信号;当地址寄存器选择位82的内容为“110”时,输出用于选择地址寄存器C33及地址寄存器F36的选择信号;当地址寄存器选择位82的内容为“111”时,输出用于选择地址寄存器D34及地址寄存器F36的选择信号。
另外,在本实施方式中,地址寄存器选择位82设为按照程序中的记述而被设定。例如,设为将地址寄存器n(n=A~F)31~36中存储的地址表示为“an”,将数据寄存器n(n=A~F)41~46中存储的数据表示为“rn”,在程序中记述为“ra=[aa++],rb=[ae++]”的情况下,地址寄存器的组合变为地址寄存器A31及地址寄存器E35,地址寄存器选择位82中被设定“000”。同样,例如,在程序中记述为“ra=[ab++],rb=[ae++]”的情况下,地址寄存器的组合变为地址寄存器B32及地址寄存器E35,地址寄存器选择位82中被设定“001”。
选择器61中被输入从地址寄存器31~36的每一个输出的24位地址。并且,选择器61根据从控制电路53输入的选择信号,输出从地址寄存器31~36中的两个地址寄存器输出的地址AA(第一地址)及地址AB(第二地址)。
在从SRAM21、22读出数据时,选择器62根据从控制电路53输入的选择信号,将数据总线A24及数据总线B26上的数据输出到数据寄存器41~46中的两个数据寄存器。另外,在向SRAM21、22写入数据时,选择器62根据从控制电路53输入的选择信号,将从数据寄存器41~46中的两个数据寄存器输出的数据输出到数据总线A24及数据总线B26。
模式寄存器71中存储有地址空间中的各区域的起始地址。图4是表示地址空间的一个例子的图。另外,图5是表示模式寄存器71中存储的信息的一个例子的图。图4所示的例如24位地址空间由程序区域、A总线区域(SRAM21的数据区域)、B总线区域(SRAM22的数据区域)、及I/O区域构成,各区域的起始地址例如用1M字节单位划分。在各区域的起始地址用1M字节单位划分的情况下,可通过地址的高位4位(规定的高位n位)来判定是哪个区域的地址。
因此,在本实施方式中,如图5所示,各区域的起始地址的高位4位设定于模式寄存器71中。具体而言,在第0位~第3位设定程序区域的起始地址的高位4位,在第4位~第7位设定A总线区域的起始地址的高位4位,在第8位~第11位设定B总线区域的起始地址的高位4位,在第12位~第15位设定I/O区域的起始地址的高位4位。另外,伴随地址空间的变更,模式寄存器71的内容可改写。
比较电路72输出表示地址AA是否在A总线区域的起始地址以上的比较结果。具体而言,比较电路72对从选择器61输出的地址AA[23:0]的高位4位[23:20]、与模式寄存器的第4位~第7位[7:4]中存储的A总线区域的起始地址的高位4位进行比较,若地址AA的高位4位在A总线区域的高位4位以上则例如输出“1”,若地址AA的高位4位小于A总线区域的高位4位则例如输出“0”。
比较电路73输出表示地址AA是否小于B总线区域的起始地址的比较结果。具体而言,比较电路73对从选择器61输出的地址AB[23:0]的高位4位[23:20]、与模式寄存器的第8位~第11位[11:8]中存储的B总线区域的起始地址的高位4位进行比较,若地址AB的高位4位小于B总线区域的高位4位则例如输出“1”,若地址AB的高位4位在B总线区域的高位4位以上则例如输出“0”。
AND电路74输出从比较电路72、73输出的比较结果的逻辑与。即,若设当地址AA在A总线区域的起始地址以上时从比较电路72输出“1”,当地址AA小于B总线区域的起始地址时从比较电路73输出“1”,则当地址AA在A总线区域的范围内的情况下,从AND电路74输出“1”。
选择器75根据AND电路74的输出,将地址AA及地址AB的任一方输出到地址总线A23,将另一方输出到地址总线B25。具体而言,若设当地址AA在A总线区域的范围内时从AND电路74输出“1”,则在从AND电路74输出“1”时,将地址AA输出到地址总线A23,将地址AB输出到地址总线B25,在从AND电路74输出“0”时,将地址AA输出到地址总线B25,将地址AB输出到地址总线A23。
另外,控制电路53、选择器61、模式寄存器71、比较电路72、73、AND电路74、及选择器75相当于本发明的总线地址选择电路的一个例子。并且,控制电路53及选择器61相当于本发明的地址输出电路的一个例子,模式寄存器71、比较电路72、73、AND电路74、及选择器75相当于本发明的总线选择电路的一个例子。
(动作说明)
下面,对于在DSP1中选择输出到地址总线A23及地址总线B25的地址的动作进行说明。首先,以执行从SRAM21、22读出数据的程序即“ra=[ab++],rb=[ae++]”的情况为例进行说明。在该情况下,由于程序中的地址寄存器的记述的顺序为地址寄存器A31、地址寄存器E35,因此在命令代码80中的地址寄存器选择位82中设定“000”。另外,在命令代码80中的寄存器A选择位83中设定用于选择数据寄存器A的信息,在寄存器B选择位84中设定用于选择数据寄存器B的信息。并且,在R/W(A)位85及R/W(B)位86中设定表示读出数据的信息。
译码器52对被设定了这样的信息的命令代码80进行译码,并将译码后的结果发送到控制电路53。控制电路53根据从译码器52发送的信息,将用于选择地址寄存器A31及地址寄存器E35的选择信号发送到选择器61。选择器61根据来自控制电路53的选择信号,输出地址寄存器A31中存储的地址作为地址AA,输出地址寄存器E35中存储的地址作为地址AB。
比较电路72输出地址AA的高位4位与模式寄存器中设定的A总线区域的起始地址的高位4位的比较结果。另外,比较电路73输出地址AA的高位4位与模式寄存器中设定的B总线区域的起始地址的高位4位的比较结果。并且,AND电路74将比较电路72、73的输出的逻辑与输出。另外,在本实施方式中,当地址寄存器A31中存储的地址在A总线区域的范围内的情况下从AND电路74输出“1”,在A总线区域的范围外的情况下从AND电路74输出“0”。
并且,选择器75根据来自AND电路74的输出信号,当地址寄存器A31中存储的地址在A总线区域的范围内的情况下,将地址AA输出到地址总线A23,将地址AB输出到地址总线B25。反之,当地址寄存器A31中存储的地址在A总线区域的范围外的情况下,将地址AA输出到地址总线B25,将地址AB输出到地址总线A23。然后,SRAM21、22的被指定的地址中存储的数据从数据总线A24及数据总线B26输出。并且,选择器62根据来自控制电路53的信息,将数字总线A24上的数据输出到数据寄存器A41,并将数据总线B26上的数据输出到数据寄存器B42。
另外,在DSP1中,对于向SRAM21、22写入数据的情况也进行同样的处理。在写入数据时也根据从选择器61输出的地址AA及地址AB,来选择输出到地址总线A23及地址总线B25的地址。并且,由命令代码80的寄存器A选择位83指定的数据寄存器中存储的数据,经由选择器62而被输出到数据总线A24,该数据被写入到SRAM21。另外,由命令代码80的寄存器B选择位84指定的数据寄存器中存储的数据,经由选择器62而被输出到数据总线B26,该数据被写入到SRAM22。
这样,在DSP1中,与程序中的地址寄存器的记述顺序无关,而由硬件来判定地址寄存器中设定的地址,并根据该判定结果选择输出到地址总线A23及地址总线B25的地址。即,能够不增加命令代码80的位数,提高输出到地址总线A23及地址总线B25的地址选择的自由度。
下面,对在DSP1中进行并行处理的情况进行说明。图6是表示并行处理的一个例子的图。该例中,在处理(1)中使用SRAM21中存储的数据A1和SRAM22中存储的数据B1。并且,在处理(2)中使用SRAM21中存储的数据A2和SRAM22中存储的数据B1。
为了执行处理(1),需要读出数据A1、B1,该程序例如记述为“ra=[aa++],rb=[ae]”。另外,为了执行处理(2),需要读出数据A2、B1,该程序例如记述为“rc=[ab++],rd=[ae++]”。另外,设为在执行这些程序之前,在地址寄存器A31(第一地址寄存器)中设定数据A1的存储目的地地址,在地址寄存器B32(第三地址寄存器)中设定数据A2的存储目的地地址,在地址寄存器E35(第二地址寄存器)中设定数据B1的存储目的地地址。
在程序被这样记述的情况下,在用于读出数据A1、B1的命令代码80中的地址寄存器选择位82中,设定“000”(第一值),在用于读出数据A2、B1的命令代码80中的地址寄存器选择位82中,设定“001”(第二值)。并且,在执行处理(1)时,通过控制电路53及选择器61,地址寄存器A31中存储的地址被作为地址AA而输出,地址寄存器E35中存储的地址被作为地址AB而输出。并且,数据A1被从SRAM21读出到数据寄存器A41中,数据B1被从SRAM22读出到数据寄存器B42中。另外,在执行处理(2)时,通过控制电路53及选择器61,地址寄存器B32中存储的地址被作为地址AA而输出,地址寄存器E35中存储的地址被作为地址AB而输出。并且,数据A2被从SRAM21读出到数据寄存器C43中,数据B1被从SRAM22读出到数据寄存器D44中。
在该例中,作为用于读出数据B1的地址寄存器,在处理(1)及处理(2)的任一个中均使用了地址寄存器E35。即,在处理(1)及处理(2)中,无需为了读出数据B1而使用不同的地址寄存器,从而可防止对不同的地址寄存器设定相同的地址而引起的周期数增加。
以上,对本实施方式的DSP1进行了说明。如上所述,在DSP1中,与程序中的地址寄存器的记述顺序无关,通过由电路来判定地址寄存器中存储的地址,来选择输出到地址总线A23及地址总线B25的地址。即,能够不增加命令代码80的位数,提高地址选择的自由度。
另外,在DSP1中,可与地址寄存器E35或地址寄存器F36成对使用的地址寄存器并未被限定为一个。因此,例如,在并行执行的处理中参照同一地址时,可防止周期数的增加。即,能够不增加命令代码80的位数,提高输出到地址总线A23及地址总线B25的地址选择的自由度。
另外,在DSP1中,通过改写模式寄存器71中存储的信息,可灵活应对地址空间的变更。
另外,在DSP1中,通过将地址AA的高位4位、与A总线区域的起始地址的高位4位及B总线区域的起始地址的高位4位进行比较,来确认地址AA是否在A总线区域内,但也可仅与B总线区域的起始地址的高位4位进行比较。即,还可以是:若地址AA的高位4位小于B总线区域的起始地址的高位4位,则将地址AA输出到地址总线A23,将地址AB输出到地址总线B25。这样,若仅与B总线区域的起始地址的高位4位进行比较,则不需要比较电路72及AND电路74,可减小电路规模。
但是,在本实施方式中,通过使用比较电路72、73及AND电路74,能够可靠地确认是否在A总线区域的范围内。
另外,在本实施方式中,不确认地址AB的值,而将其输出到与地址AA相反的地址。通过采用这样的构成,不需要用于确认地址AB的电路,可减小电路规模。另外,在需要严格确认地址的值的情况下,还可对地址AB也与模式寄存器71中存储的信息进行比较。
另外,上述实施方式是为了便于理解本发明,并非用于限定解释本发明。本发明在不脱离其主旨的情况下可进行变更、改进,并且本发明还包括其等价物。
例如,在本实施方式中,是在DSP中选择地址总线,但并不限定于DSP,只要是具备多个存储器的处理电路就能适用。另外,在本实施方式中,采用了存储器及地址总线两个的构成,但还可扩展为存储器及地址总线在三个以上的构成。
Claims (10)
1.一种总线地址选择电路,用于选择输出到与第一存储器连接的第一地址总线、和与第二存储器连接的第二地址总线的地址,其中具备:
地址输出电路,其根据由命令代码中的规定的多个位构成的选择位,将多个地址寄存器中的第一及第二地址寄存器所存储的地址作为第一及第二地址进行输出;和
总线选择电路,其根据所述第一及第二地址中的至少一方的规定的高位n位,将所述第一地址输出到所述第一及第二地址总线的一方,并将所述第二地址输出到所述第一及第二地址总线的另一方。
2.根据权利要求1所述的总线地址选择电路,其特征在于,
所述地址输出电路,在所述选择位为第一值时,将所述多个地址寄存器中的所述第一及第二地址寄存器所存储的地址作为所述第一及第二地址进行输出,在所述选择位为第二值时,将所述多个地址寄存器中的第三及所述第二地址寄存器所存储的地址作为所述第一及第二地址进行输出。
3.根据权利要求1或2所述的总线地址选择电路,其特征在于,
所述地址输出电路构成为包括:
选择信号输出电路,其根据所述选择位,输出用于选择所述第一及第二地址的选择信号;和
第一选择电路,其根据所述选择信号,从所述多个地址寄存器所存储的地址中选择所述第一及第二地址并输出。
4.根据权利要求1~3的任一项所述的总线地址选择电路,其特征在于,
所述总线选择电路具备起始地址存储电路,其对地址空间中的地址比所述第一存储器大的所述第二存储器的起始地址的高位n位进行存储,
所述总线选择电路根据所述起始地址存储电路中存储的所述起始地址的高位n位、和所述第一及第二地址中的至少一方的高位n位,将所述第一及第二地址中的比所述起始地址小的一方输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
5.根据权利要求4所述的总线地址选择电路,其特征在于,
所述起始地址存储电路中存储的所述起始地址的高位n位可改写。
6.根据权利要求4或5所述的总线地址选择电路,其特征在于,
所述总线选择电路具备:
所述起始地址存储电路;
比较电路,其将所述起始地址存储电路中存储的所述起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;和
第二选择电路,其根据从所述比较电路输出的比较结果,将所述第一及第二地址中的比所述起始地址小的一方输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
7.根据权利要求1~3的任一项所述的总线地址选择电路,其特征在于,
所述总线选择电路具备起始地址存储电路,其对地址空间中的所述第一及第二存储器的各自的起始地址即第一及第二起始地址的高位n位进行存储,
所述总线选择电路根据所述起始地址存储电路中存储的所述第一及第二起始地址的高位n位、和所述第一地址的高位n位,将所述第一及第二地址中的在所述第一起始地址以上且小于所述第二地址的地址输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
8.根据权利要求7所述的总线地址选择电路,其特征在于,
所述起始地址存储电路中存储的所述第一及第二起始地址的高位n位可改写。
9.根据权利要求7或8所述的总线地址选择电路,其特征在于,
所述总线选择电路具备:
所述起始地址存储电路;
第一比较电路,其将所述起始地址存储电路中存储的所述第一起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;
第二比较电路,其所述起始地址存储电路中存储的所述第二起始地址的高位n位、与所述第一地址的高位n位的比较结果输出;和
第二选择电路,其根据从所述第一及第二比较电路输出的比较结果,将所述第一及第二地址中在所述第一起始地址以上且小于所述第二地址的地址输出到所述第一地址总线,并将所述第一及第二地址中的另一方输出到所述第二地址总线。
10.一种总线地址选择方法,用于选择输出到与第一存储器连接的第一地址总线、和与第二存储器连接的第二地址总线的地址,
该方法根据由命令代码中的规定的多个位构成的选择位,将多个地址寄存器中的第一及第二地址寄存器所存储的地址作为第一及第二地址进行输出,
并根据所述第一及第二地址中的至少一方的规定的高位n位,将所述第一地址输出到所述第一及第二地址总线的一方,将所述第二地址输出到所述第一及第二地址总线的另一方。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005369849A JP2007172333A (ja) | 2005-12-22 | 2005-12-22 | バスアドレス選択回路およびバスアドレス選択方法 |
JP2005369849 | 2005-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1987842A true CN1987842A (zh) | 2007-06-27 |
Family
ID=38184641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101637332A Pending CN1987842A (zh) | 2005-12-22 | 2006-12-04 | 总线地址选择电路及总线地址选择方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070150641A1 (zh) |
JP (1) | JP2007172333A (zh) |
KR (1) | KR20070066936A (zh) |
CN (1) | CN1987842A (zh) |
TW (1) | TW200745859A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211550A (ja) * | 2008-03-05 | 2009-09-17 | Ricoh Co Ltd | 不揮発性メモリ制御装置及びこれを備えた画像処理装置、不揮発性メモリ制御方法。 |
JP2018160029A (ja) * | 2017-03-22 | 2018-10-11 | 株式会社東芝 | 半導体集積回路 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5454536A (en) * | 1977-10-08 | 1979-04-28 | Fujitsu Ltd | Data processor |
US4893279A (en) * | 1986-03-04 | 1990-01-09 | Advanced Micro Devices Inc. | Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs |
US5392252A (en) * | 1990-11-13 | 1995-02-21 | Vlsi Technology, Inc. | Programmable memory addressing |
US5454092A (en) * | 1991-02-04 | 1995-09-26 | Motorola, Inc. | Microcomputer having an improved internal address mapping apparatus |
JPH05324468A (ja) * | 1992-05-21 | 1993-12-07 | Fujitsu Ltd | 階層化キャッシュメモリ |
CA2080159C (en) * | 1992-10-08 | 1998-09-15 | Paul Alan Gresham | Digital signal processor interface |
JP3532975B2 (ja) * | 1993-09-27 | 2004-05-31 | 株式会社ルネサステクノロジ | マイクロコンピュータおよびそれを用いて命令を実行する方法 |
US5848258A (en) * | 1994-06-30 | 1998-12-08 | Digital Equipment Corporation | Memory bank addressing scheme |
JPH08278916A (ja) * | 1994-11-30 | 1996-10-22 | Hitachi Ltd | マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路 |
US5633897A (en) * | 1995-11-16 | 1997-05-27 | Atmel Corporation | Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm |
US6202143B1 (en) * | 1997-08-21 | 2001-03-13 | Samsung Electronics Co., Ltd. | System for fetching unit instructions and multi instructions from memories of different bit widths and converting unit instructions to multi instructions by adding NOP instructions |
US6038630A (en) * | 1998-03-24 | 2000-03-14 | International Business Machines Corporation | Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses |
US6076136A (en) * | 1998-06-17 | 2000-06-13 | Lucent Technologies, Inc. | RAM address decoding system and method to support misaligned memory access |
US6334175B1 (en) * | 1998-07-22 | 2001-12-25 | Ati Technologies, Inc. | Switchable memory system and memory allocation method |
US6611796B1 (en) * | 1999-10-20 | 2003-08-26 | Texas Instruments Incorporated | Method and apparatus for combining memory blocks for in circuit emulation |
US6859897B2 (en) * | 2000-03-02 | 2005-02-22 | Texas Instruments Incorporated | Range based detection of memory access |
US6604163B1 (en) * | 2000-05-16 | 2003-08-05 | Koninklijke Philips Electronics N.V. | Interconnection of digital signal processor with program memory and external devices using a shared bus interface |
US6862640B2 (en) * | 2001-04-10 | 2005-03-01 | Texas Instruments Incorporated | Arbitration in local system for access to memory in a distant subsystem |
JP3756818B2 (ja) * | 2002-01-09 | 2006-03-15 | 株式会社メガチップス | メモリ制御回路および制御システム |
US7165018B2 (en) * | 2002-11-22 | 2007-01-16 | Texas Instruments Incorporated | Address range comparator for detection of multi size memory accesses with data matching qualification and full or partial overlap |
KR100532442B1 (ko) * | 2003-06-17 | 2005-11-30 | 삼성전자주식회사 | 데이터 처리방법 및 데이터 처리장치 |
EP1932158A4 (en) * | 2005-09-30 | 2008-10-15 | Mosaid Technologies Inc | MEMORY WITH OUTPUT CONTROL |
-
2005
- 2005-12-22 JP JP2005369849A patent/JP2007172333A/ja active Pending
-
2006
- 2006-12-04 CN CNA2006101637332A patent/CN1987842A/zh active Pending
- 2006-12-20 TW TW095148001A patent/TW200745859A/zh unknown
- 2006-12-21 KR KR1020060131806A patent/KR20070066936A/ko not_active Application Discontinuation
- 2006-12-21 US US11/614,807 patent/US20070150641A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW200745859A (en) | 2007-12-16 |
KR20070066936A (ko) | 2007-06-27 |
JP2007172333A (ja) | 2007-07-05 |
US20070150641A1 (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100533682B1 (ko) | 플래시 메모리의 데이터 관리 장치 및 방법 | |
KR930006541A (ko) | 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치 | |
WO2010076600A1 (en) | Enhanced addressability for serial non-volatile memory | |
CN1987842A (zh) | 总线地址选择电路及总线地址选择方法 | |
KR970063005A (ko) | 해독화 방법 및 전자기기 | |
US8595412B2 (en) | Data storage device and data storage system including the same | |
US7366917B2 (en) | System and method for accessing discrete data | |
JP2005316716A (ja) | データ処理プログラムおよびデータ処理装置 | |
JP2005222519A (ja) | メモリに記憶されたデータワード内のビット値へのアクセス | |
CN102541745A (zh) | 微控制器数据存储器的寻址方法和微控制器 | |
US6901490B2 (en) | Read/modify/write registers | |
JP6104065B2 (ja) | 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法 | |
KR20180080463A (ko) | 반도체 장치 및 반도체 장치의 동작 방법 | |
US7167942B1 (en) | Dynamic random access memory controller | |
JP2009271828A (ja) | ストレージ装置、ストレージ装置制御システム、ストレージ装置の制御方法、及びプログラム | |
JP2008129851A (ja) | 演算処理装置 | |
JPH0855204A (ja) | Cpu付きicカード及びcpu付きicカードに於けるアクセス可能アドレス制限方法 | |
JP2006018426A (ja) | データ処理装置及びデータ転送方法 | |
JPS602703B2 (ja) | 記憶装置リ−ド/ライト処理方式 | |
JPH01283635A (ja) | バッファ制御回路 | |
JPH04172541A (ja) | レコード格納装置 | |
JPH02299036A (ja) | 情報記録再生方法 | |
JP2001344902A (ja) | Cdテキストインターフェース回路 | |
JPH045698A (ja) | 音声出力装置 | |
JPH0963175A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070627 |