Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
Subject: Re: [libre-riscv-dev] morphing 6600 code to use power decoder
Date: Sun, 12 Apr 2020 13:32:15 +0100
Message-ID: <CAPweEDyd5+RY6khpoOVCHPBR+8s5q4oOkQVpZzpvubQeSb9W2w@mail.gmail.com> (raw)
In-Reply-To: <CAPweEDx0yR0QoE-UGHLyvgnVLnFNkRJm2zhz=tJ6ixYU6YRxKw@mail.gmail.com>

https://libre-soc.org/3d_gpu/compunit_multi_rw.png

argh.  the addition of Carry (and other registers) means that the
"simple" 2-in, 1-out Computation Unit is not going to work.
additionally, there are actually 3-in 2-out operations such as the
int-mul-and-add, and FP operations will need to modify FPSCR as well.

the original 6600 CompUnits *specifically* waited until *both*
incoming operand Register Read Ports were free, choosing *one signal
pair* (Rd_Req and Go_Read) to synchronise that.

with the strong possibility of not *having* more than two read ports
per stratification of the Register File (HI-ODD32, LO-ODD32,
HI-EVEN32, LO-EVEN32) the original scheme is not going to work.

therefore where previously there was only one RD_REQ-GO_RD pair,
*multiple* (individual) RD_REQ-GO_RD pairs are needed.

this requires some additional logic.  where previously, the logic was
just simply: ISSUE, GO_RD, GO_WR, where only one of those can be
active at any one time, it now has to be:

* ISSUE
* send out multiple RD-REQs
* wait for *ALL* GO_RD responses to come in
* ONLY THEN send out WR-REQs
* wait for *ALL* GO_WR responses to come in
* reset back to the start.

complicated.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  reply index

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-08 13:26 Luke Kenneth Casson Leighton
2020-04-09  0:47 ` whygee
2020-04-09  1:21   ` Luke Kenneth Casson Leighton
2020-04-10 15:01     ` Luke Kenneth Casson Leighton
2020-04-11 11:20       ` Luke Kenneth Casson Leighton
2020-04-12 12:32         ` Luke Kenneth Casson Leighton [this message]
2020-04-13 14:16           ` Luke Kenneth Casson Leighton
2020-04-13 17:46             ` whygee
2020-04-13 18:27               ` Luke Kenneth Casson Leighton
2020-04-14 19:12                 ` Luke Kenneth Casson Leighton
2020-04-16 12:19                   ` Luke Kenneth Casson Leighton
2020-04-16 15:41                     ` Luke Kenneth Casson Leighton
2020-04-18 11:06                       ` Luke Kenneth Casson Leighton
2020-04-23 17:16                         ` Luke Kenneth Casson Leighton
2020-04-24 20:11                           ` Luke Kenneth Casson Leighton

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=CAPweEDyd5+RY6khpoOVCHPBR+8s5q4oOkQVpZzpvubQeSb9W2w@mail.gmail.com \
    --to=lkcl@lkcl.net \
    --cc=libre-riscv-dev@lists.libre-riscv.org \
    /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

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git