SHARC-Oberon 
Author Message
 SHARC-Oberon

Quote:

>   I wonder how many c.l.o participants know
> that an Oberon-2 compiler (based on OP-2)
> for Analog Devices SHARC digital signal processor
> has been developed at ETH as a diploma work
> some two years ago, and in principle it is
> available? The compiler is quite well documented
> in both German and English.

I've had my eye on the SHARC DSP for a while. I see it as being very
useful for the design of intelligent instrumentation. For example, in
the measurement of turbulence a single SHARC DSP could easily handle
real-time linearisation of cross-wire anemometer measurements as well as
the computation of Reynolds stresses and cross-spectra. The ability to
code these algorithms in a high-level language such as Oberon-2 and
boot-strap the instrument from a PC serial port would make it very easy
to maintain this sort of setup. An alternative would be to do this sort
of thing using data acquisition cards and PCs, but inevitably the OS
gets in the way. For example, you can't get any sort of real-time
behaviour out of Windows NT without delving into virtual device drivers
and interrupt handlers, which exposes the entire OS to any bugs in the
software.

In the fantasy world in which I suddenly have lots of time to spend on
these things, I planned to buy an EZ-KIT and play around with some audio
effects algorithms. For $179 you get a DSP board with a full-duplex
stereo audio codec, a C compiler, an instruction-level simulator, and
various libraries. This sort of target environment would offer a fairly
affordable path for anyone interested in writing DSP code in Oberon-2.

Quote:
> According to the
> thesis the code it generates beats the code
> generated by Analog Devices C compiler for the SHARC.

I wasn't aware of that. Does this mean that the compiler knows about
instruction-level parallelism (eg. multiply-accumulate)?

Quote:
> I am saying "is available in principle" because
> the package has not made it to the official
> ETH server, perhaps because the V4 part of the
> service has been dormant for a while.
> However, as far as I know, the author of the
> package would love to see it being used.

It sounds like there are quite a few Oberon compilers out there for
unusual architectures that have not seen the light of day. Many of these
architectures present some interesting problems for compiler writers. I
would still very much like to see the uOberon (8051) compiler developed
to a usable state. It would also be nice to see a compiler for the Atmel
AVR microcontroller, which is specifically optimised for high-level
(sic) languages such as "C".

Cheers,
- Stewart



Sun, 28 Oct 2001 03:00:00 GMT  
 SHARC-Oberon

Quote:

>I've had my eye on the SHARC DSP for a while. I see it as being very
>useful for the design of intelligent instrumentation. For example, in
>the measurement of turbulence a single SHARC DSP could easily handle
>real-time linearisation of cross-wire anemometer measurements as well as
>the computation of Reynolds stresses and cross-spectra.

It's good to know that there is someone in the Oberon community wise to
turbulence measurements.  I have occasional experience with turbulence
measurement in micrometeorlogy.  Is there any FFT code in Oberon-2 or
Component Pascal?

Thanks,

-- Hal



Sun, 28 Oct 2001 03:00:00 GMT  
 SHARC-Oberon
Yes on Ulf Dittmer's utility page at:

http://www.capital.net/~dittmer/oberon.html
--
    Bernhard Treutwein             Tel. +49-89-5996-642, Fax -615
    Institut f. Med. Psychologie  Ludwig-Maximilians-Universitaet

    --------------------------------  ---------------------------
    C is its own virus



Fri, 02 Nov 2001 03:00:00 GMT  
 SHARC-Oberon

Quote:

> Yes on Ulf Dittmer's utility page at:

> http://www.capital.net/~dittmer/oberon.html

I saw some interesting stuff on that page,
but nothing on Sharc-Oberon.  To coin a
phrase "where's the sharkmeat?".


Mon, 05 Nov 2001 03:00:00 GMT  
 SHARC-Oberon

Quote:


> > Yes on Ulf Dittmer's utility page at:

> > http://www.capital.net/~dittmer/oberon.html

> I saw some interesting stuff on that page,
> but nothing on Sharc-Oberon.  To coin a
> phrase "where's the sharkmeat?".

I got this from Wojtek
================================
Hi:

  I cannot post to c.l.o because dejanews
that I was using is sort of screwed up
after they changed their layout. I would
appreciate if you can post this on my behalf.

Thank you in advance.
Regards,

Wojtek



Quote:


> > Yes on Ulf Dittmer's utility page at:

> > http://www.capital.net/~dittmer/oberon.html

> I saw some interesting stuff on that page,
> but nothing on Sharc-Oberon.  To coin a
> phrase "where's the sharkmeat?".

As I explained in my original posting,
SHARC-Oberon compiler was developed
by Urban Gerber as his diploma thesis at
ETH under Prof. N.Wirth supervision
about two years ago. The proper place to find
this compiler is of course ETH ftp server.
I myself found out about the project in the
"student projects" section of the official
Comp.Sci. dept www server.

I myself got interested in that project because
of our plans to use SHARC in XIA products.
I translated Urban's thesis from German using
the automatic SysTran translator plus some
guesswork because I do not speak German,
and then forwarded the translated thesis
back to the author and to Prof. N.Wirth.
I thought that someone in c.l.o community
might be interested in DSP
programming and thus I posted info
about the compiler.

BTW, SHARC is the name of a DSP from
Analog Devices. It has nothing in common
with Shark computer from Digital.

Hope this helps clear misunderstanding.

I am not regularly reading c.l.o these days
because of my limited Internet access.
If someone is interested in this topic then
I will appreciate e-mail. I cannot guarantee
my answering c.l.o postings.

Wojtek

Wojtek Skulski
X-Ray Instrumentation Associates
2513 Charleston Rd #207, Mountain View, CA 94043, USA
Tel: 650 903 9980 ext. 16      Fax: 650 903 9887



Fri, 09 Nov 2001 03:00:00 GMT  
 SHARC-Oberon
More info on the SHARCOberon Corsscompiler can be found at:

http://www.cs.inf.ethz.ch/cs/group/wirth/stud_work/97wsnwgerber.html

as far as I understood Wojtec you should contact the author
for details.

PS: In my last post I forgot to quote the original message

Quote:

[...]
> Is there any FFT code in Oberon-2 or Component Pascal?

therefore my post was quite misleading, apologies.

--
    Bernhard Treutwein             Tel. +49-89-5996-642, Fax -615
    Institut f. Med. Psychologie  Ludwig-Maximilians-Universitaet

    --------------------------------  ---------------------------
    C is its own virus



Mon, 12 Nov 2001 03:00:00 GMT  
 SHARC-Oberon

Since this message has not shown up after more than a week, I'll assume
that there is a problem with my NNTP server and try again. Apologies for
any duplicates received.

Quote:




Quote:

> >I've had my eye on the SHARC DSP for a while. I see it as being very
> >useful for the design of intelligent instrumentation. For example, in
> >the measurement of turbulence a single SHARC DSP could easily handle
> >real-time linearisation of cross-wire anemometer measurements as well
as
> >the computation of Reynolds stresses and cross-spectra.

> It's good to know that there is someone in the Oberon community wise
to
> turbulence measurements.  I have occasional experience with turbulence
> measurement in micrometeorlogy.  Is there any FFT code in Oberon-2 or
> Component Pascal?

Thanks to Bernhard for pointing out Ulf Dittmer's FFT libraries.

As a relative newcomer to Oberon I can't honestly say that I've done
much scientific computing with it. My experience with turbulence
measurment dates back a few years when I was mostly using C programs
under MS/DOS and fixed-point DSPs. Our instruments were a little unusual
because we were working in hostile environments (eg. sand-blasting).
Thus rules out the use of conventional instruments such as hot-wires, so
we had to develop a robust sensor based on a pressure-sphere anemometer.
As you may know, tubing systems have complex transfer functions and
these needed to be corrected using digital filters. The resulting signal
processing was quite complex: banks of digital filters feeding into
velocity and stress computations, cascaded decimation filters and
correlators to compute integral time-scales over periods ranging from
milliseconds to hours.

I would argue that Oberon-2 is probably quite a good language for doing
such things. For applications such as I have described, features like
garbage collection and range checking are very useful, especially when
you need your system to be reliable and run for long periods of time. As
scientific applications inevitably involve array manipulations, it would
be useful to have a compiler that could use information about array
bounds to eliminate range checks. For example, in the following code
there is no need to check either array bound at run-time, even if a is
an open array.

  FOR i := 1 TO LEN(a)-1 DO
    a[i-1] := a[i]
  END;

Perhaps someone can comment on whether any Oberon-2 compilers actually
do this. It would be quite a complex optimisation and is not the sort of
thing that would be possible for a language such as C. I remember being
pleasantly surprised at how difficult it is to force an array bounds
exception using OOC. While most compilers would probably catch the first
error (1, below) at compile time, OOC will also catch the second (2).

MODULE Test;

VAR a : ARRAY 10 OF INTEGER;
    i, j : INTEGER;
BEGIN
  a[10];  (* error (1) *)
  i := 5; j := 1;
  INC(j);
  a[i*j] := 0; (* error (2) *)
END Test.

I guess this is a side effect of its use of constant propagation. I've
not found a C compiler yet that will catch either error in the
equivalent C code.

Enough rambling ...

Cheers,
- Stewart

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.



Sat, 17 Nov 2001 03:00:00 GMT  
 SHARC-Oberon

Quote:

> As
> scientific applications inevitably involve array manipulations, it would
> be useful to have a compiler that could use information about array
> bounds to eliminate range checks. For example, in the following code
> there is no need to check either array bound at run-time, even if a is
> an open array.

>   FOR i := 1 TO LEN(a)-1 DO
>     a[i-1] := a[i]
>   END;

> Perhaps someone can comment on whether any Oberon-2 compilers actually
> do this. It would be quite a complex optimisation and is not the sort of
> thing that would be possible for a language such as C.

A simple single pass compiler will have its problems with this
situation.  To prove that 0<=i<LEN(a) it must inspect the FOR header
(trivial) and all statements and procedure calls in the loop body to
make sure that variable `i' is only modified by the FOR statement.
The latter needs much more effort.  Proving the same assertion for the
term `i-1' would then use the known range of values of `i'.

Implementing such an range analysis for OOC would require moderate
effort and can be done quite efficiently.  The range information can
then be used to omit unnecessary run-time checks.  Similar reasoning
could get rid of other run-time checks, e.g. type guards.

-- Michael van Acken
[ OOC Home Page: http://www.uni-kl.de/OOC ]



Mon, 19 Nov 2001 03:00:00 GMT  
 SHARC-Oberon

Quote:

>I would argue that Oberon-2 is probably quite a good language for doing
>such things. For applications such as I have described, features like
>garbage collection and range checking are very useful, especially when
>you need your system to be reliable and run for long periods of time. As
>scientific applications inevitably involve array manipulations, it would
>be useful to have a compiler that could use information about array
>bounds to eliminate range checks. For example, in the following code
>there is no need to check either array bound at run-time, even if a is
>an open array.

>  FOR i := 1 TO LEN(a)-1 DO
>    a[i-1] := a[i]
>  END;

I don't know that anyone in th Oberon community ever picked up
on his ideas, but Robert Griesemer looked at handling array
computations and and proposed a couple of extentions to Oberon
in his dissertion "A Programming Language for Vector Computers",
http://www.oberon.ethz.ch/cs/dissertations.html
--
As long as each individual is facing the TV tube alone, formal
freedom poses no threat to privilege.  --Noam Chomsky


Mon, 19 Nov 2001 03:00:00 GMT  
 
 [ 43 post ]  Go to page: [1] [2] [3]

 Relevant Pages 

1. SHARC Oberon compiler

2. Forth for SHARC ?

3. Forth for SHARC

4. SHARC project ?

5. Frage Oberon 3 / Question Oberon 3

6. CD-Oberon - Oberon/F

7. CD-Oberon Oberon 3 Printer Problem

8. Oberon System 3 / Native Oberon projects

9. inquiry about Visual Oberon/PC Native Oberon System 3

10. Native Oberon: Getting DOS based installation out of Oberon-0

11. Oberon-2 in Native Oberon System 3

12. modula2-to-Oberon, C++-to-Oberon

 

 
Powered by phpBB® Forum Software