Hello. I need to design a system, that contains an MCU, a little extended RAM, an LCD, a touchpad, and a slot for removable ROM (like in NES/SNES/SEGA systems). So far what I designed in block diagrams, has three busses (bidirectional data bus, address bus, and chip select for the extended devices). I need to decide what MCU to use . It should be 32-bit. I would like it to have instruction set, that is very similar to x86. But that's not critical.
I will make a simple x86 interpretator for it, as the removable ROM will have "executable" code in it, as well as data (graphics).
So far I have found only ARM7TDMI

Thanks in advance.
Posted on 2003-10-09 11:34:43 by Ultrano
The ARM7TDMI is a true RISC processor. There are some differences with the x86 cpus:

- 15 registers (including the stack and instruction pointer)
- all instructions have the same size (32 bit in ARM mode, 16 bit in Thumb mode)
- in ARM mode, all instructions can be conditionnally executed (great for optimization)
- only load and store can operate on memory (no add reg, mem for example)
- you cannot encode all 32 bit immediate in a instruction

It would be more efficient to write in ARM assembly directly. It's very easy to learn when you already know the x86 instruction (most arithmetic instructions are the same).
Posted on 2003-10-09 16:38:02 by Dr. Manhattan
Thanks for the info, Dr. Manhattan :)
I think I'll "use" this mcu. Cool that I needn't make an interpretator :) :) .
Posted on 2003-10-10 00:34:42 by Ultrano
What about embedded CPU Intel386EX? This CPU requires much more power, but the instructions are = x86
Posted on 2003-10-10 07:20:26 by MikDay
ARM is a lot different from x86 in both architecture and instruction set.
Posted on 2003-10-10 09:57:43 by optimus
The project is of one of my colleagues at the university - and I doubted he is very serious for it, until I learned he has paid 800 Euro for patent registration. This is damn a lot of money in my country.
I am thinking of abandoning this project, even its paper development.
But if I were to continue, I'd use the Intel 386 :)

Why won't most MCUs have design, similar to x86 - the more people can develop for them, the greater the chance those MCUs get bought.
Posted on 2003-10-10 14:37:03 by Ultrano
That's because x86 architecture is not very suitable for embedded systems. x86 is aimed at general computing applications, so it has many many instructions and addressing mode. Embedded CPU usually use RISC architecture, so that there won't be instructions and circuits rarely used but occupies CPU space. And RISC has much more registers than CISC, so many computation can be completed in registers and avoid memory access so as to save power. And all the instructions of RISC CPU is single CPI, and that's good for timing. But as for me, I like x86, coz I've used it for so long. However, ARM is sth that expanding really fast and this semester I'm just taking course of ARM.
Posted on 2003-10-10 20:05:08 by optimus
The ARM7TDMI is actually the CPU in the Gameboy Advance (I'm probably certain that u knew that already), it's instruction set is easy to use, but it can also be programmed in C if you wish. I was thinking of getting a Flash card for my GBA but its too expensive I dont have that money!! The nice thing is that it is a pretty fast RISC CPU. With 16 registers (R0-R15), with both ARM and THUMB modes (ARM being 32-bit opcodes, and THUMB being 16-bit). And I think R15 is used as the Program Counter and R13 as the Stack Pointer. Nice mMCU if u ask me :)
Posted on 2003-10-11 19:53:02 by x86asm
lol And I wondered where I had seen this instruction set :grin:
I didn't know GBA uses this mcu :)
I see it's something I'll use if I return to electronics some day.
Posted on 2003-10-12 02:38:10 by Ultrano