CN1104678C - 数字信号处理芯片中的循环执行控制电路 - Google Patents

数字信号处理芯片中的循环执行控制电路 Download PDF

Info

Publication number
CN1104678C
CN1104678C CN98116736A CN98116736A CN1104678C CN 1104678 C CN1104678 C CN 1104678C CN 98116736 A CN98116736 A CN 98116736A CN 98116736 A CN98116736 A CN 98116736A CN 1104678 C CN1104678 C CN 1104678C
Authority
CN
China
Prior art keywords
signal
output
significant bit
loop
lsb
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
Application number
CN98116736A
Other languages
English (en)
Other versions
CN1221911A (zh
Inventor
姜相旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1221911A publication Critical patent/CN1221911A/zh
Application granted granted Critical
Publication of CN1104678C publication Critical patent/CN1104678C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

数字信号处理芯片中的循环执行控制电路,包括最低有效位状态检测单元,当在加载了循环执行数的计数寄存器中各位的状态检测结果除最低有效位之外的各位为0时,用于按最低有效位的状态和第一和第二信号的状态输出具有预定电平的有效信号;条件时钟输出单元,用于接收时钟信号和第一和第二信号,只在第一和第二信号有效时,输出时钟信号。因此,电路能防止循环执行数为0时产生的错误,减少实现整个算法的执行时间,并防止程序存贮器的消耗。

Description

数字信号处理芯片中的 循环执行控制电路
本发明涉及数字信号处理芯片,特别涉及,循环执行数为0时,能防止出现错误的数字信号处理芯片中的循环执行(Loop execution)控制电路,以缩短实现整个算法的执行时间,并减小程序存贮器的消耗。
数字信号处理芯片多用在需要进行大量算法计算的许多领域,即,音频编码译码器、消除回声等。在这些领域的算法中,很多部分用到循环(Loop)。这里是指执行固定次数的循环的情况,但在许多情况下,循环被重复不同的次数。大多数数字信号处理芯片把循环执行次数输入控制寄存器中,之后,指定部分由输入次数重复。而且,当循环被重复可变次数时,经常会出现循环执行数为0的输入情况。此时,用一个存在的数字信号处理芯片执行循环,之后因控制寄存器的值随意变化,由此,产生了错误,即,当循环执行数为0时,即,输入给控制寄存器的循环执行数为0时,常规的数字信号处理芯片产生错误。更具体地说,当循环执行数为0时,一旦执行循环,之后,控制寄存器具有其最大值,因此,产生错误。为了防止产生错误,在循环重复次数变化的情况下,常规的数字信号处理芯片必须总是执行检查循环执行数是否为0的例行程序。
为解决上述问题,本发明的目的是提供一种数字信号处理芯片中循环执行控制电路,它能防止循环执行数为0时产生错误,并能缩短实现整个算法时的执行时间,防止程序存贮器消耗。
而且,为实现上述目的,提供了一种数字信号处理芯片中的循环执行控制电路,包括:最低有效位状态检测单元,当在加载了循环执行数的计数寄存器中作为各位的状态检测结果表明除最低有效位之外的各位为0时,用于按最低有效位的状态和循环结束信号和比较器加载信号的状态输出具有预定电平的有效信号,对于所述循环结束信号,在当满足循环结束条件时,该循环结束信号变为有效,对于比较器加载信号,当循环的最终指令地址和下面要进行的指令地址加载到循环比较器上时,比较器加截信号变为有效,所述最低有效位状态检测单元进一步包括:多个相互串联连接的PMOS栅,其中每个栅分别在计数寄存器中连接到除最低有效位之外的其余各位的输出端口;第一“与”门,用于按计数寄存器中最低有效位的输出端口的输出和比较器加载信号进行“与”操作;第二“与”门,用于按计数寄存器中的最低有效位的输出端口的输出和循环结束信号进行“与”操作;一“或”门,用于按第一和第二“与”门的输出进行“或”操作;和串联连接到多个PMOS栅的PMOS栅,用于接收“或”门的输出和输出具有预定电平的有效信号;所述控制电路还包括:条件时钟输出单元,用于接收时钟信号和循环结束信号和比较器加载信号,并只当循环结束信号或比较器加载信号有效时,输出时钟信号;和结束条件信号输出单元,当从条件时钟输出单元输出的信号为有效时,用于输出最低有效位状态检测单元的输出信号。
条件时钟输出单元最好包括:第一“与”门用于按时钟信号和比较器加载信号进行“与”操作;第二“与”门,用于按时钟信号和循环结束信号进行“与”操作;“或”门,按第一和第二“与”门的输出进行“或”操作。
结束条件信号输出单元最好是“与”门,用于按条件时钟输出单元的输出信号和最低有效位状态检测单元的输出信号进行“与”操作。
通过结合附图对最佳实施例的详细说明,本发明的上述目的和优点将显而易见。
图1是程序执行顺序控制电路的方框图,它采用了本发明的数字信号处理芯片中的循环执行控制电路;
图2是执行循环的处理流程图;
图3是本发明的数字信号处理芯片中的循环执行控制电路。
图1所示的程序执行顺序控制电路中,数据存贮器数据总线是路径,沿该路径能通过各种数据。计数寄存器单元10包括加载了循环执行数的计数寄存器和本发明的循环执行控制电路,并输出条件结束信号CE。计数栈(counter stack)14是一个寄存器,需要时,它存贮计数寄存器单元10的计数寄存器的值。多路复用器12多路复用计数栈14的输出和数据存贮器数据总线的数据。循环栈16是一个寄存器,它存贮有最终执行指令的地址,和暂停循环的结束条件。循环比较器19比较每个时钟中有循环最终指令的地址与程序序列器(未示出)产生的下一个地址。条件逻辑18考虑从计数寄存器单元10输出的结束条件信号CE和工作状态,并影响地址发生器。
图2是说明处理的流程图,用该流程执行图1所示程序执行顺序控制电路中的循环。以下将参见图2说明循环执行处理。
假设在完成任意指令之后,开始目前的处理之前,执行循环,和进行下一个指令所需的每个值都存在于栈中。
步骤20中,实际循环执行之前,在计数寄存器单元10的计数寄存器中加载了要求的重复频率N。这里N是循环执行数。步骤22中,具有存贮于循环栈(loop stack)16中的最终指令的地址和随后要执行的指令的地址被加到循环比较器19中。在步骤22中,图3所示的本发明的循环执行控制电路自动检测计数寄存器的值看其是否为0。步骤24中,执行指定的地址指令,步骤26中,检测循环的最终指令看其是否执行。如果在步骤26中确定没有执行最终指令,处理过程再回到步骤24,继续执行指令。如果步骤26中确定已经执行最终指令,则在步骤28中逐一减小计数寄存器的值。步骤29中,检测计数寄存器的值是否为0,当检测结果为0时,循环结束,反之,处理过程返回到步骤24,执行循环的第一指令。
图3所示为本发明的数字信号处理芯片中的循环执行控制电路,包括一个最低有效位状态检测单元70,一个条件时钟输出单元72和一个结束条件信号输出单元。按照最低有效位的状态和循环结束信号(LAST_LOOPSIGNAL)状态,和比较器加载信号LOAD_TO_CDMPARATOR SIGNAL状态,当经锁存器30,从数据存贮器数据总线加载了循环执行数的计数寄存器32中的每一位状态检测结果表明,除最低有效位之外,每一位状态检测结果为0时,最低有效位状态检测单元70输出具有预定电平的有效信号。条件时钟输出单元72接收时钟信号、循环结束信号LAST_LOOP SIGNAL和比较器加载信号LOAD_TO_COMAPRATOR SIGNAL并只有当循环结束信号LAST_LOOP SIGNAL或比较器加载信号LOAD_TO_COMPARATORSIGNAL有效时,输出时钟信号。结束条件信号输出单元60是一个“与”门,当条件时钟输出单元72的输出信号有效时,该单元60输出最低有效位状态检测单元70的输出信号。
只当满足图2中步骤29中的循环结束条件时,循环结束信号LAST_LOOP SIGNAL变为一。只有在图2所示的步骤22中循环的最后指令地址和随后要执行的指令地址加到循环比较器上时,比较器加载信号LOAD_TO_COMPARATOR SIGNAL才变成一。
最低有效位状态检测单元70包括多个PMOS栅极42,44,46和48,第一“与”门38,第二“与”门36,第一“或”门40和PMOS栅极50。PMOS栅分别接到除计数寄存器32的最低有效位之外的各位的输出端口,并相互串联连接。第一“与”门38按计数寄存器32中最低有效位的输出部分的输出和比较器加载信号LOAD_TO_COMPARATOR SIGNAL进行“与”操作。第二“与”门36根据计数寄存器32中最低有效位的输出部分的输出和循环结束信号LAST_LOOP_SIGNAL进行“与”操作。第一“或”门40根据第一和第二“与”门38和36的输出进行“或”操作。PMOS栅50串联连接到PMOS栅48,并接收第一“或”门40的输出和输出具有预定电平的有效信号。在PMOS栅50与地之间NMOS栅52中的栅和源连接。这里,NMOS栅52总是处于截止态,但是当漏加上过电压时,允许过电压流入地。
而且,条件时钟输出单元72包括按时钟信号和比较器加载信号LOAD_TO_COMPARATOR SIGNAL进行“与”操作的第三“与”门36,和按时钟信号和循环结束信号LAST_TOOP_SIGNAL进行“与”操作的第四“与”门54,和按第三和第四“与”门56和54的输出进行“或”操作的第二“或”门58。
具有这种结构的本发明的数字信号处理芯片中的循环执行控制电路当计数寄存器32的值为0时不执行循环,不产生错误,通常执行下面的指令。当计数寄存器32的值为N时(N是等于或大于1的整数),电路产生结束条件信号CONDITION_END(CE),用于帮助循环执行N次。
为说明图3所示电路的工作,假设每个状态是在图2的步骤20中。当产生时钟时,循环执行数经锁存器30从数据存贮器数据总线加到计数寄存器32中。本实施例中,假设计数寄存器32中的位数是5。首先,假设输入计数寄存器38的值是大于0的正数,即,N,如果计数寄存器32中除最低有效位之外,其余4位中的任何一位为1,则PMOS晶体管42,44,46和48中的一个变成截止态。因此,线1变成0。而且与任何其它信号无关,结束条件信号CONDITION_END变成0。因此,当计数寄存器32的值不是0或1时,结束条件信号CONDITION_END变成0。
当图2中计数寄存器32的值是1时,在步骤24中执行指令,之后,在步骤28中,其值从1变为0,循环结束信号LAST_LOOP SIGNAL变为1。因此,第二“与”门36的输出是0。而且,  由于比较器加载信号LOAD_TO_COMPARATON SIGNAL是0,第一“或”门40的输出变为0。PMOS晶体管50导通,因此,线1变为1。当时钟状态为1时,第四“与”门54也输出1,因此,第二“或”门58输出1。最后,结束条件信号CONDITION_END(CE)变为1。此外,该结束条件信号CONDITION_END_(CE)输入到图1的条件逻辑18中,作为结束循环的指令。之后,执行下面的指令。
而且,在步骤20中,如果给计数寄存器32输入0,则在步骤22中,比较器加载信号LOAD_TO_COMPARATION SIGNAL变成1,第一“与”门38输出0。第一“或”门40输出0。而且,PMOS晶体管50导通,因此,线1变为1。而且,当时钟状态为1时,第三“与”门56输出1,第二“或”门58输出1。最后,结束条件信号CONDITION_END(CE)变为1。而且,该结束条件信号CONDITION_END(CE)输入图1的条件逻辑18,作为结束循环指令。之后,执行下面的指令而不执行循环。
如上所述,本发明的数字信号处理芯片中的循环执行控制电路能防止循环执行数为0时会产生的错误,能在实现整个算法时减少执行时间,并防止程序存贮器的消耗。

Claims (3)

1.一种数字信号处理芯片中的循环执行控制电路,其特征是,包括:
最低有效位状态检测单元,当在加载了循环执行数的计数寄存器中作为各位的状态检测结果表明除最低有效位之外的各位为0时,用于按最低有效位的状态和循环结束信号和比较器加载信号的状态输出具有预定电平的有效信号,对于所述循环结束信号,在当满足循环结束条件时,该循环结束信号变为有效,对于比较器加载信号,当循环的最终指令地址和下面要进行的指令地址加载到循环比较器上时,比较器加截信号变为有效,所述最低有效位状态检测单元进一步包括:
    多个相互串联连接的PMOS栅,其中每个栅分别在计数寄存器中
连接到除最低有效位之外的其余各位的输出端口;
    第一“与”门,用于按计数寄存器中最低有效位的输出端口的输出
和比较器加载信号进行“与”操作;
    第二“与”门,用于按计数寄存器中的最低有效位的输出端口的输
出和循环结束信号进行“与”操作;
    一“或”门,用于按第一和第二“与”门的输出进行“或”操作;
    串联连接到多个PMOS栅的PMOS栅,用于接收“或”门的输出
和输出具有预定电平的有效信号;
所述控制电路还包括:
条件时钟输出单元,用于接收时钟信号和循环结束信号和比较器加载信号,并只当循环结束信号或比较器加载信号有效时,输出时钟信号;和
结束条件信号输出单元,当从条件时钟输出单元输出的信号为有效时,用于输出最低有效位状态检测单元的输出信号。
2.按照权利要求1的数字信号处理芯片中的循环执行控制电路,其特征是,条件时钟输出单元包括:
第一“与”门,用于按时钟信号和比较器加载信号进行“与”操作:
第二“与”门,用于按时钟信号和循环结束信号进行“与”操作;和
一“或”门,用于按第一和第二“与”门的输出进行“或”操作。
3.按照权利要求1的数字信号处理芯片中的循环执行控制电路,其特征是,结束条件信号输出单元是“与”门,用于按条件时钟输出单元的输出信号和最低有效位状态检测单元的输出信号进行“与”操作。
CN98116736A 1997-12-29 1998-07-30 数字信号处理芯片中的循环执行控制电路 Expired - Fee Related CN1104678C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR76387/97 1997-12-29
KR76387/1997 1997-12-29
KR1019970076387A KR100252136B1 (ko) 1997-12-29 1997-12-29 디지털 신호 처리 칩에서의 반복 구문 실행 제어회로

Publications (2)

Publication Number Publication Date
CN1221911A CN1221911A (zh) 1999-07-07
CN1104678C true CN1104678C (zh) 2003-04-02

Family

ID=19529242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98116736A Expired - Fee Related CN1104678C (zh) 1997-12-29 1998-07-30 数字信号处理芯片中的循环执行控制电路

Country Status (4)

Country Link
US (1) US6223282B1 (zh)
JP (1) JPH11203132A (zh)
KR (1) KR100252136B1 (zh)
CN (1) CN1104678C (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411152B1 (en) 2001-09-24 2002-06-25 Broadcom Corporation Conditional clock buffer circuit
US6971038B2 (en) * 2002-02-01 2005-11-29 Broadcom Corporation Clock gating of sub-circuits within a processor execution unit responsive to instruction latency counter within processor issue circuit
US6686775B2 (en) * 2002-04-22 2004-02-03 Broadcom Corp Dynamic scan circuitry for B-phase
US6950973B2 (en) * 2002-04-22 2005-09-27 Broadcom Corporation Dynamic scan circuitry for A-phase
US6925590B2 (en) * 2002-04-22 2005-08-02 Broadcom Corporation Scan interface
US6639443B1 (en) 2002-04-22 2003-10-28 Broadcom Corporation Conditional clock buffer circuit
US7210051B2 (en) * 2003-11-07 2007-04-24 Via Technologies, Inc. Of Taiwan System and method for handling state change conditions by a program status register
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7913069B2 (en) * 2006-02-16 2011-03-22 Vns Portfolio Llc Processor and method for executing a program loop within an instruction word
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7779372B2 (en) * 2007-01-26 2010-08-17 Apple Inc. Clock gater with test features and low setup time
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
JP6455168B2 (ja) * 2015-01-16 2019-01-23 株式会社デンソー メモリ装置システム
CN111258634B (zh) * 2018-11-30 2022-11-22 上海寒武纪信息科技有限公司 数据选择装置、数据处理方法、芯片及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6049938B2 (ja) 1977-05-20 1985-11-06 株式会社日立製作所 マイクロプログラムル−プ制御装置
JPS5549753A (en) 1978-10-06 1980-04-10 Nec Corp Microprogram control unit
JPS6022787B2 (ja) 1979-11-09 1985-06-04 富士通株式会社 命令制御方式
JPS58127245A (ja) 1982-01-26 1983-07-29 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
JPS60198640A (ja) 1984-03-21 1985-10-08 Nec Corp パイプライン型情報処理装置
US5001712A (en) * 1988-10-17 1991-03-19 Unisys Corporation Diagnostic error injection for a synchronous bus system
JPH02306338A (ja) 1989-02-03 1990-12-19 Nec Corp マイクロプログラム制御装置
JPH0353324A (ja) 1989-07-21 1991-03-07 Nec Corp プログラムループ制御方式
JPH03201131A (ja) 1989-12-28 1991-09-03 Toshiba Corp ループ命令処理方式
JPH04333929A (ja) 1991-05-10 1992-11-20 Toshiba Corp キャッシュメモリ制御方式
JPH06161742A (ja) 1992-11-27 1994-06-10 Matsushita Electric Ind Co Ltd 演算装置
JPH06242946A (ja) 1993-02-19 1994-09-02 Nec Corp 分岐制御装置
JPH07253922A (ja) * 1994-03-14 1995-10-03 Texas Instr Japan Ltd アドレス生成回路
US5473557A (en) * 1994-06-09 1995-12-05 Motorola, Inc. Complex arithmetic processor and method
US5727194A (en) * 1995-06-07 1998-03-10 Hitachi America, Ltd. Repeat-bit based, compact system and method for implementing zero-overhead loops
KR100417398B1 (ko) * 1996-09-11 2004-04-03 엘지전자 주식회사 디에스피의명령어블록반복처리방법
US6003128A (en) * 1997-05-01 1999-12-14 Advanced Micro Devices, Inc. Number of pipeline stages and loop length related counter differential based end-loop prediction
US5898865A (en) * 1997-06-12 1999-04-27 Advanced Micro Devices, Inc. Apparatus and method for predicting an end of loop for string instructions

Also Published As

Publication number Publication date
JPH11203132A (ja) 1999-07-30
CN1221911A (zh) 1999-07-07
KR19990056392A (ko) 1999-07-15
KR100252136B1 (ko) 2000-04-15
US6223282B1 (en) 2001-04-24

Similar Documents

Publication Publication Date Title
CN1104678C (zh) 数字信号处理芯片中的循环执行控制电路
US7047179B2 (en) Clustered processors in an emulation engine
US7478222B2 (en) Programmable pipeline array
EP0096176B1 (en) Method of logic simulation and logic simulation machine
US7348799B2 (en) System and method for generating a trigger signal
EP0632370B1 (en) A hardware arrangement of expanding data processing time in the pipeline stages of a microcomputer system and a method thereof
US5553309A (en) Device for high speed evaluation of logical expressions and high speed vector operations
Moon et al. Border-block triangular form and conjunction schedule in image computation
US5608867A (en) Debugging system using virtual storage means, a normal bus cycle and a debugging bus cycle
WO1994008399A1 (en) Arrangement for parallel programming of in-system programmable ic logic devices
US20030126308A1 (en) Method for processing events having hierarchical structure in communication equipment
US20060156102A1 (en) System and method to control data capture
US20050166116A1 (en) Method and apparatus for encoding and generating transaction-based stimulus for simulation of VLSI circuits
US6370638B1 (en) Apparatus and method of computer program control in computer systems using pipeline processing
US5428756A (en) Pipelined computer with control of instruction advance
US4001789A (en) Microprocessor boolean processor
Baier et al. ProbMela and verification of Markov decision processes
US6785799B1 (en) Multiprocessor with asynchronous pipeline processing of instructions, and control method thereof
Moran et al. A lower bound on wait-free counting
Kovalyov A polynomial algorithm to compute the concurrency relation of a regular STG
EP0364565B1 (en) Synchronous logic circuit with transfer signal control
US7089538B1 (en) High speed software driven emulator comprised of a plurality of emulation processors with a method to allow memory read/writes without interrupting the emulation
DE102023121153A1 (de) Prozessor und compiler
US7275224B2 (en) Method for providing an area optimized binary orthogonality checker
Favela Hybrid automata models in continuous-linear hybrid systems analysis

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030402

Termination date: 20150730

EXPY Termination of patent right or utility model