Re: HPGCC keyboard input
- From: "John H Meyers" <jhmeyers@xxxxxxxxxxxxxx>
- Date: Thu, 31 Aug 2006 11:52:03 -0500
On Thu, 31 Aug 2006 02:32:03 -0500, Chris Smith wrote:
[excellent overall perspective of product architecture]
The current top line of HP calculators contains one processor (an ARM)
emulating another processor (a Saturn, which is no longer produced in
physical form), which runs the calculator software. This is "good
enough" for many operations, but it is many times slower than what the
ARM processor is capable of doing.
Furthermore, most traditional programming for these calculators was done
in interpreted languages. Specifically, many programs were written in
RPL (either SysRPL or UserRPL), which is... run under an interpreter.So the actual picture was more like
Program->Intepreter->Saturn->Emulator->ARM.
All calculators will be "interpreters" of some sort, because it's
the only way of structuring an environment at a simple user level,
so that you don't need a general programming course to use a calculator
(as well as to keep users from crashing the calc all the time).
The amount of "interpreter" overhead in RPL is as minimal as can be,
each object even starting not with a code, but with the actual
memory address to which the CPU goes to act on that object!
(this is exactly what made it difficult to port binary user programs
between models, which would have been effortless if calc programs
were really "interpreted" in the general form most people might imagine).
HPGCC allows you to write code in C
(not RPL, nor some little-used assembly language)
Though I'm not an HPGCC user, I have the impression that
HPGCC treats the calculator platform as a raw computer,
with the built-in calc OS (and its thousands of pre-programmed functions)
almost entirely scrapped, and would even let you write a new OS
(if there were enough memory), right?
The "little used assembly language" and the basic design
of the original Saturn processor were specifically engineered
for the qualities which HP calculators have been known for,
such as pure decimal calculation, the "round to even" floating-point,
and the re-use of the algorithms and function libraries
proven over many years, as depended upon by
thousands of user-developed programs and applications,
much as is the case with any other well-developed environment.
In return (there's always a down side), it is considerably harder
to interact with the calculator environment
such as the stack and variable contents.
Exactly -- the calc product is, as it always was, made for users
to personally interact with at an end-user (application) level,
including an abstract (and simple) programming language
suited for a calculator, rather than for a general-purpose computer.
To get some perspective on what this means, though, HPGCC programs often
run hundreds of times faster than the equivalent code in SysRPL. They
also have access to certain hardware features (notably, grayscale
graphics) that aren't available to the emulated calculator environment.
Even my old first 8_MHz IBM PC probably could do everything
that a 2.5_GHz dual-core Zeon computer does today, if only
that bloated, resource-hogging Windows OS were replaced
by the original MS-DOS, but someone always
manages to find a way to use up all the hardware capability
and leave me at exactly the same end-user speed :)
At any rate, HPGCC is the only tool which lets you
"cut through" the layers of calculator product
to get at the innermost hardware on which it runs,
or at least to get to a level where you can
manipulate what's in memory using the "C" language,
but then, to connect with the user, you still have to
take into consideration the unique environment
of the entire platform, including the expectation that
this newly opened inner environment can somehow
be seamlessly merged with it -- which I hope
will become a complete success.
[r->] [OFF]
.
- Follow-Ups:
- Re: HPGCC keyboard input
- From: Chris Smith
- Re: HPGCC keyboard input
- References:
- HPGCC keyboard input
- From: dougjgray
- Re: HPGCC keyboard input
- From: TW
- Re: HPGCC keyboard input
- From: gorfle
- Re: HPGCC keyboard input
- From: Chris Smith
- HPGCC keyboard input
- Prev by Date: Re: HPGCC keyboard input
- Next by Date: Re: HP calc. Customer Service
- Previous by thread: Re: HPGCC keyboard input
- Next by thread: Re: HPGCC keyboard input
- Index(es):
Relevant Pages
|