Abstract:
PROBLEM TO BE SOLVED: To debug a core processor in association with a multi-threaded digital signal processor.SOLUTION: Writing a stuffing instruction in a debugging process registry and writing a stuffing command in a debugging process command register identify a predetermined thread of the multi-threaded digital signal processor to execute the stuffing instruction. An instruction stuffing process issues a debugging process control resume command during a predetermined execution stage on the predetermined thread, and instructs the core processor to execute the stuffing instruction during the debugging process. Here, the core processor is capable of executing the stuffed instruction in association with the core processor process and the debugging process.
Abstract:
PROBLEM TO BE SOLVED: To control debugging operation during digital signal processor power transitions.SOLUTION: When a warm boot power-down sequence 220 begins, at point 228, a power collapse interrupt occurs, causing a kernel shutdown handler to operate. In response, the power collapse interrupt is disabled (230). At point 232, the ISDB_CORE_READY register reads 0 and the JTAG read/write returns an invalid status. If an ISDB configuration change is in progress, a core processor causes the power-down sequence to be canceled. If the configuration is not in progress, then the power-down sequence 220 saves the ISDB configuration register contents to memory. A warm boot flag marker is set. Then, the power-down sequence stops all threads and DSP is powered down.
Abstract:
PROBLEM TO BE SOLVED: To capture detailed information on an execution flow of a DSP in real time in a non-intrusive manner.SOLUTION: An ETM 232 monitors a DSP pipeline. Using this information, the ETM performs filtering/triggering and compression/packetization. The filtering and triggering operations are programmed by a user through a JTAG interface 84. DSP execution information is received by a compression/packetization unit 236, sent out of the ETM through a trace port, and fed into an off-chip or on-chip trace repository 240. A decompressor component 246 is a software component running on an ISDB 82, and takes a packet stream from the trace repository and, along with a program image, reconstructs an execution flow of the DSP, giving the user detailed visibility of the DSP pipeline.
Abstract:
PROBLEM TO BE SOLVED: To provide non-intrusive debugging to real-time behavior in a multi-threaded DSP.SOLUTION: An ISDB is enabled (132) for DSP operation. If a hardware breakpoint 134, a software breakpoint 136, an ETM breakpoint 140, a JTAG breakpoint 142, or an external breakpoint 144 exists, the process proceeds to debugging operation 138. ISTEP debugging 150 is performed if the ISTEP debugging is effective. Instruction stuffing operation 154 is performed if the instruction stuffing operation is effective. If a core DSP reset instruction has been generated by the debugging operation, a core DSP digital signal processor is reset (156).
Abstract:
Un circuito electrónico (200) para realizar selectivamente varias operaciones independientes de multiplicación acumulación en un solo ciclo de reloj o una operación de adición de dos productos en un solo ciclo de reloj, el circuito electrónico (200) comprende: un archivo de registro (202) que tiene una primera y una segunda entrada (PI1, PI2) y en primera instancia a través de seis salidas (PO1 a PO6); un primer multiplicador (206) que recibe la segunda y la tercera salida (PO2, PO3) del archivo de registro (202) y que tiene una salida; y un segundo multiplicador (208) que recibe la cuarta y la quinta salida (PO4, PO5) del archivo de registro (202) y que tiene una salida; un primer conmutador (204) que recibe la primera salida (PO1) del archivo de registro (202); un segundo conmutador (210) que recibe la salida del primer multiplicador (206) y que tiene una salida; un tercer conmutador (212) que recibe la salida del segundo multiplicador (208) y que tiene una salida; un multiplexor de redondeo (214) que recibe la salida del primer conmutador (204) y que tiene una salida; una primera sumadora (216) que recibe, en una primera entrada, la salida del segundo conmutador (210) y que tiene una salida; un multiplexor (218) configurado para proporcionar, de acuerdo con la operación seleccionada, un cero o la salida del tercer conmutador (212) y que aplica una salida a una segunda entrada de la primera sumadora (216); una segunda sumadora (220) que recibe las salidas del multiplexor de redondeo (214) y la primera sumadora (216), y que tiene una salida que se realimenta a la primera entrada del archivo de registro (202); y una tercera sumadora (222) que recibe las salidas del tercer conmutador (212) y la sexta salida del registro (PO6), y que tiene una salida que se realimenta a la segunda entrada (PI2) del archivo de registro (202).
Abstract:
DSP architectures having improved performance are described. In an exemplary architecture, a DSP includes two MAC units and two ALUs, where one of the ALUs replaces an adder for one of the two MAC units. This DSP may be configured to operate in a dual-MAC/single-ALU configuration, a single-MAC/dual-ALU configuration, or a dual-MAC/dual-ALU configuration. This flexibility allows the DSP to handle various types of signal processing operations and improves utilization of the available hardware. The DSP architectures further includes pipeline registers that break up critical paths and allow operations at a higher clock speed for greater throughput.
Abstract:
Two multiply-accumulate units are coupled together so that the computation (B*C)+(D*E) can be completed in one cycle. An adder (216) adds together the products of the two multipliers (206), (208). The sum is applied to the first accumulator (220). Preferably, the second product is also applied to the second accumulator (222), and a multiplexer (218) applies either a zero or the second product to the adder (216). If two unrelated computations are to be executed simultaneously, then the zero is applied, and the output of the second accumulator is fed back to the register file (PI2). If a single (B*C)+(D*E) computation is to be executed, then the second product is applied to the adder, and the output of the second accumulator is disregarded.
Abstract:
Two multiply-accumulate units are coupled together so that the computation (B*C)+(D*E) can be completed in one cycle. An adder (216) adds together the products of the two multipliers (206), (208). The sum is applied to the first accumulator (220). Preferably, the second product is also applied to the second accumulator (222), and a multiplexer (218) applies either a zero or the second product to the adder (216). If two unrelated computations are to be executed simultaneously, then the zero is applied, and the output of the second accumulator is fed back to the register file (PI2). If a single (B*C) + (D*E) computation is to be executed, then the second product is applied to the adder, and the output of the second accumulator is disregarded.
Abstract:
Two multiply-accumulate units are coupled together so that the computation (B*C)+(D*E) can be completed in one cycle. An adder (216) adds together the products of the two multipliers (206), (208). The sum is applied to the first accumulator (220). Preferably, the second product is also applied to the second accumulator (222), and a multiplexer (218) applies either a zero or the second product to the adder (216). If two unrelated computations are to be executed simultaneously, then the zero is applied, and the output of the second accumulator is fed back to the register file (PI2). If a single (B*C)+(D*E) computation is to be executed, then the second product is applied to the adder, and the output of the second accumulator is disregarded.