存储器访问装置的制作方法

文档序号:6611218阅读:182来源:国知局
专利名称:存储器访问装置的制作方法
技术领域
本发明涉及存储器访问装置。
背景技术
在DSP (Digital Signal Processor)等处理电路中,为了高速进行数据 处理,有时内置多个存储器。专利文献1中描述的DSP具有2个用于存储 数据的存储器,为了能同时访问这2个存储器,设置2组地址总线和数据 总线。而且,在这样的DSP中,把对乘法累加器(MAC: Multiply Accumulator)输入的2个数据从2个存储器经由2个总线同时读出,从而 实现运算处理的高速化。[专利文献l]特开2006-190389号公报发明内容作为用于进一步把DSP的运算处理高速化的手法,考虑设置多个乘 法累加器。可是,如上所述,即使在能同时读出2个数据的DSP中设置2 个乘法累加器,能同时从存储器读出的数据是2个。因此,即使同时进行 2个乘法累加器的计算, 一方的乘法累加器的输入数据的读出只有在另一 方的乘法累加器的输入数据的读出结束后进行,无法有效地把DSP的运算 处理高速化。本发明是鉴于所述课题而提出的,其目的在于,提供能实现高效的存 储器访问的存储器访问装置。为了实现所述的目的,本发明的存储器访问装置访问第一和第二存储 器,包括根据读出数据的数据尺寸和地址空间中的地址,输出对于所述 第一和第二存储器的至少一方的读出地址的地址输出部;根据所述读出数 据的所述数据尺寸和所述地址空间中的所述地址,对所述第一和第二存储 器的至少一方输出读出请求的访问请求输出部;输出关于所述读出数据的
所述数据尺寸的信息和关于所述地址的信息的数据信息输出部;按照从所 述地址输出部输出的所述读出地址、从所述访问请求输出部输出的所述读 出请求,从由所述第一和第二存储器的至少一方输出的数据,根据从所述 数据信息输出部输出的关于所述数据尺寸的信息和关于所述地址的信息, 生成读出数据,输出的读出数据输出部。此外,在所述存储器访问装置中,在所述第一存储器中存储所述地址 空间的偶数地址的N位宽度的数据,在所述第二存储器中存储所述地址空间的奇数地址的N位宽度的数据,所述地址输出部在所述读出数据的所述 数据尺寸是N位时,把与所述地址空间的所述地址对应的所述读出地址对 所述第一或第二存储器输出,在所述读出数据的所述数据尺寸是2N位时, 把与所述地址空间的所述地址对应的所述读出地址对所述第一和第二存 储器输出,所述读出数据输出部在所述读出数据的所述数据尺寸是N位 时,把从所述第一或第二存储器输出的数据作为所述读出数据输出,在所 述读出数据的所述数据尺寸是2N位,所述地址空间中的所述地址是偶数 地址时,把从所述第一存储器输出的数据作为上级位,把从所述第二存储 器输出的数据作为下级位,生成所述读出数据,输出,所述读出数据的所 述数据尺寸是2N位,所述地址空间中的所述地址是奇数地址时,把从所 述第二存储器输出的数据作为上级位,把从所述第一存储器输出的数据作 为下级位,生成所述读出数据,输出。此外,在所述存储器访问装置中,所述地址输出部根据写入数据的数 据尺寸和地址空间中的地址,输出对于所述第一以及第二存储器的至少一 方的写入地址;所述访问请求输出部根据所述写入数据的所述数据尺寸和 所述地址空间中的所述地址,对所述第一以及第二存储器的至少一方输出 写入请求;所述数据信息输出部输出关于所述写入数据的所述数据尺寸的 信息和关于所述地址的信息;还具有根据从所述数据信息输出邻输出的 关于所述数据尺寸的信息和关于所述地址的信息,对所述第一以及第二存 储器的至少一方输出所述写入数据的写入数据输出部。此外,在所述存储器访问装置中,在所述第一存储器中存储所述地址 空间的偶数地址的N位宽度的数据,在所述第二存储器中存储所述地址空 间的奇数地址的N位宽度的数据,所述地址输出部在所述写入数据的所述
数据尺寸为N位时,把与所述地址空间的所述地址对应的所述写入地址对 所述第一或第二存储器输出,在所述写入数据的所述数据尺寸为2N位时, 把与所述地址空间的所述地址对应的所述写入地址对所述第一和第二存 储器输出,所述写入数据输出部在所述写入数据的所述数据尺寸为N位, 所述地址空间的所述地址为偶数地址时,把所述写入数据对所述第一存储器输出,在所述写入数据的所述数据尺寸为N位,所述地址空间的所述地址为奇数地址时,把所述写入数据对所述第二存储器输出,在所述写入数据的所述数据尺寸为2N位,所述地址空间的所述地址为偶数地址时,把 所述写入数据的上级N位对所述第一存储器输出,把所述写入数据的下级 N位对所述第二存储器输出,在所述写入数据的所述数据尺寸为2N位, 所述地址空间的所述地址为奇数地址时,把所述写入数据的上级N位对所 述第二存储器输出,把所述写入数据的下级N位对所述第一存储器输出。此外,在所述存储器访问装置中,还具有存储从所述地址输出部输 出的所述写入地址的写入地址存储部;把从所述写入数据输出部输出的所 述写入数据在写入所述第一或第二存储器之前存储的写入数据存储部;从 所述地址输出部输出的所述读出地址和所述写入地址存储部中存储的所 述写入地址不同时,把所述读出地址对所述第一或第二存储器输出的地址 选择电路;所述读出数据输出部在从所述地址输出部输出的所述读出地址 和所述写入地址存储部中存储的所述写入地址不同时,从由所述第一或第 二存储器的至少一方输出的数据生成所述读出数据,输出,在从所述地址 输出部输出的所述读出地址和所述写入地址存储部中存储的所述写入地 址相同时,输出所述写入数据存储部中存储的所述写入数据。此外,在所述存储器访问装置中,所述地址输出部在时钟从一方的逻 辑电平向另一方的逻辑电平变化的第一定时,输出所述读出地址,所述访 问请求输出部在所述第一定时之后,在所述时钟从所述一方的逻辑电平向 所述另一方的逻辑电平变化的第二定时,输出所述读出请求。此外,在所述存储器访问装置中,所述地址输出部在时钟从一方的逻 辑电平向另一方的逻辑电平变化的第一定时,输出所述写入数据,所述访 问请求部在所述第一定时之后,在所述时钟从所述一方的逻辑电平向所述 另一方的逻辑电平变化的第二定时,把从所述地址输出部输出的所述写入
地址存储到所述地址存储部中,并且把从所述写入数据输出部输出的所述 写入数据存储到所述写入数据存储部中。能提供能实现高效的存储器访问的存储器访问装置。


下面简要说明附图。图1是表示本发明的存储器访问装置的一个实施例的数字信号处理电 路的结构例的图。图2是表示DSP的管道控制的例子的图。图3是表示DSP的控制电路和存储器访问电路的详细结构例的图。 图4是表示数据存储器的地址结构例的图。 图5是表示向数据存储器的访问模式的图。图6是表示数据尺寸为16位,地址空间的地址为偶数时的写入动作 的图。图7是表示数据尺寸为16位,地址空间的地址为奇数时的写入动作 的图。图8是表示数据尺寸为32位,地址空间的地址为偶数时的写入动作 的图。图9是表示数据尺寸为32位,地址空间的地址为奇数时的写入动作 的图。图IO是表示数据尺寸为16位,地址空间的地址为偶数时的读出动作 的图。图H是表示数据尺寸为16位,地址空间的地址为奇数时的读出动作 的图。图12是表示数据尺寸为32位,地址空间的地址为偶数时的读出动作 的图。图13是表示数据尺寸为32位,地址空间的地址为奇数时的读出动作 的图。图14是表示数据尺寸为16位,地址空间的地址为偶数,接着对同一 地址的写入动作的读出动作的图。
图15是表示数据尺寸为16位,地址空间的地址为偶数,接着对不同 地址的写入动作的读出动作的图。图16是表示数据尺寸为16位,地址空间的地址为奇数,接着对同一地址的写入动作的读出动作的图。图17是表示数据尺寸为16位,地址空间的地址为奇数,接着对不同 地址的写入动作的读出动作的图。图18是表示数据尺寸为32位,地址空间的地址为偶数,接着对同一 地址的写入动作的读出动作的图。图19是表示数据尺寸为32位,地址空间的地址为偶数,接着对不同 地址的写入动作的读出动作的图。图20是表示数据尺寸为32位,地址空间的地址为奇数,接着对同一 地址的写入动作的读出动作的图。图21是表示数据尺寸为32位,地址空间的地址为奇数,接着对不同 地址的写入动作的读出动作的图。图22是表示读出动作时的定时的图。图23是表示写入动作时的图。符号的说明。IO—数字信号处理电路(DSP) ; 20—控制电路;21A、 21B—存储器 访问电路;22—程序存储器;23Aa、 23Ab、 23Ba、 23Bb—数据存储器;24 一寄存器;25—运算电路;BDAA、 BDAB—地址总线;BDA、 BDB—数据总线; 31—提取电路;32—管道控制电路;33—地址生成电路;41a、 41b—地址 寄存器;42a、 42b—地址缓存器;43a、 43b—地址比较电路;44a、 44b— 地址选择电路;45a、 45b—读出数据选择电路;46a、 46b—读出缓存器; 47—读出数据合成电路;51、 52—设定寄存器;53—写入数据选择电路。
具体实施方式
图1是表示本发明的存储器访问装置的一个实施例的数字信号处理电 路(DSP: Digital Signal Processor)的结构例的图。DSP10包含控制电路 20、存储器访问电路21A、 21B、程序存储器22、数据存储器23Aa、 23Ab、 23Ba、 23Bb、寄存器24、运算电路25、地址总线BDAA、 BDAB、数据
总线BDA、 BDB。控制电路20通过读出程序存储器22中存储的程序,执行,进行数字 信号处理电路10的各种控制。例如,控制电路20进行数字信号处理电路 10的管道处理的控制、通过存储器访问电路21A、 21B的向数据存储器 23Aa 23Bb的访问控制、运算电路25的运算处理的执行控制。存储器访问电路21A按照来自控制电路20的指示,控制向数据存储 器23Aa、 23Ab的访问。此外,存储器访问电路21B按照来自控制电路20 的指示,控制向数据存储器23Ba、 23Bb的访问。程序存储器22是闪存等非易失性的存储区,存储由控制电路20执行 的程序。须指出的是,程序存储器22也可以设置在数字信号处理电路10 的外部。此外,程序存储器22可以为易失性的存储器,从数字信号处理 电路10的外部读入程序。数据存储器23Aa、 23Ab、 23Ba、 23Bb例如是SRAM (Static Random AccessMemory)等存储区,存储DSP10的各种处理中使用的数据或生成 的数据。须指出的是,数据存储器23Aa、 23Ab、 23Ba、 23Bb也可以设置 在数字信号处理电路10的外部。寄存器24是由多个通用寄存器等构成的存储区,主要作为从数据存 储器23Aa、 23Ab、 23Ba、 2犯b读出的数据、运算电路25的处理结果的 暂时存储区使用。运算电路25是把寄存器24中存储的数据作为输入数据,进行乘法或 加法等计算的电路。本实施例的运算电路25中包含2个乘法累加器(MAC: Multiply Accumulator),通过从寄存器24同时读出4个数据,能同时进行 2个乘法累加器的计算。地址总线BDAA例如是由24位的地址总线BDAAO、 BDAA1构成的 总线,输出从数据存储器23Aa、 23Ab读出数据时的地址(读出地址)或 者对数据存储器23Aa、 23Ab写入数据时的地址(写入地址)。此外,数 据总线BDA是32位的数据总线,输出从数据存储器23Aa、 23Ab读出的 数据(读出数据)、或者对数据存储器23Aa、 23Ab写入的数据(写入数 据)。地址总线BDAB例如是由24位的地址总线BDABO、 BDAB1构成的
总线,输出从数据存储器23Ba、 23Bb读出数据时的地址(读出地址)或 者对数据存储器23Ba、 23Bb写入数据时的地址(写入地址)。此外,数据 总线BDB例如是32位的数据总线,输出从数据存储器23Ba、 23Bb读出 的数据(读出数据)、或者对数据存储器23ba、 23bb写入的数据(写入数 据)。图2是表示DSP10的管道控制的例子的图。在DSP10中,通过控制 电路20的控制,进行管道控制。在管道控制中,把一系列的处理分割为 多个阶段,并行执行多个处理的各阶段的动作。在图2所示的例子中,分 割为提取阶段(F阶段)、译码阶段(D阶段)、地址生成阶段(A阶段)、 执行阶段(El阶段)、执行阶段(E2阶段)等5个阶段。然后,如果在时 刻(时钟周期)Tl的F阶段进行处理A的提取(提取A),接着就在时刻 T2的D阶段进行提取的命令的译码(译码A)。然后,时刻T3的A阶段 进行用于访问数据的地址生成(地址A),在时刻T4的El阶段执行乘法 (执行A1),在时刻T5的E2阶段执行加法(执行A2)。而且,各阶段的 动作能并行执行,所以在时刻T2的F阶段进行处理B的提取(提取B), 在时刻T3的D阶段进行处理B的译码(译码B)。图3是表示DSPIO的控制电路20和存储器访问电路21A的详细结构 例的图。控制电路20包含提取电路31、管道控制电路32、地址生成电路 33。此外,存储器访问电路21A包含地址寄存器41a、 41b、地址缓存器 42a、 42b、地址比较电路43a、 43b、地址选择电路44a、 44b、读出数据选 择电路45a、 45b、读出缓存器46a、 46b、读出数据合成电路47、设定寄 存器51、 52、写入数据选择电路53、写入缓存器54a、 54b。须指出的是, 数据存储器23Aa相当于本发明的第一存储器,数据存储器23Ab相当于 本发明的第二存储器。此外,由管道控制电路32能实现本发明的访问请 求输出部,由地址生成电路33能实现本发明的地址输出部和数据信息输 出部。此外,读出数据选择电路45a、读出缓存器46a、读出数据合成电 路47能实现本发明的读出数据输出部。此外,由写入数据选择电路53能 实现本发明的写入数据输出部,由地址缓存器42a、 42b能实现本发明的 写入地址存储部,由写入缓存器54a、 54b能实现本发明的写入数据存储 部。此外,关于存储器访问电路21B,也成为与存储器访问电路21A同样 的电路结构。提取电路31从程序存储器22读出由程序计数器指定的地址的程序,对管道控制电路32输出。管道控制电路32把从提取电路31输出的程序译码,根据由译码取得 的命令,进行存储器访问电路21A、 21B或运算电路25的管道控制。例 如,管道控制电路32在适当的定时输出对数据存储器23Aa的读出请求 (XRD0)和写入请求(XWR0)、对数据存储器23Ab的读出请求(XRD1) 和写入请求(XWR1)。须指出的是,在本实施例中,读出请求(XRD0) 为"0"时,从数据存储器23Aa读出数据,在写入请求(XWR0)为"0" 时,对数据存储器23Aa写入数据。此外,在本实施例中,读出请求(XRD1) 为"0"时,从数据存储器23Ab读出数据,在写入请求(XWRO为"0" 时,对数据存储器23Ab写入数据。地址生成电路33根据程序的译码结果,生成对数据存储器23Aa、23 Ab 的至少一方访问时的地址,对地址总线BDAA输出。在本实施例中,对地 址总线BDAA0输出对于数据存储器23Aa的地址,对地址总线BDAA1 输出对于数据存储器23Ab的地址。具体说明地址生成电路33的地址生成。图4是表示数据存储器23Aa、 23Ab的地址结构例的图。数据存储器23Aa、 23Ab是数据宽度16位(N 位),在数据存储器23Aa中存储DSP10的地址空间中的偶数地址的数据, 在数据存储器23Ab中存储DSP10的地址空间中的奇数地址的数据。例如, 在数据存储器23Ab的n地址存储DSP10的地址空间中的2n+l地址的数 据。图5是表示向数据存储器23Aa、 23Ab的访问模式的图。图5 (a)是 表示访问对象的数据的DSP10的地址空间的地址为偶数(2n),数据尺寸 为16位时的访问的图。这时,地址生成电路33根据地址空间中的地址(2n 地址)和数据尺寸(16位),生成对于数据存储器23Aa的地址(n地址), 对地址总线BDAAO输出。图5 (b)是表示访问对象的数据的DSP10的 地址空间的地址为奇数(2n+l),数据尺寸为16位时的访问的图。这时, 地址生成电路33根据地址空间中的地址(2n+l地址)和数据尺寸(16位), 生成对于数据存储器23Ab的地址(n地址),对地址总线BDAA1输出。 图5 (c)是表示访问对象的数据的DSP10的地址空间的地址为偶数(2n), 数据尺寸为32位时的访问的图。这时,地址生成电路33根据地址空间中 的地址(2n地址)和数据尺寸(32位),生成对于数据存储器23Aa、 23Ab 的地址(n地址),对地址总线BDAAO、 BDAA1输出。图5 (d)是表示访 问对象的数据的DSPIO的地址空间的地址为奇数(2n+l),数据尺寸为32 位时的访问的图。这时,地址生成电路33根据地址空间中的地址(2n+l 地址)和数据尺寸(32位),生成对于数据存储器23Ab的地址(n地址), 对地址总线BDAA1输出,并且生成对于数据存储器23Aa的地址(n+l地 址),对地址总线BDAAO输出。对数据存储器23Aa写入数据时,在地址寄存器41a存储对地址总线 BDAAO输出的地址。此外,对数据存储器23Ab写入数据时,在地址寄存 器41b存储对地址总线BDAA1输出的地址。具体而言,在El阶段对地 址总线BDAA0输出的地址在E2阶段由地址寄存器41a取入,在El阶段 对地址总线BDAA1输出的地址在E2阶段由地址寄存器41b取入。对数据存储器23Aa写入数据时,在地址缓存器42a存储在地址寄存 器41a中存储的地址。此外,对数据存储器23Ab写入数据时,在地址缓 存器42b存储在地址寄存器41b中存储的地址。具体而言,在E2阶段中 存储在地址寄存器41a中的地址在下一时钟周期中由地址缓存器42a取 入,在E2阶段中存储在地址寄存器41b中的地址在下一时钟周期中由地 址缓存器42b取入。地址比较电路43a输出对地址总线BDAAO输出的地址和地址缓存器 42a中存储的地址的比较结果。此外,地址比较电路43b输出对地址总线 BDAA1输出的地址和地址缓存器42b中存储的地址的比较结果。地址选择电路44a根据从地址比较电路43a输出的比较结果,把对地 址总线BDAAO输出的地址或者地址缓存器42a中存储的地址的任意一方 对数据存储器23Aa的地址输入端子输入。具体而言,在对地址总线 BDAAO输出的对于数据存储器23Aa的读出地址与地址缓存器42a中存储 的对于数据存储器23Aa的写入地址相同时,把地址缓存器42a中存储的 写入地址对数据存储器23Aa输出,这2个地址不同时,把对地址总线 BDAAO输出的读出地址向数据存储器23Aa输出。此外,地址选择电路 44b根据从地址比较电路43b输出的比较结果,把对地址总线BDAAl输 出的地址或者地址缓存器42b中存储的地址的任意一方对数据存储器 23Ab的地址输入端子输入。具体而言,在对地址总线BDAAl输出的对于 数据存储器23Ab的读出地址与地址缓存器42b中存储的对于数据存储器 23Ab的写入地址相同时,把地址缓存器42b中存储的写入地址对数据存 储器23Ab输出,这2个地址不同时,把对地址总线BDAAl输出的读出 地址向数据存储器23Ab输出。读出数据选择电路45a根据从地址比较电路43a输出的比较结果,把 从数据存储器23Aa的数据输出端子输出的数据、或者写入缓存器54a中 存储的预定对数据存储器23Aa写入的数据的任意一方对读出缓存器46a 输出。具体而言,对地址总线BDAAO输出的对于数据存储器23Aa的读 出地址和地址缓存器42a中存储的对于数据存储器23Aa的写入地址相同 时,把写入缓存器54a中存储的数据对读出缓存器46a输出,这2个地址 不同时,把从数据存储器23Aa的数据输出端子输出的数据对读出缓存器 46a输出。此外,读出数据选择电路45b根据从地址比较电路43b输出的 比较结果,把从数据存储器23Ab的数据输出端子输出的数据、或者写入 缓存器54b中存储的预定对数据存储器23Ab写入的数据的任意一方对读 出缓存器46b输出。具体而言,对地址总线BDAAl输出的对于数据存储 器23Ab的读出地址和地址缓存器42b中存储的对于数据存储器23Ab的 写入地址相同时,把写入缓存器54b中存储的数据对读出缓存器46b输出, 这2个地址不同时,把从数据存储器23Ab的数据输出端子输出的数据对 读出缓存器46b输出。在读出缓存器46a中存储从读出数据选择电路45a输出的数据。具体 而言,从数据存储器23Aa读出数据时,在A阶段对地址总线BDAAO输 出读出地址,在El阶段,从数据存储器23Aa或写入缓存器54a读出数据, 读出的数据在E2阶段存储到读出缓存器46a。此外,在读出缓存器46b 中存储从读出数据选择电路45b输出的数据。具体而言,从数据存储器 23Ab读出数据
读出数据合成电路47根据设定寄存器51中存储的关于数据尺寸的信 息和关于地址的信息,从读出缓存器46a、 46b的至少一方中存储的数据 生成读出数据,对数据总线BDA输出。具体而言,读出数据的数据尺寸 为16位,读出数据的地址空间中的地址为偶数时(图5 (a)),把读出缓 存器46a中存储的数据对数据总线BDA的下级16位[15: O]输出。此外, 读出数据的数据尺寸为16位,读出数据的地址空间中的地址为奇数时(图 5(b)),把读出缓存器46b中存储的数据对数据总线BDA的下级16位[15: O]输出。此外,读出数据的数据尺寸为32位,读出数据的地址空间中的地 址为偶数时(图5 (c)),把读出缓存器46a中存储的数据对数据总线BDA 的上级16位[31: 16]输出,把读出缓存器46b中存储的数据对数据总线 BDA的下级16位[15: O]输出。此外,读出数据的数据尺寸为32位,读 出数据的地址空间中的地址为奇数时(图5 (d)),把读出缓存器46b中存 储的数据对数据总线BDA的上级16位[31: 16]输出,把读出缓存器46a 中存储的数据对数据总线BDA的下级16位[15: O]输出。在设定寄存器51存储关于来自数据存储器23Aa、 23Ab的读出数据、 或者向数据存储器23Aa、 23Ab的写入数据的关于数据尺寸的信息以及关 于地址空间的地址的信息。在本实施例中,关于数据尺寸的信息在数据尺 寸为16位时用"1"表示,在数据尺寸为32位时用"0"表示。此外,在 本实施例中,关于地址的信息在地址为偶数时用"0"表示,在地址为奇 数时用"1"表示。对数据存储器42a或数据存储器42b写入数据时,在设定寄存器52 中存储在设定寄存器51中设定的数据。具体而言,在E1阶段在设定寄存 器51中设定的数据在E2阶段由设定寄存器52取入。写入数据选择电路53根据设定寄存器52中存储的关于数据尺寸的信 息和关于地址的信息,把对数据总线BDA输出的写入数据输出到写入缓 存器54a、 54b的至少一方。具体而言,写入数据的数据尺寸为16位,写 入数据的地址空间的地址为偶数时(图5 (a)),把对数据总线BDA的下 级16位[15: O]输出的数据输出到写入缓存器54a。此外,写入数据的数 据尺寸为16位,写入数据的地址空间的地址为奇数时(图5 (b)),把对 数据总线BDA的下级16位[15: 0]输出的数据输出到写入缓存器54b。此
外,写入数据的数据尺寸为32位,写入数据的地址空间的地址为偶数时(图5(c)),把对数据总线BDA的上级16位[31: 16]输出的数据输出到 写入缓存器54a,把对数据总线BDA的下级16位[15: O]输出的数据输出 到写入缓存器54b。此外,写入数据的数据尺寸为32位,写入数据的地址 空间的地址为奇数时(图5 (d)),把对数据总线BDA的上级16位[31: 16]输出的数据输出到写入缓存器54b,把对数据总线BDA的下级16位 [15: 0]输出的数据输出到写入缓存器54a。 ==存储器访问动作==参照图6~图23说明DSP的存储器访问动作。须指出的是,在图6 图21中,用实线表示与存储器访问动作关联的部分,用虚线表示不关联 的部分。图6是表示数据尺寸为16位,地址空间的地址为偶数时的写入动作 的图。地址空间的地址为偶数,所以在A阶段,在地址生成电路33生成 对数据存储器23Aa的写入地址。然后,生成的写入地址在E1阶段对地址 总线BDAAO输出。然后,在E2阶段,把对地址总线BDAAO输出的写入 地址由地址寄存器41a取入,并且对数据总线BDA的下级16位[15: 0] 输出16位的写入数据。此外,地址生成电路33在E1阶段把表示数据尺 寸为16位的信息"1"、表示地址是偶数的信息"0"对设定寄存器51写 入。然后,对设定寄存器51写入的信息在E2阶段由设定寄存器52取入。然后,如果变为E2阶段的下一时钟周期,地址寄存器41a中存储的 地址就由地址缓存器42a取入。此外,写入数据选择电路53按照设定寄 存器52中存储的信息,把对数据总线BDA的下级16位[15: O]输出的数 据对写入缓存器54a输出。在图6时,在写入之后不接着读出,所以通过管道控制电路32的控 制,地址选择电路44a把地址缓存器42a中存储的地址对数据存储器23Aa 的地址输入端子输入。然后,从管道控制电路32对数据存储器23Aa输出 写入请求(XWRO="0"),从而把写入缓存器54a中存储的数据写入数据 存储器23Aa。图7是表示数据尺寸为16位,地址空间的地址为奇数时的写入动作 的图。地址空间的地址为奇数,所以在A阶段,在地址生成电路33生成
对数据存储器23Ab的写入地址。然后,生成的写入地址在E1阶段对地址 总线BDAA1输出。然后,在E2阶段,把对地址总线BDAA1输出的写入 地址由地址寄存器41b取入,并且对数据总线BDA的下级16位[15: 0] 输出16位的写入数据。此外,地址生成电路33在E1阶段把表示数据尺 寸为16位的信息"1"、表示地址是奇数的信息"1"对设定寄存器51写 入。然后,对设定寄存器51写入的信息在E2阶段由设定寄存器52取入。然后,如果变为E2阶段的下一时钟周期,地址寄存器41b中存储的 地址就由地址缓存器42b取入。此外,写入数据选择电路53按照设定寄 存器52中存储的信息,把对数据总线BDA的下级16位[15: O]输出的数 据对写入缓存器54b输出。在图7时,在写入之后不接着读出,所以通过管道控制电路32的控 制,地址选择电路44b把地址缓存器42b中存储的地址对数据存储器23Ab 的地址输入端子输入。然后,从管道控制电路32对数据存储器23Ab输出 写入请求(XWR1="0"),从而把写入缓存器54b中存储的数据写入数据 存储器23Ab。图8是表示数据尺寸为32位,地址空间的地址为偶数时的写入动作 的图。首先,在A阶段,地址生成电路33中生成对数据存储器23Aa、 23Ab 的写入地址。然后,在E1阶段,把对数据存储器23Aa的写入地址对地址 总线BDAA0输出,把对数据存储器23Ab的写入地址对地址总线BDAA1 输出。然后在E2阶段,对地址总线BDAA0输出的写入地址由地址寄存 器41a取入,对地址总线BDAA1输出的写入地址由地址寄存器41b取 入。此外,在E2阶段,对数据总线BDA[31: O]输出写入数据。此外,地 址生成电路33在El阶段把表示数据尺寸为32位的信息"0"、表示地址 是偶数的信息"0"对设定寄存器51写入。然后,对设定寄存器51写入 的信息在E2阶段由设定寄存器52取入。然后,如果变为E2阶段的下一时钟周期,地址寄存器41a中存储的 地址就由地址缓存器42a取入,地址寄存器41b中存储的地址就由地址缓 存器42b取入。此外,写入数据选择电路53按照设定寄存器52中存储的 信息,把对数据总线BDA的上级16位[31: 16]输出的数据对写入缓存器 54a输出,把对数据总线BDA的下级16位[15: O]输出的数据对写入缓存
器54b输出。在图8时,在写入之后不接着读出,所以通过管道控制电路32的控 制,地址选择电路44a把地址缓存器42a中存储的地址对数据存储器23Aa 的地址输入端子输入。同样,地址选择电路44b把地址缓存器42b中存储 的地址对数据存储器23Ab的地址输入端子输入。然后,从管道控制电路 32对数据存储器23Aa输出写入请求(XWR0= "0"),从而把写入缓存器 54a中存储的数据写入数据存储器23Aa。同样,从管道控制电路32对数 据存储器23Ab输出写入请求(XWR1= "0"),从而把写入缓存器54b中 存储的数据写入数据存储器23Ab。图9是表示数据尺寸为32位,地址空间的地址为奇数时的写入动作 的图。首先,在A阶段,地址生成电路33中生成对数据存储器23Aa、 23Ab 的写入地址。然后,在E1阶段,把对数据存储器23Aa的写入地址对地址 总线BDAA0输出,把对数据存储器23Ab的写入地址对地址总线BDAA1 输出。然后在E2阶段,对地址总线BDAAO输出的写入地址由地址寄存 器41a取入,对地址总线BDAAl输出的写入地址由地址寄存器41b取 入。此外,在E2阶段,对数据总线BDA[31: O]输出写入数据。此外,地 址生成电路33在El阶段把表示数据尺寸为32位的信息"0"、表示地址 是奇数的信息"1"对设定寄存器51写入。然后,对设定寄存器51写入 的信息在E2阶段由设定寄存器52取入。然后,如果变为E2阶段的下一时钟周期,地址寄存器41a中存储的 地址就由地址缓存器42a取入,地址寄存器41b中存储的地址就由地址缓 存器42b取入。此外,写入数据选择电路53按照设定寄存器52中存储的 信息,把对数据总线BDA的上级16位[31: 16]输出的数据对写入缓存器 54b输出,把对数据总线BDA的下级16位[15: O]输出的数据对写入缓存 器54a输出。在图9时,在写入之后不接着读出,所以通过管道控制电路32的控 制,地址选择电路44a把地址缓存器42a中存储的地址对数据存储器23Aa 的地址输入端子输入。同样,地址选择电路44b把地址缓存器42b中存储 的地址对数据存储器23Ab的地址输入端子输入。然后,从管道控;制龟路 32对数据存储器23Aa输出写入请求(XWR0= "0"),从而把写入缓存器54a中存储的数据写入数据存储器23Aa。同样,从管道控制电路32对数 据存储器23Ab输出写入请求(XWR1="0"),从而把写入缓存器54b中 存储的数据写入数据存储器23Ab。图IO是表示数据尺寸为16位,地址空间的地址为偶数时的读出动作 的图。地址空间的地址为偶数,所以在A阶段,在地址生成电路33生成 对数据存储器23Aa的读出地址。然后,生成的读出地址在E1阶段对地址 总线BDAAO输出。此外,地址生成电路33在E1阶段把表示数据尺寸为 16位的信息"1"、表示地址是偶数的信息"0"对设定寄存器51写入。在图10时,在读出之前不进行写入,所以通过管道控制电路32的控 制,地址选择电路44a把对地址总线BDAAO输出的地址对数据存储器 23Aa的地址输入端子输入。然后,如果从管道控制电路32对数据存储器 23Aa输出读出请求(XRDO="0"),就从数据存储器23Aa输出相应的数 据。此外,在读出之前不进行写入,所以通过管道控制电路32的控制, 读出数据选择电路45a把从数据存储器23 Aa输出的数据对读出缓存器46a 输出。然后,读出数据合成电路47按照设定寄存器51中存储的信息,把 读出缓存器46a中存储的数据向数据总线BDA的下级16位[15: O]输出。图11是表示数据尺寸为16位,地址空间的地址为奇数时的读出动作 的图。地址空间的地址为奇数,所以在A阶段,在地址生成电路33生成 对数据存储器23Ab的读出地址。然后,生成的读出地址在E1阶段对地址 总线BDAA1输出。此外,地址生成电路33在El阶段把表示数据尺寸为 16位的信息"1"、表示地址是奇数的信息"1"对设定寄存器51写入。在图11时,在读出之前不进行写入,所以通过管道控制电路32的控 制,地址选择电路44b把对地址总线BDAA1输出的地址对数据存储器 23Ab的地址输入端子输入。然后,如果从管道控制电路32对数据存储器 23Ab输出读出请求(XRD1="0"),就从数据存储器23Ab输出相应的数 据。此外,在读出之前不进行写入,所以通过管道控制电路32的控制, 读出数据选择电路45b把从数据存储器23 Ab输出的数据对读出缓存器46b 输出。然后,读出数据合成电路47按照设定寄存器51中存储的信息,把 读出缓存器46b中存储的数据向数据总线BDA的下级16位[15: O]输出。图12是表示数据尺寸为32位,地址空间的地址为偶数时的读出动作
的图。首先,在A阶段,在地址生成电路33中生成对数据存储器23Aa、 23Ab的读出数据。然后,在E1阶段,把对数据存储器23Aa的读出地址 对地址总线BDAA0输出,把对数据存储器23Ab的读出地址对地址总线 BDAA1输出。此外,地址生成电路33在El阶段把表示数据尺寸为32位 的信息"0"、表示地址是偶数的信息"0"对设定寄存器51写入。在图12时,在读出之前不进行写入,所以通过管道控制电路32的控 制,地址选择电路44a把对地址总线BDAA0输出的地址对数据存储器 23Aa的地址输入端子输入。而且,如果从管道控制电路32对数据存储器 23Aa输出读出请求(XRD0="0"),就从数据存储器23Aa输出相应的数 据。同样,地址选择电路44b把对地址总线BDAAl输出的地址对数据存 储器23Ab的地址输入端子输入。而且,如果从管道控制电路32对数据存 储器23Ab输出读出请求(XRD1= "0"),就从数据存储器23Ab输出相应 的数据。此外,在读出之前不进行写入,所以通过管道控制电路32的控 制,读出数据选择电路45a把从数据存储器23Aa输出的数据对读出缓存 器46a输出。同样,读出数据选择电路45b把从数据存储器23Ab输出的 数据对读出缓存器46b输出。然后,读出数据合成电路47按照设定寄存 器51中存储的信息,把读出缓存器46a中存储的数据向数据总线BDA的 上级16位[31: 16]输出,把读出缓存器46b中存储的数据向数据总线BDA 的下级16位[15: O]输出。图13是表示数据尺寸为32位,地址空间的地址为奇数时的读出动作 的图。首先,在A阶段,在地址生成电路33中生成对数据存储器23Aa、 23Ab的读出数据。然后,在E1阶段,把对数据存储器23Aa的读出地址 对地址总线BDAA0输出,把对数据存储器23Ab的读出地址对地址总线 BDAA1输出。此外,地址生成电路33在E1阶段把表示数据尺寸为32位 的信息"0"、表示地址是奇数的信息"1"对设定寄存器51写入。在图13时,在读出之前不进行写入,所以通过管道控制电路32的控 制,地址选择电路44a把对地址总线BDAA0输出的地址对数据存储器 23Aa的地址输入端子输入。而且,如果从管道控制电路32对数据存储器 23Aa输出读出请求(XRD0="0"),就从数据存储器23Aa输出相应.的数 据。同样,地址选择电路44b把对地址总线BDAAl输出的地址对数据存
储器23Ab的地址输入端子输入。而且,如果从管道控制电路32对数据存 储器23Ab输出读出请求(XRDl-"0"),就从数据存储器23Ab输出相应 的数据。此外,在读出之前不进行写入,所以通过管道控制电路32的控 制,读出数据选择电路45a把从数据存储器23Aa输出的数据对读出缓存 器46a输出。同样,读出数据选择电路45b把从数据存储器23Ab输出的 数据对读出缓存器46b输出。然后,读出数据合成电路47按照设定寄存 器51中存储的信息,把读出缓存器46b中存储的数据向数据总线BDA的 上级16位[3h 16]输出,把读出缓存器46a中存储的数据向数据总线BDA 的下级16位[15: O]输出。图14是表示数据尺寸为16位,地址空间的地址为偶数,接着对同一 地址的写入动作的读出动作的图。地址空间的地址为偶数,所以在A阶段, 在地址生成电路33中生成对于数据存储器23Aa的读出地址。然后,把生 成的读出地址在E1阶段对地址总线BDAAO输出。此外,地址生成电路 33在El阶段把表示数据尺寸为16位的信息"1"、表示地址是偶数的信 息"0"对设定寄存器51写入。在图14时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAA0输出的地址和地址缓存器42a 中存储的地址的比较结果。在图14时,这些地址相同,所以地址选择电 路44a按照从地址比较电路43a输出的比较结果,把地址缓存器42a中存 储的地址对数据存储器23Aa的地址输入端子输入。此外,读出数据选择 电路45a按照从地址比较电路43a输出的比较结果,把写入缓存器54a中 存储的数据对读出缓存器46a输出。然后,读出数据合成电路47按照设 定寄存器51中存储的信息,把读出缓存器46a中存储的数据向数据总线 BDA的下级16位[15: O]输出。此外,如果从管道控制电路32对数据存 储器23Aa输出写入请求(XWRO- "0"),就把写入缓存器54a中存储的 数据对数据存储器23Aa写入。图15是表示数据尺寸为16位,地址空间的地址为偶数,接着对不同 地址的写入动作的读出动作的图。地址空间的地址为偶数,所以在A阶段, 在地址生成电路33中生成对于数据存储器23Aa的读出地址。然后,把生 成的读出地址在E1阶段对地址总线BDAAO输出。此外,地址生成电路 33在El阶段把表示数据尺寸为16位的信息"1"、表示地址是偶数的信息"0"对设定寄存器51写入。在图15时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAA0输出的地址和地址缓存器42a 中存储的地址的比较结果。在图15时,这些地址不同,所以地址选择电 路44a按照从地址比较电路43a输出的比较结果,对地址总线BDAA0输 出的地址对数据存储器23Aa的地址输入端子输入。如果从管道控制电路 32对数据存储器23Aa输出读出请求(XRD0="0"),就从数据存储器23Aa 输出相应的数据。然后,读出数据选择电路45a按照从地址比较电路43a 输出的比较结果,.把从数据存储器23Aa输出的数据对读出缓存器46a输 出。此外,读出数据合成电路47按照设定寄存器51中存储的信息,把读 出缓存器46a中存储的数据向数据总线BDA的下级16位[15: O]输出。须 指出的是,地址缓存器42a中存储的地址和写入缓存器54a中存储的数据 不清除地保持。然后,在从数据存储器23Aa进行数据读出之后的适宜的 定时,把地址缓存器42a中存储的地址对数据存储器23Aa的地址输入端 子输入,输出写入请求(XWR0="0"),从而对数据存储器23Aa进行数 据的写入。图16是表示数据尺寸为16位,地址空间的地址为奇数,接着对同一 地址的写入动作的读出动作的图。地址空间的地址为奇数,所以在A阶段, 在地址生成电路33中生成对于数据存储器23Ab的读出地址。然后,把生 成的读出地址在E1阶段对地址总线BDAA1输出。此外,地址生成电路 33在El阶段把表示数据尺寸为16位的信息"1"、表示地址是奇数的信 息"1"对设定寄存器51写入。在图16时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43b输出对地址总线BDAA1输出的地址和地址缓存器42b 中存储的地址的比较结果。在图16时,这些地址相同,所以地址选择电 路44b按照从地址比较电路43b输出的比较结果,把地址缓存器42b中存 储的地址对数据存储器23Ab的地址输入端子输入。此外,读出数据选择 电路45b按照从地址比较电路43b输出的比较结果,把写入缓存器54b中 存储的数据对读出缓存器46b输出。然后,读出数据合成电路47按照设
定寄存器5]中存储的信息,把读出缓存器46b中存储的数据向数据总线BDA的下级16位[15: O]输出。此外,如果从管道控制电路32对数据存 储器23Ab输出写入请求(XWR1- "0"),就把写入缓存器54b中存储的 数据对数据存储器23Ab写入。图17是表示数据尺寸为16位,地址空间的地址为奇数,接着对不同 地址的写入动作的读出动作的图。地址空间的地址为奇数,所以在A阶段, 在地址生成电路33中生成对于数据存储器23Ab的读出地址。然后,把生 成的读出地址在E1阶段对地址总线BDAA1输出。此外,地址生成电路 33在El阶段把表示数据尺寸为16位的信息"1"、表示地址是奇数的信 息"1"对设定寄存器51写入。在图17时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43b输出对地址总线BDAA1输出的地址和地址缓存器42b 中存储的地址的比较结果。在图17时,这些地址不同,所以地址选择电 路44b按照从地址比较电路43b输出的比较结果,对地址总线BDAA1输 出的地址对数据存储器23Ab的地址输入端子输入。如果从管道控制电路 32对数据存储器23Ab输出读出请求(XKDl-"O"),就从数据存储器23Ab 输出相应的数据。然后,读出数据选择电路45b按照从地址比较电路43b 输出的比较结果,把从数据存储器23Ab输出的数据对读出缓存器46b输 出。此外,读出数据合成电路47按照设定寄存器51中存储的信息,把读 出缓存器46b中存储的数据向数据总线BDA的下级16位[15: O]输出。须 指出的是,地址缓存器42b中存储的地址和写入缓存器54b中存储的数据 不清除地保持。然后,在从数据存储器23Ab进行数据读出之后的适宜的 定时,把地址缓存器42b中存储的地址对数据存储器23Ab的地址输入端 子输入,输出写入请求(XWR1= "0"),从而对数据存储器23Ab进行数 据的写入。图18是表示数据尺寸为32位,地址空间的地址为偶数,接着对同一 地址的写入动作的读出动作的图。首先在A阶段,在地址生成电路33生 成对于数据存储器23Aa、 23Ab的读出地址。然后,在El阶段把对于数 据存储器23Aa的读出地址对地址总线BDAA0输出,把对于数据存储器 23Ab的读出地址对地址总线BDAAl输出。此外,地址生成电路33在E1
阶段把表示数据尺寸为32位的信息"0"、表示地址是偶数的信息"0"对 设定寄存器51写入。在图18时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAAO输出的地址和地址缓存器42a 中存储的地址的比较结果。在图18时,这些地址相同,所以地址选择电 路44a按照从地址比较电路43a输出的比较结果,把地址缓存器42a中存 储的地址对数据存储器23Aa的地址输入端子输入。此外,读出数据选择 电路45a按照从地址比较电路43a输出的比较结果,把写入缓存器54a中 存储的数据对读出缓存器46a输出。同样,地址比较电路43b输出对地址 总线BDAA1输出的地址和地址缓存器42b中存储的地址的比较结果。在 图18时,这^l地址相同,所以地址选择电路44b按照从地址比较电路43b 输出的比较结果,把地址缓存器42b中存储的地址对数据存储器23Ab的 地址输入端子输入。此外,读出数据选择电路45b按照从地址比较电路43b 输出的比较结果,把写入缓存器54b中存储的数据对读出缓存器46b输出。 然后,读出数据合成电路47按照设定寄存器51中存储的信息,把读出缓 存器46a中存储的数据向数据总线BDA的上级16位[31: 16]输出,把读 出缓存器46b中存储的数据向数据总线BDA的下级16位[15: O]输出。此 外,如果从管道控制电路32对数据存储器23Aa输出写入请求(XWRO= "0"),就把写入缓存器54a中存储的数据对数据存储器23Aa写入。同样, 如果从管道控制电路32对数据存储器23Ab输出写入请求(XWRl-"0"), 就把写入缓存器54b中存储的数据对数据存储器23Ab写入。图19是表示数据尺寸为32位,地址空间的地址为偶数,接着对不同 地址的写入动作的读出动作的图。首先在A阶段,在地址生成电路33生 成对于数据存储器23Aa、 23Ab的读出地址。然后,在El阶段把对于数 据存储器23Aa的读出地址对地址总线BDAAO输出,把对于数据存储器 23Ab的读出地址对地址总线BDAA1输出。此外,地址生成电路33在E1 阶段把表示数据尺寸为32位的信息"0"、表示地址是偶数的信息"0"对 设定寄存器51写入。在图19时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAAO输出的地址和地址缓存器42a中存储的地址的比较结果。在图19时,这些地址不同,所以地址选择电路44a按照从地址比较电路43a输出的比较结果,把对地址总线BDAA0 输出的地址对数据存储器23Aa的地址输入端子输入。此外,如果从管道 控制电路32对数据存储器23Aa输出读出请求(XRD0= "0"),就从数据 存储器23Aa输出相应的数据。同样,地址比较电路43b输出对地址总线 BDAA1输出的地址和地址缓存器42b中存储的地址的比较结果。在图19 时,这些地址不同,所以地址选择电路44b按照从地址比较电路43b输出 的比较结果,把对地址总线BDAA1输出的地址对数据存储器23Ab的地 址输入端子输入。此外,如果从管道控制电路32对数据存储器23Ab输出 读出请求(XRD1="0"),就从数据存储器23Ab输出相应的数据。然后,读出数据选择电路45a按照从地址比较电路43a输出的比较结 果,把从数据存储器23Aa输出的数据对读出缓存器46a输出。同样,读 出数据选择电路45b按照从地址比较电路43b输出的比较结果,把从数据 存储器23Ab输出的数据对读出缓存器46b输出。此外,读出数据合成电 路47按照设定寄存器51中存储的信息,把读出缓存器46a中存储的数据 向数据总线BDA的上级16位[3h 16]输出,把读出缓存器46b中存储的 数据向数据总线BDA的下级16位[15: O]输出。须指出的是,地址缓存器 42a、 42b中存储的地址和写入缓存器54a、 54b中存储的数据不清除地保 持。然后,在从数据存储器23Aa、 23Ab进行数据的读出之后的适宜的定 时,把地址缓存器42a、 42b中存储的地址分别对数据存储器23Aa、 23Ab 的地址输入端子输入,输出写入请求(XWR0-"0"、 XWR1="0"),从而 对数据存储器23Aa、 23Ab进行数据的写入。图20是表示数据尺寸为32位,地址空间的地址为奇数,接着对同一 地址的写入动作的读出动作的图。首先在A阶段,在地址生成电路33生 成对于数据存储器23Aa、 23Ab的读出地址。然后,在El阶段把对于数 据存储器23Aa的读出地址对地址总线BDAAO输出,把对于数据存储器 23Ab的读出地址对地址总线BDAAl输出。此外,地址生成电路33在E1 阶段把表示数据尺寸为32位的信息"0"、表示地址是奇数的信息"1"对 设定寄存器51写入。在图20时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAAO输出的地址和地址缓存器42a 中存储的地址的比较结果。在图20时,这些地址相同,所以地址选择电 路44a按照从地址比较电路43a输出的比较结果,把地址缓存器42a中存 储的地址对数据存储器23Aa的地址输入端子输入。此外,读出数据选择 电路45a按照从地址比较电路43a输出的比较结果,把写入缓存器54a中 存储的数据对读出缓存器46a输出。同样,地址比较电路43b输出对地址 总线BDAA1输出的地址和地址缓存器42b中存储的地址的比较结果。在 图20时,这些地址相同,所以地址选择电路44b按照从地址比较电路43b 输出的比较结果,把地址缓存器42b中存储的地址对数据存储器23Ab的 地址输入端子输入。此外,读出数据选择电路45b按照从地址比较电路43b 输出的比较结果,把写入缓存器54b中存储的数据对读出缓存器46b输出。 然后,读出数据合成电路47按照设定寄存器51中存储的信息,把读出缓 存器46b中存储的数据向数据总线BDA的上级16位[31: 16]输出,把读 出缓存器46a中存储的数据向数据总线BDA的下级16位[15: O]输出。如 果从管道控制电路32对数据存储器23Aa输出写入请求(XWRO- "0"), 就把写入缓存器54a中存储的数据对数据存储器23Aa写入。同样,如果 从管道控制电路32对数据存储器23Ab输出写入请求(XWR1="0"),就 把写入缓存器54b中存储的数据对数据存储器23Ab写入。图21是表示数据尺寸为32位,地址空间的地址为奇数,接着对不同 地址的写入动作的读出动作的屈。首先在A阶段,在地址生成电路33生 成对于数据存储器23Aa、 23Ab的读出地址。然后,在El阶段把对于数 据存储器23Aa的读出地址对地址总线BDAAO输出,把对于数据存储器 23Ab的读出地址对地址总线BDAAl输出。此外,地址生成电路33在E1 阶段把表示数据尺寸为32位的信息"0"、表示地址是奇数的信息"1"对 设定寄存器51写入。在图21时,在读出之前进行写入,所以通过管道控制电路32的控制, 地址比较电路43a输出对地址总线BDAAO输出的地址和地址缓存器42a 中存储的地址的比较结果。在图21时,这些地址不同,所以地址选择电 路44a按照从地址比较电路43a输出的比较结果,把对地址总线BDAAO 输出的地址对数据存储器23Aa的地址输入端子输入。此外,如果从管道
控制电路32对数据存储器23Aa输出读出请求(XRD0= "0"),就从数据 存储器23Aa输出相应的数据。同样,地址比较电路43b输出对地址总线 BDAA1输出的地址和地址缓存器42b中存储的地址的比较结果。在图21 时,这些地址不同,所以地址选择电路44b按照从地址比较电路43b输出 的比较结果,把对地址总线BDAA1输出的地址对数据存储器23Ab的地 址输入端子输入。此外,如果从管道控制电路32对数据存储器23Ab输出 读出请求(XRDl-"0"),就从数据存储器23Ab输出相应的数据。然后,读出数据选择电路45a按照从地址比较电路43a输出的比较结 果,把从数据存储器23Aa输出的数据对读出缓存器46a输出。同样,读 出数据选择电路45b按照从地址比较电路43b输出的比较结果,把从数据 存储器23Ab输出的数据对读出缓存器46b输出。此外,读出数据合成电 路47按照设定寄存器51中存储的信息,把读出缓存器46b中存储的数据 向数据总线BDA的上级16位[31: 16]输出,把读出缓存器46a中存储的 数据向数据总线BDA的下级16位[15: O]输出。须指出的是,地址缓存器 42a、 42b中存储的地址和写入缓存器54a、 54b中存储的数据不清除地保 持。然后,在从数据存储器23Aa、 23Ab进行数据的读出之后的适宜的定 时,把地址缓存器42a、 42b中存储的地址分别对数据存储器23Aa、 23Ab 的地址输入端子输入,输出写入请求(XWR0="0"、 XWRl-"0"),从而 对数据存储器23Aa、 23Ab进行数据的写入。图22是表示读出动作时的定时的图。这里,把如图6所示那样进行 读出动作的情形为例进行说明。首先,以A阶段的时钟的上升(第一定时) 为契机,在地址生成电路33生成读出地址,在时刻tl对地址总线BDAA0 输出地址。然后,以时刻t2的时钟的下一上升(第二定时)为契机,对数 据存储器23Aa输出读出请求(XRD0= "0"),从时刻t3,从数据存储器 23Aa开始输出相应的数据。以时刻t4的时钟的下一上升为契机,从数据 存储器23Aa输出的数据由读出缓存器46a取入。以时刻t5的时钟的下一 上升为契机,把读出缓存器46a中存储的数据对数据总线BDA的下级16 位[15: O]输出,存储到寄存器24。然后,寄存器24中存储的数据在基于 运算电路25的运算处理中使用。在DSP10中,在E1阶段的前一个时钟周期即A阶段,读出地址向地
址总线BDAA输出。因此,与以E1阶段的时钟的上升为契机,把读出地 址对地址总线BDAA输出,以E1阶段的时钟的下降为契机,对数据存储 器23Aa、 23Ab输出数据的读出请求的情形比较,能使设置读出地址的时 间具有余裕。此夕卜,在DSP10中,从数据存储器23Aa、 23Ab输出的数据 在E2阶段由读出缓存器取入。因此,与以E1阶段的时钟的下降为契机, 对数据存储器23Aa、 23Ab输出数据的读出请求,以E2阶段的时钟的上 升为契机,由寄存器24取入数据的情形比较,能使设置读出数据的存储 的时间具有余裕。而且,在DSP10中,设置时间上产生余裕的结果是能提 高时钟的频率,能提高DSP10的处理速度。图23是表示写入动作时的图。这里,以如图15所示那样在写入动作 之后接着进行对不同的地址的读出动作的情形为例,进行说明。首先,在 写入动作的E2阶段(第一定时)即时刻t6,由地址寄存器41a取入地址, 对数据总线BDA的下级16位[15: O]输出写入数据。然后,以时刻t7的 时钟的下一上升(第二定时)为契机,地址寄存器41a中存储的地址由地 址缓存器42a取入,对数据总线BDA的下级16位[15: O]输出的数据由写 入缓存器54a取入。而且,在图15所示的例子中,写入地址和读出地址 不同,所以以时刻t8的时钟的下一上升(读出动作的El阶段开始的定时〉 为契机,对数据存储器23Aa输出读出请求(XRD0="0"),从数据存储器 23Aa输出相应的数据。须指出的是,地址缓存器42a中存储的地址和写 入缓存器54a中存储的数据不清除地保持。然后,以时刻t9的下一时钟的 上升为契机,把地址缓存器42a中存储的地址对数据存储器23Aa的地址 输入端子输入,对数据存储器23Aa输出写入请求(XWR0= "0"),从而 对数据存储器23Aa写入数据。须指出的是,地址不同的读出动作连续多 个时,在读出动作结束之前,保持地址缓存器42a中存储的地址和写入缓 存器54a中存储的数据,在读出动作结束后,进行向数据存储器23Aa的 写入。在DSP10中,在E2阶段的下一时钟周期,由地址缓存器42a、 42b 取入地址,由写入缓存器54a、 54b取入写入数据。然后,把此后的时钟 周期的时钟的上升作为契机,对数据存储器23Aa、 23Ab输出写入请求。 因此,与以E2阶段的时钟的上升为契机,开始对数据存储器23Aa、 23Ab
的写入地址和写入数据的输出,以E2阶段的时钟的下降为契机,输出对数据存储器23Aa、 23Ab的写入请求的情形比较,能使设置写入地址和写 入数据的时间具有余裕。而且,在DSP10中,设置时间上产生余裕的结果 是能提高时钟的频率,能提高DSP10的处理速度。此外,在DSP10中,接着写入动作,进行对不同地址的读出动作时, 优先进行对数据存储器23Aa的读出访问。此外,在DSP10中,接着写入 动作,进行对同一地址的读出动作时,把写入缓存器54a、 54b中存储的 数据作为读出数据输出,并且把写入缓存器54a、 54b中存储的数据对数 据存储器23Aa、 23Ab写入。即在DSP10中,不会由于先行的写入动作而 让后续的读出动作等待,运算电路25的数据等待时间縮短,能提高处理 速度。以上说明本发明的实施例,如上所述,在DSP10中,从由2个数据存 储器23Aa、 23Ab的至少一方输出的数据,根据关于读出数据的数据尺寸 的信息和关于对于读出数据的地址空间的地址的信息,生成读出数据,输 出。即能只从数据存储器23Aa、 23Ab的任意一方读出数据,也能从数据 存储器23Aa、 23Ab双方读出数据。而且,在从数据存储器23Aa、 23Ab 双方读出数据时,把读出的2个数据作为对于构成运算电路25的一个乘 法累加器的2个输入数据使用。从存储器访问电路21B也同样能同时读出 2个数据,所以在DSP10全体,能同时读出4个数据。因此,能同时进行 构成运算电路25的2个乘法累加器的计算。在DSP10中,能实现高效的 存储器访问,DSP10的运算处理变得高速化。此外,在DSP10的存储器访问电路21A,在数据存储器23Aa存储地 址空间的偶数地址的数据,在数据存储器23Ab存储地址空间的奇数地址 的数据。而且,读出数据合成电路47按照读出数据的地址是偶数还是奇 数、读出数据的数据尺寸是16位(N位)还是32位(2N位),生成读出 数据。即在DSPIO中,能通过存储器访问电路21A读出一个16位的数据, 也能同时读出2个16位的数据。同样,在DSP10中,能通过存储器访问 电路21B读出一个16位的数据,也能同时读出2个16位的数据。即在 DSP10中,最多能同时读出4个16位的数据。在DSP10中,实瑪高效的 存储器访问,从而能提高处理速度。
此外,在DSP10中,根据关于写入数据的数据尺寸的信息和关于对于写入数据的地址空间的地址的信息,能对数据存储器23Aa、 23Ab的至少 一方写入数据。即对数据存储器23Aa、 23Ab的任意一方能写入数据,也 能对数据存储器23Aa、 23Ab双方写入数据。通过存储器访问电路21B也 同样能写入数据,所以在DSP10全体,能同时写入4个数据。在DSPIO 中,能实现高效的存储器访问,能提高处理速度。此外,在DSP10的存储器访问电路21A,在数据存储器23Aa存储地 址空间的偶数地址的数据,在数据存储器23Ab存储地址空间的奇数地址 的数据。而且,写入数据选择电路53按照写入数据的地址是偶数还是奇 数、写入数据的数据尺寸是16位(N位)还是32位(2N位),把对数据 总线BDA输出的数据对写入缓存器54a、 54b输出。即在DSP10中,能 通过存储器访问电路21A写入一个16位的数据,也能同时写入2个16位 的数据。同样,在DSP10中,能通过存储器访问电路21B写入一个16位 的数据,也能同时写入2个16位的数据。因此,在DSP10中,最多能同 时写入4个16位的数据。在DSP10中,实现高效的存储器访问,从而能 提高处理速度。此外,在DSP10的存储器访问电路21A,接着写入动作进行读出动作 时,进行控制,从而不会由于写入动作而让后续的读出动作等待。即接着 写入动作进行读出动作时,在写入地址和读出地址不同时,在向数据存储 器23Aa、 23Ab的写入之前,进行从数据存储器23Aa、 23Ab的读出。此 外,在写入地址和读出地址相同时,从写入缓存器54a、 54b中存储的数 据生成读出数据,并且进行向数据存储器23Aa、 23Ab的写入。据此,接 着写入动作进行读出动作时,不会由于先行的写入动作而让后续的读出动 作等待,运算电路25的数据等待时间縮短。即在DSPIO,实现高效的存 储器访问,从而能提高处理速度。此外,在DSP10的存储器访问电路21A,在读出动作时的读出地址的 设置时间上存在余裕。因此,能提高时钟的频率,能提高DSP10的处理速 度。此外,在DSPIO的存储器访问电路21A,在写入动作的写入地址和写 入数据的设置时间上存在余裕。因此,能提高时钟的频率,能提高DSPIO
的处理速度。须指出的是,所述实施例是为了容易理解本发明,并不用于限定解释本发明。本发明在不脱离其宗旨的前提下,能变更、改良,并且在本发明 中包含其等价物。
权利要求
1.一种存储器访问装置,访问第一和第二存储器,包括地址输出部,根据读出数据的数据尺寸和地址空间中的地址,输出对于所述第一和第二存储器的至少一方的读出地址;访问请求输出部,根据所述读出数据的所述数据尺寸和所述地址空间中的所述地址,对所述第一和第二存储器的至少一方输出读出请求;数据信息输出部,输出关于所述读出数据的所述数据尺寸的信息和关于所述地址的信息;和读出数据输出部,按照从所述地址输出部输出的所述读出地址、从所述访问请求输出部输出的所述读出请求,从由所述第一和第二存储器的至少一方输出的数据,根据从所述数据信息输出部输出的关于所述数据尺寸的信息和关于所述地址的信息,生成所述读出数据,并输出。
2. 根据权利请求1所述的存储器访问装置,其特征在于 在所述第一存储器中存储所述地址空间的偶数地址的N位宽度的数据,在所述第二存储器中存储所述地址空间的奇数地址的N位宽度的数 据;所述地址输出部,在所述读出数据的所述数据尺寸是N位时,将与所 述地址空间的所述地址对应的所述读出地址输出到所述第一或第二存储 器;所述地址输出部,在所述读出数据的所述数据尺寸是2N位时,将与 所述地址空间的所述地址对应的所述读出地址输出到所述第一和第二存 储器;所述读出数据输出部,在所述读出数据的所述数据尺寸是N位时,将 从所述第一 或第二存储器输出的数据作为所述读出数据输出 ,所述读出数据输出部,在所述读出数据的所述数据尺寸是2N位,所 述地址空间中的所述地址是偶数地址时,将从所述第一存储器输出的数据 作为上级位,将从所述第二存储器输出的数据作为下级位,生成所述读出 数据,并输出;在所述读出数据的所述数据尺寸为2N位,所述地址空间中的所述地 址是奇数地址时,将从所述第二存储器输出的数据作为上级位,将从所述 第一存储器输出的数据作为下级位,生成所述读出数据,并输出。
3. 根据权利请求1所述的存储器访问装置,其特征在于所述地址输出部根据写入数据的数据尺寸和地址空间中的地址,输出对于所述第一以及第二存储器的至少一方的写入地址;所述访问请求输出部根据所述写入数据的所述数据尺寸和所述地址 空间中的所述地址,对所述第一以及第二存储器的至少一方输出写入请 求;所述数据信息输出部输出关于所述写入数据的所述数据尺寸的信息 和关于所述地址的信息;还具有写入数据输出部,根据从所述数据信息输出部输出的关于所述数据尺寸的信息和关于所述地址的信息,对所述第一以及第二存储器的至 少一方输出所述写入数据。
4. 根据权利请求3所述的存储器访问装置,其特征在于 在所述第一存储器中存储所述地址空间的偶数地址的N位宽度的数据,在所述第二存储器中存储所述地址空间的奇数地址的N位宽度的数 据;所述地址输出部,在所述写入数据的所述数据尺寸为N位时,将与所 述地址空间的所述地址对应的所述写入地址输出到所述第一或第二存储 器;所述地址输出部,在所述写入数据的所述数据尺寸为2N位时,将与 所述地址空间的所述地址对应的所述写入地址输出到所述第一和第二存 储器;所述写入数据输出部,在所述写入数据的所述数据尺寸为N位,所述 地址空间的所述地址为偶数地址时,将所述写入数据输出到所述第一存储 器;所述写入数据输出部,在所述写入数据的所述数据尺寸为N位,所述 地址空间的所述地址为奇数地址时,将所述写入数据输出到所述第二存 储 器输出;所述写入数据输出部,在所述写入数据的所述数据尺寸为2N位,所 述地址空间的所述地址为偶数地址时,将所述写入数据的上级N位输出到所述第一存储器,将所述写入数据的下级N位输出到所述第二存储器;所述写入数据输出部,在所述写入数据的所述数据尺寸为2N位,所 述地址空间的所述地址为奇数地址时,将所述写入数据的上级N位输出到 所述第二存储器,将所述写入数据的下级N位输出到所述第一存储器。
5. 根据权利请求3或4所述的存储器访问装置,其特征在于还具有写入地址存储部,存储从所述地址输出部输出的所述写入地址; 写入数据存储部,将从所述写入数据输出部输出的所述写入数据在写入所述第一或第二存储器之前存储;和地址选择电路,从所述地址输出部输出的所述读出地址和所述写入地址存储部中存储的所述写入地址不同时,将所述读出地址输出到所述第一或第二存储器;所述读出数据输出部,在从所述地址输出部输出的所述读出地址和所 述写入地址存储部中存储的所述写入地址不同时,从由所述第一或第二存 储器的至少一方输出的数据生成所述读出数据,并输出,在从所述地址输 出部输出的所述读出地址和所述写入地址存储部中存储的所述写入地址 相同时,输出所述写入数据存储部中存储的所述写入数据。
6. 根据权利请求1~5中的任意一项所述的存储器访问装置,其特征 在于-所述地址输出部在时钟从一方的逻辑电平向另一方的逻辑电平变化 的第一定时,输出所述读出地址;所述访问请求输出部在所述第一定时之后,在所述时钟从所述一方的 逻辑电平向所述另一方的逻辑电平变化的第二定时,输出所述读出请求。
7. 根据权利请求5所述的存储器访问装置,其特征在于 所述地址输出部在时钟从一方的逻辑电平向另一方的逻辑电平变化的第一定时,输出所述写入数据;所述访问请求部在所述第一定时之后,在所述时钟从所述一方的逻辑 电平向所述另一方的逻辑电平变化的第二定时,将从所述地址输出部输出 的所述写入地址存储到所述地址存储部中,并且将从所述写入数据输出部 输出的所述写入数据存储到所述写入数据存储部中。
全文摘要
存储器访问装置包括根据读出数据的数据尺寸和地址空间中的地址,输出对于第一和第二存储器的至少一方的读出地址的地址输出部;根据读出数据的所述数据尺寸和地址空间中的所述地址,对第一和第二存储器的至少一方输出读出请求的访问请求输出部;输出关于读出数据的数据尺寸的信息和关于地址的信息的数据信息输出部;按照读出地址、读出请求,从由第一和第二存储器的至少一方输出的数据,根据关于数据尺寸的信息和关于地址的信息,生成读出数据,输出的读出数据输出部。
文档编号G06F13/16GK101149713SQ200710136649
公开日2008年3月26日 申请日期2007年7月18日 优先权日2006年9月21日
发明者本田岩 申请人:三洋电机株式会社;三洋半导体株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1