Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

segment ordering in ANSI-C-TOOLSET programs

1 view
Skip to first unread message

Carsten Grzemba

unread,
May 27, 1993, 4:53:37 AM5/27/93
to

I work with the ANSI-C-TOOLSET on Parsytec Multicluster MC 2-16.
If I make a single node program which is config without a cfs-file
(icollect /t file.lku) the execution time is distinct longer as the
same program make with a cfs-file. The reason for the time difference
is probability the different ordering of the stack-,heap-,code-segments.
But if I try to order the segements with the order-attribut in the
cfs-file i can't get the bad result like the program make without a cfs-file.
I belief the order-attribute has no effect.

Is there anyone who know how a program will config if I use no cfs-file?
Do the order-attribut work in a cfs-file?
Is there any other possibilities to place variables in the on-chip-memory?
What kind of segment is the vector segment?

Thanks in advance.

Carsten Grzemba Tel. : 03677 691443
Institut Informatik und Automatisierung Fax. : 03677 691196
TU-Ilmenau
O-6300 Ilmenau email:grz...@theoinf.tu-ilmenau.de

Nigel Holder [the grand guardian of the sacred shovel]

unread,
May 27, 1993, 6:41:00 AM5/27/93
to
In article <1993May27.0...@news.tu-ilmenau.de> grz...@theoinf.TU-Ilmenau.DE (Carsten Grzemba) writes:
>
>I work with the ANSI-C-TOOLSET on Parsytec Multicluster MC 2-16.
>If I make a single node program which is config without a cfs-file
>(icollect /t file.lku) the execution time is distinct longer as the
>same program make with a cfs-file. The reason for the time difference
>is probability the different ordering of the stack-,heap-,code-segments.
>But if I try to order the segements with the order-attribut in the
>cfs-file i can't get the bad result like the program make without a cfs-file.
>I belief the order-attribute has no effect.

You don't actually specify the time the programs take to execute.

Non-configured programs (icollect /t file.lku) will ask the host for
IBOARDSIZE - use the icollect M option to stop this happening.

Use the icollect P (map output) option to see where things are going in memory.


>I belief the order-attribute has no effect.

This is only true when configuring for debugging with idebug (icconf G or GP
options).


-Nigel

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Nigel Holder, Software Group, INMOS Ltd Tel +44 454 616616
1000 Aztec West Fax +44 454 617910
Almondsbury
Bristol BS12 4SQ, UK. email: ni...@inmos.co.uk

"Lost in time like tears in rain. Time to die" Blade Runner

Stephen Clarke

unread,
May 27, 1993, 1:56:23 PM5/27/93
to
In article <1993May27.0...@news.tu-ilmenau.de> grz...@theoinf.TU-Ilmenau.DE (Carsten Grzemba) writes:
>
>I work with the ANSI-C-TOOLSET on Parsytec Multicluster MC 2-16.
>If I make a single node program which is config without a cfs-file
>(icollect /t file.lku) the execution time is distinct longer as the
>same program make with a cfs-file. The reason for the time difference
>is probability the different ordering of the stack-,heap-,code-segments.
>But if I try to order the segements with the order-attribut in the
>cfs-file i can't get the bad result like the program make without a cfs-file.
>I belief the order-attribute has no effect.
>
>Is there anyone who know how a program will config if I use no cfs-file?

Without configuring (ie. doing icollect /t file.lku), the order will be

top of
memory
/\
stack

heap

static data

code
\/
memstart

This is probably not going to give you the fastest program, as the stack
will not be in on-chip RAM, but it does have the advantage that you don't
have to specify the size of the stack - the stack can expand to use the
whole of the free memory.

You can change this ordering using the icollect /s option to specify a
fixed-size stack (ie. do icollect /t /s stack.size file.lku, where
stack.size is the size of the stack in *words*). If you do this, the
order will be

top of
memory
/\
heap

static data

code

stack
\/
memstart

This ordering is generally the fastest, as the stack gets into on-chip RAM,
and if you make the stack small enough, then code can get on-chip as well.

Further details are given in the documentation with the IMS Dx314A toolsets.
See the section entitled "Performance Improvement with the INMOS Dx314A
ANSI C Toolset", which you will probably find at the back of the binder
labelled "ANSI C Toolset User Guide".

Also, the Dx314A contains a tool called "imap" which will produce a
detailed description of exactly what is where in memory.

>Carsten Grzemba Tel. : 03677 691443
>Institut Informatik und Automatisierung Fax. : 03677 691196
>TU-Ilmenau
>O-6300 Ilmenau email:grz...@theoinf.tu-ilmenau.de


---
Stephen Clarke INMOS Ltd, Bristol | EMail(UK) ste...@inmos.co.uk
The opinions above are my personal | Internet: ste...@inmos.com
views and do not reflect INMOS policy. |

0 new messages