public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: "Frank Ch. Eigler" <fche@redhat.com>
To: Doug Evans <dje@sebabeach.org>
Cc: Joseph A <joseph.altmaier@gmail.com>, cgen@sourceware.org
Subject: Re: how can one achieve pipelined operation?
Date: Thu, 02 Jul 2009 12:29:00 -0000	[thread overview]
Message-ID: <20090702122900.GI32510@redhat.com> (raw)
In-Reply-To: <4A4C23E6.60401@sebabeach.org>

HI -

On Wed, Jul 01, 2009 at 08:05:10PM -0700, Doug Evans wrote:
> [...]
> >An exposed pipeline is reasonably easily modelled with deferred write
> >queues in a sid-based simulator; see the mep port.
>
> Thanks.  The semantics for each instruction are generated from cgen, 
> but  the pipeline (i.e. instruction fetch, execute, retire) is handcrafted.
> [Right?]

We have not had to model some details of an ordinary interlocked
pipeline (e.g., a separate "fetch" stage) since they do not affect the
visible execution of a normal program, only performance.  For cycle
counting purposes, cgen has some support (functional unit
parametrization), though by nature simple counting models are gross
exaggerations of real complex CPUs.

For unusual pipelines where some interlocks were missing (so a "write"
of some sort in one pipeline stage could be briefly invisible to a
"read" in another functional unit), assembly programs *are* exposed to
the operation of the pipeline.  So, in sid, the deferred-write-queue
mechanism was built to model that, as driven by the
   (delay N (set ... ...))
directive in cgen semantics.

I don't know which of these two different aspects you need.

- FChE

  parent reply	other threads:[~2009-07-02 12:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-25 20:54 Joseph A
2009-07-01 10:50 ` Frank Ch. Eigler
2009-07-02  3:05   ` Doug Evans
2009-07-02 12:09     ` Dave Korn
2009-07-02 12:29     ` Frank Ch. Eigler [this message]
2009-07-02 16:45       ` Joseph A
2009-07-12  2:27         ` Frank Ch. Eigler
2009-07-30 20:12           ` Joseph A
2009-07-30 20:19             ` Frank Ch. Eigler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090702122900.GI32510@redhat.com \
    --to=fche@redhat.com \
    --cc=cgen@sourceware.org \
    --cc=dje@sebabeach.org \
    --cc=joseph.altmaier@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).