picoJava and 970 chipset

Posted:
in Future Apple Hardware edited January 2014
First, let me get things clear. Im NOT suggesting that the 970 have buildt in picoJava support. Im only sharing thoughts with you...



Since Java is fast becomming the most popular programming language, the only thing holding it back is speed. And Sun have addressed this problem in many ways. One of them: The picoJava architecture. In short, picoJava is Java Virtual Machine on a chip, instead of in software, meaning that java bytecode would be executed just as fast as Objective-C compiled code (well, almost anyways).



My thinking goes: Why doesn't Apple supply an on-chip picoJava chip that uses Java 1.4.1 on its motherboard ? For me, this would be a no-brainer. With a picoJava chip, java apps would be really fast, and a special build JVM could make it work, even when Java reach 1.5, 2.0 etc. Of course, any code written in above-1.4.1 code would be executed through software instead of hardware, and therefore slower. But Apple could just release a chipset for subsequent java releases in their new mobos.



This would make a Macintosh _The_ fastest Java machine on the market (Consumer, that is), untill others catch up, and, might help sell heaps more Macs for a $100 addon.



In your oppinion, whats stopping Apple from doing this ? I think this would be a great addition to Java support on the Mac, which might just help making it the de-facto java machine!



.:BoeManE:



Edited for typos
«1

Comments

  • Reply 1 of 28
    ast3r3xast3r3x Posts: 5,012member
    probably not because its not practical





    it is an interesting idea...why not just make a chip on the basics and then a firmware type chip to update?



    is this even possible...probably not
  • Reply 2 of 28
    airslufairsluf Posts: 1,861member
  • Reply 3 of 28
    programmerprogrammer Posts: 3,458member
    Quote:

    Originally posted by BoeManE

    Since Java is fast becomming the most popular programming language, the only thing holding it back is speed.



    I would take issue with this -- Java has serious problems and continued adoption on the Microsoft platform faces an uphill battle, especially in face of the .NET toolset which is considerably superiour. Apple would do well to get on board MS' .NET initiative, otherwise they are likely to be left behind.
  • Reply 4 of 28
    boemaneboemane Posts: 311member
    Quote:

    Originally posted by Programmer

    I would take issue with this -- Java has serious problems and continued adoption on the Microsoft platform faces an uphill battle, especially in face of the .NET toolset which is considerably superiour. Apple would do well to get on board MS' .NET initiative, otherwise they are likely to be left behind.



    Allthough .Net have supperiority over Java in some cases, Java still remains more cross-plattform that Java is. Besides, .Net is more of a competition with PHP and JSP than with Java. On another note, Apple cannot get "on board" with .Net. This is a fact. There is no way .net will ever be useful on the Macintosh plattform! If Microsoft wanted cross-platform compatibility, it would already exist. .Net is yet another way for MS to force people using MS Windows.



    What id like to see is Java being more useful on the Mac than on any other plattform! I see adding picoJava to the mobo doing this.



    .:BoeManE:.
  • Reply 5 of 28
    mmicistmmicist Posts: 214member
    Quote:

    Originally posted by BoeManE

    First, let me get things clear. Im NOT suggesting that the 970 have buildt in picoJava support. Im only sharing thoughts with you...



    Since Java is fast becomming the most popular programming language, the only thing holding it back is speed. And Sun have addressed this problem in many ways. One of them: The picoJava architecture. In short, picoJava is Java Virtual Machine on a chip, instead of in software, meaning that java bytecode would be executed just as fast as Objective-C compiled code (well, almost anyways).



    My thinking goes: Why doesn't Apple supply an on-chip picoJava chip that uses Java 1.4.1 on its motherboard ? For me, this would be a no-brainer. With a picoJava chip, java apps would be really fast, and a special build JVM could make it work, even when Java reach 1.5, 2.0 etc. Of course, any code written in above-1.4.1 code would be executed through software instead of hardware, and therefore slower. But Apple could just release a chipset for subsequent java releases in their new mobos.



    This would make a Macintosh _The_ fastest Java machine on the market (Consumer, that is), untill others catch up, and, might help sell heaps more Macs for a $100 addon.



    In your oppinion, whats stopping Apple from doing this ? I think this would be a great addition to Java support on the Mac, which might just help making it the de-facto java machine!



    .:BoeManE:



    Edited for typos




    Unfortunately, so far all hardware Java machines have been slower than the better JITs.



    The problem is really one of resources, if you want a fast Java machine, you are going to have to put as much effort into the design as you do for any other fast processor.



    Consider the cost and effort of producing a Java machine about as complex and costly as a G3 processor, as well as motherboard space, increased complexity of memory access etc., this would push up the cost of the computer a fair amount, and yet produce something slower than a JIT running on an 1.8GHz PPC970.



    To equal the performance of a good JIT on an 1.8GHz PPC970, you would need a Java machine at least as complex and expensive as a fast G4.



    michael
  • Reply 6 of 28
    boemaneboemane Posts: 311member
    Quote:

    Originally posted by mmicist

    Unfortunately, so far all hardware Java machines have been slower than the better JITs.



    The problem is really one of resources, if you want a fast Java machine, you are going to have to put as much effort into the design as you do for any other fast processor.



    Consider the cost and effort of producing a Java machine about as complex and costly as a G3 processor, as well as motherboard space, increased complexity of memory access etc., this would push up the cost of the computer a fair amount, and yet produce something slower than a JIT running on an 1.8GHz PPC970.



    To equal the performance of a good JIT on an 1.8GHz PPC970, you would need a Java machine at least as complex and expensive as a fast G4.



    michael




    Really ? According to my Computer Hardware book, Suns microJava 701 machine (using picoJava II), is pretty fast. Allthough this is an older book (from 99), I would think its fairly accurate.



    I havent seen any java hardware, other than smart cards, but they incorporate really cheap JVM chips costing only a couple of buck (25 or so). Im sure you could build a translator (Which is what the JVM is) that translates Java bytecode directrly to 970 RISC instructions to feed the CPU. I know this is part of the picoJava roadmap (remember my book is from 99). Such a chip shouldnt be to expensive, should it ?



    JVM only has, what 80 instructions or so ? Im sure most of these translates pretty well into PPC instructions. I mean, you could go one of two ways. A true chipset translator, or a chip inclulding a microporgram to translate the really complex instructions (microprograms are upgradable), like the Pentium series have. A CISC translator to translate complex instructions for the underlying RISC arhitecture.



    .:BoeManE:.
  • Reply 7 of 28
    synpsynp Posts: 248member
    Quote:

    Originally posted by BoeManE

    Since Java is fast becomming the most popular programming language...



    No, it's not. Studies show that the most popular languages for new software developments are still Cobol and C++. Java is a far third.



    Quote:

    ...the only thing holding it back is speed. And Sun have addressed this problem in many ways. One of them: The picoJava architecture. In short, picoJava is Java Virtual Machine on a chip, instead of in software, meaning that java bytecode would be executed just as fast as Objective-C compiled code (well, almost anyways).



    You're making a very common mistake. You are confusing the Java language with the Java virtual machine. If you take a Java program and compile it into bytecode, it needs a JVM to run. Theoretically, you could write a compiler that translates Pascal or Basic into Java bytecode. Similarly you can write compilers that translate Java into native machine code, just as efficient as C, C++ or Cobol.



    Apple's Development Tools contain just such a compiler. Your compiled Java application does not require a JVM to run. If it's somewhat slow, then maybe the compiler is not good enough, or maybe the frameworks are slow, but you would not get any better performance by having a JVM-on-a-chip.
  • Reply 8 of 28
    boemaneboemane Posts: 311member
    Side note...



    According to Webopedia.com:



    Quote:

    A low-cost RISC microprocessor dedicated to executing Java -based bytecodes without the need for a interpreter or JIT compiler.



    picoJava directly executes the Java Virtual Machine instruction set. As a result, Java software applications are up to 3 times smaller in code size and up to 5 times faster--thus reducing memory requirements--and 20 times faster than Java interpreters running on standard CPU s.



    It does not include any memory or I/O interface logic. Rather, developers can add their own logic to customize memory and an interface.



    Quote:

    You are confusing the Java language with the Java virtual machine. If you take a Java program and compile it into bytecode, it needs a JVM to run.



    According to Webopedia, picoJava is an achitecture that " directly executes the Java Virtual Machine instruction set" which are up to 5 times faster than code run on most common CPUs (meaning Pentium for sure).

    I found the following picoJava chipset for sale at :



    Systronix



    Edited for additional information
  • Reply 9 of 28
    Quote:

    Originally posted by BoeManE

    Of course, any code written in above-1.4.1 code would be executed through software instead of hardware, and therefore slower.



    In your oppinion, whats stopping Apple from doing this ?




    You answered yourself before you even asked.



    But thanxx for starting a non-970 thread.. We needed this!
  • Reply 10 of 28
    occamoccam Posts: 54member
    Quote:

    Originally posted by synp

    No, it's not. Studies show that the most popular languages for new software developments are still Cobol and C++. Java is a far third.





    Synp, this assertion could use some support. Please provide references to your studies. I find it odd that a new language (Java) could be responsible for so many old projects. Also, even if all Java projects were old projects, the original assertion of Java's popularity could still be true.



    The news I've read about recently suggest that Java has supplanted C++ in popularity (#programmers). I doubt Cobol is most popular language up there with Java or even C++. Perhaps you're referring to lines of code (Cobol's strength) which is different than popularity and far different than new projects?
  • Reply 11 of 28
    ast3r3xast3r3x Posts: 5,012member
    Quote:

    Originally posted by T'hain Esh Kelch

    You answered yourself before you even asked.



    But thanxx for starting a non-970 thread.. We needed this!




    haha...970 left and right
  • Reply 12 of 28
    programmerprogrammer Posts: 3,458member
    Quote:

    Originally posted by BoeManE

    Although .Net have superiority over Java in some cases, Java still remains more cross-plattform than .Net is. Besides, .Net is more of a competition with PHP and JSP than with Java.



    .NET is a whole lot more than a PHP or JSP replacement -- if that's all you think it is then you haven't looked at it very closely.



    Quote:

    On another note, Apple cannot get "on board" with .Net. This is a fact. There is no way .net will ever be useful on the Macintosh plattform! If Microsoft wanted cross-platform compatibility, it would already exist. .Net is yet another way for MS to force people using MS Windows.





    It does, in beta form. Keep in mind how new .Net is, so the MacOS X and FreeBSD versions are somewhat behind. Naturally MS isn't supporting Linux, but that's hardly surprising is it? What I haven't seen is any sign that Apple has approached Microsoft to work collaboratively on this effort. Personally I think this is a mistake -- if they were to take part then the result will look "more native".



    Quote:



    What id like to see is Java being more useful on the Mac than on any other plattform! I see adding picoJava to the mobo doing this.





    With modern JITs the performance of Java on a full-fledged desktop processor (G4, 970, P4, Athlon) will seriously outclass the picoJava hardware. There are issues with adding a picoJava chip to another machine -- how does the chip's memory fit into the virtual memory space(s), how is it used by multiple processes at the same time, etc. The extra chip adds to the cost, power consumption, heat generation, etc. In a time when everybody is complaining about the high cost of Macs you want to add another component?



    Incidentally, I believe the JVM is a stack-based architecture which doesn't map well to the PowerPC's load/store architecture. The use of a JIT should address that somewhat, but the straightforward JVM will probably always be a bit slower on a PowerPC compared to an x86 (since the x86 has many memory-based instructions and often doesn't spend effort loading & storing).
  • Reply 13 of 28
    cubistcubist Posts: 954member
    .NET is not cross-platform, nor will it ever be. There were some folks working on an open-source version (Mono); now that MS has filed for a patent on .NET, those efforts will probably stop. (There is nothing innovative about .NET at all, but the US PTO is one of the stupidest organizations on earth.) These are dark times for innovation; both Intel and Microsoft are acting worse than ever.



    For Apple to cooperate with MS on .Net would be analogous to the Eastern European countries who cooperated with Stalin in the late 40s. What did it get them? Microsoft, like Stalin, has no interest in cooperating with other companies. They intend to be the only company.
  • Reply 14 of 28
    programmerprogrammer Posts: 3,458member
    Quote:

    Originally posted by cubist

    .NET is not cross-platform, nor will it ever be. There were some folks working on an open-source version (Mono); now that MS has filed for a patent on .NET, those efforts will probably stop. (There is nothing innovative about .NET at all, but the US PTO is one of the stupidest organizations on earth.) These are dark times for innovation; both Intel and Microsoft are acting worse than ever.



    For Apple to cooperate with MS on .Net would be analogous to the Eastern European countries who cooperated with Stalin in the late 40s. What did it get them? Microsoft, like Stalin, has no interest in cooperating with other companies. They intend to be the only company.




    So what is the MacOS X .NET CLI project I downloaded from MS yesterday then? Microsoft delivers software on the Mac platform, and if Apple helps them with it, so much the better. They aren't Stalin, they are out to make as much money as possible and spend as little of that money as possible doing it.
  • Reply 15 of 28
    jlljll Posts: 2,713member
    Quote:

    Originally posted by Programmer

    So what is the MacOS X .NET CLI project I downloaded from MS yesterday then? Microsoft delivers software on the Mac platform, and if Apple helps them with it, so much the better. They aren't Stalin, they are out to make as much money as possible and spend as little of that money as possible doing it.



    As far as I understand it might be the plan that .Net client applications can run on different platforms, but the server part will be Windows only.



    I could be wrong though.
  • Reply 16 of 28
    wmfwmf Posts: 1,164member
    PicoJava is 3x-5x faster than a Java interpreter, but a modern JIT is 15x faster than an interpreter. So PicoJava is actually slower than a software JIT.
  • Reply 17 of 28
    Quote:

    Originally posted by Programmer

    .NET is a whole lot more than a PHP or JSP replacement -- if that's all you think it is then you haven't looked at it very closely.



    Well, I'm not surprised that there's some confusion. It seems that even Microsoft doesn't know what .NET is yet. (See below.)

    Quote:

    It does, in beta form. Keep in mind how new .Net is, so the MacOS X and FreeBSD versions are somewhat behind. Naturally MS isn't supporting Linux, but that's hardly surprising is it? What I haven't seen is any sign that Apple has approached Microsoft to work collaboratively on this effort. Personally I think this is a mistake -- if they were to take part then the result will look "more native".



    Apple is wise to hold off until they see which way the wind is blowing. This could be important, or just the next failed initiative out of Redmond. Microsoft has been through these paroxsyms before. They announce an initiative that's going to change the face of computing and then spend several years developing squat.



    Given the confusion at even the highest levels of MS about what the current initiative is supposed to be, I give it a 50-50 chance of being relevant to anything in the next 3-5 years.



    Quote:

    101 Dumbest Moments in Business



    48-50

    .Net: Now we get it.




    "One question might be, and I'll be as direct as I can be about this, what is .Net? Unlike Windows, where you could say it's a product, it sits in one place, it's got a nice little box. In some senses, it's a very good question."

    - Microsoft CEO Steve Ballmer, at a Microsoft .Net briefing day in July



    "We don't have the user-centricity. Until we understand context, which is way beyond presence -- presence is the most trivial notion of context.

    - Microsoft chairman Bill Gates, on the same topic at the same briefing



    "Our biggest problem was policing the use of .Net. Things like .Net Enterprise Servers. That's a great example of where the confusion came from, because it looked like we were slapping .Net on a bunch of random products."

    - Charles Fitzgerald, general manager of Microsoft's platform strategy group, in August on ZDNet News



    It's about connecting people to people, people to information, businesses to businesses, businesses to information, and so on. That is the benefit."

    Steve Ballmer, trying again, in an October interview with News.com



  • Reply 18 of 28
    Java, yuck! Woudln't that be apile of extra instructions to do that...kind of a waste, since it would be an awful lot.
  • Reply 19 of 28
    programmerprogrammer Posts: 3,458member
    Quote:

    Originally posted by Tomb of the Unknown

    Well, I'm not surprised that there's some confusion. It seems that even Microsoft doesn't know what .NET is yet. (See below.)





    Well frankly, I'm a technologist and looking at the .Net technology I have to admit (rather against my will) that MS has finally done a pretty solid job of the design groundwork on something. The problem they are having with .Net that you are refering to is a marketing problem -- how do they tell people about it, and how do they sell it. The important thing is that technology exists and looks surprisingly solid. If they have to try a dozen different marketing approaches and rename it ten times it doesn't really matter... they'll figure it out eventually. That's how Microsoft works.



    I'm over generalizing... .Net is made up of many many technologies. That's probably why they haven't figured out how to tell people what it is yet. The important bits at the base level are what I'm primarily talking about. At that level there really isn't a distinction between client and server. I'm sure there are server support services that they aren't porting to MacOS X, but that's why Apple ought to be involved -- perhaps Apple could provide that server support and/or make it interoperable with things like WebObjects and Cocoa.
  • Reply 20 of 28
    rhumgodrhumgod Posts: 1,289member
    Quote:

    Originally posted by Programmer

    I'm over generalizing... .Net is made up of many many technologies. That's probably why they haven't figured out how to tell people what it is yet. The important bits at the base level are what I'm primarily talking about. At that level there really isn't a distinction between client and server. I'm sure there are server support services that they aren't porting to MacOS X, but that's why Apple ought to be involved -- perhaps Apple could provide that server support and/or make it interoperable with things like WebObjects and Cocoa.



    I think that Microsoft could best state this as a "fix for the hell we put users through with COMs and DLLs".



    They could say that it is to Windows services what WebObjects is for the Macintosh.



    If that doesn't work, they'll have to stick to babbling about XML based Web services which still they don't truely comprehend.
Sign In or Register to comment.