Hello,
I am trying to implement a micro DSP with only 8 instruction
set. Can you help me with what should be the bare minimum set
required which will cater to most of the applications? FIR, IIR,
interpolation, decimation.
Forget about FFT for time being, as I am implementing a simple
MAC. Maybe even adaptive filtering could be skipped to begin
with.
Also is NOP instruction useful? What should the engine do when
NOP instruction comes? Do I need to hold on to the accumulator
value (keep recirculating the same?).
Regards
Bharat
micro DSP with only 8 instructions.
Started by ●February 9, 2011
Reply by ●February 9, 20112011-02-09
bharat pathak <bharat@n_o_s_p_a_m.arithos.com> wrote:> I am trying to implement a micro DSP with only 8 instruction > set. Can you help me with what should be the bare minimum set > required which will cater to most of the applications? FIR, IIR, > interpolation, decimation.I believe Knuth has a suggestion for a two instruction machine as a possible minimum. Eight should be plenty. I would look at the PDP-8 as an example of a minimal instruction set. -- glen
Reply by ●February 9, 20112011-02-09
"glen herrmannsfeldt" wrote in message news:iivhj2$922$4@news.eternal-september.org... bharat pathak <bharat@n_o_s_p_a_m.arithos.com> wrote:> I am trying to implement a micro DSP with only 8 instruction > set. Can you help me with what should be the bare minimum set > required which will cater to most of the applications? FIR, IIR, > interpolation, decimation.I believe Knuth has a suggestion for a two instruction machine as a possible minimum. Eight should be plenty. I would look at the PDP-8 as an example of a minimal instruction set. -- glen One instruction is sufficient for universal computation see http://en.wikipedia.org/wiki/One_instruction_set_computer however, for a DSP it's more a question of what set of operations allows you to implement some set of algorithms such as FIR efficiently Best wishes, --Phil Martel
Reply by ●February 9, 20112011-02-09
On Feb 9, 8:41�pm, "Phil Martel" <pomar...@comcast.net> wrote:> > One instruction is sufficient for universal computation see >http://en.wikipedia.org/wiki/One_instruction_set_computer >however, for a DSP > it's more a question of what set of operations allows you to implement some > set of algorithms such as FIR efficiently.It's like the result in Boolean algebra that any logic function can be synthesized using only two-input NAND gates (or only two-input NOR gates) but having more types of gates available allows for more efficient implementations. That being said, my favorite one-instruction computer has only the machine instruction DWIM: Do What I Mean --Dilip Sarwate
Reply by ●February 10, 20112011-02-10
If you have no other constraints, why not make the instructions FIR, IIR, interpolation and decimation leaving four opcodes for other functions? Do you have any other constraints? Rick
Reply by ●February 10, 20112011-02-10
On 10/02/2011 02:21, bharat pathak wrote:> Hello, > > I am trying to implement a micro DSP with only 8 instruction > set. Can you help me with what should be the bare minimum set > required which will cater to most of the applications? FIR, IIR, > interpolation, decimation. > > Forget about FFT for time being, as I am implementing a simple > MAC. Maybe even adaptive filtering could be skipped to begin > with. > > Also is NOP instruction useful? What should the engine do when > NOP instruction comes? Do I need to hold on to the accumulator > value (keep recirculating the same?). >NOPs are always useful for timing, and they can make your implementation easier if you have pipelined instructions. They are easily synthesised with other instructions that you might already have, such as ADD #0, AND #0xFF, etc., or a relative jump to the following instruction.
Reply by ●February 10, 20112011-02-10
"dvsarwate" <dvsarwate@yahoo.com> wrote in message news:1357e75d-1ea5-4437-a136-a13e6be46ad0@v31g2000vbs.googlegroups.com...> That being said, my favorite one-instruction > computer has only the machine instruction > DWIM: Do What I MeanAnother instruction that helps with debugging (although no in a single instruction CPU) is .. If X should have been 3, then don't come from Y.
Reply by ●February 10, 20112011-02-10
I was once "accused" of padding a double-precision-add routine with ADD #0. The astute accuser removed it and the routine passed his tests. The command was actually add-with-carry, and his tests didn't reach a case with Carry set. Jerry
Reply by ●February 10, 20112011-02-10
Thanks David and all, Finally my code is ready and working. I realized the importance of NOP instruction primarily as I was using single port data RAM. Regards Bharat
Reply by ●February 10, 20112011-02-10






