CN1132102C - 指令存储器电路 - Google Patents
指令存储器电路 Download PDFInfo
- Publication number
- CN1132102C CN1132102C CN99100326A CN99100326A CN1132102C CN 1132102 C CN1132102 C CN 1132102C CN 99100326 A CN99100326 A CN 99100326A CN 99100326 A CN99100326 A CN 99100326A CN 1132102 C CN1132102 C CN 1132102C
- Authority
- CN
- China
- Prior art keywords
- instruction
- address
- storage unit
- signal
- memory
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 claims description 135
- 238000004519 manufacturing process Methods 0.000 claims description 37
- 239000000872 buffer Substances 0.000 claims description 34
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 21
- 238000000151 deposition Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000004913 activation Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Advance Control (AREA)
Abstract
指令存储器电路包括:外部指令存储器,用于存放多个指令码;内部指令存储器,为存储指令码其具有将存入其中的预先从外部指令存储器读出的指令码快速输出和改写的能力,并输出指令码以执行指令,内部指令存储器包括第1至第N个能被独立访问的存储单元。指令存储器电路还包括存储单元读装置和存储单元写装置,根据本发明,“从存储单元读(执行)指令码”能与“指令码写入另一个存储单元”同步执行,从而可实现高速高效的指令执行操作。
Description
本发明涉及一种指令存储器电路,尤其涉及用作数字信号处理器等的可擦写指令存储器的指令存储器电路。
指令存储器电路被广泛用于数字信号处理器的可擦写指令存储器。如日本电气株式会社1996年1月的“NEC数据手册,信号处理LSI(DSP/语音)”(以下称之为文献1)第317-318页所示。
图1是说明文献1中所描述的常规指令存储器电路的框图。图1的常规指令存储器电路由DSP(数字信号处理器)10和外部指令存储器8组成。DSP10包括内部指令存储器101,程序计数器1,指令取指地址产生电路2,选择器3、6和14,或门电路4,锁存器5,指令译码器7和三态缓冲器12和13。
内部指令存储器101按照内部指令存储器读信号RI控制,从内部指令地址AI指定的单元中读出指令码DI;由指令写信号W控制把从外部指令存储器8读出的指令码DE存入内部指令地址AI指定的存储单元。
程序计数器1输出指令地址AP、内部指令存储器读信号RI、存储器选择信号SM和外部指令存储器读控制信号RP。
指令取址地址产生电路2按照外部提供的取指指令CW输出指令取指地址AW、指令写信号W和外部指令存储器取址控制信号R。
选择器3按照指令写信号W的控制,从指令取指地址AW和指令地址AP中作出选择,并把所选地址输出到外部指令存储器8作为外部指令地址AE。
或门电路4在外部指令存储器读控制信号RP和外部指令存储器取指控制信号R之间产生逻辑或,从而输出外部指令存储器读信号RE。
锁存器5锁存从外部指令存储器8读出的指令码DE并输出锁存的指令码DL。
选择器6按照存储器选择信号SM的控制,从由内部指令存储器101读出的指令码DI和来自外部指令存储器8的锁存指令码DL中作出选择,把所选指令码DS输出到指令译码器7。
指令译码器7对所选的指令码DS进行译码并执行译码后的指令。
在DSP10外部提供的外部指令存储器8,根据外部指令存储器的读信号RE的控制,从由外部指令地址AE指定的其存储单元读出指令码DE。
三态缓冲器12按照内部指令存储器读信号RI的控制,来控制内部指令存储器101的指令码DI的输出。
三态缓冲器13根据指令写信号W的控制,来控制指令码DE到内部指令存储器101的输入。
选择器14按照指令写信号W的控制,从指令取指地址AW和指令地址AP中作出选择,把所选地址提供给内部指令存储器101作为内部指令地址AI。
下面参考图1和图2,对图1中的常规指令存储器电路的操作进行描述。图2是说明图1中常规指令存储器电路操作实例的时序图。在这种类型的指令存储器电路中,外部指令存储器8通常使用大容量的存储器,所以外部指令存储器8的操作速度比内部指令存储器101的操作速度要慢得多。因此,外部指令存储器8用的时钟信号CKE的时钟周期是内部指令存储器101的时钟信号CKI的两倍。
首先说明从内部指令存储器101读取指令码(即来自内部指令存储器101的执行指令)的操作。程序计数器激活内部指令存储器读信号RI,把内部指令存储器101置为读方式并激活三态缓冲器12。此时由于指令取指地址产生电路2提供的指令写信号W无效,选择器14选择指令地址AP,并将AP提供给内部指令存储器101作为内部指令地址AI,内部指令存储器101把由内部指令地址AI(指令地址AP)指定的指令码DI经过激活的三态缓冲器12输出给选择器6。选择器6根据存储器选择信号SM的控制,选择指令码DI作为所选指令码DS,并把选中的指令码DS(指令码DI)提供给指令译码器7。指令译码器7将选中的指令码DS(指令码DI)进行译码并执行译码后的指令。
其次说明将指令码写入内部指令存储器101的操作。指令取指地址产生电路2根据外部提供的指令取指指令CW激活写指令信号W,从而将内部指令存储器101置为写方式并激活三态缓冲器13,指令取指地址产生电路2还输出指令取指地址AW。由于写指令信号W有效,选择器14选择来自指令取指地址产生电路2的指令取指地址AW,并把指令取指地址AW提供给内部指令存储器101作为内部指令地址AI。与此同时选择器3还选择指令取指地址AW,并将择指令取指地址AW提供给外部指令存储器8作为外部指令地址AE。外部指令存储器8输出由外部指令地址AE(指令取指地址AW)指定的指令码DE。内部指令存储器101通过被激活的三态缓冲器13接收指令码DE,并将指令码DE存入(写入)与指令取指地址AW对应的存储单元。
下面说明从外部指令存储器8(即执行来自外部指令存储器8的指令)读取指令码的操作。在“从外部指令存储器8读取指令码”的操作中,从程序计数器1输出的外部指令存储器读控制信号RP有效,由指令取指地址产生电路2输出的外部指令存储器取指控制信号R无效。信号RP和R供给或门电路4,或门电路4在外部指令存储器读控制信号RP和外部指令存储器取指控制信号R之间产生逻辑或,从而输出一个高电平的外部指令存储器读信号RE。高电平的外部指令存储器读信号RE把外部指令存储器8置为读操作方式。与此同时,由于指令写信号W无效,选择器3从程序计数器1中选择指令地址AP作为外部指令地址AE,并把外部指令地址AE(指令地址AP)提供给外部指令存储器8。外部指令存储器8读取并输出指令地址AP指定的指令码DE,锁存器5锁存外部指令存储器8输出的指令码DE。选择器6根据存储器选择信号SM的控制,选择来自锁存器5的锁存指令码DL作为所选指令码DS,并把所选指令码DS(锁存的指令码DL)提供给指令译码器7,指令译码器7对所选指令码DS(指令码DE)进行译码并执行已译码后的指令。
根据上述的操作,通常将要求高速执行的指令码存放在内部指令存储器101中,而不要求高速执行的指令码在外部指令存储器8中存放并且执行。
然而,在上述的常规指令存储器电路中,“从内部指令存储器101读指令码(即执行从内部指令存储器101读出的指令码DI)”的读操作和“将指令码写入内部指令存储器101”的写操作不能同时执行。因此,在对内部指令存储器101进行写入操作期间,不可能在从内部指令存储器101读出指令码DI的同时执行指令码DI,当然在这种状态下能够在从外部指令存储器8读出指令码DE的同时执行指令码DE。无论怎样,慢速的外部指令存储器8比快速的内部指令存储器101执行指令花费的时间要长。
另外,增加快速的内部指令存储器101的存储容量,有可能降低对慢速的外部指令存储器8的访问频率并获得较快的指令执行速度。然而,有高速操作能力的内部指令存储器101,其每个存储单元需要较大的面积和较大的功率消耗,因此增加内部指令存储器101的存储容量显著引起较大的功率消耗(由每个单元中的功率消耗增加和对内部指令存储器101频繁的高速访问所引起)和整个指令存储器电路芯片的尺寸较大。
因此,本发明的主要目的是提供一种指令存储器电路,用该电路能够获得数字信号处理器特别需要的高速且高效的指令访问,同时避免功率损耗和芯片尺寸的增加。
根据本发明的第一个方面提供的指令存储器电路包括:一个外部指令存储器,用于存放许多指令码;一个内部指令存储器,其具有将存入其中的预先从外部指令存储器读出的指令码快速输出和改写的能力,并且输出指令码以执行指令。内部指令存储器由第1到第N个能被独立访问的存储单元(N为大于1的整数)组成。还包括存储单元读装置和存储单元写装置。存储单元读装置为读取指令码而激活第1到第N个存储单元中的一个存储单元,并且执行从被激活的存储单元中读出的指令码。存储单元写装置激活第1到第N个存储单元中的另一个存储单元,以便在由存储单元读装置中读出指令码期间写指令码,并将指令码写入被激活存储单元中。
根据本发明的第二个方面,本发明第一个方面的指令存储器电路进一步包括程序计数器、指令取指地址产生电路、第一选择器、第二选择器、第1至第N个输出切换器、第1至第N个输入切换器和第1至第N个地址选择器。程序计数器输出指令地址AP、为读取指令码而分别激活内部指令存储器中第1至第N个各存储单元的N个内部指令存储器读信号(RI1至RIN)、存储器选择信号(SM)和将外部指令存储器置为读模式的外部指令存储器读控制信号(RP)。指令取指地址产生电路输出指令取指地址(AW)、为写入指令码而分别激活内部指令存储器中第1至第N个各存储单元的N个指令写信号(W1至WN)和把外部指令存储器8置为读状态的外部指令存储器取指控制信号(R)。第一选择器按照指令取指地址产生电路提供的N个指令写信号(W1至WN),从指令取指地址(AW)和指令地址(AP)中作出选择,把选中地址输出到外部指令存储器作为外部指令地址(AE)。第二选择器按照程序计数器提供的存储器选择信号(SM)的控制,从由内部指令存储器读出的指令码(DI)和从外部指令存储器读出的指令码(DE)中作出选择,将选中的指令码(DS)输出到指令译码器。第1至第N个的各输出转换器按照N个内部指令存储器读信号(RI1至RIN)中相应的一个信号的控制,控制第1至第N个存储单元中相应的一个单元的指令码(DI)输出,RI1至RIN由程序计数器提供。第1至第N个的各输入转换器按照相应的N个指令写信号(W1至WN)中的一个信号的控制,控制第1至第N个存储单元中相应的一个单元的指令码(DE)的输入,W1至WN由指令取指地址产生电路提供。第1至第N个的各地址选择器按照指令取指地址产生电路提供的N个指令写信号(W1至WN)中一个信号的控制,从指令取指地址(AW)和指令地址(AP)中作出选择,并把选中地址提供给第1至第N个存储单元中的一个相应的单元作为内部指令地址(AI)。
根据本发明的第三个方面,第二个方面的第1至第N个的各输出转换器包括三态缓冲器,该三态缓冲器由N个内部指令存储器读信号(RI1至RIN)中的一个相应读信号激活。第1至第N个的各输入转换器包括三态缓冲器,该三态缓冲器由N个指令写信号(W1至WN)中的一个相应写信号激活。
根据本发明的第四个方面,第二个方面中的指令存储器电路进一步包括锁存已由外部指令存储器读出的指令码(DE)并将锁存的指令码(DL)输出给第二选择器的锁存器。
根据本发明的第五个方面,第二个方面中的指令存储器电路进一步包括一个逻辑电路,该逻辑电路在外部指令存储器读控制信号(RP)或外部指令存储器取指控制信号(R)有效时,输出信号(RE),将外部指令存储器置为读方式。
根据本发明的第六个方面,第二个方面中的指令存储器电路进一步包括指令取指控制寄存器,该寄存器包括指令码取指请求位、存储器单元标识位和指令取指地址位。指令码取指请求位存放一个数值,指示是否外部提供指令码写入请求,并把这个值提供给指令取指地址产生电路。存储单元标识位存放一个数值,指示被指定写入指令的存储单元,并把这个数值提供给指令取指地址产生电路。指令取指地址位存放一个数值,指示指令取指地址(AW),并把这个数值提供给指令取指地址产生电路。
与附图一起研究下列详细说明,本发明的目的和优点将更加显然。在附图中:
图1是说明常规指令存储器电路的框图;
图2是说明图1中常规指令存储器电路操作实例的时序图;
图3是说明根据本发明第一实施例的指令存储器电路的框图;
图4是说明图3中指令存储器电路操作实例的时序图;
图5是说明图3中指令存储器电路中的内部指令存储器里的存储器单元使用状态的示意图;
图6是说明根据本发明第二实施例的指令存储器电路的框图;
现在参照附图对本发明优选实施例进行详细描述。
图3是说明根据本发明第一实施例的指令存储器电路的框图。图3的指令存储器电路由DSP(数字信号处理器)10A和外部指令存储器8组成。DSP10A与图1中常规指令存储器电路的DSP10一样,包括选择器3、6和14,或门电路4,锁存器5,指令译码器7和三态缓冲器12和13。上述DSP10A部分基本与图1中常规指令存储器电路的DSP10相同。
图3的DSP10A进一步包括内部指令存储器101A,程序计数器1A,指令取指地址产生电路2A,三态缓冲器22、23、32、33、42和43,选择器24、34和44。内部指令存储器101A和外部指令存储器8由例如SRAM(静态随机存取存储器)来实现。
内部指令存储器101A具备有相同存储容量的存储单元11、21、31和41,来自程序计数器1A的内部指令存储器读信号RI1、RI2、RI3和RI4分别提供给指令存储单元11、21、31和41。加有内部指令存储器读信号RI1、RI2、RI3或RI4的存储单元11、21、31和41中的一个单元被激活以便读取指令码。来自选择器14、24、34和44的内部指令地址AI1、AI2、AI3和AI4分别提供给存储单元11、21、31和41。内部指令存储器101A从存储单元11、21、31和41(分别由内部指令存储器读信号RI1、RI2、RI3和RI4中的一个信号激活)中的一个单元(由内部指令地址AI1、AI2、AI3和AI4中的一个地址指定)读出指令码DI。
来自存指令取指地址产生电路2A的指令写信号W1、W2、W3和W4也分别提供给储单元11、21、31和41,加有指令写信号W1、W2、W3或W4的存储单元11、21、31和41中的一个存储单元被激活以便写入指令码。内部指令存储器101A把从外部指令存储器8读出的指令码DE存入存储单元11、21、31和41(由写信号W1、W2、W3和W4中的一个信号激活)中的一个单元(由内部指令地址AI1、AI2、AI3和AI4中的一个地址指定)。
程序计数器1A输出指令地址AP、内部指令存储器读信号RI1、RI2、RI3和RI4(也称为“内部指令存储器读信号RI”)、存储器选择信号SM和外部指令存储器读控制信号RP。
指令取指地址产生电路2A根据由外部提供的指令取指指令CW输出指令取指地址AW、指令写信号W1、W2、W3和W4(也称为“指令写信号W”)和外部指令存储器取指控制信号R。
选择器3按照指令写信号WE的控制,从指令取指地址AW和指令地址AP中作出选择,并把选中的地址输出给外部指令存储器8作为外部指令地址AE。这里,当一个或多个指令写信号W1、W2、W3和W4有效时,指令写信号WE变为有效。如果指令写信号WE有效,选择器3选择指令取指地址AW,如果指令写信号WE无效则选择指令地址AP。
或门电路在外部指令存储器读控制信号RP和外部指令存储器取指控制信号R之间产生逻辑或,从而输出外部指令存储器读信号RE。
锁存器5锁存从外部指令存储器8读出的指令码DE,并输出锁存的指令码DL。
选择器6按照存储器选择信号SM的控制,根据从内部指令存储器101A读出的指令码DI和外部指令存储器8的锁存指令码DL作出选择,并把选定的指令码DS输出给指令译码器7。
指令译码器7对选定的指令码DS进行译码并执行译码后的指令。
在DSP10A外部设置的外部指令存储器8按照外部指令存储器读信号RE的控制,从由外部指令地址AE指定的存储单元中读出指令码DE。
三态缓冲器12按照内部指令存储器读信号RI1的控制,来控制指令码DI的输出,指令码DI来自内部指令存储器101A中的存储单元11。
三态缓冲器13按照指令写信号W1的控制,控制指令码DE输入到内部指令存储器101A中的存储单元11。
选择器14按照指令写信号W1的控制,从指令取指地址AW和指令地址AP中作出选择,并把选定地址提供给内部指令存储器101A中的存储单元11作为内部指令地址AI1。
提供的三态缓冲器22、23和选择器24按照内部指令存储器读信号RI2和写信号W2的控制,控制内部指令存储器101A中的存储单元21的输入和输出,三态缓冲器22、23和选择器24的操作分别与三态缓冲器12、13和选择器14相同。
提供的三态缓冲器32、33和选择器34按照内部指令存储器读信号RI3和写信号W3的控制,控制内部指令存储器101A中的存储单元31的输入和输出,三态缓冲器32、33和选择器34的操作分别与三态缓冲器12、13和选择器14相同。
提供的三态缓冲器42、43和选择器44按照内部指令存储器读信号RI4和写信号W4的控制,控制内部指令存储器101A中的存储单元41的输入和输出,三态缓冲器42、43和选择器44的操作分别与三态缓冲器12、13和选择器14相同。
下面参考图3和图4来说明图3的指令存储器电路的操作。图4是说明图3的指令存储器电路操作实例的时序图。
首先说明从内部指令存储器101A中的存储单元中读取指令码的操作(即执行来自内部指令存储器101A中存储单元的指令)。在本实施例中,“从存储单元中读取指令码”的执行过程与图1的常规指令存储器电路中的“从内部指令存储器101中读取指令码”的执行过程相同。下面把从存储单元11读取指令码的操作作为例子进行说明。程序计数器1A激活内部指令存储器读信号RI1,从而将内部指令存储器101A中的存储单元11置为读方式,并且激活三态缓冲器12。同时,由于指令取指地址产生电路2A提供的指令写信号W1无效,选择器14选择指令地址AP,并把指令地址AP提供给存储单元11作为内部指令地址AI1。存储单元11将由内部指令地址AI1(指令地址AP)指定的指令码DI经已激活的三态缓冲器12输出给选择器6。选择器6按照指令选择信号SM的控制,选择指令码DI作为已选指令码DS,并把选择的指令码DS(指令码DI)提供给指令译码器7。指令译码器7将选择的指令码DS(指令码DI)进行译码并执行译码后的指令。
下一步说明将指令码写入内部指令存储器101A中的存储单元的操作。在本实施例中,“指令码写入存储单元”的执行过程与图1的常规指令存储器电路中的“指令码写入内部指令存储器101”的执行过程相同。下面,以指令码写入存储单元41的操作作为例子进行说明。指令取指地址产生电路2A根据外部提供的指令取指指令CW激活指令写信号W4,从而将存储单元41置为写方式并激活三态缓冲器43,指令取指地址产生电路2A还输出指令取指地址AW。由于指令写信号W4有效,选择器44从指令取指地址产生电路2A中选择指令取指地址AW,并把指令取指地址AW提供给存储单元41,作为内部指令地址AI4。同时,由于指令写信号WE有效,选择器3也选择指令取指地址AW,并把指令取指地址AW提供给外部指令存储器8作为外部指令地址AE。外部指令存储器8输出由外部指令地址AE(指令取指地址AW)指定的指令码DE。内部存储单元41经已激活的三态缓冲器43接收指令码DE,并把指令码DE存入(写入)与指令取指地址AW相应的DE的存储单元中。
上述的指令码写入内部指令存储器101A的存储单元的写操作能按照两种方式执行。例如:
第一种方法是对整个存储单元执行写入指令码操作。指令取指地址产生电路2A首先输出一个与存储单元起始地址(即最低位地址)相应的指令取指地址AW(例如十六进制的“XX000”)的初值,然后按预定数值顺序增加指令取指地址AW,直至写满整个存储单元。顺便说,当指令取指地址产生电路2A输出指令取指地址AW“XX000”时,存放在外部指令存储器8中地址“XX000”内的指令码DE被读出,并且指令码DE被存入存储单元地址“000”(例如指令取指地址的低三位)中,存储单元“000”由指令取指地址产生电路2A输出的写信号W1、W2、W3或W4指定(激活)。
第二种方法是对一个指令码执行写操作。指令取指地址产生电路2A输出一个指令取指地址AW(例如十六进制的“XX3D4”),因此存放在外部指令存储器8中地址“XX3D4”内的指令码DE被读出,而且指令码DE被存放在存储单元的地址“3D4”(例如指令取指地址AW的低三位)中,存储单元的地址“3D4”由指令写信号W1、W2、W3或W4指定(激活)。
下一步说明从外部指令存储器8读取指令码的操作(即执行来自外部指令存储器8的指令)。在本实施例中,“从外部指令存储器8读取指令码”与图1的常规指令存储器电路中的“从外部指令存储器8读取指令码”的执行过程基本相同。在“从外部指令存储器8读取指令码”的过程中,程序计数器1A输出的外部指令控制信号RP有效,而指令取指地址产生电路2A输出的外部指令存储器取指控制信号R无效。信号RP和信号R提供给或门电路4,或门电路4在外部指令存储器读控制信号RP和外部指令存储器取指控制信号R之间产生逻辑或,从而输出一个高电平的外部指令存储器读信号RE,高电平的外部指令存储器读信号RE将外部指令存储器8置为读状态。同时,由于指令写信号WE无效,选择器3选择来自程序计数器1A的指令地址AP作为外部指令地址AE(指令地址AP),并把为外部指令地址AE(指令地址AP)提供给外部指令存储器8。外部指令存储器8读出并且输出由指令地址AP指定的指令码DE,外部指令存储器8输出的指令码DE由锁存器5锁存。选择器6按照存储器选择信号SM的控制,选择锁存器5锁存的指令码DL作为选中的指令码DS,并将选中的指令码DS(锁存的指令码DL)提供给指令译码器7,指令译码器7对选中的指令码DS(指令码DE)进行译码并执行译码后的指令。
下一步举例说明“从内部指令存储器101A的存储单元11读取指令码”和“将指令码写入内部指令存储器101A的存储单元21”同步执行的过程。程序计数器1A激活与存储单元11相应的内部指令存储器读信号RI1,从而把存储单元11置为读方式并激活三态缓冲器12,同时指令取指产生电路2A根据外部提供的取指指令CW,激活与存储单元21相应的指令写信号W2,从而将存储单元21置为写方式并激活三态缓冲器23。
由于指令取指产生电路2A提供的指令写信号W1无效,选择器14选择指令地址AP,并将指令地址AP提供给存储单元11作为内部指令地址AI1,存储单元11把由内部指令地址AI1(指令地址AP)指定的指令码DI经过激活的三态缓冲器12输出给选择器6,选择器6按照存储器选择信号SM的控制,选择指令码DI作为选中的指令码DS,并将选中的指令码DS(指令码DI)提供给指令译码器7,译码器7对选中的指令码DS(指令码DI)进行译码并执行译码后的指令。
由于指令写信号W2有效,选择器24选择由指令取指产生电路2A提供的指令取指地址AW,将指令取指地址AW提供给存储单元21作为内部指令地址AI2。同时由于指令写信号WE有效,选择器3也选择指令取指地址AW,将指令取指地址AW提供给外部指令存储器8作为外部指令地址AE。外部指令存储器8输出由外部指令地址AE(指令取指地址AW)指定的指令码DE,存储单元21经过激活的三态缓冲器23接收指令码DE,并把指令码DE存入(写入)与指令取指地址AW相应的存储单元。
由于内部指令存储器读信号RI3和RI4、指令写信号W3和W4都无效,在上述“从内部指令存储器101A的存储单元11读取指令码”和“将指令码写入内部指令存储器101A的存储单元21”同步执行的过程中,存储单元31和41均无效。
只要存储单元MBX与存储单元MBY不同,对于以上的说明,“从存储单元MBX(MBX:11、21、31或41)读取指令码”和“指令码写入存储单元MBY(MBY:11、21、31或41)”的同步操作也同样被执行。
在本实施例中,与常规指令存储器电路相同,外部指令存储器电路8使用的时钟信号CKE的周期是内部指令存储器101A使用的时钟信号CKI的周期的两倍,因此,从外部指令存储器电路8读取指令码所花费的时间是从内部指令存储器101A的存储单元11、21、31或41读取指令码所花费时间的两倍。
如前所述,在图1的常规指令存储器电路中,同步执行“从内部指令存储器101读取指令码”(即执行从内部指令存储器101中读取的指令码DI)和“把指令码写入内部指令存储器101”是不可能的,然而,再参考图4,在本实施例的指令存储器电路中,“从存储单元11读取指令码(即执行从存储单元11读出的指令码)”和“将指令码写入存储单元21”能被同步执行。
图5说明内部指令存储器101A中存储单元11、21、31和41使用状态的示意图。例如参考图5,状态#1表示“从存储单元11读取指令码(即执行存储单元11的指令)”能够与“将指令码写入存储单元31”同步执行;状态#2表示“从存储单元21读取指令码(即执行存储单元21的指令)”能够与“将指令码写入存储单元31”同步执行;状态#3说明从从存储单元31读取指令码(即执行存储单元31的指令)”能够与“将指令码写入存储单元41”同步执行;状态#4说明“从存储单元11读取指令码(即执行存储单元11的指令)”能够与“将指令码写入存储单元41”被同步执行;图5所示状态#1至状态#4的顺序是内部指令存储器101A中存储单元的操作一个例子。在状态#1至状态#4中存储单元的总数是16个,有效的存储单元是8个,因此,内部指令存储器101A的功耗能比常规指令存储器电路中的内部指令存储器101的功耗降低50%,可概括地表示为:当内部指令存储器分为n(n:2、3、4···)个存储单元时,与常规指令存储器电路相比功耗降低2/n。
如上所述,在本发明第一实施例的指令存储器电路中,“从存储单元读取指令码(即执行从存储单元读出的指令码DI)”能够与“将指令码写入另一个存储单元”同步执行,因此,可以提高程序执行的效率和速度。
进一步说,只使用读写指令码所必需的有效存储单元而将其它存储单元置为无效能够降低功耗。
图6是说明本发明第二实施例的指令存储器电路框图。图6的指令存储器电路包括DSP(数字信号处理器)10B和外部指令存储器8。第二实施例的DSP10B除进一步包括一个指令取指控制寄存器9外,其余几乎与第一实施例的DSP10A相同。
指令取指控制寄存器9包括指令码取指请求位、存储单元指示位和指令取指地址位。指令码取指请求位存放的数值表示是否由外部提供了指令码写入请求,存储单元指示位存放的数值表示指定(选择)写入指令码的存储单元,指令取指地址位存放的数值表示指令取指地址AW。指令取指控制寄存器9的指令码取指请求位、存储单元指示位和指令取指地址位由外部提供的信号直接写入,其中存放的由指令取指地址产生电路2B提供的数值如图6中所示,作为指令取指控制信号SW。因此,第二实施例的指令取指地址产生电路2B的操作与第一实施例的指令取指地址产生电路2A相同。
如上所述,在本发明第二实施例的指令存储器电路中,内部指令存储器101A有多个可独立访问的存储单元,因此,“从存储单元读取指令码(即执行从存储单元读出指令码DI)”能够与“将指令码写入另一个存储单元”同步执行,从而内部指令存储器101A中的指令执行频率大大提高,并且有可能执行高速内部指令存储器101A中的每一个指令码,因此,可以实现高速、高效地执行指令。
进一步说,通过把内部指令存储器101A划分为小存储单元、将读写指令码所必需的存储单元激活而将其他存储单元置为无效,可降低功率消耗。
更进一步说,通过把内部指令存储器101A划分为存储单元,使它们有相同的存储容量,能够简化存储单元的地址分配和寻址,不需要复杂的地址译码器就能够实现存储单元的控制,因此能够避免芯片尺寸的增加。
尽管参考详细说明的实施例对本发明进行了描述,但那些实施例不作为对本发明的限制,只有附加的权利要求是对本发明的限制。例如,内部指令存储器的数量不限定为4个,并且该数量可适当地改变为任何大于1的值。可以理解,本领域的技术人员在不违反本发明精神和范围的情况下能对这些实施例作出各种改进和变化。
Claims (6)
1.一种指令存储器电路包括:
一个外部指令存储器,用于存放多个指令码;
一个内部指令存储器,包括第1至第N个可独立访问的存储单元,N为大于1的整数,它有将存入其中的指令码高速输出和改写的能力,用于存储预先从外部指令存储器读出的指令码,并且为执行指令输出该指令码;
存储单元读取装置,其为读取指令码激活第1至第N个存储单元中的一个存储单元,并从激活的存储单元中读取指令码;
存储单元写装置,其在由存储单元读取装置执行读取指令码期间,为写入指令码激活第1至第N个存储单元中的另一个存储单元,并将指令码写入被激活存储单元中。
2.权利要求1的指令存储器电路,进一步包括:
一个程序计数器,其输出指令地址(AP),为读取指令码而分别激活内部指令存储器中的第1至第N个存储单元中各个存储单元的N个内部指令存储器读信号(RI1至RIN),存储器选择信号(SM),和将外部指令存储器置为读状态的外部指令存储器读控制信号(RP);
一个指令取指地址产生电路,其输出指令取指地址(AW),为写入指令码而分别激活内部指令存储器中的第1至第N个存储单元中各个存储单元的N个指令写信号(W1至WN),和将外部指令存储器置为读状态的外部指令存储器取指控制信号(R);
第一选择器,其按照指令取指地址产生电路提供的N个指令写信号(W1至WN),从指令取指地址(AW)和指令地址(AP)中作出选择,并把选中地址输出给外部指令存储器作为外部指令地址(AE);
第二选择器,其按照程序计数器提供的存储器选择信号(SM)的控制,由从内部指令存储器读出的指令码(DI)和从外部指令存储器读出的指令码(DE)中作出选择,并把所选指令码(DS)输出给指令译码器;
第1至第N个输出切换装置,各输出切换装置按照所述程序计数器提供的N个内部指令存储器读信号(RI1至RIN)中一个相应的读信号的控制,来控制第1至第N个存储单元中相应的一个存储单元的指令码(DI)的输出;
第1至第N个输入切换装置,各输入切换装置按照所述指令取指地址产生电路提供的N个指令写信号(W1至WN)中一个相应的写信号的控制,来控制向第一至第N个存储单元中相应一个存储单元输入指令码(DE);及
第1至第N个地址选择器,各地址选择器按照所述指令取指地址产生电路提供的N个指令写信号(W1至WN)中一个相应的写信号的控制,从指令取指地址(AW)和指令地址(AP)中作出选择,并把所选地址提供给第1至第N个存储单元中的一个相应的单元作为内部指令地址(AI)。
3.权利要求2的指令存储器电路,其特征在于,第1至第N个输出切换装置中的各切换装置包括一个三态缓冲器,其被N个内部指令存储器读信号(RI1至RIN)中一个相应的读信号激活;第1至第N个输入切换装置中的各切换装置包括一个三态缓冲器,其被N个指令写信号(W1至WN)中一个相应的写信号激活。
4.权利要求2的指令存储器电路,进一步包括一个锁存器,其锁存从外部指令存储器读出的指令码(DE),并把锁存的指令码(DL)输出给所述第二选择器。
5.权利要求2的指令存储器电路,进一步包括一个逻辑电路,当外部指令存储器读控制信号(RP)或外部指令存储器取指控制信号(R)中的一个信号有效时,该电路输出一个信号(RE)将外部指令存储器置为读状态。
6.权利要求2的指令存储器电路,进一步包括指令取指控制寄存器,所述指令取指控制寄存器包括:
指令码取指请求位,该位存放的数值表示是否从外部提供了指令码的写请求,并且该指令码取指请求位把该数值提供给指令取指地址产生电路;
存储单元指示位,该位存放的数值表示为写指令码所指定的存储单元,并且所述存储单元指示位把该数值提供给所述指令取指地址产生电路;及
指令取指地址位,该位存放的数值表示指令取指地址(AW),并且所述指令取指位把该数值提供给所述指令取指地址产生电路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10507/98 | 1998-01-22 | ||
JP01050798A JP3349942B2 (ja) | 1998-01-22 | 1998-01-22 | 命令メモリ回路 |
JP10507/1998 | 1998-01-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1229946A CN1229946A (zh) | 1999-09-29 |
CN1132102C true CN1132102C (zh) | 2003-12-24 |
Family
ID=11752138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99100326A Expired - Fee Related CN1132102C (zh) | 1998-01-22 | 1999-01-21 | 指令存储器电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20010042155A1 (zh) |
JP (1) | JP3349942B2 (zh) |
KR (1) | KR100328329B1 (zh) |
CN (1) | CN1132102C (zh) |
TW (1) | TW446875B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100761831B1 (ko) * | 2005-07-07 | 2007-09-28 | 삼성전자주식회사 | 가변길이 명령어 인출을 위한 그래픽 처리장치 및 방법 |
US8327175B2 (en) * | 2005-07-07 | 2012-12-04 | Samsung Electronics Co., Ltd. | Data processing systems and methods of operating the same in which memory blocks are selectively activated in fetching program instructions |
CN100456211C (zh) * | 2007-03-19 | 2009-01-28 | 中国人民解放军国防科学技术大学 | 基于请求的低功耗指令存储器 |
JP6007674B2 (ja) * | 2012-08-27 | 2016-10-12 | 富士通株式会社 | 無線装置および無線信号処理方法 |
US9104532B2 (en) * | 2012-12-14 | 2015-08-11 | International Business Machines Corporation | Sequential location accesses in an active memory device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01162956A (ja) * | 1987-12-18 | 1989-06-27 | Nec Ic Microcomput Syst Ltd | 順序記憶回路 |
JPH10260894A (ja) * | 1997-03-17 | 1998-09-29 | Hitachi Ltd | メモリ内蔵型プロセッサ |
JPH113324A (ja) * | 1997-04-17 | 1999-01-06 | Matsushita Electric Ind Co Ltd | メモリ内蔵のデータ処理装置及び処理システム |
JPH11194973A (ja) * | 1997-11-06 | 1999-07-21 | Seiko Epson Corp | 画像情報処理装置、その制御方法および記録媒体 |
-
1998
- 1998-01-22 JP JP01050798A patent/JP3349942B2/ja not_active Expired - Fee Related
-
1999
- 1999-01-13 TW TW088100488A patent/TW446875B/zh not_active IP Right Cessation
- 1999-01-19 KR KR1019990001382A patent/KR100328329B1/ko not_active IP Right Cessation
- 1999-01-21 CN CN99100326A patent/CN1132102C/zh not_active Expired - Fee Related
- 1999-01-22 US US09/235,308 patent/US20010042155A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR19990067968A (ko) | 1999-08-25 |
JP3349942B2 (ja) | 2002-11-25 |
US20010042155A1 (en) | 2001-11-15 |
JPH11212863A (ja) | 1999-08-06 |
KR100328329B1 (ko) | 2002-03-12 |
CN1229946A (zh) | 1999-09-29 |
TW446875B (en) | 2001-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1197090C (zh) | 高速半导体存储器件 | |
CN1662993A (zh) | 用于流水线存储器的有效读取/写入方法 | |
CN1216141A (zh) | 能同时读程序写数据的程序和数据组合不挥发性存储器 | |
CN1196133C (zh) | 具有自更新控制电路的动态随机存取存储器 | |
US5806082A (en) | Wrap-around mechanism for memory split-wordline read | |
CN1180430A (zh) | 不按顺序执行读写指令的存储器控制器 | |
CN1311637C (zh) | 基于lut可重配置逻辑体系结构的配置存储器实现 | |
CN1294498C (zh) | 利用再参考指示符进行页面替换的方法和装置 | |
CN1409226A (zh) | 用于分段存取控制的控制装置 | |
CN1236386C (zh) | 存储器件及存储控制方法 | |
CN1132102C (zh) | 指令存储器电路 | |
JPH0748188B2 (ja) | メモリ装置 | |
CN1447242A (zh) | 可适用于快闪存储卡的控制装置及其建构方法 | |
CN1797378A (zh) | 采用直接存储器访问方式进行数据交换的方法 | |
US20020083266A1 (en) | Image data organization into pixel tile memory matrix | |
CN100350378C (zh) | 用于并行访问多个存储器模块的方法和设备 | |
US7203105B2 (en) | Semiconductor memory device, controller, and read/write control method thereof | |
CN1016652B (zh) | 能以直接变换方式和存贮体变换方式动作的情报处理装置 | |
CN1514973A (zh) | 用于多个读取请求的存储器控制 | |
CN1157735C (zh) | 数据读出电路,读出放大器及其操作方法 | |
CN1447243A (zh) | 快闪存储器中快速且能防止不正常断电的演算法及其控制*** | |
CN1220463A (zh) | 优先编码器及优先编码方法 | |
CN1148249A (zh) | 具有低功率消耗的同步半导体存贮装置 | |
CN1290018C (zh) | 交织/去交织方法及装置 | |
CN1306643A (zh) | 用各种数据处理器进行数据处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
ASS | Succession or assignment of patent right |
Owner name: NEC ELECTRONICS TAIWAN LTD. Free format text: FORMER OWNER: NIPPON ELECTRIC CO., LTD. Effective date: 20030328 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20030328 Address after: Kanagawa, Japan Applicant after: NEC Corp. Address before: Tokyo, Japan Applicant before: NEC Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |