PDA

View Full Version : Evolution of microcontrollers/microprocessors



bassmaster
02-09-2007, 10:12 PM
Parallax has done a bang up job in the evolution of the microcontroller.

Many people snub VB, but when you want a quick app it works great.

Spin is alot like that, prototypes can be made in a small percentage of time with spin, then, the final product can be optimized for speed when needed, IF neeeded with ASM.


An eample of the evolution of lanquages for the PC, we had a 386 running linux, we needed to write code to interface to 32 pumps and 32 card readers, the polling was too slow.

so we used C for the base, then created a isa board with a z80 that did nothing but pass changed polls to the application, this freed up the app to run faster and handle more calls from the POS or other modules.

As Computers sped up there are now companies that use VB completley to do what we did, with no preformance loss.

Bash prop Spin and the propietary ASM ·if you want, but for me it is an evolution.

Cudo's to Parallax.

Just watch Microchip/Atmel follow this trend.....

·

Mike Green
02-10-2007, 12:06 AM
bassmaster,
Nice example with the 386 and Z80.

I think the main reason you'll hear "VB bashing" more has to do with "Microsoft marketing". VB is a particular Microsoft product that is unavailable (and heavily protected against as intellectual property) on other platforms like Linux or the Mac OS, let alone "independent" platforms without operating systems (various embedded processors). For example, Microsoft used to have support within the Mac version of Office for VB in Excel spreadsheets. This is being dropped in the next update cycle. As a contrast, Apple has AppleScript as its OS scripting language. The MacOS makes heavy use of this (much like VB in Windows) and it's closely integrated into the OS and the major applications. Unlike Microsoft and VB, there are other scripting languages like Python and Ruby that are open source, heavily used in the Linux world, well documented with lots of books available at your friendly Barnes and Nobles or Amazon.com, and these can be 100% substituted for the AppleScript if you want. They connect to the OS at the same level of API as AppleScript, have the same efficiencies (or inefficiencies), etc.

I like the assembly/Spin mix. Spin is fast enough so you can do a lot of "bit-bang" I/O directly (even 9600 Baud serial) without any use of assembly. I think the assembly/Spin intercommunication is weak, but it works adequately and I wasn't privy to the design tradeoffs and other issues at the time.

I do wish Parallax wasn't so locked into Windows (and XP particularly). It may be "the dominant platform", but it's not the only one, particularly as you move away from the USA. I happen to be able to run all three major platforms (Windows XP, MacOS, and Linux) on the same machine. There's no way I'm going to upgrade to Vista. It was difficult enough to part with the money to upgrade from Windows 98SE to XP just to be able to run the Propeller Tool. Most everyone else's Windows-only tools will still run under Windows 98SE or Wine. I will be much happier once there's some support for Spin outside the world of Microsoft.

Dennis Ferron
02-10-2007, 12:10 AM
It's uncanny how closely this relates to an essay/keynote speech that Paul Graham made. It's titled "The Hundred Year Language": www.paulgraham.com/hundred.html (http://www.paulgraham.com/hundred.html)

The essay was about what languages will look like in 100 years, and that the "sweet spot" (my term) to be in now is to be programming in someting that is on a main evolutionary branch now that will still be a main branch in 100 years.

Although Spin is actually shockingly fast for an interpreted language, it has the built-in ability to program in assembly as well, so that you can throw together a quick interpreted implementation and then convert just the parts you want to assembly. With that in mind, read what Paul Graham said about the future of languages:

"What programmers in a hundred years will be looking for, most of all, is a language where you can throw together an unbelievably inefficient version 1 of a program with the least possible effort. At least, that's how we'd describe it in present-day terms. What they'll say is that they want a language that's easy to program in."

(later in the essay he says something that reminds me of the ability to convert Spin to assembly:)

"... it seems that, if you did a really good job, you could make a language that was ideal for writing a slow version 1, and yet with the right optimization advice to the compiler, would also yield very fast code when necessary."

(He seems skeptical of the benefits of parallelism but does predict it:)

"As long as we're talking about the future, we had better talk about parallel computation, because that's where this idea seems to live. That is, no matter when you're talking, parallel computation seems to be something that is going to happen in the future."

"Will the future ever catch up with it? People have been talking about parallel computation as something imminent for at least 20 years, and it hasn't affected programming practice much so far. Or hasn't it? Already chip designers have to think about it, and so must people trying to write systems software on multi-cpu computers."

Dennis Ferron
02-10-2007, 12:21 AM
In regards to what Mike Green said: I had always been a Windows guy, but in the past 2 years I've found myself using Linux more and more, and I have been impressed watching other people use the MacOS as well. I'm at the point where there are only two reasons left for me to use Windows at all: the Visual Studio programming IDE, and Parallax tools. If I could get the Parallax tools and graphical IDE for Linux, I would have no reason to run Windows on my laptop-and-Propeller-powered robots. In fact, for one of my current projects, I can't use Windows at all - my project requires the kind of low-level TCP/IP stack access that Windows' closed source implementation just doesn't give you. When the day comes that XP no longer works on new home computers, I'll be switching to a Mac before I upgrade to Vista.

It's no longer a case of switch just to bash Microsoft. The cost of Vista makes other opportunities look more attractive, and while at one time it was pragmatic to stick to Windows because there were things that were more convenient to do with Windows, things have advanced to the point that I can say Linux and MacOS would provide for my needs just as well.

David B
02-10-2007, 01:14 AM
I also was forced, kicking and screaming, to move off Win98 in order to use the propeller; I bought a copy of Win2K off eBay. My kids use XP and I'm hoping to avoid going there for as long as possible, ditto for Vista. Each step "forward" with Microsoft's OSes always seems to include a glitzier screen, but more loss of control over my own hardware.

I've used Linux from back when you had to make up floppy disk sets to install it. It's always been fun getting my hands dirty with OS code, and still is, but for ease of use, I've always preferred the Windows GUI. VB was Ok for a while but I happen to prefer Delphi. I'm still running version 2, because it does what I want without lots of program bloat. I tried Kylix, Delphi on Linux, but that was a disaster as far as I was concerned.

But Java on Linux is decent, and can be pretty portable between platforms if you code the display carefully enough. Has anybody considered a Java GUI for Spin, with appropriate OS-specific hardware libraries?

bassmaster
02-10-2007, 01:25 AM
Spin and Prop ASM will make it to native linux, I am sure. It just might take a while for a tokenizer from parallax.

SSteve
02-10-2007, 02:51 AM
Dennis Ferron said...
I'm at the point where there are only two reasons left for me to use Windows at all: the Visual Studio programming IDE, and Parallax tools.

You have one more reason than I do. I had to get my old Win2k laptop out of mothballs to run the Propeller Tool. I really hope Parallax will at least make a tokenizer that'll work on OS X. And hopefully not a Code Fragment Manager library this time. They are almost impossible to interface with. I got a proof-of-concept program to work, but it was not easy and it won't transition to Intel because it requires an assembly-level kluge.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows

links:
My band's website (http://www.theuniversalsteve.com)
Our album on the iTunes Music Store (http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=84780626&id=84781354)

parts-man73
02-10-2007, 02:56 AM
Funny that this thread comes up now. I just started using Linux(Ubuntu) last week, and so far I love it.

The ability to immediately and easily download and install a new application, from a large list of open source software, is a very attractive feature.

But it is more difficult OS to learn. I'll put it this way... I'd never install it on a relatives computer...the "support" phone calls would never end. It's not newbie friendly.

But I've got to make my computer a dual boot soon. It would be nice to have a Propeller tool for Linux, But I don't want to be the one to demand it, for me, I'm fine with a dual boot system, I have many other applications that are windows only, and for now, Linux is a toy to play with and get used to.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian Meade

"They who dream by day are cognizant of many things which escape those who dream only by night" - Edgar Poe

Dennis Ferron
02-10-2007, 03:17 AM
Yeah despite all its advances, I think Linux is still not very newbie friendly. It's kind of like driving a standard vs. driving an automatic: it gives you more control once you master it, but can be pretty frightening when you don't know how to handle it yet.

Microsoft Visual Studio is like crack - once you become dependant on it you'll curse at it and hate it but also love it and can't live without it. What I mean is that it really does have features that are IMO the best out there, and I have at least one project that I can't imagine would work nearly as well in another language/IDE, but at the same time every release pushes out tons of new killer features without stopping to fix the instabilities. I've had the experience of saying, "Wow, I can get things done ten times faster this way than with my old tools" and at the same time I've had countless days where I lost many hour's worth of work because the GUI designer crashed and DELETED my code! Yes, folks, when Visual Studio's forms designer hits a snag and doesn't understand your code, it just deletes widgets off your form until it works again. Come to think of it, Microsoft Visual Source Safe does a similar thing - the repository version of code is sacrosanct to it, and it assumes the code on your machine is just junk that it can delete if wants to. Nearly every time Source Safe makes a mistake, it seems to err on the side of silently deleteing your last eight hour's work to put the old server version on there instead.

They're both examples of Microsoft treating the user like some kind of idiot, deleting/overwriting your work without asking because they think they know better than you do what the computer should do. They send the message "we pwn you, beotch!" And it's kind of like being in an abusive relationship, where you put up with abuse to get what you think you love.

cgracey
02-10-2007, 03:27 AM
I certainly agree that the direction Windows has gone in·is reducing us all to serfs, and it can only get worse. Every new version seems more restrictive and useless for all but the recommended consumer activities. And while we pay endless tribute to use it, it·perpetually breaks all of our legacy development software·which we've used for designing our products. So, we then must agree to expensive 'maintenance' programs (complete with penalties for any lapses) for what amounts to·often buggier tools. All this, so we can just keep doing what we've been doing·all along. It all seems to be much more about securing revenue streams than making anything better. So, of course, I'd love for us to get out this rat hole, but what can we do?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

SSteve
02-10-2007, 03:30 AM
I haven't explored writing Eclipse plug-ins, but that seems like a possibility.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows

links:
My band's website (http://www.theuniversalsteve.com)
Our album on the iTunes Music Store (http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=84780626&id=84781354)

Mike Green
02-10-2007, 04:08 AM
Chip,
The first step is to "bite the bullet" and establish policy that all future development will be in one or more cross platform systems, whether Java, standard C++ or Pascal or a mixture (using a cross platform open source GUI library like GTK) or a commercial compiled cross platform system like RealBasic. For things that are close to the operating system like USB/serial, you may need to have source where small portions are conditionally compiled for different platforms.
Mike

Remy Blank
02-10-2007, 04:25 AM
May I suggest Python (as others already have), possibly with wxWidgets as a GUI? Although an Eclipse plugin would probably make more sense, but personally I am not so enthusiastic about Java.

-- Remy

parts-man73
02-10-2007, 05:25 AM
I see that FTDI does make drivers for their USB chips for Linux.

Martin Hebel
02-10-2007, 05:29 AM
I think the only solution is to have Propeller based system to program Propellers on :) Keyboard, mouse, monitor, Flash drive... just needs a little OS and application!

-Martin

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters (http://www.selmaware.com/)
Southern Illinois University Carbondale, Electronic Systems Technologies (http://www.siu.edu/~isat/est)

CJ
02-10-2007, 05:41 AM
sounds like a good project for a Protoboard. keyboard, mouse, monitor, 4pin header for a programming cable/rs232, or even a socket for an eeprom to put the compiled program in

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Who says you have to have knowledge to use it?

I've killed a fly with my bare mind.

Dennis Ferron
02-10-2007, 08:02 AM
I would like to say, though, that I completely understand Parallax's position and why they target Windows for their tools, and I don't blame them.

I like Martin Hebel's suggestion of a Propeller-based Propeller development environment; in fact that's one of my primary reasons for building my Propeller-based portable computer. I think it will take until the 2nd gen propeller chip comes out for it to be totally feasible though.

cgracey
02-10-2007, 08:52 AM
Martin,

This is the long-term plan, as you probably know.·On the next generation of the Propeller, we·will have 96k of unused ROM which we·plan to·eventually·sink a whole development system into. Then, we would only need to create what amounts to VNC-type software to get you inside from your desktop machine (if you really wanted to stay there). I think the only way out of the current OS mess, though,·is to get all the way out, and then come back in on an optional basis. 75% of the energy we've spent on the Propeller.exe program has·gone to·wrestling·with Windows.


Martin Hebel said...
I think the only solution is to have Propeller based system to program Propellers on :) Keyboard, mouse, monitor, Flash drive... just needs a little OS and application!

-Martin


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Martin Hebel
02-10-2007, 09:28 AM
Hi Chip,
Yeah, I sure won't take credit for the idea as you had told some of us years ago your desire to free the development from the PC, I just could help a tossing out a teaser, and it just goes to show how insightful you are in what is needed as is proven by the current circumstances and how close to that reality you are getting!

-Martin

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
StampPlot - GUI and Plotting, and XBee Wireless Adapters (http://www.selmaware.com/)
Southern Illinois University Carbondale, Electronic Systems Technologies (http://www.siu.edu/~isat/est)

bassmaster
02-10-2007, 11:28 AM
you dont need to abandon windows for linux, get cygwin ,,,,

In this monopoly of microsoft we must use windows to get much acomplished, I prefer to run xp and cygwin, others can use linux and wine, cygwin screenshot below offers me single click to open a linux environment. where I can test/write cross platform code. And MARK MY WORDS, it is 10 X faster than linux with wine.



Post Edited (bassmaster) : 2/10/2007 12:24:49 PM GMT

Harrison.
02-10-2007, 11:45 AM
You can always install vmware player (free version of vmware workstation) to be able to run other x86 OSes on top of Windows. For example, Mandriva linux has a vmware player compatible image: www.mandriva.com/en/isv/vmware (http://www.mandriva.com/en/isv/vmware) .

I personally use cygwin just for cross-compiling for linux. For real stuff, I either use vmware or boot into a linux live cd. I find cygwin too limiting for things other than simple shell scripts and compiling.

Lawson
02-10-2007, 12:20 PM
Why would a Propellar resident development environment have to wait till version 2?· I can see why putting the spin compiler and assembler ON the Prop to be programmed would be·difficult.· (it'd prolly still work using a 64k or larger pre-programmed·EEPROM, load the IDE, look·for·a terminal-program/text-editor, if found develope code otherwise load the app·code·from the high side of·the EEPROM and run that)· But I've yet to see a reason why another Prop couldn't host a great IDE for spin and assembly.· Heck this'd be darn usefull for remote debugging and such, the core system would probably fit in a pocket and battery life could be·insane.· lets see... keyboard, optional mouse, upgraded SD code with a SD·slot for storage, a 3.3v serial port for programming, VGA/TV connectors, hm... basically a proto-board with SD, TV, Serial port and the right code.··with the proto-board's larger EEPROM a large compressed help file could·be included too.··(lol, maby even run something like this inside of Gear!)· *sigh*·programming is NOT my specialty though, so as cool as a project like this would be i'm·not the man to do it.

My 2 cents

Marty

P.S. on a unlrelated subject, It could be quite usefull if parallax verified the correctness of the reverse-engineered Spin byte-code that's been posted on this form.· (possably make it easier to find too)· This would effectively give the Prop a second assembly language that was easier for 3rd party compilers to target?

Mike Green
02-10-2007, 01:57 PM
Tomas Rokicki's SD card FAT file system is a nice cheap way to add oodles and oodles of additional storage for data files, text files, Spin/assembly overlays, etc. and will make this kind of Propeller-based development platform doable. It's not usable yet for loading overlays, but it's very close. FemtoBasic can already load and run Basic programs off an SD card with or without initializing the variables as the program is started and it can read and write simple data files (no string manipulation or arrays). Spin overlays mostly work, but are still too buggy to post.

bassmaster
02-10-2007, 07:36 PM
I think I will try my hand at gtk... embedded compilers are not what I want personally. What I meant to emphasize from this post topic, is that parallax has made a chip like no other.

That said, with some work, and maybe some help from Parallax to release a tokenizer or release the api, for linux and osx, so we all can create what we want, Java would work with all platforms, but I despise it personally. My C Compiler project, hopefully will be a command line tool that kdeveloper or any linux development IDE could use.

If written well in ansi C it will be portable for all platforms.

I have the experience and tools to hack the IDE and the outgoing serial port and probably figure out a way to do this fairly well, as I do it daily at my job with obsolete devices/applications that the company who wrote/created them are no longer in business. But I will not, as Parallax owns this information, and I need their blessing
to do so. (or better yet, a tokenizer for the ASM)

Mike you are correct, the prop to prop loader works flawlessly, the sdcard code is good, your code is good, so a few days and someone could roll it all together for a prop to prop from the prop os deveopment environment, (at least in spin).

Remy Blank
02-10-2007, 07:36 PM
Chip Gracey (Parallax) said...
On the next generation of the Propeller, we will have 96k of unused ROM which we plan to eventually sink a whole development system into. Then, we would only need to create what amounts to VNC-type software to get you inside from your desktop machine (if you really wanted to stay there). I think the only way out of the current OS mess, though, is to get all the way out, and then come back in on an optional basis.

I'm a bit surprised to read that. I can't help feeling that this will not change anything for users from the current situation: instead of having to maintain Linux as my main system, and a Windows installation in a VM, I will have to maintain Linux and a "Propeller-custom-OS" installation for development. Still two systems to maintain.

And there is just no way I am going to leave my primary system, as I am doing many other things besides Propeller development. Will the development system include all the tools like revision control, etc? What's the reason for keeping the whole thing closed? Why not open the sources and let the open-source community do the porting work for you?

It just feels wrong to replace a "proprietary but widely distributed" system with an even more proprietary system.

Just my 2c.

-- Remy

JoannaK
02-10-2007, 07:59 PM
Chip Gracey (Parallax) said...
Martin,

This is the long-term plan, as you probably know. On the next generation of the Propeller, we will have 96k of unused ROM which we plan to eventually sink a whole development system into. Then, we would only need to create what amounts to VNC-type software to get you inside from your desktop machine (if you really wanted to stay there). I think the only way out of the current OS mess, though, is to get all the way out, and then come back in on an optional basis. 75% of the energy we've spent on the Propeller.exe program has gone to wrestling with Windows.




Martin Hebel said...

I think the only solution is to have Propeller based system to program Propellers on :) Keyboard, mouse, monitor, Flash drive... just needs a little OS and application!

-Martin






Hi Chip.

Would it be too much to ask for you to spend (say) 16kilobytes of that for Forth kernel.. During all these years I haven't seen any other system capable to so much in such small code space. I haven't yet tested the Forth ported to Propeller, but IMHO it would be a first class canditate for In-place programming.

bassmaster
02-10-2007, 09:38 PM
I realized the above example may scare the younger folk, here is a better screen with wmaker running in windows.





Post Edited (bassmaster) : 2/10/2007 1:42:37 PM GMT

hippy
02-10-2007, 09:40 PM
What I don't understand is why the Propeller Tool requires Windows XP and was not designed to run on 98SE. From my perspective, "it's just an IDE", and many others have managed to create those which run across the whole range of Win32 OS's.

1) What is it that specifically, technically requires the Propeller Tool to be Windows XP only ?

2) Why were such specific requirements not circumvented or designed around to deliver an IDE which runs on any Win32 platform ?

Like many, I object to paying Microsoft for things I do not need when what I have serves my purposes perfectly. I really object to having to pay Microsoft simply because another company falls victim to playing the 'Microsoft upgrade game' and forces me to upgrade when I have no need or desire to, and particularly when they could make it that I don't have to.

Companies end up supporting Microsoft by dictating to their customers which OS they must have to use their tools. Sometimes there may be a good reason for that, most often not. I am sure someone could rewrite the Propeller Tool to run under Windows 98, and I am quite disappointed that Parallax could not or chose not to. I would much rather spend my money on Parallax product than with Microsoft.

bassmaster
02-10-2007, 09:46 PM
I think, Parallax just got the IDE out the door to the most used people firt, I would expect them to follow up later and address our concerns about OS's like they did for the stamp, I am glad that they did not wait to finish all OS ide's before releasing it or we would still be waiting. (The are a small company, and have limited resources)

hippy
02-10-2007, 09:58 PM
Th way I'd see that is; design for Win98SE and it will run on XP/W2K, so that covers a much larger market and customer base. Tweak performance for XP/W2K later.

bassmaster
02-10-2007, 10:04 PM
Hippy, Not sure if this was a deciding factor for Parallax, but at NEC, we no longer used microsoft products that the life cycle ended, i.e. Visual Studio 6 expired in September, so we were forced to use C++.net. Same with 95, NT, etc. If Parallax finds a microsoft bug in their development process in win 98, they would not be able to go to microsoft for help.

Luis Digital
02-10-2007, 11:53 PM
parts-man73 said...
I see that FTDI does make drivers for their USB chips for Linux.

In Linux you has not to install anything, already is in the kernel. Simply connect and use.

cgracey
02-11-2007, 12:33 AM
Remy,
I don't know exactly how it will turn out,·and if the idea proved to be a mess, we wouldn't implement it -·don't worry. Making things proprietary is not the goal, either, we just want to make·what works best, all things considered.
About all the exisiting PC and Mac OS's: I think their only value to a Propeller development system, aside from providing·a·GUI of someone's personal choice, is that they load and save files on·what·are·highly-conversant platforms. Beyond that, they each represent·unique headaches for hosting a development system on. The only long-term solution I see to this problem is to cut them out of the picture as much as possible, while making the chip·self-hosting in the process (with the option of using your own computer/OS as a front-end).
Even if we manage to acheive this, anyone could still use the Propeller as a raw material and make, for example, a Mac-hosted Forth development system. What intrigues me so much about the possibility of getting a whole development system onto the chip, itself, is that we could do things exactly as we see fit, without compromise, and it would cost only·a few pennies' worth·of silicon. If someone wanted to do something different, they could easily bypass it, perhaps through a pin state at startup.
Does this put you at ease, at all?


Remy Blank said...

Chip Gracey (Parallax) said...
On the next generation of the Propeller, we will have 96k of unused ROM which we plan to eventually sink a whole development system into.

I'm a bit surprised to read that. I can't help feeling that this will not change anything for users from the current situation: instead of having to maintain Linux as my main system, and a Windows installation in a VM, I will have to maintain Linux and a "Propeller-custom-OS" installation for development. Still two systems to maintain.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

El Paisa
02-11-2007, 12:56 AM
Lets face it, Windows and its variants are going to stay with us for a while like it or not.
So do not bury our heads in the sand and pretend does not exist.
I do not see any other OS in the near future to replace Windows.
·

bassmaster
02-11-2007, 01:07 AM
Chip, instrad of an embedded complier accessable through vnc/vga/keyboard/etc, how about offering the next generation to have a hyperterminal/serial access to a "menu" where with a "programmer circuit" connects to the pins 30 and when the term sends say ctrl/r (15hex?) the user will be prompted with a menu, forth, spin/asm basic/ etc. can launch one, and compile /run/save to eeprom there.

Seems to me alot less work than forcing everyone to have the ps2/vga/tv etc running on the breadboard. and anyone with any os and a serial port could program it.

Lilke I said before I am not really interested in this, as I want to hit F1 for keyword help/souce control and all the bells and whistes of a real IDE.

May be able to do this now on other IO ports with femtobasic, sniff ports 1 and 0 wait for hex XXX then display a menu.... Mike?

Sean

Post Edited (bassmaster) : 2/10/2007 5:18:17 PM GMT

bassmaster
02-11-2007, 01:12 AM
El Paisa, well said, monopoly or not, like it or not, we must comply and be assimilated.

Younger generations that refuse to use windows are going to find themselves in a mess when they go to a fortune 500 company, and do not understand MS project / Powerpoint / and and other MS products, even if they are lucky enough to get past the first interview.

Dennis Ferron
02-11-2007, 01:19 AM
Making Propeller development self-hosting so that you can develop embedded code on the same machine that is running the code is an exciting idea. That's why currently I'm building robots that carry laptops - I'm including an entire laptop just so that I can host the Parallax IDE on the robot. I know that I will run into problems in the field, and being able to tweak the code right then and there is important. Self-hosting development is important enough to me that I'm willing to include an entire PC in a control system, if it will fit, just to achieve that.

IMO having a different machine for development than for running the code is the biggest difficulty of coding today's embedded systems vs. PC programs; writing the code on the PC and downloading it to the chip is kind of like putting a ship in a bottle - you hope that once it's in there all the sails unfurl ok, but if they don't your ability to tweak it is limited.

Also, I've found when developing programs for Lego Mindstorms robots that the time it takes to get the code onto the robot adversely effects how quickly you see the changes after you made them. That in turn affects how willing you are to tweak small things, and how well you remember your place from one cycle to the next. It's like the difference between having an interactive terminal and having to submit punched cards in batches. On the other hand, the shorter your code-compile-run sequence is, the faster you can test small tweaks and the faster and more effortlessly you can develop, so even just removing the time to download the code from PC to the chip will speed up development.

Mike Green
02-11-2007, 01:26 AM
Bassmaster,
There's a big difference between the concepts that are part of Project, Powerpoint, Excel, Word and the specifics of those particular products as sold today (or tomorrow). The concepts (and fluency in their use) are indeed necessary for many if not most jobs today much beyond simple retail. There are a variety of non-Microsoft products that provide the functionality of Powerpoint, Excel, and Word as used by most people, many of them available for free or a small fraction of what Microsoft charges. Large companies with expensive, large IT departments may buy expensive corporate licenses for the Microsoft products and expect their employees to use them, but someone who is competent using most of the non-Microsoft products should be able quickly to achieve the same competence with the Microsoft product since the concepts are the same. Microsoft is (and is likely to continue being) dominant in the USA, but is increasingly being displaced elsewhere and, as large corporations become more international, particularly with control moving overseas, you will see less fixation on Microsoft. It will take time, but it is already happening.

Remy Blank
02-11-2007, 01:30 AM
Chip Gracey (Parallax) said...
I don't know exactly how it will turn out, and if the idea proved to be a mess, we wouldn't implement it - don't worry.

Oh, I don't worry. Many things are different on the Propeller than on any other microcontroller I know, and most (all?) of them are better. So in my opinion many choices to do things differently have been made wisely.


said...
About all the exisiting PC and Mac OS's: I think their only value to a Propeller development system, aside from providing a GUI of someone's personal choice, is that they load and save files on what are highly-conversant platforms.

I guess I don't know enough of the direction you want to take with the Propeller to comment on that. When you say "getting a whole development system onto the chip", do you mean an editor, a spin compiler, an assembler, a shell, ...?

You are right that some (most?) of the tools we use are a personal preference. I know for one that I hate it when I have to use a proprietary editor for some tasks, when I am used to Eclipse. And I feel very ill at ease if I can't use a revision control system.

But I need a computer all day long for other stuff (browsing, e-mail, displaying PDF datasheet, electronic circuit design, mechanical design, programming, ...), so it is easier for me if I can do Propeller development on the same host. You mention a VNC-like facility, that would already solve the issue.


said...
What intrigues me so much about the possibility of getting a whole development system onto the chip, itself, is that we could do things exactly as we see fit, without compromise, and it would cost only a few pennies' worth of silicon.

I was going to ask if adding a development system in ROM that wouldn't be used at all in production units of whatever device using a Propeller wouldn't make the chip more expensive, but that seems to be solved already. http://forums.parallax.com/images/smilies/smile.gif


said...
If someone wanted to do something different, they could easily bypass it, perhaps through a pin state at startup.
Does this put you at ease, at all?

Speaking for myself, as long as you publish the specs of the assembly language so that I can make my own cross-platform, modular, wizbang assembler, I don't really mind. http://forums.parallax.com/images/smilies/smile.gif

Now, if the development environment (and compiler) is on the chip, it would be nice to be able to script the thing remotely, so that I can send it a text file and it returns the compiled object. That way I could use any development environment I want, and use a demo board as a compiler co-processor. Sounds quite funny, actually. If that solves your maintenance problem, I'm all for it.

Keep us posted about where this is going!
-- Remy

cgracey
02-11-2007, 01:33 AM
Hippy,

Jeff Martin wrote the Propeller.exe application, and I believe it uses some TrueType font features that only XP supports, but I'm not sure. I know that's no justification for 'forcing' everyone else to upgrade, but our past experience has been that·customers pretty much·lead the charge into the next·Windows, and they definitely expect Parallax software to run in it. This usually requires some special attention from us. And, certainly, we get pushed·along by the·applications we use at work, whose latest versions often dictate the newest Windows, as the old ones often cease to work properly, if you don't stay up-to-date.

One maddening thing I've noticed about the evolution of Windows is that it has a way of eventually breaking all our old software, even software I wrote myself. The original·SX-Key·software now locks up for unknown reasons and exhibits strange behaviors that are definitely not dictated in my source code.·Why is this?·Delphi was used to write all of our Windows apps, and in the case of the SX-Key software, I used only the standard 'events', 'methods', and 'properties' of the most basic objects, like FileOpen, Button, ScrollBar, etc. What went wrong? Was Delphi calling the API routines·in some funny that·Windows sharpened up against, or did Windows·quit supporting some API calls? Who knows? Would things have been different if we had used Microsoft tools, instead? I kind of doubt it. The fact is,·the software that I spent a year writing in 1997 is now acting·like a 3rd grader wrote it.

Had we been more privy to the possibility of making an app that ran on Win98 and up, I bet we would have done that for the Propeller. Our experience·definitely has us conditioned to suppose it's just not possible.


hippy said...
What I don't understand is why the Propeller Tool requires Windows XP and was not designed to run on 98SE. From my perspective, "it's just an IDE", and many others have managed to create those which run across the whole range of Win32 OS's.

1) What is it that specifically, technically requires the Propeller Tool to be Windows XP only ?

2) Why were such specific requirements not circumvented or designed around to deliver an IDE which runs on any Win32 platform ?

Like many, I object to paying Microsoft for things I do not need when what I have serves my purposes perfectly. I really object to having to pay Microsoft simply because another company falls victim to playing the 'Microsoft upgrade game' and forces me to upgrade when I have no need or desire to, and particularly when they could make it that I don't have to.

Companies end up supporting Microsoft by dictating to their customers which OS they must have to use their tools. Sometimes there may be a good reason for that, most often not. I am sure someone could rewrite the Propeller Tool to run under Windows 98, and I am quite disappointed that Parallax could not or chose not to. I would much rather spend my money on Parallax product than with Microsoft.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

bassmaster
02-11-2007, 02:08 AM
Mike Green said...
Bassmaster,.... Large companies with expensive, large IT departments may buy expensive corporate licenses for the Microsoft products and expect their employees to use them, but someone who is competent using most of the non-Microsoft products should be able quickly to achieve the same competence with the Microsoft product since the concepts are the same....
I totally agree with you, but I am making a point, that in the real world, this concept will not get past the first interview in a fortune 500 company. There have been extensive write ups· and articles on hiring practices. Large organizations get specific requests from the manager who needs a position, the HR ndepartment will weed out the resume's that do not fit 90% of the qualifications, before even reading the whole resume, the manager rarely gets to choose from a list of resume's until the HR has weeded out the "undesirables".

Back in May of 06 there was a front page article on this in the Wall Street Journal, many applicants never make it to the first interview even though they are more qualified then the ones that do.

Then the first interview is likely with a hiring manager, who knows little about the position and you have to be pretty savvy to get past that one, before you can convince the manager that you can adapt to any software.

I know that there are many students in this forum, and want them to understand that like it or not, that is the way of the world.

John Abshier
02-11-2007, 02:11 AM
I guess I am dense today.
> On the next generation of the Propeller, we will have 96k of unused ROM which we plan to eventually sink a whole development system into.

I checked my machine and the development environment is over 8MB. This doesn't include my jot file with tricks and tips or any source code for my projects or any data sheets. The help file alone is 1MB and is far removed from the functionality of the PBasic help file. Now if the 96k was used to make the Propeller OS independent, that would be nice for people who don't want to use Windows. I don't see a Propeller, keyboard, mouse and VGA/TV and a feasible development environment. It would perhaps have some utility for minor fixes/tweaks to a program developed on a desktop/laptop. Right now I don't know what I would put in that ROM space or if it would be better to use the die space for something else.

bassmaster
02-11-2007, 02:19 AM
John, look at the size of tinyc or any assembler for the z80. Our application that ran 32 pumps and 32 card readers at the gas pumps written in C was 32k, the Bloating you are seeing is a direct result of the GUI IDE and Microsoft runtime, etc. I imagine the IDE Chip envisions would be very basic on the chip.

Post Edited (bassmaster) : 2/10/2007 6:24:54 PM GMT

rokicki
02-11-2007, 03:08 AM
Still, I'd rather see that 96K be filled with fonts at various sizes (a 5x7, 6x8, 8x8, and 8x12 at least), maybe some standard
support (built-in VGA support and TV support at various resolutions, built-in support for keyboards and serial drivers, maybe
even FAT16), etc., than to fill it with a development environment. I want to be able to do as much as possible with the
chip as cheaply as possible, and filling it with a development environment that just goes to waste during deployment sounds
like a waste of silicon.

Also, I'd much prefer the tools to improve (i.e., better optimization, more high-level support of real objects and the like,
macros, etc.) than to just see them shoehorned into the chip itself.

Essentially, I am afraid that effort spent fitting a development environment into the chip will end up with an overall
inferior IDE. Most of us developers already have a PC with a nice screen and keyboard and network connectivity; let's
continue to leverage that.

If you don't like the bugs introduced by various versions of Windows, open source the IDE so people can fix them
themselves.

bassmaster
02-11-2007, 03:15 AM
Delphi, linux, yuk. ,Seiously, if Parallax could just offer the basics for us, maybe the asm library code, then we can create the tools.

cgracey
02-11-2007, 03:17 AM
John,

You're right that a rich help system may not fit on the chip, but this 8MB you see on your PC is a product of·modern computing, not designer intent.·What is in that 8MB is·mysterious to me. Our·source code is probably a few hundred KB, only,·and calls in some other resources which are about the same size. This still can't explain that 8MB, though. Only on modern computers do·compiled programs actually become·BIGGER than the source code, and WAY bigger, at that.

Before we ported the BASIC Stamp IDE to Windows, it was a DOS program written in assembly language. It had the·same·edit, compile, and download functionality as today's Windows version, but with a single-pane text editor, and no support for a few subsequent Stamp II variants made from SX chips - no big deal. Almost nobody today would guess that it was only 13KB (single .exe file), or in 'modern' terms 0.013MB, or ~1/600th of today's size. This was for a full IDE: editor, compiler, and downloader. It was tight and clean, utterly reliable, and never grew bugs. Everything we've made since then is a relatively sloppy mess. It's not because we can't program, either. Our hands are tied! I want to get back to strong coding, and quit being doomed to writing only perishable code. No more building houses on quicksand! Anyway, 96kB would be·a huge warehouse to us. I bet we could even fit a good help system in their with a little data compression.

There would be some advantages to working on the chip that could justify a keyboard/monitor for some people. It would be lightning fast and very reliable. This, alone,·could go a long way in freeing you to think about your code. Also, I hope we can later make a version of the next chip with external pins to hook to fast ZBT-type SRAM for maybe 32MB of full-speed hub RAM. Then, we could write schematic editors, PCB layout software, and even EDA tools on the Propeller. Imagine your schematic and·PCB layout problems solved once and for all. No more tribute to pay. No more having the rug pulled out from under your feet.·You could use it for the rest of your life.


John Abshier said...
I guess I am dense today.
> On the next generation of the Propeller, we will have 96k of unused ROM which we plan to eventually sink a whole development system into.

I checked my machine and the development environment is over 8MB. This doesn't include my jot file with tricks and tips or any source code for my projects or any data sheets. The help file alone is 1MB and is far removed from the functionality of the PBasic help file. Now if the 96k was used to make the Propeller OS independent, that would be nice for people who don't want to use Windows. I don't see a Propeller, keyboard, mouse and VGA/TV and a feasible development environment. It would perhaps have some utility for minor fixes/tweaks to a program developed on a desktop/laptop. Right now I don't know what I would put in that ROM space or if it would be better to use the die space for something else.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Post Edited (Chip Gracey (Parallax)) : 2/10/2007 7:41:19 PM GMT

Remy Blank
02-11-2007, 03:57 AM
Chip Gracey (Parallax) said...
There would be some advantages to working on the chip that could justify a keyboard/monitor for some people. It would be lightning fast and very reliable. This, alone, could go a long way in freeing you to think about your code. Also, I hope we can later make a version of the next chip with external pins to hook to fast ZBT-type SRAM for maybe 32MB of full-speed hub RAM. Then, we could write schematic editors, PCB layout software, and even EDA tools on the Propeller. Imagine your schematic and PCB layout problems solved once and for all. No more tribute to pay. No more having the rug pulled out from under your feet. You could use it for the rest of your life.

I have to admit that I am clueless as to whether you are serious there or just making fun of our credulity...

-- Remy

PAR
02-11-2007, 04:16 AM
Chip Gracey (Parallax) said...
....·You could use it for the rest of your life.
Aha! I knew there was a "gotcha" !

We in the over-the-hill gang want a better offer :>)

PAR

cgracey
02-11-2007, 04:29 AM
I'm serious!

About a·year ago, I·had to·get a new version of my PCB layout program because Windows finally broke my last version to the point where it would not work at all,·due to some problem with the security dongle driver. I figured it was time to spend the usual $900 on an 'upgrade'. So, I called Mentor Graphics, who was the new owner of PADS, and they told me that the upgrade would cost something like $6000. This was because I had let my maintenance 'lapse', for which I now must pay 5 missing years' worth, plus a 15% penalty for·my error. I got really mad, and through a lengthy exchange of emails which was emotionally draining for both me and them, it was agreed that I could purchase a year of maintenance for a newly stripped-down version of PADS which would limit me to·4-layers, max. This was for $900, which was reasonable, considering I never make more than 2 layer boards. To put this in perspective, this program was originally acquired in 1991, and it cost $1000 at the time. It's a little better now, but not much. In fact, as of late, they've modernized it with TrueType fonts and now the soldermask bloat creates DRC errors if you try to expose metal text. Before, the simple built-in·vector font worked beautifully. It's gone for good. If this is all 'progress', it's not for me. And if it's not for me, it's probably not for some others, either.


Remy Blank said...

Chip Gracey (Parallax) said...
Then, we could write schematic editors, PCB layout software, and even EDA tools on the Propeller. Imagine your schematic and PCB layout problems solved once and for all. No more tribute to pay. No more having the rug pulled out from under your feet. You could use it for the rest of your life.

I have to admit that I am clueless as to whether you are serious there or just making fun of our credulity...

-- Remy


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Post Edited (Chip Gracey (Parallax)) : 2/10/2007 8:59:20 PM GMT

John Abshier
02-11-2007, 05:02 AM
Let me remove the mystery. The 8 MB is the size of the Propeller tool directory. To be fair, a little over half is the manual. That would go away, but the help file (1MB) would grow. Prop.exe is 810KB. Perhaps it could shrink by approximately a factor of 8 to 96KB. But you need libraries. With only 2 or 3 .spin files added to the Parallax distribution, the zipped size is 162KB. I also have features I would like added to the development environment: The promised debug window. It would be nice to delcare variables as FLOAT and have the IDE take care of the F.FMul(F.FSine(F.Float(x), Amp) stuff.

Bill Henning
02-11-2007, 05:21 AM
bassmater, check out wxwindows - i think it is much lighter weight and less dependancies than GTK, and its available for Linux, Windows, OSX and more.

(nice work on the tray tool btw)


bassmaster said...
I think I will try my hand at gtk... embedded compilers are not what I want personally. What I meant to emphasize from this post topic, is that parallax has made a chip like no other.

That said, with some work, and maybe some help from Parallax to release a tokenizer or release the api, for linux and osx, so we all can create what we want, Java would work with all platforms, but I despise it personally. My C Compiler project, hopefully will be a command line tool that kdeveloper or any linux development IDE could use.

If written well in ansi C it will be portable for all platforms.

I have the experience and tools to hack the IDE and the outgoing serial port and probably figure out a way to do this fairly well, as I do it daily at my job with obsolete devices/applications that the company who wrote/created them are no longer in business. But I will not, as Parallax owns this information, and I need their blessing
to do so. (or better yet, a tokenizer for the ASM)

Mike you are correct, the prop to prop loader works flawlessly, the sdcard code is good, your code is good, so a few days and someone could roll it all together for a prop to prop from the prop os deveopment environment, (at least in spin).

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com (http://www.mikronauts.com) - a new blog about microcontrollers

cgracey
02-11-2007, 05:28 AM
John,

You're right, the executable is under 1MB. I wasn't sure what all the installer was outputing that constituted the development system. BTW, that 810k .exe file was about 4MB before we ran it through an .exe compactor. So, it's already shrunk 5x. It could be done well in 24KB on the Propeller.

In 96k, I think we could have an IDE, essential libraries, help system, and a few more fonts (8x12, 8x8). Before any development system gets set in ROM, though, it would be proven in RAM, and everybody would have had the opportunity to use it.

About the Propeller debug window, that is coming in a month or two. Jeff is planning on spending much of his vacation working on it. It's going to do a lot more than the BASIC Stamp debug window does.

I hear you about the floating point. This is something that could be improved.


John Abshier said...
Let me remove the mystery. The 8 MB is the size of the Propeller tool directory. To be fair, a little over half is the manual. That would go away, but the help file (1MB) would grow. Prop.exe is 810KB. Perhaps it could shrink by approximately a factor of 8 to 96KB. But you need libraries. With only 2 or 3 .spin files added to the Parallax distribution, the zipped size is 162KB. I also have features I would like added to the development environment: The promised debug window. It would be nice to delcare variables as FLOAT and have the IDE take care of the F.FMul(F.FSine(F.Float(x), Amp) stuff.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Remy Blank
02-11-2007, 05:38 AM
Chip Gracey (Parallax) said...
I'm serious!

Thanks for the clarification, I had a doubt there.

I fully agree with your example about the PCB layout program. At work we use Protel (now Altium Designer). I had started using it at version 2.0, and by Protel 98 it was pretty stable and very usable. We would still be using it if I had anything to say about it. But no, we had to upgrade to 99 (made huge project files (>50MB)), to DXP 2002, then DXP 2004, and now the latest (can't remember the designation, I have stopped counting). Every new version added bloat (I really don't need a logic simulator, and actually neither an autorouter), and removed simplicity and even features I liked.

But my dream is a little different than yours: instead of hoping to replace such tools by developing them myself, I hope to find (and if possible contribute to) such tools as open source projects. Unfortunately, schematics and especially PCB design software seems to be a difficult problem, and there are no real contenders to the professional tools.

On the other hand, I understand that this might not be viable for a business. So I eagerly await "Chip's PCB designer" (that even sounds a bit ironical) on Propeller!

-- Remy

Kevin Wood
02-11-2007, 06:10 AM
I think the easiest way forward for OS independence is to seperate the compiler from the IDE, and to do this across all of the IDEs - PBasic, SX/A/B, and Spin. This would allow users a choice of IDE, and you could still use current IDEs by interfacing with the command line tools.

As for the Propeller, I would like to see something similar to RISC OS developed for it. Think of something like that running on a Hydra. There's your whole computer!

Tracy Allen
02-11-2007, 07:01 AM
I like the idea of having the development environment on the chip. I can sympathize with the "waste" that might sit there unused in a deployed system. But our application is scientific instruments that quite often need on the spot field upgrades under less than office conditions. A rugged keyboard and display fit to purpose, with no operating system to boot up or to get in the way, with a reliable development environment, that could be a big plus. I'd like to see it accessible either via keyboard/display, or via terminal emulator.

The old Tandy model 100 was a Microsoft product that had its own operating system built around the BASIC programming environment, and it spawned a whole cottage industry. I heard Bill Gates himself say at a BMUG (Macintosh users) meeting once that it was one of their most exiting projects, to fit all that functionality into its 32k ROM. We used to make ram expansions and rom emulators for it.

Mike, it really true that Microsoft is scrapping support for VB macros in the new Macintosh version of Excel? That's a bummer.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com (http://www.emesystems.com)

Bill Henning
02-11-2007, 07:11 AM
OOOOHHHHHH 32MB full speed hub run with a later version of the next prop???? I'm drooling.
Chip, if it helps the ide etc, like I already told you in PM's... use the large model...
I'm working on some software (think large model·assembler/compiler/linker)·that will help with that; unfortunately for development speed (but fortunately for my debts) I'm a bit overloaded with consulting work right now so it will be a while. At least I can keep an eye on the forums during compiles!

Chip Gracey (Parallax) said...

Also, I hope we can later make a version of the next chip with external pins to hook to fast ZBT-type SRAM for maybe 32MB of full-speed hub RAM. Then, we could write schematic editors, PCB layout software, and even EDA tools on the Propeller. Imagine your schematic and·PCB layout problems solved once and for all. No more tribute to pay. No more having the rug pulled out from under your feet.·You could use it for the rest of your life.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com (http://www.mikronauts.com) - a new blog about microcontrollers

Mike Green
02-11-2007, 08:27 AM
Tracy,
I can't find the article now, but there was a lot of discussion in the last few weeks on this. Maybe Microsoft backed off. They (Microsoft's Mac Business Unit) indicated that they'd have to rewrite all of the VB stuff to make it work with the new Mac Office version and that it (the rewrite) would substantially delay its release ... so they'll leave it out.
Mike

SSteve
02-12-2007, 09:33 AM
Tracy Allen said...
Mike, it really true that Microsoft is scrapping support for VB macros in the new Macintosh version of Excel? That's a bummer.

Here's an article from one of the Microsoft MacBU guys explaining the decision. This is from back in August. I haven't heard anything about them changing their mind. But I don't use Office so it isn't a story I've been following very closely.

www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/ (http://www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows

links:
My band's website (http://www.theuniversalsteve.com)
Our album on the iTunes Music Store (http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=84780626&id=84781354)

hippy
02-13-2007, 04:03 AM
Chip Gracey (Parallax) said...
Hippy ... Had we been more privy to the possibility of making an app that ran on Win98 and up, I bet we would have done that for the Propeller. Our experience definitely has us conditioned to suppose it's just not possible.


Thanks for taking the time to respond and clarify.

One approach might be, as Kevin Wood suggests earlier, split the IDE from the tokenizers / compilers. It seems to be the GUI and API's which create the most problems, and there should be relatively few interactions with the OS in the compiler itself.

hinv
02-13-2007, 05:42 AM
I would agree with bassmaster ... keyboard, mouse, vga&tv are a bit much for me. The good old serial port or usb port would be great. Other than that 10/100BaseT would be a more serious proposition on the prop2 than on current prop. It would be handy to control things like I do with my unix machines over serial ports and telnets/ftp's.

Just my 10 bits,

Doug

Tracy Allen
02-13-2007, 06:01 AM
I see that Intel is unveiling their new 80 core processor at the ISSCC semiconductor meetings in San Francisco.
New York Times (http://www.nytimes.com/2007/02/12/technology/12chip.html?ref=business)
Intel PR blurb (http://www.intel.com/research/platform/terascale/teraflops.htm)
computerWorld (http://www.computerworld.com/action/article.do?command=viewArticleBasic&taxonomyName=servers&articleId=9011079&taxonomyId=68&intsrc=kc_top)

The news & commentary about this is interesting, as for one thing it points it up as the way of the future (and paranthetically, the cautionary note, can anyone can figure out how to program it outside narrow bounds of specific supercomputer calculations). I wonder who might train engineers to step into such jobs, when it finally emerges from the research labs and comes to market in some form in 5 years or so? Who has a product now?!

Their demo uses floating point units integrated into each of the 80 tiles, and the inter-tile data router, to solve coupled differential equations at 1 teraflop. It has no main memory interface. Also interestingly, it uses a long instruction word, whatever RISCish they may mean by that. The chip is built with 65 nanometer technology, but they are looking toward another 45 nanometer breakthrough technology being pursued by IBM and also Intel. That also takes advantage of the new
hafnium oxide high-K gate insulator (http://www.realworldtech.com/page.cfm?ArticleID=RWT012707024759&p=3),
which can be thicker and thus have lower leakage than the conventional silicon dioxide gate.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com (http://www.emesystems.com)

Post Edited (Tracy Allen) : 2/13/2007 4:57:43 PM GMT

Lawson
02-13-2007, 08:27 AM
I wonder what a Propeller chip could do if it was built with 0.65 nanometer tech? But really the biggest problem I see for a chip like this isn't software, its main memory. A chip like Intel's 80-core test chip could easily saturate main memory 100 times faster than what a current PC uses. The Propeller sidesteps this by using only internal memory. At the moment using only internal memory doesn't work for applications with multi-gigabyte data sets. (FEA codes are a good example. worst case the memory requirements go up with the square of the number of nodes in the mesh. Even now solution speeds are limited by main memory on modern single core CPUs)

My 2¢
Marty

bassmaster
02-13-2007, 10:13 AM
It would get really hot!, the Intell chip you are comparing the prop to, uses the amount of electricity of a 60 watt light bulb. Imagine the battery life on a laptop!. It will HAVE to have fans (moving parts) the premice of solid state microcontrolled products is their ability to just work, for a very long time, NASA still uses the 8086. That 80 core, would never go into space for a long journey, or be a block box ethernet to serial converter, or any other mundane helper, microcontrollers will.

Tracy Allen
02-13-2007, 12:05 PM
Quite true. The Intel beast is no microcontroller/microprocessor. More a supercomputer, compare at 6000 watts, still a trend toward small and green.

It is actually the process using the hafnium oxides and silicates for the gate insulator that caught my attention in relation to lower power, as promised by Intel, or a similar development by IBM. Hafnium dioxide has a dielectric constant 6 times that of silicon dioxide. That means it takes less charge to control the gate current, and also allows a thicker layer, to minimize leakage. I general it would allow cooler operation, and decreased cost and size along the amazing progression of Moore's law.

In theory it could be something for the next generation Prop as it migrates to a smaller geometry, in order to avoid higher quiescent currents in so far as they are due to gate leakage. But I guess (completely as an outsider) it will be a long time before those technologies move past the proprietary stage and make it to other foundaries. I understand the hafnium oxide gate also requires a certain proprietary metal connection, and will not be compatible with polysilicon. They are keeping a tight IP control over the nature of that metal, whereas a lot of the research on the hafnium compounds seems to be available in the open literature.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com (http://www.emesystems.com)

hinv
02-13-2007, 12:19 PM
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
Albert Einstein

Tracy Allen
02-14-2007, 01:00 AM
This is a question for Beau or Chip. Is the current propeller built with 250 nanometer process?

found this:
http://forums.parallax.com/showthread.php?p=593738

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com (http://www.emesystems.com)

cgracey
02-14-2007, 01:35 AM
Tracy Allen said...
This is a question for Beau or Chip. Is the current propeller built with 250 nanometer process?

found this:
http://forums.parallax.com/showthread.php?p=593738



The current Propeller is made in a 0.35um process, which is a pure 3.3V process. The next version is being built in a 0.18um process, which·uses 1.8V for core and 3.3V for I/O. The smaller the transistor gate length (which defines the process 'size'), the lower the operating voltage. The lower the operating voltage, the lower the threshold has to be set for the transistors to have a good ratio of ON to OFF current. The lower the threshold gets, the more the transistors leak, because you can't pinch them off with Vgs=0. They are always ON to some degree. Going back to a .5um/5V process, when Vgs=0 the transistor is extremely OFF.

The trouble with going smaller and smaller is that the leakage current increases exponentially. I calculated that 0.18um leaks 80 times as much as 0.35um, and 90nm leaks 400 times as much as 0.18um. I heard in a chip seminar a few years ago that it was anticipated that 65nm processes would leak so much that it would account for 70% of a chip's power dissipation. Imagine that; no clock and yet it's burning up. This is how modern graphics cards are becoming. Some dissipate 160W and have integrated cooling systems.

I think that 0.35um is really the last stop where you have practically no leakage. The current Propeller leaks·600na. The next·Propeller, considering its increase in complexity, and that it will be in a 0.18um process,·will probably leak 100uA continuously.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Mike Green
02-14-2007, 02:01 AM
Chip,
What's the prospect (in general, not the Prop-2 specifically) for power switching portions of a chip to prevent this magnitude of leakage when sections of a chip are not needed? I'm imagining having a power supervisor done in 3.3V with only a few gates (that can leak) that switches power to 1.8V sections of the chip. This would be for a WAITCNT or WAITPxx like instruction, but the processor would set up the power supervisor and then shut itself off completely. I'm imagining that it would be relatively slow to power up the processor, but this would enable you to have an extremely low power mode (despite this magnitude of leakage) with some restart speed penalty for those situations where you're running off a small battery. Very nicely, the current Propeller can do this without the power switching.
Mike

cgracey
02-14-2007, 02:32 AM
Mike Green said...
Chip,
What's the prospect (in general, not the Prop-2 specifically) for power switching portions of a chip to prevent this magnitude of leakage when sections of a chip are not needed? I'm imagining having a power supervisor done in 3.3V with only a few gates (that can leak) that switches power to 1.8V sections of the chip. This would be for a WAITCNT or WAITPxx like instruction, but the processor would set up the power supervisor and then shut itself off completely. I'm imagining that it would be relatively slow to power up the processor, but this would enable you to have an extremely low power mode (despite this magnitude of leakage) with some restart speed penalty for those situations where you're running off a small battery. Very nicely, the current Propeller can do this without the power switching.
Mike

The biggest leakage, by far,·occurs in the SRAM arrays, since there·is the equivalent of two inverters for each bit of storage. With even 128KB of main SRAM, thats 2M inverters. I suppose their supply voltage could be lowered, but not completely, lest they lose their contents. I really haven't looked into doing this yet, but perhaps we'll make some efforts here. Thanks for pointing this out.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Tracy Allen
02-14-2007, 03:16 AM
Thanks for the explaniation of the leakage issue. Might it be possible to apply a small negative bias to the gates in the core in order to cut them off more fully? Not necessarily by adding another power supply, but by somehow using the 3.3 volt i/o power supply in a manner to bias the SRAM array up by a couple of tenths of a volt so that the control lines can effectively go negative for those transistors?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com (http://www.emesystems.com)

Rontopia
02-14-2007, 06:11 AM
hi all.

this is an interesting discussion. hope its ok if I join in.

first of all I would truly like to thank parallax and there efforts with the propeller. the more I study it the more im impressed, with what you had to work with. well done.

I happen to agree with the idea that it would be better to be able to interface with a chip rather than "login" to it. I believe the future is monitoring data. im sure there is a small market that it "would be a nice to have" to have an IDE built in. but.. being able to interface with data serves both purpouses. weather thats done through a t-base 10 or usb or seriel.. I believe the future is better served persuing that effort.

I happen to be a IC layout Designer. the first major project I worked on was the p55c if any of you remember that. i have worked on .35um all the way down to .045um or 45 nanometer. something i am seeing more and more of now is keeping the substright and well ties on a seperate bus. for analog as well as digital. its a lot of work. but now you can bias the substright.

dont know if I have a comment about linux vs MS. I use both all the time. i understand that progress makes people mad. but if we didnt have progress, we would still be using 286's and windows 1.0. I dont like MS anymore then you. its just an evil I have learned to live with.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Muahdib


IC layout designer
Austin Texas

Beau Schwabe
02-14-2007, 08:28 AM
Rontopia,

You said...
...I happen to be a IC layout Designer. the first major project I worked on was the p55c...
I was right across the street from you when I worked for National Semiconductor.· Most of the work that I have done has been in the high speed communication division which involved
the Gig Mac Phy 10/100/1000 Ethernet chipsets.· The processes that I have worked on range from 0.35um to 0.11um (110nm) and I have also seen what you describe by keeping the substrate
and well ties on a separate bus (Usually just the BULK (P-Tap) connection).· In the 0.18um process we are currently using, VSS is tied to BULK.· VDD is tied to N-Well, there are no "HOT" wells.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe (mailto:bschwabe@parallax.com)

IC Layout Engineer
Parallax, Inc.

Post Edited (Beau Schwabe (Parallax)) : 2/14/2007 12:33:50 AM GMT

Rontopia
02-14-2007, 08:56 AM
right thats the normal way to do it. but bulk is like a spunge right, so you can tweek the vt's a little by keeping them seperate.. or so the thinking go's, I dont know if I buy it.

I worked on the P2 the P3 then I went and worked for cyrix for a while. then went and did a bunch of other stuff in canada and england. then.. I went and worked on the prescott, and a year later cedarmill projects. so I have got to do a whole range of things. cmos, bicmos, RF and just plain bipolor.

now im working for an R&D company on ladar chips that will be used to change the way robots see. exciting work. so we shoot off a laser or scan with a it, and mesure the photons that come back.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Muahdib


IC layout designer
Austin Texas

Beau Schwabe
02-14-2007, 11:21 AM
Rontopia (http://forums.parallax.com/member.php?u=43489),


You said...
...right thats the normal way to do it...· ...you can tweek the vt's a little by keeping them seperate...· ...I dont know if I buy it...
Thing is, I have seen it done both ways for the same process (different chip)...· Most often, this practice was done
when there was mixed signal custom layout. (Analog and Digital)


You said...
...now im working for an R&D company on ladar chips that will be used to change the way robots see...
Interesting approach!· I put together the High Speed ADC used·by Fovian (http://www.foveon.com/)·X3.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe (mailto:bschwabe@parallax.com)

IC Layout Engineer
Parallax, Inc.

Rontopia
02-14-2007, 11:49 PM
cool, how highspeed? how many bits of resolution?

right now, our adc's are off chip. I really dont know if we will plan to make our own on chip adc's? its kind of a 6 in one hand and a half dozen in the other.. light is really really fast;) so we get our return signal... at the speed of light. that gives us all day to read off the data. we can read off the data at 40MHz and still have all day before the next sample. we have several different types of chips in R&D. some are what we are calling hi spped and some that are just 32x1 "detector" that have 15 samples each.. sounds like a lot but at the speed of light it takes 15ns to gather all that data. ok... im done now. I will shup up;)

really tho, you did a great job on the propeller. i just got mine and am trying to warp my head around spin. not that its to hard but its time you know? I have so many balls in the air its hard to find the time. this chip has enough power to do some real work tho and thats what is so cool about it. I outgrew my BS2 really quickly not that its a bad chip but its just not powerful enough to do some of the things I want to do.

what tools did you use? did parallax pony up for cadence? and how many layout people did you have? what was your workload like?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Muahdib


IC layout designer
Austin Texas

Post Edited (Rontopia) : 2/14/2007 4:20:00 PM GMT

Beau Schwabe
02-15-2007, 12:59 AM
Rontopia (http://forums.parallax.com/member.php?u=43489),

The ADC was designed to run 12-bit resolution at 80MHz sample rate.


You said...
...really tho, you did a great job on the propeller...
Thanks, but I can't take credit for the layout of the·350nm Propeller.· Another guy no longer at Parallax named Frank Olson deserves the layout credit.

The tools we are using for layout in the 180nm process are from a company called Silicon Canvas.· I can say that after·5 years of using Cadence, that
"Laker" (Silicon Canvas's layout editor) is almost identical ... look , feel, taste, etc. to Cadence's Virtuoso Layout Editor.· Even some of the "buggy"
keystroke quirks are the same as far as how they respond/react.· Currently we have one IC-layout guy.



▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe (mailto:bschwabe@parallax.com)

IC Layout Engineer
Parallax, Inc.

Rontopia
02-15-2007, 01:12 AM
cool. I am actually going to send you an email so we can stop mucking up the thread;)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Muahdib


IC layout designer
Austin Texas