Hi Folks,
I am looking for help to calculate the Speed of Micro controllers.
I have studied AT89C51
Where they have shown 1 Machine cycle=12/Oscillator Frequency
Oscillator they have chosen is 11.0596MHZ, so calculated 1 Machine cycle=1.085uS
Now question is 12 (Number is denominator) from where it came?
Can anyone help to understand.. how to calculate the speed of Micro controllers (Arm,Pic)?
Inside microcontroller there is a control unit responsible for fetching instructions from program memory, and executing them. This part is in essence a state machine comprised of several phases, each one taking one clock cycle. The fetching cycle is the same for all instructions, but execution cycle depends on the complexity of the task to be accomplished. Since 51 archicteture is not RISC, it is why you have a larger amount of cycles required for each instruction.
the only place i see anything like what you describe is on page 14 of the data sheet,
where is says the variable oscillator minimum period is 12 tclcc, (serial port timing section),
where tclclc is the oscillator period (page 13, external clock drive section)
you might want to take a look at the long data sheet
What speed, instructions per second ? Each test pattern make use of different instructions; AFAIK for the 51 archicteture the biggest instruction take 2 machine cycles, so you can estimate something greater than 1 and smaller than 2 machine cycles.