Breakpoint, uC, and RAM vs. ROM @ speed

Thread Starter

dor

Joined Feb 20, 2009
63
Some questions:

  1. Do a micro-controller counters keeps running when the machine encounters a breakpoint?
    Assume that they were activated before reaching the breakpoint.
  2. I'm using a uC that has an ARM7TDMI processor within.
    I read that in ARM mode, each ASM command supports 3 operands per command, and in Thumb mode each ASM command supports 2 operands.
    How could it be that each and every command supports the same amount of operands? Why should NOP support 2/3 operands?
  3. It's known that RAM is faster than ROM.
    But I read somewhere (I think in HowStuffWork) that ROM is faster than RAM. Is it really possible under some condition(s)?
    Or a ROM-type memory could never be as fast as RAM?
    Sorry but I can't find this article where I've read it. Maybe I remember it wrong.
Thank you.

Regards,
Dor.
 
Last edited:

rjenkins

Joined Nov 6, 2005
1,013
I don't know that MPU so this is generic..

Breakpoint - using a hardware debug system, it could stop and the debug hardware read the registers. More likely, it's a software debugger so the breakpoint stops the user program and passes control to the debug interface.

I'd guess that each binary instruction (eg word length) is large enough to hold addressing & register IDs for that number of operands.

Different memory technologies have different and steadily increasing speeds in both ROM and RAM. It very much depends on the exact type and construction (eg. EPROM, EEPROM, FLASH or Mask ROM.)

Within a microcontroller that includes both RAM & ROM, the two types are probably designed for the same speed as the access time requirements for both are down to the frequency the chip is running at.

From a program writing perspective, RAM may be far faster in some devices purely because it can be accessed directly from the user program, where accessing the flash rom program memory for data storage requires the use indirect register operations.
 

Thread Starter

dor

Joined Feb 20, 2009
63
Thank you!
Breakpoint - using a hardware debug system, it could stop and the debug hardware read the registers. More likely, it's a software debugger so the breakpoint stops the user program and passes control to the debug interface.
I mislead you to think about variables which act as counters.
But I meant to the MPU's counters, like built-in RTT function that increments the MPU's RTT register each second.
 

rjenkins

Joined Nov 6, 2005
1,013
Again that depends on the chip and debug system.

The ones I've used generally have to option to either continue or suspend the various background features in the device.
 
Top