About CPU/Chips (split from: Re: Why to use assembly??)

Started by vanjast, January 24, 2012, 05:21:59 PM

Previous topic - Next topic

vanjast

I rephrase...  :bg

I'm not arguing that about the portability, but there are well known problems with this - an argument as old as the hills.

With regard to CPUs, the Arm devices used in a LOT embedded systems... They have 2 basic assembler languages, one, a lite version of the other.
Creating a compiler to handle the different cpu's is as much work as writing it in assembler.
Java interface is also guilty of many different versions on many different phones, that is makes assembler look like childsplay  :bg

I'd say there is a large gap for asm in the cell phone market - It just need a 'force' to 'install' it as much like C/C++,Java has had.
I don't see this happening at the cell phone makers want to keep their OS's 'untouched'
:8)

dedndave

i can see where a guy might develop his own asm libraries for each CPU
then, the program is portable - you just have to build with the appropriate lib
the obvious advantage of asm in portable devices is size
if compilers didn't have so much overhead, it wouldn't be such an issue

on another note....

normal people construct sentances with subjects, objects, participles, and so on

when ASM programmers construct sentances, there is likely to be a lot of mnemonics and acronyms

when C programmers contruct sentances, every other word has to be an object of some sort   :P

clive

But with the compiler you can amortize the cost of writing it once, over all the applications that get ported as a result of having the compiler, and not requiring a total rewrite.

The ARM market is getting fractured, there are certainly at this point more than two instruction set in use, and features and extensions that are not consistent across the offerings. If you're using assembler as a proxy to squeeze the last piece of performance from a system, you're going be quite busy coding multiple solutions. A point that bogdan alludes to with the CPU changes is the ringing out of part costs, especially if you can save a dollar a piece on a million piece run. For that to work most efficiently you need a clean abstraction of the hardware, and a HLL.

MIPS is also in a significant number of devices, although less boldly touted. It's a valid Linux/Android/WinCE target.

Being comfortable with a number of assembly languages is certainly something I'd look for in an Embedded Engineering candidate.
It could be a random act of randomness. Those happen a lot as well.

vanjast

Quote from: dedndave on January 24, 2012, 07:15:08 PM
then, the program is portable - you just have to build with the appropriate lib
Ja.. silly me.. I forgot about libraries  :red

vanjast

To me... I think business is losing focus with RAD systems and this is probably a good reason why masm32 ( and the next installment.. Nudge Nudge  :wink  :wink hey Hutch ??) still exists.

RADs original idea is working for business, but it seems like it is tearing it apart in the race 'to be first'- greed is good!!
:bg

vanjast

Quote from: clive on January 25, 2012, 03:33:19 PM
The ARM market is getting fractured..
Ja.. you can now 'roll your own CPUs'... VHDL is taking us all over the place... This is exciting stuff though and the IDE's are something else... :eek
:8)


clive

Quote from: vanjastyou can now 'roll your own CPUs'... VHDL is taking us all over the place...

You don't even need to go that far, the floating point option on the Cortex-M4 only supports 32-bit floats, whereas the option on the Cortex-R4 supports 32 and 64-bit (float, doubles).
http://www.ti.com/mcu/docs/mcuproductcontentnp.tsp?sectionId=95&familyId=1870&tabId=2824#

So I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>

Perhaps some of the fun from the 80's can be brought to the classrooms with the Raspberry Pi. Although the idea of writing several megabytes of assembler doesn't appeal quite as much.
http://www.raspberrypi.org/
It could be a random act of randomness. Those happen a lot as well.

vanjast

Quote from: dedndave on January 25, 2012, 05:10:41 PM
Quoteand the next installment.. Nudge Nudge  wink  wink hey Hutch ??

http://www.masm32.com/board/index.php?topic=18155.0

http://www.masm32.com/board/index.php?topic=18184.0
How did I miss this.... must have had my head stuck in the sand!!
:bg  :U

vanjast

Quote from: clive on January 25, 2012, 05:30:52 PM
So I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>
You can always change the SoC... that is.. if the chip allows it.

Sorry OP - we digress here.. on warp factor 9.  :green2

For those in the dark, VHDL (Verilog Hardware Definition Language - Verilog was contracted by DOD and this popped up) is all about logic level programming. I suppose the next level down from Asm. If you love tinkering... this is your mecca

One could compare VHDL and explicit logic programming to Java and Assembler, but VHDL requires explicit logic and hardware knowledge (similar to Asm) to implement it efficiently, if at all. Something like writing an highly optimised assembler program without coding in assembler. Makes sense and this is only the beginning  :bg

:8)

dedndave

i designed a few ASIC's about a decade ago
never thought of it that way, but it is a little like ASM for digital circuit designers   :P
haven't done much of that lately - i will probably need to get into it a little more

clive

Quote from: vanjast
Quote from: cliveSo I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>

You can always change the SoC... that is.. if the chip allows it.

Perhaps if you're using an FPGA, if you spin a new mask set you'd probably be looking for a new job.
It could be a random act of randomness. Those happen a lot as well.

vanjast

Quote from: dedndave on January 25, 2012, 09:02:10 PM
haven't done much of that lately - i will probably need to get into it a little more
I generally avoided it like the plague, but lately it's become a viable neccessity so I've been 're-educating' myself  :bg

vanjast

Quote from: clive on January 25, 2012, 09:04:08 PM
Perhaps if you're using an FPGA, if you spin a new mask set you'd probably be looking for a new job.
Have look at Actel stuff http://www.actel.com/products/
Some interesting options
:bg

qWord

Quote from: vanjast on January 25, 2012, 07:15:30 PMFor those in the dark, VHDL (Verilog Hardware Definition Language 
VHDL <= Very High Speed Integrated Circuit Hardware Description Language;
:toothy
FPU in a trice: SmplMath
It's that simple!